From 8dbb5f14c54741e624c1f14e6942ffc0a090138c Mon Sep 17 00:00:00 2001 From: Rameez Sajwani Date: Thu, 19 May 2022 14:45:58 -0700 Subject: [PATCH 01/22] SQLParser:Refactoring Add count struct Signed-off-by: Rameez Sajwani --- go/vt/sqlparser/ast.go | 6 + go/vt/sqlparser/ast_clone.go | 16 + go/vt/sqlparser/ast_equals.go | 30 + go/vt/sqlparser/ast_format.go | 9 + go/vt/sqlparser/ast_format_fast.go | 10 + go/vt/sqlparser/ast_funcs.go | 2 + go/vt/sqlparser/ast_rewrite.go | 33 + go/vt/sqlparser/ast_visit.go | 18 + go/vt/sqlparser/cached_size.go | 14 + go/vt/sqlparser/keywords.go | 1 + go/vt/sqlparser/parse_test.go | 11 +- go/vt/sqlparser/sql.go | 13425 ++++++++++++++------------- go/vt/sqlparser/sql.y | 14 +- 13 files changed, 6927 insertions(+), 6662 deletions(-) diff --git a/go/vt/sqlparser/ast.go b/go/vt/sqlparser/ast.go index acd91f5d53f..46de572463c 100644 --- a/go/vt/sqlparser/ast.go +++ b/go/vt/sqlparser/ast.go @@ -2556,9 +2556,15 @@ type ( JSONUnquoteExpr struct { JSONValue Expr } + + Count struct { + Arg Expr + Distinct bool + } ) // iExpr ensures that only expressions nodes can be assigned to a Expr +func (*Count) iExpr() {} func (*AndExpr) iExpr() {} func (*OrExpr) iExpr() {} func (*XorExpr) iExpr() {} diff --git a/go/vt/sqlparser/ast_clone.go b/go/vt/sqlparser/ast_clone.go index c771ab85ee1..14f3d32dbd2 100644 --- a/go/vt/sqlparser/ast_clone.go +++ b/go/vt/sqlparser/ast_clone.go @@ -103,6 +103,8 @@ func CloneSQLNode(in SQLNode) SQLNode { return CloneRefOfConvertType(in) case *ConvertUsingExpr: return CloneRefOfConvertUsingExpr(in) + case *Count: + return CloneRefOfCount(in) case *CreateDatabase: return CloneRefOfCreateDatabase(in) case *CreateTable: @@ -815,6 +817,16 @@ func CloneRefOfConvertUsingExpr(n *ConvertUsingExpr) *ConvertUsingExpr { return &out } +// CloneRefOfCount creates a deep clone of the input. +func CloneRefOfCount(n *Count) *Count { + if n == nil { + return nil + } + out := *n + out.Arg = CloneExpr(n.Arg) + return &out +} + // CloneRefOfCreateDatabase creates a deep clone of the input. func CloneRefOfCreateDatabase(n *CreateDatabase) *CreateDatabase { if n == nil { @@ -2743,6 +2755,8 @@ func CloneExpr(in Expr) Expr { return CloneRefOfConvertExpr(in) case *ConvertUsingExpr: return CloneRefOfConvertUsingExpr(in) + case *Count: + return CloneRefOfCount(in) case *CurTimeFuncExpr: return CloneRefOfCurTimeFuncExpr(in) case *Default: @@ -2889,6 +2903,8 @@ func CloneJSONPathParam(in JSONPathParam) JSONPathParam { return CloneRefOfConvertExpr(in) case *ConvertUsingExpr: return CloneRefOfConvertUsingExpr(in) + case *Count: + return CloneRefOfCount(in) case *CurTimeFuncExpr: return CloneRefOfCurTimeFuncExpr(in) case *Default: diff --git a/go/vt/sqlparser/ast_equals.go b/go/vt/sqlparser/ast_equals.go index 41ce6a314dc..1611136da39 100644 --- a/go/vt/sqlparser/ast_equals.go +++ b/go/vt/sqlparser/ast_equals.go @@ -266,6 +266,12 @@ func EqualsSQLNode(inA, inB SQLNode) bool { return false } return EqualsRefOfConvertUsingExpr(a, b) + case *Count: + b, ok := inB.(*Count) + if !ok { + return false + } + return EqualsRefOfCount(a, b) case *CreateDatabase: b, ok := inB.(*CreateDatabase) if !ok { @@ -1678,6 +1684,18 @@ func EqualsRefOfConvertUsingExpr(a, b *ConvertUsingExpr) bool { EqualsExpr(a.Expr, b.Expr) } +// EqualsRefOfCount does deep equals between the two objects. +func EqualsRefOfCount(a, b *Count) bool { + if a == b { + return true + } + if a == nil || b == nil { + return false + } + return a.Distinct == b.Distinct && + EqualsExpr(a.Arg, b.Arg) +} + // EqualsRefOfCreateDatabase does deep equals between the two objects. func EqualsRefOfCreateDatabase(a, b *CreateDatabase) bool { if a == b { @@ -4238,6 +4256,12 @@ func EqualsExpr(inA, inB Expr) bool { return false } return EqualsRefOfConvertUsingExpr(a, b) + case *Count: + b, ok := inB.(*Count) + if !ok { + return false + } + return EqualsRefOfCount(a, b) case *CurTimeFuncExpr: b, ok := inB.(*CurTimeFuncExpr) if !ok { @@ -4634,6 +4658,12 @@ func EqualsJSONPathParam(inA, inB JSONPathParam) bool { return false } return EqualsRefOfConvertUsingExpr(a, b) + case *Count: + b, ok := inB.(*Count) + if !ok { + return false + } + return EqualsRefOfCount(a, b) case *CurTimeFuncExpr: b, ok := inB.(*CurTimeFuncExpr) if !ok { diff --git a/go/vt/sqlparser/ast_format.go b/go/vt/sqlparser/ast_format.go index 7be21d9633c..8d238961ead 100644 --- a/go/vt/sqlparser/ast_format.go +++ b/go/vt/sqlparser/ast_format.go @@ -2342,3 +2342,12 @@ func (node *JSONUnquoteExpr) Format(buf *TrackedBuffer) { buf.astPrintf(node, "json_unquote(%v", node.JSONValue) buf.WriteString(")") } + +func (node *Count) Format(buf *TrackedBuffer) { + buf.WriteString("count(") + if node.Distinct { + buf.literal(DistinctStr) + } + buf.astPrintf(node, "%v)", node.Arg) + +} diff --git a/go/vt/sqlparser/ast_format_fast.go b/go/vt/sqlparser/ast_format_fast.go index d48e056e731..f3a6cf6ea25 100644 --- a/go/vt/sqlparser/ast_format_fast.go +++ b/go/vt/sqlparser/ast_format_fast.go @@ -3056,3 +3056,13 @@ func (node *JSONUnquoteExpr) formatFast(buf *TrackedBuffer) { buf.printExpr(node, node.JSONValue, true) buf.WriteString(")") } + +func (node *Count) formatFast(buf *TrackedBuffer) { + buf.WriteString("count(") + if node.Distinct { + buf.WriteString(DistinctStr) + } + buf.printExpr(node, node.Arg, true) + buf.WriteByte(')') + +} diff --git a/go/vt/sqlparser/ast_funcs.go b/go/vt/sqlparser/ast_funcs.go index 966893730f5..2edee53e43b 100644 --- a/go/vt/sqlparser/ast_funcs.go +++ b/go/vt/sqlparser/ast_funcs.go @@ -598,6 +598,7 @@ var Aggregates = map[string]bool{ // IsAggregate returns true if the function is an aggregate. func (node *FuncExpr) IsAggregate() bool { + log.Infof("inside IsAggregate...") return Aggregates[node.Name.Lowered()] } @@ -628,6 +629,7 @@ func NewColNameWithQualifier(identifier string, table TableName) *ColName { // NewSelect is used to create a select statement func NewSelect(comments Comments, exprs SelectExprs, selectOptions []string, into *SelectInto, from TableExprs, where *Where, groupBy GroupBy, having *Where) *Select { + log.Infof("inside NewSelect") var cache *bool var distinct, straightJoinHint, sqlFoundRows bool diff --git a/go/vt/sqlparser/ast_rewrite.go b/go/vt/sqlparser/ast_rewrite.go index 2efcebfd0d8..6e7a1533fa0 100644 --- a/go/vt/sqlparser/ast_rewrite.go +++ b/go/vt/sqlparser/ast_rewrite.go @@ -102,6 +102,8 @@ func (a *application) rewriteSQLNode(parent SQLNode, node SQLNode, replacer repl return a.rewriteRefOfConvertType(parent, node, replacer) case *ConvertUsingExpr: return a.rewriteRefOfConvertUsingExpr(parent, node, replacer) + case *Count: + return a.rewriteRefOfCount(parent, node, replacer) case *CreateDatabase: return a.rewriteRefOfCreateDatabase(parent, node, replacer) case *CreateTable: @@ -1589,6 +1591,33 @@ func (a *application) rewriteRefOfConvertUsingExpr(parent SQLNode, node *Convert } return true } +func (a *application) rewriteRefOfCount(parent SQLNode, node *Count, replacer replacerFunc) bool { + if node == nil { + return true + } + if a.pre != nil { + a.cur.replacer = replacer + a.cur.parent = parent + a.cur.node = node + if !a.pre(&a.cur) { + return true + } + } + if !a.rewriteExpr(node, node.Arg, func(newNode, parent SQLNode) { + parent.(*Count).Arg = newNode.(Expr) + }) { + return false + } + if a.post != nil { + a.cur.replacer = replacer + a.cur.parent = parent + a.cur.node = node + if !a.post(&a.cur) { + return false + } + } + return true +} func (a *application) rewriteRefOfCreateDatabase(parent SQLNode, node *CreateDatabase, replacer replacerFunc) bool { if node == nil { return true @@ -6784,6 +6813,8 @@ func (a *application) rewriteExpr(parent SQLNode, node Expr, replacer replacerFu return a.rewriteRefOfConvertExpr(parent, node, replacer) case *ConvertUsingExpr: return a.rewriteRefOfConvertUsingExpr(parent, node, replacer) + case *Count: + return a.rewriteRefOfCount(parent, node, replacer) case *CurTimeFuncExpr: return a.rewriteRefOfCurTimeFuncExpr(parent, node, replacer) case *Default: @@ -6926,6 +6957,8 @@ func (a *application) rewriteJSONPathParam(parent SQLNode, node JSONPathParam, r return a.rewriteRefOfConvertExpr(parent, node, replacer) case *ConvertUsingExpr: return a.rewriteRefOfConvertUsingExpr(parent, node, replacer) + case *Count: + return a.rewriteRefOfCount(parent, node, replacer) case *CurTimeFuncExpr: return a.rewriteRefOfCurTimeFuncExpr(parent, node, replacer) case *Default: diff --git a/go/vt/sqlparser/ast_visit.go b/go/vt/sqlparser/ast_visit.go index 8faf0f6fe76..11bb6bbc73a 100644 --- a/go/vt/sqlparser/ast_visit.go +++ b/go/vt/sqlparser/ast_visit.go @@ -102,6 +102,8 @@ func VisitSQLNode(in SQLNode, f Visit) error { return VisitRefOfConvertType(in, f) case *ConvertUsingExpr: return VisitRefOfConvertUsingExpr(in, f) + case *Count: + return VisitRefOfCount(in, f) case *CreateDatabase: return VisitRefOfCreateDatabase(in, f) case *CreateTable: @@ -959,6 +961,18 @@ func VisitRefOfConvertUsingExpr(in *ConvertUsingExpr, f Visit) error { } return nil } +func VisitRefOfCount(in *Count, f Visit) error { + if in == nil { + return nil + } + if cont, err := f(in); err != nil || !cont { + return err + } + if err := VisitExpr(in.Arg, f); err != nil { + return err + } + return nil +} func VisitRefOfCreateDatabase(in *CreateDatabase, f Visit) error { if in == nil { return nil @@ -3433,6 +3447,8 @@ func VisitExpr(in Expr, f Visit) error { return VisitRefOfConvertExpr(in, f) case *ConvertUsingExpr: return VisitRefOfConvertUsingExpr(in, f) + case *Count: + return VisitRefOfCount(in, f) case *CurTimeFuncExpr: return VisitRefOfCurTimeFuncExpr(in, f) case *Default: @@ -3575,6 +3591,8 @@ func VisitJSONPathParam(in JSONPathParam, f Visit) error { return VisitRefOfConvertExpr(in, f) case *ConvertUsingExpr: return VisitRefOfConvertUsingExpr(in, f) + case *Count: + return VisitRefOfCount(in, f) case *CurTimeFuncExpr: return VisitRefOfCurTimeFuncExpr(in, f) case *Default: diff --git a/go/vt/sqlparser/cached_size.go b/go/vt/sqlparser/cached_size.go index 767efd39a70..ba3eaf3acd0 100644 --- a/go/vt/sqlparser/cached_size.go +++ b/go/vt/sqlparser/cached_size.go @@ -722,6 +722,20 @@ func (cached *ConvertUsingExpr) CachedSize(alloc bool) int64 { size += hack.RuntimeAllocSize(int64(len(cached.Type))) return size } +func (cached *Count) CachedSize(alloc bool) int64 { + if cached == nil { + return int64(0) + } + size := int64(0) + if alloc { + size += int64(24) + } + // field Arg vitess.io/vitess/go/vt/sqlparser.Expr + if cc, ok := cached.Arg.(cachedObject); ok { + size += cc.CachedSize(true) + } + return size +} func (cached *CreateDatabase) CachedSize(alloc bool) int64 { if cached == nil { return int64(0) diff --git a/go/vt/sqlparser/keywords.go b/go/vt/sqlparser/keywords.go index 0e5c6903069..6f90a578a5e 100644 --- a/go/vt/sqlparser/keywords.go +++ b/go/vt/sqlparser/keywords.go @@ -178,6 +178,7 @@ var keywords = []keyword{ {"continue", UNUSED}, {"convert", CONVERT}, {"copy", COPY}, + {"count", COUNT}, {"cume_dist", UNUSED}, {"substr", SUBSTRING}, {"subpartition", SUBPARTITION}, diff --git a/go/vt/sqlparser/parse_test.go b/go/vt/sqlparser/parse_test.go index fd8d652fbd5..76f3cb84d8d 100644 --- a/go/vt/sqlparser/parse_test.go +++ b/go/vt/sqlparser/parse_test.go @@ -36,6 +36,15 @@ import ( ) var ( + validSQL1 = []struct { + input string + output string + partialDDL bool + ignoreNormalizerTest bool + }{ + {input: "select /* function with distinct */ count(a) from t"}, + {input: "select /* function with distinct */ count(distinct a) from t"}, + } validSQL = []struct { input string output string @@ -2947,7 +2956,7 @@ var ( ) func TestValid(t *testing.T) { - for _, tcase := range validSQL { + for _, tcase := range validSQL1 { t.Run(tcase.input, func(t *testing.T) { if tcase.output == "" { tcase.output = tcase.input diff --git a/go/vt/sqlparser/sql.go b/go/vt/sqlparser/sql.go index f0f45f3a719..ef00f285222 100644 --- a/go/vt/sqlparser/sql.go +++ b/go/vt/sqlparser/sql.go @@ -490,151 +490,152 @@ const JSON_REMOVE = 57787 const JSON_REPLACE = 57788 const JSON_SET = 57789 const JSON_UNQUOTE = 57790 -const MATCH = 57791 -const AGAINST = 57792 -const BOOLEAN = 57793 -const LANGUAGE = 57794 -const WITH = 57795 -const QUERY = 57796 -const EXPANSION = 57797 -const WITHOUT = 57798 -const VALIDATION = 57799 -const UNUSED = 57800 -const ARRAY = 57801 -const BYTE = 57802 -const CUME_DIST = 57803 -const DESCRIPTION = 57804 -const DENSE_RANK = 57805 -const EMPTY = 57806 -const EXCEPT = 57807 -const FIRST_VALUE = 57808 -const GROUPING = 57809 -const GROUPS = 57810 -const JSON_TABLE = 57811 -const LAG = 57812 -const LAST_VALUE = 57813 -const LATERAL = 57814 -const LEAD = 57815 -const NTH_VALUE = 57816 -const NTILE = 57817 -const OF = 57818 -const OVER = 57819 -const PERCENT_RANK = 57820 -const RANK = 57821 -const RECURSIVE = 57822 -const ROW_NUMBER = 57823 -const SYSTEM = 57824 -const WINDOW = 57825 -const ACTIVE = 57826 -const ADMIN = 57827 -const AUTOEXTEND_SIZE = 57828 -const BUCKETS = 57829 -const CLONE = 57830 -const COLUMN_FORMAT = 57831 -const COMPONENT = 57832 -const DEFINITION = 57833 -const ENFORCED = 57834 -const ENGINE_ATTRIBUTE = 57835 -const EXCLUDE = 57836 -const FOLLOWING = 57837 -const GEOMCOLLECTION = 57838 -const GET_MASTER_PUBLIC_KEY = 57839 -const HISTOGRAM = 57840 -const HISTORY = 57841 -const INACTIVE = 57842 -const INVISIBLE = 57843 -const LOCKED = 57844 -const MASTER_COMPRESSION_ALGORITHMS = 57845 -const MASTER_PUBLIC_KEY_PATH = 57846 -const MASTER_TLS_CIPHERSUITES = 57847 -const MASTER_ZSTD_COMPRESSION_LEVEL = 57848 -const NESTED = 57849 -const NETWORK_NAMESPACE = 57850 -const NOWAIT = 57851 -const NULLS = 57852 -const OJ = 57853 -const OLD = 57854 -const OPTIONAL = 57855 -const ORDINALITY = 57856 -const ORGANIZATION = 57857 -const OTHERS = 57858 -const PARTIAL = 57859 -const PATH = 57860 -const PERSIST = 57861 -const PERSIST_ONLY = 57862 -const PRECEDING = 57863 -const PRIVILEGE_CHECKS_USER = 57864 -const PROCESS = 57865 -const RANDOM = 57866 -const REFERENCE = 57867 -const REQUIRE_ROW_FORMAT = 57868 -const RESOURCE = 57869 -const RESPECT = 57870 -const RESTART = 57871 -const RETAIN = 57872 -const REUSE = 57873 -const ROLE = 57874 -const SECONDARY = 57875 -const SECONDARY_ENGINE = 57876 -const SECONDARY_ENGINE_ATTRIBUTE = 57877 -const SECONDARY_LOAD = 57878 -const SECONDARY_UNLOAD = 57879 -const SIMPLE = 57880 -const SKIP = 57881 -const SRID = 57882 -const THREAD_PRIORITY = 57883 -const TIES = 57884 -const UNBOUNDED = 57885 -const VCPU = 57886 -const VISIBLE = 57887 -const RETURNING = 57888 -const FORMAT = 57889 -const TREE = 57890 -const VITESS = 57891 -const TRADITIONAL = 57892 -const LOCAL = 57893 -const LOW_PRIORITY = 57894 -const NO_WRITE_TO_BINLOG = 57895 -const LOGS = 57896 -const ERROR = 57897 -const GENERAL = 57898 -const HOSTS = 57899 -const OPTIMIZER_COSTS = 57900 -const USER_RESOURCES = 57901 -const SLOW = 57902 -const CHANNEL = 57903 -const RELAY = 57904 -const EXPORT = 57905 -const AVG_ROW_LENGTH = 57906 -const CONNECTION = 57907 -const CHECKSUM = 57908 -const DELAY_KEY_WRITE = 57909 -const ENCRYPTION = 57910 -const ENGINE = 57911 -const INSERT_METHOD = 57912 -const MAX_ROWS = 57913 -const MIN_ROWS = 57914 -const PACK_KEYS = 57915 -const PASSWORD = 57916 -const FIXED = 57917 -const DYNAMIC = 57918 -const COMPRESSED = 57919 -const REDUNDANT = 57920 -const COMPACT = 57921 -const ROW_FORMAT = 57922 -const STATS_AUTO_RECALC = 57923 -const STATS_PERSISTENT = 57924 -const STATS_SAMPLE_PAGES = 57925 -const STORAGE = 57926 -const MEMORY = 57927 -const DISK = 57928 -const PARTITIONS = 57929 -const LINEAR = 57930 -const RANGE = 57931 -const LIST = 57932 -const SUBPARTITION = 57933 -const SUBPARTITIONS = 57934 -const HASH = 57935 +const COUNT = 57791 +const MATCH = 57792 +const AGAINST = 57793 +const BOOLEAN = 57794 +const LANGUAGE = 57795 +const WITH = 57796 +const QUERY = 57797 +const EXPANSION = 57798 +const WITHOUT = 57799 +const VALIDATION = 57800 +const UNUSED = 57801 +const ARRAY = 57802 +const BYTE = 57803 +const CUME_DIST = 57804 +const DESCRIPTION = 57805 +const DENSE_RANK = 57806 +const EMPTY = 57807 +const EXCEPT = 57808 +const FIRST_VALUE = 57809 +const GROUPING = 57810 +const GROUPS = 57811 +const JSON_TABLE = 57812 +const LAG = 57813 +const LAST_VALUE = 57814 +const LATERAL = 57815 +const LEAD = 57816 +const NTH_VALUE = 57817 +const NTILE = 57818 +const OF = 57819 +const OVER = 57820 +const PERCENT_RANK = 57821 +const RANK = 57822 +const RECURSIVE = 57823 +const ROW_NUMBER = 57824 +const SYSTEM = 57825 +const WINDOW = 57826 +const ACTIVE = 57827 +const ADMIN = 57828 +const AUTOEXTEND_SIZE = 57829 +const BUCKETS = 57830 +const CLONE = 57831 +const COLUMN_FORMAT = 57832 +const COMPONENT = 57833 +const DEFINITION = 57834 +const ENFORCED = 57835 +const ENGINE_ATTRIBUTE = 57836 +const EXCLUDE = 57837 +const FOLLOWING = 57838 +const GEOMCOLLECTION = 57839 +const GET_MASTER_PUBLIC_KEY = 57840 +const HISTOGRAM = 57841 +const HISTORY = 57842 +const INACTIVE = 57843 +const INVISIBLE = 57844 +const LOCKED = 57845 +const MASTER_COMPRESSION_ALGORITHMS = 57846 +const MASTER_PUBLIC_KEY_PATH = 57847 +const MASTER_TLS_CIPHERSUITES = 57848 +const MASTER_ZSTD_COMPRESSION_LEVEL = 57849 +const NESTED = 57850 +const NETWORK_NAMESPACE = 57851 +const NOWAIT = 57852 +const NULLS = 57853 +const OJ = 57854 +const OLD = 57855 +const OPTIONAL = 57856 +const ORDINALITY = 57857 +const ORGANIZATION = 57858 +const OTHERS = 57859 +const PARTIAL = 57860 +const PATH = 57861 +const PERSIST = 57862 +const PERSIST_ONLY = 57863 +const PRECEDING = 57864 +const PRIVILEGE_CHECKS_USER = 57865 +const PROCESS = 57866 +const RANDOM = 57867 +const REFERENCE = 57868 +const REQUIRE_ROW_FORMAT = 57869 +const RESOURCE = 57870 +const RESPECT = 57871 +const RESTART = 57872 +const RETAIN = 57873 +const REUSE = 57874 +const ROLE = 57875 +const SECONDARY = 57876 +const SECONDARY_ENGINE = 57877 +const SECONDARY_ENGINE_ATTRIBUTE = 57878 +const SECONDARY_LOAD = 57879 +const SECONDARY_UNLOAD = 57880 +const SIMPLE = 57881 +const SKIP = 57882 +const SRID = 57883 +const THREAD_PRIORITY = 57884 +const TIES = 57885 +const UNBOUNDED = 57886 +const VCPU = 57887 +const VISIBLE = 57888 +const RETURNING = 57889 +const FORMAT = 57890 +const TREE = 57891 +const VITESS = 57892 +const TRADITIONAL = 57893 +const LOCAL = 57894 +const LOW_PRIORITY = 57895 +const NO_WRITE_TO_BINLOG = 57896 +const LOGS = 57897 +const ERROR = 57898 +const GENERAL = 57899 +const HOSTS = 57900 +const OPTIMIZER_COSTS = 57901 +const USER_RESOURCES = 57902 +const SLOW = 57903 +const CHANNEL = 57904 +const RELAY = 57905 +const EXPORT = 57906 +const AVG_ROW_LENGTH = 57907 +const CONNECTION = 57908 +const CHECKSUM = 57909 +const DELAY_KEY_WRITE = 57910 +const ENCRYPTION = 57911 +const ENGINE = 57912 +const INSERT_METHOD = 57913 +const MAX_ROWS = 57914 +const MIN_ROWS = 57915 +const PACK_KEYS = 57916 +const PASSWORD = 57917 +const FIXED = 57918 +const DYNAMIC = 57919 +const COMPRESSED = 57920 +const REDUNDANT = 57921 +const COMPACT = 57922 +const ROW_FORMAT = 57923 +const STATS_AUTO_RECALC = 57924 +const STATS_PERSISTENT = 57925 +const STATS_SAMPLE_PAGES = 57926 +const STORAGE = 57927 +const MEMORY = 57928 +const DISK = 57929 +const PARTITIONS = 57930 +const LINEAR = 57931 +const RANGE = 57932 +const LIST = 57933 +const SUBPARTITION = 57934 +const SUBPARTITIONS = 57935 +const HASH = 57936 var yyToknames = [...]string{ "$end", @@ -1102,6 +1103,7 @@ var yyToknames = [...]string{ "JSON_REPLACE", "JSON_SET", "JSON_UNQUOTE", + "COUNT", "MATCH", "AGAINST", "BOOLEAN", @@ -1267,7 +1269,7 @@ var yyExca = [...]int{ -2, 0, -1, 47, 1, 145, - 611, 145, + 612, 145, -2, 153, -1, 48, 132, 153, @@ -1285,11 +1287,11 @@ var yyExca = [...]int{ 235, 766, -2, 764, -1, 114, - 232, 1291, + 232, 1292, -2, 119, -1, 116, 1, 146, - 611, 146, + 612, 146, -2, 153, -1, 127, 133, 384, @@ -1300,2777 +1302,898 @@ var yyExca = [...]int{ 172, 153, 333, 153, -2, 507, - -1, 695, - 217, 1312, - -2, 1308, - -1, 696, + -1, 697, 217, 1313, -2, 1309, - -1, 771, + -1, 698, + 217, 1314, + -2, 1310, + -1, 773, 59, 834, -2, 849, - -1, 808, - 148, 1720, + -1, 810, + 148, 1722, -2, 112, - -1, 809, - 148, 1561, + -1, 811, + 148, 1563, -2, 113, - -1, 815, - 148, 1645, - -2, 1285, - -1, 963, - 148, 1489, - -2, 1282, - -1, 1004, + -1, 817, + 148, 1647, + -2, 1286, + -1, 965, + 148, 1490, + -2, 1283, + -1, 1006, 243, 41, 248, 41, -2, 395, - -1, 1088, + -1, 1090, 1, 554, - 611, 554, + 612, 554, -2, 153, - -1, 1325, + -1, 1328, 59, 835, -2, 854, - -1, 1326, + -1, 1329, 59, 836, -2, 855, - -1, 1379, + -1, 1382, 132, 153, 172, 153, 333, 153, -2, 434, - -1, 1458, + -1, 1461, 133, 384, 238, 384, -2, 487, - -1, 1467, + -1, 1470, 243, 42, 248, 42, -2, 396, - -1, 1776, - 217, 1317, - -2, 1311, - -1, 1860, + -1, 1780, + 217, 1318, + -2, 1312, + -1, 1864, 132, 153, 172, 153, 333, 153, -2, 435, - -1, 1867, + -1, 1871, 25, 174, -2, 176, - -1, 2116, + -1, 2121, 87, 39, -2, 891, - -1, 2173, + -1, 2178, 77, 94, 87, 94, -2, 911, - -1, 2241, - 586, 666, + -1, 2246, + 587, 666, -2, 640, - -1, 2380, - 49, 1253, - -2, 1247, - -1, 2602, + -1, 2386, + 49, 1254, + -2, 1248, + -1, 2608, 87, 39, -2, 892, - -1, 2640, + -1, 2646, 7, 53, 18, 53, 20, 53, 88, 53, -2, 883, - -1, 2920, - 586, 666, + -1, 2927, + 587, 666, -2, 654, - -1, 2978, - 22, 1647, - 32, 1647, - 173, 1647, - 255, 1647, - 313, 1647, - 314, 1647, - 315, 1647, - 316, 1647, - 317, 1647, - 318, 1647, - 319, 1647, - 321, 1647, - 322, 1647, - 323, 1647, - 324, 1647, - 325, 1647, - 326, 1647, - 327, 1647, - 328, 1647, - 329, 1647, - 330, 1647, - 331, 1647, - 332, 1647, - 334, 1647, - 336, 1647, - 337, 1647, - 338, 1647, - 339, 1647, - 340, 1647, - 341, 1647, - 342, 1647, - 343, 1647, - 344, 1647, - 347, 1647, - 348, 1647, - 349, 1647, - 350, 1647, - 351, 1647, - 352, 1647, - 353, 1647, - 354, 1647, - 355, 1647, - 468, 1647, + -1, 2985, + 22, 1649, + 32, 1649, + 173, 1649, + 255, 1649, + 313, 1649, + 314, 1649, + 315, 1649, + 316, 1649, + 317, 1649, + 318, 1649, + 319, 1649, + 321, 1649, + 322, 1649, + 323, 1649, + 324, 1649, + 325, 1649, + 326, 1649, + 327, 1649, + 328, 1649, + 329, 1649, + 330, 1649, + 331, 1649, + 332, 1649, + 334, 1649, + 336, 1649, + 337, 1649, + 338, 1649, + 339, 1649, + 340, 1649, + 341, 1649, + 342, 1649, + 343, 1649, + 344, 1649, + 347, 1649, + 348, 1649, + 349, 1649, + 350, 1649, + 351, 1649, + 352, 1649, + 353, 1649, + 354, 1649, + 355, 1649, + 469, 1649, -2, 598, } const yyPrivate = 57344 -const yyLast = 43066 +const yyLast = 44102 var yyAct = [...]int{ - 695, 2743, 2744, 2339, 2742, 3032, 3040, 2901, 3009, 3008, - 1857, 2976, 2717, 1382, 704, 2529, 2960, 1790, 697, 2435, - 2442, 2070, 688, 37, 1151, 2393, 2854, 3, 2704, 2492, - 2497, 2483, 2494, 2493, 2491, 1810, 2496, 2495, 1792, 2757, - 2396, 96, 617, 689, 2512, 2877, 1927, 764, 1304, 2104, - 2450, 186, 2397, 2511, 186, 2394, 578, 186, 613, 2762, - 2605, 2611, 593, 2338, 186, 1830, 1340, 2301, 2337, 686, - 1814, 687, 186, 639, 2514, 2167, 2144, 610, 2391, 2381, - 2631, 2131, 786, 698, 1890, 1100, 2597, 186, 2206, 2534, - 2238, 1915, 611, 1895, 2208, 2284, 155, 966, 1846, 787, - 768, 2207, 772, 1958, 609, 1834, 2156, 38, 2137, 593, - 1835, 1327, 593, 186, 593, 2106, 605, 2123, 766, 36, - 789, 1745, 1770, 1746, 141, 1483, 1676, 2276, 1634, 1436, - 1465, 813, 1686, 810, 1129, 1936, 1822, 95, 1974, 2200, - 1897, 1914, 999, 994, 1371, 2175, 1349, 91, 622, 1837, - 1307, 1236, 1698, 1579, 1583, 1653, 1172, 1472, 970, 973, - 1912, 1002, 1563, 1005, 1012, 974, 1773, 1000, 1001, 1886, - 1143, 1370, 1354, 1815, 1368, 778, 1742, 1431, 1149, 1588, - 124, 119, 117, 118, 1084, 98, 800, 774, 125, 776, - 1457, 97, 76, 600, 85, 1783, 1239, 2910, 2231, 773, - 102, 1243, 89, 3033, 1929, 1930, 1931, 1929, 2705, 159, - 1036, 2480, 188, 189, 190, 2260, 2259, 1972, 2229, 2697, - 2660, 2292, 582, 2502, 775, 77, 2502, 8, 2293, 549, - 7, 1173, 90, 6, 2933, 794, 2499, 799, 780, 126, - 2934, 104, 105, 1041, 108, 2747, 2747, 114, 1787, 1788, - 183, 1641, 1173, 544, 967, 582, 1548, 120, 1640, 601, - 1639, 1638, 992, 1637, 1636, 87, 1619, 603, 765, 604, - 767, 2997, 2102, 760, 761, 762, 763, 2377, 2585, 771, - 1962, 2500, 814, 807, 2500, 2251, 3012, 781, 2133, 983, - 1015, 978, 788, 1016, 991, 3049, 579, 3023, 990, 989, - 988, 1628, 1334, 2506, 2986, 3007, 2506, 802, 803, 1042, - 1045, 1046, 188, 189, 190, 1960, 2254, 1646, 2984, 1051, - 2850, 2849, 1040, 3048, 1961, 2934, 120, 2990, 2991, 2710, - 2746, 2746, 2711, 1057, 1039, 2452, 2453, 1183, 78, 2970, - 3036, 80, 2985, 565, 2929, 2016, 78, 3021, 2718, 78, - 2961, 78, 1955, 2969, 1038, 563, 2928, 2300, 1183, 2981, - 582, 2567, 1446, 2432, 2433, 2103, 2268, 1054, 1055, 1056, - 2267, 1059, 1060, 1061, 1062, 2147, 1087, 1065, 1066, 1067, + 697, 2748, 2750, 706, 3039, 2749, 3047, 2908, 3015, 1861, + 3016, 2723, 1385, 2535, 2967, 1794, 2983, 2441, 699, 2448, + 2345, 1814, 2075, 2498, 690, 37, 2861, 2503, 1153, 2500, + 618, 3, 2489, 2499, 2497, 2502, 2501, 2399, 2402, 2710, + 96, 1796, 2763, 2884, 2109, 1931, 2456, 2518, 2517, 2617, + 614, 186, 2611, 766, 186, 788, 579, 186, 2403, 2768, + 1307, 1343, 594, 2149, 186, 691, 2400, 2306, 611, 700, + 2344, 640, 186, 2520, 688, 689, 2172, 2637, 1834, 2397, + 2387, 2136, 2603, 1894, 612, 2540, 2211, 186, 2343, 2289, + 2243, 1919, 1818, 1899, 2213, 1962, 2212, 610, 155, 815, + 36, 2111, 770, 1850, 774, 38, 1839, 2142, 2128, 594, + 1774, 1838, 594, 186, 594, 968, 789, 768, 2281, 1330, + 2161, 1750, 791, 1918, 1689, 141, 1826, 1131, 606, 1439, + 1901, 1940, 1978, 996, 2205, 1749, 1374, 812, 1352, 1014, + 1637, 623, 1001, 2180, 1679, 1841, 1486, 1310, 1238, 1701, + 1656, 1174, 1475, 972, 95, 91, 1586, 1582, 1007, 1004, + 975, 1916, 1468, 976, 1566, 1890, 1002, 1003, 780, 1746, + 1697, 1373, 1102, 1371, 1357, 1151, 1777, 1145, 1591, 119, + 775, 117, 1434, 159, 1460, 776, 124, 125, 1086, 802, + 778, 76, 1241, 98, 1819, 97, 601, 1787, 89, 1245, + 118, 2917, 2236, 85, 3040, 1933, 1934, 1935, 1933, 2711, + 2486, 102, 2265, 2264, 1976, 2234, 2666, 1175, 8, 1551, + 777, 77, 188, 189, 190, 7, 583, 796, 6, 801, + 2703, 120, 2297, 126, 90, 2298, 2940, 2941, 1175, 188, + 189, 190, 1644, 1643, 2753, 1043, 782, 2753, 1791, 1792, + 550, 1642, 104, 105, 969, 108, 1641, 1640, 114, 1639, + 1622, 183, 602, 1631, 545, 583, 994, 2508, 1018, 769, + 2508, 604, 767, 605, 3004, 2107, 2383, 2591, 1966, 3056, + 2138, 3019, 809, 2505, 762, 763, 764, 765, 1017, 783, + 773, 3014, 985, 980, 1053, 3030, 992, 1312, 991, 2256, + 120, 790, 2259, 816, 1337, 1649, 580, 1044, 1047, 1048, + 2857, 1964, 87, 2856, 1910, 993, 1042, 990, 804, 805, + 1041, 2716, 1965, 1185, 2717, 2506, 3055, 2941, 2506, 2752, + 583, 78, 2752, 182, 2977, 3043, 2936, 3028, 78, 1904, + 2724, 80, 78, 2968, 1185, 1959, 2020, 2512, 2976, 2935, + 2512, 547, 2305, 566, 1059, 2152, 2988, 121, 182, 2573, + 1449, 597, 1207, 78, 2108, 564, 2438, 2439, 120, 761, + 164, 1822, 2189, 2273, 1375, 2188, 1376, 2272, 2190, 2437, + 2153, 2296, 121, 2866, 1208, 1209, 1210, 1211, 1212, 1213, + 1214, 1216, 1215, 1217, 1218, 164, 2017, 1138, 1148, 1140, + 1856, 1857, 1855, 1121, 760, 561, 759, 1126, 1127, 87, + 974, 2018, 2781, 2194, 575, 989, 87, 1095, 1096, 1793, + 87, 1109, 1181, 2237, 2909, 1173, 1110, 584, 161, 571, + 162, 1122, 1115, 2201, 1108, 2333, 1107, 1137, 1139, 2564, + 2993, 87, 1109, 1181, 3020, 1874, 1873, 1110, 2537, 1098, + 181, 2145, 2146, 161, 2991, 162, 2509, 2614, 984, 2509, + 2562, 986, 1089, 2997, 2998, 3021, 584, 592, 1630, 596, + 590, 2458, 2459, 987, 2541, 181, 1085, 1314, 2992, 1903, + 1572, 583, 2282, 2244, 1941, 1632, 1633, 1634, 2530, 2268, + 583, 1984, 1038, 1996, 583, 1997, 2531, 1998, 551, 1979, + 553, 567, 1128, 586, 1147, 585, 557, 1541, 555, 559, + 568, 560, 1129, 554, 3042, 565, 1123, 1116, 556, 569, + 570, 573, 576, 577, 578, 574, 572, 1567, 563, 587, + 1060, 584, 1142, 2538, 1135, 1822, 1124, 1125, 1136, 1990, + 1987, 1989, 1988, 1991, 1992, 186, 1985, 186, 1141, 1130, + 186, 1542, 1091, 1543, 1820, 1821, 989, 2284, 981, 165, + 1983, 3005, 2705, 2704, 1999, 983, 982, 1066, 171, 1065, + 2539, 1981, 1134, 2841, 2701, 1944, 2457, 1027, 87, 1025, + 594, 1155, 594, 594, 165, 997, 1835, 998, 2460, 998, + 1036, 988, 2334, 171, 1317, 1035, 2460, 594, 594, 1034, + 1033, 1032, 1982, 1031, 1030, 1453, 1037, 1029, 1024, 1219, + 1219, 2018, 989, 1084, 987, 3057, 1180, 1177, 1178, 1179, + 1184, 1186, 1183, 37, 1182, 973, 3026, 973, 973, 971, + 1167, 1176, 1010, 1474, 2288, 1009, 1040, 1180, 1177, 1178, + 1179, 1184, 1186, 1183, 1583, 1182, 1917, 803, 2285, 1056, + 1057, 1058, 1176, 1061, 1062, 1063, 1064, 1970, 1579, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, - 1078, 1079, 1080, 1081, 120, 560, 2431, 1136, 2775, 1138, - 2148, 1818, 2184, 2291, 574, 2183, 1852, 1853, 2185, 1372, - 2014, 1373, 2503, 2013, 1851, 2503, 87, 1119, 1789, 570, - 758, 757, 1146, 583, 87, 2902, 1107, 87, 1107, 87, - 1906, 1108, 982, 1108, 2196, 984, 1179, 1135, 1137, 1171, - 2451, 1106, 2232, 1105, 1870, 1869, 1120, 2608, 3013, 2558, - 1124, 1125, 2454, 2140, 2141, 1900, 583, 1179, 2531, 582, - 2327, 2556, 2438, 591, 1627, 1113, 582, 595, 589, 3014, - 2535, 2277, 1311, 1083, 1986, 1983, 1985, 1984, 1987, 1988, - 2263, 2239, 1980, 987, 1569, 1093, 1094, 1937, 550, 2524, - 552, 566, 1975, 585, 582, 584, 556, 2525, 554, 558, - 567, 559, 3035, 553, 1564, 564, 1058, 2439, 555, 568, - 569, 572, 575, 576, 577, 573, 571, 1096, 562, 586, - 1122, 1123, 1629, 1630, 1631, 1140, 987, 1082, 1145, 1538, - 987, 1121, 979, 2441, 1133, 1818, 1128, 1981, 1134, 981, - 980, 985, 1089, 2532, 186, 1126, 186, 2436, 1139, 186, - 1114, 2279, 1992, 2533, 1993, 1127, 1994, 2998, 2699, 1977, - 2698, 583, 1995, 2834, 2452, 2453, 1064, 1063, 2695, 87, - 1940, 2437, 1132, 1539, 1979, 1540, 1831, 996, 1034, 593, - 1153, 593, 593, 1205, 1816, 1817, 2302, 1025, 985, 1023, - 995, 1086, 1033, 1032, 996, 1899, 593, 593, 1450, 1031, - 1030, 1029, 1314, 2443, 2859, 1206, 1207, 1208, 1209, 1210, - 1211, 1212, 1214, 1213, 1215, 1216, 1978, 2328, 1028, 1027, - 37, 1035, 1022, 1217, 1217, 1165, 2454, 3050, 3019, 1178, - 1175, 1176, 1177, 1182, 1184, 1181, 1103, 1180, 1109, 1110, - 1111, 1112, 971, 2014, 1174, 3044, 971, 1008, 1471, 1580, - 1178, 1175, 1176, 1177, 1182, 1184, 1181, 1007, 1180, 986, - 583, 1147, 1148, 1913, 801, 1174, 971, 583, 2304, 2451, - 969, 2107, 2109, 2909, 2230, 993, 1117, 2280, 1966, 1576, - 2694, 2454, 2283, 1159, 1959, 1047, 1014, 1085, 1570, 2473, - 2265, 587, 1571, 1572, 1053, 583, 2262, 1444, 1957, 1443, - 1442, 2249, 986, 1577, 1141, 2198, 986, 2296, 2028, 580, - 1440, 1220, 1221, 1222, 1223, 2898, 548, 543, 1816, 1817, - 2989, 1228, 2233, 1231, 581, 2275, 1218, 1219, 2274, 1302, - 2647, 1026, 2609, 1024, 2314, 2313, 2312, 2306, 1568, 2310, - 2627, 2305, 2180, 2303, 1014, 2143, 2094, 1297, 2308, 1782, - 2915, 2927, 1358, 1470, 1283, 1044, 1014, 2307, 186, 1155, - 1156, 1007, 593, 593, 2988, 1043, 81, 2504, 2505, 116, - 2504, 2505, 2253, 1224, 2309, 2311, 1098, 2138, 186, 1858, - 2508, 2658, 2659, 2508, 1217, 1013, 2745, 2745, 1317, 1216, - 2440, 2430, 1321, 2015, 1154, 1130, 1589, 593, 768, 1144, - 86, 186, 2286, 1014, 1014, 783, 593, 2285, 86, 766, - 1320, 86, 593, 86, 1102, 1318, 2252, 1550, 1549, 1551, - 1552, 1553, 77, 1903, 2923, 1168, 1303, 1037, 1166, 1014, - 810, 1167, 2690, 2108, 1095, 1241, 1092, 1242, 111, 2621, - 1104, 2286, 1976, 1013, 1245, 1573, 2285, 1315, 1374, 1007, - 1010, 1011, 1169, 971, 2320, 1013, 1699, 1004, 1008, 3042, - 1017, 1007, 3043, 1904, 3041, 1019, 2222, 1188, 1319, 1020, - 1018, 1902, 95, 2771, 1116, 1189, 2665, 1699, 1003, 2042, - 1189, 2664, 1565, 1658, 1566, 1118, 3015, 1567, 1956, 1303, - 1021, 1954, 1289, 1290, 1291, 1292, 1293, 1659, 1660, 1657, - 1187, 1188, 1013, 1013, 1052, 1905, 1944, 1308, 112, 1007, - 1010, 1011, 1480, 971, 1479, 1901, 2860, 1004, 1008, 1469, - 98, 1211, 1212, 1214, 1213, 1215, 1216, 1189, 1013, 1648, - 1650, 1651, 1952, 1017, 1007, 1949, 1025, 2444, 1019, 1131, - 1590, 2448, 1020, 1018, 1949, 2564, 1023, 2648, 2939, 2447, - 1305, 1359, 1189, 1649, 1088, 1101, 2020, 2021, 2022, 765, - 1316, 1189, 3046, 2870, 1334, 2891, 186, 1339, 767, 1336, - 1432, 1322, 1953, 1189, 2842, 1823, 1824, 1189, 3051, 814, - 1441, 1951, 1189, 2449, 3016, 1558, 1189, 2038, 2445, 1364, - 1365, 2940, 1369, 2446, 1209, 1210, 1211, 1212, 1214, 1213, - 1215, 1216, 2841, 593, 87, 1467, 2918, 1186, 2892, 1187, - 1188, 1334, 1186, 1476, 1187, 1188, 2322, 1478, 1656, 2832, - 1481, 1482, 593, 593, 2724, 593, 2725, 593, 593, 1189, - 593, 593, 593, 593, 593, 593, 1193, 1194, 1195, 1196, - 1197, 1198, 1199, 1191, 1513, 1514, 1556, 593, 1205, 1557, - 2295, 186, 1519, 709, 710, 711, 2562, 1334, 1477, 1186, - 2037, 1187, 1188, 3052, 1545, 2079, 1334, 2735, 186, 2071, - 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1214, 1213, 1215, - 1216, 593, 1189, 186, 1186, 1512, 1187, 1188, 1515, 2734, - 2672, 1334, 2059, 1186, 1578, 1187, 1188, 593, 1703, 186, - 1463, 805, 1704, 2671, 2661, 1186, 1533, 1187, 1188, 1186, - 1555, 1187, 1188, 3017, 1186, 186, 1187, 1188, 1186, 2481, - 1187, 1188, 186, 1456, 1189, 188, 189, 190, 1544, 2655, - 2469, 186, 186, 186, 186, 186, 186, 186, 186, 186, - 593, 1347, 2204, 1475, 1516, 188, 189, 190, 1485, 2187, - 1486, 2917, 1488, 1490, 593, 593, 1494, 1496, 1498, 1500, - 1502, 1186, 1439, 1187, 1188, 2203, 1334, 1909, 1559, 1474, - 1189, 1543, 186, 2895, 1542, 1473, 1473, 1541, 1454, 188, - 189, 190, 1466, 1925, 1445, 1343, 1452, 1531, 1453, 1207, - 1208, 1209, 1210, 1211, 1212, 1214, 1213, 1215, 1216, 1593, - 1525, 1522, 1447, 1448, 1449, 1521, 1597, 1346, 1599, 1600, - 1601, 1602, 1520, 1492, 1186, 1606, 1187, 1188, 593, 1189, - 2894, 1517, 1680, 1684, 188, 189, 190, 1618, 1923, 2893, - 1585, 1689, 593, 1683, 1683, 1344, 2837, 1681, 1681, 1189, - 1591, 1592, 2822, 2033, 1654, 1189, 2821, 593, 593, 1581, - 2770, 2768, 2731, 2032, 1596, 2669, 1186, 2654, 1187, 1188, - 2536, 1603, 1604, 1605, 188, 189, 190, 2472, 1523, 1524, - 990, 989, 988, 696, 1529, 1530, 2471, 2213, 1189, 2201, - 1661, 1700, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, - 1671, 1672, 1673, 1674, 1675, 1595, 1662, 1652, 120, 1299, - 1970, 1969, 1186, 2906, 1187, 1188, 1813, 1743, 1774, 1795, - 186, 1617, 188, 189, 190, 593, 1921, 1620, 1616, 1586, - 1554, 1546, 1536, 1334, 187, 1532, 1528, 187, 1334, 2830, - 187, 1527, 1624, 1625, 2528, 594, 1526, 187, 1345, 186, - 1142, 1158, 593, 2129, 3034, 187, 3003, 1334, 94, 1655, - 2867, 1186, 186, 1187, 1188, 2866, 593, 2129, 2967, 1743, - 187, 186, 2691, 186, 2826, 186, 186, 593, 2129, 2947, - 593, 1186, 2825, 1187, 1188, 2145, 1189, 1186, 2716, 1187, - 1188, 593, 594, 1774, 2145, 594, 187, 594, 2129, 2943, - 2240, 810, 1685, 1867, 810, 92, 2218, 1189, 1866, 1691, - 1692, 1800, 95, 1801, 2125, 101, 93, 1334, 1778, 1779, - 1186, 2620, 1187, 1188, 2622, 1776, 100, 1185, 99, 94, - 1189, 95, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1214, - 1213, 1215, 1216, 2935, 1334, 2922, 593, 1950, 1775, 1806, - 1833, 2051, 2425, 1916, 1917, 1918, 92, 2153, 1920, 1922, - 1924, 1777, 2014, 94, 1780, 1781, 2620, 93, 100, 2642, - 1189, 1334, 2129, 593, 1876, 1877, 1878, 1879, 2392, 593, - 1476, 2129, 2911, 1476, 1205, 1476, 1861, 2029, 1862, 2620, - 2583, 1948, 2153, 1189, 780, 2994, 1334, 1794, 2708, 2908, - 1776, 1805, 2581, 1334, 1844, 1949, 1206, 1207, 1208, 1209, - 1210, 1211, 1212, 1214, 1213, 1215, 1216, 2581, 1186, 1938, - 1187, 1188, 1334, 1828, 1808, 1892, 593, 1871, 593, 1872, - 1873, 1874, 1875, 1865, 593, 593, 1898, 2029, 1826, 1186, - 2460, 1187, 1188, 2845, 1334, 1882, 1883, 1884, 1885, 1849, - 814, 1848, 2365, 814, 2205, 2129, 2833, 1850, 1864, 1863, - 2708, 1334, 1186, 2029, 1187, 1188, 2064, 101, 2129, 2706, - 1935, 2048, 186, 1189, 2047, 1728, 2579, 1949, 100, 186, - 99, 1949, 1334, 1908, 2625, 1334, 186, 186, 1932, 94, - 186, 1821, 186, 1185, 1334, 2064, 1334, 2462, 2461, 186, - 1893, 1338, 1186, 1785, 1187, 1188, 186, 1888, 1889, 1632, - 1943, 1907, 1911, 1946, 1575, 1947, 1919, 2458, 2459, 1189, - 2458, 2457, 2176, 1963, 1366, 1186, 1189, 1187, 1188, 2153, - 1334, 1189, 186, 1015, 998, 1893, 1016, 593, 1942, 1945, - 1941, 2029, 1334, 2530, 2014, 2261, 1473, 2950, 1334, 1435, - 2243, 997, 2031, 2484, 1965, 2152, 2570, 2236, 2237, 1189, - 1967, 1968, 1964, 1720, 1709, 1710, 1711, 1712, 1722, 1713, - 1714, 1715, 1727, 1723, 1716, 1717, 1724, 1725, 1726, 1718, - 1719, 1721, 2176, 2129, 2128, 2177, 770, 2005, 2006, 1435, - 1434, 87, 2008, 1205, 2210, 2179, 1201, 2856, 1202, 1189, - 1973, 2009, 2569, 1189, 1205, 1186, 2027, 1187, 1188, 2088, - 2153, 1654, 1203, 1204, 1200, 1206, 1207, 1208, 1209, 1210, - 1211, 1212, 1214, 1213, 1215, 1216, 1206, 1207, 1208, 1209, - 1210, 1211, 1212, 1214, 1213, 1215, 1216, 1380, 1379, 1341, - 2823, 1998, 2087, 2782, 2689, 2177, 2024, 2686, 2026, 2667, - 2673, 1186, 2573, 1187, 1188, 2014, 1189, 2572, 1186, 1437, - 1187, 1188, 2025, 1186, 87, 1187, 1188, 1508, 1891, 2526, - 1189, 2486, 2482, 2244, 1189, 1887, 1881, 1880, 1189, 1561, - 1468, 1087, 2086, 1464, 1189, 2857, 2085, 1433, 113, 679, - 1906, 1186, 2209, 1187, 1188, 1798, 186, 1622, 2677, 2012, - 1189, 2674, 2675, 2676, 186, 3029, 1189, 2632, 2633, 593, - 2113, 3027, 3000, 3010, 2932, 593, 1655, 2100, 1509, 1510, - 1511, 1683, 2875, 2023, 2635, 1681, 593, 187, 1504, 187, - 2478, 1186, 187, 1187, 1188, 1186, 2477, 1187, 1188, 2084, - 2210, 2476, 2111, 2638, 2117, 2678, 2679, 2680, 2392, 2223, - 186, 592, 1999, 2083, 186, 2637, 2411, 2082, 2410, 1623, - 2041, 2081, 594, 37, 594, 594, 2968, 2080, 2149, 2186, - 1812, 2039, 2169, 2414, 1342, 1505, 1506, 1507, 2415, 594, - 594, 2412, 1189, 2074, 1804, 2626, 2413, 1189, 1186, 2073, - 1187, 1188, 1189, 2416, 2130, 2162, 2163, 2057, 812, 2370, - 1189, 968, 1186, 975, 1187, 1188, 1186, 2369, 1187, 1188, - 1186, 2890, 1187, 1188, 2613, 2761, 1186, 593, 1187, 1188, - 1189, 2763, 2612, 186, 1776, 2616, 2379, 2456, 2126, 784, - 186, 2752, 1186, 2751, 1187, 1188, 2139, 785, 1186, 1574, - 1187, 1188, 756, 2194, 593, 1308, 2101, 1775, 2091, 2092, - 2214, 593, 1049, 2197, 2199, 1476, 1476, 2382, 2384, 1695, - 593, 1048, 2544, 2122, 2209, 2072, 2385, 2190, 2127, 2168, - 2069, 2289, 1157, 1696, 92, 2068, 2250, 2258, 2142, 2235, - 1189, 2750, 2174, 2067, 121, 93, 2257, 2618, 186, 186, - 186, 186, 186, 2158, 2161, 2162, 2163, 2159, 1898, 2160, - 2164, 2178, 94, 2065, 3038, 2181, 1823, 1824, 2474, 186, - 186, 2002, 2907, 2188, 1186, 2191, 1187, 1188, 2852, 1186, - 2455, 1187, 1188, 1189, 1186, 186, 1187, 1188, 2166, 92, - 99, 2202, 1186, 1809, 1187, 1188, 94, 101, 792, 793, - 93, 187, 2598, 2368, 593, 594, 594, 2211, 100, 1991, - 99, 2367, 1186, 101, 1187, 1188, 1990, 2219, 1989, 94, - 2220, 187, 2018, 2061, 100, 2256, 99, 1456, 2224, 2225, - 2226, 2158, 2161, 2162, 2163, 2159, 2882, 2160, 2164, 2881, - 594, 2632, 2633, 2769, 187, 2245, 2246, 2767, 2766, 594, - 2759, 766, 2687, 2617, 1683, 594, 1683, 2319, 1681, 1683, - 1681, 2615, 2487, 1681, 1683, 593, 2060, 1933, 1681, 2255, - 2315, 1451, 1186, 791, 1187, 1188, 100, 2758, 2606, 101, - 2212, 593, 2340, 2145, 2340, 2215, 2216, 2340, 2278, 2359, - 100, 2298, 2340, 3031, 3030, 3030, 186, 2281, 2125, 2329, - 593, 2049, 2297, 1796, 2352, 2353, 2354, 2355, 2345, 2287, - 2342, 1360, 2288, 2346, 593, 1186, 1351, 1187, 1188, 106, - 107, 593, 593, 3031, 186, 186, 186, 186, 186, 2896, - 2316, 2653, 2299, 782, 103, 88, 186, 1, 2359, 1332, - 1328, 186, 2657, 772, 186, 2983, 186, 561, 2404, 186, - 186, 186, 1786, 1306, 1329, 3011, 2979, 2980, 2333, 1547, - 2395, 2424, 2398, 1321, 2169, 2395, 1537, 2719, 1744, 2853, - 2372, 2373, 2347, 2348, 2349, 2350, 2351, 2490, 1939, 1802, - 1803, 1331, 2685, 1330, 1896, 2470, 2358, 1006, 146, 1859, - 1860, 2360, 2963, 110, 186, 964, 109, 2389, 1009, 1115, - 1934, 2709, 2195, 1868, 1386, 1384, 2364, 593, 2374, 187, - 2371, 1385, 1383, 2386, 2387, 593, 1388, 1387, 2050, 2584, - 186, 2426, 1626, 590, 2427, 2165, 184, 1375, 774, 2405, - 1352, 1050, 2408, 186, 551, 2406, 2407, 2463, 2409, 95, - 773, 2417, 2361, 2362, 2363, 1971, 594, 2403, 2428, 557, - 2510, 186, 2489, 1229, 186, 1621, 2434, 2366, 2182, 811, - 2421, 2422, 804, 1797, 2545, 594, 594, 2115, 594, 2400, - 594, 594, 2465, 594, 594, 594, 594, 594, 594, 2464, - 2466, 2610, 1585, 2378, 2380, 2132, 2383, 2376, 2889, 2760, - 594, 2518, 2948, 2517, 187, 2192, 1348, 2040, 1697, 1838, - 1647, 615, 614, 612, 2488, 1898, 2118, 2509, 1332, 1328, - 2146, 187, 1192, 699, 2105, 1361, 2521, 2157, 2155, 2154, - 2000, 1845, 2634, 1329, 594, 2630, 187, 2578, 812, 2975, - 812, 812, 1840, 1836, 2124, 623, 593, 186, 2537, 616, - 594, 2540, 187, 2542, 2543, 1160, 1162, 2539, 1325, 1326, - 1331, 608, 1330, 2650, 2516, 2264, 2527, 2266, 187, 2548, - 2193, 2554, 2523, 1170, 1324, 187, 602, 977, 1694, 2858, - 2547, 2913, 2017, 1333, 187, 187, 187, 187, 187, 187, - 187, 187, 187, 594, 2566, 1323, 1707, 1708, 2920, 2498, - 2467, 2468, 2703, 2479, 2241, 1926, 186, 594, 594, 63, - 41, 1735, 2551, 2552, 597, 2553, 2996, 1161, 2555, 798, - 2557, 32, 2559, 31, 2656, 187, 30, 29, 2604, 2599, - 2600, 28, 23, 22, 21, 186, 20, 19, 2607, 25, - 2614, 18, 17, 16, 2501, 3006, 3037, 115, 50, 47, - 45, 123, 2619, 122, 186, 48, 44, 186, 186, 186, - 1090, 2629, 42, 27, 1300, 2639, 26, 593, 593, 2636, - 2643, 594, 15, 14, 13, 12, 11, 10, 9, 5, - 4, 2644, 35, 2645, 2646, 594, 34, 33, 2518, 1164, - 2517, 24, 2651, 2652, 2, 2228, 1928, 0, 0, 0, - 594, 594, 2692, 2693, 0, 0, 0, 0, 2668, 0, - 2670, 593, 593, 593, 593, 0, 0, 0, 0, 0, - 0, 1312, 1313, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1356, 0, 0, 0, - 0, 0, 0, 187, 0, 812, 0, 0, 594, 2715, - 0, 1376, 0, 0, 1683, 0, 1683, 0, 1681, 0, - 1681, 0, 186, 2713, 2714, 0, 0, 0, 0, 0, - 0, 0, 187, 0, 0, 594, 0, 0, 0, 2755, - 0, 0, 2340, 2727, 2340, 187, 593, 2726, 593, 594, - 0, 0, 0, 0, 187, 0, 187, 0, 187, 187, - 594, 0, 0, 594, 0, 2739, 2784, 37, 2738, 2730, - 0, 0, 2776, 2748, 594, 0, 0, 1683, 0, 2662, - 2663, 1681, 0, 2395, 0, 2756, 2398, 2778, 0, 2764, - 2398, 766, 2765, 0, 0, 2774, 2772, 2780, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 593, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 186, 0, 0, 593, 0, 0, 594, - 0, 2696, 2788, 0, 0, 2700, 2701, 2702, 0, 593, - 2785, 2786, 0, 0, 0, 2831, 0, 0, 0, 0, - 0, 0, 0, 0, 2829, 182, 594, 0, 0, 2835, - 2828, 2843, 594, 2855, 2872, 2873, 0, 0, 2827, 0, - 593, 2876, 0, 2848, 593, 593, 0, 2847, 0, 121, - 0, 0, 1683, 0, 0, 0, 1681, 0, 0, 0, - 0, 0, 164, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 968, 593, 0, 0, 0, 0, 0, 594, - 0, 594, 0, 0, 0, 1300, 2886, 594, 594, 2883, - 2884, 1484, 1484, 0, 1484, 2885, 1484, 1484, 2888, 1493, - 1484, 1484, 1484, 1484, 1484, 2189, 2897, 0, 2900, 2398, - 0, 0, 1300, 0, 593, 1300, 968, 766, 0, 0, - 161, 0, 162, 2903, 0, 187, 0, 0, 0, 186, - 0, 0, 187, 0, 0, 0, 0, 0, 0, 187, - 187, 0, 181, 187, 0, 187, 0, 593, 186, 2905, - 1560, 0, 187, 2899, 0, 0, 0, 0, 0, 187, - 0, 0, 0, 0, 2919, 37, 1582, 2916, 2912, 0, - 2921, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2924, 0, 0, 187, 0, 0, 0, 593, - 594, 0, 0, 0, 0, 0, 0, 0, 2838, 2839, - 2840, 0, 0, 0, 0, 0, 0, 0, 0, 812, - 0, 0, 2941, 593, 593, 0, 0, 0, 0, 0, - 37, 0, 0, 812, 812, 2949, 593, 0, 0, 2395, - 0, 0, 2951, 0, 0, 186, 593, 2855, 2964, 2962, - 2954, 2959, 2971, 2956, 2955, 2953, 0, 2958, 2957, 0, - 0, 165, 2974, 0, 0, 0, 2992, 0, 2982, 2987, - 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2999, 0, 0, 2946, 0, 0, 0, - 0, 3005, 0, 0, 0, 593, 0, 1677, 0, 0, - 0, 0, 0, 0, 593, 0, 0, 0, 0, 0, - 3025, 1690, 3020, 0, 0, 3022, 3024, 3026, 1300, 3028, - 0, 1683, 0, 182, 0, 1681, 1705, 1706, 0, 0, - 3018, 0, 0, 3039, 0, 0, 0, 0, 3045, 0, - 3047, 0, 0, 0, 0, 0, 0, 121, 0, 0, - 0, 0, 0, 3053, 0, 3055, 3056, 2873, 3054, 187, - 164, 0, 0, 812, 1683, 0, 0, 187, 1681, 0, - 0, 0, 594, 0, 0, 0, 0, 0, 594, 0, - 0, 0, 0, 0, 0, 0, 0, 156, 0, 594, - 0, 0, 0, 0, 1799, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 187, 0, 0, 0, 187, 161, 0, - 162, 1811, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1356, 0, 0, 812, 0, - 181, 0, 0, 0, 0, 0, 812, 0, 0, 812, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 968, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1335, 1337, 0, - 594, 0, 0, 0, 0, 0, 187, 0, 0, 0, + 1078, 1079, 1080, 1081, 1082, 1083, 2203, 1088, 2916, 2235, + 995, 1963, 584, 3051, 1573, 156, 2700, 1161, 1574, 1575, + 1119, 584, 1049, 2301, 2032, 584, 2867, 2270, 1143, 2479, + 2267, 1447, 588, 2238, 1222, 1223, 1224, 1225, 1907, 1446, + 156, 2112, 2114, 1445, 1230, 2254, 1233, 1580, 1820, 1821, + 581, 1028, 1156, 1026, 1105, 1443, 1111, 1112, 1113, 1114, + 1016, 549, 988, 1305, 1046, 582, 1016, 1300, 1473, 544, + 1009, 1961, 2615, 2280, 1045, 2934, 2279, 1016, 1908, 1149, + 1150, 1220, 1221, 2905, 1055, 2653, 1906, 1157, 1158, 2922, + 186, 2633, 2185, 2148, 594, 594, 81, 1226, 2099, 1016, + 2291, 1786, 1361, 1087, 1286, 2290, 1100, 2143, 2664, 2665, + 186, 1553, 1552, 1554, 1555, 1556, 2751, 2258, 988, 2751, + 1909, 116, 1320, 2291, 86, 2019, 1324, 1862, 2290, 594, + 1905, 86, 770, 186, 1219, 86, 2436, 1218, 594, 1306, + 768, 1323, 2510, 2511, 594, 2510, 2511, 1170, 785, 77, + 1104, 1146, 1318, 1321, 1168, 2514, 86, 1169, 2514, 1015, + 157, 2257, 1243, 1106, 1244, 1015, 812, 169, 1097, 1094, + 1019, 1009, 1093, 1247, 1099, 1021, 1015, 1101, 1132, 1022, + 1020, 2930, 1009, 1012, 1013, 157, 973, 2996, 111, 1592, + 1006, 1010, 169, 1016, 1571, 1039, 2696, 2627, 1015, 1980, + 1023, 1576, 1306, 2113, 1009, 1012, 1013, 1191, 973, 177, + 1377, 1005, 1006, 1010, 1016, 1171, 2325, 1322, 1118, 1702, + 1190, 95, 1292, 1293, 1294, 1295, 1296, 3049, 2227, 1120, + 3050, 2995, 3048, 2777, 177, 1311, 1661, 2671, 158, 163, + 160, 166, 167, 168, 170, 172, 173, 174, 175, 2670, + 1662, 1663, 1660, 1948, 176, 178, 179, 180, 112, 1483, + 98, 1960, 1482, 158, 163, 160, 166, 167, 168, 170, + 172, 173, 174, 175, 1702, 1472, 2046, 1191, 1958, 176, + 178, 179, 180, 1189, 1190, 1308, 1956, 2064, 3058, 2307, + 1027, 1103, 1015, 1953, 1054, 767, 1025, 1953, 186, 769, + 1342, 1319, 1435, 1339, 2946, 3022, 1090, 1651, 1653, 1654, + 2654, 1561, 1444, 1015, 1325, 2898, 1362, 3053, 1019, 1009, + 2849, 2534, 1133, 1021, 1367, 1368, 1372, 1022, 1020, 2848, + 1957, 1652, 816, 1593, 1955, 594, 87, 1470, 1568, 1188, + 1569, 1189, 1190, 1570, 2730, 1479, 2731, 2947, 2327, 1481, + 1659, 3023, 1484, 1485, 594, 594, 2839, 594, 2899, 594, + 594, 1337, 594, 594, 594, 594, 594, 594, 2024, 2025, + 2026, 2309, 2741, 3059, 2740, 1560, 1516, 1517, 1480, 594, + 711, 712, 713, 186, 1522, 1208, 1209, 1210, 1211, 1212, + 1213, 1214, 1216, 1215, 1217, 1218, 1337, 1559, 2678, 2677, + 186, 2667, 2487, 1706, 2475, 1515, 2209, 1707, 1518, 1188, + 1548, 1189, 1190, 594, 2208, 186, 1209, 1210, 1211, 1212, + 1213, 1214, 1216, 1215, 1217, 1218, 1581, 1191, 1913, 594, + 1366, 186, 188, 189, 190, 807, 2661, 2319, 2318, 2317, + 2311, 1536, 2315, 1732, 2310, 1562, 2308, 186, 2056, 1546, + 1466, 2313, 1545, 1544, 186, 1534, 1459, 1191, 1528, 1525, + 2312, 1558, 1191, 186, 186, 186, 186, 186, 186, 186, + 186, 186, 594, 1524, 1547, 1523, 1495, 2314, 2316, 1346, + 1827, 1828, 1476, 1476, 2925, 2924, 594, 594, 1213, 1214, + 1216, 1215, 1217, 1218, 1519, 2902, 1477, 2901, 1442, 2900, + 2844, 1488, 2829, 1489, 186, 1491, 1493, 1478, 2828, 1497, + 1499, 1501, 1503, 1505, 1456, 2776, 1457, 1455, 2774, 1469, + 188, 189, 190, 2737, 2192, 2675, 2660, 1448, 2542, 1347, + 1588, 1724, 1713, 1714, 1715, 1716, 1726, 1717, 1718, 1719, + 1731, 1727, 1720, 1721, 1728, 1729, 1730, 1722, 1723, 1725, + 594, 1160, 1191, 2478, 1686, 1686, 188, 189, 190, 1188, + 1929, 1189, 1190, 1692, 594, 1594, 1595, 2477, 2218, 1684, + 1684, 1683, 1687, 2035, 1520, 188, 189, 190, 2206, 1599, + 594, 594, 1302, 1191, 1974, 1584, 1606, 1607, 1608, 1188, + 1973, 1189, 1190, 1817, 1188, 1384, 1189, 1190, 1657, 1799, + 992, 1703, 991, 1664, 120, 1666, 1667, 1668, 1669, 1670, + 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678, 1596, 1623, + 1665, 990, 1655, 1589, 1557, 1600, 1598, 1602, 1603, 1604, + 1605, 1549, 1539, 1535, 1609, 1211, 1212, 1213, 1214, 1216, + 1215, 1217, 1218, 186, 1531, 1778, 1621, 1619, 594, 1530, + 1620, 1529, 1747, 1195, 1196, 1197, 1198, 1199, 1200, 1201, + 1193, 1627, 1628, 1348, 1144, 1337, 2877, 1337, 94, 188, + 189, 190, 186, 1927, 1658, 594, 2626, 188, 189, 190, + 1521, 1925, 92, 2874, 1188, 186, 1189, 1190, 2873, 594, + 2134, 3041, 2833, 93, 186, 92, 186, 2832, 186, 186, + 594, 1191, 94, 594, 1747, 2722, 93, 1804, 2245, 1805, + 2223, 101, 1565, 1870, 594, 1188, 1780, 1189, 1190, 2570, + 1778, 2150, 100, 2150, 99, 1871, 101, 1337, 812, 1782, + 1783, 812, 1191, 94, 1688, 3010, 1337, 100, 2628, 99, + 2431, 1694, 1695, 1191, 1597, 2134, 2974, 3001, 1337, 1708, + 2018, 1601, 95, 2134, 2954, 2134, 2950, 2157, 1191, 2942, + 1337, 1337, 1612, 1613, 1614, 1615, 1616, 1617, 1618, 594, + 1954, 95, 1187, 1779, 1837, 2929, 1920, 1921, 1922, 2398, + 1810, 1924, 1926, 1928, 2957, 1337, 2134, 2918, 2714, 2915, + 2626, 1780, 1337, 2158, 1781, 2626, 594, 1784, 1785, 2587, + 1337, 1638, 594, 1479, 2134, 2037, 1479, 1337, 1479, 2852, + 1337, 1865, 2158, 1798, 1952, 2036, 1450, 1451, 1452, 1880, + 1881, 1882, 1883, 2134, 2840, 782, 2568, 1337, 1953, 1866, + 2714, 1337, 2158, 1188, 1809, 1189, 1190, 1191, 2587, 1848, + 1812, 2084, 1337, 2134, 2712, 1942, 2466, 1896, 1832, 594, + 1875, 594, 1876, 1877, 1878, 1879, 1869, 594, 594, 1902, + 1953, 1337, 2371, 1830, 1188, 1191, 1189, 1190, 1886, 1887, + 1888, 1889, 1853, 1852, 698, 1188, 1854, 1189, 1190, 2033, + 1868, 1867, 1526, 1527, 2631, 1337, 1187, 1337, 1532, 1533, + 1188, 1191, 1189, 1190, 816, 186, 1912, 816, 2069, 1337, + 2181, 2042, 186, 2468, 2467, 2464, 2465, 1191, 2069, 186, + 186, 1939, 2053, 186, 2052, 186, 2464, 2463, 1897, 2158, + 1337, 3024, 186, 1953, 1350, 187, 1892, 1893, 187, 186, + 2130, 187, 1911, 1936, 1018, 1825, 595, 1915, 187, 87, + 1923, 2033, 1337, 1341, 1476, 94, 187, 1789, 2076, 2018, + 2266, 1438, 2248, 1897, 1017, 186, 1635, 1949, 1945, 1191, + 594, 187, 1946, 2182, 1967, 1947, 2241, 2242, 1950, 1188, + 1951, 1189, 1190, 2184, 2041, 1191, 2134, 2133, 1438, 1437, + 1191, 1968, 1829, 595, 1191, 1578, 595, 187, 595, 1207, + 1349, 1833, 1203, 1836, 1204, 1969, 1638, 1188, 2181, 1189, + 1190, 1971, 1972, 2033, 1383, 1382, 100, 2863, 1205, 1206, + 1202, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1216, 1215, + 1217, 1218, 1207, 1188, 2300, 1189, 1190, 1369, 772, 1000, + 999, 1344, 2830, 2788, 2695, 1977, 2692, 2673, 1191, 1188, + 2579, 1189, 1190, 2913, 1208, 1209, 1210, 1211, 1212, 1213, + 1214, 1216, 1215, 1217, 1218, 2578, 1657, 1207, 2648, 2031, + 2028, 2182, 2030, 1440, 1337, 1895, 2490, 2589, 2002, 2532, + 2215, 2018, 2679, 2492, 1089, 2033, 2488, 2029, 2249, 1208, + 1209, 1210, 1211, 1212, 1213, 1214, 1216, 1215, 1217, 1218, + 1891, 1188, 1885, 1189, 1190, 1191, 1884, 2009, 2010, 1191, + 1564, 1471, 2012, 1191, 1467, 1436, 87, 1188, 113, 1189, + 1190, 2013, 1188, 2536, 1189, 1190, 1188, 2016, 1189, 1190, + 186, 1191, 2837, 2680, 2681, 2682, 2864, 2214, 186, 1191, + 2638, 2639, 1658, 594, 1686, 1207, 2683, 1191, 1910, 594, + 1802, 2027, 3036, 3034, 3017, 2105, 1625, 2939, 2882, 1684, + 594, 2118, 2641, 1507, 2122, 2484, 1191, 1208, 1209, 1210, + 1211, 1212, 1213, 1214, 1216, 1215, 1217, 1218, 2483, 2116, + 1188, 1511, 1189, 1190, 186, 2215, 2482, 2398, 186, 2697, + 2045, 2644, 2585, 2684, 2685, 2686, 2576, 2228, 2003, 37, + 2420, 3007, 1638, 2191, 1191, 2421, 2154, 2643, 2174, 1986, + 1508, 1509, 1510, 1191, 2043, 2210, 2000, 2001, 1626, 2418, + 2005, 2417, 2575, 1191, 2419, 2416, 1780, 2975, 2062, 2008, + 2093, 1191, 1512, 1513, 1514, 1191, 2011, 1188, 1816, 1189, + 1190, 1188, 1345, 1189, 1190, 1188, 1808, 1189, 1190, 2092, + 2135, 594, 2163, 2166, 2167, 2168, 2164, 186, 2165, 2169, + 2632, 2376, 2014, 1188, 186, 1189, 1190, 2388, 2390, 2144, + 2131, 1188, 2375, 1189, 1190, 1311, 2391, 2106, 594, 1188, + 2619, 1189, 1190, 1779, 2173, 594, 2897, 2091, 2618, 1479, + 1479, 2767, 2096, 2097, 594, 2132, 2090, 2769, 1188, 2240, + 1189, 1190, 2622, 2195, 2147, 2127, 2089, 2385, 2444, 2202, + 2204, 2263, 786, 2422, 2088, 2167, 2168, 1577, 2087, 2262, + 787, 2462, 186, 186, 186, 186, 186, 2758, 2179, 2757, + 758, 2186, 1902, 2183, 2199, 2219, 1188, 2193, 1189, 1190, + 1698, 1051, 1050, 186, 186, 1188, 2550, 1189, 1190, 2196, + 92, 2214, 2294, 2445, 1699, 1188, 1159, 1189, 1190, 186, + 2207, 93, 2255, 1188, 121, 1189, 1190, 1188, 2624, 1189, + 1190, 2216, 1335, 1331, 94, 1191, 3045, 2756, 594, 2447, + 2480, 2224, 2006, 92, 2229, 2230, 2231, 1332, 2225, 1995, + 94, 1827, 1828, 2442, 93, 2914, 2604, 2859, 2461, 2261, + 2171, 1813, 1459, 1994, 1191, 794, 795, 2374, 1993, 2022, + 2458, 2459, 1806, 1807, 1334, 2373, 1333, 2443, 1686, 101, + 1686, 1335, 1331, 1686, 768, 99, 2889, 2888, 1686, 187, + 100, 187, 99, 1684, 187, 1684, 1332, 2324, 1684, 2260, + 594, 94, 2775, 1684, 2320, 2346, 1191, 2346, 2773, 2449, + 2346, 2250, 2251, 2283, 2772, 2346, 594, 2303, 2086, 101, + 2765, 1328, 1329, 1334, 595, 1333, 595, 595, 2365, 2302, + 100, 186, 99, 2693, 2623, 594, 2292, 2621, 2493, 2293, + 1937, 595, 595, 2286, 1454, 2178, 793, 2085, 100, 594, + 2351, 2358, 2359, 2360, 2361, 2352, 594, 594, 2304, 186, + 186, 186, 186, 186, 2764, 2348, 2612, 1188, 2150, 1189, + 1190, 186, 3038, 3037, 3037, 2457, 186, 2365, 2130, 186, + 774, 186, 2321, 2401, 186, 186, 186, 2460, 2401, 2079, + 2335, 2339, 2378, 2054, 2430, 2410, 1188, 101, 1189, 1190, + 1324, 2174, 1800, 1363, 1191, 2395, 1354, 2379, 100, 2364, + 106, 107, 2366, 3038, 2226, 2903, 681, 2659, 784, 2404, + 2476, 2353, 2354, 2355, 2356, 2357, 103, 88, 1191, 186, + 1, 2663, 2990, 562, 1790, 1309, 2377, 3018, 1188, 2986, + 1189, 1190, 594, 1191, 2987, 1550, 1540, 2392, 2393, 2725, + 594, 2380, 2367, 2368, 2369, 186, 775, 2432, 1191, 1748, + 2433, 776, 2370, 2860, 2496, 1191, 2412, 2413, 186, 2415, + 2411, 2516, 1191, 2414, 1943, 2495, 2427, 2428, 593, 2274, + 2275, 2276, 2277, 2278, 1191, 1588, 186, 2078, 2434, 186, + 2423, 95, 2691, 2440, 1900, 1008, 2446, 146, 1863, 2551, + 1638, 2287, 1864, 2409, 187, 2970, 2470, 2471, 595, 595, + 2472, 2077, 110, 966, 109, 1011, 2295, 1117, 1938, 2715, + 2200, 1872, 1389, 1387, 187, 814, 2074, 1388, 970, 1386, + 977, 2524, 2523, 1391, 1390, 2055, 1188, 1191, 1189, 1190, + 1902, 2073, 2515, 595, 2590, 1629, 591, 187, 2072, 2170, + 184, 2527, 595, 1378, 1355, 2070, 1052, 2494, 595, 552, + 1188, 2469, 1189, 1190, 2584, 1975, 558, 2066, 1231, 2543, + 1624, 2372, 594, 186, 2546, 1188, 2545, 1189, 1190, 2187, + 813, 806, 1801, 2120, 2406, 2616, 2554, 2384, 2386, 2137, + 1188, 2389, 1189, 1190, 2382, 2560, 2217, 1188, 2553, 1189, + 1190, 2220, 2221, 2896, 1188, 2766, 1189, 1190, 2955, 2197, + 1351, 2044, 1700, 1842, 1650, 616, 1188, 615, 1189, 1190, + 2065, 613, 2123, 2163, 2166, 2167, 2168, 2164, 2151, 2165, + 2169, 1194, 186, 2638, 2639, 701, 2110, 2557, 2558, 1364, + 2559, 2610, 2162, 2561, 2450, 2563, 2160, 2565, 2454, 2159, + 2662, 2605, 2606, 2004, 1849, 2640, 2453, 2636, 2982, 1844, + 1840, 186, 2129, 624, 2613, 2548, 2549, 2620, 617, 1188, + 609, 1189, 1190, 2656, 2635, 2522, 2269, 2533, 2271, 2625, + 186, 2198, 2529, 186, 186, 186, 2645, 1172, 1327, 603, + 2455, 979, 2642, 594, 594, 2451, 2651, 2652, 2865, 2920, + 2452, 2021, 2572, 1326, 1711, 1712, 2927, 2504, 2650, 2649, + 2709, 2485, 187, 2246, 2698, 2699, 2657, 1930, 2658, 2524, + 2523, 63, 41, 1739, 598, 3003, 2481, 1163, 800, 32, + 31, 30, 29, 28, 23, 22, 21, 594, 594, 594, + 594, 20, 19, 25, 18, 17, 16, 2507, 3013, 595, + 3044, 115, 2519, 50, 47, 45, 2674, 123, 2676, 122, + 48, 44, 1092, 42, 27, 2528, 26, 15, 595, 595, + 14, 595, 13, 595, 595, 12, 595, 595, 595, 595, + 595, 595, 11, 2544, 10, 9, 2547, 5, 4, 1686, + 2721, 1686, 35, 595, 34, 2719, 2720, 187, 33, 1166, + 24, 2, 2233, 1932, 1684, 0, 1684, 0, 186, 0, + 0, 0, 0, 0, 187, 0, 2346, 0, 2346, 0, + 0, 0, 0, 2761, 2732, 0, 0, 595, 2736, 187, + 0, 0, 594, 0, 594, 0, 0, 0, 0, 0, + 0, 0, 0, 595, 0, 187, 0, 0, 0, 0, + 0, 2733, 1686, 0, 0, 37, 0, 2401, 2745, 2754, + 0, 187, 2782, 2762, 0, 0, 2771, 1684, 187, 2790, + 2609, 2784, 0, 0, 2744, 2770, 768, 187, 187, 187, + 187, 187, 187, 187, 187, 187, 595, 2780, 0, 2786, + 0, 0, 0, 2778, 2404, 0, 594, 0, 2404, 0, + 595, 595, 0, 0, 0, 0, 0, 2473, 2474, 186, + 2794, 0, 594, 2791, 2792, 0, 0, 2838, 187, 0, + 0, 0, 0, 0, 0, 594, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2836, + 0, 2835, 0, 0, 0, 0, 0, 0, 0, 2834, + 2850, 2880, 0, 2862, 2879, 0, 594, 1686, 2672, 2854, + 594, 594, 2855, 0, 595, 0, 0, 2842, 0, 0, + 0, 0, 1684, 0, 2883, 0, 0, 2687, 595, 0, + 2688, 2689, 2690, 0, 0, 0, 0, 0, 0, 594, + 0, 0, 0, 0, 595, 595, 814, 0, 814, 814, + 0, 0, 0, 2890, 2891, 2893, 2892, 0, 0, 0, + 2907, 0, 0, 1162, 1164, 0, 0, 0, 0, 0, + 2904, 0, 0, 0, 0, 0, 2895, 0, 1336, 0, + 0, 594, 768, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2906, 0, 0, 2910, 186, 2404, 0, 0, + 0, 0, 2912, 0, 0, 0, 0, 187, 0, 0, + 0, 0, 595, 0, 594, 186, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 37, 2931, 187, 2923, 0, 595, + 0, 2928, 2926, 0, 0, 0, 0, 0, 0, 187, + 0, 0, 0, 595, 0, 0, 594, 2919, 187, 0, + 187, 0, 187, 187, 595, 0, 0, 595, 0, 0, + 0, 0, 0, 1303, 0, 0, 0, 0, 595, 0, + 594, 594, 0, 0, 2401, 0, 0, 0, 0, 37, + 0, 2948, 0, 594, 0, 0, 2956, 2668, 2669, 0, + 2958, 2961, 186, 594, 0, 2966, 2969, 2963, 2862, 2971, + 2978, 2962, 2960, 2965, 2964, 0, 2953, 2981, 0, 0, + 0, 2999, 0, 2989, 0, 2994, 0, 0, 0, 0, + 1315, 1316, 0, 595, 0, 0, 0, 0, 3006, 0, + 0, 0, 0, 0, 0, 0, 0, 3012, 0, 2702, + 0, 0, 594, 2706, 2707, 2708, 0, 0, 0, 0, + 595, 594, 0, 0, 0, 1359, 595, 1686, 3027, 0, + 0, 0, 3031, 3025, 814, 3035, 3033, 3029, 0, 0, + 1379, 0, 1684, 0, 3032, 0, 0, 0, 0, 0, + 3046, 0, 0, 0, 0, 3052, 3054, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1686, 0, 3061, 595, 2880, 595, 3062, 3063, 0, 0, + 0, 595, 595, 0, 0, 1684, 0, 3060, 0, 0, + 0, 0, 78, 39, 40, 80, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 84, 0, 0, 0, 43, 69, 70, 187, + 67, 71, 3011, 0, 0, 0, 187, 0, 0, 68, + 0, 0, 1406, 187, 187, 0, 0, 187, 0, 187, + 0, 0, 0, 0, 0, 0, 187, 0, 0, 0, + 0, 0, 0, 187, 0, 0, 0, 0, 56, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 87, 0, 2932, 0, 0, 0, 0, 0, 0, 187, + 0, 0, 0, 0, 595, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2845, 2846, 2847, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 970, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1303, 0, 0, 0, 0, 0, + 1487, 1487, 0, 1487, 0, 1487, 1487, 0, 1496, 1487, + 1487, 1487, 1487, 1487, 0, 0, 0, 0, 0, 0, + 0, 1303, 0, 1394, 1303, 970, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 46, 49, 52, 51, 54, 1563, + 66, 0, 0, 75, 72, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1585, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 55, 83, 82, 0, + 1406, 64, 65, 53, 187, 0, 0, 0, 0, 73, + 74, 0, 187, 0, 0, 1407, 0, 595, 0, 0, + 0, 0, 0, 595, 0, 0, 0, 0, 814, 0, + 0, 0, 0, 0, 595, 0, 0, 0, 0, 0, + 0, 0, 814, 814, 0, 0, 0, 0, 0, 57, + 58, 0, 59, 60, 61, 62, 0, 0, 187, 0, + 0, 0, 187, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1420, 1423, 1424, 1425, 1426, 1427, 1428, + 0, 1429, 1430, 1431, 1432, 1433, 1408, 1409, 1410, 1411, + 1392, 1393, 1421, 0, 1395, 0, 1396, 1397, 1398, 1399, + 1400, 1401, 1402, 1403, 1404, 0, 1680, 1405, 1412, 1413, + 1414, 1415, 1416, 1417, 1418, 1419, 0, 0, 0, 0, + 1693, 0, 0, 0, 0, 595, 0, 1303, 0, 0, + 0, 187, 0, 0, 0, 0, 1709, 1710, 187, 0, + 0, 1394, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 595, 0, 0, 0, 0, 0, 0, 595, + 0, 0, 0, 0, 0, 0, 0, 0, 595, 0, + 0, 0, 0, 814, 0, 0, 0, 0, 0, 0, + 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 187, 187, 187, 187, + 187, 0, 0, 0, 1803, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 86, 0, 187, 187, 0, + 0, 0, 0, 1407, 0, 0, 0, 0, 0, 1422, + 0, 1815, 0, 187, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1359, 0, 0, 814, 0, + 0, 0, 595, 0, 0, 0, 814, 0, 0, 814, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 970, 0, 0, 0, 1338, 1340, 0, 0, 0, 0, + 0, 1420, 1423, 1424, 1425, 1426, 1427, 1428, 0, 1429, + 1430, 1431, 1432, 1433, 1408, 1409, 1410, 1411, 1392, 1393, + 1421, 0, 1395, 0, 1396, 1397, 1398, 1399, 1400, 1401, + 1402, 1403, 1404, 182, 595, 1405, 1412, 1413, 1414, 1415, + 1416, 1417, 1418, 1419, 0, 977, 0, 0, 0, 0, + 595, 0, 0, 0, 0, 0, 0, 121, 0, 143, + 0, 0, 0, 0, 0, 187, 0, 0, 0, 595, + 164, 0, 970, 0, 0, 0, 0, 0, 977, 0, + 0, 0, 0, 595, 0, 0, 0, 0, 0, 0, + 595, 595, 0, 187, 187, 187, 187, 187, 0, 0, + 0, 153, 0, 0, 0, 187, 0, 142, 0, 0, + 187, 0, 0, 187, 0, 187, 0, 0, 187, 187, + 187, 0, 0, 0, 0, 970, 0, 1680, 161, 0, + 162, 0, 0, 1680, 1680, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 130, 131, 152, 151, + 181, 0, 0, 0, 0, 0, 0, 1422, 0, 0, 0, 0, 0, 187, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 594, 0, 0, - 0, 0, 0, 0, 594, 975, 0, 0, 0, 0, - 0, 0, 0, 594, 0, 0, 0, 0, 0, 0, - 0, 157, 0, 0, 0, 0, 0, 0, 169, 0, - 0, 0, 968, 0, 0, 0, 0, 0, 975, 165, - 0, 187, 187, 187, 187, 187, 0, 0, 171, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 187, 187, 0, 0, 0, 0, 0, 0, - 177, 0, 0, 0, 0, 0, 0, 0, 187, 0, - 0, 0, 0, 0, 0, 968, 0, 1677, 0, 0, - 0, 0, 0, 1677, 1677, 0, 0, 594, 0, 158, - 163, 160, 166, 167, 168, 170, 172, 173, 174, 175, - 0, 0, 0, 0, 0, 176, 178, 179, 180, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 595, 0, 0, 0, + 0, 0, 0, 0, 595, 0, 0, 0, 0, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 594, 0, - 0, 0, 0, 0, 0, 156, 0, 0, 0, 0, - 0, 0, 0, 0, 594, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, - 0, 0, 0, 594, 0, 0, 2011, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 594, 0, 0, - 0, 0, 0, 0, 594, 594, 0, 187, 187, 187, - 187, 187, 0, 0, 0, 0, 0, 0, 0, 187, - 0, 0, 0, 0, 187, 0, 0, 187, 0, 187, - 0, 0, 187, 187, 187, 0, 182, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2234, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 121, 0, 143, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 164, 0, 0, 0, 187, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 594, 0, 0, 0, 0, 0, 0, 0, 594, 157, - 0, 0, 0, 187, 153, 0, 169, 0, 0, 0, - 142, 0, 0, 0, 0, 0, 187, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 161, 0, 162, 187, 0, 0, 187, 0, 0, - 0, 0, 812, 0, 0, 0, 0, 0, 177, 1459, - 1460, 152, 151, 181, 0, 0, 0, 0, 1811, 0, - 0, 0, 0, 0, 2119, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2134, 0, 158, 163, 160, - 166, 167, 168, 170, 172, 173, 174, 175, 0, 0, - 0, 0, 0, 176, 178, 179, 180, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 594, - 187, 0, 0, 0, 1701, 0, 0, 0, 1702, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 147, 1461, 154, 0, 1458, 0, 148, 149, 0, 0, - 0, 0, 165, 0, 0, 0, 2217, 0, 0, 0, - 0, 171, 0, 0, 0, 0, 0, 0, 0, 187, - 0, 0, 0, 0, 0, 0, 0, 1335, 1784, 0, - 0, 0, 0, 1811, 0, 0, 0, 0, 0, 0, - 2242, 0, 0, 0, 0, 0, 0, 0, 187, 2247, - 680, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1807, 0, 0, 0, 0, 0, 0, 187, 0, 0, - 187, 187, 187, 0, 0, 0, 0, 0, 0, 0, - 594, 594, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 185, 0, 0, 547, 0, 0, 588, 0, 0, - 0, 0, 0, 0, 547, 0, 0, 0, 0, 0, - 0, 0, 547, 0, 594, 594, 594, 594, 156, 0, - 0, 0, 0, 1677, 0, 0, 0, 779, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 797, 0, 797, 0, 0, 0, 0, - 0, 0, 1910, 547, 0, 0, 0, 0, 0, 1300, - 0, 1300, 0, 0, 1300, 0, 0, 0, 0, 1300, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 812, 187, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, - 1484, 0, 0, 0, 0, 0, 0, 0, 0, 594, - 0, 594, 0, 0, 0, 0, 0, 0, 0, 2375, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 144, - 0, 0, 145, 812, 0, 0, 0, 1300, 0, 0, - 2402, 1484, 1300, 0, 0, 0, 0, 0, 0, 0, - 0, 1403, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 157, 0, 0, 0, 0, 0, 0, 169, - 0, 0, 0, 594, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 187, 0, 0, 594, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 594, 0, 0, 0, 0, 0, 0, 0, - 0, 177, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 968, 0, 0, 1300, - 0, 0, 0, 594, 1811, 0, 0, 594, 594, 0, - 158, 163, 160, 166, 167, 168, 170, 172, 173, 174, - 175, 0, 0, 0, 0, 0, 176, 178, 179, 180, - 0, 0, 0, 0, 0, 0, 594, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1391, 0, 0, 0, 0, 0, 0, 2030, - 0, 0, 0, 2034, 0, 2035, 2036, 594, 0, 0, - 0, 0, 0, 0, 2044, 0, 0, 2045, 2046, 0, 0, 0, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 594, 187, 0, 0, 2052, 2053, 2054, 2055, 2056, 0, - 2058, 0, 0, 0, 0, 2375, 2062, 0, 2063, 0, - 0, 0, 2066, 0, 0, 0, 0, 0, 0, 0, - 2075, 2076, 2077, 2078, 1404, 0, 0, 0, 0, 0, - 0, 0, 594, 2089, 2090, 0, 0, 0, 0, 0, - 0, 2095, 2096, 2097, 2098, 2099, 0, 1807, 0, 0, - 0, 0, 0, 0, 0, 0, 594, 594, 2112, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 594, - 0, 0, 0, 0, 0, 0, 0, 0, 187, 594, - 0, 0, 1417, 1420, 1421, 1422, 1423, 1424, 1425, 0, - 1426, 1427, 1428, 1429, 1430, 1405, 1406, 1407, 1408, 1389, - 1390, 1418, 0, 1392, 0, 1393, 1394, 1395, 1396, 1397, - 1398, 1399, 1400, 1401, 0, 0, 1402, 1409, 1410, 1411, - 1412, 1413, 1414, 1415, 1416, 0, 1811, 1811, 594, 0, - 0, 0, 0, 0, 547, 0, 547, 594, 0, 547, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3004, 0, 0, 0, 0, 182, 0, 0, - 0, 0, 1403, 0, 0, 0, 0, 0, 1455, 0, - 2720, 2721, 2722, 2723, 0, 0, 0, 0, 0, 0, - 0, 121, 0, 143, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 164, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1300, - 0, 1300, 0, 0, 0, 153, 0, 0, 0, 0, - 0, 142, 0, 0, 0, 0, 0, 1419, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 161, 0, 162, 0, 0, 0, 0, 0, - 1300, 0, 0, 796, 0, 2777, 0, 2779, 0, 0, - 1459, 1460, 152, 151, 181, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1301, 0, 0, 0, 0, - 0, 0, 0, 1391, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2326, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1811, - 0, 606, 0, 0, 2341, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2846, 0, 0, 547, 0, - 0, 0, 0, 0, 0, 2356, 2357, 0, 812, 0, - 0, 0, 0, 790, 0, 0, 0, 0, 779, 0, - 0, 147, 1461, 154, 0, 1458, 0, 148, 149, 0, - 0, 0, 0, 165, 0, 1404, 0, 0, 0, 2879, - 0, 547, 171, 2879, 2879, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2401, 0, 0, 0, 0, 0, - 0, 0, 1811, 0, 0, 0, 0, 0, 0, 0, - 0, 2419, 2420, 706, 79, 0, 0, 0, 0, 0, - 0, 0, 0, 1417, 1420, 1421, 1422, 1423, 1424, 1425, - 0, 1426, 1427, 1428, 1429, 1430, 1405, 1406, 1407, 1408, - 1389, 1390, 1418, 1811, 1392, 0, 1393, 1394, 1395, 1396, - 1397, 1398, 1399, 1400, 1401, 0, 0, 1402, 1409, 1410, - 1411, 1412, 1413, 1414, 1415, 1416, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1811, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 156, - 0, 769, 0, 79, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 769, 0, 0, 0, 0, 1300, 0, 2942, 0, - 0, 0, 0, 0, 0, 0, 0, 976, 0, 0, - 0, 0, 0, 0, 0, 0, 547, 0, 2546, 0, - 0, 0, 812, 812, 0, 2550, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2972, 0, 0, 0, 2560, - 2561, 2563, 2565, 0, 0, 2977, 0, 150, 0, 2571, - 0, 0, 0, 0, 2575, 2576, 2577, 0, 1419, 0, - 0, 2580, 0, 0, 0, 0, 1301, 2582, 0, 0, - 2586, 2587, 2588, 2589, 2590, 2591, 2592, 2593, 2594, 2595, - 144, 0, 2596, 145, 0, 0, 0, 0, 2601, 0, - 0, 0, 0, 1301, 1811, 0, 1301, 0, 0, 0, - 0, 547, 0, 2977, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 157, 0, 0, 0, 0, 1534, 0, - 169, 0, 0, 2623, 2624, 0, 0, 2628, 0, 0, - 0, 0, 0, 547, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2640, 2641, 0, 0, 1584, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 177, 0, 0, 547, 0, 0, 0, 0, - 0, 0, 547, 0, 0, 0, 0, 0, 0, 0, - 0, 1607, 1608, 547, 547, 547, 547, 547, 547, 547, - 0, 158, 163, 160, 166, 167, 168, 170, 172, 173, - 174, 175, 0, 0, 0, 0, 0, 176, 178, 179, - 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 547, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2707, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 797, 0, 0, 0, - 0, 0, 0, 797, 797, 0, 0, 0, 0, 1301, - 0, 0, 0, 0, 0, 0, 0, 0, 2736, 1309, - 0, 0, 2737, 0, 0, 0, 0, 0, 2741, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1190, 0, 797, 1584, 797, 797, 797, 797, 797, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 546, 0, 0, 0, 0, 0, 1237, - 1534, 0, 0, 596, 0, 0, 0, 0, 0, 0, - 0, 759, 0, 0, 0, 797, 2790, 2792, 2791, 2801, - 2802, 2803, 2804, 2805, 2806, 2807, 645, 0, 0, 779, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 547, 0, 0, 0, 0, 0, 0, 1584, - 0, 547, 972, 547, 0, 547, 1847, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2844, 0, 0, - 606, 0, 0, 0, 0, 0, 2851, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2861, 2862, 2863, 0, 2864, 2865, 0, 0, - 0, 0, 2868, 0, 2869, 0, 2871, 2874, 0, 0, - 0, 0, 1150, 2878, 1150, 1150, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, + 187, 0, 0, 187, 2119, 0, 0, 709, 710, 0, + 0, 0, 0, 1685, 0, 0, 2015, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 147, 128, 154, + 135, 127, 0, 148, 149, 0, 0, 0, 0, 165, + 0, 0, 0, 0, 0, 0, 0, 0, 171, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2904, 0, 0, 0, 1350, 0, 0, 769, 1225, - 1226, 1227, 0, 1230, 0, 1232, 1233, 1234, 1235, 0, - 1238, 1240, 1240, 0, 1240, 1244, 1244, 1246, 1247, 1248, - 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, - 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, - 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, - 1279, 1280, 1281, 1282, 0, 1284, 1285, 1286, 1287, 1288, - 0, 0, 2926, 0, 1244, 1244, 1244, 1244, 1244, 0, - 0, 0, 0, 0, 0, 0, 2931, 0, 0, 0, - 0, 2936, 0, 0, 0, 0, 0, 2937, 2938, 0, - 0, 0, 547, 0, 0, 0, 2796, 2797, 0, 547, - 0, 0, 0, 0, 0, 2944, 547, 547, 0, 0, - 547, 0, 2003, 0, 0, 0, 0, 0, 0, 547, - 0, 0, 0, 0, 0, 0, 547, 0, 0, 0, - 0, 0, 0, 1310, 0, 0, 0, 0, 0, 769, - 0, 0, 2114, 769, 0, 707, 708, 0, 0, 769, - 0, 1682, 547, 0, 0, 0, 2995, 690, 0, 640, - 694, 642, 691, 692, 0, 638, 641, 693, 0, 0, - 0, 0, 0, 0, 0, 3001, 0, 0, 0, 3002, - 1438, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 643, 644, 2789, 2793, 2794, 2795, - 2798, 2799, 2800, 2808, 2810, 668, 2809, 2811, 2812, 2813, - 2816, 2817, 2818, 2819, 2814, 2815, 2820, 0, 0, 0, - 0, 0, 0, 0, 0, 797, 714, 715, 716, 717, + 0, 0, 0, 139, 137, 132, 133, 134, 138, 0, + 0, 0, 0, 0, 0, 129, 0, 0, 0, 0, + 0, 0, 0, 0, 140, 0, 595, 187, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, - 748, 749, 750, 751, 752, 753, 754, 755, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 797, 797, 0, 0, 1587, 0, 0, 0, - 0, 0, 0, 1584, 0, 0, 547, 0, 0, 0, - 0, 0, 0, 1091, 1534, 1097, 0, 0, 1099, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 547, 0, 0, 0, 547, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1642, - 1643, 1644, 1645, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1687, 1688, 0, 0, 0, 0, 0, 0, 1693, 0, - 0, 0, 0, 547, 0, 0, 0, 0, 0, 0, - 2227, 0, 0, 1729, 1730, 1731, 1732, 1733, 1734, 1736, - 1740, 1741, 606, 1747, 1748, 1749, 1750, 1751, 1752, 1753, - 1754, 1755, 1756, 1757, 1758, 1759, 1760, 1761, 1762, 1763, - 1764, 1765, 1766, 1767, 1768, 1769, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 182, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 547, 547, - 547, 547, 547, 1150, 606, 0, 0, 0, 0, 0, - 0, 0, 121, 0, 143, 0, 0, 1150, 1150, 547, - 547, 0, 0, 0, 0, 164, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 547, 0, 0, 0, 0, - 1819, 1820, 0, 0, 0, 0, 0, 0, 0, 0, - 797, 0, 0, 0, 0, 0, 153, 0, 0, 0, - 0, 0, 142, 0, 0, 0, 0, 0, 1856, 0, - 1363, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 161, 0, 162, 0, 0, 0, 0, - 1301, 0, 1301, 0, 0, 1301, 0, 0, 0, 0, - 1301, 130, 131, 152, 151, 181, 0, 0, 0, 0, - 0, 0, 0, 0, 797, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1894, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 547, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1301, 0, - 0, 0, 0, 1301, 547, 547, 547, 547, 547, 0, - 0, 0, 0, 0, 0, 0, 2418, 0, 0, 0, - 0, 547, 0, 0, 1534, 0, 547, 0, 0, 547, - 2429, 1584, 147, 128, 154, 135, 127, 0, 148, 149, - 0, 0, 0, 0, 165, 0, 0, 0, 0, 0, - 0, 0, 0, 171, 136, 0, 0, 0, 1839, 0, - 0, 0, 0, 0, 0, 1381, 0, 0, 139, 137, - 132, 133, 134, 138, 547, 0, 0, 0, 0, 0, - 129, 0, 0, 0, 0, 0, 0, 0, 0, 140, - 1301, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 547, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 547, 0, 0, 0, 0, 0, 0, - 78, 39, 40, 80, 0, 0, 0, 0, 0, 976, - 0, 547, 0, 0, 547, 0, 0, 0, 0, 0, - 84, 0, 0, 0, 43, 69, 70, 0, 67, 71, - 1518, 0, 0, 0, 0, 0, 0, 68, 0, 0, - 0, 0, 976, 0, 0, 0, 0, 0, 0, 0, - 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1562, 0, 0, 0, 56, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 87, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1594, 0, 0, 547, 0, 0, - 0, 1598, 0, 2043, 0, 0, 0, 0, 0, 0, - 0, 0, 1609, 1610, 1611, 1612, 1613, 1614, 1615, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 150, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1237, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1635, 0, 0, 0, 0, 547, 0, 0, 0, - 0, 144, 0, 0, 145, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 547, 0, 0, 0, 0, + 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 187, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 156, 0, 0, 0, 0, + 0, 0, 0, 814, 0, 187, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1815, + 0, 0, 0, 0, 187, 2124, 0, 187, 187, 187, + 0, 0, 0, 0, 0, 0, 2139, 595, 595, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1704, 0, 150, 0, 1705, 0, 0, 0, 0, + 0, 595, 595, 595, 595, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 144, 0, 0, + 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2222, 0, 0, + 0, 0, 0, 0, 0, 1338, 1788, 0, 0, 0, + 157, 0, 0, 0, 0, 0, 0, 169, 0, 0, + 0, 0, 187, 0, 1815, 0, 0, 0, 0, 0, + 0, 2247, 0, 0, 0, 0, 0, 0, 1811, 0, + 2252, 0, 0, 0, 0, 0, 595, 0, 595, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 158, 163, + 160, 166, 167, 168, 170, 172, 173, 174, 175, 0, + 0, 0, 0, 0, 176, 178, 179, 180, 0, 0, + 595, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 187, 1680, 0, 595, 0, 0, 0, + 0, 0, 0, 682, 0, 0, 0, 0, 0, 595, + 1914, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 182, 0, 0, 0, 0, 0, + 0, 1303, 0, 1303, 0, 2239, 1303, 0, 0, 0, + 595, 1303, 0, 0, 595, 595, 0, 0, 121, 0, + 143, 0, 0, 0, 185, 0, 814, 548, 0, 0, + 589, 164, 0, 0, 0, 0, 0, 548, 0, 0, + 0, 0, 1487, 595, 0, 548, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 781, 2381, 153, 0, 0, 0, 0, 0, 142, 0, + 0, 0, 0, 0, 0, 814, 799, 0, 799, 1303, + 0, 0, 2408, 1487, 1303, 595, 548, 0, 0, 161, + 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, + 187, 0, 0, 0, 0, 0, 0, 1462, 1463, 152, + 151, 181, 0, 0, 0, 0, 0, 0, 595, 187, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2797, + 2799, 2798, 2808, 2809, 2810, 2811, 2812, 2813, 2814, 647, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 595, 0, 0, 0, 0, 0, 0, 182, 970, 0, + 0, 1303, 0, 0, 0, 0, 1815, 0, 1458, 0, + 0, 0, 0, 0, 595, 595, 0, 0, 0, 0, + 0, 121, 0, 143, 0, 0, 0, 595, 0, 0, + 0, 0, 0, 0, 164, 0, 187, 595, 147, 1464, + 154, 0, 1461, 0, 148, 149, 0, 0, 0, 0, + 165, 0, 0, 0, 0, 0, 0, 2034, 0, 171, + 0, 2038, 0, 2039, 2040, 153, 0, 0, 0, 0, + 0, 142, 2048, 0, 0, 2049, 2050, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 595, 0, 0, 0, + 0, 0, 161, 0, 162, 595, 0, 0, 0, 0, + 0, 0, 0, 2057, 2058, 2059, 2060, 2061, 0, 2063, + 1462, 1463, 152, 151, 181, 2067, 0, 2068, 0, 0, + 0, 2071, 0, 0, 0, 0, 0, 0, 2381, 2080, + 2081, 2082, 2083, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2094, 2095, 0, 0, 0, 0, 0, 0, + 2100, 2101, 2102, 2103, 2104, 0, 1811, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2117, 0, 0, + 0, 0, 0, 0, 0, 0, 156, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2803, + 2804, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 147, 1464, 154, 0, 1461, 0, 148, 149, 0, + 0, 0, 0, 165, 0, 0, 0, 0, 0, 0, + 0, 0, 171, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1815, + 1815, 0, 0, 0, 150, 0, 0, 0, 0, 0, + 692, 0, 641, 696, 643, 693, 694, 0, 639, 642, + 695, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 144, 0, + 0, 145, 0, 2726, 2727, 2728, 2729, 645, 646, 2796, + 2800, 2801, 2802, 2805, 2806, 2807, 2815, 2817, 670, 2816, + 2818, 2819, 2820, 2823, 2824, 2825, 2826, 2821, 2822, 2827, + 2795, 157, 0, 0, 0, 0, 0, 0, 169, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1303, 0, 1303, 0, 0, 0, 548, 156, + 548, 0, 0, 548, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1303, 0, 0, 0, 0, 2783, 0, + 2785, 0, 0, 0, 0, 0, 0, 0, 0, 158, + 163, 160, 166, 167, 168, 170, 172, 173, 174, 175, + 0, 0, 0, 0, 0, 176, 178, 179, 180, 0, + 2328, 0, 0, 0, 2332, 0, 0, 150, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2347, 0, 0, 0, 0, 0, + 0, 0, 1815, 0, 0, 0, 0, 0, 0, 0, + 0, 144, 0, 0, 145, 2362, 2363, 0, 2853, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 814, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 157, 0, 0, 0, 0, 0, - 0, 169, 0, 0, 547, 0, 0, 547, 547, 547, - 0, 0, 46, 49, 52, 51, 54, 0, 66, 0, - 2019, 75, 72, 0, 0, 1350, 0, 0, 0, 0, + 0, 169, 0, 0, 0, 0, 0, 0, 0, 0, + 1304, 0, 2886, 0, 0, 0, 2886, 2886, 0, 0, + 0, 0, 0, 0, 2407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 177, 55, 83, 82, 0, 0, 64, - 65, 53, 0, 0, 0, 0, 0, 73, 74, 0, + 0, 2425, 2426, 177, 0, 1815, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 548, 0, 0, 0, 0, 0, 0, 0, 0, 158, 163, 160, 166, 167, 168, 170, 172, - 173, 174, 175, 0, 0, 0, 0, 0, 176, 178, - 179, 180, 0, 0, 0, 0, 0, 57, 58, 0, - 59, 60, 61, 62, 0, 0, 0, 0, 0, 0, - 1301, 0, 1301, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1825, 1534, 0, 0, 0, 0, 0, 0, 0, - 1829, 0, 1832, 0, 0, 1635, 0, 0, 2093, 0, - 0, 1301, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2110, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 769, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2150, 2151, 0, 0, 0, 0, - 0, 0, 0, 2170, 0, 2171, 2172, 0, 0, 0, - 0, 0, 0, 2294, 0, 0, 0, 0, 81, 0, - 0, 0, 0, 1534, 0, 0, 0, 0, 0, 0, - 0, 2317, 2318, 0, 0, 0, 2321, 0, 0, 0, - 0, 2323, 2324, 2325, 0, 0, 0, 0, 0, 0, - 0, 0, 86, 2330, 2331, 2332, 0, 0, 1747, 2334, - 0, 2335, 2336, 0, 0, 0, 2343, 2344, 0, 0, - 0, 0, 0, 0, 1747, 1747, 1747, 1747, 1747, 606, - 606, 606, 606, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2248, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1635, 0, 0, 0, 0, 0, 0, 1982, 2390, - 0, 0, 0, 0, 0, 1996, 1997, 0, 0, 2001, - 0, 0, 0, 0, 0, 0, 0, 0, 2004, 1534, - 0, 0, 0, 0, 0, 2007, 2423, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 547, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2010, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1301, 0, 0, - 0, 0, 0, 0, 0, 0, 2485, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 87, 0, 0, 0, 0, 1534, 700, 707, 708, 709, - 710, 711, 701, 703, 0, 0, 0, 702, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1839, - 705, 712, 713, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2399, 0, 79, 0, 2568, 1839, 1839, 1839, - 1839, 1839, 0, 2574, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2170, 769, 2519, 2520, 0, 1839, - 707, 708, 1839, 0, 0, 0, 1682, 0, 714, 715, - 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, - 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, - 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, - 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, - 0, 0, 0, 606, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2507, 0, 0, 0, 0, - 0, 0, 0, 2173, 0, 2515, 0, 0, 0, 0, - 0, 714, 715, 716, 717, 718, 719, 720, 721, 722, - 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, - 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, - 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, - 753, 754, 755, 0, 2549, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2688, 0, 0, 0, - 0, 0, 2221, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2712, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2269, 2270, 2271, - 2272, 2273, 0, 0, 0, 0, 2728, 0, 2729, 0, - 0, 0, 0, 2732, 2733, 0, 0, 0, 1635, 2282, - 0, 0, 0, 0, 0, 0, 0, 2740, 0, 0, - 690, 0, 0, 694, 2290, 691, 692, 87, 0, 1839, - 693, 0, 0, 700, 707, 708, 709, 710, 711, 701, - 703, 0, 2649, 0, 702, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2773, 0, 705, 712, 713, - 0, 0, 0, 0, 0, 0, 2781, 0, 0, 2783, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2787, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2824, 0, 2519, 2520, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 714, 715, 716, 717, 718, - 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, - 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, - 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, - 749, 750, 751, 752, 753, 754, 755, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2887, 606, 0, 0, 0, 0, 0, 0, - 0, 2749, 0, 2753, 2754, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2399, 0, 79, 0, - 2399, 0, 0, 2475, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2513, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 606, 0, 2522, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2538, 0, 0, 2541, 0, 0, 0, 0, 0, 2836, - 0, 0, 0, 0, 2930, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 606, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2603, 0, 0, 2399, - 0, 0, 0, 0, 2993, 0, 0, 0, 0, 0, - 0, 0, 0, 1249, 1250, 1251, 1252, 1253, 1254, 1255, - 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, - 1266, 1267, 1268, 1269, 1270, 1272, 1273, 1274, 1275, 1276, - 1277, 1278, 1279, 1280, 1281, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2914, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 79, 0, 0, 0, - 0, 0, 0, 0, 2666, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2681, 0, 0, 2682, 2683, 2684, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2945, 0, 0, 0, - 0, 79, 0, 362, 0, 0, 946, 931, 464, 0, - 877, 949, 846, 865, 959, 868, 871, 913, 825, 891, - 380, 862, 817, 850, 820, 857, 821, 848, 879, 251, - 845, 933, 895, 948, 335, 248, 827, 851, 394, 867, - 197, 915, 438, 235, 345, 342, 471, 263, 254, 250, - 234, 290, 352, 392, 458, 386, 955, 339, 901, 0, - 448, 365, 0, 0, 0, 881, 937, 889, 927, 876, - 914, 835, 900, 950, 863, 910, 951, 296, 233, 298, - 196, 377, 449, 267, 0, 0, 0, 0, 188, 189, - 190, 0, 2965, 0, 2966, 0, 0, 0, 0, 0, - 0, 224, 0, 231, 320, 329, 328, 309, 310, 312, - 314, 319, 326, 332, 859, 907, 945, 860, 909, 246, - 294, 253, 245, 468, 956, 936, 824, 888, 944, 0, - 0, 215, 947, 883, 0, 912, 0, 962, 819, 903, - 0, 822, 826, 958, 940, 854, 256, 0, 0, 0, - 0, 0, 0, 0, 880, 890, 924, 874, 0, 0, - 0, 0, 0, 0, 0, 852, 0, 899, 0, 0, - 0, 831, 823, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 878, 0, 0, 0, 834, - 0, 853, 925, 0, 816, 277, 828, 366, 238, 0, - 929, 939, 875, 504, 943, 873, 872, 919, 832, 935, - 866, 334, 830, 303, 192, 211, 0, 864, 376, 419, - 425, 934, 849, 858, 236, 856, 423, 390, 487, 219, - 265, 416, 396, 421, 403, 268, 898, 917, 422, 340, - 473, 410, 484, 505, 506, 244, 370, 495, 462, 501, - 519, 212, 241, 384, 455, 490, 445, 363, 469, 470, - 302, 444, 275, 195, 338, 511, 210, 431, 228, 217, - 475, 493, 270, 414, 202, 457, 482, 225, 435, 0, - 0, 521, 204, 480, 454, 359, 299, 300, 203, 0, - 415, 249, 273, 239, 379, 477, 478, 237, 522, 214, - 500, 206, 1152, 499, 372, 472, 481, 360, 350, 205, - 479, 358, 349, 305, 324, 325, 261, 284, 408, 343, - 409, 285, 368, 367, 369, 198, 491, 2925, 199, 0, - 450, 492, 523, 220, 221, 223, 844, 260, 264, 272, - 274, 280, 281, 288, 336, 383, 407, 405, 411, 930, - 467, 485, 496, 503, 509, 510, 512, 513, 514, 515, - 516, 518, 517, 371, 287, 446, 304, 341, 922, 961, - 389, 424, 226, 489, 447, 839, 843, 837, 904, 838, - 893, 894, 840, 952, 953, 954, 524, 525, 526, 527, - 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, - 538, 539, 540, 541, 0, 926, 833, 0, 841, 842, - 0, 932, 941, 942, 542, 351, 437, 486, 306, 318, - 321, 311, 330, 0, 331, 307, 308, 313, 315, 316, - 317, 322, 323, 327, 333, 897, 191, 207, 337, 957, - 412, 269, 520, 498, 494, 818, 209, 836, 243, 847, - 855, 0, 861, 869, 870, 882, 884, 885, 886, 887, - 905, 906, 908, 916, 918, 921, 923, 928, 938, 960, - 193, 194, 200, 208, 218, 222, 229, 242, 257, 259, - 266, 278, 283, 286, 291, 292, 295, 301, 347, 353, - 354, 355, 356, 373, 374, 375, 378, 381, 382, 385, - 387, 388, 391, 395, 399, 400, 401, 402, 404, 406, - 413, 418, 426, 427, 428, 429, 430, 433, 434, 439, - 440, 441, 442, 443, 451, 452, 456, 474, 476, 488, - 502, 507, 432, 279, 483, 508, 0, 346, 896, 902, - 348, 262, 282, 293, 911, 497, 453, 213, 420, 271, - 201, 232, 216, 240, 255, 258, 297, 357, 364, 393, - 398, 276, 252, 230, 417, 227, 436, 459, 460, 461, - 463, 361, 247, 397, 892, 920, 344, 465, 466, 289, - 362, 0, 0, 946, 931, 464, 0, 877, 949, 846, - 865, 959, 868, 871, 913, 825, 891, 380, 862, 817, - 850, 820, 857, 821, 848, 879, 251, 845, 933, 895, - 948, 335, 248, 827, 851, 394, 867, 197, 915, 438, - 235, 345, 342, 471, 263, 254, 250, 234, 290, 352, - 392, 458, 386, 955, 339, 901, 0, 448, 365, 0, - 0, 0, 881, 937, 889, 927, 876, 914, 835, 900, - 950, 863, 910, 951, 296, 233, 298, 196, 377, 449, - 267, 0, 0, 0, 0, 188, 189, 190, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, - 231, 320, 329, 328, 309, 310, 312, 314, 319, 326, - 332, 859, 907, 945, 860, 909, 246, 294, 253, 245, - 468, 956, 936, 824, 888, 944, 0, 0, 215, 947, - 883, 0, 912, 0, 962, 819, 903, 0, 822, 826, - 958, 940, 854, 256, 0, 0, 0, 0, 0, 0, - 0, 880, 890, 924, 874, 0, 0, 0, 0, 0, - 2430, 0, 852, 0, 899, 0, 0, 0, 831, 823, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 878, 0, 0, 0, 834, 0, 853, 925, - 0, 816, 277, 828, 366, 238, 0, 929, 939, 875, - 504, 943, 873, 872, 919, 832, 935, 866, 334, 830, - 303, 192, 211, 0, 864, 376, 419, 425, 934, 849, - 858, 236, 856, 423, 390, 487, 219, 265, 416, 396, - 421, 403, 268, 898, 917, 422, 340, 473, 410, 484, - 505, 506, 244, 370, 495, 462, 501, 519, 212, 241, - 384, 455, 490, 445, 363, 469, 470, 302, 444, 275, - 195, 338, 511, 210, 431, 228, 217, 475, 493, 270, - 414, 202, 457, 482, 225, 435, 0, 0, 521, 204, - 480, 454, 359, 299, 300, 203, 0, 415, 249, 273, - 239, 379, 477, 478, 237, 522, 214, 500, 206, 1152, - 499, 372, 472, 481, 360, 350, 205, 479, 358, 349, - 305, 324, 325, 261, 284, 408, 343, 409, 285, 368, - 367, 369, 198, 491, 0, 199, 0, 450, 492, 523, - 220, 221, 223, 844, 260, 264, 272, 274, 280, 281, - 288, 336, 383, 407, 405, 411, 930, 467, 485, 496, - 503, 509, 510, 512, 513, 514, 515, 516, 518, 517, - 371, 287, 446, 304, 341, 922, 961, 389, 424, 226, - 489, 447, 839, 843, 837, 904, 838, 893, 894, 840, - 952, 953, 954, 524, 525, 526, 527, 528, 529, 530, - 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, - 541, 0, 926, 833, 0, 841, 842, 0, 932, 941, - 942, 542, 351, 437, 486, 306, 318, 321, 311, 330, - 0, 331, 307, 308, 313, 315, 316, 317, 322, 323, - 327, 333, 897, 191, 207, 337, 957, 412, 269, 520, - 498, 494, 818, 209, 836, 243, 847, 855, 0, 861, - 869, 870, 882, 884, 885, 886, 887, 905, 906, 908, - 916, 918, 921, 923, 928, 938, 960, 193, 194, 200, - 208, 218, 222, 229, 242, 257, 259, 266, 278, 283, - 286, 291, 292, 295, 301, 347, 353, 354, 355, 356, - 373, 374, 375, 378, 381, 382, 385, 387, 388, 391, - 395, 399, 400, 401, 402, 404, 406, 413, 418, 426, - 427, 428, 429, 430, 433, 434, 439, 440, 441, 442, - 443, 451, 452, 456, 474, 476, 488, 502, 507, 432, - 279, 483, 508, 0, 346, 896, 902, 348, 262, 282, - 293, 911, 497, 453, 213, 420, 271, 201, 232, 216, - 240, 255, 258, 297, 357, 364, 393, 398, 276, 252, - 230, 417, 227, 436, 459, 460, 461, 463, 361, 247, - 397, 892, 920, 344, 465, 466, 289, 362, 0, 0, - 946, 931, 464, 0, 877, 949, 846, 865, 959, 868, - 871, 913, 825, 891, 380, 862, 817, 850, 820, 857, - 821, 848, 879, 251, 845, 933, 895, 948, 335, 248, - 827, 851, 394, 867, 197, 915, 438, 235, 345, 342, - 471, 263, 254, 250, 234, 290, 352, 392, 458, 386, - 955, 339, 901, 0, 448, 365, 0, 0, 0, 881, - 937, 889, 927, 876, 914, 835, 900, 950, 863, 910, - 951, 296, 233, 298, 196, 377, 449, 267, 0, 0, - 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 224, 0, 231, 320, 329, - 328, 309, 310, 312, 314, 319, 326, 332, 859, 907, - 945, 860, 909, 246, 294, 253, 245, 468, 956, 936, - 824, 888, 944, 0, 0, 215, 947, 883, 0, 912, - 0, 962, 819, 903, 0, 822, 826, 958, 940, 854, - 256, 0, 0, 0, 0, 0, 0, 0, 880, 890, - 924, 874, 0, 0, 0, 0, 0, 2388, 0, 852, - 0, 899, 0, 0, 0, 831, 823, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 878, - 0, 0, 0, 834, 0, 853, 925, 0, 816, 277, - 828, 366, 238, 0, 929, 939, 875, 504, 943, 873, - 872, 919, 832, 935, 866, 334, 830, 303, 192, 211, - 0, 864, 376, 419, 425, 934, 849, 858, 236, 856, - 423, 390, 487, 219, 265, 416, 396, 421, 403, 268, - 898, 917, 422, 340, 473, 410, 484, 505, 506, 244, - 370, 495, 462, 501, 519, 212, 241, 384, 455, 490, - 445, 363, 469, 470, 302, 444, 275, 195, 338, 511, - 210, 431, 228, 217, 475, 493, 270, 414, 202, 457, - 482, 225, 435, 0, 0, 521, 204, 480, 454, 359, - 299, 300, 203, 0, 415, 249, 273, 239, 379, 477, - 478, 237, 522, 214, 500, 206, 1152, 499, 372, 472, - 481, 360, 350, 205, 479, 358, 349, 305, 324, 325, - 261, 284, 408, 343, 409, 285, 368, 367, 369, 198, - 491, 0, 199, 0, 450, 492, 523, 220, 221, 223, - 844, 260, 264, 272, 274, 280, 281, 288, 336, 383, - 407, 405, 411, 930, 467, 485, 496, 503, 509, 510, - 512, 513, 514, 515, 516, 518, 517, 371, 287, 446, - 304, 341, 922, 961, 389, 424, 226, 489, 447, 839, - 843, 837, 904, 838, 893, 894, 840, 952, 953, 954, - 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, - 534, 535, 536, 537, 538, 539, 540, 541, 0, 926, - 833, 0, 841, 842, 0, 932, 941, 942, 542, 351, - 437, 486, 306, 318, 321, 311, 330, 0, 331, 307, - 308, 313, 315, 316, 317, 322, 323, 327, 333, 897, - 191, 207, 337, 957, 412, 269, 520, 498, 494, 818, - 209, 836, 243, 847, 855, 0, 861, 869, 870, 882, - 884, 885, 886, 887, 905, 906, 908, 916, 918, 921, - 923, 928, 938, 960, 193, 194, 200, 208, 218, 222, - 229, 242, 257, 259, 266, 278, 283, 286, 291, 292, - 295, 301, 347, 353, 354, 355, 356, 373, 374, 375, - 378, 381, 382, 385, 387, 388, 391, 395, 399, 400, - 401, 402, 404, 406, 413, 418, 426, 427, 428, 429, - 430, 433, 434, 439, 440, 441, 442, 443, 451, 452, - 456, 474, 476, 488, 502, 507, 432, 279, 483, 508, - 0, 346, 896, 902, 348, 262, 282, 293, 911, 497, - 453, 213, 420, 271, 201, 232, 216, 240, 255, 258, - 297, 357, 364, 393, 398, 276, 252, 230, 417, 227, - 436, 459, 460, 461, 463, 361, 247, 397, 892, 920, - 344, 465, 466, 289, 362, 0, 0, 946, 931, 464, - 0, 877, 949, 846, 865, 959, 868, 871, 913, 825, - 891, 380, 862, 817, 850, 820, 857, 821, 848, 879, - 251, 845, 933, 895, 948, 335, 248, 827, 851, 394, - 867, 197, 915, 438, 235, 345, 342, 471, 263, 254, - 250, 234, 290, 352, 392, 458, 386, 955, 339, 901, - 0, 448, 365, 0, 0, 0, 881, 937, 889, 927, - 876, 914, 835, 900, 950, 863, 910, 951, 296, 233, - 298, 196, 377, 449, 267, 0, 0, 0, 0, 188, - 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 224, 0, 231, 320, 329, 328, 309, 310, - 312, 314, 319, 326, 332, 859, 907, 945, 860, 909, - 246, 294, 253, 245, 468, 956, 936, 824, 888, 944, - 0, 0, 215, 947, 883, 0, 912, 0, 962, 819, - 903, 0, 822, 826, 958, 940, 854, 256, 0, 0, - 0, 0, 0, 0, 0, 880, 890, 924, 874, 0, - 0, 0, 0, 0, 1827, 0, 852, 0, 899, 0, - 0, 0, 831, 823, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 878, 0, 0, 0, - 834, 0, 853, 925, 0, 816, 277, 828, 366, 238, - 0, 929, 939, 875, 504, 943, 873, 872, 919, 832, - 935, 866, 334, 830, 303, 192, 211, 0, 864, 376, - 419, 425, 934, 849, 858, 236, 856, 423, 390, 487, - 219, 265, 416, 396, 421, 403, 268, 898, 917, 422, - 340, 473, 410, 484, 505, 506, 244, 370, 495, 462, - 501, 519, 212, 241, 384, 455, 490, 445, 363, 469, - 470, 302, 444, 275, 195, 338, 511, 210, 431, 228, - 217, 475, 493, 270, 414, 202, 457, 482, 225, 435, - 0, 0, 521, 204, 480, 454, 359, 299, 300, 203, - 0, 415, 249, 273, 239, 379, 477, 478, 237, 522, - 214, 500, 206, 1152, 499, 372, 472, 481, 360, 350, - 205, 479, 358, 349, 305, 324, 325, 261, 284, 408, - 343, 409, 285, 368, 367, 369, 198, 491, 0, 199, - 0, 450, 492, 523, 220, 221, 223, 844, 260, 264, - 272, 274, 280, 281, 288, 336, 383, 407, 405, 411, - 930, 467, 485, 496, 503, 509, 510, 512, 513, 514, - 515, 516, 518, 517, 371, 287, 446, 304, 341, 922, - 961, 389, 424, 226, 489, 447, 839, 843, 837, 904, - 838, 893, 894, 840, 952, 953, 954, 524, 525, 526, - 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, - 537, 538, 539, 540, 541, 0, 926, 833, 0, 841, - 842, 0, 932, 941, 942, 542, 351, 437, 486, 306, - 318, 321, 311, 330, 0, 331, 307, 308, 313, 315, - 316, 317, 322, 323, 327, 333, 897, 191, 207, 337, - 957, 412, 269, 520, 498, 494, 818, 209, 836, 243, - 847, 855, 0, 861, 869, 870, 882, 884, 885, 886, - 887, 905, 906, 908, 916, 918, 921, 923, 928, 938, - 960, 193, 194, 200, 208, 218, 222, 229, 242, 257, - 259, 266, 278, 283, 286, 291, 292, 295, 301, 347, - 353, 354, 355, 356, 373, 374, 375, 378, 381, 382, - 385, 387, 388, 391, 395, 399, 400, 401, 402, 404, - 406, 413, 418, 426, 427, 428, 429, 430, 433, 434, - 439, 440, 441, 442, 443, 451, 452, 456, 474, 476, - 488, 502, 507, 432, 279, 483, 508, 0, 346, 896, - 902, 348, 262, 282, 293, 911, 497, 453, 213, 420, - 271, 201, 232, 216, 240, 255, 258, 297, 357, 364, - 393, 398, 276, 252, 230, 417, 227, 436, 459, 460, - 461, 463, 361, 247, 397, 892, 920, 344, 465, 466, - 289, 362, 0, 0, 946, 931, 464, 0, 877, 949, - 846, 865, 959, 868, 871, 913, 825, 891, 380, 862, - 817, 850, 820, 857, 821, 848, 879, 251, 845, 933, - 895, 948, 335, 248, 827, 851, 394, 867, 197, 915, - 438, 235, 345, 342, 471, 263, 254, 250, 234, 290, - 352, 392, 458, 386, 955, 339, 901, 0, 448, 365, - 0, 0, 0, 881, 937, 889, 927, 876, 914, 835, - 900, 950, 863, 910, 951, 296, 233, 298, 196, 377, - 449, 267, 0, 87, 0, 0, 188, 189, 190, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, - 0, 231, 320, 329, 328, 309, 310, 312, 314, 319, - 326, 332, 859, 907, 945, 860, 909, 246, 294, 253, - 245, 468, 956, 936, 824, 888, 944, 0, 0, 215, - 947, 883, 0, 912, 0, 962, 819, 903, 0, 822, - 826, 958, 940, 854, 256, 0, 0, 0, 0, 0, - 0, 0, 880, 890, 924, 874, 0, 0, 0, 0, - 0, 0, 0, 852, 0, 899, 0, 0, 0, 831, - 823, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 878, 0, 0, 0, 834, 0, 853, - 925, 0, 816, 277, 828, 366, 238, 0, 929, 939, - 875, 504, 943, 873, 872, 919, 832, 935, 866, 334, - 830, 303, 192, 211, 0, 864, 376, 419, 425, 934, - 849, 858, 236, 856, 423, 390, 487, 219, 265, 416, - 396, 421, 403, 268, 898, 917, 422, 340, 473, 410, - 484, 505, 506, 244, 370, 495, 462, 501, 519, 212, - 241, 384, 455, 490, 445, 363, 469, 470, 302, 444, - 275, 195, 338, 511, 210, 431, 228, 217, 475, 493, - 270, 414, 202, 457, 482, 225, 435, 0, 0, 521, - 204, 480, 454, 359, 299, 300, 203, 0, 415, 249, - 273, 239, 379, 477, 478, 237, 522, 214, 500, 206, - 1152, 499, 372, 472, 481, 360, 350, 205, 479, 358, - 349, 305, 324, 325, 261, 284, 408, 343, 409, 285, - 368, 367, 369, 198, 491, 0, 199, 0, 450, 492, - 523, 220, 221, 223, 844, 260, 264, 272, 274, 280, - 281, 288, 336, 383, 407, 405, 411, 930, 467, 485, - 496, 503, 509, 510, 512, 513, 514, 515, 516, 518, - 517, 371, 287, 446, 304, 341, 922, 961, 389, 424, - 226, 489, 447, 839, 843, 837, 904, 838, 893, 894, - 840, 952, 953, 954, 524, 525, 526, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 0, 926, 833, 0, 841, 842, 0, 932, - 941, 942, 542, 351, 437, 486, 306, 318, 321, 311, - 330, 0, 331, 307, 308, 313, 315, 316, 317, 322, - 323, 327, 333, 897, 191, 207, 337, 957, 412, 269, - 520, 498, 494, 818, 209, 836, 243, 847, 855, 0, - 861, 869, 870, 882, 884, 885, 886, 887, 905, 906, - 908, 916, 918, 921, 923, 928, 938, 960, 193, 194, - 200, 208, 218, 222, 229, 242, 257, 259, 266, 278, - 283, 286, 291, 292, 295, 301, 347, 353, 354, 355, - 356, 373, 374, 375, 378, 381, 382, 385, 387, 388, - 391, 395, 399, 400, 401, 402, 404, 406, 413, 418, - 426, 427, 428, 429, 430, 433, 434, 439, 440, 441, - 442, 443, 451, 452, 456, 474, 476, 488, 502, 507, - 432, 279, 483, 508, 0, 346, 896, 902, 348, 262, - 282, 293, 911, 497, 453, 213, 420, 271, 201, 232, - 216, 240, 255, 258, 297, 357, 364, 393, 398, 276, - 252, 230, 417, 227, 436, 459, 460, 461, 463, 361, - 247, 397, 892, 920, 344, 465, 466, 289, 362, 0, - 0, 946, 931, 464, 0, 877, 949, 846, 865, 959, - 868, 871, 913, 825, 891, 380, 862, 817, 850, 820, - 857, 821, 848, 879, 251, 845, 933, 895, 948, 335, - 248, 827, 851, 394, 867, 197, 915, 438, 235, 345, - 342, 471, 263, 254, 250, 234, 290, 352, 392, 458, - 386, 955, 339, 901, 0, 448, 365, 0, 0, 0, - 881, 937, 889, 927, 876, 914, 835, 900, 950, 863, - 910, 951, 296, 233, 298, 196, 377, 449, 267, 0, - 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 224, 0, 231, 320, - 329, 328, 309, 310, 312, 314, 319, 326, 332, 859, - 907, 945, 860, 909, 246, 294, 253, 245, 468, 956, - 936, 824, 888, 944, 0, 0, 215, 947, 883, 0, - 912, 0, 962, 819, 903, 0, 822, 826, 958, 940, - 854, 256, 0, 0, 0, 0, 0, 0, 0, 880, - 890, 924, 874, 0, 0, 0, 0, 0, 0, 0, - 852, 0, 899, 0, 0, 0, 831, 823, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 878, 0, 0, 0, 834, 0, 853, 925, 0, 816, - 277, 828, 366, 238, 0, 929, 939, 875, 504, 943, - 873, 872, 919, 832, 935, 866, 334, 830, 303, 192, - 211, 0, 864, 376, 419, 425, 934, 849, 858, 236, - 856, 423, 390, 487, 219, 265, 416, 396, 421, 403, - 268, 898, 917, 422, 340, 473, 410, 484, 505, 506, - 244, 370, 495, 462, 501, 519, 212, 241, 384, 455, - 490, 445, 363, 469, 470, 302, 444, 275, 195, 338, - 511, 210, 431, 228, 217, 475, 493, 270, 414, 202, - 457, 482, 225, 435, 0, 0, 521, 204, 480, 454, - 359, 299, 300, 203, 0, 415, 249, 273, 239, 379, - 477, 478, 237, 522, 214, 500, 206, 1152, 499, 372, - 472, 481, 360, 350, 205, 479, 358, 349, 305, 324, - 325, 261, 284, 408, 343, 409, 285, 368, 367, 369, - 198, 491, 0, 199, 0, 450, 492, 523, 220, 221, - 223, 844, 260, 264, 272, 274, 280, 281, 288, 336, - 383, 407, 405, 411, 930, 467, 485, 496, 503, 509, - 510, 512, 513, 514, 515, 516, 518, 517, 371, 287, - 446, 304, 341, 922, 961, 389, 424, 226, 489, 447, - 839, 843, 837, 904, 838, 893, 894, 840, 952, 953, - 954, 524, 525, 526, 527, 528, 529, 530, 531, 532, - 533, 534, 535, 536, 537, 538, 539, 540, 541, 0, - 926, 833, 0, 841, 842, 0, 932, 941, 942, 542, - 351, 437, 486, 306, 318, 321, 311, 330, 0, 331, - 307, 308, 313, 315, 316, 317, 322, 323, 327, 333, - 897, 191, 207, 337, 957, 412, 269, 520, 498, 494, - 818, 209, 836, 243, 847, 855, 0, 861, 869, 870, - 882, 884, 885, 886, 887, 905, 906, 908, 916, 918, - 921, 923, 928, 938, 960, 193, 194, 200, 208, 218, - 222, 229, 242, 257, 259, 266, 278, 283, 286, 291, - 292, 295, 301, 347, 353, 354, 355, 356, 373, 374, - 375, 378, 381, 382, 385, 387, 388, 391, 395, 399, - 400, 401, 402, 404, 406, 413, 418, 426, 427, 428, - 429, 430, 433, 434, 439, 440, 441, 442, 443, 451, - 452, 456, 474, 476, 488, 502, 507, 432, 279, 483, - 508, 0, 346, 896, 902, 348, 262, 282, 293, 911, - 497, 453, 213, 420, 271, 201, 232, 216, 240, 255, - 258, 297, 357, 364, 393, 398, 276, 252, 230, 417, - 227, 436, 459, 460, 461, 463, 361, 247, 397, 892, - 920, 344, 465, 466, 289, 362, 0, 0, 946, 931, - 464, 0, 877, 949, 846, 865, 959, 868, 871, 913, - 825, 891, 380, 862, 817, 850, 820, 857, 821, 848, - 879, 251, 845, 933, 895, 948, 335, 248, 827, 851, - 394, 867, 197, 915, 438, 235, 345, 342, 471, 263, - 254, 250, 234, 290, 352, 392, 458, 386, 955, 339, - 901, 0, 448, 365, 0, 0, 0, 881, 937, 889, - 927, 876, 914, 835, 900, 950, 863, 910, 951, 296, - 233, 298, 196, 377, 449, 267, 0, 0, 0, 0, - 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 224, 0, 231, 320, 329, 328, 309, - 310, 312, 314, 319, 326, 332, 859, 907, 945, 860, - 909, 246, 294, 253, 245, 468, 956, 936, 824, 888, - 944, 0, 0, 963, 947, 883, 0, 912, 0, 962, - 819, 903, 0, 822, 826, 958, 940, 854, 256, 0, - 0, 0, 0, 0, 0, 0, 880, 890, 924, 874, - 0, 0, 0, 0, 0, 0, 0, 852, 0, 899, - 0, 0, 0, 831, 823, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 878, 0, 0, - 0, 834, 0, 853, 925, 0, 816, 277, 828, 366, - 238, 0, 929, 939, 875, 504, 943, 873, 872, 919, - 832, 935, 866, 334, 830, 303, 192, 211, 0, 864, - 376, 419, 425, 934, 849, 858, 236, 856, 423, 390, - 487, 219, 265, 416, 396, 421, 403, 268, 898, 917, - 422, 340, 473, 410, 484, 505, 506, 244, 370, 495, - 462, 501, 519, 212, 241, 384, 455, 490, 445, 363, - 469, 470, 302, 444, 275, 195, 338, 511, 210, 431, - 228, 217, 475, 493, 270, 414, 202, 457, 482, 225, - 435, 0, 0, 521, 204, 480, 454, 359, 299, 300, - 203, 0, 415, 249, 273, 239, 379, 477, 478, 237, - 522, 214, 500, 206, 829, 499, 372, 472, 481, 360, - 350, 205, 479, 358, 349, 305, 324, 325, 261, 284, - 408, 343, 409, 285, 368, 367, 369, 198, 491, 0, - 199, 0, 450, 492, 523, 220, 221, 223, 844, 260, - 264, 272, 274, 280, 281, 288, 336, 383, 407, 405, - 411, 930, 467, 485, 496, 503, 509, 510, 512, 513, - 514, 515, 516, 518, 517, 815, 809, 808, 304, 341, - 922, 961, 389, 424, 226, 489, 447, 839, 843, 837, - 904, 838, 893, 894, 840, 952, 953, 954, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, - 536, 537, 538, 539, 540, 541, 0, 926, 833, 0, - 841, 842, 0, 932, 941, 942, 542, 351, 437, 486, - 306, 318, 321, 311, 330, 0, 331, 307, 308, 313, - 315, 316, 317, 322, 323, 327, 333, 897, 191, 207, - 337, 957, 412, 269, 520, 498, 494, 818, 209, 836, - 243, 847, 855, 0, 861, 869, 870, 882, 884, 885, - 886, 887, 905, 906, 908, 916, 918, 921, 923, 928, - 938, 960, 193, 194, 200, 208, 218, 222, 229, 242, - 257, 259, 266, 278, 283, 286, 291, 292, 295, 301, - 347, 353, 354, 355, 356, 373, 374, 375, 378, 381, - 382, 385, 387, 388, 391, 395, 399, 400, 401, 402, - 404, 406, 413, 418, 426, 427, 428, 429, 430, 433, - 434, 439, 440, 441, 442, 443, 451, 452, 456, 474, - 476, 488, 502, 507, 432, 279, 483, 508, 0, 346, - 896, 902, 348, 262, 282, 293, 911, 497, 453, 213, - 420, 271, 201, 232, 216, 240, 255, 258, 297, 357, - 364, 393, 398, 276, 252, 230, 417, 227, 436, 459, - 460, 461, 463, 361, 247, 397, 892, 920, 344, 465, - 466, 289, 362, 0, 0, 946, 931, 464, 0, 877, - 949, 846, 865, 959, 868, 871, 913, 825, 891, 380, - 862, 817, 850, 820, 857, 821, 848, 879, 251, 845, - 933, 895, 948, 335, 248, 827, 851, 394, 867, 197, - 915, 438, 235, 345, 342, 471, 263, 254, 250, 234, - 290, 352, 392, 458, 386, 955, 339, 901, 0, 448, - 365, 0, 0, 0, 881, 937, 889, 927, 876, 914, - 835, 900, 950, 863, 910, 951, 296, 233, 298, 196, - 377, 449, 267, 0, 0, 0, 0, 188, 189, 190, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 224, 0, 231, 320, 329, 328, 309, 310, 312, 314, - 319, 326, 332, 859, 907, 945, 860, 909, 246, 294, - 253, 245, 468, 956, 936, 824, 888, 944, 0, 0, - 963, 947, 883, 0, 912, 0, 962, 819, 903, 0, - 822, 826, 958, 940, 854, 256, 0, 0, 0, 0, - 0, 0, 0, 880, 890, 924, 874, 0, 0, 0, - 0, 0, 0, 0, 852, 0, 899, 0, 0, 0, - 831, 823, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 878, 0, 0, 0, 834, 0, - 853, 925, 0, 816, 277, 828, 366, 238, 0, 929, - 939, 875, 504, 943, 873, 872, 919, 832, 935, 866, - 334, 830, 303, 192, 211, 0, 864, 376, 419, 425, - 934, 849, 858, 236, 856, 423, 390, 487, 219, 265, - 416, 396, 421, 403, 268, 898, 917, 422, 340, 473, - 410, 484, 505, 506, 244, 370, 495, 462, 501, 519, - 212, 241, 384, 455, 490, 445, 363, 469, 470, 302, - 444, 275, 195, 338, 511, 210, 431, 228, 217, 475, - 493, 270, 414, 202, 457, 1367, 225, 435, 0, 0, - 521, 204, 480, 454, 359, 299, 300, 203, 0, 415, - 249, 273, 239, 379, 477, 478, 237, 522, 214, 500, - 206, 829, 499, 372, 472, 481, 360, 350, 205, 479, - 358, 349, 305, 324, 325, 261, 284, 408, 343, 409, - 285, 368, 367, 369, 198, 491, 0, 199, 0, 450, - 492, 523, 220, 221, 223, 844, 260, 264, 272, 274, - 280, 281, 288, 336, 383, 407, 405, 411, 930, 467, - 485, 496, 503, 509, 510, 512, 513, 514, 515, 516, - 518, 517, 815, 809, 808, 304, 341, 922, 961, 389, - 424, 226, 489, 447, 839, 843, 837, 904, 838, 893, - 894, 840, 952, 953, 954, 524, 525, 526, 527, 528, - 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, - 539, 540, 541, 0, 926, 833, 0, 841, 842, 0, - 932, 941, 942, 542, 351, 437, 486, 306, 318, 321, - 311, 330, 0, 331, 307, 308, 313, 315, 316, 317, - 322, 323, 327, 333, 897, 191, 207, 337, 957, 412, - 269, 520, 498, 494, 818, 209, 836, 243, 847, 855, - 0, 861, 869, 870, 882, 884, 885, 886, 887, 905, - 906, 908, 916, 918, 921, 923, 928, 938, 960, 193, - 194, 200, 208, 218, 222, 229, 242, 257, 259, 266, - 278, 283, 286, 291, 292, 295, 301, 347, 353, 354, - 355, 356, 373, 374, 375, 378, 381, 382, 385, 387, - 388, 391, 395, 399, 400, 401, 402, 404, 406, 413, - 418, 426, 427, 428, 429, 430, 433, 434, 439, 440, - 441, 442, 443, 451, 452, 456, 474, 476, 488, 502, - 507, 432, 279, 483, 508, 0, 346, 896, 902, 348, - 262, 282, 293, 911, 497, 453, 213, 420, 271, 201, - 232, 216, 240, 255, 258, 297, 357, 364, 393, 398, - 276, 252, 230, 417, 227, 436, 459, 460, 461, 463, - 361, 247, 397, 892, 920, 344, 465, 466, 289, 362, - 0, 0, 946, 931, 464, 0, 877, 949, 846, 865, - 959, 868, 871, 913, 825, 891, 380, 862, 817, 850, - 820, 857, 821, 848, 879, 251, 845, 933, 895, 948, - 335, 248, 827, 851, 394, 867, 197, 915, 438, 235, - 345, 342, 471, 263, 254, 250, 234, 290, 352, 392, - 458, 386, 955, 339, 901, 0, 448, 365, 0, 0, - 0, 881, 937, 889, 927, 876, 914, 835, 900, 950, - 863, 910, 951, 296, 233, 298, 196, 377, 449, 267, - 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 224, 0, 231, - 320, 329, 328, 309, 310, 312, 314, 319, 326, 332, - 859, 907, 945, 860, 909, 246, 294, 253, 245, 468, - 956, 936, 824, 888, 944, 0, 0, 963, 947, 883, - 0, 912, 0, 962, 819, 903, 0, 822, 826, 958, - 940, 854, 256, 0, 0, 0, 0, 0, 0, 0, - 880, 890, 924, 874, 0, 0, 0, 0, 0, 0, - 0, 852, 0, 899, 0, 0, 0, 831, 823, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 878, 0, 0, 0, 834, 0, 853, 925, 0, - 816, 277, 828, 366, 238, 0, 929, 939, 875, 504, - 943, 873, 872, 919, 832, 935, 866, 334, 830, 303, - 192, 211, 0, 864, 376, 419, 425, 934, 849, 858, - 236, 856, 423, 390, 487, 219, 265, 416, 396, 421, - 403, 268, 898, 917, 422, 340, 473, 410, 484, 505, - 506, 244, 370, 495, 462, 501, 519, 212, 241, 384, - 455, 490, 445, 363, 469, 470, 302, 444, 275, 195, - 338, 511, 210, 431, 228, 217, 475, 493, 270, 414, - 202, 457, 806, 225, 435, 0, 0, 521, 204, 480, - 454, 359, 299, 300, 203, 0, 415, 249, 273, 239, - 379, 477, 478, 237, 522, 214, 500, 206, 829, 499, - 372, 472, 481, 360, 350, 205, 479, 358, 349, 305, - 324, 325, 261, 284, 408, 343, 409, 285, 368, 367, - 369, 198, 491, 0, 199, 0, 450, 492, 523, 220, - 221, 223, 844, 260, 264, 272, 274, 280, 281, 288, - 336, 383, 407, 405, 411, 930, 467, 485, 496, 503, - 509, 510, 512, 513, 514, 515, 516, 518, 517, 815, - 809, 808, 304, 341, 922, 961, 389, 424, 226, 489, - 447, 839, 843, 837, 904, 838, 893, 894, 840, 952, - 953, 954, 524, 525, 526, 527, 528, 529, 530, 531, - 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, - 0, 926, 833, 0, 841, 842, 0, 932, 941, 942, - 542, 351, 437, 486, 306, 318, 321, 311, 330, 0, - 331, 307, 308, 313, 315, 316, 317, 322, 323, 327, - 333, 897, 191, 207, 337, 957, 412, 269, 520, 498, - 494, 818, 209, 836, 243, 847, 855, 0, 861, 869, - 870, 882, 884, 885, 886, 887, 905, 906, 908, 916, - 918, 921, 923, 928, 938, 960, 193, 194, 200, 208, - 218, 222, 229, 242, 257, 259, 266, 278, 283, 286, - 291, 292, 295, 301, 347, 353, 354, 355, 356, 373, - 374, 375, 378, 381, 382, 385, 387, 388, 391, 395, - 399, 400, 401, 402, 404, 406, 413, 418, 426, 427, - 428, 429, 430, 433, 434, 439, 440, 441, 442, 443, - 451, 452, 456, 474, 476, 488, 502, 507, 432, 279, - 483, 508, 0, 346, 896, 902, 348, 262, 282, 293, - 911, 497, 453, 213, 420, 271, 201, 232, 216, 240, - 255, 258, 297, 357, 364, 393, 398, 276, 252, 230, - 417, 227, 436, 459, 460, 461, 463, 361, 247, 397, - 892, 920, 344, 465, 466, 289, 362, 0, 0, 0, - 0, 464, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 380, 0, 0, 1771, 0, 624, 0, - 0, 0, 251, 629, 0, 0, 0, 335, 248, 0, - 1772, 394, 0, 197, 0, 438, 235, 345, 342, 471, - 263, 254, 250, 234, 290, 352, 392, 458, 386, 636, - 339, 0, 0, 448, 365, 0, 0, 0, 0, 0, - 631, 632, 0, 0, 0, 0, 0, 0, 0, 0, - 296, 233, 298, 196, 377, 449, 267, 0, 87, 0, - 0, 188, 189, 190, 700, 707, 708, 709, 710, 711, - 701, 703, 0, 0, 224, 702, 231, 647, 649, 648, - 658, 659, 660, 661, 662, 663, 664, 645, 705, 712, - 713, 0, 246, 294, 253, 245, 468, 0, 0, 0, - 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, - 0, 0, 607, 621, 0, 635, 0, 0, 0, 256, + 173, 174, 175, 781, 0, 0, 0, 1815, 176, 178, + 179, 180, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 548, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 618, 619, 795, 0, 0, 0, - 684, 0, 620, 0, 0, 628, 714, 715, 716, 717, - 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, - 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, - 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, - 748, 749, 750, 751, 752, 753, 754, 755, 630, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 277, 0, - 366, 238, 0, 683, 0, 0, 504, 0, 0, 681, - 0, 0, 0, 0, 334, 0, 303, 192, 211, 0, - 0, 376, 419, 425, 0, 0, 0, 236, 0, 423, - 390, 487, 219, 265, 416, 396, 421, 403, 268, 0, - 0, 422, 340, 473, 410, 484, 505, 506, 244, 370, - 495, 462, 501, 519, 212, 241, 384, 455, 490, 445, - 363, 469, 470, 302, 444, 275, 195, 338, 511, 210, - 431, 228, 217, 475, 493, 270, 414, 202, 457, 482, - 225, 435, 0, 0, 521, 204, 480, 454, 359, 299, - 300, 203, 0, 415, 249, 273, 239, 379, 477, 478, - 237, 522, 214, 500, 206, 0, 499, 372, 472, 481, - 360, 350, 205, 479, 358, 349, 305, 653, 654, 261, - 284, 408, 343, 409, 285, 368, 367, 369, 198, 491, - 0, 199, 0, 450, 492, 523, 220, 221, 223, 0, - 260, 264, 272, 274, 280, 281, 288, 336, 383, 407, - 405, 411, 0, 467, 485, 496, 503, 509, 510, 512, - 513, 514, 515, 516, 518, 517, 371, 287, 446, 304, - 341, 0, 0, 389, 424, 226, 489, 447, 690, 682, - 640, 694, 642, 691, 692, 637, 638, 641, 693, 524, - 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 539, 540, 541, 0, 685, 627, - 626, 0, 633, 634, 0, 643, 644, 646, 650, 651, - 652, 655, 656, 657, 665, 667, 668, 666, 669, 670, - 671, 674, 675, 676, 677, 672, 673, 678, 625, 191, - 207, 337, 0, 412, 269, 520, 498, 494, 0, 209, - 0, 243, 0, 0, 0, 0, 0, 0, 0, 0, + 1815, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 193, 194, 200, 208, 218, 222, 229, - 242, 257, 259, 266, 278, 283, 286, 291, 292, 295, - 301, 347, 353, 354, 355, 356, 373, 374, 375, 378, - 381, 382, 385, 387, 388, 391, 395, 399, 400, 401, - 402, 404, 406, 413, 418, 426, 427, 428, 429, 430, - 433, 434, 439, 440, 441, 442, 443, 451, 452, 456, - 474, 476, 488, 502, 507, 432, 279, 483, 508, 0, - 346, 0, 0, 348, 262, 282, 293, 0, 497, 453, - 213, 420, 271, 201, 232, 216, 240, 255, 258, 297, - 357, 364, 393, 398, 276, 252, 230, 417, 227, 436, - 459, 460, 461, 463, 361, 247, 397, 0, 362, 344, - 465, 466, 289, 464, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 380, 0, 0, 0, 0, - 624, 0, 0, 0, 251, 629, 0, 0, 0, 335, - 248, 0, 0, 394, 0, 197, 0, 438, 235, 345, - 342, 471, 263, 254, 250, 234, 290, 352, 392, 458, - 386, 636, 339, 0, 0, 448, 365, 0, 0, 0, - 0, 0, 631, 632, 0, 0, 0, 0, 0, 0, - 0, 0, 296, 233, 298, 196, 377, 449, 267, 0, - 87, 0, 0, 188, 189, 190, 700, 707, 708, 709, - 710, 711, 701, 703, 0, 0, 224, 702, 231, 647, - 649, 648, 658, 659, 660, 661, 662, 663, 664, 645, - 705, 712, 713, 0, 246, 294, 253, 245, 468, 0, - 0, 1737, 1738, 1739, 0, 0, 215, 0, 0, 0, - 0, 0, 0, 0, 607, 621, 0, 635, 0, 0, - 0, 256, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 618, 619, 0, 0, - 0, 0, 684, 0, 620, 0, 0, 628, 714, 715, - 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, - 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, - 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, - 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, - 630, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 277, 0, 366, 238, 0, 683, 0, 0, 504, 0, - 0, 681, 0, 0, 0, 0, 334, 0, 303, 192, - 211, 0, 0, 376, 419, 425, 0, 0, 0, 236, - 0, 423, 390, 487, 219, 265, 416, 396, 421, 403, - 268, 0, 0, 422, 340, 473, 410, 484, 505, 506, - 244, 370, 495, 462, 501, 519, 212, 241, 384, 455, - 490, 445, 363, 469, 470, 302, 444, 275, 195, 338, - 511, 210, 431, 228, 217, 475, 493, 270, 414, 202, - 457, 482, 225, 435, 0, 0, 521, 204, 480, 454, - 359, 299, 300, 203, 0, 415, 249, 273, 239, 379, - 477, 478, 237, 522, 214, 500, 206, 0, 499, 372, - 472, 481, 360, 350, 205, 479, 358, 349, 305, 653, - 654, 261, 284, 408, 343, 409, 285, 368, 367, 369, - 198, 491, 0, 199, 0, 450, 492, 523, 220, 221, - 223, 0, 260, 264, 272, 274, 280, 281, 288, 336, - 383, 407, 405, 411, 0, 467, 485, 496, 503, 509, - 510, 512, 513, 514, 515, 516, 518, 517, 371, 287, - 446, 304, 341, 0, 0, 389, 424, 226, 489, 447, - 690, 682, 640, 694, 642, 691, 692, 637, 638, 641, - 693, 524, 525, 526, 527, 528, 529, 530, 531, 532, - 533, 534, 535, 536, 537, 538, 539, 540, 541, 0, - 685, 627, 626, 0, 633, 634, 0, 643, 644, 646, - 650, 651, 652, 655, 656, 657, 665, 667, 668, 666, - 669, 670, 671, 674, 675, 676, 677, 672, 673, 678, - 625, 191, 207, 337, 0, 412, 269, 520, 498, 494, - 0, 209, 0, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 193, 194, 200, 208, 218, - 222, 229, 242, 257, 259, 266, 278, 283, 286, 291, - 292, 295, 301, 347, 353, 354, 355, 356, 373, 374, - 375, 378, 381, 382, 385, 387, 388, 391, 395, 399, - 400, 401, 402, 404, 406, 413, 418, 426, 427, 428, - 429, 430, 433, 434, 439, 440, 441, 442, 443, 451, - 452, 456, 474, 476, 488, 502, 507, 432, 279, 483, - 508, 0, 346, 0, 0, 348, 262, 282, 293, 0, - 497, 453, 213, 420, 271, 201, 232, 216, 240, 255, - 258, 297, 357, 364, 393, 398, 276, 252, 230, 417, - 227, 436, 459, 460, 461, 463, 361, 247, 397, 0, - 362, 344, 465, 466, 289, 464, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 380, 0, 0, - 0, 0, 624, 0, 0, 0, 251, 629, 0, 0, - 0, 335, 248, 0, 0, 394, 0, 197, 0, 438, - 235, 345, 342, 471, 263, 254, 250, 234, 290, 352, - 392, 458, 386, 636, 339, 0, 0, 448, 365, 0, - 0, 0, 0, 0, 631, 632, 0, 0, 0, 0, - 0, 0, 1854, 0, 296, 233, 298, 196, 377, 449, - 267, 0, 87, 0, 0, 188, 189, 190, 700, 707, - 708, 709, 710, 711, 701, 703, 0, 0, 224, 702, - 231, 647, 649, 648, 658, 659, 660, 661, 662, 663, - 664, 645, 705, 712, 713, 1855, 246, 294, 253, 245, - 468, 0, 0, 0, 0, 0, 0, 0, 215, 0, - 0, 0, 0, 0, 0, 0, 607, 621, 0, 635, - 0, 0, 0, 256, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 618, 619, - 0, 0, 0, 0, 684, 0, 620, 0, 0, 628, - 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, - 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, - 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, - 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, - 754, 755, 630, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 277, 0, 366, 238, 0, 683, 0, 0, - 504, 0, 0, 681, 0, 0, 0, 0, 334, 0, - 303, 192, 211, 0, 0, 376, 419, 425, 0, 0, - 0, 236, 0, 423, 390, 487, 219, 265, 416, 396, - 421, 403, 268, 0, 0, 422, 340, 473, 410, 484, - 505, 506, 244, 370, 495, 462, 501, 519, 212, 241, - 384, 455, 490, 445, 363, 469, 470, 302, 444, 275, - 195, 338, 511, 210, 431, 228, 217, 475, 493, 270, - 414, 202, 457, 482, 225, 435, 0, 0, 521, 204, - 480, 454, 359, 299, 300, 203, 0, 415, 249, 273, - 239, 379, 477, 478, 237, 522, 214, 500, 206, 0, - 499, 372, 472, 481, 360, 350, 205, 479, 358, 349, - 305, 653, 654, 261, 284, 408, 343, 409, 285, 368, - 367, 369, 198, 491, 0, 199, 0, 450, 492, 523, - 220, 221, 223, 0, 260, 264, 272, 274, 280, 281, - 288, 336, 383, 407, 405, 411, 0, 467, 485, 496, - 503, 509, 510, 512, 513, 514, 515, 516, 518, 517, - 371, 287, 446, 304, 341, 0, 0, 389, 424, 226, - 489, 447, 690, 682, 640, 694, 642, 691, 692, 637, - 638, 641, 693, 524, 525, 526, 527, 528, 529, 530, - 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, - 541, 0, 685, 627, 626, 0, 633, 634, 0, 643, - 644, 646, 650, 651, 652, 655, 656, 657, 665, 667, - 668, 666, 669, 670, 671, 674, 675, 676, 677, 672, - 673, 678, 625, 191, 207, 337, 0, 412, 269, 520, - 498, 494, 0, 209, 0, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, - 208, 218, 222, 229, 242, 257, 259, 266, 278, 283, - 286, 291, 292, 295, 301, 347, 353, 354, 355, 356, - 373, 374, 375, 378, 381, 382, 385, 387, 388, 391, - 395, 399, 400, 401, 402, 404, 406, 413, 418, 426, - 427, 428, 429, 430, 433, 434, 439, 440, 441, 442, - 443, 451, 452, 456, 474, 476, 488, 502, 507, 432, - 279, 483, 508, 0, 346, 0, 0, 348, 262, 282, - 293, 0, 497, 453, 213, 420, 271, 201, 232, 216, - 240, 255, 258, 297, 357, 364, 393, 398, 276, 252, - 230, 417, 227, 436, 459, 460, 461, 463, 361, 247, - 397, 0, 0, 344, 465, 466, 289, 362, 0, 0, - 0, 78, 464, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 380, 0, 0, 0, 0, 624, - 0, 0, 0, 251, 629, 0, 0, 0, 335, 248, - 0, 0, 394, 0, 197, 0, 438, 235, 345, 342, - 471, 263, 254, 250, 234, 290, 352, 392, 458, 386, - 636, 339, 0, 0, 448, 365, 0, 0, 0, 0, - 0, 631, 632, 0, 0, 0, 0, 0, 0, 0, - 0, 296, 233, 298, 196, 377, 449, 267, 0, 87, - 0, 0, 188, 189, 190, 700, 707, 708, 709, 710, - 711, 701, 703, 0, 0, 224, 702, 231, 647, 649, - 648, 658, 659, 660, 661, 662, 663, 664, 645, 705, - 712, 713, 0, 246, 294, 253, 245, 468, 0, 0, - 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, - 0, 0, 0, 607, 621, 0, 635, 0, 0, 0, - 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 618, 619, 0, 0, 0, - 0, 684, 0, 620, 0, 0, 628, 714, 715, 716, - 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, - 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, - 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, - 747, 748, 749, 750, 751, 752, 753, 754, 755, 630, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, - 0, 366, 238, 0, 683, 0, 0, 504, 0, 0, - 681, 0, 0, 0, 0, 334, 0, 303, 192, 211, - 0, 0, 376, 419, 425, 0, 0, 0, 236, 0, - 423, 390, 487, 219, 265, 416, 396, 421, 403, 268, - 0, 0, 422, 340, 473, 410, 484, 505, 506, 244, - 370, 495, 462, 501, 519, 212, 241, 384, 455, 490, - 445, 363, 469, 470, 302, 444, 275, 195, 338, 511, - 210, 431, 228, 217, 475, 493, 270, 414, 202, 457, - 482, 225, 435, 0, 0, 521, 204, 480, 454, 359, - 299, 300, 203, 0, 415, 249, 273, 239, 379, 477, - 478, 237, 522, 214, 500, 206, 0, 499, 372, 472, - 481, 360, 350, 205, 479, 358, 349, 305, 653, 654, - 261, 284, 408, 343, 409, 285, 368, 367, 369, 198, - 491, 0, 199, 0, 450, 492, 523, 220, 221, 223, - 0, 260, 264, 272, 274, 280, 281, 288, 336, 383, - 407, 405, 411, 0, 467, 485, 496, 503, 509, 510, - 512, 513, 514, 515, 516, 518, 517, 371, 287, 446, - 304, 341, 0, 0, 389, 424, 226, 489, 447, 690, - 682, 640, 694, 642, 691, 692, 637, 638, 641, 693, - 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, - 534, 535, 536, 537, 538, 539, 540, 541, 0, 685, - 627, 626, 0, 633, 634, 0, 643, 644, 646, 650, - 651, 652, 655, 656, 657, 665, 667, 668, 666, 669, - 670, 671, 674, 675, 676, 677, 672, 673, 678, 625, - 191, 207, 337, 86, 412, 269, 520, 498, 494, 0, - 209, 0, 243, 0, 0, 0, 0, 0, 0, 0, + 1303, 0, 2949, 0, 0, 0, 0, 0, 2552, 0, + 0, 0, 0, 0, 0, 2556, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 814, 814, 0, 2566, + 2567, 2569, 2571, 0, 0, 0, 0, 0, 0, 2979, + 2577, 0, 0, 0, 0, 2581, 2582, 2583, 0, 2984, + 0, 0, 2586, 0, 0, 0, 0, 0, 2588, 0, + 0, 2592, 2593, 2594, 2595, 2596, 2597, 2598, 2599, 2600, + 2601, 0, 0, 2602, 0, 0, 0, 0, 0, 2607, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 193, 194, 200, 208, 218, 222, - 229, 242, 257, 259, 266, 278, 283, 286, 291, 292, - 295, 301, 347, 353, 354, 355, 356, 373, 374, 375, - 378, 381, 382, 385, 387, 388, 391, 395, 399, 400, - 401, 402, 404, 406, 413, 418, 426, 427, 428, 429, - 430, 433, 434, 439, 440, 441, 442, 443, 451, 452, - 456, 474, 476, 488, 502, 507, 432, 279, 483, 508, - 0, 346, 0, 0, 348, 262, 282, 293, 0, 497, - 453, 213, 420, 271, 201, 232, 216, 240, 255, 258, - 297, 357, 364, 393, 398, 276, 252, 230, 417, 227, - 436, 459, 460, 461, 463, 361, 247, 397, 0, 362, - 344, 465, 466, 289, 464, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 380, 0, 0, 0, - 0, 624, 0, 0, 0, 251, 629, 0, 0, 0, - 335, 248, 0, 0, 394, 0, 197, 0, 438, 235, - 345, 342, 471, 263, 254, 250, 234, 290, 352, 392, - 458, 386, 636, 339, 0, 0, 448, 365, 0, 0, - 0, 0, 0, 631, 632, 0, 0, 0, 0, 0, - 0, 0, 0, 296, 233, 298, 196, 377, 449, 267, - 0, 87, 0, 0, 188, 189, 190, 700, 707, 708, - 709, 710, 711, 701, 703, 0, 0, 224, 702, 231, - 647, 649, 648, 658, 659, 660, 661, 662, 663, 664, - 645, 705, 712, 713, 0, 246, 294, 253, 245, 468, - 0, 0, 0, 0, 0, 0, 0, 215, 0, 0, - 0, 0, 0, 0, 0, 607, 621, 0, 635, 0, - 0, 0, 256, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 618, 619, 0, - 0, 0, 0, 684, 0, 620, 0, 0, 628, 714, - 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, - 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, - 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, - 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, - 755, 630, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 277, 0, 366, 238, 0, 683, 0, 0, 504, - 0, 0, 681, 0, 0, 0, 0, 334, 0, 303, - 192, 211, 0, 0, 376, 419, 425, 0, 0, 0, - 236, 0, 423, 390, 487, 219, 265, 416, 396, 421, - 403, 268, 2952, 0, 422, 340, 473, 410, 484, 505, - 506, 244, 370, 495, 462, 501, 519, 212, 241, 384, - 455, 490, 445, 363, 469, 470, 302, 444, 275, 195, - 338, 511, 210, 431, 228, 217, 475, 493, 270, 414, - 202, 457, 482, 225, 435, 0, 0, 521, 204, 480, - 454, 359, 299, 300, 203, 0, 415, 249, 273, 239, - 379, 477, 478, 237, 522, 214, 500, 206, 0, 499, - 372, 472, 481, 360, 350, 205, 479, 358, 349, 305, - 653, 654, 261, 284, 408, 343, 409, 285, 368, 367, - 369, 198, 491, 0, 199, 0, 450, 492, 523, 220, - 221, 223, 0, 260, 264, 272, 274, 280, 281, 288, - 336, 383, 407, 405, 411, 0, 467, 485, 496, 503, - 509, 510, 512, 513, 514, 515, 516, 518, 517, 371, - 287, 446, 304, 341, 0, 0, 389, 424, 226, 489, - 447, 690, 682, 640, 694, 642, 691, 692, 637, 638, - 641, 693, 524, 525, 526, 527, 528, 529, 530, 531, - 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, - 0, 685, 627, 626, 0, 633, 634, 0, 643, 644, - 646, 650, 651, 652, 655, 656, 657, 665, 667, 668, - 666, 669, 670, 671, 674, 675, 676, 677, 672, 673, - 678, 625, 191, 207, 337, 0, 412, 269, 520, 498, - 494, 0, 209, 0, 243, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1815, 0, + 0, 0, 0, 0, 0, 0, 0, 2984, 0, 0, + 0, 548, 0, 0, 2629, 2630, 0, 0, 2634, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 193, 194, 200, 208, - 218, 222, 229, 242, 257, 259, 266, 278, 283, 286, - 291, 292, 295, 301, 347, 353, 354, 355, 356, 373, - 374, 375, 378, 381, 382, 385, 387, 388, 391, 395, - 399, 400, 401, 402, 404, 406, 413, 418, 426, 427, - 428, 429, 430, 433, 434, 439, 440, 441, 442, 443, - 451, 452, 456, 474, 476, 488, 502, 507, 432, 279, - 483, 508, 0, 346, 0, 0, 348, 262, 282, 293, - 0, 497, 453, 213, 420, 271, 201, 232, 216, 240, - 255, 258, 297, 357, 364, 393, 398, 276, 252, 230, - 417, 227, 436, 459, 460, 461, 463, 361, 247, 397, - 0, 362, 344, 465, 466, 289, 464, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 380, 0, - 0, 0, 0, 624, 0, 0, 0, 251, 629, 0, - 0, 0, 335, 248, 0, 0, 394, 0, 197, 0, - 438, 235, 345, 342, 471, 263, 254, 250, 234, 290, - 352, 392, 458, 386, 636, 339, 0, 0, 448, 365, - 0, 0, 0, 0, 0, 631, 632, 0, 0, 0, - 0, 0, 0, 0, 0, 296, 233, 298, 196, 377, - 449, 267, 0, 87, 0, 1334, 188, 189, 190, 700, - 707, 708, 709, 710, 711, 701, 703, 0, 0, 224, - 702, 231, 647, 649, 648, 658, 659, 660, 661, 662, - 663, 664, 645, 705, 712, 713, 0, 246, 294, 253, - 245, 468, 0, 0, 0, 0, 0, 0, 0, 215, - 0, 0, 0, 0, 0, 0, 0, 607, 621, 0, - 635, 0, 0, 0, 256, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 618, - 619, 0, 0, 0, 0, 684, 0, 620, 0, 0, - 628, 714, 715, 716, 717, 718, 719, 720, 721, 722, + 0, 708, 79, 0, 0, 0, 2646, 2647, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1304, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1304, 0, + 0, 1304, 0, 0, 0, 0, 548, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 771, + 0, 79, 0, 1537, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2713, 0, 548, 771, + 0, 0, 0, 0, 0, 0, 0, 709, 710, 0, + 0, 0, 0, 1685, 1587, 978, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 548, 0, 0, 0, 0, 0, 0, 548, 0, 0, + 0, 0, 0, 0, 0, 0, 1610, 1611, 548, 548, + 548, 548, 548, 548, 548, 0, 0, 0, 0, 2742, + 0, 0, 0, 2743, 0, 0, 0, 0, 0, 2747, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 548, 716, 717, + 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, + 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, + 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, + 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 799, 0, 0, 0, 0, 0, 0, 799, 799, + 0, 0, 0, 0, 1304, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2851, 0, + 0, 0, 0, 0, 0, 0, 0, 2858, 0, 799, + 1587, 799, 799, 799, 799, 799, 0, 0, 0, 0, + 0, 0, 0, 2868, 2869, 2870, 0, 2871, 2872, 0, + 0, 0, 0, 2875, 0, 2876, 1537, 2878, 2881, 0, + 0, 0, 0, 0, 2885, 0, 0, 0, 0, 0, + 0, 799, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 781, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 548, 0, + 0, 0, 2911, 0, 0, 1587, 0, 548, 0, 548, + 0, 548, 1851, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 798, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2933, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2938, 0, + 0, 0, 0, 2943, 0, 0, 0, 0, 0, 2944, + 2945, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2951, 0, 0, + 0, 0, 0, 607, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 792, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 3002, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3008, 0, 0, + 0, 3009, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 548, 0, + 0, 1152, 0, 1152, 1152, 548, 0, 0, 0, 0, + 0, 0, 548, 548, 0, 0, 548, 0, 2007, 0, + 79, 0, 0, 0, 0, 548, 0, 0, 0, 0, + 0, 0, 548, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 771, 1227, 1228, + 1229, 0, 1232, 0, 1234, 1235, 1236, 1237, 548, 1240, + 1242, 1242, 0, 1242, 1246, 1246, 1248, 1249, 1250, 1251, + 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, + 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, + 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, + 1282, 1283, 1284, 1285, 0, 1287, 1288, 1289, 1290, 1291, + 0, 0, 0, 0, 1246, 1246, 1246, 1246, 1246, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 799, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 87, 0, 0, 0, 0, + 0, 702, 709, 710, 711, 712, 713, 703, 705, 0, + 0, 0, 704, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 707, 714, 715, 0, 0, + 0, 0, 0, 1313, 0, 0, 0, 0, 0, 771, + 0, 0, 0, 771, 0, 0, 0, 0, 0, 771, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 799, + 799, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1587, 2525, 2526, 548, 0, 0, 0, 0, 0, 0, + 0, 1537, 0, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, - 753, 754, 755, 630, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 277, 0, 366, 238, 0, 683, 0, - 0, 504, 0, 0, 681, 0, 0, 0, 0, 334, - 0, 303, 192, 211, 0, 0, 376, 419, 425, 0, - 0, 0, 236, 0, 423, 390, 487, 219, 265, 416, - 396, 421, 403, 268, 0, 0, 422, 340, 473, 410, - 484, 505, 506, 244, 370, 495, 462, 501, 519, 212, - 241, 384, 455, 490, 445, 363, 469, 470, 302, 444, - 275, 195, 338, 511, 210, 431, 228, 217, 475, 493, - 270, 414, 202, 457, 482, 225, 435, 0, 0, 521, - 204, 480, 454, 359, 299, 300, 203, 0, 415, 249, - 273, 239, 379, 477, 478, 237, 522, 214, 500, 206, - 0, 499, 372, 472, 481, 360, 350, 205, 479, 358, - 349, 305, 653, 654, 261, 284, 408, 343, 409, 285, - 368, 367, 369, 198, 491, 0, 199, 0, 450, 492, - 523, 220, 221, 223, 0, 260, 264, 272, 274, 280, - 281, 288, 336, 383, 407, 405, 411, 0, 467, 485, - 496, 503, 509, 510, 512, 513, 514, 515, 516, 518, - 517, 371, 287, 446, 304, 341, 0, 0, 389, 424, - 226, 489, 447, 690, 682, 640, 694, 642, 691, 692, - 637, 638, 641, 693, 524, 525, 526, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 0, 685, 627, 626, 0, 633, 634, 0, - 643, 644, 646, 650, 651, 652, 655, 656, 657, 665, - 667, 668, 666, 669, 670, 671, 674, 675, 676, 677, - 672, 673, 678, 625, 191, 207, 337, 0, 412, 269, - 520, 498, 494, 0, 209, 0, 243, 0, 0, 0, + 753, 754, 755, 756, 757, 0, 87, 548, 0, 0, + 0, 548, 702, 709, 710, 711, 712, 713, 703, 705, + 0, 0, 0, 704, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 707, 714, 715, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, - 200, 208, 218, 222, 229, 242, 257, 259, 266, 278, - 283, 286, 291, 292, 295, 301, 347, 353, 354, 355, - 356, 373, 374, 375, 378, 381, 382, 385, 387, 388, - 391, 395, 399, 400, 401, 402, 404, 406, 413, 418, - 426, 427, 428, 429, 430, 433, 434, 439, 440, 441, - 442, 443, 451, 452, 456, 474, 476, 488, 502, 507, - 432, 279, 483, 508, 0, 346, 0, 0, 348, 262, - 282, 293, 0, 497, 453, 213, 420, 271, 201, 232, - 216, 240, 255, 258, 297, 357, 364, 393, 398, 276, - 252, 230, 417, 227, 436, 459, 460, 461, 463, 361, - 247, 397, 0, 362, 344, 465, 466, 289, 464, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 380, 0, 0, 0, 0, 624, 0, 0, 0, 251, - 629, 0, 0, 0, 335, 248, 0, 0, 394, 0, - 197, 0, 438, 235, 345, 342, 471, 263, 254, 250, - 234, 290, 352, 392, 458, 386, 636, 339, 0, 0, - 448, 365, 0, 0, 0, 0, 0, 631, 632, 0, - 0, 0, 0, 0, 0, 0, 0, 296, 233, 298, - 196, 377, 449, 267, 0, 87, 0, 0, 188, 189, - 190, 700, 707, 708, 709, 710, 711, 701, 703, 0, - 0, 224, 702, 231, 647, 649, 648, 658, 659, 660, - 661, 662, 663, 664, 645, 705, 712, 713, 0, 246, - 294, 253, 245, 468, 0, 0, 0, 0, 0, 0, - 0, 215, 0, 0, 0, 0, 0, 0, 0, 607, - 621, 0, 635, 0, 0, 0, 256, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 618, 619, 795, 0, 0, 0, 684, 0, 620, - 0, 0, 628, 714, 715, 716, 717, 718, 719, 720, - 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, - 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, - 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, - 751, 752, 753, 754, 755, 630, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 277, 0, 366, 238, 0, - 683, 0, 0, 504, 0, 0, 681, 0, 0, 0, - 0, 334, 0, 303, 192, 211, 0, 0, 376, 419, - 425, 0, 0, 0, 236, 0, 423, 390, 487, 219, - 265, 416, 396, 421, 403, 268, 0, 0, 422, 340, - 473, 410, 484, 505, 506, 244, 370, 495, 462, 501, - 519, 212, 241, 384, 455, 490, 445, 363, 469, 470, - 302, 444, 275, 195, 338, 511, 210, 431, 228, 217, - 475, 493, 270, 414, 202, 457, 482, 225, 435, 0, - 0, 521, 204, 480, 454, 359, 299, 300, 203, 0, - 415, 249, 273, 239, 379, 477, 478, 237, 522, 214, - 500, 206, 0, 499, 372, 472, 481, 360, 350, 205, - 479, 358, 349, 305, 653, 654, 261, 284, 408, 343, - 409, 285, 368, 367, 369, 198, 491, 0, 199, 0, - 450, 492, 523, 220, 221, 223, 0, 260, 264, 272, - 274, 280, 281, 288, 336, 383, 407, 405, 411, 0, - 467, 485, 496, 503, 509, 510, 512, 513, 514, 515, - 516, 518, 517, 371, 287, 446, 304, 341, 0, 0, - 389, 424, 226, 489, 447, 690, 682, 640, 694, 642, - 691, 692, 637, 638, 641, 693, 524, 525, 526, 527, - 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, - 538, 539, 540, 541, 0, 685, 627, 626, 0, 633, - 634, 0, 643, 644, 646, 650, 651, 652, 655, 656, - 657, 665, 667, 668, 666, 669, 670, 671, 674, 675, - 676, 677, 672, 673, 678, 625, 191, 207, 337, 0, - 412, 269, 520, 498, 494, 0, 209, 0, 243, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 193, 194, 200, 208, 218, 222, 229, 242, 257, 259, - 266, 278, 283, 286, 291, 292, 295, 301, 347, 353, - 354, 355, 356, 373, 374, 375, 378, 381, 382, 385, - 387, 388, 391, 395, 399, 400, 401, 402, 404, 406, - 413, 418, 426, 427, 428, 429, 430, 433, 434, 439, - 440, 441, 442, 443, 451, 452, 456, 474, 476, 488, - 502, 507, 432, 279, 483, 508, 0, 346, 0, 0, - 348, 262, 282, 293, 0, 497, 453, 213, 420, 271, - 201, 232, 216, 240, 255, 258, 297, 357, 364, 393, - 398, 276, 252, 230, 417, 227, 436, 459, 460, 461, - 463, 361, 247, 397, 0, 362, 344, 465, 466, 289, - 464, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 380, 0, 0, 0, 0, 624, 0, 0, - 0, 251, 629, 0, 0, 0, 335, 248, 0, 0, - 394, 0, 197, 0, 438, 235, 345, 342, 471, 263, - 254, 250, 234, 290, 352, 392, 458, 386, 636, 339, - 0, 0, 448, 365, 0, 0, 0, 0, 0, 631, - 632, 0, 0, 0, 0, 0, 0, 0, 0, 296, - 233, 298, 196, 377, 449, 267, 0, 87, 0, 0, - 188, 189, 190, 700, 707, 708, 709, 710, 711, 701, - 703, 0, 0, 224, 702, 231, 647, 649, 648, 658, - 659, 660, 661, 662, 663, 664, 645, 705, 712, 713, - 0, 246, 294, 253, 245, 468, 0, 0, 0, 0, - 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, - 0, 607, 621, 0, 635, 0, 0, 0, 256, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 618, 619, 0, 0, 0, 0, 684, - 0, 620, 0, 0, 628, 714, 715, 716, 717, 718, - 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, - 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, - 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, - 749, 750, 751, 752, 753, 754, 755, 630, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 277, 0, 366, - 238, 0, 683, 0, 0, 504, 0, 0, 681, 0, - 0, 0, 0, 334, 0, 303, 192, 211, 0, 0, - 376, 419, 425, 0, 0, 0, 236, 0, 423, 390, - 487, 219, 265, 416, 396, 421, 403, 268, 0, 0, - 422, 340, 473, 410, 484, 505, 506, 244, 370, 495, - 462, 501, 519, 212, 241, 384, 455, 490, 445, 363, - 469, 470, 302, 444, 275, 195, 338, 511, 210, 431, - 228, 217, 475, 493, 270, 414, 202, 457, 482, 225, - 435, 0, 0, 521, 204, 480, 454, 359, 299, 300, - 203, 0, 415, 249, 273, 239, 379, 477, 478, 237, - 522, 214, 500, 206, 0, 499, 372, 472, 481, 360, - 350, 205, 479, 358, 349, 305, 653, 654, 261, 284, - 408, 343, 409, 285, 368, 367, 369, 198, 491, 0, - 199, 0, 450, 492, 523, 220, 221, 223, 0, 260, - 264, 272, 274, 280, 281, 288, 336, 383, 407, 405, - 411, 0, 467, 485, 496, 503, 509, 510, 512, 513, - 514, 515, 516, 518, 517, 371, 287, 446, 304, 341, - 0, 0, 389, 424, 226, 489, 447, 690, 682, 640, - 694, 642, 691, 692, 637, 638, 641, 693, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, - 536, 537, 538, 539, 540, 541, 0, 685, 627, 626, - 0, 633, 634, 0, 643, 644, 646, 650, 651, 652, - 655, 656, 657, 665, 667, 668, 666, 669, 670, 671, - 674, 675, 676, 677, 672, 673, 678, 625, 191, 207, - 337, 0, 412, 269, 520, 498, 494, 0, 209, 0, - 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 193, 194, 200, 208, 218, 222, 229, 242, - 257, 259, 266, 278, 283, 286, 291, 292, 295, 301, - 347, 353, 354, 355, 356, 373, 374, 375, 378, 381, - 382, 385, 387, 388, 391, 395, 399, 400, 401, 402, - 404, 406, 413, 418, 426, 427, 428, 429, 430, 433, - 434, 439, 440, 441, 442, 443, 451, 452, 456, 474, - 476, 488, 502, 507, 432, 279, 483, 508, 0, 346, - 0, 0, 348, 262, 282, 293, 0, 497, 453, 213, - 420, 271, 201, 232, 216, 240, 255, 258, 297, 357, - 364, 393, 398, 276, 252, 230, 417, 227, 436, 459, - 460, 461, 463, 361, 247, 397, 0, 362, 344, 465, - 466, 289, 464, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 380, 0, 0, 0, 0, 624, - 0, 0, 0, 251, 629, 0, 0, 0, 335, 248, - 0, 0, 394, 0, 197, 0, 438, 235, 345, 342, - 471, 263, 254, 250, 234, 290, 352, 392, 458, 386, - 636, 339, 0, 0, 448, 365, 0, 0, 0, 0, - 0, 631, 632, 0, 0, 0, 0, 0, 0, 0, - 0, 296, 233, 298, 196, 377, 449, 267, 0, 87, - 0, 0, 188, 189, 190, 700, 707, 708, 709, 710, - 711, 701, 703, 0, 0, 224, 702, 231, 647, 649, - 648, 658, 659, 660, 661, 662, 663, 664, 645, 705, - 712, 713, 0, 246, 294, 253, 245, 468, 0, 0, - 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, - 0, 0, 0, 0, 621, 0, 635, 0, 0, 0, - 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 618, 619, 0, 0, 0, - 0, 684, 0, 620, 0, 0, 628, 714, 715, 716, - 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, - 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, - 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, - 747, 748, 749, 750, 751, 752, 753, 754, 755, 630, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, - 0, 366, 238, 0, 683, 0, 0, 504, 0, 0, - 681, 0, 0, 0, 0, 334, 0, 303, 192, 211, - 0, 0, 376, 419, 425, 0, 0, 0, 236, 0, - 423, 390, 487, 219, 265, 416, 396, 421, 403, 268, - 0, 0, 422, 340, 473, 410, 484, 505, 506, 244, - 370, 495, 462, 501, 519, 212, 241, 384, 455, 490, - 445, 363, 469, 470, 302, 444, 275, 195, 338, 511, - 210, 431, 228, 217, 475, 493, 270, 414, 202, 457, - 482, 225, 435, 0, 0, 521, 204, 480, 454, 359, - 299, 300, 203, 0, 415, 249, 273, 239, 379, 477, - 478, 237, 522, 214, 500, 206, 0, 499, 372, 472, - 481, 360, 350, 205, 479, 358, 349, 305, 653, 654, - 261, 284, 408, 343, 409, 285, 368, 367, 369, 198, - 491, 0, 199, 0, 450, 492, 523, 220, 221, 223, - 0, 260, 264, 272, 274, 280, 281, 288, 336, 383, - 407, 405, 411, 0, 467, 485, 496, 503, 509, 510, - 512, 513, 514, 515, 516, 518, 517, 371, 287, 446, - 304, 341, 0, 0, 389, 424, 226, 489, 447, 690, - 682, 640, 694, 642, 691, 692, 637, 638, 641, 693, - 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, - 534, 535, 536, 537, 538, 539, 540, 541, 0, 685, - 627, 626, 0, 633, 634, 0, 643, 644, 646, 650, - 651, 652, 655, 656, 657, 665, 667, 668, 666, 669, - 670, 671, 674, 675, 676, 677, 672, 673, 678, 625, - 191, 207, 337, 0, 412, 269, 520, 498, 494, 0, - 209, 0, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 193, 194, 200, 208, 218, 222, - 229, 242, 257, 259, 266, 278, 283, 286, 291, 292, - 295, 301, 347, 353, 354, 355, 356, 373, 374, 375, - 378, 381, 382, 385, 387, 388, 391, 395, 399, 400, - 401, 402, 404, 406, 413, 418, 426, 427, 428, 429, - 430, 433, 434, 439, 440, 441, 442, 443, 451, 452, - 456, 474, 476, 488, 502, 507, 432, 279, 483, 508, - 0, 346, 0, 0, 348, 262, 282, 293, 0, 497, - 453, 213, 420, 271, 201, 232, 216, 240, 255, 258, - 297, 357, 364, 393, 398, 276, 252, 230, 417, 227, - 436, 459, 460, 461, 463, 361, 247, 397, 0, 362, - 344, 465, 466, 289, 464, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 380, 0, 0, 0, - 0, 0, 0, 0, 0, 251, 0, 0, 0, 0, - 335, 248, 0, 0, 394, 0, 197, 0, 438, 235, - 345, 342, 471, 263, 254, 250, 234, 290, 352, 392, - 458, 386, 0, 339, 0, 0, 448, 365, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 296, 233, 298, 196, 377, 449, 267, - 0, 0, 0, 0, 188, 189, 190, 0, 707, 708, - 0, 0, 0, 0, 1682, 0, 0, 224, 0, 231, - 320, 329, 328, 309, 310, 312, 314, 319, 326, 332, - 0, 0, 0, 0, 0, 246, 294, 253, 245, 468, - 0, 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 714, - 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, - 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, - 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, - 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, - 755, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 277, 0, 366, 238, 0, 0, 0, 0, 504, - 0, 0, 0, 0, 0, 0, 0, 334, 0, 303, - 192, 211, 0, 0, 376, 419, 425, 0, 0, 0, - 236, 0, 423, 390, 487, 219, 265, 416, 396, 421, - 403, 268, 0, 0, 422, 340, 473, 410, 484, 505, - 506, 244, 370, 495, 462, 501, 519, 212, 241, 384, - 455, 490, 445, 363, 469, 470, 302, 444, 275, 195, - 338, 511, 210, 431, 228, 217, 475, 493, 270, 414, - 202, 457, 482, 225, 435, 0, 0, 521, 204, 480, - 454, 359, 299, 300, 203, 0, 415, 249, 273, 239, - 379, 477, 478, 237, 522, 214, 500, 206, 0, 499, - 372, 472, 481, 360, 350, 205, 479, 358, 349, 305, - 324, 325, 261, 284, 408, 343, 409, 285, 368, 367, - 369, 198, 491, 0, 199, 0, 450, 492, 523, 220, - 221, 223, 0, 260, 264, 272, 274, 280, 281, 288, - 336, 383, 407, 405, 411, 0, 467, 485, 496, 503, - 509, 510, 512, 513, 514, 515, 516, 518, 517, 371, - 287, 446, 304, 341, 0, 0, 389, 424, 226, 489, - 447, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 524, 525, 526, 527, 528, 529, 530, 531, - 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, + 548, 0, 2525, 2526, 0, 0, 0, 2232, 0, 0, + 0, 0, 0, 0, 716, 717, 718, 719, 720, 721, + 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, + 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, + 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, + 752, 753, 754, 755, 756, 757, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 548, 548, 548, 548, 548, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 542, 351, 437, 486, 306, 318, 321, 311, 330, 0, - 331, 307, 308, 313, 315, 316, 317, 322, 323, 327, - 333, 0, 191, 207, 337, 0, 412, 269, 520, 498, - 494, 0, 209, 0, 243, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 548, 548, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 193, 194, 200, 208, - 218, 222, 229, 242, 257, 259, 266, 278, 283, 286, - 291, 292, 295, 301, 347, 353, 354, 355, 356, 373, - 374, 375, 378, 381, 382, 385, 387, 388, 391, 395, - 399, 400, 401, 402, 404, 406, 413, 418, 426, 427, - 428, 429, 430, 433, 434, 439, 440, 441, 442, 443, - 451, 452, 456, 474, 476, 488, 502, 507, 432, 279, - 483, 508, 0, 346, 0, 0, 348, 262, 282, 293, - 0, 497, 453, 213, 420, 271, 201, 232, 216, 240, - 255, 258, 297, 357, 364, 393, 398, 276, 252, 230, - 417, 227, 436, 459, 460, 461, 463, 361, 247, 397, - 0, 362, 344, 465, 466, 289, 464, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 380, 0, - 0, 0, 0, 0, 0, 0, 0, 251, 0, 0, - 0, 0, 335, 248, 0, 0, 394, 0, 197, 0, - 438, 235, 345, 342, 471, 263, 254, 250, 234, 290, - 352, 392, 458, 386, 0, 339, 0, 0, 448, 365, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 296, 233, 298, 196, 377, - 449, 267, 0, 0, 0, 0, 188, 189, 190, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, - 0, 231, 320, 329, 328, 309, 310, 312, 314, 319, - 326, 332, 0, 0, 0, 0, 0, 246, 294, 253, - 245, 468, 0, 0, 0, 0, 0, 0, 0, 215, - 0, 1014, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 277, 0, 366, 238, 0, 0, 0, - 1013, 504, 0, 0, 0, 0, 0, 1010, 1011, 334, - 971, 303, 192, 211, 1004, 1008, 376, 419, 425, 0, - 0, 0, 236, 0, 423, 390, 487, 219, 265, 416, - 396, 421, 403, 268, 0, 0, 422, 340, 473, 410, - 484, 505, 506, 244, 370, 495, 462, 501, 519, 212, - 241, 384, 455, 490, 445, 363, 469, 470, 302, 444, - 275, 195, 338, 511, 210, 431, 228, 217, 475, 493, - 270, 414, 202, 457, 482, 225, 435, 0, 0, 521, - 204, 480, 454, 359, 299, 300, 203, 0, 415, 249, - 273, 239, 379, 477, 478, 237, 522, 214, 500, 206, - 0, 499, 372, 472, 481, 360, 350, 205, 479, 358, - 349, 305, 324, 325, 261, 284, 408, 343, 409, 285, - 368, 367, 369, 198, 491, 0, 199, 0, 450, 492, - 523, 220, 221, 223, 0, 260, 264, 272, 274, 280, - 281, 288, 336, 383, 407, 405, 411, 0, 467, 485, - 496, 503, 509, 510, 512, 513, 514, 515, 516, 518, - 517, 371, 287, 446, 304, 341, 0, 0, 389, 424, - 226, 489, 447, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 524, 525, 526, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 542, 351, 437, 486, 306, 318, 321, 311, - 330, 0, 331, 307, 308, 313, 315, 316, 317, 322, - 323, 327, 333, 0, 191, 207, 337, 0, 412, 269, - 520, 498, 494, 0, 209, 0, 243, 0, 0, 0, + 0, 0, 548, 0, 1192, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 692, 0, 799, 696, 0, + 693, 694, 0, 0, 0, 695, 0, 0, 0, 0, + 0, 0, 1239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, - 200, 208, 218, 222, 229, 242, 257, 259, 266, 278, - 283, 286, 291, 292, 295, 301, 347, 353, 354, 355, - 356, 373, 374, 375, 378, 381, 382, 385, 387, 388, - 391, 395, 399, 400, 401, 402, 404, 406, 413, 418, - 426, 427, 428, 429, 430, 433, 434, 439, 440, 441, - 442, 443, 451, 452, 456, 474, 476, 488, 502, 507, - 432, 279, 483, 508, 0, 346, 0, 0, 348, 262, - 282, 293, 0, 497, 453, 213, 420, 271, 201, 232, - 216, 240, 255, 258, 297, 357, 364, 393, 398, 276, - 252, 230, 417, 227, 436, 459, 460, 461, 463, 361, - 247, 397, 0, 0, 344, 465, 466, 289, 362, 0, - 0, 0, 78, 464, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 380, 0, 0, 0, 0, - 0, 0, 0, 0, 251, 0, 0, 0, 0, 335, - 248, 0, 0, 394, 0, 197, 0, 438, 235, 345, - 342, 471, 263, 254, 250, 234, 290, 352, 392, 458, - 386, 0, 339, 0, 0, 448, 365, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 296, 233, 298, 196, 377, 449, 267, 0, - 87, 0, 0, 188, 189, 190, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 224, 0, 231, 320, - 329, 328, 309, 310, 312, 314, 319, 326, 332, 0, - 0, 0, 0, 0, 246, 294, 253, 245, 468, 0, - 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1304, 0, + 1304, 0, 0, 1304, 0, 0, 0, 0, 1304, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 256, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 799, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 607, 0, 0, 0, 0, 0, + 0, 0, 0, 1152, 548, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1152, 1152, 0, + 0, 0, 0, 0, 0, 0, 1304, 0, 0, 0, + 0, 1304, 548, 548, 548, 548, 548, 0, 0, 0, + 0, 0, 0, 0, 2424, 0, 0, 0, 0, 548, + 0, 0, 1537, 0, 548, 0, 0, 548, 2435, 1587, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1353, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 548, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1304, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 548, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 548, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 548, + 0, 0, 548, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 277, 0, 366, 238, 0, 0, 0, 0, 504, 0, - 0, 0, 0, 0, 0, 0, 334, 0, 303, 192, - 211, 0, 0, 376, 419, 425, 0, 0, 0, 236, - 0, 423, 390, 487, 219, 265, 416, 396, 421, 403, - 268, 0, 0, 422, 340, 473, 410, 484, 505, 506, - 244, 370, 495, 462, 501, 519, 212, 241, 384, 455, - 490, 445, 363, 469, 470, 302, 444, 275, 195, 338, - 511, 210, 431, 228, 217, 475, 493, 270, 414, 202, - 457, 482, 225, 435, 0, 0, 521, 204, 480, 454, - 359, 299, 300, 203, 0, 415, 249, 273, 239, 379, - 477, 478, 237, 522, 214, 500, 206, 0, 499, 372, - 472, 481, 360, 350, 205, 479, 358, 349, 305, 324, - 325, 261, 284, 408, 343, 409, 285, 368, 367, 369, - 198, 491, 0, 199, 0, 450, 492, 523, 220, 221, - 223, 0, 260, 264, 272, 274, 280, 281, 288, 336, - 383, 407, 405, 411, 0, 467, 485, 496, 503, 509, - 510, 512, 513, 514, 515, 516, 518, 517, 371, 287, - 446, 304, 341, 0, 0, 389, 424, 226, 489, 447, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, - 533, 534, 535, 536, 537, 538, 539, 540, 541, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 542, - 351, 437, 486, 306, 318, 321, 311, 330, 0, 331, - 307, 308, 313, 315, 316, 317, 322, 323, 327, 333, - 0, 191, 207, 337, 86, 412, 269, 520, 498, 494, - 0, 209, 0, 243, 0, 0, 0, 0, 0, 0, - 1842, 0, 0, 1841, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 193, 194, 200, 208, 218, - 222, 229, 242, 257, 259, 266, 278, 283, 286, 291, - 292, 295, 301, 347, 353, 354, 355, 356, 373, 374, - 375, 378, 381, 382, 385, 387, 388, 391, 395, 399, - 400, 401, 402, 404, 406, 413, 418, 426, 427, 428, - 429, 430, 433, 434, 439, 440, 441, 442, 443, 451, - 452, 456, 474, 476, 488, 502, 507, 432, 279, 483, - 508, 0, 346, 0, 0, 348, 262, 282, 293, 0, - 497, 453, 213, 420, 271, 201, 232, 216, 240, 255, - 258, 297, 357, 364, 393, 398, 276, 252, 230, 417, - 227, 436, 459, 460, 461, 463, 361, 247, 397, 0, - 1353, 344, 465, 466, 289, 464, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 380, 0, 0, - 0, 1355, 0, 0, 0, 0, 251, 0, 0, 0, - 0, 335, 248, 0, 0, 394, 0, 197, 0, 438, - 235, 345, 342, 471, 263, 254, 250, 234, 290, 352, - 392, 458, 386, 0, 339, 0, 0, 448, 365, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 296, 233, 298, 196, 377, 449, - 267, 0, 0, 0, 0, 188, 189, 190, 0, 1357, - 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, - 231, 320, 329, 328, 309, 310, 312, 314, 319, 326, - 332, 0, 0, 0, 0, 0, 246, 294, 253, 245, - 468, 0, 0, 0, 0, 0, 0, 0, 215, 0, - 0, 0, 1186, 0, 1187, 1188, 0, 0, 0, 0, - 0, 0, 0, 256, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 277, 0, 366, 238, 0, 0, 0, 0, - 504, 0, 0, 0, 0, 0, 0, 0, 334, 0, - 303, 192, 211, 0, 0, 376, 419, 425, 0, 0, - 0, 236, 0, 423, 390, 487, 219, 265, 416, 396, - 421, 403, 268, 0, 0, 422, 340, 473, 410, 484, - 505, 506, 244, 370, 495, 462, 501, 519, 212, 241, - 384, 455, 490, 445, 363, 469, 470, 302, 444, 275, - 195, 338, 511, 210, 431, 228, 217, 475, 493, 270, - 414, 202, 457, 482, 225, 435, 0, 0, 521, 204, - 480, 454, 359, 299, 300, 203, 0, 415, 249, 273, - 239, 379, 477, 478, 237, 522, 214, 500, 206, 0, - 499, 372, 472, 481, 360, 350, 205, 479, 358, 349, - 305, 324, 325, 261, 284, 408, 343, 409, 285, 368, - 367, 369, 198, 491, 0, 199, 0, 450, 492, 523, - 220, 221, 223, 0, 260, 264, 272, 274, 280, 281, - 288, 336, 383, 407, 405, 411, 0, 467, 485, 496, - 503, 509, 510, 512, 513, 514, 515, 516, 518, 517, - 371, 287, 446, 304, 341, 0, 0, 389, 424, 226, - 489, 447, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 524, 525, 526, 527, 528, 529, 530, - 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, - 541, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 542, 351, 437, 486, 306, 318, 321, 311, 330, - 0, 331, 307, 308, 313, 315, 316, 317, 322, 323, - 327, 333, 0, 191, 207, 337, 0, 412, 269, 520, - 498, 494, 0, 209, 0, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, - 208, 218, 222, 229, 242, 257, 259, 266, 278, 283, - 286, 291, 292, 295, 301, 347, 353, 354, 355, 356, - 373, 374, 375, 378, 381, 382, 385, 387, 388, 391, - 395, 399, 400, 401, 402, 404, 406, 413, 418, 426, - 427, 428, 429, 430, 433, 434, 439, 440, 441, 442, - 443, 451, 452, 456, 474, 476, 488, 502, 507, 432, - 279, 483, 508, 0, 346, 0, 0, 348, 262, 282, - 293, 0, 497, 453, 213, 420, 271, 201, 232, 216, - 240, 255, 258, 297, 357, 364, 393, 398, 276, 252, - 230, 417, 227, 436, 459, 460, 461, 463, 361, 247, - 397, 0, 362, 344, 465, 466, 289, 464, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 380, - 0, 0, 0, 0, 0, 0, 0, 0, 251, 0, - 0, 0, 0, 335, 248, 0, 0, 394, 0, 197, - 0, 438, 235, 345, 342, 471, 263, 254, 250, 234, - 290, 352, 392, 458, 386, 0, 339, 0, 0, 448, - 365, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 296, 233, 298, 196, - 377, 449, 267, 0, 0, 0, 0, 188, 189, 190, - 1296, 1299, 0, 0, 0, 0, 1295, 1298, 0, 0, - 224, 1294, 231, 320, 329, 328, 309, 310, 312, 314, - 319, 326, 332, 0, 0, 0, 0, 0, 246, 294, - 253, 245, 468, 0, 0, 0, 0, 0, 0, 0, - 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1843, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 548, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1441, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 978, 0, 0, 0, 0, 548, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 277, 0, 366, 238, 0, 0, - 0, 0, 504, 0, 0, 0, 0, 0, 0, 0, - 334, 0, 303, 192, 211, 0, 0, 376, 419, 425, - 0, 0, 0, 236, 0, 423, 390, 487, 219, 265, - 416, 396, 421, 403, 268, 0, 0, 422, 340, 473, - 410, 484, 505, 506, 244, 370, 495, 462, 501, 519, - 212, 241, 384, 455, 490, 445, 363, 469, 470, 302, - 444, 275, 195, 338, 511, 210, 431, 228, 217, 475, - 493, 270, 414, 202, 457, 482, 225, 435, 0, 0, - 521, 204, 480, 454, 359, 299, 300, 203, 0, 415, - 249, 273, 239, 379, 477, 478, 237, 522, 214, 500, - 206, 0, 499, 372, 472, 481, 360, 350, 205, 479, - 358, 349, 305, 324, 325, 261, 284, 408, 343, 409, - 285, 368, 367, 369, 198, 491, 0, 199, 0, 450, - 492, 523, 220, 221, 223, 0, 260, 264, 272, 274, - 280, 281, 288, 336, 383, 407, 405, 411, 0, 467, - 485, 496, 503, 509, 510, 512, 513, 514, 515, 516, - 518, 517, 371, 287, 446, 304, 341, 0, 0, 389, - 424, 226, 489, 447, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 524, 525, 526, 527, 528, - 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, - 539, 540, 541, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 542, 351, 437, 486, 306, 318, 321, - 311, 330, 0, 331, 307, 308, 313, 315, 316, 317, - 322, 323, 327, 333, 0, 191, 207, 337, 0, 412, - 269, 520, 498, 494, 0, 209, 0, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 194, 200, 208, 218, 222, 229, 242, 257, 259, 266, - 278, 283, 286, 291, 292, 295, 301, 347, 353, 354, - 355, 356, 373, 374, 375, 378, 381, 382, 385, 387, - 388, 391, 395, 399, 400, 401, 402, 404, 406, 413, - 418, 426, 427, 428, 429, 430, 433, 434, 439, 440, - 441, 442, 443, 451, 452, 456, 474, 476, 488, 502, - 507, 432, 279, 483, 508, 0, 346, 0, 0, 348, - 262, 282, 293, 0, 497, 453, 213, 420, 271, 201, - 232, 216, 240, 255, 258, 297, 357, 364, 393, 398, - 276, 252, 230, 417, 227, 436, 459, 460, 461, 463, - 361, 247, 397, 0, 0, 344, 465, 466, 289, 362, - 0, 0, 0, 78, 464, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 380, 0, 0, 0, - 0, 0, 0, 0, 0, 251, 0, 0, 0, 0, - 335, 248, 0, 0, 394, 0, 197, 0, 438, 235, - 345, 342, 471, 263, 254, 250, 234, 290, 352, 392, - 458, 386, 0, 339, 0, 0, 448, 365, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 296, 233, 298, 196, 377, 449, 267, - 0, 87, 0, 1334, 188, 189, 190, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 224, 0, 231, - 320, 329, 328, 309, 310, 312, 314, 319, 326, 332, - 0, 0, 0, 0, 0, 246, 294, 253, 245, 468, - 0, 0, 0, 0, 0, 0, 0, 215, 0, 0, + 0, 0, 0, 978, 548, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 256, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 548, 0, 0, 548, 548, 548, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1590, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 277, 0, 366, 238, 0, 0, 0, 0, 504, - 0, 0, 0, 0, 0, 0, 0, 334, 0, 303, - 192, 211, 0, 0, 376, 419, 425, 0, 0, 0, - 236, 0, 423, 390, 487, 219, 265, 416, 396, 421, - 403, 268, 0, 0, 422, 340, 473, 410, 484, 505, - 506, 244, 370, 495, 462, 501, 519, 212, 241, 384, - 455, 490, 445, 363, 469, 470, 302, 444, 275, 195, - 338, 511, 210, 431, 228, 217, 475, 493, 270, 414, - 202, 457, 482, 225, 435, 0, 0, 521, 204, 480, - 454, 359, 299, 300, 203, 0, 415, 249, 273, 239, - 379, 477, 478, 237, 522, 214, 500, 206, 0, 499, - 372, 472, 481, 360, 350, 205, 479, 358, 349, 305, - 324, 325, 261, 284, 408, 343, 409, 285, 368, 367, - 369, 198, 491, 0, 199, 0, 450, 492, 523, 220, - 221, 223, 0, 260, 264, 272, 274, 280, 281, 288, - 336, 383, 407, 405, 411, 0, 467, 485, 496, 503, - 509, 510, 512, 513, 514, 515, 516, 518, 517, 371, - 287, 446, 304, 341, 0, 0, 389, 424, 226, 489, - 447, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 524, 525, 526, 527, 528, 529, 530, 531, - 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 542, 351, 437, 486, 306, 318, 321, 311, 330, 0, - 331, 307, 308, 313, 315, 316, 317, 322, 323, 327, - 333, 0, 191, 207, 337, 86, 412, 269, 520, 498, - 494, 0, 209, 0, 243, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1304, + 0, 1304, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1645, 1646, 1647, 1648, 0, 0, 0, + 0, 1537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 193, 194, 200, 208, - 218, 222, 229, 242, 257, 259, 266, 278, 283, 286, - 291, 292, 295, 301, 347, 353, 354, 355, 356, 373, - 374, 375, 378, 381, 382, 385, 387, 388, 391, 395, - 399, 400, 401, 402, 404, 406, 413, 418, 426, 427, - 428, 429, 430, 433, 434, 439, 440, 441, 442, 443, - 451, 452, 456, 474, 476, 488, 502, 507, 432, 279, - 483, 508, 0, 346, 0, 0, 348, 262, 282, 293, - 0, 497, 453, 213, 420, 271, 201, 232, 216, 240, - 255, 258, 297, 357, 364, 393, 398, 276, 252, 230, - 417, 227, 436, 459, 460, 461, 463, 361, 247, 397, - 0, 362, 344, 465, 466, 289, 464, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 380, 0, - 0, 0, 0, 0, 0, 0, 0, 251, 0, 0, - 0, 0, 335, 248, 0, 0, 394, 0, 197, 0, - 438, 235, 345, 342, 471, 263, 254, 250, 234, 290, - 352, 392, 458, 386, 0, 339, 0, 0, 448, 365, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 296, 233, 298, 196, 377, - 449, 267, 0, 87, 0, 0, 188, 189, 190, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, - 0, 231, 320, 329, 328, 309, 310, 312, 314, 319, - 326, 332, 0, 0, 0, 0, 0, 246, 294, 253, - 245, 468, 0, 0, 0, 0, 0, 0, 0, 215, + 1304, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2023, 0, 0, 1690, 1691, 0, 0, 0, 0, + 0, 0, 1696, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1733, 1734, + 1735, 1736, 1737, 1738, 1740, 1744, 1745, 607, 1751, 1752, + 1753, 1754, 1755, 1756, 1757, 1758, 1759, 1760, 1761, 1762, + 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, + 1773, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1537, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 607, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1823, 1824, 0, 0, 0, + 2098, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2115, 0, 0, + 0, 0, 0, 1860, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2155, 2156, 0, 0, + 0, 0, 0, 0, 0, 2175, 0, 2176, 2177, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1537, + 0, 0, 1898, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 548, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1304, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 277, 0, 366, 238, 0, 0, 0, - 0, 504, 0, 0, 0, 0, 0, 0, 0, 334, - 0, 303, 192, 211, 0, 0, 376, 419, 425, 0, - 0, 0, 236, 0, 423, 390, 487, 219, 265, 416, - 396, 421, 403, 268, 0, 0, 422, 340, 473, 410, - 484, 505, 506, 244, 370, 495, 462, 501, 519, 212, - 241, 384, 455, 490, 445, 363, 469, 470, 302, 444, - 275, 195, 338, 511, 210, 431, 228, 217, 475, 493, - 270, 414, 202, 457, 482, 225, 435, 0, 0, 521, - 204, 480, 454, 359, 299, 300, 203, 0, 415, 249, - 273, 239, 379, 477, 478, 237, 522, 214, 500, 206, - 0, 499, 372, 472, 481, 360, 350, 205, 479, 358, - 349, 305, 324, 325, 261, 284, 408, 343, 409, 285, - 368, 367, 369, 198, 491, 0, 199, 0, 450, 492, - 523, 220, 221, 223, 0, 260, 264, 272, 274, 280, - 281, 288, 336, 383, 407, 405, 411, 0, 467, 485, - 496, 503, 509, 510, 512, 513, 514, 515, 516, 518, - 517, 371, 287, 446, 304, 341, 0, 0, 389, 424, - 226, 489, 447, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 524, 525, 526, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 542, 351, 437, 486, 306, 318, 321, 311, - 330, 0, 331, 307, 308, 313, 315, 316, 317, 322, - 323, 327, 333, 0, 191, 207, 337, 0, 412, 269, - 520, 498, 494, 0, 209, 0, 243, 0, 0, 0, - 0, 0, 0, 1842, 0, 0, 1841, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, - 200, 208, 218, 222, 229, 242, 257, 259, 266, 278, - 283, 286, 291, 292, 295, 301, 347, 353, 354, 355, - 356, 373, 374, 375, 378, 381, 382, 385, 387, 388, - 391, 395, 399, 400, 401, 402, 404, 406, 413, 418, - 426, 427, 428, 429, 430, 433, 434, 439, 440, 441, - 442, 443, 451, 452, 456, 474, 476, 488, 502, 507, - 432, 279, 483, 508, 0, 346, 0, 0, 348, 262, - 282, 293, 0, 497, 453, 213, 420, 271, 201, 232, - 216, 240, 255, 258, 297, 357, 364, 393, 398, 276, - 252, 230, 417, 227, 436, 459, 460, 461, 463, 361, - 247, 397, 0, 362, 344, 465, 466, 289, 464, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 380, 0, 0, 0, 1793, 0, 0, 0, 0, 251, - 0, 0, 0, 0, 335, 248, 0, 0, 394, 0, - 197, 0, 438, 235, 345, 342, 471, 263, 254, 250, - 234, 290, 352, 392, 458, 386, 0, 339, 0, 0, - 448, 365, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 296, 233, 298, - 196, 377, 449, 267, 0, 0, 0, 0, 188, 189, - 190, 0, 1535, 0, 0, 0, 0, 0, 0, 0, - 0, 224, 0, 231, 320, 329, 328, 309, 310, 312, - 314, 319, 326, 332, 0, 0, 0, 0, 0, 246, - 294, 253, 245, 468, 0, 0, 0, 0, 0, 0, - 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2253, 0, 0, 0, + 0, 0, 0, 0, 0, 1537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 277, 0, 366, 238, 0, - 0, 0, 0, 504, 0, 0, 0, 0, 0, 0, - 0, 334, 0, 303, 192, 211, 0, 0, 376, 419, - 425, 0, 0, 0, 236, 0, 423, 390, 487, 219, - 265, 416, 396, 421, 403, 268, 0, 1791, 422, 340, - 473, 410, 484, 505, 506, 244, 370, 495, 462, 501, - 519, 212, 241, 384, 455, 490, 445, 363, 469, 470, - 302, 444, 275, 195, 338, 511, 210, 431, 228, 217, - 475, 493, 270, 414, 202, 457, 482, 225, 435, 0, - 0, 521, 204, 480, 454, 359, 299, 300, 203, 0, - 415, 249, 273, 239, 379, 477, 478, 237, 522, 214, - 500, 206, 0, 499, 372, 472, 481, 360, 350, 205, - 479, 358, 349, 305, 324, 325, 261, 284, 408, 343, - 409, 285, 368, 367, 369, 198, 491, 0, 199, 0, - 450, 492, 523, 220, 221, 223, 0, 260, 264, 272, - 274, 280, 281, 288, 336, 383, 407, 405, 411, 0, - 467, 485, 496, 503, 509, 510, 512, 513, 514, 515, - 516, 518, 517, 371, 287, 446, 304, 341, 0, 0, - 389, 424, 226, 489, 447, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 524, 525, 526, 527, - 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, - 538, 539, 540, 541, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 542, 351, 437, 486, 306, 318, - 321, 311, 330, 0, 331, 307, 308, 313, 315, 316, - 317, 322, 323, 327, 333, 0, 191, 207, 337, 0, - 412, 269, 520, 498, 494, 0, 209, 0, 243, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 193, 194, 200, 208, 218, 222, 229, 242, 257, 259, - 266, 278, 283, 286, 291, 292, 295, 301, 347, 353, - 354, 355, 356, 373, 374, 375, 378, 381, 382, 385, - 387, 388, 391, 395, 399, 400, 401, 402, 404, 406, - 413, 418, 426, 427, 428, 429, 430, 433, 434, 439, - 440, 441, 442, 443, 451, 452, 456, 474, 476, 488, - 502, 507, 432, 279, 483, 508, 0, 346, 0, 0, - 348, 262, 282, 293, 0, 497, 453, 213, 420, 271, - 201, 232, 216, 240, 255, 258, 297, 357, 364, 393, - 398, 276, 252, 230, 417, 227, 436, 459, 460, 461, - 463, 361, 247, 397, 0, 362, 344, 465, 466, 289, - 464, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, - 0, 251, 0, 0, 0, 0, 335, 248, 0, 0, - 394, 0, 197, 0, 438, 235, 345, 342, 471, 263, - 254, 250, 234, 290, 352, 392, 458, 386, 0, 339, - 0, 0, 448, 365, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 296, - 233, 298, 196, 377, 449, 267, 0, 0, 0, 0, - 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 224, 0, 231, 320, 329, 328, 309, - 310, 312, 314, 319, 326, 332, 0, 0, 0, 0, - 0, 246, 294, 253, 245, 468, 0, 0, 0, 0, - 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, - 0, 0, 0, 0, 0, 0, 0, 965, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 277, 0, 366, - 238, 0, 0, 0, 0, 504, 0, 0, 0, 0, - 0, 0, 0, 334, 971, 303, 192, 211, 969, 0, - 376, 419, 425, 0, 0, 0, 236, 0, 423, 390, - 487, 219, 265, 416, 396, 421, 403, 268, 0, 0, - 422, 340, 473, 410, 484, 505, 506, 244, 370, 495, - 462, 501, 519, 212, 241, 384, 455, 490, 445, 363, - 469, 470, 302, 444, 275, 195, 338, 511, 210, 431, - 228, 217, 475, 493, 270, 414, 202, 457, 482, 225, - 435, 0, 0, 521, 204, 480, 454, 359, 299, 300, - 203, 0, 415, 249, 273, 239, 379, 477, 478, 237, - 522, 214, 500, 206, 0, 499, 372, 472, 481, 360, - 350, 205, 479, 358, 349, 305, 324, 325, 261, 284, - 408, 343, 409, 285, 368, 367, 369, 198, 491, 0, - 199, 0, 450, 492, 523, 220, 221, 223, 0, 260, - 264, 272, 274, 280, 281, 288, 336, 383, 407, 405, - 411, 0, 467, 485, 496, 503, 509, 510, 512, 513, - 514, 515, 516, 518, 517, 371, 287, 446, 304, 341, - 0, 0, 389, 424, 226, 489, 447, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, - 536, 537, 538, 539, 540, 541, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 542, 351, 437, 486, - 306, 318, 321, 311, 330, 0, 331, 307, 308, 313, - 315, 316, 317, 322, 323, 327, 333, 0, 191, 207, - 337, 0, 412, 269, 520, 498, 494, 0, 209, 0, - 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 193, 194, 200, 208, 218, 222, 229, 242, - 257, 259, 266, 278, 283, 286, 291, 292, 295, 301, - 347, 353, 354, 355, 356, 373, 374, 375, 378, 381, - 382, 385, 387, 388, 391, 395, 399, 400, 401, 402, - 404, 406, 413, 418, 426, 427, 428, 429, 430, 433, - 434, 439, 440, 441, 442, 443, 451, 452, 456, 474, - 476, 488, 502, 507, 432, 279, 483, 508, 0, 346, - 0, 0, 348, 262, 282, 293, 0, 497, 453, 213, - 420, 271, 201, 232, 216, 240, 255, 258, 297, 357, - 364, 393, 398, 276, 252, 230, 417, 227, 436, 459, - 460, 461, 463, 361, 247, 397, 0, 362, 344, 465, - 466, 289, 464, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 380, 0, 0, 0, 1793, 0, - 0, 0, 0, 251, 0, 0, 0, 0, 335, 248, - 0, 0, 394, 0, 197, 0, 438, 235, 345, 342, - 471, 263, 254, 250, 234, 290, 352, 392, 458, 386, - 0, 339, 0, 0, 448, 365, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 296, 233, 298, 196, 377, 449, 267, 0, 0, - 0, 0, 188, 189, 190, 0, 1535, 0, 0, 0, - 0, 0, 0, 0, 0, 224, 0, 231, 320, 329, - 328, 309, 310, 312, 314, 319, 326, 332, 0, 0, - 0, 0, 0, 246, 294, 253, 245, 468, 0, 0, - 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, - 0, 366, 238, 0, 0, 0, 0, 504, 0, 0, - 0, 0, 0, 0, 0, 334, 0, 303, 192, 211, - 0, 0, 376, 419, 425, 0, 0, 0, 236, 0, - 423, 390, 487, 219, 265, 416, 396, 421, 403, 268, - 0, 0, 422, 340, 473, 410, 484, 505, 506, 244, - 370, 495, 462, 501, 519, 212, 241, 384, 455, 490, - 445, 363, 469, 470, 302, 444, 275, 195, 338, 511, - 210, 431, 228, 217, 475, 493, 270, 414, 202, 457, - 482, 225, 435, 0, 0, 521, 204, 480, 454, 359, - 299, 300, 203, 0, 415, 249, 273, 239, 379, 477, - 478, 237, 522, 214, 500, 206, 0, 499, 372, 472, - 481, 360, 350, 205, 479, 358, 349, 305, 324, 325, - 261, 284, 408, 343, 409, 285, 368, 367, 369, 198, - 491, 0, 199, 0, 450, 492, 523, 220, 221, 223, - 0, 260, 264, 272, 274, 280, 281, 288, 336, 383, - 407, 405, 411, 0, 467, 485, 496, 503, 509, 510, - 512, 513, 514, 515, 516, 518, 517, 371, 287, 446, - 304, 341, 0, 0, 389, 424, 226, 489, 447, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, - 534, 535, 536, 537, 538, 539, 540, 541, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 542, 351, - 437, 486, 306, 318, 321, 311, 330, 0, 331, 307, - 308, 313, 315, 316, 317, 322, 323, 327, 333, 0, - 191, 207, 337, 0, 412, 269, 520, 498, 494, 0, - 209, 0, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 193, 194, 200, 208, 218, 222, - 229, 242, 257, 259, 266, 278, 283, 286, 291, 292, - 295, 301, 347, 353, 354, 355, 356, 373, 374, 375, - 378, 381, 382, 385, 387, 388, 391, 395, 399, 400, - 401, 402, 404, 406, 413, 418, 426, 427, 428, 429, - 430, 433, 434, 439, 440, 441, 442, 443, 451, 452, - 456, 474, 476, 488, 502, 507, 432, 279, 483, 508, - 0, 346, 0, 0, 348, 262, 282, 293, 0, 497, - 453, 213, 420, 271, 201, 232, 216, 240, 255, 258, - 297, 357, 364, 393, 398, 276, 252, 230, 417, 227, - 436, 459, 460, 461, 463, 361, 247, 397, 0, 362, - 344, 465, 466, 289, 464, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 380, 0, 0, 0, - 0, 0, 0, 0, 0, 251, 0, 0, 0, 0, - 335, 248, 0, 0, 394, 0, 197, 0, 438, 235, - 345, 342, 471, 263, 254, 250, 234, 290, 352, 392, - 458, 386, 0, 339, 0, 0, 448, 365, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 296, 233, 298, 196, 377, 449, 267, - 0, 0, 0, 1334, 188, 189, 190, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 224, 0, 231, - 320, 329, 328, 309, 310, 312, 314, 319, 326, 332, - 0, 0, 0, 0, 0, 246, 294, 253, 245, 468, - 0, 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 256, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2047, 0, + 0, 0, 1843, 0, 2051, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2405, 0, 79, 0, 0, + 1843, 1843, 1843, 1843, 1843, 1239, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2175, 771, 0, + 0, 0, 1843, 0, 0, 1843, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2513, 0, + 0, 1353, 0, 0, 0, 0, 0, 0, 2521, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 277, 0, 366, 238, 0, 0, 0, 0, 504, - 0, 0, 0, 2880, 0, 0, 0, 334, 0, 303, - 192, 211, 0, 0, 376, 419, 425, 0, 0, 0, - 236, 0, 423, 390, 487, 219, 265, 416, 396, 421, - 403, 268, 0, 0, 422, 340, 473, 410, 484, 505, - 506, 244, 370, 495, 462, 501, 519, 212, 241, 384, - 455, 490, 445, 363, 469, 470, 302, 444, 275, 195, - 338, 511, 210, 431, 228, 217, 475, 493, 270, 414, - 202, 457, 482, 225, 435, 0, 0, 521, 204, 480, - 454, 359, 299, 300, 203, 0, 415, 249, 273, 239, - 379, 477, 478, 237, 522, 214, 500, 206, 0, 499, - 372, 472, 481, 360, 350, 205, 479, 358, 349, 305, - 324, 325, 261, 284, 408, 343, 409, 285, 368, 367, - 369, 198, 491, 0, 199, 0, 450, 492, 523, 220, - 221, 223, 0, 260, 264, 272, 274, 280, 281, 288, - 336, 383, 407, 405, 411, 0, 467, 485, 496, 503, - 509, 510, 512, 513, 514, 515, 516, 518, 517, 371, - 287, 446, 304, 341, 0, 0, 389, 424, 226, 489, - 447, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 524, 525, 526, 527, 528, 529, 530, 531, - 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 542, 351, 437, 486, 306, 318, 321, 311, 330, 0, - 331, 307, 308, 313, 315, 316, 317, 322, 323, 327, - 333, 0, 191, 207, 337, 0, 412, 269, 520, 498, - 494, 0, 209, 0, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 193, 194, 200, 208, - 218, 222, 229, 242, 257, 259, 266, 278, 283, 286, - 291, 292, 295, 301, 347, 353, 354, 355, 356, 373, - 374, 375, 378, 381, 382, 385, 387, 388, 391, 395, - 399, 400, 401, 402, 404, 406, 413, 418, 426, 427, - 428, 429, 430, 433, 434, 439, 440, 441, 442, 443, - 451, 452, 456, 474, 476, 488, 502, 507, 432, 279, - 483, 508, 0, 346, 0, 0, 348, 262, 282, 293, - 0, 497, 453, 213, 420, 271, 201, 232, 216, 240, - 255, 258, 297, 357, 364, 393, 398, 276, 252, 230, - 417, 227, 436, 459, 460, 461, 463, 361, 247, 397, - 0, 362, 344, 465, 466, 289, 464, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 380, 0, - 0, 0, 0, 0, 0, 0, 0, 251, 0, 0, - 0, 0, 335, 248, 0, 0, 394, 0, 197, 0, - 438, 235, 345, 342, 471, 263, 254, 250, 234, 290, - 352, 392, 458, 386, 0, 339, 0, 0, 448, 365, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 296, 233, 298, 196, 377, - 449, 267, 0, 0, 0, 0, 188, 189, 190, 0, - 1678, 0, 0, 0, 0, 0, 0, 0, 0, 224, - 0, 231, 320, 329, 328, 309, 310, 312, 314, 319, - 326, 332, 0, 0, 0, 0, 0, 246, 294, 253, - 245, 468, 0, 0, 0, 0, 0, 0, 0, 215, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1679, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 277, 0, 366, 238, 0, 0, 0, - 0, 504, 0, 0, 0, 0, 0, 0, 0, 334, - 0, 303, 192, 211, 0, 0, 376, 419, 425, 0, - 0, 0, 236, 0, 423, 390, 487, 219, 265, 416, - 396, 421, 403, 268, 0, 0, 422, 340, 473, 410, - 484, 505, 506, 244, 370, 495, 462, 501, 519, 212, - 241, 384, 455, 490, 445, 363, 469, 470, 302, 444, - 275, 195, 338, 511, 210, 431, 228, 217, 475, 493, - 270, 414, 202, 457, 482, 225, 435, 0, 0, 521, - 204, 480, 454, 359, 299, 300, 203, 0, 415, 249, - 273, 239, 379, 477, 478, 237, 522, 214, 500, 206, - 0, 499, 372, 472, 481, 360, 350, 205, 479, 358, - 349, 305, 324, 325, 261, 284, 408, 343, 409, 285, - 368, 367, 369, 198, 491, 0, 199, 0, 450, 492, - 523, 220, 221, 223, 0, 260, 264, 272, 274, 280, - 281, 288, 336, 383, 407, 405, 411, 0, 467, 485, - 496, 503, 509, 510, 512, 513, 514, 515, 516, 518, - 517, 371, 287, 446, 304, 341, 0, 0, 389, 424, - 226, 489, 447, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 524, 525, 526, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 542, 351, 437, 486, 306, 318, 321, 311, - 330, 0, 331, 307, 308, 313, 315, 316, 317, 322, - 323, 327, 333, 0, 191, 207, 337, 0, 412, 269, - 520, 498, 494, 0, 209, 0, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, - 200, 208, 218, 222, 229, 242, 257, 259, 266, 278, - 283, 286, 291, 292, 295, 301, 347, 353, 354, 355, - 356, 373, 374, 375, 378, 381, 382, 385, 387, 388, - 391, 395, 399, 400, 401, 402, 404, 406, 413, 418, - 426, 427, 428, 429, 430, 433, 434, 439, 440, 441, - 442, 443, 451, 452, 456, 474, 476, 488, 502, 507, - 432, 279, 483, 508, 0, 346, 0, 0, 348, 262, - 282, 293, 0, 497, 453, 213, 420, 271, 201, 232, - 216, 240, 255, 258, 297, 357, 364, 393, 398, 276, - 252, 230, 417, 227, 436, 459, 460, 461, 463, 361, - 247, 397, 0, 362, 344, 465, 466, 289, 464, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 380, 0, 0, 0, 0, 0, 0, 0, 0, 251, - 0, 0, 0, 0, 335, 248, 0, 0, 394, 0, - 197, 0, 438, 235, 345, 342, 471, 263, 254, 250, - 234, 290, 352, 392, 458, 386, 0, 339, 0, 0, - 448, 365, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 296, 233, 298, - 196, 377, 449, 267, 0, 0, 0, 0, 188, 189, - 190, 0, 2135, 0, 0, 0, 0, 0, 0, 0, - 0, 224, 0, 231, 320, 329, 328, 309, 310, 312, - 314, 319, 326, 332, 0, 0, 0, 0, 0, 246, - 294, 253, 245, 468, 0, 0, 0, 0, 0, 0, - 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 256, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2136, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 277, 0, 366, 238, 0, - 0, 0, 0, 504, 0, 0, 0, 0, 0, 0, - 0, 334, 0, 303, 192, 211, 0, 0, 376, 419, - 425, 0, 0, 0, 236, 0, 423, 390, 487, 219, - 265, 416, 396, 421, 403, 268, 0, 0, 422, 340, - 473, 410, 484, 505, 506, 244, 370, 495, 462, 501, - 519, 212, 241, 384, 455, 490, 445, 363, 469, 470, - 302, 444, 275, 195, 338, 511, 210, 431, 228, 217, - 475, 493, 270, 414, 202, 457, 482, 225, 435, 0, - 0, 521, 204, 480, 454, 359, 299, 300, 203, 0, - 415, 249, 273, 239, 379, 477, 478, 237, 522, 214, - 500, 206, 0, 499, 372, 472, 481, 360, 350, 205, - 479, 358, 349, 305, 324, 325, 261, 284, 408, 343, - 409, 285, 368, 367, 369, 198, 491, 0, 199, 0, - 450, 492, 523, 220, 221, 223, 0, 260, 264, 272, - 274, 280, 281, 288, 336, 383, 407, 405, 411, 0, - 467, 485, 496, 503, 509, 510, 512, 513, 514, 515, - 516, 518, 517, 371, 287, 446, 304, 341, 0, 0, - 389, 424, 226, 489, 447, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 524, 525, 526, 527, - 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, - 538, 539, 540, 541, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 542, 351, 437, 486, 306, 318, - 321, 311, 330, 0, 331, 307, 308, 313, 315, 316, - 317, 322, 323, 327, 333, 0, 191, 207, 337, 0, - 412, 269, 520, 498, 494, 0, 209, 0, 243, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 193, 194, 200, 208, 218, 222, 229, 242, 257, 259, - 266, 278, 283, 286, 291, 292, 295, 301, 347, 353, - 354, 355, 356, 373, 374, 375, 378, 381, 382, 385, - 387, 388, 391, 395, 399, 400, 401, 402, 404, 406, - 413, 418, 426, 427, 428, 429, 430, 433, 434, 439, - 440, 441, 442, 443, 451, 452, 456, 474, 476, 488, - 502, 507, 432, 279, 483, 508, 0, 346, 0, 0, - 348, 262, 282, 293, 0, 497, 453, 213, 420, 271, - 201, 232, 216, 240, 255, 258, 297, 357, 364, 393, - 398, 276, 252, 230, 417, 227, 436, 459, 460, 461, - 463, 361, 247, 397, 0, 362, 344, 465, 466, 289, - 464, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, - 0, 251, 0, 0, 0, 0, 335, 248, 0, 0, - 394, 0, 197, 0, 438, 235, 345, 342, 471, 263, - 254, 250, 234, 290, 352, 392, 458, 386, 0, 339, - 0, 0, 448, 365, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 296, - 233, 298, 196, 377, 449, 267, 0, 0, 0, 0, - 188, 189, 190, 0, 0, 0, 2120, 0, 0, 0, - 2121, 0, 0, 224, 0, 231, 320, 329, 328, 309, - 310, 312, 314, 319, 326, 332, 0, 0, 0, 0, - 0, 246, 294, 253, 245, 468, 0, 0, 0, 0, - 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, + 0, 0, 0, 0, 0, 0, 0, 2555, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4078,601 +2201,1315 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 277, 0, 366, - 238, 0, 0, 0, 0, 504, 0, 0, 0, 0, - 0, 0, 0, 334, 0, 303, 192, 211, 0, 0, - 376, 419, 425, 0, 0, 0, 236, 0, 423, 390, - 487, 219, 265, 416, 396, 421, 403, 268, 0, 0, - 422, 340, 473, 410, 484, 505, 506, 244, 370, 495, - 462, 501, 519, 212, 241, 384, 455, 490, 445, 363, - 469, 470, 302, 444, 275, 195, 338, 511, 210, 431, - 228, 217, 475, 493, 270, 414, 202, 457, 482, 225, - 435, 0, 0, 521, 204, 480, 454, 359, 299, 300, - 203, 0, 415, 249, 273, 239, 379, 477, 478, 237, - 522, 214, 500, 206, 0, 499, 372, 472, 481, 360, - 350, 205, 479, 358, 349, 305, 324, 325, 261, 284, - 408, 343, 409, 285, 368, 367, 369, 198, 491, 0, - 199, 0, 450, 492, 523, 220, 221, 223, 0, 260, - 264, 272, 274, 280, 281, 288, 336, 383, 407, 405, - 411, 0, 467, 485, 496, 503, 509, 510, 512, 513, - 514, 515, 516, 518, 517, 371, 287, 446, 304, 341, - 0, 0, 389, 424, 226, 489, 447, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, - 536, 537, 538, 539, 540, 541, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 542, 351, 437, 486, - 306, 318, 321, 311, 330, 0, 331, 307, 308, 313, - 315, 316, 317, 322, 323, 327, 333, 0, 191, 207, - 337, 0, 412, 269, 520, 498, 494, 0, 209, 0, - 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 193, 194, 200, 208, 218, 222, 229, 242, - 257, 259, 266, 278, 283, 286, 291, 292, 295, 301, - 347, 353, 354, 355, 356, 373, 374, 375, 378, 381, - 382, 385, 387, 388, 391, 395, 399, 400, 401, 402, - 404, 406, 413, 418, 426, 427, 428, 429, 430, 433, - 434, 439, 440, 441, 442, 443, 451, 452, 456, 474, - 476, 488, 502, 507, 432, 279, 483, 508, 0, 346, - 0, 0, 348, 262, 282, 293, 0, 497, 453, 213, - 420, 271, 201, 232, 216, 240, 255, 258, 297, 357, - 364, 393, 398, 276, 252, 230, 417, 227, 436, 459, - 460, 461, 463, 361, 247, 397, 0, 362, 344, 465, - 466, 289, 464, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, - 0, 0, 0, 251, 1378, 0, 0, 0, 335, 248, - 0, 0, 394, 0, 197, 0, 438, 235, 345, 342, - 471, 263, 254, 250, 234, 290, 352, 392, 458, 386, - 0, 339, 0, 0, 448, 365, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 296, 233, 298, 196, 377, 449, 267, 0, 0, - 0, 0, 188, 189, 190, 0, 1377, 0, 0, 0, - 0, 0, 0, 0, 0, 224, 0, 231, 320, 329, - 328, 309, 310, 312, 314, 319, 326, 332, 0, 0, - 0, 0, 0, 246, 294, 253, 245, 468, 0, 0, - 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1843, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2655, 0, 0, 2299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2322, 2323, 0, + 0, 0, 2326, 0, 0, 0, 0, 0, 2329, 2330, + 2331, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2336, 2337, 2338, 0, 0, 1751, 2340, 0, 2341, 2342, + 0, 0, 0, 2349, 2350, 0, 0, 0, 0, 0, + 0, 1751, 1751, 1751, 1751, 1751, 607, 607, 607, 607, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, - 0, 366, 238, 0, 0, 0, 0, 504, 0, 0, - 0, 0, 0, 0, 0, 334, 0, 303, 192, 211, - 0, 0, 376, 419, 425, 0, 0, 0, 236, 0, - 423, 390, 487, 219, 265, 416, 396, 421, 403, 268, - 0, 0, 422, 340, 473, 410, 484, 505, 506, 244, - 370, 495, 462, 501, 519, 212, 241, 384, 455, 490, - 445, 363, 469, 470, 302, 444, 275, 195, 338, 511, - 210, 431, 228, 217, 475, 493, 270, 414, 202, 457, - 482, 225, 435, 0, 0, 521, 204, 480, 454, 359, - 299, 300, 203, 0, 415, 249, 273, 239, 379, 477, - 478, 237, 522, 214, 500, 206, 0, 499, 372, 472, - 481, 360, 350, 205, 479, 358, 349, 305, 324, 325, - 261, 284, 408, 343, 409, 285, 368, 367, 369, 198, - 491, 0, 199, 0, 450, 492, 523, 220, 221, 223, - 0, 260, 264, 272, 274, 280, 281, 288, 336, 383, - 407, 405, 411, 0, 467, 485, 496, 503, 509, 510, - 512, 513, 514, 515, 516, 518, 517, 371, 287, 446, - 304, 341, 0, 0, 389, 424, 226, 489, 447, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, - 534, 535, 536, 537, 538, 539, 540, 541, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 542, 351, - 437, 486, 306, 318, 321, 311, 330, 0, 331, 307, - 308, 313, 315, 316, 317, 322, 323, 327, 333, 0, - 191, 207, 337, 0, 412, 269, 520, 498, 494, 0, - 209, 0, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 193, 194, 200, 208, 218, 222, - 229, 242, 257, 259, 266, 278, 283, 286, 291, 292, - 295, 301, 347, 353, 354, 355, 356, 373, 374, 375, - 378, 381, 382, 385, 387, 388, 391, 395, 399, 400, - 401, 402, 404, 406, 413, 418, 426, 427, 428, 429, - 430, 433, 434, 439, 440, 441, 442, 443, 451, 452, - 456, 474, 476, 488, 502, 507, 432, 279, 483, 508, - 0, 346, 0, 0, 348, 262, 282, 293, 0, 497, - 453, 213, 420, 271, 201, 232, 216, 240, 255, 258, - 297, 357, 364, 393, 398, 276, 252, 230, 417, 227, - 436, 459, 460, 461, 463, 361, 247, 397, 0, 362, - 344, 465, 466, 289, 464, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 380, 0, 0, 0, - 0, 0, 0, 0, 0, 251, 0, 0, 0, 0, - 335, 248, 0, 0, 394, 0, 197, 0, 438, 235, - 345, 342, 471, 263, 254, 250, 234, 290, 352, 392, - 458, 386, 0, 339, 0, 0, 448, 365, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 296, 233, 298, 196, 377, 449, 267, - 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 224, 0, 231, - 320, 329, 328, 309, 310, 312, 314, 319, 326, 332, - 0, 0, 0, 0, 0, 246, 294, 253, 245, 468, - 0, 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2396, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2429, 0, 2755, 0, 2759, 2760, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2405, 0, 79, 0, 2405, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 277, 0, 366, 238, 0, 0, 0, 0, 504, - 0, 0, 0, 2973, 0, 0, 0, 334, 0, 303, - 192, 211, 0, 0, 376, 419, 425, 0, 0, 0, - 236, 0, 423, 390, 487, 219, 265, 416, 396, 421, - 403, 268, 0, 0, 422, 340, 473, 410, 484, 505, - 506, 244, 370, 495, 462, 501, 519, 212, 241, 384, - 455, 490, 445, 363, 469, 470, 302, 444, 275, 195, - 338, 511, 210, 431, 228, 217, 475, 493, 270, 414, - 202, 457, 482, 225, 435, 0, 0, 521, 204, 480, - 454, 359, 299, 300, 203, 0, 415, 249, 273, 239, - 379, 477, 478, 237, 522, 214, 500, 206, 0, 499, - 372, 472, 481, 360, 350, 205, 479, 358, 349, 305, - 324, 325, 261, 284, 408, 343, 409, 285, 368, 367, - 369, 198, 491, 0, 199, 0, 450, 492, 523, 220, - 221, 223, 0, 260, 264, 272, 274, 280, 281, 288, - 336, 383, 407, 405, 411, 0, 467, 485, 496, 503, - 509, 510, 512, 513, 514, 515, 516, 518, 517, 371, - 287, 446, 304, 341, 0, 0, 389, 424, 226, 489, - 447, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 524, 525, 526, 527, 528, 529, 530, 531, - 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, + 0, 0, 0, 2491, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 542, 351, 437, 486, 306, 318, 321, 311, 330, 0, - 331, 307, 308, 313, 315, 316, 317, 322, 323, 327, - 333, 0, 191, 207, 337, 0, 412, 269, 520, 498, - 494, 0, 209, 0, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 193, 194, 200, 208, - 218, 222, 229, 242, 257, 259, 266, 278, 283, 286, - 291, 292, 295, 301, 347, 353, 354, 355, 356, 373, - 374, 375, 378, 381, 382, 385, 387, 388, 391, 395, - 399, 400, 401, 402, 404, 406, 413, 418, 426, 427, - 428, 429, 430, 433, 434, 439, 440, 441, 442, 443, - 451, 452, 456, 474, 476, 488, 502, 507, 432, 279, - 483, 508, 0, 346, 0, 0, 348, 262, 282, 293, - 0, 497, 453, 213, 420, 271, 201, 232, 216, 240, - 255, 258, 297, 357, 364, 393, 398, 276, 252, 230, - 417, 227, 436, 459, 460, 461, 463, 361, 247, 397, - 0, 362, 344, 465, 466, 289, 464, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 380, 0, - 0, 0, 0, 0, 0, 0, 0, 251, 0, 0, - 0, 0, 335, 248, 0, 0, 394, 0, 197, 0, - 438, 235, 345, 342, 471, 263, 254, 250, 234, 290, - 352, 392, 458, 386, 0, 339, 0, 0, 448, 365, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 296, 233, 298, 196, 377, - 449, 267, 0, 0, 0, 0, 188, 189, 190, 0, - 1535, 0, 0, 0, 0, 0, 0, 0, 0, 224, - 0, 231, 320, 329, 328, 309, 310, 312, 314, 319, - 326, 332, 0, 0, 0, 0, 0, 246, 294, 253, - 245, 468, 0, 0, 0, 0, 0, 0, 0, 215, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 277, 0, 366, 238, 0, 0, 0, - 0, 504, 0, 0, 0, 0, 0, 0, 0, 334, - 0, 303, 192, 211, 0, 0, 376, 419, 425, 0, - 0, 0, 236, 0, 423, 390, 487, 219, 265, 416, - 396, 421, 403, 268, 0, 0, 422, 340, 473, 410, - 484, 505, 506, 244, 370, 495, 462, 501, 519, 212, - 241, 384, 455, 490, 445, 363, 469, 470, 302, 444, - 275, 195, 338, 511, 210, 431, 228, 217, 475, 493, - 270, 414, 202, 457, 482, 225, 435, 0, 0, 521, - 204, 480, 454, 359, 299, 300, 203, 0, 415, 249, - 273, 239, 379, 477, 478, 237, 522, 214, 500, 206, - 0, 499, 372, 472, 481, 360, 350, 205, 479, 358, - 349, 305, 324, 325, 261, 284, 408, 343, 409, 285, - 368, 367, 369, 198, 491, 0, 199, 0, 450, 492, - 523, 220, 221, 223, 0, 260, 264, 272, 274, 280, - 281, 288, 336, 383, 407, 405, 411, 0, 467, 485, - 496, 503, 509, 510, 512, 513, 514, 515, 516, 518, - 517, 371, 287, 446, 304, 341, 0, 0, 389, 424, - 226, 489, 447, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 524, 525, 526, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 542, 351, 437, 486, 306, 318, 321, 311, - 330, 0, 331, 307, 308, 313, 315, 316, 317, 322, - 323, 327, 333, 0, 191, 207, 337, 0, 412, 269, - 520, 498, 494, 0, 209, 0, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, - 200, 208, 218, 222, 229, 242, 257, 259, 266, 278, - 283, 286, 291, 292, 295, 301, 347, 353, 354, 355, - 356, 373, 374, 375, 378, 381, 382, 385, 387, 388, - 391, 395, 399, 400, 401, 402, 404, 406, 413, 418, - 426, 427, 428, 429, 430, 433, 434, 439, 440, 441, - 442, 443, 451, 452, 456, 474, 476, 488, 502, 507, - 432, 279, 483, 508, 0, 346, 0, 0, 348, 262, - 282, 293, 0, 497, 453, 213, 420, 271, 201, 232, - 216, 240, 255, 258, 297, 357, 364, 393, 398, 276, - 252, 230, 417, 227, 436, 459, 460, 461, 463, 361, - 247, 397, 0, 362, 344, 465, 466, 289, 464, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 380, 0, 0, 0, 0, 0, 0, 0, 0, 251, - 0, 0, 0, 0, 335, 248, 0, 0, 394, 0, - 197, 0, 438, 235, 345, 342, 471, 263, 254, 250, - 234, 290, 352, 392, 458, 386, 0, 339, 0, 0, - 448, 365, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 296, 233, 298, - 196, 377, 449, 267, 0, 0, 0, 0, 188, 189, - 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 224, 0, 231, 320, 329, 328, 309, 310, 312, - 314, 319, 326, 332, 0, 0, 0, 0, 0, 246, - 294, 253, 245, 468, 0, 0, 0, 0, 0, 0, - 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 256, 0, 0, 0, + 0, 0, 0, 2843, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2574, 0, 0, 0, 0, 0, 0, + 0, 2580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2405, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1248, 1252, 1253, + 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, + 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, + 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, + 0, 607, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2921, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 277, 0, 366, 238, 0, - 0, 0, 0, 504, 0, 0, 0, 2880, 0, 0, - 0, 334, 0, 303, 192, 211, 0, 0, 376, 419, - 425, 0, 0, 0, 236, 0, 423, 390, 487, 219, - 265, 416, 396, 421, 403, 268, 0, 0, 422, 340, - 473, 410, 484, 505, 506, 244, 370, 495, 462, 501, - 519, 212, 241, 384, 455, 490, 445, 363, 469, 470, - 302, 444, 275, 195, 338, 511, 210, 431, 228, 217, - 475, 493, 270, 414, 202, 457, 482, 225, 435, 0, - 0, 521, 204, 480, 454, 359, 299, 300, 203, 0, - 415, 249, 273, 239, 379, 477, 478, 237, 522, 214, - 500, 206, 0, 499, 372, 472, 481, 360, 350, 205, - 479, 358, 349, 305, 324, 325, 261, 284, 408, 343, - 409, 285, 368, 367, 369, 198, 491, 0, 199, 0, - 450, 492, 523, 220, 221, 223, 0, 260, 264, 272, - 274, 280, 281, 288, 336, 383, 407, 405, 411, 0, - 467, 485, 496, 503, 509, 510, 512, 513, 514, 515, - 516, 518, 517, 371, 287, 446, 304, 341, 0, 0, - 389, 424, 226, 489, 447, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 524, 525, 526, 527, - 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, - 538, 539, 540, 541, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 542, 351, 437, 486, 306, 318, - 321, 311, 330, 0, 331, 307, 308, 313, 315, 316, - 317, 322, 323, 327, 333, 0, 191, 207, 337, 0, - 412, 269, 520, 498, 494, 0, 209, 0, 243, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 193, 194, 200, 208, 218, 222, 229, 242, 257, 259, - 266, 278, 283, 286, 291, 292, 295, 301, 347, 353, - 354, 355, 356, 373, 374, 375, 378, 381, 382, 385, - 387, 388, 391, 395, 399, 400, 401, 402, 404, 406, - 413, 418, 426, 427, 428, 429, 430, 433, 434, 439, - 440, 441, 442, 443, 451, 452, 456, 474, 476, 488, - 502, 507, 432, 279, 483, 508, 0, 346, 0, 0, - 348, 262, 282, 293, 0, 497, 453, 213, 420, 271, - 201, 232, 216, 240, 255, 258, 297, 357, 364, 393, - 398, 276, 252, 230, 417, 227, 436, 459, 460, 461, - 463, 361, 247, 397, 0, 362, 344, 465, 466, 289, - 464, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, - 0, 251, 0, 0, 0, 0, 335, 248, 0, 0, - 394, 0, 197, 0, 438, 235, 345, 342, 471, 263, - 254, 250, 234, 290, 352, 392, 458, 386, 0, 339, - 0, 0, 448, 365, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 296, - 233, 298, 196, 377, 449, 267, 0, 87, 0, 0, - 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 224, 0, 231, 320, 329, 328, 309, - 310, 312, 314, 319, 326, 332, 0, 0, 0, 0, - 0, 246, 294, 253, 245, 468, 0, 0, 0, 0, - 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2952, 0, 0, 2694, 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2718, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 277, 0, 366, - 238, 0, 0, 0, 0, 504, 0, 0, 0, 0, - 0, 0, 0, 334, 0, 303, 192, 211, 0, 0, - 376, 419, 425, 0, 0, 0, 236, 0, 423, 390, - 487, 219, 265, 416, 396, 421, 403, 268, 0, 0, - 422, 340, 473, 410, 484, 505, 506, 244, 370, 495, - 462, 501, 519, 212, 241, 384, 455, 490, 445, 363, - 469, 470, 302, 444, 275, 195, 338, 511, 210, 431, - 228, 217, 475, 493, 270, 414, 202, 457, 482, 225, - 435, 0, 0, 521, 204, 480, 454, 359, 299, 300, - 203, 0, 415, 249, 273, 239, 379, 477, 478, 237, - 522, 214, 500, 206, 0, 499, 372, 472, 481, 360, - 350, 205, 479, 358, 349, 305, 324, 325, 261, 284, - 408, 343, 409, 285, 368, 367, 369, 198, 491, 0, - 199, 0, 450, 492, 523, 220, 221, 223, 0, 260, - 264, 272, 274, 280, 281, 288, 336, 383, 407, 405, - 411, 0, 467, 485, 496, 503, 509, 510, 512, 513, - 514, 515, 516, 518, 517, 371, 287, 446, 304, 341, - 0, 0, 389, 424, 226, 489, 447, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, - 536, 537, 538, 539, 540, 541, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 542, 351, 437, 486, - 306, 318, 321, 311, 330, 0, 331, 307, 308, 313, - 315, 316, 317, 322, 323, 327, 333, 0, 191, 207, - 337, 0, 412, 269, 520, 498, 494, 0, 209, 0, - 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 193, 194, 200, 208, 218, 222, 229, 242, - 257, 259, 266, 278, 283, 286, 291, 292, 295, 301, - 347, 353, 354, 355, 356, 373, 374, 375, 378, 381, - 382, 385, 387, 388, 391, 395, 399, 400, 401, 402, - 404, 406, 413, 418, 426, 427, 428, 429, 430, 433, - 434, 439, 440, 441, 442, 443, 451, 452, 456, 474, - 476, 488, 502, 507, 432, 279, 483, 508, 0, 346, - 0, 0, 348, 262, 282, 293, 0, 497, 453, 213, - 420, 271, 201, 232, 216, 240, 255, 258, 297, 357, - 364, 393, 398, 276, 252, 230, 417, 227, 436, 459, - 460, 461, 463, 361, 247, 397, 0, 362, 344, 465, - 466, 289, 464, 0, 0, 0, 0, 1843, 0, 0, - 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, - 0, 0, 0, 251, 0, 0, 0, 0, 335, 248, - 0, 0, 394, 0, 197, 0, 438, 235, 345, 342, - 471, 263, 254, 250, 234, 290, 352, 392, 458, 386, - 0, 339, 0, 0, 448, 365, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 296, 233, 298, 196, 377, 449, 267, 0, 0, - 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 224, 0, 231, 320, 329, - 328, 309, 310, 312, 314, 319, 326, 332, 0, 0, - 0, 0, 0, 246, 294, 253, 245, 468, 0, 0, - 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2734, 0, 2735, 0, 0, 0, + 0, 2738, 2739, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2779, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2787, 0, 0, 2789, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2793, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2831, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, - 0, 366, 238, 0, 0, 0, 0, 504, 0, 0, - 0, 0, 0, 0, 0, 334, 0, 303, 192, 211, - 0, 0, 376, 419, 425, 0, 0, 0, 236, 0, - 423, 390, 487, 219, 265, 416, 396, 421, 403, 268, - 0, 0, 422, 340, 473, 410, 484, 505, 506, 244, - 370, 495, 462, 501, 519, 212, 241, 384, 455, 490, - 445, 363, 469, 470, 302, 444, 275, 195, 338, 511, - 210, 431, 228, 217, 475, 493, 270, 414, 202, 457, - 482, 225, 435, 0, 0, 521, 204, 480, 454, 359, - 299, 300, 203, 0, 415, 249, 273, 239, 379, 477, - 478, 237, 522, 214, 500, 206, 0, 499, 372, 472, - 481, 360, 350, 205, 479, 358, 349, 305, 324, 325, - 261, 284, 408, 343, 409, 285, 368, 367, 369, 198, - 491, 0, 199, 0, 450, 492, 523, 220, 221, 223, - 0, 260, 264, 272, 274, 280, 281, 288, 336, 383, - 407, 405, 411, 0, 467, 485, 496, 503, 509, 510, - 512, 513, 514, 515, 516, 518, 517, 371, 287, 446, - 304, 341, 0, 0, 389, 424, 226, 489, 447, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, - 534, 535, 536, 537, 538, 539, 540, 541, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 542, 351, - 437, 486, 306, 318, 321, 311, 330, 0, 331, 307, - 308, 313, 315, 316, 317, 322, 323, 327, 333, 0, - 191, 207, 337, 0, 412, 269, 520, 498, 494, 0, - 209, 0, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 193, 194, 200, 208, 218, 222, - 229, 242, 257, 259, 266, 278, 283, 286, 291, 292, - 295, 301, 347, 353, 354, 355, 356, 373, 374, 375, - 378, 381, 382, 385, 387, 388, 391, 395, 399, 400, - 401, 402, 404, 406, 413, 418, 426, 427, 428, 429, - 430, 433, 434, 439, 440, 441, 442, 443, 451, 452, - 456, 474, 476, 488, 502, 507, 432, 279, 483, 508, - 0, 346, 0, 0, 348, 262, 282, 293, 0, 497, - 453, 213, 420, 271, 201, 232, 216, 240, 255, 258, - 297, 357, 364, 393, 398, 276, 252, 230, 417, 227, - 436, 459, 460, 461, 463, 361, 247, 397, 0, 362, - 344, 465, 466, 289, 464, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 380, 0, 0, 0, - 0, 0, 0, 0, 0, 251, 0, 0, 0, 0, - 335, 248, 0, 0, 394, 0, 197, 0, 438, 235, - 345, 342, 471, 263, 254, 250, 234, 290, 352, 392, - 458, 386, 0, 339, 0, 0, 448, 365, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 296, 233, 298, 196, 377, 449, 267, - 0, 0, 0, 0, 188, 189, 190, 0, 1357, 0, - 0, 0, 0, 0, 0, 0, 0, 224, 0, 231, - 320, 329, 328, 309, 310, 312, 314, 319, 326, 332, - 0, 0, 0, 0, 0, 246, 294, 253, 245, 468, - 0, 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2894, 607, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 363, 0, 0, 948, 933, 465, 0, 879, 951, 848, + 867, 961, 870, 873, 915, 827, 893, 381, 864, 819, + 852, 822, 859, 823, 850, 881, 252, 847, 935, 897, + 950, 336, 249, 829, 853, 395, 869, 197, 917, 439, + 236, 346, 343, 472, 264, 255, 251, 235, 291, 353, + 393, 459, 387, 957, 340, 903, 0, 449, 366, 607, + 0, 0, 883, 939, 891, 929, 878, 916, 837, 902, + 952, 865, 912, 953, 297, 233, 299, 196, 378, 450, + 268, 0, 0, 0, 0, 188, 189, 190, 0, 2972, + 0, 2973, 0, 2937, 0, 0, 0, 0, 224, 0, + 231, 321, 330, 329, 310, 311, 313, 315, 320, 327, + 333, 861, 909, 947, 862, 911, 247, 295, 254, 246, + 469, 958, 938, 826, 890, 946, 0, 0, 215, 949, + 885, 0, 914, 0, 964, 821, 905, 607, 824, 828, + 960, 942, 856, 257, 0, 0, 0, 0, 0, 0, + 0, 882, 892, 926, 876, 0, 0, 0, 0, 0, + 0, 0, 854, 0, 901, 0, 0, 0, 833, 825, + 0, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 277, 0, 366, 238, 0, 0, 0, 0, 504, - 0, 0, 0, 0, 0, 0, 0, 334, 0, 303, - 192, 211, 0, 0, 376, 419, 425, 0, 0, 0, - 236, 0, 423, 390, 487, 219, 265, 416, 396, 421, - 403, 268, 0, 0, 422, 340, 473, 410, 484, 505, - 506, 244, 370, 495, 462, 501, 519, 212, 241, 384, - 455, 490, 445, 363, 469, 470, 302, 444, 275, 195, - 338, 511, 210, 431, 228, 217, 475, 493, 270, 414, - 202, 457, 482, 225, 435, 0, 0, 521, 204, 480, - 454, 359, 299, 300, 203, 0, 415, 249, 273, 239, - 379, 477, 478, 237, 522, 214, 500, 206, 0, 499, - 372, 472, 481, 360, 350, 205, 479, 358, 349, 305, - 324, 325, 261, 284, 408, 343, 409, 285, 368, 367, - 369, 198, 491, 0, 199, 0, 450, 492, 523, 220, - 221, 223, 0, 260, 264, 272, 274, 280, 281, 288, - 336, 383, 407, 405, 411, 0, 467, 485, 496, 503, - 509, 510, 512, 513, 514, 515, 516, 518, 517, 371, - 287, 446, 304, 341, 0, 0, 389, 424, 226, 489, - 447, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 524, 525, 526, 527, 528, 529, 530, 531, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 880, 0, 0, 0, 836, 0, 855, 927, + 0, 818, 278, 830, 367, 239, 0, 931, 941, 877, + 505, 945, 875, 874, 921, 834, 937, 868, 335, 832, + 304, 192, 211, 0, 866, 377, 420, 426, 936, 851, + 860, 237, 858, 424, 391, 488, 219, 266, 417, 397, + 422, 404, 269, 900, 919, 423, 341, 474, 411, 485, + 506, 507, 245, 371, 496, 463, 502, 520, 212, 242, + 385, 456, 491, 446, 364, 470, 471, 303, 445, 276, + 195, 339, 512, 210, 432, 228, 217, 476, 494, 271, + 415, 202, 458, 483, 225, 436, 0, 0, 522, 204, + 481, 455, 360, 300, 301, 203, 0, 416, 250, 274, + 240, 380, 478, 479, 238, 523, 214, 501, 206, 1154, + 500, 373, 473, 482, 361, 351, 205, 480, 359, 350, + 306, 325, 326, 262, 285, 409, 344, 410, 286, 369, + 368, 370, 198, 492, 0, 199, 0, 451, 493, 524, + 220, 221, 223, 846, 261, 265, 273, 275, 281, 282, + 289, 337, 384, 408, 406, 412, 932, 468, 486, 497, + 504, 510, 511, 513, 514, 515, 516, 517, 519, 518, + 372, 288, 447, 305, 342, 924, 963, 390, 425, 226, + 490, 448, 841, 845, 839, 906, 840, 895, 896, 842, + 954, 955, 956, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, + 542, 0, 928, 835, 0, 843, 844, 0, 934, 943, + 944, 543, 352, 438, 487, 307, 319, 322, 312, 331, + 0, 332, 308, 309, 314, 316, 317, 318, 323, 324, + 328, 334, 234, 899, 191, 207, 338, 959, 413, 270, + 521, 499, 495, 820, 209, 838, 244, 849, 857, 0, + 863, 871, 872, 884, 886, 887, 888, 889, 907, 908, + 910, 918, 920, 923, 925, 930, 940, 962, 193, 194, + 200, 208, 218, 222, 229, 243, 258, 260, 267, 279, + 284, 287, 292, 293, 296, 302, 348, 354, 355, 356, + 357, 374, 375, 376, 379, 382, 383, 386, 388, 389, + 392, 396, 400, 401, 402, 403, 405, 407, 414, 419, + 427, 428, 429, 430, 431, 434, 435, 440, 441, 442, + 443, 444, 452, 453, 457, 475, 477, 489, 503, 508, + 433, 280, 484, 509, 0, 347, 898, 904, 349, 263, + 283, 294, 913, 498, 454, 213, 421, 272, 201, 232, + 216, 241, 256, 259, 298, 358, 365, 394, 399, 277, + 253, 230, 418, 227, 437, 460, 461, 462, 464, 362, + 248, 398, 894, 922, 345, 466, 467, 290, 363, 0, + 0, 948, 933, 465, 0, 879, 951, 848, 867, 961, + 870, 873, 915, 827, 893, 381, 864, 819, 852, 822, + 859, 823, 850, 881, 252, 847, 935, 897, 950, 336, + 249, 829, 853, 395, 869, 197, 917, 439, 236, 346, + 343, 472, 264, 255, 251, 235, 291, 353, 393, 459, + 387, 957, 340, 903, 0, 449, 366, 0, 0, 0, + 883, 939, 891, 929, 878, 916, 837, 902, 952, 865, + 912, 953, 297, 233, 299, 196, 378, 450, 268, 0, + 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 224, 0, 231, 321, + 330, 329, 310, 311, 313, 315, 320, 327, 333, 861, + 909, 947, 862, 911, 247, 295, 254, 246, 469, 958, + 938, 826, 890, 946, 0, 0, 215, 949, 885, 0, + 914, 0, 964, 821, 905, 0, 824, 828, 960, 942, + 856, 257, 0, 0, 0, 0, 0, 0, 0, 882, + 892, 926, 876, 0, 0, 0, 0, 0, 2436, 0, + 854, 0, 901, 0, 0, 0, 833, 825, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 880, 0, 0, 0, 836, 0, 855, 927, 0, 818, + 278, 830, 367, 239, 0, 931, 941, 877, 505, 945, + 875, 874, 921, 834, 937, 868, 335, 832, 304, 192, + 211, 0, 866, 377, 420, 426, 936, 851, 860, 237, + 858, 424, 391, 488, 219, 266, 417, 397, 422, 404, + 269, 900, 919, 423, 341, 474, 411, 485, 506, 507, + 245, 371, 496, 463, 502, 520, 212, 242, 385, 456, + 491, 446, 364, 470, 471, 303, 445, 276, 195, 339, + 512, 210, 432, 228, 217, 476, 494, 271, 415, 202, + 458, 483, 225, 436, 0, 0, 522, 204, 481, 455, + 360, 300, 301, 203, 0, 416, 250, 274, 240, 380, + 478, 479, 238, 523, 214, 501, 206, 1154, 500, 373, + 473, 482, 361, 351, 205, 480, 359, 350, 306, 325, + 326, 262, 285, 409, 344, 410, 286, 369, 368, 370, + 198, 492, 0, 199, 0, 451, 493, 524, 220, 221, + 223, 846, 261, 265, 273, 275, 281, 282, 289, 337, + 384, 408, 406, 412, 932, 468, 486, 497, 504, 510, + 511, 513, 514, 515, 516, 517, 519, 518, 372, 288, + 447, 305, 342, 924, 963, 390, 425, 226, 490, 448, + 841, 845, 839, 906, 840, 895, 896, 842, 954, 955, + 956, 525, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 0, + 928, 835, 0, 843, 844, 0, 934, 943, 944, 543, + 352, 438, 487, 307, 319, 322, 312, 331, 0, 332, + 308, 309, 314, 316, 317, 318, 323, 324, 328, 334, + 234, 899, 191, 207, 338, 959, 413, 270, 521, 499, + 495, 820, 209, 838, 244, 849, 857, 0, 863, 871, + 872, 884, 886, 887, 888, 889, 907, 908, 910, 918, + 920, 923, 925, 930, 940, 962, 193, 194, 200, 208, + 218, 222, 229, 243, 258, 260, 267, 279, 284, 287, + 292, 293, 296, 302, 348, 354, 355, 356, 357, 374, + 375, 376, 379, 382, 383, 386, 388, 389, 392, 396, + 400, 401, 402, 403, 405, 407, 414, 419, 427, 428, + 429, 430, 431, 434, 435, 440, 441, 442, 443, 444, + 452, 453, 457, 475, 477, 489, 503, 508, 433, 280, + 484, 509, 0, 347, 898, 904, 349, 263, 283, 294, + 913, 498, 454, 213, 421, 272, 201, 232, 216, 241, + 256, 259, 298, 358, 365, 394, 399, 277, 253, 230, + 418, 227, 437, 460, 461, 462, 464, 362, 248, 398, + 894, 922, 345, 466, 467, 290, 363, 0, 0, 948, + 933, 465, 0, 879, 951, 848, 867, 961, 870, 873, + 915, 827, 893, 381, 864, 819, 852, 822, 859, 823, + 850, 881, 252, 847, 935, 897, 950, 336, 249, 829, + 853, 395, 869, 197, 917, 439, 236, 346, 343, 472, + 264, 255, 251, 235, 291, 353, 393, 459, 387, 957, + 340, 903, 0, 449, 366, 0, 0, 0, 883, 939, + 891, 929, 878, 916, 837, 902, 952, 865, 912, 953, + 297, 233, 299, 196, 378, 450, 268, 0, 0, 0, + 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 224, 0, 231, 321, 330, 329, + 310, 311, 313, 315, 320, 327, 333, 861, 909, 947, + 862, 911, 247, 295, 254, 246, 469, 958, 938, 826, + 890, 946, 0, 0, 215, 949, 885, 0, 914, 0, + 964, 821, 905, 0, 824, 828, 960, 942, 856, 257, + 0, 0, 0, 0, 0, 0, 0, 882, 892, 926, + 876, 0, 0, 0, 0, 0, 2394, 0, 854, 0, + 901, 0, 0, 0, 833, 825, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 880, 0, + 0, 0, 836, 0, 855, 927, 0, 818, 278, 830, + 367, 239, 0, 931, 941, 877, 505, 945, 875, 874, + 921, 834, 937, 868, 335, 832, 304, 192, 211, 0, + 866, 377, 420, 426, 936, 851, 860, 237, 858, 424, + 391, 488, 219, 266, 417, 397, 422, 404, 269, 900, + 919, 423, 341, 474, 411, 485, 506, 507, 245, 371, + 496, 463, 502, 520, 212, 242, 385, 456, 491, 446, + 364, 470, 471, 303, 445, 276, 195, 339, 512, 210, + 432, 228, 217, 476, 494, 271, 415, 202, 458, 483, + 225, 436, 0, 0, 522, 204, 481, 455, 360, 300, + 301, 203, 0, 416, 250, 274, 240, 380, 478, 479, + 238, 523, 214, 501, 206, 1154, 500, 373, 473, 482, + 361, 351, 205, 480, 359, 350, 306, 325, 326, 262, + 285, 409, 344, 410, 286, 369, 368, 370, 198, 492, + 0, 199, 0, 451, 493, 524, 220, 221, 223, 846, + 261, 265, 273, 275, 281, 282, 289, 337, 384, 408, + 406, 412, 932, 468, 486, 497, 504, 510, 511, 513, + 514, 515, 516, 517, 519, 518, 372, 288, 447, 305, + 342, 924, 963, 390, 425, 226, 490, 448, 841, 845, + 839, 906, 840, 895, 896, 842, 954, 955, 956, 525, + 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, + 536, 537, 538, 539, 540, 541, 542, 0, 928, 835, + 0, 843, 844, 0, 934, 943, 944, 543, 352, 438, + 487, 307, 319, 322, 312, 331, 0, 332, 308, 309, + 314, 316, 317, 318, 323, 324, 328, 334, 234, 899, + 191, 207, 338, 959, 413, 270, 521, 499, 495, 820, + 209, 838, 244, 849, 857, 0, 863, 871, 872, 884, + 886, 887, 888, 889, 907, 908, 910, 918, 920, 923, + 925, 930, 940, 962, 193, 194, 200, 208, 218, 222, + 229, 243, 258, 260, 267, 279, 284, 287, 292, 293, + 296, 302, 348, 354, 355, 356, 357, 374, 375, 376, + 379, 382, 383, 386, 388, 389, 392, 396, 400, 401, + 402, 403, 405, 407, 414, 419, 427, 428, 429, 430, + 431, 434, 435, 440, 441, 442, 443, 444, 452, 453, + 457, 475, 477, 489, 503, 508, 433, 280, 484, 509, + 0, 347, 898, 904, 349, 263, 283, 294, 913, 498, + 454, 213, 421, 272, 201, 232, 216, 241, 256, 259, + 298, 358, 365, 394, 399, 277, 253, 230, 418, 227, + 437, 460, 461, 462, 464, 362, 248, 398, 894, 922, + 345, 466, 467, 290, 363, 0, 0, 948, 933, 465, + 0, 879, 951, 848, 867, 961, 870, 873, 915, 827, + 893, 381, 864, 819, 852, 822, 859, 823, 850, 881, + 252, 847, 935, 897, 950, 336, 249, 829, 853, 395, + 869, 197, 917, 439, 236, 346, 343, 472, 264, 255, + 251, 235, 291, 353, 393, 459, 387, 957, 340, 903, + 0, 449, 366, 0, 0, 0, 883, 939, 891, 929, + 878, 916, 837, 902, 952, 865, 912, 953, 297, 233, + 299, 196, 378, 450, 268, 0, 0, 0, 0, 188, + 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 224, 0, 231, 321, 330, 329, 310, 311, + 313, 315, 320, 327, 333, 861, 909, 947, 862, 911, + 247, 295, 254, 246, 469, 958, 938, 826, 890, 946, + 0, 0, 215, 949, 885, 0, 914, 0, 964, 821, + 905, 0, 824, 828, 960, 942, 856, 257, 0, 0, + 0, 0, 0, 0, 0, 882, 892, 926, 876, 0, + 0, 0, 0, 0, 1831, 0, 854, 0, 901, 0, + 0, 0, 833, 825, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 880, 0, 0, 0, + 836, 0, 855, 927, 0, 818, 278, 830, 367, 239, + 0, 931, 941, 877, 505, 945, 875, 874, 921, 834, + 937, 868, 335, 832, 304, 192, 211, 0, 866, 377, + 420, 426, 936, 851, 860, 237, 858, 424, 391, 488, + 219, 266, 417, 397, 422, 404, 269, 900, 919, 423, + 341, 474, 411, 485, 506, 507, 245, 371, 496, 463, + 502, 520, 212, 242, 385, 456, 491, 446, 364, 470, + 471, 303, 445, 276, 195, 339, 512, 210, 432, 228, + 217, 476, 494, 271, 415, 202, 458, 483, 225, 436, + 0, 0, 522, 204, 481, 455, 360, 300, 301, 203, + 0, 416, 250, 274, 240, 380, 478, 479, 238, 523, + 214, 501, 206, 1154, 500, 373, 473, 482, 361, 351, + 205, 480, 359, 350, 306, 325, 326, 262, 285, 409, + 344, 410, 286, 369, 368, 370, 198, 492, 0, 199, + 0, 451, 493, 524, 220, 221, 223, 846, 261, 265, + 273, 275, 281, 282, 289, 337, 384, 408, 406, 412, + 932, 468, 486, 497, 504, 510, 511, 513, 514, 515, + 516, 517, 519, 518, 372, 288, 447, 305, 342, 924, + 963, 390, 425, 226, 490, 448, 841, 845, 839, 906, + 840, 895, 896, 842, 954, 955, 956, 525, 526, 527, + 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 0, 928, 835, 0, 843, + 844, 0, 934, 943, 944, 543, 352, 438, 487, 307, + 319, 322, 312, 331, 0, 332, 308, 309, 314, 316, + 317, 318, 323, 324, 328, 334, 234, 899, 191, 207, + 338, 959, 413, 270, 521, 499, 495, 820, 209, 838, + 244, 849, 857, 0, 863, 871, 872, 884, 886, 887, + 888, 889, 907, 908, 910, 918, 920, 923, 925, 930, + 940, 962, 193, 194, 200, 208, 218, 222, 229, 243, + 258, 260, 267, 279, 284, 287, 292, 293, 296, 302, + 348, 354, 355, 356, 357, 374, 375, 376, 379, 382, + 383, 386, 388, 389, 392, 396, 400, 401, 402, 403, + 405, 407, 414, 419, 427, 428, 429, 430, 431, 434, + 435, 440, 441, 442, 443, 444, 452, 453, 457, 475, + 477, 489, 503, 508, 433, 280, 484, 509, 0, 347, + 898, 904, 349, 263, 283, 294, 913, 498, 454, 213, + 421, 272, 201, 232, 216, 241, 256, 259, 298, 358, + 365, 394, 399, 277, 253, 230, 418, 227, 437, 460, + 461, 462, 464, 362, 248, 398, 894, 922, 345, 466, + 467, 290, 363, 0, 0, 948, 933, 465, 0, 879, + 951, 848, 867, 961, 870, 873, 915, 827, 893, 381, + 864, 819, 852, 822, 859, 823, 850, 881, 252, 847, + 935, 897, 950, 336, 249, 829, 853, 395, 869, 197, + 917, 439, 236, 346, 343, 472, 264, 255, 251, 235, + 291, 353, 393, 459, 387, 957, 340, 903, 0, 449, + 366, 0, 0, 0, 883, 939, 891, 929, 878, 916, + 837, 902, 952, 865, 912, 953, 297, 233, 299, 196, + 378, 450, 268, 0, 87, 0, 0, 188, 189, 190, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 224, 0, 231, 321, 330, 329, 310, 311, 313, 315, + 320, 327, 333, 861, 909, 947, 862, 911, 247, 295, + 254, 246, 469, 958, 938, 826, 890, 946, 0, 0, + 215, 949, 885, 0, 914, 0, 964, 821, 905, 0, + 824, 828, 960, 942, 856, 257, 0, 0, 0, 0, + 0, 0, 0, 882, 892, 926, 876, 0, 0, 0, + 0, 0, 0, 0, 854, 0, 901, 0, 0, 0, + 833, 825, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 880, 0, 0, 0, 836, 0, + 855, 927, 0, 818, 278, 830, 367, 239, 0, 931, + 941, 877, 505, 945, 875, 874, 921, 834, 937, 868, + 335, 832, 304, 192, 211, 0, 866, 377, 420, 426, + 936, 851, 860, 237, 858, 424, 391, 488, 219, 266, + 417, 397, 422, 404, 269, 900, 919, 423, 341, 474, + 411, 485, 506, 507, 245, 371, 496, 463, 502, 520, + 212, 242, 385, 456, 491, 446, 364, 470, 471, 303, + 445, 276, 195, 339, 512, 210, 432, 228, 217, 476, + 494, 271, 415, 202, 458, 483, 225, 436, 0, 0, + 522, 204, 481, 455, 360, 300, 301, 203, 0, 416, + 250, 274, 240, 380, 478, 479, 238, 523, 214, 501, + 206, 1154, 500, 373, 473, 482, 361, 351, 205, 480, + 359, 350, 306, 325, 326, 262, 285, 409, 344, 410, + 286, 369, 368, 370, 198, 492, 0, 199, 0, 451, + 493, 524, 220, 221, 223, 846, 261, 265, 273, 275, + 281, 282, 289, 337, 384, 408, 406, 412, 932, 468, + 486, 497, 504, 510, 511, 513, 514, 515, 516, 517, + 519, 518, 372, 288, 447, 305, 342, 924, 963, 390, + 425, 226, 490, 448, 841, 845, 839, 906, 840, 895, + 896, 842, 954, 955, 956, 525, 526, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 0, 928, 835, 0, 843, 844, 0, + 934, 943, 944, 543, 352, 438, 487, 307, 319, 322, + 312, 331, 0, 332, 308, 309, 314, 316, 317, 318, + 323, 324, 328, 334, 234, 899, 191, 207, 338, 959, + 413, 270, 521, 499, 495, 820, 209, 838, 244, 849, + 857, 0, 863, 871, 872, 884, 886, 887, 888, 889, + 907, 908, 910, 918, 920, 923, 925, 930, 940, 962, + 193, 194, 200, 208, 218, 222, 229, 243, 258, 260, + 267, 279, 284, 287, 292, 293, 296, 302, 348, 354, + 355, 356, 357, 374, 375, 376, 379, 382, 383, 386, + 388, 389, 392, 396, 400, 401, 402, 403, 405, 407, + 414, 419, 427, 428, 429, 430, 431, 434, 435, 440, + 441, 442, 443, 444, 452, 453, 457, 475, 477, 489, + 503, 508, 433, 280, 484, 509, 0, 347, 898, 904, + 349, 263, 283, 294, 913, 498, 454, 213, 421, 272, + 201, 232, 216, 241, 256, 259, 298, 358, 365, 394, + 399, 277, 253, 230, 418, 227, 437, 460, 461, 462, + 464, 362, 248, 398, 894, 922, 345, 466, 467, 290, + 363, 0, 0, 948, 933, 465, 0, 879, 951, 848, + 867, 961, 870, 873, 915, 827, 893, 381, 864, 819, + 852, 822, 859, 823, 850, 881, 252, 847, 935, 897, + 950, 336, 249, 829, 853, 395, 869, 197, 917, 439, + 236, 346, 343, 472, 264, 255, 251, 235, 291, 353, + 393, 459, 387, 957, 340, 903, 0, 449, 366, 0, + 0, 0, 883, 939, 891, 929, 878, 916, 837, 902, + 952, 865, 912, 953, 297, 233, 299, 196, 378, 450, + 268, 0, 0, 0, 0, 188, 189, 190, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, + 231, 321, 330, 329, 310, 311, 313, 315, 320, 327, + 333, 861, 909, 947, 862, 911, 247, 295, 254, 246, + 469, 958, 938, 826, 890, 946, 0, 0, 215, 949, + 885, 0, 914, 0, 964, 821, 905, 0, 824, 828, + 960, 942, 856, 257, 0, 0, 0, 0, 0, 0, + 0, 882, 892, 926, 876, 0, 0, 0, 0, 0, + 0, 0, 854, 0, 901, 0, 0, 0, 833, 825, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 880, 0, 0, 0, 836, 0, 855, 927, + 0, 818, 278, 830, 367, 239, 0, 931, 941, 877, + 505, 945, 875, 874, 921, 834, 937, 868, 335, 832, + 304, 192, 211, 0, 866, 377, 420, 426, 936, 851, + 860, 237, 858, 424, 391, 488, 219, 266, 417, 397, + 422, 404, 269, 900, 919, 423, 341, 474, 411, 485, + 506, 507, 245, 371, 496, 463, 502, 520, 212, 242, + 385, 456, 491, 446, 364, 470, 471, 303, 445, 276, + 195, 339, 512, 210, 432, 228, 217, 476, 494, 271, + 415, 202, 458, 483, 225, 436, 0, 0, 522, 204, + 481, 455, 360, 300, 301, 203, 0, 416, 250, 274, + 240, 380, 478, 479, 238, 523, 214, 501, 206, 1154, + 500, 373, 473, 482, 361, 351, 205, 480, 359, 350, + 306, 325, 326, 262, 285, 409, 344, 410, 286, 369, + 368, 370, 198, 492, 0, 199, 0, 451, 493, 524, + 220, 221, 223, 846, 261, 265, 273, 275, 281, 282, + 289, 337, 384, 408, 406, 412, 932, 468, 486, 497, + 504, 510, 511, 513, 514, 515, 516, 517, 519, 518, + 372, 288, 447, 305, 342, 924, 963, 390, 425, 226, + 490, 448, 841, 845, 839, 906, 840, 895, 896, 842, + 954, 955, 956, 525, 526, 527, 528, 529, 530, 531, + 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, + 542, 0, 928, 835, 0, 843, 844, 0, 934, 943, + 944, 543, 352, 438, 487, 307, 319, 322, 312, 331, + 0, 332, 308, 309, 314, 316, 317, 318, 323, 324, + 328, 334, 234, 899, 191, 207, 338, 959, 413, 270, + 521, 499, 495, 820, 209, 838, 244, 849, 857, 0, + 863, 871, 872, 884, 886, 887, 888, 889, 907, 908, + 910, 918, 920, 923, 925, 930, 940, 962, 193, 194, + 200, 208, 218, 222, 229, 243, 258, 260, 267, 279, + 284, 287, 292, 293, 296, 302, 348, 354, 355, 356, + 357, 374, 375, 376, 379, 382, 383, 386, 388, 389, + 392, 396, 400, 401, 402, 403, 405, 407, 414, 419, + 427, 428, 429, 430, 431, 434, 435, 440, 441, 442, + 443, 444, 452, 453, 457, 475, 477, 489, 503, 508, + 433, 280, 484, 509, 0, 347, 898, 904, 349, 263, + 283, 294, 913, 498, 454, 213, 421, 272, 201, 232, + 216, 241, 256, 259, 298, 358, 365, 394, 399, 277, + 253, 230, 418, 227, 437, 460, 461, 462, 464, 362, + 248, 398, 894, 922, 345, 466, 467, 290, 363, 0, + 0, 948, 933, 465, 0, 879, 951, 848, 867, 961, + 870, 873, 915, 827, 893, 381, 864, 819, 852, 822, + 859, 823, 850, 881, 252, 847, 935, 897, 950, 336, + 249, 829, 853, 395, 869, 197, 917, 439, 236, 346, + 343, 472, 264, 255, 251, 235, 291, 353, 393, 459, + 387, 957, 340, 903, 0, 449, 366, 0, 0, 0, + 883, 939, 891, 929, 878, 916, 837, 902, 952, 865, + 912, 953, 297, 233, 299, 196, 378, 450, 268, 0, + 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 224, 0, 231, 321, + 330, 329, 310, 311, 313, 315, 320, 327, 333, 861, + 909, 947, 862, 911, 247, 295, 254, 246, 469, 958, + 938, 826, 890, 946, 0, 0, 965, 949, 885, 0, + 914, 0, 964, 821, 905, 0, 824, 828, 960, 942, + 856, 257, 0, 0, 0, 0, 0, 0, 0, 882, + 892, 926, 876, 0, 0, 0, 0, 0, 0, 0, + 854, 0, 901, 0, 0, 0, 833, 825, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 880, 0, 0, 0, 836, 0, 855, 927, 0, 818, + 278, 830, 367, 239, 0, 931, 941, 877, 505, 945, + 875, 874, 921, 834, 937, 868, 335, 832, 304, 192, + 211, 0, 866, 377, 420, 426, 936, 851, 860, 237, + 858, 424, 391, 488, 219, 266, 417, 397, 422, 404, + 269, 900, 919, 423, 341, 474, 411, 485, 506, 507, + 245, 371, 496, 463, 502, 520, 212, 242, 385, 456, + 491, 446, 364, 470, 471, 303, 445, 276, 195, 339, + 512, 210, 432, 228, 217, 476, 494, 271, 415, 202, + 458, 483, 225, 436, 0, 0, 522, 204, 481, 455, + 360, 300, 301, 203, 0, 416, 250, 274, 240, 380, + 478, 479, 238, 523, 214, 501, 206, 831, 500, 373, + 473, 482, 361, 351, 205, 480, 359, 350, 306, 325, + 326, 262, 285, 409, 344, 410, 286, 369, 368, 370, + 198, 492, 0, 199, 0, 451, 493, 524, 220, 221, + 223, 846, 261, 265, 273, 275, 281, 282, 289, 337, + 384, 408, 406, 412, 932, 468, 486, 497, 504, 510, + 511, 513, 514, 515, 516, 517, 519, 518, 817, 811, + 810, 305, 342, 924, 963, 390, 425, 226, 490, 448, + 841, 845, 839, 906, 840, 895, 896, 842, 954, 955, + 956, 525, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 0, + 928, 835, 0, 843, 844, 0, 934, 943, 944, 543, + 352, 438, 487, 307, 319, 322, 312, 331, 0, 332, + 308, 309, 314, 316, 317, 318, 323, 324, 328, 334, + 234, 899, 191, 207, 338, 959, 413, 270, 521, 499, + 495, 820, 209, 838, 244, 849, 857, 0, 863, 871, + 872, 884, 886, 887, 888, 889, 907, 908, 910, 918, + 920, 923, 925, 930, 940, 962, 193, 194, 200, 208, + 218, 222, 229, 243, 258, 260, 267, 279, 284, 287, + 292, 293, 296, 302, 348, 354, 355, 356, 357, 374, + 375, 376, 379, 382, 383, 386, 388, 389, 392, 396, + 400, 401, 402, 403, 405, 407, 414, 419, 427, 428, + 429, 430, 431, 434, 435, 440, 441, 442, 443, 444, + 452, 453, 457, 475, 477, 489, 503, 508, 433, 280, + 484, 509, 0, 347, 898, 904, 349, 263, 283, 294, + 913, 498, 454, 213, 421, 272, 201, 232, 216, 241, + 256, 259, 298, 358, 365, 394, 399, 277, 253, 230, + 418, 227, 437, 460, 461, 462, 464, 362, 248, 398, + 894, 922, 345, 466, 467, 290, 363, 0, 0, 948, + 933, 465, 0, 879, 951, 848, 867, 961, 870, 873, + 915, 827, 893, 381, 864, 819, 852, 822, 859, 823, + 850, 881, 252, 847, 935, 897, 950, 336, 249, 829, + 853, 395, 869, 197, 917, 439, 236, 346, 343, 472, + 264, 255, 251, 235, 291, 353, 393, 459, 387, 957, + 340, 903, 0, 449, 366, 0, 0, 0, 883, 939, + 891, 929, 878, 916, 837, 902, 952, 865, 912, 953, + 297, 233, 299, 196, 378, 450, 268, 0, 0, 0, + 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 224, 0, 231, 321, 330, 329, + 310, 311, 313, 315, 320, 327, 333, 861, 909, 947, + 862, 911, 247, 295, 254, 246, 469, 958, 938, 826, + 890, 946, 0, 0, 965, 949, 885, 0, 914, 0, + 964, 821, 905, 0, 824, 828, 960, 942, 856, 257, + 0, 0, 0, 0, 0, 0, 0, 882, 892, 926, + 876, 0, 0, 0, 0, 0, 0, 0, 854, 0, + 901, 0, 0, 0, 833, 825, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 880, 0, + 0, 0, 836, 0, 855, 927, 0, 818, 278, 830, + 367, 239, 0, 931, 941, 877, 505, 945, 875, 874, + 921, 834, 937, 868, 335, 832, 304, 192, 211, 0, + 866, 377, 420, 426, 936, 851, 860, 237, 858, 424, + 391, 488, 219, 266, 417, 397, 422, 404, 269, 900, + 919, 423, 341, 474, 411, 485, 506, 507, 245, 371, + 496, 463, 502, 520, 212, 242, 385, 456, 491, 446, + 364, 470, 471, 303, 445, 276, 195, 339, 512, 210, + 432, 228, 217, 476, 494, 271, 415, 202, 458, 1370, + 225, 436, 0, 0, 522, 204, 481, 455, 360, 300, + 301, 203, 0, 416, 250, 274, 240, 380, 478, 479, + 238, 523, 214, 501, 206, 831, 500, 373, 473, 482, + 361, 351, 205, 480, 359, 350, 306, 325, 326, 262, + 285, 409, 344, 410, 286, 369, 368, 370, 198, 492, + 0, 199, 0, 451, 493, 524, 220, 221, 223, 846, + 261, 265, 273, 275, 281, 282, 289, 337, 384, 408, + 406, 412, 932, 468, 486, 497, 504, 510, 511, 513, + 514, 515, 516, 517, 519, 518, 817, 811, 810, 305, + 342, 924, 963, 390, 425, 226, 490, 448, 841, 845, + 839, 906, 840, 895, 896, 842, 954, 955, 956, 525, + 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, + 536, 537, 538, 539, 540, 541, 542, 0, 928, 835, + 0, 843, 844, 0, 934, 943, 944, 543, 352, 438, + 487, 307, 319, 322, 312, 331, 0, 332, 308, 309, + 314, 316, 317, 318, 323, 324, 328, 334, 234, 899, + 191, 207, 338, 959, 413, 270, 521, 499, 495, 820, + 209, 838, 244, 849, 857, 0, 863, 871, 872, 884, + 886, 887, 888, 889, 907, 908, 910, 918, 920, 923, + 925, 930, 940, 962, 193, 194, 200, 208, 218, 222, + 229, 243, 258, 260, 267, 279, 284, 287, 292, 293, + 296, 302, 348, 354, 355, 356, 357, 374, 375, 376, + 379, 382, 383, 386, 388, 389, 392, 396, 400, 401, + 402, 403, 405, 407, 414, 419, 427, 428, 429, 430, + 431, 434, 435, 440, 441, 442, 443, 444, 452, 453, + 457, 475, 477, 489, 503, 508, 433, 280, 484, 509, + 0, 347, 898, 904, 349, 263, 283, 294, 913, 498, + 454, 213, 421, 272, 201, 232, 216, 241, 256, 259, + 298, 358, 365, 394, 399, 277, 253, 230, 418, 227, + 437, 460, 461, 462, 464, 362, 248, 398, 894, 922, + 345, 466, 467, 290, 363, 0, 0, 948, 933, 465, + 0, 879, 951, 848, 867, 961, 870, 873, 915, 827, + 893, 381, 864, 819, 852, 822, 859, 823, 850, 881, + 252, 847, 935, 897, 950, 336, 249, 829, 853, 395, + 869, 197, 917, 439, 236, 346, 343, 472, 264, 255, + 251, 235, 291, 353, 393, 459, 387, 957, 340, 903, + 0, 449, 366, 0, 0, 0, 883, 939, 891, 929, + 878, 916, 837, 902, 952, 865, 912, 953, 297, 233, + 299, 196, 378, 450, 268, 0, 0, 0, 0, 188, + 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 224, 0, 231, 321, 330, 329, 310, 311, + 313, 315, 320, 327, 333, 861, 909, 947, 862, 911, + 247, 295, 254, 246, 469, 958, 938, 826, 890, 946, + 0, 0, 965, 949, 885, 0, 914, 0, 964, 821, + 905, 0, 824, 828, 960, 942, 856, 257, 0, 0, + 0, 0, 0, 0, 0, 882, 892, 926, 876, 0, + 0, 0, 0, 0, 0, 0, 854, 0, 901, 0, + 0, 0, 833, 825, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 880, 0, 0, 0, + 836, 0, 855, 927, 0, 818, 278, 830, 367, 239, + 0, 931, 941, 877, 505, 945, 875, 874, 921, 834, + 937, 868, 335, 832, 304, 192, 211, 0, 866, 377, + 420, 426, 936, 851, 860, 237, 858, 424, 391, 488, + 219, 266, 417, 397, 422, 404, 269, 900, 919, 423, + 341, 474, 411, 485, 506, 507, 245, 371, 496, 463, + 502, 520, 212, 242, 385, 456, 491, 446, 364, 470, + 471, 303, 445, 276, 195, 339, 512, 210, 432, 228, + 217, 476, 494, 271, 415, 202, 458, 808, 225, 436, + 0, 0, 522, 204, 481, 455, 360, 300, 301, 203, + 0, 416, 250, 274, 240, 380, 478, 479, 238, 523, + 214, 501, 206, 831, 500, 373, 473, 482, 361, 351, + 205, 480, 359, 350, 306, 325, 326, 262, 285, 409, + 344, 410, 286, 369, 368, 370, 198, 492, 0, 199, + 0, 451, 493, 524, 220, 221, 223, 846, 261, 265, + 273, 275, 281, 282, 289, 337, 384, 408, 406, 412, + 932, 468, 486, 497, 504, 510, 511, 513, 514, 515, + 516, 517, 519, 518, 817, 811, 810, 305, 342, 924, + 963, 390, 425, 226, 490, 448, 841, 845, 839, 906, + 840, 895, 896, 842, 954, 955, 956, 525, 526, 527, + 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 0, 928, 835, 0, 843, + 844, 0, 934, 943, 944, 543, 352, 438, 487, 307, + 319, 322, 312, 331, 0, 332, 308, 309, 314, 316, + 317, 318, 323, 324, 328, 334, 234, 899, 191, 207, + 338, 959, 413, 270, 521, 499, 495, 820, 209, 838, + 244, 849, 857, 0, 863, 871, 872, 884, 886, 887, + 888, 889, 907, 908, 910, 918, 920, 923, 925, 930, + 940, 962, 193, 194, 200, 208, 218, 222, 229, 243, + 258, 260, 267, 279, 284, 287, 292, 293, 296, 302, + 348, 354, 355, 356, 357, 374, 375, 376, 379, 382, + 383, 386, 388, 389, 392, 396, 400, 401, 402, 403, + 405, 407, 414, 419, 427, 428, 429, 430, 431, 434, + 435, 440, 441, 442, 443, 444, 452, 453, 457, 475, + 477, 489, 503, 508, 433, 280, 484, 509, 0, 347, + 898, 904, 349, 263, 283, 294, 913, 498, 454, 213, + 421, 272, 201, 232, 216, 241, 256, 259, 298, 358, + 365, 394, 399, 277, 253, 230, 418, 227, 437, 460, + 461, 462, 464, 362, 248, 398, 894, 922, 345, 466, + 467, 290, 363, 0, 0, 0, 0, 465, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, + 0, 0, 1775, 0, 625, 0, 0, 0, 252, 630, + 0, 0, 0, 336, 249, 0, 1776, 395, 0, 197, + 0, 439, 236, 346, 343, 472, 264, 255, 251, 235, + 291, 353, 393, 459, 387, 637, 340, 0, 0, 449, + 366, 0, 0, 0, 0, 0, 632, 633, 0, 0, + 0, 0, 0, 0, 0, 0, 297, 233, 299, 196, + 378, 450, 268, 0, 87, 0, 0, 188, 189, 190, + 702, 709, 710, 711, 712, 713, 703, 705, 0, 0, + 224, 704, 231, 649, 651, 650, 660, 661, 662, 663, + 664, 665, 666, 647, 707, 714, 715, 0, 247, 295, + 254, 246, 469, 0, 0, 0, 0, 0, 0, 0, + 215, 0, 0, 0, 0, 0, 0, 0, 608, 622, + 0, 636, 0, 0, 0, 257, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 619, 620, 797, 0, 0, 0, 686, 0, 621, 0, + 0, 629, 716, 717, 718, 719, 720, 721, 722, 723, + 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, + 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, + 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, + 754, 755, 756, 757, 631, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 278, 0, 367, 239, 0, 685, + 0, 0, 505, 0, 0, 683, 0, 0, 0, 0, + 335, 0, 304, 192, 211, 0, 0, 377, 420, 426, + 0, 0, 0, 237, 0, 424, 391, 488, 219, 266, + 417, 397, 422, 404, 269, 0, 0, 423, 341, 474, + 411, 485, 506, 507, 245, 371, 496, 463, 502, 520, + 212, 242, 385, 456, 491, 446, 364, 470, 471, 303, + 445, 276, 195, 339, 512, 210, 432, 228, 217, 476, + 494, 271, 415, 202, 458, 483, 225, 436, 0, 0, + 522, 204, 481, 455, 360, 300, 301, 203, 0, 416, + 250, 274, 240, 380, 478, 479, 238, 523, 214, 501, + 206, 0, 500, 373, 473, 482, 361, 351, 205, 480, + 359, 350, 306, 655, 656, 262, 285, 409, 344, 410, + 286, 369, 368, 370, 198, 492, 0, 199, 0, 451, + 493, 524, 220, 221, 223, 0, 261, 265, 273, 275, + 281, 282, 289, 337, 384, 408, 406, 412, 0, 468, + 486, 497, 504, 510, 511, 513, 514, 515, 516, 517, + 519, 518, 372, 288, 447, 305, 342, 0, 0, 390, + 425, 226, 490, 448, 692, 684, 641, 696, 643, 693, + 694, 638, 639, 642, 695, 525, 526, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 0, 687, 628, 627, 0, 634, 635, + 0, 645, 646, 648, 652, 653, 654, 657, 658, 659, + 667, 669, 670, 668, 671, 672, 673, 676, 677, 678, + 679, 674, 675, 680, 644, 626, 191, 207, 338, 0, + 413, 270, 521, 499, 495, 0, 209, 0, 244, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 193, 194, 200, 208, 218, 222, 229, 243, 258, 260, + 267, 279, 284, 287, 292, 293, 296, 302, 348, 354, + 355, 356, 357, 374, 375, 376, 379, 382, 383, 386, + 388, 389, 392, 396, 400, 401, 402, 403, 405, 407, + 414, 419, 427, 428, 429, 430, 431, 434, 435, 440, + 441, 442, 443, 444, 452, 453, 457, 475, 477, 489, + 503, 508, 433, 280, 484, 509, 0, 347, 0, 0, + 349, 263, 283, 294, 0, 498, 454, 213, 421, 272, + 201, 232, 216, 241, 256, 259, 298, 358, 365, 394, + 399, 277, 253, 230, 418, 227, 437, 460, 461, 462, + 464, 362, 248, 398, 0, 363, 345, 466, 467, 290, + 465, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 381, 0, 0, 0, 0, 625, 0, 0, + 0, 252, 630, 0, 0, 0, 336, 249, 0, 0, + 395, 0, 197, 0, 439, 236, 346, 343, 472, 264, + 255, 251, 235, 291, 353, 393, 459, 387, 637, 340, + 0, 0, 449, 366, 0, 0, 0, 0, 0, 632, + 633, 0, 0, 0, 0, 0, 0, 0, 0, 297, + 233, 299, 196, 378, 450, 268, 0, 87, 0, 0, + 188, 189, 190, 702, 709, 710, 711, 712, 713, 703, + 705, 0, 0, 224, 704, 231, 649, 651, 650, 660, + 661, 662, 663, 664, 665, 666, 647, 707, 714, 715, + 0, 247, 295, 254, 246, 469, 0, 0, 1741, 1742, + 1743, 0, 0, 215, 0, 0, 0, 0, 0, 0, + 0, 608, 622, 0, 636, 0, 0, 0, 257, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 619, 620, 0, 0, 0, 0, 686, + 0, 621, 0, 0, 629, 716, 717, 718, 719, 720, + 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, + 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, + 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, + 751, 752, 753, 754, 755, 756, 757, 631, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 278, 0, 367, + 239, 0, 685, 0, 0, 505, 0, 0, 683, 0, + 0, 0, 0, 335, 0, 304, 192, 211, 0, 0, + 377, 420, 426, 0, 0, 0, 237, 0, 424, 391, + 488, 219, 266, 417, 397, 422, 404, 269, 0, 0, + 423, 341, 474, 411, 485, 506, 507, 245, 371, 496, + 463, 502, 520, 212, 242, 385, 456, 491, 446, 364, + 470, 471, 303, 445, 276, 195, 339, 512, 210, 432, + 228, 217, 476, 494, 271, 415, 202, 458, 483, 225, + 436, 0, 0, 522, 204, 481, 455, 360, 300, 301, + 203, 0, 416, 250, 274, 240, 380, 478, 479, 238, + 523, 214, 501, 206, 0, 500, 373, 473, 482, 361, + 351, 205, 480, 359, 350, 306, 655, 656, 262, 285, + 409, 344, 410, 286, 369, 368, 370, 198, 492, 0, + 199, 0, 451, 493, 524, 220, 221, 223, 0, 261, + 265, 273, 275, 281, 282, 289, 337, 384, 408, 406, + 412, 0, 468, 486, 497, 504, 510, 511, 513, 514, + 515, 516, 517, 519, 518, 372, 288, 447, 305, 342, + 0, 0, 390, 425, 226, 490, 448, 692, 684, 641, + 696, 643, 693, 694, 638, 639, 642, 695, 525, 526, + 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 0, 687, 628, 627, + 0, 634, 635, 0, 645, 646, 648, 652, 653, 654, + 657, 658, 659, 667, 669, 670, 668, 671, 672, 673, + 676, 677, 678, 679, 674, 675, 680, 644, 626, 191, + 207, 338, 0, 413, 270, 521, 499, 495, 0, 209, + 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 542, 351, 437, 486, 306, 318, 321, 311, 330, 0, - 331, 307, 308, 313, 315, 316, 317, 322, 323, 327, - 333, 0, 191, 207, 337, 0, 412, 269, 520, 498, - 494, 0, 209, 0, 243, 0, 0, 0, 0, 0, + 0, 0, 0, 193, 194, 200, 208, 218, 222, 229, + 243, 258, 260, 267, 279, 284, 287, 292, 293, 296, + 302, 348, 354, 355, 356, 357, 374, 375, 376, 379, + 382, 383, 386, 388, 389, 392, 396, 400, 401, 402, + 403, 405, 407, 414, 419, 427, 428, 429, 430, 431, + 434, 435, 440, 441, 442, 443, 444, 452, 453, 457, + 475, 477, 489, 503, 508, 433, 280, 484, 509, 0, + 347, 0, 0, 349, 263, 283, 294, 0, 498, 454, + 213, 421, 272, 201, 232, 216, 241, 256, 259, 298, + 358, 365, 394, 399, 277, 253, 230, 418, 227, 437, + 460, 461, 462, 464, 362, 248, 398, 0, 363, 345, + 466, 467, 290, 465, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 381, 0, 0, 0, 0, + 625, 0, 0, 0, 252, 630, 0, 0, 0, 336, + 249, 0, 0, 395, 0, 197, 0, 439, 236, 346, + 343, 472, 264, 255, 251, 235, 291, 353, 393, 459, + 387, 637, 340, 0, 0, 449, 366, 0, 0, 0, + 0, 0, 632, 633, 0, 0, 0, 0, 0, 0, + 1858, 0, 297, 233, 299, 196, 378, 450, 268, 0, + 87, 0, 0, 188, 189, 190, 702, 709, 710, 711, + 712, 713, 703, 705, 0, 0, 224, 704, 231, 649, + 651, 650, 660, 661, 662, 663, 664, 665, 666, 647, + 707, 714, 715, 1859, 247, 295, 254, 246, 469, 0, + 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, + 0, 0, 0, 0, 608, 622, 0, 636, 0, 0, + 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 619, 620, 0, 0, + 0, 0, 686, 0, 621, 0, 0, 629, 716, 717, + 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, + 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, + 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, + 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, + 631, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 278, 0, 367, 239, 0, 685, 0, 0, 505, 0, + 0, 683, 0, 0, 0, 0, 335, 0, 304, 192, + 211, 0, 0, 377, 420, 426, 0, 0, 0, 237, + 0, 424, 391, 488, 219, 266, 417, 397, 422, 404, + 269, 0, 0, 423, 341, 474, 411, 485, 506, 507, + 245, 371, 496, 463, 502, 520, 212, 242, 385, 456, + 491, 446, 364, 470, 471, 303, 445, 276, 195, 339, + 512, 210, 432, 228, 217, 476, 494, 271, 415, 202, + 458, 483, 225, 436, 0, 0, 522, 204, 481, 455, + 360, 300, 301, 203, 0, 416, 250, 274, 240, 380, + 478, 479, 238, 523, 214, 501, 206, 0, 500, 373, + 473, 482, 361, 351, 205, 480, 359, 350, 306, 655, + 656, 262, 285, 409, 344, 410, 286, 369, 368, 370, + 198, 492, 0, 199, 0, 451, 493, 524, 220, 221, + 223, 0, 261, 265, 273, 275, 281, 282, 289, 337, + 384, 408, 406, 412, 0, 468, 486, 497, 504, 510, + 511, 513, 514, 515, 516, 517, 519, 518, 372, 288, + 447, 305, 342, 0, 0, 390, 425, 226, 490, 448, + 692, 684, 641, 696, 643, 693, 694, 638, 639, 642, + 695, 525, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 0, + 687, 628, 627, 0, 634, 635, 0, 645, 646, 648, + 652, 653, 654, 657, 658, 659, 667, 669, 670, 668, + 671, 672, 673, 676, 677, 678, 679, 674, 675, 680, + 644, 626, 191, 207, 338, 0, 413, 270, 521, 499, + 495, 0, 209, 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 208, - 218, 222, 229, 242, 257, 259, 266, 278, 283, 286, - 291, 292, 295, 301, 347, 353, 354, 355, 356, 373, - 374, 375, 378, 381, 382, 385, 387, 388, 391, 395, - 399, 400, 401, 402, 404, 406, 413, 418, 426, 427, - 428, 429, 430, 433, 434, 439, 440, 441, 442, 443, - 451, 452, 456, 474, 476, 488, 502, 507, 432, 279, - 483, 508, 0, 346, 0, 0, 348, 262, 282, 293, - 0, 497, 453, 213, 420, 271, 201, 232, 216, 240, - 255, 258, 297, 357, 364, 393, 398, 276, 252, 230, - 417, 227, 436, 459, 460, 461, 463, 361, 247, 397, - 0, 362, 344, 465, 466, 289, 464, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 380, 0, - 0, 0, 0, 0, 0, 0, 0, 251, 0, 0, - 0, 0, 335, 248, 0, 0, 394, 0, 197, 0, - 438, 235, 345, 342, 471, 263, 254, 250, 234, 290, - 352, 392, 458, 386, 0, 339, 0, 0, 448, 365, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 296, 233, 298, 196, 377, - 449, 267, 0, 0, 0, 0, 188, 189, 190, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, - 0, 231, 320, 329, 328, 309, 310, 312, 314, 319, - 326, 332, 0, 0, 0, 0, 0, 246, 294, 253, - 245, 468, 0, 0, 0, 0, 0, 0, 0, 215, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1217, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 277, 0, 366, 238, 0, 0, 0, - 0, 504, 0, 0, 0, 0, 0, 0, 0, 334, - 0, 303, 192, 211, 0, 0, 376, 419, 425, 0, - 0, 0, 236, 0, 423, 390, 487, 219, 265, 416, - 396, 421, 403, 268, 0, 0, 422, 340, 473, 410, - 484, 505, 506, 244, 370, 495, 462, 501, 519, 212, - 241, 384, 455, 490, 445, 363, 469, 470, 302, 444, - 275, 195, 338, 511, 210, 431, 228, 217, 475, 493, - 270, 414, 202, 457, 482, 225, 435, 0, 0, 521, - 204, 480, 454, 359, 299, 300, 203, 0, 415, 249, - 273, 239, 379, 477, 478, 237, 522, 214, 500, 206, - 0, 499, 372, 472, 481, 360, 350, 205, 479, 358, - 349, 305, 324, 325, 261, 284, 408, 343, 409, 285, - 368, 367, 369, 198, 491, 0, 199, 0, 450, 492, - 523, 220, 221, 223, 0, 260, 264, 272, 274, 280, - 281, 288, 336, 383, 407, 405, 411, 0, 467, 485, - 496, 503, 509, 510, 512, 513, 514, 515, 516, 518, - 517, 371, 287, 446, 304, 341, 0, 0, 389, 424, - 226, 489, 447, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 524, 525, 526, 527, 528, 529, + 218, 222, 229, 243, 258, 260, 267, 279, 284, 287, + 292, 293, 296, 302, 348, 354, 355, 356, 357, 374, + 375, 376, 379, 382, 383, 386, 388, 389, 392, 396, + 400, 401, 402, 403, 405, 407, 414, 419, 427, 428, + 429, 430, 431, 434, 435, 440, 441, 442, 443, 444, + 452, 453, 457, 475, 477, 489, 503, 508, 433, 280, + 484, 509, 0, 347, 0, 0, 349, 263, 283, 294, + 0, 498, 454, 213, 421, 272, 201, 232, 216, 241, + 256, 259, 298, 358, 365, 394, 399, 277, 253, 230, + 418, 227, 437, 460, 461, 462, 464, 362, 248, 398, + 0, 0, 345, 466, 467, 290, 363, 0, 0, 0, + 78, 465, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 381, 0, 0, 0, 0, 625, 0, + 0, 0, 252, 630, 0, 0, 0, 336, 249, 0, + 0, 395, 0, 197, 0, 439, 236, 346, 343, 472, + 264, 255, 251, 235, 291, 353, 393, 459, 387, 637, + 340, 0, 0, 449, 366, 0, 0, 0, 0, 0, + 632, 633, 0, 0, 0, 0, 0, 0, 0, 0, + 297, 233, 299, 196, 378, 450, 268, 0, 87, 0, + 0, 188, 189, 190, 702, 709, 710, 711, 712, 713, + 703, 705, 0, 0, 224, 704, 231, 649, 651, 650, + 660, 661, 662, 663, 664, 665, 666, 647, 707, 714, + 715, 0, 247, 295, 254, 246, 469, 0, 0, 0, + 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, + 0, 0, 608, 622, 0, 636, 0, 0, 0, 257, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 619, 620, 0, 0, 0, 0, + 686, 0, 621, 0, 0, 629, 716, 717, 718, 719, + 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, + 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, + 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, + 750, 751, 752, 753, 754, 755, 756, 757, 631, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 278, 0, + 367, 239, 0, 685, 0, 0, 505, 0, 0, 683, + 0, 0, 0, 0, 335, 0, 304, 192, 211, 0, + 0, 377, 420, 426, 0, 0, 0, 237, 0, 424, + 391, 488, 219, 266, 417, 397, 422, 404, 269, 0, + 0, 423, 341, 474, 411, 485, 506, 507, 245, 371, + 496, 463, 502, 520, 212, 242, 385, 456, 491, 446, + 364, 470, 471, 303, 445, 276, 195, 339, 512, 210, + 432, 228, 217, 476, 494, 271, 415, 202, 458, 483, + 225, 436, 0, 0, 522, 204, 481, 455, 360, 300, + 301, 203, 0, 416, 250, 274, 240, 380, 478, 479, + 238, 523, 214, 501, 206, 0, 500, 373, 473, 482, + 361, 351, 205, 480, 359, 350, 306, 655, 656, 262, + 285, 409, 344, 410, 286, 369, 368, 370, 198, 492, + 0, 199, 0, 451, 493, 524, 220, 221, 223, 0, + 261, 265, 273, 275, 281, 282, 289, 337, 384, 408, + 406, 412, 0, 468, 486, 497, 504, 510, 511, 513, + 514, 515, 516, 517, 519, 518, 372, 288, 447, 305, + 342, 0, 0, 390, 425, 226, 490, 448, 692, 684, + 641, 696, 643, 693, 694, 638, 639, 642, 695, 525, + 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, + 536, 537, 538, 539, 540, 541, 542, 0, 687, 628, + 627, 0, 634, 635, 0, 645, 646, 648, 652, 653, + 654, 657, 658, 659, 667, 669, 670, 668, 671, 672, + 673, 676, 677, 678, 679, 674, 675, 680, 644, 626, + 191, 207, 338, 86, 413, 270, 521, 499, 495, 0, + 209, 0, 244, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 193, 194, 200, 208, 218, 222, + 229, 243, 258, 260, 267, 279, 284, 287, 292, 293, + 296, 302, 348, 354, 355, 356, 357, 374, 375, 376, + 379, 382, 383, 386, 388, 389, 392, 396, 400, 401, + 402, 403, 405, 407, 414, 419, 427, 428, 429, 430, + 431, 434, 435, 440, 441, 442, 443, 444, 452, 453, + 457, 475, 477, 489, 503, 508, 433, 280, 484, 509, + 0, 347, 0, 0, 349, 263, 283, 294, 0, 498, + 454, 213, 421, 272, 201, 232, 216, 241, 256, 259, + 298, 358, 365, 394, 399, 277, 253, 230, 418, 227, + 437, 460, 461, 462, 464, 362, 248, 398, 0, 363, + 345, 466, 467, 290, 465, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 381, 0, 0, 0, + 0, 625, 0, 0, 0, 252, 630, 0, 0, 0, + 336, 249, 0, 0, 395, 0, 197, 0, 439, 236, + 346, 343, 472, 264, 255, 251, 235, 291, 353, 393, + 459, 387, 637, 340, 0, 0, 449, 366, 0, 0, + 0, 0, 0, 632, 633, 0, 0, 0, 0, 0, + 0, 0, 0, 297, 233, 299, 196, 378, 450, 268, + 0, 87, 0, 0, 188, 189, 190, 702, 709, 710, + 711, 712, 713, 703, 705, 0, 0, 224, 704, 231, + 649, 651, 650, 660, 661, 662, 663, 664, 665, 666, + 647, 707, 714, 715, 0, 247, 295, 254, 246, 469, + 0, 0, 0, 0, 0, 0, 0, 215, 0, 0, + 0, 0, 0, 0, 0, 608, 622, 0, 636, 0, + 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 619, 620, 0, + 0, 0, 0, 686, 0, 621, 0, 0, 629, 716, + 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, + 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, + 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, + 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, + 757, 631, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 278, 0, 367, 239, 0, 685, 0, 0, 505, + 0, 0, 683, 0, 0, 0, 0, 335, 0, 304, + 192, 211, 0, 0, 377, 420, 426, 0, 0, 0, + 237, 0, 424, 391, 488, 219, 266, 417, 397, 422, + 404, 269, 2959, 0, 423, 341, 474, 411, 485, 506, + 507, 245, 371, 496, 463, 502, 520, 212, 242, 385, + 456, 491, 446, 364, 470, 471, 303, 445, 276, 195, + 339, 512, 210, 432, 228, 217, 476, 494, 271, 415, + 202, 458, 483, 225, 436, 0, 0, 522, 204, 481, + 455, 360, 300, 301, 203, 0, 416, 250, 274, 240, + 380, 478, 479, 238, 523, 214, 501, 206, 0, 500, + 373, 473, 482, 361, 351, 205, 480, 359, 350, 306, + 655, 656, 262, 285, 409, 344, 410, 286, 369, 368, + 370, 198, 492, 0, 199, 0, 451, 493, 524, 220, + 221, 223, 0, 261, 265, 273, 275, 281, 282, 289, + 337, 384, 408, 406, 412, 0, 468, 486, 497, 504, + 510, 511, 513, 514, 515, 516, 517, 519, 518, 372, + 288, 447, 305, 342, 0, 0, 390, 425, 226, 490, + 448, 692, 684, 641, 696, 643, 693, 694, 638, 639, + 642, 695, 525, 526, 527, 528, 529, 530, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 0, 687, 628, 627, 0, 634, 635, 0, 645, 646, + 648, 652, 653, 654, 657, 658, 659, 667, 669, 670, + 668, 671, 672, 673, 676, 677, 678, 679, 674, 675, + 680, 644, 626, 191, 207, 338, 0, 413, 270, 521, + 499, 495, 0, 209, 0, 244, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, + 208, 218, 222, 229, 243, 258, 260, 267, 279, 284, + 287, 292, 293, 296, 302, 348, 354, 355, 356, 357, + 374, 375, 376, 379, 382, 383, 386, 388, 389, 392, + 396, 400, 401, 402, 403, 405, 407, 414, 419, 427, + 428, 429, 430, 431, 434, 435, 440, 441, 442, 443, + 444, 452, 453, 457, 475, 477, 489, 503, 508, 433, + 280, 484, 509, 0, 347, 0, 0, 349, 263, 283, + 294, 0, 498, 454, 213, 421, 272, 201, 232, 216, + 241, 256, 259, 298, 358, 365, 394, 399, 277, 253, + 230, 418, 227, 437, 460, 461, 462, 464, 362, 248, + 398, 0, 363, 345, 466, 467, 290, 465, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, + 0, 0, 0, 0, 625, 0, 0, 0, 252, 630, + 0, 0, 0, 336, 249, 0, 0, 395, 0, 197, + 0, 439, 236, 346, 343, 472, 264, 255, 251, 235, + 291, 353, 393, 459, 387, 637, 340, 0, 0, 449, + 366, 0, 0, 0, 0, 0, 632, 633, 0, 0, + 0, 0, 0, 0, 0, 0, 297, 233, 299, 196, + 378, 450, 268, 0, 87, 0, 1337, 188, 189, 190, + 702, 709, 710, 711, 712, 713, 703, 705, 0, 0, + 224, 704, 231, 649, 651, 650, 660, 661, 662, 663, + 664, 665, 666, 647, 707, 714, 715, 0, 247, 295, + 254, 246, 469, 0, 0, 0, 0, 0, 0, 0, + 215, 0, 0, 0, 0, 0, 0, 0, 608, 622, + 0, 636, 0, 0, 0, 257, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 619, 620, 0, 0, 0, 0, 686, 0, 621, 0, + 0, 629, 716, 717, 718, 719, 720, 721, 722, 723, + 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, + 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, + 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, + 754, 755, 756, 757, 631, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 278, 0, 367, 239, 0, 685, + 0, 0, 505, 0, 0, 683, 0, 0, 0, 0, + 335, 0, 304, 192, 211, 0, 0, 377, 420, 426, + 0, 0, 0, 237, 0, 424, 391, 488, 219, 266, + 417, 397, 422, 404, 269, 0, 0, 423, 341, 474, + 411, 485, 506, 507, 245, 371, 496, 463, 502, 520, + 212, 242, 385, 456, 491, 446, 364, 470, 471, 303, + 445, 276, 195, 339, 512, 210, 432, 228, 217, 476, + 494, 271, 415, 202, 458, 483, 225, 436, 0, 0, + 522, 204, 481, 455, 360, 300, 301, 203, 0, 416, + 250, 274, 240, 380, 478, 479, 238, 523, 214, 501, + 206, 0, 500, 373, 473, 482, 361, 351, 205, 480, + 359, 350, 306, 655, 656, 262, 285, 409, 344, 410, + 286, 369, 368, 370, 198, 492, 0, 199, 0, 451, + 493, 524, 220, 221, 223, 0, 261, 265, 273, 275, + 281, 282, 289, 337, 384, 408, 406, 412, 0, 468, + 486, 497, 504, 510, 511, 513, 514, 515, 516, 517, + 519, 518, 372, 288, 447, 305, 342, 0, 0, 390, + 425, 226, 490, 448, 692, 684, 641, 696, 643, 693, + 694, 638, 639, 642, 695, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 542, 351, 437, 486, 306, 318, 321, 311, - 330, 0, 331, 307, 308, 313, 315, 316, 317, 322, - 323, 327, 333, 0, 191, 207, 337, 0, 412, 269, - 520, 498, 494, 0, 209, 0, 243, 0, 0, 0, + 540, 541, 542, 0, 687, 628, 627, 0, 634, 635, + 0, 645, 646, 648, 652, 653, 654, 657, 658, 659, + 667, 669, 670, 668, 671, 672, 673, 676, 677, 678, + 679, 674, 675, 680, 644, 626, 191, 207, 338, 0, + 413, 270, 521, 499, 495, 0, 209, 0, 244, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 193, 194, 200, 208, 218, 222, 229, 243, 258, 260, + 267, 279, 284, 287, 292, 293, 296, 302, 348, 354, + 355, 356, 357, 374, 375, 376, 379, 382, 383, 386, + 388, 389, 392, 396, 400, 401, 402, 403, 405, 407, + 414, 419, 427, 428, 429, 430, 431, 434, 435, 440, + 441, 442, 443, 444, 452, 453, 457, 475, 477, 489, + 503, 508, 433, 280, 484, 509, 0, 347, 0, 0, + 349, 263, 283, 294, 0, 498, 454, 213, 421, 272, + 201, 232, 216, 241, 256, 259, 298, 358, 365, 394, + 399, 277, 253, 230, 418, 227, 437, 460, 461, 462, + 464, 362, 248, 398, 0, 363, 345, 466, 467, 290, + 465, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 381, 0, 0, 0, 0, 625, 0, 0, + 0, 252, 630, 0, 0, 0, 336, 249, 0, 0, + 395, 0, 197, 0, 439, 236, 346, 343, 472, 264, + 255, 251, 235, 291, 353, 393, 459, 387, 637, 340, + 0, 0, 449, 366, 0, 0, 0, 0, 0, 632, + 633, 0, 0, 0, 0, 0, 0, 0, 0, 297, + 233, 299, 196, 378, 450, 268, 0, 87, 0, 0, + 188, 189, 190, 702, 709, 710, 711, 712, 713, 703, + 705, 0, 0, 224, 704, 231, 649, 651, 650, 660, + 661, 662, 663, 664, 665, 666, 647, 707, 714, 715, + 0, 247, 295, 254, 246, 469, 0, 0, 0, 0, + 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, + 0, 608, 622, 0, 636, 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, - 200, 208, 218, 222, 229, 242, 257, 259, 266, 278, - 283, 286, 291, 292, 295, 301, 347, 353, 354, 355, - 356, 373, 374, 375, 378, 381, 382, 385, 387, 388, - 391, 395, 399, 400, 401, 402, 404, 406, 413, 418, - 426, 427, 428, 429, 430, 433, 434, 439, 440, 441, - 442, 443, 451, 452, 456, 474, 476, 488, 502, 507, - 432, 279, 483, 508, 0, 346, 0, 0, 348, 262, - 282, 293, 0, 497, 453, 213, 420, 271, 201, 232, - 216, 240, 255, 258, 297, 357, 364, 393, 398, 276, - 252, 230, 417, 227, 436, 459, 460, 461, 463, 361, - 247, 397, 0, 362, 344, 465, 466, 289, 464, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 380, 0, 0, 0, 0, 0, 0, 0, 0, 251, - 0, 0, 0, 0, 335, 248, 0, 0, 394, 0, - 197, 0, 438, 235, 345, 342, 471, 263, 254, 250, - 234, 290, 352, 392, 458, 386, 0, 339, 0, 0, - 448, 365, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 296, 233, 298, - 196, 377, 449, 267, 0, 0, 0, 0, 188, 189, - 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 224, 0, 231, 320, 329, 328, 309, 310, 312, - 314, 319, 326, 332, 0, 0, 0, 0, 0, 246, - 294, 253, 245, 468, 0, 0, 0, 0, 0, 0, - 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 256, 0, 0, 0, + 0, 0, 0, 619, 620, 797, 0, 0, 0, 686, + 0, 621, 0, 0, 629, 716, 717, 718, 719, 720, + 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, + 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, + 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, + 751, 752, 753, 754, 755, 756, 757, 631, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 278, 0, 367, + 239, 0, 685, 0, 0, 505, 0, 0, 683, 0, + 0, 0, 0, 335, 0, 304, 192, 211, 0, 0, + 377, 420, 426, 0, 0, 0, 237, 0, 424, 391, + 488, 219, 266, 417, 397, 422, 404, 269, 0, 0, + 423, 341, 474, 411, 485, 506, 507, 245, 371, 496, + 463, 502, 520, 212, 242, 385, 456, 491, 446, 364, + 470, 471, 303, 445, 276, 195, 339, 512, 210, 432, + 228, 217, 476, 494, 271, 415, 202, 458, 483, 225, + 436, 0, 0, 522, 204, 481, 455, 360, 300, 301, + 203, 0, 416, 250, 274, 240, 380, 478, 479, 238, + 523, 214, 501, 206, 0, 500, 373, 473, 482, 361, + 351, 205, 480, 359, 350, 306, 655, 656, 262, 285, + 409, 344, 410, 286, 369, 368, 370, 198, 492, 0, + 199, 0, 451, 493, 524, 220, 221, 223, 0, 261, + 265, 273, 275, 281, 282, 289, 337, 384, 408, 406, + 412, 0, 468, 486, 497, 504, 510, 511, 513, 514, + 515, 516, 517, 519, 518, 372, 288, 447, 305, 342, + 0, 0, 390, 425, 226, 490, 448, 692, 684, 641, + 696, 643, 693, 694, 638, 639, 642, 695, 525, 526, + 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 0, 687, 628, 627, + 0, 634, 635, 0, 645, 646, 648, 652, 653, 654, + 657, 658, 659, 667, 669, 670, 668, 671, 672, 673, + 676, 677, 678, 679, 674, 675, 680, 644, 626, 191, + 207, 338, 0, 413, 270, 521, 499, 495, 0, 209, + 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 193, 194, 200, 208, 218, 222, 229, + 243, 258, 260, 267, 279, 284, 287, 292, 293, 296, + 302, 348, 354, 355, 356, 357, 374, 375, 376, 379, + 382, 383, 386, 388, 389, 392, 396, 400, 401, 402, + 403, 405, 407, 414, 419, 427, 428, 429, 430, 431, + 434, 435, 440, 441, 442, 443, 444, 452, 453, 457, + 475, 477, 489, 503, 508, 433, 280, 484, 509, 0, + 347, 0, 0, 349, 263, 283, 294, 0, 498, 454, + 213, 421, 272, 201, 232, 216, 241, 256, 259, 298, + 358, 365, 394, 399, 277, 253, 230, 418, 227, 437, + 460, 461, 462, 464, 362, 248, 398, 0, 363, 345, + 466, 467, 290, 465, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 381, 0, 0, 0, 0, + 625, 0, 0, 0, 252, 630, 0, 0, 0, 336, + 249, 0, 0, 395, 0, 197, 0, 439, 236, 346, + 343, 472, 264, 255, 251, 235, 291, 353, 393, 459, + 387, 637, 340, 0, 0, 449, 366, 0, 0, 0, + 0, 0, 632, 633, 0, 0, 0, 0, 0, 0, + 0, 0, 297, 233, 299, 196, 378, 450, 268, 0, + 87, 0, 0, 188, 189, 190, 702, 709, 710, 711, + 712, 713, 703, 705, 0, 0, 224, 704, 231, 649, + 651, 650, 660, 661, 662, 663, 664, 665, 666, 647, + 707, 714, 715, 0, 247, 295, 254, 246, 469, 0, + 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, + 0, 0, 0, 0, 608, 622, 0, 636, 0, 0, + 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 619, 620, 0, 0, + 0, 0, 686, 0, 621, 0, 0, 629, 716, 717, + 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, + 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, + 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, + 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, + 631, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 278, 0, 367, 239, 0, 685, 0, 0, 505, 0, + 0, 683, 0, 0, 0, 0, 335, 0, 304, 192, + 211, 0, 0, 377, 420, 426, 0, 0, 0, 237, + 0, 424, 391, 488, 219, 266, 417, 397, 422, 404, + 269, 0, 0, 423, 341, 474, 411, 485, 506, 507, + 245, 371, 496, 463, 502, 520, 212, 242, 385, 456, + 491, 446, 364, 470, 471, 303, 445, 276, 195, 339, + 512, 210, 432, 228, 217, 476, 494, 271, 415, 202, + 458, 483, 225, 436, 0, 0, 522, 204, 481, 455, + 360, 300, 301, 203, 0, 416, 250, 274, 240, 380, + 478, 479, 238, 523, 214, 501, 206, 0, 500, 373, + 473, 482, 361, 351, 205, 480, 359, 350, 306, 655, + 656, 262, 285, 409, 344, 410, 286, 369, 368, 370, + 198, 492, 0, 199, 0, 451, 493, 524, 220, 221, + 223, 0, 261, 265, 273, 275, 281, 282, 289, 337, + 384, 408, 406, 412, 0, 468, 486, 497, 504, 510, + 511, 513, 514, 515, 516, 517, 519, 518, 372, 288, + 447, 305, 342, 0, 0, 390, 425, 226, 490, 448, + 692, 684, 641, 696, 643, 693, 694, 638, 639, 642, + 695, 525, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 0, + 687, 628, 627, 0, 634, 635, 0, 645, 646, 648, + 652, 653, 654, 657, 658, 659, 667, 669, 670, 668, + 671, 672, 673, 676, 677, 678, 679, 674, 675, 680, + 644, 626, 191, 207, 338, 0, 413, 270, 521, 499, + 495, 0, 209, 0, 244, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 193, 194, 200, 208, + 218, 222, 229, 243, 258, 260, 267, 279, 284, 287, + 292, 293, 296, 302, 348, 354, 355, 356, 357, 374, + 375, 376, 379, 382, 383, 386, 388, 389, 392, 396, + 400, 401, 402, 403, 405, 407, 414, 419, 427, 428, + 429, 430, 431, 434, 435, 440, 441, 442, 443, 444, + 452, 453, 457, 475, 477, 489, 503, 508, 433, 280, + 484, 509, 0, 347, 0, 0, 349, 263, 283, 294, + 0, 498, 454, 213, 421, 272, 201, 232, 216, 241, + 256, 259, 298, 358, 365, 394, 399, 277, 253, 230, + 418, 227, 437, 460, 461, 462, 464, 362, 248, 398, + 0, 363, 345, 466, 467, 290, 465, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, + 0, 0, 0, 625, 0, 0, 0, 252, 630, 0, + 0, 0, 336, 249, 0, 0, 395, 0, 197, 0, + 439, 236, 346, 343, 472, 264, 255, 251, 235, 291, + 353, 393, 459, 387, 637, 340, 0, 0, 449, 366, + 0, 0, 0, 0, 0, 632, 633, 0, 0, 0, + 0, 0, 0, 0, 0, 297, 233, 299, 196, 378, + 450, 268, 0, 87, 0, 0, 188, 189, 190, 702, + 709, 710, 711, 712, 713, 703, 705, 0, 0, 224, + 704, 231, 649, 651, 650, 660, 661, 662, 663, 664, + 665, 666, 647, 707, 714, 715, 0, 247, 295, 254, + 246, 469, 0, 0, 0, 0, 0, 0, 0, 215, + 0, 0, 0, 0, 0, 0, 0, 0, 622, 0, + 636, 0, 0, 0, 257, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 619, + 620, 0, 0, 0, 0, 686, 0, 621, 0, 0, + 629, 716, 717, 718, 719, 720, 721, 722, 723, 724, + 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, + 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, + 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, + 755, 756, 757, 631, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 278, 0, 367, 239, 0, 685, 0, + 0, 505, 0, 0, 683, 0, 0, 0, 0, 335, + 0, 304, 192, 211, 0, 0, 377, 420, 426, 0, + 0, 0, 237, 0, 424, 391, 488, 219, 266, 417, + 397, 422, 404, 269, 0, 0, 423, 341, 474, 411, + 485, 506, 507, 245, 371, 496, 463, 502, 520, 212, + 242, 385, 456, 491, 446, 364, 470, 471, 303, 445, + 276, 195, 339, 512, 210, 432, 228, 217, 476, 494, + 271, 415, 202, 458, 483, 225, 436, 0, 0, 522, + 204, 481, 455, 360, 300, 301, 203, 0, 416, 250, + 274, 240, 380, 478, 479, 238, 523, 214, 501, 206, + 0, 500, 373, 473, 482, 361, 351, 205, 480, 359, + 350, 306, 655, 656, 262, 285, 409, 344, 410, 286, + 369, 368, 370, 198, 492, 0, 199, 0, 451, 493, + 524, 220, 221, 223, 0, 261, 265, 273, 275, 281, + 282, 289, 337, 384, 408, 406, 412, 0, 468, 486, + 497, 504, 510, 511, 513, 514, 515, 516, 517, 519, + 518, 372, 288, 447, 305, 342, 0, 0, 390, 425, + 226, 490, 448, 692, 684, 641, 696, 643, 693, 694, + 638, 639, 642, 695, 525, 526, 527, 528, 529, 530, + 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, + 541, 542, 0, 687, 628, 627, 0, 634, 635, 0, + 645, 646, 648, 652, 653, 654, 657, 658, 659, 667, + 669, 670, 668, 671, 672, 673, 676, 677, 678, 679, + 674, 675, 680, 644, 626, 191, 207, 338, 0, 413, + 270, 521, 499, 495, 0, 209, 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, + 194, 200, 208, 218, 222, 229, 243, 258, 260, 267, + 279, 284, 287, 292, 293, 296, 302, 348, 354, 355, + 356, 357, 374, 375, 376, 379, 382, 383, 386, 388, + 389, 392, 396, 400, 401, 402, 403, 405, 407, 414, + 419, 427, 428, 429, 430, 431, 434, 435, 440, 441, + 442, 443, 444, 452, 453, 457, 475, 477, 489, 503, + 508, 433, 280, 484, 509, 0, 347, 0, 0, 349, + 263, 283, 294, 0, 498, 454, 213, 421, 272, 201, + 232, 216, 241, 256, 259, 298, 358, 365, 394, 399, + 277, 253, 230, 418, 227, 437, 460, 461, 462, 464, + 362, 248, 398, 0, 363, 345, 466, 467, 290, 465, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 381, 0, 0, 0, 0, 0, 0, 0, 0, + 252, 0, 0, 0, 0, 336, 249, 0, 0, 395, + 0, 197, 0, 439, 236, 346, 343, 472, 264, 255, + 251, 235, 291, 353, 393, 459, 387, 0, 340, 0, + 0, 449, 366, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 297, 233, + 299, 196, 378, 450, 268, 0, 0, 0, 0, 188, + 189, 190, 0, 709, 710, 0, 0, 0, 0, 1685, + 0, 0, 224, 0, 231, 321, 330, 329, 310, 311, + 313, 315, 320, 327, 333, 0, 0, 0, 0, 0, + 247, 295, 254, 246, 469, 0, 0, 0, 0, 0, + 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 257, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 716, 717, 718, 719, 720, 721, + 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, + 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, + 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, + 752, 753, 754, 755, 756, 757, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 278, 0, 367, 239, + 0, 0, 0, 0, 505, 0, 0, 0, 0, 0, + 0, 0, 335, 0, 304, 192, 211, 0, 0, 377, + 420, 426, 0, 0, 0, 237, 0, 424, 391, 488, + 219, 266, 417, 397, 422, 404, 269, 0, 0, 423, + 341, 474, 411, 485, 506, 507, 245, 371, 496, 463, + 502, 520, 212, 242, 385, 456, 491, 446, 364, 470, + 471, 303, 445, 276, 195, 339, 512, 210, 432, 228, + 217, 476, 494, 271, 415, 202, 458, 483, 225, 436, + 0, 0, 522, 204, 481, 455, 360, 300, 301, 203, + 0, 416, 250, 274, 240, 380, 478, 479, 238, 523, + 214, 501, 206, 0, 500, 373, 473, 482, 361, 351, + 205, 480, 359, 350, 306, 325, 326, 262, 285, 409, + 344, 410, 286, 369, 368, 370, 198, 492, 0, 199, + 0, 451, 493, 524, 220, 221, 223, 0, 261, 265, + 273, 275, 281, 282, 289, 337, 384, 408, 406, 412, + 0, 468, 486, 497, 504, 510, 511, 513, 514, 515, + 516, 517, 519, 518, 372, 288, 447, 305, 342, 0, + 0, 390, 425, 226, 490, 448, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 525, 526, 527, + 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 543, 352, 438, 487, 307, + 319, 322, 312, 331, 0, 332, 308, 309, 314, 316, + 317, 318, 323, 324, 328, 334, 234, 0, 191, 207, + 338, 0, 413, 270, 521, 499, 495, 0, 209, 0, + 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 193, 194, 200, 208, 218, 222, 229, 243, + 258, 260, 267, 279, 284, 287, 292, 293, 296, 302, + 348, 354, 355, 356, 357, 374, 375, 376, 379, 382, + 383, 386, 388, 389, 392, 396, 400, 401, 402, 403, + 405, 407, 414, 419, 427, 428, 429, 430, 431, 434, + 435, 440, 441, 442, 443, 444, 452, 453, 457, 475, + 477, 489, 503, 508, 433, 280, 484, 509, 0, 347, + 0, 0, 349, 263, 283, 294, 0, 498, 454, 213, + 421, 272, 201, 232, 216, 241, 256, 259, 298, 358, + 365, 394, 399, 277, 253, 230, 418, 227, 437, 460, + 461, 462, 464, 362, 248, 398, 0, 363, 345, 466, + 467, 290, 465, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 381, 0, 0, 0, 0, 0, + 0, 0, 0, 252, 0, 0, 0, 0, 336, 249, + 0, 0, 395, 0, 197, 0, 439, 236, 346, 343, + 472, 264, 255, 251, 235, 291, 353, 393, 459, 387, + 0, 340, 0, 0, 449, 366, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 297, 233, 299, 196, 378, 450, 268, 0, 0, + 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 224, 0, 231, 321, 330, + 329, 310, 311, 313, 315, 320, 327, 333, 0, 0, + 0, 0, 0, 247, 295, 254, 246, 469, 0, 0, + 0, 0, 0, 0, 0, 215, 0, 1016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 277, 0, 366, 238, 0, - 0, 0, 0, 504, 0, 0, 0, 0, 0, 0, - 0, 334, 0, 303, 192, 211, 0, 0, 376, 419, - 425, 0, 0, 0, 236, 0, 423, 390, 487, 219, - 265, 416, 396, 421, 403, 268, 0, 0, 422, 340, - 473, 410, 484, 505, 506, 244, 370, 495, 462, 501, - 519, 212, 241, 384, 455, 490, 445, 363, 469, 470, - 302, 444, 275, 195, 338, 511, 210, 431, 228, 217, - 475, 493, 270, 414, 202, 457, 482, 225, 435, 0, - 0, 521, 204, 480, 454, 359, 299, 300, 203, 0, - 415, 249, 273, 239, 379, 477, 478, 237, 522, 214, - 500, 206, 0, 499, 372, 472, 481, 360, 350, 205, - 479, 358, 349, 305, 324, 325, 261, 284, 408, 343, - 409, 285, 368, 367, 369, 198, 491, 0, 199, 0, - 450, 492, 523, 220, 221, 223, 0, 260, 264, 272, - 274, 280, 281, 288, 336, 383, 407, 405, 411, 0, - 467, 485, 496, 503, 509, 510, 512, 513, 514, 515, - 516, 518, 517, 371, 287, 446, 304, 341, 0, 0, - 389, 424, 226, 489, 447, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 524, 525, 526, 527, - 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, - 538, 539, 540, 541, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 542, 351, 437, 486, 306, 318, - 321, 311, 330, 0, 331, 307, 308, 313, 315, 316, - 317, 322, 323, 327, 333, 0, 191, 207, 337, 1633, - 412, 269, 520, 498, 494, 0, 209, 0, 243, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 193, 194, 200, 208, 218, 222, 229, 242, 257, 259, - 266, 278, 283, 286, 291, 292, 295, 301, 347, 353, - 354, 355, 356, 373, 374, 375, 378, 381, 382, 385, - 387, 388, 391, 395, 399, 400, 401, 402, 404, 406, - 413, 418, 426, 427, 428, 429, 430, 433, 434, 439, - 440, 441, 442, 443, 451, 452, 456, 474, 476, 488, - 502, 507, 432, 279, 483, 508, 0, 346, 0, 0, - 348, 262, 282, 293, 0, 497, 453, 213, 420, 271, - 201, 232, 216, 240, 255, 258, 297, 357, 364, 393, - 398, 276, 252, 230, 417, 227, 436, 459, 460, 461, - 463, 361, 247, 397, 0, 362, 344, 465, 466, 289, - 464, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 380, 0, 1503, 0, 0, 0, 0, 0, - 0, 251, 0, 0, 0, 0, 335, 248, 0, 0, - 394, 0, 197, 0, 438, 235, 345, 342, 471, 263, - 254, 250, 234, 290, 352, 392, 458, 386, 0, 339, - 0, 0, 448, 365, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 296, - 233, 298, 196, 377, 449, 267, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, + 0, 367, 239, 0, 0, 0, 1015, 505, 0, 0, + 0, 0, 0, 1012, 1013, 335, 973, 304, 192, 211, + 1006, 1010, 377, 420, 426, 0, 0, 0, 237, 0, + 424, 391, 488, 219, 266, 417, 397, 422, 404, 269, + 0, 0, 423, 341, 474, 411, 485, 506, 507, 245, + 371, 496, 463, 502, 520, 212, 242, 385, 456, 491, + 446, 364, 470, 471, 303, 445, 276, 195, 339, 512, + 210, 432, 228, 217, 476, 494, 271, 415, 202, 458, + 483, 225, 436, 0, 0, 522, 204, 481, 455, 360, + 300, 301, 203, 0, 416, 250, 274, 240, 380, 478, + 479, 238, 523, 214, 501, 206, 0, 500, 373, 473, + 482, 361, 351, 205, 480, 359, 350, 306, 325, 326, + 262, 285, 409, 344, 410, 286, 369, 368, 370, 198, + 492, 0, 199, 0, 451, 493, 524, 220, 221, 223, + 0, 261, 265, 273, 275, 281, 282, 289, 337, 384, + 408, 406, 412, 0, 468, 486, 497, 504, 510, 511, + 513, 514, 515, 516, 517, 519, 518, 372, 288, 447, + 305, 342, 0, 0, 390, 425, 226, 490, 448, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 543, 352, + 438, 487, 307, 319, 322, 312, 331, 0, 332, 308, + 309, 314, 316, 317, 318, 323, 324, 328, 334, 234, + 0, 191, 207, 338, 0, 413, 270, 521, 499, 495, + 0, 209, 0, 244, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 193, 194, 200, 208, 218, + 222, 229, 243, 258, 260, 267, 279, 284, 287, 292, + 293, 296, 302, 348, 354, 355, 356, 357, 374, 375, + 376, 379, 382, 383, 386, 388, 389, 392, 396, 400, + 401, 402, 403, 405, 407, 414, 419, 427, 428, 429, + 430, 431, 434, 435, 440, 441, 442, 443, 444, 452, + 453, 457, 475, 477, 489, 503, 508, 433, 280, 484, + 509, 0, 347, 0, 0, 349, 263, 283, 294, 0, + 498, 454, 213, 421, 272, 201, 232, 216, 241, 256, + 259, 298, 358, 365, 394, 399, 277, 253, 230, 418, + 227, 437, 460, 461, 462, 464, 362, 248, 398, 0, + 0, 345, 466, 467, 290, 363, 0, 0, 0, 78, + 465, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 381, 0, 0, 0, 0, 0, 0, 0, + 0, 252, 0, 0, 0, 0, 336, 249, 0, 0, + 395, 0, 197, 0, 439, 236, 346, 343, 472, 264, + 255, 251, 235, 291, 353, 393, 459, 387, 0, 340, + 0, 0, 449, 366, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, + 233, 299, 196, 378, 450, 268, 0, 87, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 224, 0, 231, 320, 329, 328, 309, - 310, 312, 314, 319, 326, 332, 0, 0, 0, 0, - 0, 246, 294, 253, 245, 468, 0, 0, 0, 0, + 0, 0, 0, 224, 0, 231, 321, 330, 329, 310, + 311, 313, 315, 320, 327, 333, 0, 0, 0, 0, + 0, 247, 295, 254, 246, 469, 0, 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4680,120 +3517,181 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 277, 0, 366, - 238, 0, 0, 0, 0, 504, 0, 0, 0, 0, - 0, 0, 0, 334, 0, 303, 192, 211, 0, 0, - 376, 419, 425, 0, 0, 0, 236, 0, 423, 390, - 487, 219, 265, 416, 396, 421, 403, 268, 0, 0, - 422, 340, 473, 410, 484, 505, 506, 244, 370, 495, - 462, 501, 519, 212, 241, 384, 455, 490, 445, 363, - 469, 470, 302, 444, 275, 195, 338, 511, 210, 431, - 228, 217, 475, 493, 270, 414, 202, 457, 482, 225, - 435, 0, 0, 521, 204, 480, 454, 359, 299, 300, - 203, 0, 415, 249, 273, 239, 379, 477, 478, 237, - 522, 214, 500, 206, 0, 499, 372, 472, 481, 360, - 350, 205, 479, 358, 349, 305, 324, 325, 261, 284, - 408, 343, 409, 285, 368, 367, 369, 198, 491, 0, - 199, 0, 450, 492, 523, 220, 221, 223, 0, 260, - 264, 272, 274, 280, 281, 288, 336, 383, 407, 405, - 411, 0, 467, 485, 496, 503, 509, 510, 512, 513, - 514, 515, 516, 518, 517, 371, 287, 446, 304, 341, - 0, 0, 389, 424, 226, 489, 447, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, - 536, 537, 538, 539, 540, 541, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 542, 351, 437, 486, - 306, 318, 321, 311, 330, 0, 331, 307, 308, 313, - 315, 316, 317, 322, 323, 327, 333, 0, 191, 207, - 337, 0, 412, 269, 520, 498, 494, 0, 209, 0, - 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 193, 194, 200, 208, 218, 222, 229, 242, - 257, 259, 266, 278, 283, 286, 291, 292, 295, 301, - 347, 353, 354, 355, 356, 373, 374, 375, 378, 381, - 382, 385, 387, 388, 391, 395, 399, 400, 401, 402, - 404, 406, 413, 418, 426, 427, 428, 429, 430, 433, - 434, 439, 440, 441, 442, 443, 451, 452, 456, 474, - 476, 488, 502, 507, 432, 279, 483, 508, 0, 346, - 0, 0, 348, 262, 282, 293, 0, 497, 453, 213, - 420, 271, 201, 232, 216, 240, 255, 258, 297, 357, - 364, 393, 398, 276, 252, 230, 417, 227, 436, 459, - 460, 461, 463, 361, 247, 397, 0, 362, 344, 465, - 466, 289, 464, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 380, 0, 1501, 0, 0, 0, - 0, 0, 0, 251, 0, 0, 0, 0, 335, 248, - 0, 0, 394, 0, 197, 0, 438, 235, 345, 342, - 471, 263, 254, 250, 234, 290, 352, 392, 458, 386, - 0, 339, 0, 0, 448, 365, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 296, 233, 298, 196, 377, 449, 267, 0, 0, - 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 224, 0, 231, 320, 329, - 328, 309, 310, 312, 314, 319, 326, 332, 0, 0, - 0, 0, 0, 246, 294, 253, 245, 468, 0, 0, - 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 278, 0, 367, + 239, 0, 0, 0, 0, 505, 0, 0, 0, 0, + 0, 0, 0, 335, 0, 304, 192, 211, 0, 0, + 377, 420, 426, 0, 0, 0, 237, 0, 424, 391, + 488, 219, 266, 417, 397, 422, 404, 269, 0, 0, + 423, 341, 474, 411, 485, 506, 507, 245, 371, 496, + 463, 502, 520, 212, 242, 385, 456, 491, 446, 364, + 470, 471, 303, 445, 276, 195, 339, 512, 210, 432, + 228, 217, 476, 494, 271, 415, 202, 458, 483, 225, + 436, 0, 0, 522, 204, 481, 455, 360, 300, 301, + 203, 0, 416, 250, 274, 240, 380, 478, 479, 238, + 523, 214, 501, 206, 0, 500, 373, 473, 482, 361, + 351, 205, 480, 359, 350, 306, 325, 326, 262, 285, + 409, 344, 410, 286, 369, 368, 370, 198, 492, 0, + 199, 0, 451, 493, 524, 220, 221, 223, 0, 261, + 265, 273, 275, 281, 282, 289, 337, 384, 408, 406, + 412, 0, 468, 486, 497, 504, 510, 511, 513, 514, + 515, 516, 517, 519, 518, 372, 288, 447, 305, 342, + 0, 0, 390, 425, 226, 490, 448, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 525, 526, + 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 543, 352, 438, 487, + 307, 319, 322, 312, 331, 0, 332, 308, 309, 314, + 316, 317, 318, 323, 324, 328, 334, 234, 0, 191, + 207, 338, 86, 413, 270, 521, 499, 495, 0, 209, + 0, 244, 0, 0, 0, 0, 0, 0, 1846, 0, + 0, 1845, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 193, 194, 200, 208, 218, 222, 229, + 243, 258, 260, 267, 279, 284, 287, 292, 293, 296, + 302, 348, 354, 355, 356, 357, 374, 375, 376, 379, + 382, 383, 386, 388, 389, 392, 396, 400, 401, 402, + 403, 405, 407, 414, 419, 427, 428, 429, 430, 431, + 434, 435, 440, 441, 442, 443, 444, 452, 453, 457, + 475, 477, 489, 503, 508, 433, 280, 484, 509, 0, + 347, 0, 0, 349, 263, 283, 294, 0, 498, 454, + 213, 421, 272, 201, 232, 216, 241, 256, 259, 298, + 358, 365, 394, 399, 277, 253, 230, 418, 227, 437, + 460, 461, 462, 464, 362, 248, 398, 0, 1356, 345, + 466, 467, 290, 465, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 381, 0, 0, 0, 1358, + 0, 0, 0, 0, 252, 0, 0, 0, 0, 336, + 249, 0, 0, 395, 0, 197, 0, 439, 236, 346, + 343, 472, 264, 255, 251, 235, 291, 353, 393, 459, + 387, 0, 340, 0, 0, 449, 366, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 297, 233, 299, 196, 378, 450, 268, 0, + 0, 0, 0, 188, 189, 190, 0, 1360, 0, 0, + 0, 0, 0, 0, 0, 0, 224, 0, 231, 321, + 330, 329, 310, 311, 313, 315, 320, 327, 333, 0, + 0, 0, 0, 0, 247, 295, 254, 246, 469, 0, + 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, + 1188, 0, 1189, 1190, 0, 0, 0, 0, 0, 0, + 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, - 0, 366, 238, 0, 0, 0, 0, 504, 0, 0, - 0, 0, 0, 0, 0, 334, 0, 303, 192, 211, - 0, 0, 376, 419, 425, 0, 0, 0, 236, 0, - 423, 390, 487, 219, 265, 416, 396, 421, 403, 268, - 0, 0, 422, 340, 473, 410, 484, 505, 506, 244, - 370, 495, 462, 501, 519, 212, 241, 384, 455, 490, - 445, 363, 469, 470, 302, 444, 275, 195, 338, 511, - 210, 431, 228, 217, 475, 493, 270, 414, 202, 457, - 482, 225, 435, 0, 0, 521, 204, 480, 454, 359, - 299, 300, 203, 0, 415, 249, 273, 239, 379, 477, - 478, 237, 522, 214, 500, 206, 0, 499, 372, 472, - 481, 360, 350, 205, 479, 358, 349, 305, 324, 325, - 261, 284, 408, 343, 409, 285, 368, 367, 369, 198, - 491, 0, 199, 0, 450, 492, 523, 220, 221, 223, - 0, 260, 264, 272, 274, 280, 281, 288, 336, 383, - 407, 405, 411, 0, 467, 485, 496, 503, 509, 510, - 512, 513, 514, 515, 516, 518, 517, 371, 287, 446, - 304, 341, 0, 0, 389, 424, 226, 489, 447, 0, + 278, 0, 367, 239, 0, 0, 0, 0, 505, 0, + 0, 0, 0, 0, 0, 0, 335, 0, 304, 192, + 211, 0, 0, 377, 420, 426, 0, 0, 0, 237, + 0, 424, 391, 488, 219, 266, 417, 397, 422, 404, + 269, 0, 0, 423, 341, 474, 411, 485, 506, 507, + 245, 371, 496, 463, 502, 520, 212, 242, 385, 456, + 491, 446, 364, 470, 471, 303, 445, 276, 195, 339, + 512, 210, 432, 228, 217, 476, 494, 271, 415, 202, + 458, 483, 225, 436, 0, 0, 522, 204, 481, 455, + 360, 300, 301, 203, 0, 416, 250, 274, 240, 380, + 478, 479, 238, 523, 214, 501, 206, 0, 500, 373, + 473, 482, 361, 351, 205, 480, 359, 350, 306, 325, + 326, 262, 285, 409, 344, 410, 286, 369, 368, 370, + 198, 492, 0, 199, 0, 451, 493, 524, 220, 221, + 223, 0, 261, 265, 273, 275, 281, 282, 289, 337, + 384, 408, 406, 412, 0, 468, 486, 497, 504, 510, + 511, 513, 514, 515, 516, 517, 519, 518, 372, 288, + 447, 305, 342, 0, 0, 390, 425, 226, 490, 448, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, - 534, 535, 536, 537, 538, 539, 540, 541, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 542, 351, - 437, 486, 306, 318, 321, 311, 330, 0, 331, 307, - 308, 313, 315, 316, 317, 322, 323, 327, 333, 0, - 191, 207, 337, 0, 412, 269, 520, 498, 494, 0, - 209, 0, 243, 0, 0, 0, 0, 0, 0, 0, + 0, 525, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 543, + 352, 438, 487, 307, 319, 322, 312, 331, 0, 332, + 308, 309, 314, 316, 317, 318, 323, 324, 328, 334, + 234, 0, 191, 207, 338, 0, 413, 270, 521, 499, + 495, 0, 209, 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 193, 194, 200, 208, 218, 222, - 229, 242, 257, 259, 266, 278, 283, 286, 291, 292, - 295, 301, 347, 353, 354, 355, 356, 373, 374, 375, - 378, 381, 382, 385, 387, 388, 391, 395, 399, 400, - 401, 402, 404, 406, 413, 418, 426, 427, 428, 429, - 430, 433, 434, 439, 440, 441, 442, 443, 451, 452, - 456, 474, 476, 488, 502, 507, 432, 279, 483, 508, - 0, 346, 0, 0, 348, 262, 282, 293, 0, 497, - 453, 213, 420, 271, 201, 232, 216, 240, 255, 258, - 297, 357, 364, 393, 398, 276, 252, 230, 417, 227, - 436, 459, 460, 461, 463, 361, 247, 397, 0, 362, - 344, 465, 466, 289, 464, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 380, 0, 1499, 0, - 0, 0, 0, 0, 0, 251, 0, 0, 0, 0, - 335, 248, 0, 0, 394, 0, 197, 0, 438, 235, - 345, 342, 471, 263, 254, 250, 234, 290, 352, 392, - 458, 386, 0, 339, 0, 0, 448, 365, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 296, 233, 298, 196, 377, 449, 267, - 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 193, 194, 200, 208, + 218, 222, 229, 243, 258, 260, 267, 279, 284, 287, + 292, 293, 296, 302, 348, 354, 355, 356, 357, 374, + 375, 376, 379, 382, 383, 386, 388, 389, 392, 396, + 400, 401, 402, 403, 405, 407, 414, 419, 427, 428, + 429, 430, 431, 434, 435, 440, 441, 442, 443, 444, + 452, 453, 457, 475, 477, 489, 503, 508, 433, 280, + 484, 509, 0, 347, 0, 0, 349, 263, 283, 294, + 0, 498, 454, 213, 421, 272, 201, 232, 216, 241, + 256, 259, 298, 358, 365, 394, 399, 277, 253, 230, + 418, 227, 437, 460, 461, 462, 464, 362, 248, 398, + 0, 363, 345, 466, 467, 290, 465, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, + 0, 0, 0, 0, 0, 0, 0, 252, 0, 0, + 0, 0, 336, 249, 0, 0, 395, 0, 197, 0, + 439, 236, 346, 343, 472, 264, 255, 251, 235, 291, + 353, 393, 459, 387, 0, 340, 0, 0, 449, 366, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 297, 233, 299, 196, 378, + 450, 268, 0, 0, 0, 0, 188, 189, 190, 1299, + 1302, 0, 0, 0, 0, 1298, 1301, 0, 0, 224, + 1297, 231, 321, 330, 329, 310, 311, 313, 315, 320, + 327, 333, 0, 0, 0, 0, 0, 247, 295, 254, + 246, 469, 0, 0, 0, 0, 0, 0, 0, 215, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 257, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 278, 0, 367, 239, 0, 0, 0, + 0, 505, 0, 0, 0, 0, 0, 0, 0, 335, + 0, 304, 192, 211, 0, 0, 377, 420, 426, 0, + 0, 0, 237, 0, 424, 391, 488, 219, 266, 417, + 397, 422, 404, 269, 0, 0, 423, 341, 474, 411, + 485, 506, 507, 245, 371, 496, 463, 502, 520, 212, + 242, 385, 456, 491, 446, 364, 470, 471, 303, 445, + 276, 195, 339, 512, 210, 432, 228, 217, 476, 494, + 271, 415, 202, 458, 483, 225, 436, 0, 0, 522, + 204, 481, 455, 360, 300, 301, 203, 0, 416, 250, + 274, 240, 380, 478, 479, 238, 523, 214, 501, 206, + 0, 500, 373, 473, 482, 361, 351, 205, 480, 359, + 350, 306, 325, 326, 262, 285, 409, 344, 410, 286, + 369, 368, 370, 198, 492, 0, 199, 0, 451, 493, + 524, 220, 221, 223, 0, 261, 265, 273, 275, 281, + 282, 289, 337, 384, 408, 406, 412, 0, 468, 486, + 497, 504, 510, 511, 513, 514, 515, 516, 517, 519, + 518, 372, 288, 447, 305, 342, 0, 0, 390, 425, + 226, 490, 448, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 525, 526, 527, 528, 529, 530, + 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, + 541, 542, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 543, 352, 438, 487, 307, 319, 322, 312, + 331, 0, 332, 308, 309, 314, 316, 317, 318, 323, + 324, 328, 334, 234, 0, 191, 207, 338, 0, 413, + 270, 521, 499, 495, 0, 209, 0, 244, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, + 194, 200, 208, 218, 222, 229, 243, 258, 260, 267, + 279, 284, 287, 292, 293, 296, 302, 348, 354, 355, + 356, 357, 374, 375, 376, 379, 382, 383, 386, 388, + 389, 392, 396, 400, 401, 402, 403, 405, 407, 414, + 419, 427, 428, 429, 430, 431, 434, 435, 440, 441, + 442, 443, 444, 452, 453, 457, 475, 477, 489, 503, + 508, 433, 280, 484, 509, 0, 347, 0, 0, 349, + 263, 283, 294, 0, 498, 454, 213, 421, 272, 201, + 232, 216, 241, 256, 259, 298, 358, 365, 394, 399, + 277, 253, 230, 418, 227, 437, 460, 461, 462, 464, + 362, 248, 398, 0, 0, 345, 466, 467, 290, 363, + 0, 0, 0, 78, 465, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 381, 0, 0, 0, + 0, 0, 0, 0, 0, 252, 0, 0, 0, 0, + 336, 249, 0, 0, 395, 0, 197, 0, 439, 236, + 346, 343, 472, 264, 255, 251, 235, 291, 353, 393, + 459, 387, 0, 340, 0, 0, 449, 366, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 297, 233, 299, 196, 378, 450, 268, + 0, 87, 0, 1337, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, 231, - 320, 329, 328, 309, 310, 312, 314, 319, 326, 332, - 0, 0, 0, 0, 0, 246, 294, 253, 245, 468, + 321, 330, 329, 310, 311, 313, 315, 320, 327, 333, + 0, 0, 0, 0, 0, 247, 295, 254, 246, 469, 0, 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 256, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4801,59 +3699,59 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 277, 0, 366, 238, 0, 0, 0, 0, 504, - 0, 0, 0, 0, 0, 0, 0, 334, 0, 303, - 192, 211, 0, 0, 376, 419, 425, 0, 0, 0, - 236, 0, 423, 390, 487, 219, 265, 416, 396, 421, - 403, 268, 0, 0, 422, 340, 473, 410, 484, 505, - 506, 244, 370, 495, 462, 501, 519, 212, 241, 384, - 455, 490, 445, 363, 469, 470, 302, 444, 275, 195, - 338, 511, 210, 431, 228, 217, 475, 493, 270, 414, - 202, 457, 482, 225, 435, 0, 0, 521, 204, 480, - 454, 359, 299, 300, 203, 0, 415, 249, 273, 239, - 379, 477, 478, 237, 522, 214, 500, 206, 0, 499, - 372, 472, 481, 360, 350, 205, 479, 358, 349, 305, - 324, 325, 261, 284, 408, 343, 409, 285, 368, 367, - 369, 198, 491, 0, 199, 0, 450, 492, 523, 220, - 221, 223, 0, 260, 264, 272, 274, 280, 281, 288, - 336, 383, 407, 405, 411, 0, 467, 485, 496, 503, - 509, 510, 512, 513, 514, 515, 516, 518, 517, 371, - 287, 446, 304, 341, 0, 0, 389, 424, 226, 489, - 447, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 524, 525, 526, 527, 528, 529, 530, 531, - 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 542, 351, 437, 486, 306, 318, 321, 311, 330, 0, - 331, 307, 308, 313, 315, 316, 317, 322, 323, 327, - 333, 0, 191, 207, 337, 0, 412, 269, 520, 498, - 494, 0, 209, 0, 243, 0, 0, 0, 0, 0, + 0, 278, 0, 367, 239, 0, 0, 0, 0, 505, + 0, 0, 0, 0, 0, 0, 0, 335, 0, 304, + 192, 211, 0, 0, 377, 420, 426, 0, 0, 0, + 237, 0, 424, 391, 488, 219, 266, 417, 397, 422, + 404, 269, 0, 0, 423, 341, 474, 411, 485, 506, + 507, 245, 371, 496, 463, 502, 520, 212, 242, 385, + 456, 491, 446, 364, 470, 471, 303, 445, 276, 195, + 339, 512, 210, 432, 228, 217, 476, 494, 271, 415, + 202, 458, 483, 225, 436, 0, 0, 522, 204, 481, + 455, 360, 300, 301, 203, 0, 416, 250, 274, 240, + 380, 478, 479, 238, 523, 214, 501, 206, 0, 500, + 373, 473, 482, 361, 351, 205, 480, 359, 350, 306, + 325, 326, 262, 285, 409, 344, 410, 286, 369, 368, + 370, 198, 492, 0, 199, 0, 451, 493, 524, 220, + 221, 223, 0, 261, 265, 273, 275, 281, 282, 289, + 337, 384, 408, 406, 412, 0, 468, 486, 497, 504, + 510, 511, 513, 514, 515, 516, 517, 519, 518, 372, + 288, 447, 305, 342, 0, 0, 390, 425, 226, 490, + 448, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 525, 526, 527, 528, 529, 530, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 193, 194, 200, 208, - 218, 222, 229, 242, 257, 259, 266, 278, 283, 286, - 291, 292, 295, 301, 347, 353, 354, 355, 356, 373, - 374, 375, 378, 381, 382, 385, 387, 388, 391, 395, - 399, 400, 401, 402, 404, 406, 413, 418, 426, 427, - 428, 429, 430, 433, 434, 439, 440, 441, 442, 443, - 451, 452, 456, 474, 476, 488, 502, 507, 432, 279, - 483, 508, 0, 346, 0, 0, 348, 262, 282, 293, - 0, 497, 453, 213, 420, 271, 201, 232, 216, 240, - 255, 258, 297, 357, 364, 393, 398, 276, 252, 230, - 417, 227, 436, 459, 460, 461, 463, 361, 247, 397, - 0, 362, 344, 465, 466, 289, 464, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 380, 0, - 1497, 0, 0, 0, 0, 0, 0, 251, 0, 0, - 0, 0, 335, 248, 0, 0, 394, 0, 197, 0, - 438, 235, 345, 342, 471, 263, 254, 250, 234, 290, - 352, 392, 458, 386, 0, 339, 0, 0, 448, 365, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 296, 233, 298, 196, 377, - 449, 267, 0, 0, 0, 0, 188, 189, 190, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, - 0, 231, 320, 329, 328, 309, 310, 312, 314, 319, - 326, 332, 0, 0, 0, 0, 0, 246, 294, 253, - 245, 468, 0, 0, 0, 0, 0, 0, 0, 215, + 543, 352, 438, 487, 307, 319, 322, 312, 331, 0, + 332, 308, 309, 314, 316, 317, 318, 323, 324, 328, + 334, 234, 0, 191, 207, 338, 86, 413, 270, 521, + 499, 495, 0, 209, 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, + 208, 218, 222, 229, 243, 258, 260, 267, 279, 284, + 287, 292, 293, 296, 302, 348, 354, 355, 356, 357, + 374, 375, 376, 379, 382, 383, 386, 388, 389, 392, + 396, 400, 401, 402, 403, 405, 407, 414, 419, 427, + 428, 429, 430, 431, 434, 435, 440, 441, 442, 443, + 444, 452, 453, 457, 475, 477, 489, 503, 508, 433, + 280, 484, 509, 0, 347, 0, 0, 349, 263, 283, + 294, 0, 498, 454, 213, 421, 272, 201, 232, 216, + 241, 256, 259, 298, 358, 365, 394, 399, 277, 253, + 230, 418, 227, 437, 460, 461, 462, 464, 362, 248, + 398, 0, 363, 345, 466, 467, 290, 465, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, + 0, 0, 0, 0, 0, 0, 0, 0, 252, 0, + 0, 0, 0, 336, 249, 0, 0, 395, 0, 197, + 0, 439, 236, 346, 343, 472, 264, 255, 251, 235, + 291, 353, 393, 459, 387, 0, 340, 0, 0, 449, + 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 297, 233, 299, 196, + 378, 450, 268, 0, 87, 0, 0, 188, 189, 190, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 224, 0, 231, 321, 330, 329, 310, 311, 313, 315, + 320, 327, 333, 0, 0, 0, 0, 0, 247, 295, + 254, 246, 469, 0, 0, 0, 0, 0, 0, 0, + 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4861,240 +3759,542 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 277, 0, 366, 238, 0, 0, 0, - 0, 504, 0, 0, 0, 0, 0, 0, 0, 334, - 0, 303, 192, 211, 0, 0, 376, 419, 425, 0, - 0, 0, 236, 0, 423, 390, 487, 219, 265, 416, - 396, 421, 403, 268, 0, 0, 422, 340, 473, 410, - 484, 505, 506, 244, 370, 495, 462, 501, 519, 212, - 241, 384, 455, 490, 445, 363, 469, 470, 302, 444, - 275, 195, 338, 511, 210, 431, 228, 217, 475, 493, - 270, 414, 202, 457, 482, 225, 435, 0, 0, 521, - 204, 480, 454, 359, 299, 300, 203, 0, 415, 249, - 273, 239, 379, 477, 478, 237, 522, 214, 500, 206, - 0, 499, 372, 472, 481, 360, 350, 205, 479, 358, - 349, 305, 324, 325, 261, 284, 408, 343, 409, 285, - 368, 367, 369, 198, 491, 0, 199, 0, 450, 492, - 523, 220, 221, 223, 0, 260, 264, 272, 274, 280, - 281, 288, 336, 383, 407, 405, 411, 0, 467, 485, - 496, 503, 509, 510, 512, 513, 514, 515, 516, 518, - 517, 371, 287, 446, 304, 341, 0, 0, 389, 424, - 226, 489, 447, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 524, 525, 526, 527, 528, 529, + 0, 0, 0, 0, 278, 0, 367, 239, 0, 0, + 0, 0, 505, 0, 0, 0, 0, 0, 0, 0, + 335, 0, 304, 192, 211, 0, 0, 377, 420, 426, + 0, 0, 0, 237, 0, 424, 391, 488, 219, 266, + 417, 397, 422, 404, 269, 0, 0, 423, 341, 474, + 411, 485, 506, 507, 245, 371, 496, 463, 502, 520, + 212, 242, 385, 456, 491, 446, 364, 470, 471, 303, + 445, 276, 195, 339, 512, 210, 432, 228, 217, 476, + 494, 271, 415, 202, 458, 483, 225, 436, 0, 0, + 522, 204, 481, 455, 360, 300, 301, 203, 0, 416, + 250, 274, 240, 380, 478, 479, 238, 523, 214, 501, + 206, 0, 500, 373, 473, 482, 361, 351, 205, 480, + 359, 350, 306, 325, 326, 262, 285, 409, 344, 410, + 286, 369, 368, 370, 198, 492, 0, 199, 0, 451, + 493, 524, 220, 221, 223, 0, 261, 265, 273, 275, + 281, 282, 289, 337, 384, 408, 406, 412, 0, 468, + 486, 497, 504, 510, 511, 513, 514, 515, 516, 517, + 519, 518, 372, 288, 447, 305, 342, 0, 0, 390, + 425, 226, 490, 448, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 542, 351, 437, 486, 306, 318, 321, 311, - 330, 0, 331, 307, 308, 313, 315, 316, 317, 322, - 323, 327, 333, 0, 191, 207, 337, 0, 412, 269, - 520, 498, 494, 0, 209, 0, 243, 0, 0, 0, + 540, 541, 542, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 543, 352, 438, 487, 307, 319, 322, + 312, 331, 0, 332, 308, 309, 314, 316, 317, 318, + 323, 324, 328, 334, 234, 0, 191, 207, 338, 0, + 413, 270, 521, 499, 495, 0, 209, 0, 244, 0, + 0, 0, 0, 0, 0, 1846, 0, 0, 1845, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 193, 194, 200, 208, 218, 222, 229, 243, 258, 260, + 267, 279, 284, 287, 292, 293, 296, 302, 348, 354, + 355, 356, 357, 374, 375, 376, 379, 382, 383, 386, + 388, 389, 392, 396, 400, 401, 402, 403, 405, 407, + 414, 419, 427, 428, 429, 430, 431, 434, 435, 440, + 441, 442, 443, 444, 452, 453, 457, 475, 477, 489, + 503, 508, 433, 280, 484, 509, 0, 347, 0, 0, + 349, 263, 283, 294, 0, 498, 454, 213, 421, 272, + 201, 232, 216, 241, 256, 259, 298, 358, 365, 394, + 399, 277, 253, 230, 418, 227, 437, 460, 461, 462, + 464, 362, 248, 398, 0, 363, 345, 466, 467, 290, + 465, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 381, 0, 0, 0, 1797, 0, 0, 0, + 0, 252, 0, 0, 0, 0, 336, 249, 0, 0, + 395, 0, 197, 0, 439, 236, 346, 343, 472, 264, + 255, 251, 235, 291, 353, 393, 459, 387, 0, 340, + 0, 0, 449, 366, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, + 233, 299, 196, 378, 450, 268, 0, 0, 0, 0, + 188, 189, 190, 0, 1538, 0, 0, 0, 0, 0, + 0, 0, 0, 224, 0, 231, 321, 330, 329, 310, + 311, 313, 315, 320, 327, 333, 0, 0, 0, 0, + 0, 247, 295, 254, 246, 469, 0, 0, 0, 0, + 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, - 200, 208, 218, 222, 229, 242, 257, 259, 266, 278, - 283, 286, 291, 292, 295, 301, 347, 353, 354, 355, - 356, 373, 374, 375, 378, 381, 382, 385, 387, 388, - 391, 395, 399, 400, 401, 402, 404, 406, 413, 418, - 426, 427, 428, 429, 430, 433, 434, 439, 440, 441, - 442, 443, 451, 452, 456, 474, 476, 488, 502, 507, - 432, 279, 483, 508, 0, 346, 0, 0, 348, 262, - 282, 293, 0, 497, 453, 213, 420, 271, 201, 232, - 216, 240, 255, 258, 297, 357, 364, 393, 398, 276, - 252, 230, 417, 227, 436, 459, 460, 461, 463, 361, - 247, 397, 0, 362, 344, 465, 466, 289, 464, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 380, 0, 1495, 0, 0, 0, 0, 0, 0, 251, - 0, 0, 0, 0, 335, 248, 0, 0, 394, 0, - 197, 0, 438, 235, 345, 342, 471, 263, 254, 250, - 234, 290, 352, 392, 458, 386, 0, 339, 0, 0, - 448, 365, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 296, 233, 298, - 196, 377, 449, 267, 0, 0, 0, 0, 188, 189, - 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 224, 0, 231, 320, 329, 328, 309, 310, 312, - 314, 319, 326, 332, 0, 0, 0, 0, 0, 246, - 294, 253, 245, 468, 0, 0, 0, 0, 0, 0, - 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 278, 0, 367, + 239, 0, 0, 0, 0, 505, 0, 0, 0, 0, + 0, 0, 0, 335, 0, 304, 192, 211, 0, 0, + 377, 420, 426, 0, 0, 0, 237, 0, 424, 391, + 488, 219, 266, 417, 397, 422, 404, 269, 0, 1795, + 423, 341, 474, 411, 485, 506, 507, 245, 371, 496, + 463, 502, 520, 212, 242, 385, 456, 491, 446, 364, + 470, 471, 303, 445, 276, 195, 339, 512, 210, 432, + 228, 217, 476, 494, 271, 415, 202, 458, 483, 225, + 436, 0, 0, 522, 204, 481, 455, 360, 300, 301, + 203, 0, 416, 250, 274, 240, 380, 478, 479, 238, + 523, 214, 501, 206, 0, 500, 373, 473, 482, 361, + 351, 205, 480, 359, 350, 306, 325, 326, 262, 285, + 409, 344, 410, 286, 369, 368, 370, 198, 492, 0, + 199, 0, 451, 493, 524, 220, 221, 223, 0, 261, + 265, 273, 275, 281, 282, 289, 337, 384, 408, 406, + 412, 0, 468, 486, 497, 504, 510, 511, 513, 514, + 515, 516, 517, 519, 518, 372, 288, 447, 305, 342, + 0, 0, 390, 425, 226, 490, 448, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 525, 526, + 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 543, 352, 438, 487, + 307, 319, 322, 312, 331, 0, 332, 308, 309, 314, + 316, 317, 318, 323, 324, 328, 334, 234, 0, 191, + 207, 338, 0, 413, 270, 521, 499, 495, 0, 209, + 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 277, 0, 366, 238, 0, - 0, 0, 0, 504, 0, 0, 0, 0, 0, 0, - 0, 334, 0, 303, 192, 211, 0, 0, 376, 419, - 425, 0, 0, 0, 236, 0, 423, 390, 487, 219, - 265, 416, 396, 421, 403, 268, 0, 0, 422, 340, - 473, 410, 484, 505, 506, 244, 370, 495, 462, 501, - 519, 212, 241, 384, 455, 490, 445, 363, 469, 470, - 302, 444, 275, 195, 338, 511, 210, 431, 228, 217, - 475, 493, 270, 414, 202, 457, 482, 225, 435, 0, - 0, 521, 204, 480, 454, 359, 299, 300, 203, 0, - 415, 249, 273, 239, 379, 477, 478, 237, 522, 214, - 500, 206, 0, 499, 372, 472, 481, 360, 350, 205, - 479, 358, 349, 305, 324, 325, 261, 284, 408, 343, - 409, 285, 368, 367, 369, 198, 491, 0, 199, 0, - 450, 492, 523, 220, 221, 223, 0, 260, 264, 272, - 274, 280, 281, 288, 336, 383, 407, 405, 411, 0, - 467, 485, 496, 503, 509, 510, 512, 513, 514, 515, - 516, 518, 517, 371, 287, 446, 304, 341, 0, 0, - 389, 424, 226, 489, 447, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 524, 525, 526, 527, - 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, - 538, 539, 540, 541, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 542, 351, 437, 486, 306, 318, - 321, 311, 330, 0, 331, 307, 308, 313, 315, 316, - 317, 322, 323, 327, 333, 0, 191, 207, 337, 0, - 412, 269, 520, 498, 494, 0, 209, 0, 243, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 193, 194, 200, 208, 218, 222, 229, 242, 257, 259, - 266, 278, 283, 286, 291, 292, 295, 301, 347, 353, - 354, 355, 356, 373, 374, 375, 378, 381, 382, 385, - 387, 388, 391, 395, 399, 400, 401, 402, 404, 406, - 413, 418, 426, 427, 428, 429, 430, 433, 434, 439, - 440, 441, 442, 443, 451, 452, 456, 474, 476, 488, - 502, 507, 432, 279, 483, 508, 0, 346, 0, 0, - 348, 262, 282, 293, 0, 497, 453, 213, 420, 271, - 201, 232, 216, 240, 255, 258, 297, 357, 364, 393, - 398, 276, 252, 230, 417, 227, 436, 459, 460, 461, - 463, 361, 247, 397, 0, 362, 344, 465, 466, 289, - 464, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 380, 0, 1491, 0, 0, 0, 0, 0, - 0, 251, 0, 0, 0, 0, 335, 248, 0, 0, - 394, 0, 197, 0, 438, 235, 345, 342, 471, 263, - 254, 250, 234, 290, 352, 392, 458, 386, 0, 339, - 0, 0, 448, 365, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 296, - 233, 298, 196, 377, 449, 267, 0, 0, 0, 0, - 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 224, 0, 231, 320, 329, 328, 309, - 310, 312, 314, 319, 326, 332, 0, 0, 0, 0, - 0, 246, 294, 253, 245, 468, 0, 0, 0, 0, - 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, + 0, 0, 0, 193, 194, 200, 208, 218, 222, 229, + 243, 258, 260, 267, 279, 284, 287, 292, 293, 296, + 302, 348, 354, 355, 356, 357, 374, 375, 376, 379, + 382, 383, 386, 388, 389, 392, 396, 400, 401, 402, + 403, 405, 407, 414, 419, 427, 428, 429, 430, 431, + 434, 435, 440, 441, 442, 443, 444, 452, 453, 457, + 475, 477, 489, 503, 508, 433, 280, 484, 509, 0, + 347, 0, 0, 349, 263, 283, 294, 0, 498, 454, + 213, 421, 272, 201, 232, 216, 241, 256, 259, 298, + 358, 365, 394, 399, 277, 253, 230, 418, 227, 437, + 460, 461, 462, 464, 362, 248, 398, 0, 363, 345, + 466, 467, 290, 465, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 381, 0, 0, 0, 0, + 0, 0, 0, 0, 252, 0, 0, 0, 0, 336, + 249, 0, 0, 395, 0, 197, 0, 439, 236, 346, + 343, 472, 264, 255, 251, 235, 291, 353, 393, 459, + 387, 0, 340, 0, 0, 449, 366, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 297, 233, 299, 196, 378, 450, 268, 0, + 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 224, 0, 231, 321, + 330, 329, 310, 311, 313, 315, 320, 327, 333, 0, + 0, 0, 0, 0, 247, 295, 254, 246, 469, 0, + 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, + 967, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 277, 0, 366, - 238, 0, 0, 0, 0, 504, 0, 0, 0, 0, - 0, 0, 0, 334, 0, 303, 192, 211, 0, 0, - 376, 419, 425, 0, 0, 0, 236, 0, 423, 390, - 487, 219, 265, 416, 396, 421, 403, 268, 0, 0, - 422, 340, 473, 410, 484, 505, 506, 244, 370, 495, - 462, 501, 519, 212, 241, 384, 455, 490, 445, 363, - 469, 470, 302, 444, 275, 195, 338, 511, 210, 431, - 228, 217, 475, 493, 270, 414, 202, 457, 482, 225, - 435, 0, 0, 521, 204, 480, 454, 359, 299, 300, - 203, 0, 415, 249, 273, 239, 379, 477, 478, 237, - 522, 214, 500, 206, 0, 499, 372, 472, 481, 360, - 350, 205, 479, 358, 349, 305, 324, 325, 261, 284, - 408, 343, 409, 285, 368, 367, 369, 198, 491, 0, - 199, 0, 450, 492, 523, 220, 221, 223, 0, 260, - 264, 272, 274, 280, 281, 288, 336, 383, 407, 405, - 411, 0, 467, 485, 496, 503, 509, 510, 512, 513, - 514, 515, 516, 518, 517, 371, 287, 446, 304, 341, - 0, 0, 389, 424, 226, 489, 447, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, - 536, 537, 538, 539, 540, 541, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 542, 351, 437, 486, - 306, 318, 321, 311, 330, 0, 331, 307, 308, 313, - 315, 316, 317, 322, 323, 327, 333, 0, 191, 207, - 337, 0, 412, 269, 520, 498, 494, 0, 209, 0, - 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 193, 194, 200, 208, 218, 222, 229, 242, - 257, 259, 266, 278, 283, 286, 291, 292, 295, 301, - 347, 353, 354, 355, 356, 373, 374, 375, 378, 381, - 382, 385, 387, 388, 391, 395, 399, 400, 401, 402, - 404, 406, 413, 418, 426, 427, 428, 429, 430, 433, - 434, 439, 440, 441, 442, 443, 451, 452, 456, 474, - 476, 488, 502, 507, 432, 279, 483, 508, 0, 346, - 0, 0, 348, 262, 282, 293, 0, 497, 453, 213, - 420, 271, 201, 232, 216, 240, 255, 258, 297, 357, - 364, 393, 398, 276, 252, 230, 417, 227, 436, 459, - 460, 461, 463, 361, 247, 397, 0, 362, 344, 465, - 466, 289, 464, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 380, 0, 1489, 0, 0, 0, - 0, 0, 0, 251, 0, 0, 0, 0, 335, 248, - 0, 0, 394, 0, 197, 0, 438, 235, 345, 342, - 471, 263, 254, 250, 234, 290, 352, 392, 458, 386, - 0, 339, 0, 0, 448, 365, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 296, 233, 298, 196, 377, 449, 267, 0, 0, - 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 224, 0, 231, 320, 329, - 328, 309, 310, 312, 314, 319, 326, 332, 0, 0, - 0, 0, 0, 246, 294, 253, 245, 468, 0, 0, + 278, 0, 367, 239, 0, 0, 0, 0, 505, 0, + 0, 0, 0, 0, 0, 0, 335, 973, 304, 192, + 211, 971, 0, 377, 420, 426, 0, 0, 0, 237, + 0, 424, 391, 488, 219, 266, 417, 397, 422, 404, + 269, 0, 0, 423, 341, 474, 411, 485, 506, 507, + 245, 371, 496, 463, 502, 520, 212, 242, 385, 456, + 491, 446, 364, 470, 471, 303, 445, 276, 195, 339, + 512, 210, 432, 228, 217, 476, 494, 271, 415, 202, + 458, 483, 225, 436, 0, 0, 522, 204, 481, 455, + 360, 300, 301, 203, 0, 416, 250, 274, 240, 380, + 478, 479, 238, 523, 214, 501, 206, 0, 500, 373, + 473, 482, 361, 351, 205, 480, 359, 350, 306, 325, + 326, 262, 285, 409, 344, 410, 286, 369, 368, 370, + 198, 492, 0, 199, 0, 451, 493, 524, 220, 221, + 223, 0, 261, 265, 273, 275, 281, 282, 289, 337, + 384, 408, 406, 412, 0, 468, 486, 497, 504, 510, + 511, 513, 514, 515, 516, 517, 519, 518, 372, 288, + 447, 305, 342, 0, 0, 390, 425, 226, 490, 448, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 525, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 543, + 352, 438, 487, 307, 319, 322, 312, 331, 0, 332, + 308, 309, 314, 316, 317, 318, 323, 324, 328, 334, + 234, 0, 191, 207, 338, 0, 413, 270, 521, 499, + 495, 0, 209, 0, 244, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 193, 194, 200, 208, + 218, 222, 229, 243, 258, 260, 267, 279, 284, 287, + 292, 293, 296, 302, 348, 354, 355, 356, 357, 374, + 375, 376, 379, 382, 383, 386, 388, 389, 392, 396, + 400, 401, 402, 403, 405, 407, 414, 419, 427, 428, + 429, 430, 431, 434, 435, 440, 441, 442, 443, 444, + 452, 453, 457, 475, 477, 489, 503, 508, 433, 280, + 484, 509, 0, 347, 0, 0, 349, 263, 283, 294, + 0, 498, 454, 213, 421, 272, 201, 232, 216, 241, + 256, 259, 298, 358, 365, 394, 399, 277, 253, 230, + 418, 227, 437, 460, 461, 462, 464, 362, 248, 398, + 0, 363, 345, 466, 467, 290, 465, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, + 0, 0, 1797, 0, 0, 0, 0, 252, 0, 0, + 0, 0, 336, 249, 0, 0, 395, 0, 197, 0, + 439, 236, 346, 343, 472, 264, 255, 251, 235, 291, + 353, 393, 459, 387, 0, 340, 0, 0, 449, 366, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 297, 233, 299, 196, 378, + 450, 268, 0, 0, 0, 0, 188, 189, 190, 0, + 1538, 0, 0, 0, 0, 0, 0, 0, 0, 224, + 0, 231, 321, 330, 329, 310, 311, 313, 315, 320, + 327, 333, 0, 0, 0, 0, 0, 247, 295, 254, + 246, 469, 0, 0, 0, 0, 0, 0, 0, 215, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 257, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 278, 0, 367, 239, 0, 0, 0, + 0, 505, 0, 0, 0, 0, 0, 0, 0, 335, + 0, 304, 192, 211, 0, 0, 377, 420, 426, 0, + 0, 0, 237, 0, 424, 391, 488, 219, 266, 417, + 397, 422, 404, 269, 0, 0, 423, 341, 474, 411, + 485, 506, 507, 245, 371, 496, 463, 502, 520, 212, + 242, 385, 456, 491, 446, 364, 470, 471, 303, 445, + 276, 195, 339, 512, 210, 432, 228, 217, 476, 494, + 271, 415, 202, 458, 483, 225, 436, 0, 0, 522, + 204, 481, 455, 360, 300, 301, 203, 0, 416, 250, + 274, 240, 380, 478, 479, 238, 523, 214, 501, 206, + 0, 500, 373, 473, 482, 361, 351, 205, 480, 359, + 350, 306, 325, 326, 262, 285, 409, 344, 410, 286, + 369, 368, 370, 198, 492, 0, 199, 0, 451, 493, + 524, 220, 221, 223, 0, 261, 265, 273, 275, 281, + 282, 289, 337, 384, 408, 406, 412, 0, 468, 486, + 497, 504, 510, 511, 513, 514, 515, 516, 517, 519, + 518, 372, 288, 447, 305, 342, 0, 0, 390, 425, + 226, 490, 448, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 525, 526, 527, 528, 529, 530, + 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, + 541, 542, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 543, 352, 438, 487, 307, 319, 322, 312, + 331, 0, 332, 308, 309, 314, 316, 317, 318, 323, + 324, 328, 334, 234, 0, 191, 207, 338, 0, 413, + 270, 521, 499, 495, 0, 209, 0, 244, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, + 194, 200, 208, 218, 222, 229, 243, 258, 260, 267, + 279, 284, 287, 292, 293, 296, 302, 348, 354, 355, + 356, 357, 374, 375, 376, 379, 382, 383, 386, 388, + 389, 392, 396, 400, 401, 402, 403, 405, 407, 414, + 419, 427, 428, 429, 430, 431, 434, 435, 440, 441, + 442, 443, 444, 452, 453, 457, 475, 477, 489, 503, + 508, 433, 280, 484, 509, 0, 347, 0, 0, 349, + 263, 283, 294, 0, 498, 454, 213, 421, 272, 201, + 232, 216, 241, 256, 259, 298, 358, 365, 394, 399, + 277, 253, 230, 418, 227, 437, 460, 461, 462, 464, + 362, 248, 398, 0, 363, 345, 466, 467, 290, 465, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 381, 0, 0, 0, 0, 0, 0, 0, 0, + 252, 0, 0, 0, 0, 336, 249, 0, 0, 395, + 0, 197, 0, 439, 236, 346, 343, 472, 264, 255, + 251, 235, 291, 353, 393, 459, 387, 0, 340, 0, + 0, 449, 366, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 297, 233, + 299, 196, 378, 450, 268, 0, 0, 0, 1337, 188, + 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 224, 0, 231, 321, 330, 329, 310, 311, + 313, 315, 320, 327, 333, 0, 0, 0, 0, 0, + 247, 295, 254, 246, 469, 0, 0, 0, 0, 0, + 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 257, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 278, 0, 367, 239, + 0, 0, 0, 0, 505, 0, 0, 0, 2887, 0, + 0, 0, 335, 0, 304, 192, 211, 0, 0, 377, + 420, 426, 0, 0, 0, 237, 0, 424, 391, 488, + 219, 266, 417, 397, 422, 404, 269, 0, 0, 423, + 341, 474, 411, 485, 506, 507, 245, 371, 496, 463, + 502, 520, 212, 242, 385, 456, 491, 446, 364, 470, + 471, 303, 445, 276, 195, 339, 512, 210, 432, 228, + 217, 476, 494, 271, 415, 202, 458, 483, 225, 436, + 0, 0, 522, 204, 481, 455, 360, 300, 301, 203, + 0, 416, 250, 274, 240, 380, 478, 479, 238, 523, + 214, 501, 206, 0, 500, 373, 473, 482, 361, 351, + 205, 480, 359, 350, 306, 325, 326, 262, 285, 409, + 344, 410, 286, 369, 368, 370, 198, 492, 0, 199, + 0, 451, 493, 524, 220, 221, 223, 0, 261, 265, + 273, 275, 281, 282, 289, 337, 384, 408, 406, 412, + 0, 468, 486, 497, 504, 510, 511, 513, 514, 515, + 516, 517, 519, 518, 372, 288, 447, 305, 342, 0, + 0, 390, 425, 226, 490, 448, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 525, 526, 527, + 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 543, 352, 438, 487, 307, + 319, 322, 312, 331, 0, 332, 308, 309, 314, 316, + 317, 318, 323, 324, 328, 334, 234, 0, 191, 207, + 338, 0, 413, 270, 521, 499, 495, 0, 209, 0, + 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 193, 194, 200, 208, 218, 222, 229, 243, + 258, 260, 267, 279, 284, 287, 292, 293, 296, 302, + 348, 354, 355, 356, 357, 374, 375, 376, 379, 382, + 383, 386, 388, 389, 392, 396, 400, 401, 402, 403, + 405, 407, 414, 419, 427, 428, 429, 430, 431, 434, + 435, 440, 441, 442, 443, 444, 452, 453, 457, 475, + 477, 489, 503, 508, 433, 280, 484, 509, 0, 347, + 0, 0, 349, 263, 283, 294, 0, 498, 454, 213, + 421, 272, 201, 232, 216, 241, 256, 259, 298, 358, + 365, 394, 399, 277, 253, 230, 418, 227, 437, 460, + 461, 462, 464, 362, 248, 398, 0, 363, 345, 466, + 467, 290, 465, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 381, 0, 0, 0, 0, 0, + 0, 0, 0, 252, 0, 0, 0, 0, 336, 249, + 0, 0, 395, 0, 197, 0, 439, 236, 346, 343, + 472, 264, 255, 251, 235, 291, 353, 393, 459, 387, + 0, 340, 0, 0, 449, 366, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 297, 233, 299, 196, 378, 450, 268, 0, 0, + 0, 0, 188, 189, 190, 0, 1681, 0, 0, 0, + 0, 0, 0, 0, 0, 224, 0, 231, 321, 330, + 329, 310, 311, 313, 315, 320, 327, 333, 0, 0, + 0, 0, 0, 247, 295, 254, 246, 469, 0, 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1682, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, + 0, 367, 239, 0, 0, 0, 0, 505, 0, 0, + 0, 0, 0, 0, 0, 335, 0, 304, 192, 211, + 0, 0, 377, 420, 426, 0, 0, 0, 237, 0, + 424, 391, 488, 219, 266, 417, 397, 422, 404, 269, + 0, 0, 423, 341, 474, 411, 485, 506, 507, 245, + 371, 496, 463, 502, 520, 212, 242, 385, 456, 491, + 446, 364, 470, 471, 303, 445, 276, 195, 339, 512, + 210, 432, 228, 217, 476, 494, 271, 415, 202, 458, + 483, 225, 436, 0, 0, 522, 204, 481, 455, 360, + 300, 301, 203, 0, 416, 250, 274, 240, 380, 478, + 479, 238, 523, 214, 501, 206, 0, 500, 373, 473, + 482, 361, 351, 205, 480, 359, 350, 306, 325, 326, + 262, 285, 409, 344, 410, 286, 369, 368, 370, 198, + 492, 0, 199, 0, 451, 493, 524, 220, 221, 223, + 0, 261, 265, 273, 275, 281, 282, 289, 337, 384, + 408, 406, 412, 0, 468, 486, 497, 504, 510, 511, + 513, 514, 515, 516, 517, 519, 518, 372, 288, 447, + 305, 342, 0, 0, 390, 425, 226, 490, 448, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 543, 352, + 438, 487, 307, 319, 322, 312, 331, 0, 332, 308, + 309, 314, 316, 317, 318, 323, 324, 328, 334, 234, + 0, 191, 207, 338, 0, 413, 270, 521, 499, 495, + 0, 209, 0, 244, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 193, 194, 200, 208, 218, + 222, 229, 243, 258, 260, 267, 279, 284, 287, 292, + 293, 296, 302, 348, 354, 355, 356, 357, 374, 375, + 376, 379, 382, 383, 386, 388, 389, 392, 396, 400, + 401, 402, 403, 405, 407, 414, 419, 427, 428, 429, + 430, 431, 434, 435, 440, 441, 442, 443, 444, 452, + 453, 457, 475, 477, 489, 503, 508, 433, 280, 484, + 509, 0, 347, 0, 0, 349, 263, 283, 294, 0, + 498, 454, 213, 421, 272, 201, 232, 216, 241, 256, + 259, 298, 358, 365, 394, 399, 277, 253, 230, 418, + 227, 437, 460, 461, 462, 464, 362, 248, 398, 0, + 363, 345, 466, 467, 290, 465, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, + 0, 0, 0, 0, 0, 0, 252, 0, 0, 0, + 0, 336, 249, 0, 0, 395, 0, 197, 0, 439, + 236, 346, 343, 472, 264, 255, 251, 235, 291, 353, + 393, 459, 387, 0, 340, 0, 0, 449, 366, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 297, 233, 299, 196, 378, 450, + 268, 0, 0, 0, 0, 188, 189, 190, 0, 2140, + 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, + 231, 321, 330, 329, 310, 311, 313, 315, 320, 327, + 333, 0, 0, 0, 0, 0, 247, 295, 254, 246, + 469, 0, 0, 0, 0, 0, 0, 0, 215, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2141, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 278, 0, 367, 239, 0, 0, 0, 0, + 505, 0, 0, 0, 0, 0, 0, 0, 335, 0, + 304, 192, 211, 0, 0, 377, 420, 426, 0, 0, + 0, 237, 0, 424, 391, 488, 219, 266, 417, 397, + 422, 404, 269, 0, 0, 423, 341, 474, 411, 485, + 506, 507, 245, 371, 496, 463, 502, 520, 212, 242, + 385, 456, 491, 446, 364, 470, 471, 303, 445, 276, + 195, 339, 512, 210, 432, 228, 217, 476, 494, 271, + 415, 202, 458, 483, 225, 436, 0, 0, 522, 204, + 481, 455, 360, 300, 301, 203, 0, 416, 250, 274, + 240, 380, 478, 479, 238, 523, 214, 501, 206, 0, + 500, 373, 473, 482, 361, 351, 205, 480, 359, 350, + 306, 325, 326, 262, 285, 409, 344, 410, 286, 369, + 368, 370, 198, 492, 0, 199, 0, 451, 493, 524, + 220, 221, 223, 0, 261, 265, 273, 275, 281, 282, + 289, 337, 384, 408, 406, 412, 0, 468, 486, 497, + 504, 510, 511, 513, 514, 515, 516, 517, 519, 518, + 372, 288, 447, 305, 342, 0, 0, 390, 425, 226, + 490, 448, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 525, 526, 527, 528, 529, 530, 531, + 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, + 542, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 543, 352, 438, 487, 307, 319, 322, 312, 331, + 0, 332, 308, 309, 314, 316, 317, 318, 323, 324, + 328, 334, 234, 0, 191, 207, 338, 0, 413, 270, + 521, 499, 495, 0, 209, 0, 244, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, + 200, 208, 218, 222, 229, 243, 258, 260, 267, 279, + 284, 287, 292, 293, 296, 302, 348, 354, 355, 356, + 357, 374, 375, 376, 379, 382, 383, 386, 388, 389, + 392, 396, 400, 401, 402, 403, 405, 407, 414, 419, + 427, 428, 429, 430, 431, 434, 435, 440, 441, 442, + 443, 444, 452, 453, 457, 475, 477, 489, 503, 508, + 433, 280, 484, 509, 0, 347, 0, 0, 349, 263, + 283, 294, 0, 498, 454, 213, 421, 272, 201, 232, + 216, 241, 256, 259, 298, 358, 365, 394, 399, 277, + 253, 230, 418, 227, 437, 460, 461, 462, 464, 362, + 248, 398, 0, 363, 345, 466, 467, 290, 465, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 381, 0, 0, 0, 0, 0, 0, 0, 0, 252, + 0, 0, 0, 0, 336, 249, 0, 0, 395, 0, + 197, 0, 439, 236, 346, 343, 472, 264, 255, 251, + 235, 291, 353, 393, 459, 387, 0, 340, 0, 0, + 449, 366, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 297, 233, 299, + 196, 378, 450, 268, 0, 0, 0, 0, 188, 189, + 190, 0, 0, 0, 2125, 0, 0, 0, 2126, 0, + 0, 224, 0, 231, 321, 330, 329, 310, 311, 313, + 315, 320, 327, 333, 0, 0, 0, 0, 0, 247, + 295, 254, 246, 469, 0, 0, 0, 0, 0, 0, + 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, - 0, 366, 238, 0, 0, 0, 0, 504, 0, 0, - 0, 0, 0, 0, 0, 334, 0, 303, 192, 211, - 0, 0, 376, 419, 425, 0, 0, 0, 236, 0, - 423, 390, 487, 219, 265, 416, 396, 421, 403, 268, - 0, 0, 422, 340, 473, 410, 484, 505, 506, 244, - 370, 495, 462, 501, 519, 212, 241, 384, 455, 490, - 445, 363, 469, 470, 302, 444, 275, 195, 338, 511, - 210, 431, 228, 217, 475, 493, 270, 414, 202, 457, - 482, 225, 435, 0, 0, 521, 204, 480, 454, 359, - 299, 300, 203, 0, 415, 249, 273, 239, 379, 477, - 478, 237, 522, 214, 500, 206, 0, 499, 372, 472, - 481, 360, 350, 205, 479, 358, 349, 305, 324, 325, - 261, 284, 408, 343, 409, 285, 368, 367, 369, 198, - 491, 0, 199, 0, 450, 492, 523, 220, 221, 223, - 0, 260, 264, 272, 274, 280, 281, 288, 336, 383, - 407, 405, 411, 0, 467, 485, 496, 503, 509, 510, - 512, 513, 514, 515, 516, 518, 517, 371, 287, 446, - 304, 341, 0, 0, 389, 424, 226, 489, 447, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, - 534, 535, 536, 537, 538, 539, 540, 541, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 542, 351, - 437, 486, 306, 318, 321, 311, 330, 0, 331, 307, - 308, 313, 315, 316, 317, 322, 323, 327, 333, 0, - 191, 207, 337, 0, 412, 269, 520, 498, 494, 0, - 209, 0, 243, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 278, 0, 367, 239, 0, + 0, 0, 0, 505, 0, 0, 0, 0, 0, 0, + 0, 335, 0, 304, 192, 211, 0, 0, 377, 420, + 426, 0, 0, 0, 237, 0, 424, 391, 488, 219, + 266, 417, 397, 422, 404, 269, 0, 0, 423, 341, + 474, 411, 485, 506, 507, 245, 371, 496, 463, 502, + 520, 212, 242, 385, 456, 491, 446, 364, 470, 471, + 303, 445, 276, 195, 339, 512, 210, 432, 228, 217, + 476, 494, 271, 415, 202, 458, 483, 225, 436, 0, + 0, 522, 204, 481, 455, 360, 300, 301, 203, 0, + 416, 250, 274, 240, 380, 478, 479, 238, 523, 214, + 501, 206, 0, 500, 373, 473, 482, 361, 351, 205, + 480, 359, 350, 306, 325, 326, 262, 285, 409, 344, + 410, 286, 369, 368, 370, 198, 492, 0, 199, 0, + 451, 493, 524, 220, 221, 223, 0, 261, 265, 273, + 275, 281, 282, 289, 337, 384, 408, 406, 412, 0, + 468, 486, 497, 504, 510, 511, 513, 514, 515, 516, + 517, 519, 518, 372, 288, 447, 305, 342, 0, 0, + 390, 425, 226, 490, 448, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 525, 526, 527, 528, + 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, + 539, 540, 541, 542, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 543, 352, 438, 487, 307, 319, + 322, 312, 331, 0, 332, 308, 309, 314, 316, 317, + 318, 323, 324, 328, 334, 234, 0, 191, 207, 338, + 0, 413, 270, 521, 499, 495, 0, 209, 0, 244, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 193, 194, 200, 208, 218, 222, 229, 243, 258, + 260, 267, 279, 284, 287, 292, 293, 296, 302, 348, + 354, 355, 356, 357, 374, 375, 376, 379, 382, 383, + 386, 388, 389, 392, 396, 400, 401, 402, 403, 405, + 407, 414, 419, 427, 428, 429, 430, 431, 434, 435, + 440, 441, 442, 443, 444, 452, 453, 457, 475, 477, + 489, 503, 508, 433, 280, 484, 509, 0, 347, 0, + 0, 349, 263, 283, 294, 0, 498, 454, 213, 421, + 272, 201, 232, 216, 241, 256, 259, 298, 358, 365, + 394, 399, 277, 253, 230, 418, 227, 437, 460, 461, + 462, 464, 362, 248, 398, 0, 363, 345, 466, 467, + 290, 465, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 381, 0, 0, 0, 0, 0, 0, + 0, 0, 252, 1381, 0, 0, 0, 336, 249, 0, + 0, 395, 0, 197, 0, 439, 236, 346, 343, 472, + 264, 255, 251, 235, 291, 353, 393, 459, 387, 0, + 340, 0, 0, 449, 366, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 297, 233, 299, 196, 378, 450, 268, 0, 0, 0, + 0, 188, 189, 190, 0, 1380, 0, 0, 0, 0, + 0, 0, 0, 0, 224, 0, 231, 321, 330, 329, + 310, 311, 313, 315, 320, 327, 333, 0, 0, 0, + 0, 0, 247, 295, 254, 246, 469, 0, 0, 0, + 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 257, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 278, 0, + 367, 239, 0, 0, 0, 0, 505, 0, 0, 0, + 0, 0, 0, 0, 335, 0, 304, 192, 211, 0, + 0, 377, 420, 426, 0, 0, 0, 237, 0, 424, + 391, 488, 219, 266, 417, 397, 422, 404, 269, 0, + 0, 423, 341, 474, 411, 485, 506, 507, 245, 371, + 496, 463, 502, 520, 212, 242, 385, 456, 491, 446, + 364, 470, 471, 303, 445, 276, 195, 339, 512, 210, + 432, 228, 217, 476, 494, 271, 415, 202, 458, 483, + 225, 436, 0, 0, 522, 204, 481, 455, 360, 300, + 301, 203, 0, 416, 250, 274, 240, 380, 478, 479, + 238, 523, 214, 501, 206, 0, 500, 373, 473, 482, + 361, 351, 205, 480, 359, 350, 306, 325, 326, 262, + 285, 409, 344, 410, 286, 369, 368, 370, 198, 492, + 0, 199, 0, 451, 493, 524, 220, 221, 223, 0, + 261, 265, 273, 275, 281, 282, 289, 337, 384, 408, + 406, 412, 0, 468, 486, 497, 504, 510, 511, 513, + 514, 515, 516, 517, 519, 518, 372, 288, 447, 305, + 342, 0, 0, 390, 425, 226, 490, 448, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 525, + 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, + 536, 537, 538, 539, 540, 541, 542, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 543, 352, 438, + 487, 307, 319, 322, 312, 331, 0, 332, 308, 309, + 314, 316, 317, 318, 323, 324, 328, 334, 234, 0, + 191, 207, 338, 0, 413, 270, 521, 499, 495, 0, + 209, 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 208, 218, 222, - 229, 242, 257, 259, 266, 278, 283, 286, 291, 292, - 295, 301, 347, 353, 354, 355, 356, 373, 374, 375, - 378, 381, 382, 385, 387, 388, 391, 395, 399, 400, - 401, 402, 404, 406, 413, 418, 426, 427, 428, 429, - 430, 433, 434, 439, 440, 441, 442, 443, 451, 452, - 456, 474, 476, 488, 502, 507, 432, 279, 483, 508, - 0, 346, 0, 0, 348, 262, 282, 293, 0, 497, - 453, 213, 420, 271, 201, 232, 216, 240, 255, 258, - 297, 357, 364, 393, 398, 276, 252, 230, 417, 227, - 436, 459, 460, 461, 463, 361, 247, 397, 0, 362, - 344, 465, 466, 289, 464, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 380, 0, 1487, 0, - 0, 0, 0, 0, 0, 251, 0, 0, 0, 0, - 335, 248, 0, 0, 394, 0, 197, 0, 438, 235, - 345, 342, 471, 263, 254, 250, 234, 290, 352, 392, - 458, 386, 0, 339, 0, 0, 448, 365, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 296, 233, 298, 196, 377, 449, 267, + 229, 243, 258, 260, 267, 279, 284, 287, 292, 293, + 296, 302, 348, 354, 355, 356, 357, 374, 375, 376, + 379, 382, 383, 386, 388, 389, 392, 396, 400, 401, + 402, 403, 405, 407, 414, 419, 427, 428, 429, 430, + 431, 434, 435, 440, 441, 442, 443, 444, 452, 453, + 457, 475, 477, 489, 503, 508, 433, 280, 484, 509, + 0, 347, 0, 0, 349, 263, 283, 294, 0, 498, + 454, 213, 421, 272, 201, 232, 216, 241, 256, 259, + 298, 358, 365, 394, 399, 277, 253, 230, 418, 227, + 437, 460, 461, 462, 464, 362, 248, 398, 0, 363, + 345, 466, 467, 290, 465, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 381, 0, 0, 0, + 0, 0, 0, 0, 0, 252, 0, 0, 0, 0, + 336, 249, 0, 0, 395, 0, 197, 0, 439, 236, + 346, 343, 472, 264, 255, 251, 235, 291, 353, 393, + 459, 387, 0, 340, 0, 0, 449, 366, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 297, 233, 299, 196, 378, 450, 268, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, 231, - 320, 329, 328, 309, 310, 312, 314, 319, 326, 332, - 0, 0, 0, 0, 0, 246, 294, 253, 245, 468, + 321, 330, 329, 310, 311, 313, 315, 320, 327, 333, + 0, 0, 0, 0, 0, 247, 295, 254, 246, 469, 0, 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 256, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5102,59 +4302,240 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 277, 0, 366, 238, 0, 0, 0, 0, 504, - 0, 0, 0, 0, 0, 0, 0, 334, 0, 303, - 192, 211, 0, 0, 376, 419, 425, 0, 0, 0, - 236, 0, 423, 390, 487, 219, 265, 416, 396, 421, - 403, 268, 0, 0, 422, 340, 473, 410, 484, 505, - 506, 244, 370, 495, 462, 501, 519, 212, 241, 384, - 455, 490, 445, 363, 469, 470, 302, 444, 275, 195, - 338, 511, 210, 431, 228, 217, 475, 493, 270, 414, - 202, 457, 482, 225, 435, 0, 0, 521, 204, 480, - 454, 359, 299, 300, 203, 0, 415, 249, 273, 239, - 379, 477, 478, 237, 522, 214, 500, 206, 0, 499, - 372, 472, 481, 360, 350, 205, 479, 358, 349, 305, - 324, 325, 261, 284, 408, 343, 409, 285, 368, 367, - 369, 198, 491, 0, 199, 0, 450, 492, 523, 220, - 221, 223, 0, 260, 264, 272, 274, 280, 281, 288, - 336, 383, 407, 405, 411, 0, 467, 485, 496, 503, - 509, 510, 512, 513, 514, 515, 516, 518, 517, 371, - 287, 446, 304, 341, 0, 0, 389, 424, 226, 489, - 447, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 524, 525, 526, 527, 528, 529, 530, 531, - 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, + 0, 278, 0, 367, 239, 0, 0, 0, 0, 505, + 0, 0, 0, 2980, 0, 0, 0, 335, 0, 304, + 192, 211, 0, 0, 377, 420, 426, 0, 0, 0, + 237, 0, 424, 391, 488, 219, 266, 417, 397, 422, + 404, 269, 0, 0, 423, 341, 474, 411, 485, 506, + 507, 245, 371, 496, 463, 502, 520, 212, 242, 385, + 456, 491, 446, 364, 470, 471, 303, 445, 276, 195, + 339, 512, 210, 432, 228, 217, 476, 494, 271, 415, + 202, 458, 483, 225, 436, 0, 0, 522, 204, 481, + 455, 360, 300, 301, 203, 0, 416, 250, 274, 240, + 380, 478, 479, 238, 523, 214, 501, 206, 0, 500, + 373, 473, 482, 361, 351, 205, 480, 359, 350, 306, + 325, 326, 262, 285, 409, 344, 410, 286, 369, 368, + 370, 198, 492, 0, 199, 0, 451, 493, 524, 220, + 221, 223, 0, 261, 265, 273, 275, 281, 282, 289, + 337, 384, 408, 406, 412, 0, 468, 486, 497, 504, + 510, 511, 513, 514, 515, 516, 517, 519, 518, 372, + 288, 447, 305, 342, 0, 0, 390, 425, 226, 490, + 448, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 525, 526, 527, 528, 529, 530, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 543, 352, 438, 487, 307, 319, 322, 312, 331, 0, + 332, 308, 309, 314, 316, 317, 318, 323, 324, 328, + 334, 234, 0, 191, 207, 338, 0, 413, 270, 521, + 499, 495, 0, 209, 0, 244, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, + 208, 218, 222, 229, 243, 258, 260, 267, 279, 284, + 287, 292, 293, 296, 302, 348, 354, 355, 356, 357, + 374, 375, 376, 379, 382, 383, 386, 388, 389, 392, + 396, 400, 401, 402, 403, 405, 407, 414, 419, 427, + 428, 429, 430, 431, 434, 435, 440, 441, 442, 443, + 444, 452, 453, 457, 475, 477, 489, 503, 508, 433, + 280, 484, 509, 0, 347, 0, 0, 349, 263, 283, + 294, 0, 498, 454, 213, 421, 272, 201, 232, 216, + 241, 256, 259, 298, 358, 365, 394, 399, 277, 253, + 230, 418, 227, 437, 460, 461, 462, 464, 362, 248, + 398, 0, 363, 345, 466, 467, 290, 465, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, + 0, 0, 0, 0, 0, 0, 0, 0, 252, 0, + 0, 0, 0, 336, 249, 0, 0, 395, 0, 197, + 0, 439, 236, 346, 343, 472, 264, 255, 251, 235, + 291, 353, 393, 459, 387, 0, 340, 0, 0, 449, + 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 297, 233, 299, 196, + 378, 450, 268, 0, 0, 0, 0, 188, 189, 190, + 0, 1538, 0, 0, 0, 0, 0, 0, 0, 0, + 224, 0, 231, 321, 330, 329, 310, 311, 313, 315, + 320, 327, 333, 0, 0, 0, 0, 0, 247, 295, + 254, 246, 469, 0, 0, 0, 0, 0, 0, 0, + 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 257, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 542, 351, 437, 486, 306, 318, 321, 311, 330, 0, - 331, 307, 308, 313, 315, 316, 317, 322, 323, 327, - 333, 0, 191, 207, 337, 0, 412, 269, 520, 498, - 494, 0, 209, 0, 243, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 278, 0, 367, 239, 0, 0, + 0, 0, 505, 0, 0, 0, 0, 0, 0, 0, + 335, 0, 304, 192, 211, 0, 0, 377, 420, 426, + 0, 0, 0, 237, 0, 424, 391, 488, 219, 266, + 417, 397, 422, 404, 269, 0, 0, 423, 341, 474, + 411, 485, 506, 507, 245, 371, 496, 463, 502, 520, + 212, 242, 385, 456, 491, 446, 364, 470, 471, 303, + 445, 276, 195, 339, 512, 210, 432, 228, 217, 476, + 494, 271, 415, 202, 458, 483, 225, 436, 0, 0, + 522, 204, 481, 455, 360, 300, 301, 203, 0, 416, + 250, 274, 240, 380, 478, 479, 238, 523, 214, 501, + 206, 0, 500, 373, 473, 482, 361, 351, 205, 480, + 359, 350, 306, 325, 326, 262, 285, 409, 344, 410, + 286, 369, 368, 370, 198, 492, 0, 199, 0, 451, + 493, 524, 220, 221, 223, 0, 261, 265, 273, 275, + 281, 282, 289, 337, 384, 408, 406, 412, 0, 468, + 486, 497, 504, 510, 511, 513, 514, 515, 516, 517, + 519, 518, 372, 288, 447, 305, 342, 0, 0, 390, + 425, 226, 490, 448, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 525, 526, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 543, 352, 438, 487, 307, 319, 322, + 312, 331, 0, 332, 308, 309, 314, 316, 317, 318, + 323, 324, 328, 334, 234, 0, 191, 207, 338, 0, + 413, 270, 521, 499, 495, 0, 209, 0, 244, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 193, 194, 200, 208, 218, 222, 229, 243, 258, 260, + 267, 279, 284, 287, 292, 293, 296, 302, 348, 354, + 355, 356, 357, 374, 375, 376, 379, 382, 383, 386, + 388, 389, 392, 396, 400, 401, 402, 403, 405, 407, + 414, 419, 427, 428, 429, 430, 431, 434, 435, 440, + 441, 442, 443, 444, 452, 453, 457, 475, 477, 489, + 503, 508, 433, 280, 484, 509, 0, 347, 0, 0, + 349, 263, 283, 294, 0, 498, 454, 213, 421, 272, + 201, 232, 216, 241, 256, 259, 298, 358, 365, 394, + 399, 277, 253, 230, 418, 227, 437, 460, 461, 462, + 464, 362, 248, 398, 0, 363, 345, 466, 467, 290, + 465, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 381, 0, 0, 0, 0, 0, 0, 0, + 0, 252, 0, 0, 0, 0, 336, 249, 0, 0, + 395, 0, 197, 0, 439, 236, 346, 343, 472, 264, + 255, 251, 235, 291, 353, 393, 459, 387, 0, 340, + 0, 0, 449, 366, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, + 233, 299, 196, 378, 450, 268, 0, 0, 0, 0, + 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 224, 0, 231, 321, 330, 329, 310, + 311, 313, 315, 320, 327, 333, 0, 0, 0, 0, + 0, 247, 295, 254, 246, 469, 0, 0, 0, 0, + 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 257, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 278, 0, 367, + 239, 0, 0, 0, 0, 505, 0, 0, 0, 2887, + 0, 0, 0, 335, 0, 304, 192, 211, 0, 0, + 377, 420, 426, 0, 0, 0, 237, 0, 424, 391, + 488, 219, 266, 417, 397, 422, 404, 269, 0, 0, + 423, 341, 474, 411, 485, 506, 507, 245, 371, 496, + 463, 502, 520, 212, 242, 385, 456, 491, 446, 364, + 470, 471, 303, 445, 276, 195, 339, 512, 210, 432, + 228, 217, 476, 494, 271, 415, 202, 458, 483, 225, + 436, 0, 0, 522, 204, 481, 455, 360, 300, 301, + 203, 0, 416, 250, 274, 240, 380, 478, 479, 238, + 523, 214, 501, 206, 0, 500, 373, 473, 482, 361, + 351, 205, 480, 359, 350, 306, 325, 326, 262, 285, + 409, 344, 410, 286, 369, 368, 370, 198, 492, 0, + 199, 0, 451, 493, 524, 220, 221, 223, 0, 261, + 265, 273, 275, 281, 282, 289, 337, 384, 408, 406, + 412, 0, 468, 486, 497, 504, 510, 511, 513, 514, + 515, 516, 517, 519, 518, 372, 288, 447, 305, 342, + 0, 0, 390, 425, 226, 490, 448, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 525, 526, + 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 543, 352, 438, 487, + 307, 319, 322, 312, 331, 0, 332, 308, 309, 314, + 316, 317, 318, 323, 324, 328, 334, 234, 0, 191, + 207, 338, 0, 413, 270, 521, 499, 495, 0, 209, + 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 193, 194, 200, 208, 218, 222, 229, + 243, 258, 260, 267, 279, 284, 287, 292, 293, 296, + 302, 348, 354, 355, 356, 357, 374, 375, 376, 379, + 382, 383, 386, 388, 389, 392, 396, 400, 401, 402, + 403, 405, 407, 414, 419, 427, 428, 429, 430, 431, + 434, 435, 440, 441, 442, 443, 444, 452, 453, 457, + 475, 477, 489, 503, 508, 433, 280, 484, 509, 0, + 347, 0, 0, 349, 263, 283, 294, 0, 498, 454, + 213, 421, 272, 201, 232, 216, 241, 256, 259, 298, + 358, 365, 394, 399, 277, 253, 230, 418, 227, 437, + 460, 461, 462, 464, 362, 248, 398, 0, 363, 345, + 466, 467, 290, 465, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 381, 0, 0, 0, 0, + 0, 0, 0, 0, 252, 0, 0, 0, 0, 336, + 249, 0, 0, 395, 0, 197, 0, 439, 236, 346, + 343, 472, 264, 255, 251, 235, 291, 353, 393, 459, + 387, 0, 340, 0, 0, 449, 366, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 297, 233, 299, 196, 378, 450, 268, 0, + 87, 0, 0, 188, 189, 190, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 224, 0, 231, 321, + 330, 329, 310, 311, 313, 315, 320, 327, 333, 0, + 0, 0, 0, 0, 247, 295, 254, 246, 469, 0, + 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 278, 0, 367, 239, 0, 0, 0, 0, 505, 0, + 0, 0, 0, 0, 0, 0, 335, 0, 304, 192, + 211, 0, 0, 377, 420, 426, 0, 0, 0, 237, + 0, 424, 391, 488, 219, 266, 417, 397, 422, 404, + 269, 0, 0, 423, 341, 474, 411, 485, 506, 507, + 245, 371, 496, 463, 502, 520, 212, 242, 385, 456, + 491, 446, 364, 470, 471, 303, 445, 276, 195, 339, + 512, 210, 432, 228, 217, 476, 494, 271, 415, 202, + 458, 483, 225, 436, 0, 0, 522, 204, 481, 455, + 360, 300, 301, 203, 0, 416, 250, 274, 240, 380, + 478, 479, 238, 523, 214, 501, 206, 0, 500, 373, + 473, 482, 361, 351, 205, 480, 359, 350, 306, 325, + 326, 262, 285, 409, 344, 410, 286, 369, 368, 370, + 198, 492, 0, 199, 0, 451, 493, 524, 220, 221, + 223, 0, 261, 265, 273, 275, 281, 282, 289, 337, + 384, 408, 406, 412, 0, 468, 486, 497, 504, 510, + 511, 513, 514, 515, 516, 517, 519, 518, 372, 288, + 447, 305, 342, 0, 0, 390, 425, 226, 490, 448, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 525, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 543, + 352, 438, 487, 307, 319, 322, 312, 331, 0, 332, + 308, 309, 314, 316, 317, 318, 323, 324, 328, 334, + 234, 0, 191, 207, 338, 0, 413, 270, 521, 499, + 495, 0, 209, 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 208, - 218, 222, 229, 242, 257, 259, 266, 278, 283, 286, - 291, 292, 295, 301, 347, 353, 354, 355, 356, 373, - 374, 375, 378, 381, 382, 385, 387, 388, 391, 395, - 399, 400, 401, 402, 404, 406, 413, 418, 426, 427, - 428, 429, 430, 433, 434, 439, 440, 441, 442, 443, - 451, 452, 456, 474, 476, 488, 502, 507, 432, 279, - 483, 508, 0, 346, 0, 0, 348, 262, 282, 293, - 0, 497, 453, 213, 420, 271, 201, 232, 216, 240, - 255, 258, 297, 357, 364, 393, 398, 276, 252, 230, - 417, 227, 436, 459, 460, 461, 463, 361, 247, 397, - 0, 362, 344, 465, 466, 289, 464, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 380, 0, - 0, 0, 0, 0, 0, 0, 0, 251, 0, 0, - 0, 0, 335, 248, 0, 0, 394, 0, 197, 0, - 438, 235, 345, 342, 471, 263, 254, 250, 234, 290, - 352, 392, 458, 386, 0, 339, 0, 0, 448, 365, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 296, 233, 298, 196, 377, - 449, 267, 0, 1462, 0, 0, 188, 189, 190, 0, + 218, 222, 229, 243, 258, 260, 267, 279, 284, 287, + 292, 293, 296, 302, 348, 354, 355, 356, 357, 374, + 375, 376, 379, 382, 383, 386, 388, 389, 392, 396, + 400, 401, 402, 403, 405, 407, 414, 419, 427, 428, + 429, 430, 431, 434, 435, 440, 441, 442, 443, 444, + 452, 453, 457, 475, 477, 489, 503, 508, 433, 280, + 484, 509, 0, 347, 0, 0, 349, 263, 283, 294, + 0, 498, 454, 213, 421, 272, 201, 232, 216, 241, + 256, 259, 298, 358, 365, 394, 399, 277, 253, 230, + 418, 227, 437, 460, 461, 462, 464, 362, 248, 398, + 0, 363, 345, 466, 467, 290, 465, 0, 0, 0, + 0, 1847, 0, 0, 0, 0, 0, 0, 381, 0, + 0, 0, 0, 0, 0, 0, 0, 252, 0, 0, + 0, 0, 336, 249, 0, 0, 395, 0, 197, 0, + 439, 236, 346, 343, 472, 264, 255, 251, 235, 291, + 353, 393, 459, 387, 0, 340, 0, 0, 449, 366, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 297, 233, 299, 196, 378, + 450, 268, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, - 0, 231, 320, 329, 328, 309, 310, 312, 314, 319, - 326, 332, 0, 0, 0, 0, 0, 246, 294, 253, - 245, 468, 0, 0, 0, 0, 0, 0, 0, 215, + 0, 231, 321, 330, 329, 310, 311, 313, 315, 320, + 327, 333, 0, 0, 0, 0, 0, 247, 295, 254, + 246, 469, 0, 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5162,59 +4543,240 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 277, 0, 366, 238, 0, 0, 0, - 0, 504, 0, 0, 0, 0, 0, 0, 0, 334, - 0, 303, 192, 211, 0, 0, 376, 419, 425, 0, - 0, 0, 236, 0, 423, 390, 487, 219, 265, 416, - 396, 421, 403, 268, 0, 0, 422, 340, 473, 410, - 484, 505, 506, 244, 370, 495, 462, 501, 519, 212, - 241, 384, 455, 490, 445, 363, 469, 470, 302, 444, - 275, 195, 338, 511, 210, 431, 228, 217, 475, 493, - 270, 414, 202, 457, 482, 225, 435, 0, 0, 521, - 204, 480, 454, 359, 299, 300, 203, 0, 415, 249, - 273, 239, 379, 477, 478, 237, 522, 214, 500, 206, - 0, 499, 372, 472, 481, 360, 350, 205, 479, 358, - 349, 305, 324, 325, 261, 284, 408, 343, 409, 285, - 368, 367, 369, 198, 491, 0, 199, 0, 450, 492, - 523, 220, 221, 223, 0, 260, 264, 272, 274, 280, - 281, 288, 336, 383, 407, 405, 411, 0, 467, 485, - 496, 503, 509, 510, 512, 513, 514, 515, 516, 518, - 517, 371, 287, 446, 304, 341, 0, 0, 389, 424, - 226, 489, 447, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 524, 525, 526, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 542, 351, 437, 486, 306, 318, 321, 311, - 330, 0, 331, 307, 308, 313, 315, 316, 317, 322, - 323, 327, 333, 0, 191, 207, 337, 0, 412, 269, - 520, 498, 494, 0, 209, 0, 243, 0, 0, 0, + 0, 0, 0, 278, 0, 367, 239, 0, 0, 0, + 0, 505, 0, 0, 0, 0, 0, 0, 0, 335, + 0, 304, 192, 211, 0, 0, 377, 420, 426, 0, + 0, 0, 237, 0, 424, 391, 488, 219, 266, 417, + 397, 422, 404, 269, 0, 0, 423, 341, 474, 411, + 485, 506, 507, 245, 371, 496, 463, 502, 520, 212, + 242, 385, 456, 491, 446, 364, 470, 471, 303, 445, + 276, 195, 339, 512, 210, 432, 228, 217, 476, 494, + 271, 415, 202, 458, 483, 225, 436, 0, 0, 522, + 204, 481, 455, 360, 300, 301, 203, 0, 416, 250, + 274, 240, 380, 478, 479, 238, 523, 214, 501, 206, + 0, 500, 373, 473, 482, 361, 351, 205, 480, 359, + 350, 306, 325, 326, 262, 285, 409, 344, 410, 286, + 369, 368, 370, 198, 492, 0, 199, 0, 451, 493, + 524, 220, 221, 223, 0, 261, 265, 273, 275, 281, + 282, 289, 337, 384, 408, 406, 412, 0, 468, 486, + 497, 504, 510, 511, 513, 514, 515, 516, 517, 519, + 518, 372, 288, 447, 305, 342, 0, 0, 390, 425, + 226, 490, 448, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 525, 526, 527, 528, 529, 530, + 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, + 541, 542, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 543, 352, 438, 487, 307, 319, 322, 312, + 331, 0, 332, 308, 309, 314, 316, 317, 318, 323, + 324, 328, 334, 234, 0, 191, 207, 338, 0, 413, + 270, 521, 499, 495, 0, 209, 0, 244, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, + 194, 200, 208, 218, 222, 229, 243, 258, 260, 267, + 279, 284, 287, 292, 293, 296, 302, 348, 354, 355, + 356, 357, 374, 375, 376, 379, 382, 383, 386, 388, + 389, 392, 396, 400, 401, 402, 403, 405, 407, 414, + 419, 427, 428, 429, 430, 431, 434, 435, 440, 441, + 442, 443, 444, 452, 453, 457, 475, 477, 489, 503, + 508, 433, 280, 484, 509, 0, 347, 0, 0, 349, + 263, 283, 294, 0, 498, 454, 213, 421, 272, 201, + 232, 216, 241, 256, 259, 298, 358, 365, 394, 399, + 277, 253, 230, 418, 227, 437, 460, 461, 462, 464, + 362, 248, 398, 0, 363, 345, 466, 467, 290, 465, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 381, 0, 0, 0, 0, 0, 0, 0, 0, + 252, 0, 0, 0, 0, 336, 249, 0, 0, 395, + 0, 197, 0, 439, 236, 346, 343, 472, 264, 255, + 251, 235, 291, 353, 393, 459, 387, 0, 340, 0, + 0, 449, 366, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 297, 233, + 299, 196, 378, 450, 268, 0, 0, 0, 0, 188, + 189, 190, 0, 1360, 0, 0, 0, 0, 0, 0, + 0, 0, 224, 0, 231, 321, 330, 329, 310, 311, + 313, 315, 320, 327, 333, 0, 0, 0, 0, 0, + 247, 295, 254, 246, 469, 0, 0, 0, 0, 0, + 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 257, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 278, 0, 367, 239, + 0, 0, 0, 0, 505, 0, 0, 0, 0, 0, + 0, 0, 335, 0, 304, 192, 211, 0, 0, 377, + 420, 426, 0, 0, 0, 237, 0, 424, 391, 488, + 219, 266, 417, 397, 422, 404, 269, 0, 0, 423, + 341, 474, 411, 485, 506, 507, 245, 371, 496, 463, + 502, 520, 212, 242, 385, 456, 491, 446, 364, 470, + 471, 303, 445, 276, 195, 339, 512, 210, 432, 228, + 217, 476, 494, 271, 415, 202, 458, 483, 225, 436, + 0, 0, 522, 204, 481, 455, 360, 300, 301, 203, + 0, 416, 250, 274, 240, 380, 478, 479, 238, 523, + 214, 501, 206, 0, 500, 373, 473, 482, 361, 351, + 205, 480, 359, 350, 306, 325, 326, 262, 285, 409, + 344, 410, 286, 369, 368, 370, 198, 492, 0, 199, + 0, 451, 493, 524, 220, 221, 223, 0, 261, 265, + 273, 275, 281, 282, 289, 337, 384, 408, 406, 412, + 0, 468, 486, 497, 504, 510, 511, 513, 514, 515, + 516, 517, 519, 518, 372, 288, 447, 305, 342, 0, + 0, 390, 425, 226, 490, 448, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 525, 526, 527, + 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 543, 352, 438, 487, 307, + 319, 322, 312, 331, 0, 332, 308, 309, 314, 316, + 317, 318, 323, 324, 328, 334, 234, 0, 191, 207, + 338, 0, 413, 270, 521, 499, 495, 0, 209, 0, + 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 193, 194, 200, 208, 218, 222, 229, 243, + 258, 260, 267, 279, 284, 287, 292, 293, 296, 302, + 348, 354, 355, 356, 357, 374, 375, 376, 379, 382, + 383, 386, 388, 389, 392, 396, 400, 401, 402, 403, + 405, 407, 414, 419, 427, 428, 429, 430, 431, 434, + 435, 440, 441, 442, 443, 444, 452, 453, 457, 475, + 477, 489, 503, 508, 433, 280, 484, 509, 0, 347, + 0, 0, 349, 263, 283, 294, 0, 498, 454, 213, + 421, 272, 201, 232, 216, 241, 256, 259, 298, 358, + 365, 394, 399, 277, 253, 230, 418, 227, 437, 460, + 461, 462, 464, 362, 248, 398, 0, 363, 345, 466, + 467, 290, 465, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 381, 0, 0, 0, 0, 0, + 0, 0, 0, 252, 0, 0, 0, 0, 336, 249, + 0, 0, 395, 0, 197, 0, 439, 236, 346, 343, + 472, 264, 255, 251, 235, 291, 353, 393, 459, 387, + 0, 340, 0, 0, 449, 366, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 297, 233, 299, 196, 378, 450, 268, 0, 0, + 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 224, 0, 231, 321, 330, + 329, 310, 311, 313, 315, 320, 327, 333, 0, 0, + 0, 0, 0, 247, 295, 254, 246, 469, 0, 0, + 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1219, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, + 0, 367, 239, 0, 0, 0, 0, 505, 0, 0, + 0, 0, 0, 0, 0, 335, 0, 304, 192, 211, + 0, 0, 377, 420, 426, 0, 0, 0, 237, 0, + 424, 391, 488, 219, 266, 417, 397, 422, 404, 269, + 0, 0, 423, 341, 474, 411, 485, 506, 507, 245, + 371, 496, 463, 502, 520, 212, 242, 385, 456, 491, + 446, 364, 470, 471, 303, 445, 276, 195, 339, 512, + 210, 432, 228, 217, 476, 494, 271, 415, 202, 458, + 483, 225, 436, 0, 0, 522, 204, 481, 455, 360, + 300, 301, 203, 0, 416, 250, 274, 240, 380, 478, + 479, 238, 523, 214, 501, 206, 0, 500, 373, 473, + 482, 361, 351, 205, 480, 359, 350, 306, 325, 326, + 262, 285, 409, 344, 410, 286, 369, 368, 370, 198, + 492, 0, 199, 0, 451, 493, 524, 220, 221, 223, + 0, 261, 265, 273, 275, 281, 282, 289, 337, 384, + 408, 406, 412, 0, 468, 486, 497, 504, 510, 511, + 513, 514, 515, 516, 517, 519, 518, 372, 288, 447, + 305, 342, 0, 0, 390, 425, 226, 490, 448, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 543, 352, + 438, 487, 307, 319, 322, 312, 331, 0, 332, 308, + 309, 314, 316, 317, 318, 323, 324, 328, 334, 234, + 0, 191, 207, 338, 0, 413, 270, 521, 499, 495, + 0, 209, 0, 244, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 193, 194, 200, 208, 218, + 222, 229, 243, 258, 260, 267, 279, 284, 287, 292, + 293, 296, 302, 348, 354, 355, 356, 357, 374, 375, + 376, 379, 382, 383, 386, 388, 389, 392, 396, 400, + 401, 402, 403, 405, 407, 414, 419, 427, 428, 429, + 430, 431, 434, 435, 440, 441, 442, 443, 444, 452, + 453, 457, 475, 477, 489, 503, 508, 433, 280, 484, + 509, 0, 347, 0, 0, 349, 263, 283, 294, 0, + 498, 454, 213, 421, 272, 201, 232, 216, 241, 256, + 259, 298, 358, 365, 394, 399, 277, 253, 230, 418, + 227, 437, 460, 461, 462, 464, 362, 248, 398, 0, + 363, 345, 466, 467, 290, 465, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, + 0, 0, 0, 0, 0, 0, 252, 0, 0, 0, + 0, 336, 249, 0, 0, 395, 0, 197, 0, 439, + 236, 346, 343, 472, 264, 255, 251, 235, 291, 353, + 393, 459, 387, 0, 340, 0, 0, 449, 366, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 297, 233, 299, 196, 378, 450, + 268, 0, 0, 0, 0, 188, 189, 190, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, + 231, 321, 330, 329, 310, 311, 313, 315, 320, 327, + 333, 0, 0, 0, 0, 0, 247, 295, 254, 246, + 469, 0, 0, 0, 0, 0, 0, 0, 215, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 278, 0, 367, 239, 0, 0, 0, 0, + 505, 0, 0, 0, 0, 0, 0, 0, 335, 0, + 304, 192, 211, 0, 0, 377, 420, 426, 0, 0, + 0, 237, 0, 424, 391, 488, 219, 266, 417, 397, + 422, 404, 269, 0, 0, 423, 341, 474, 411, 485, + 506, 507, 245, 371, 496, 463, 502, 520, 212, 242, + 385, 456, 491, 446, 364, 470, 471, 303, 445, 276, + 195, 339, 512, 210, 432, 228, 217, 476, 494, 271, + 415, 202, 458, 483, 225, 436, 0, 0, 522, 204, + 481, 455, 360, 300, 301, 203, 0, 416, 250, 274, + 240, 380, 478, 479, 238, 523, 214, 501, 206, 0, + 500, 373, 473, 482, 361, 351, 205, 480, 359, 350, + 306, 325, 326, 262, 285, 409, 344, 410, 286, 369, + 368, 370, 198, 492, 0, 199, 0, 451, 493, 524, + 220, 221, 223, 0, 261, 265, 273, 275, 281, 282, + 289, 337, 384, 408, 406, 412, 0, 468, 486, 497, + 504, 510, 511, 513, 514, 515, 516, 517, 519, 518, + 372, 288, 447, 305, 342, 0, 0, 390, 425, 226, + 490, 448, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 525, 526, 527, 528, 529, 530, 531, + 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, + 542, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 543, 352, 438, 487, 307, 319, 322, 312, 331, + 0, 332, 308, 309, 314, 316, 317, 318, 323, 324, + 328, 334, 234, 0, 191, 207, 338, 1636, 413, 270, + 521, 499, 495, 0, 209, 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, - 200, 208, 218, 222, 229, 242, 257, 259, 266, 278, - 283, 286, 291, 292, 295, 301, 347, 353, 354, 355, - 356, 373, 374, 375, 378, 381, 382, 385, 387, 388, - 391, 395, 399, 400, 401, 402, 404, 406, 413, 418, - 426, 427, 428, 429, 430, 433, 434, 439, 440, 441, - 442, 443, 451, 452, 456, 474, 476, 488, 502, 507, - 432, 279, 483, 508, 0, 346, 0, 0, 348, 262, - 282, 293, 0, 497, 453, 213, 420, 271, 201, 232, - 216, 240, 255, 258, 297, 357, 364, 393, 398, 276, - 252, 230, 417, 227, 436, 459, 460, 461, 463, 361, - 247, 397, 0, 362, 344, 465, 466, 289, 464, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 380, 0, 0, 0, 0, 0, 0, 0, 1362, 251, - 0, 0, 0, 0, 335, 248, 0, 0, 394, 0, - 197, 0, 438, 235, 345, 342, 471, 263, 254, 250, - 234, 290, 352, 392, 458, 386, 0, 339, 0, 0, - 448, 365, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 296, 233, 298, - 196, 377, 449, 267, 0, 0, 0, 0, 188, 189, + 200, 208, 218, 222, 229, 243, 258, 260, 267, 279, + 284, 287, 292, 293, 296, 302, 348, 354, 355, 356, + 357, 374, 375, 376, 379, 382, 383, 386, 388, 389, + 392, 396, 400, 401, 402, 403, 405, 407, 414, 419, + 427, 428, 429, 430, 431, 434, 435, 440, 441, 442, + 443, 444, 452, 453, 457, 475, 477, 489, 503, 508, + 433, 280, 484, 509, 0, 347, 0, 0, 349, 263, + 283, 294, 0, 498, 454, 213, 421, 272, 201, 232, + 216, 241, 256, 259, 298, 358, 365, 394, 399, 277, + 253, 230, 418, 227, 437, 460, 461, 462, 464, 362, + 248, 398, 0, 363, 345, 466, 467, 290, 465, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 381, 0, 1506, 0, 0, 0, 0, 0, 0, 252, + 0, 0, 0, 0, 336, 249, 0, 0, 395, 0, + 197, 0, 439, 236, 346, 343, 472, 264, 255, 251, + 235, 291, 353, 393, 459, 387, 0, 340, 0, 0, + 449, 366, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 297, 233, 299, + 196, 378, 450, 268, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 224, 0, 231, 320, 329, 328, 309, 310, 312, - 314, 319, 326, 332, 0, 0, 0, 0, 0, 246, - 294, 253, 245, 468, 0, 0, 0, 0, 0, 0, + 0, 224, 0, 231, 321, 330, 329, 310, 311, 313, + 315, 320, 327, 333, 0, 0, 0, 0, 0, 247, + 295, 254, 246, 469, 0, 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 256, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5222,59 +4784,59 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 277, 0, 366, 238, 0, - 0, 0, 0, 504, 0, 0, 0, 0, 0, 0, - 0, 334, 0, 303, 192, 211, 0, 0, 376, 419, - 425, 0, 0, 0, 236, 0, 423, 390, 487, 219, - 265, 416, 396, 421, 403, 268, 0, 0, 422, 340, - 473, 410, 484, 505, 506, 244, 370, 495, 462, 501, - 519, 212, 241, 384, 455, 490, 445, 363, 469, 470, - 302, 444, 275, 195, 338, 511, 210, 431, 228, 217, - 475, 493, 270, 414, 202, 457, 482, 225, 435, 0, - 0, 521, 204, 480, 454, 359, 299, 300, 203, 0, - 415, 249, 273, 239, 379, 477, 478, 237, 522, 214, - 500, 206, 0, 499, 372, 472, 481, 360, 350, 205, - 479, 358, 349, 305, 324, 325, 261, 284, 408, 343, - 409, 285, 368, 367, 369, 198, 491, 0, 199, 0, - 450, 492, 523, 220, 221, 223, 0, 260, 264, 272, - 274, 280, 281, 288, 336, 383, 407, 405, 411, 0, - 467, 485, 496, 503, 509, 510, 512, 513, 514, 515, - 516, 518, 517, 371, 287, 446, 304, 341, 0, 0, - 389, 424, 226, 489, 447, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 524, 525, 526, 527, - 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, - 538, 539, 540, 541, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 542, 351, 437, 486, 306, 318, - 321, 311, 330, 0, 331, 307, 308, 313, 315, 316, - 317, 322, 323, 327, 333, 0, 191, 207, 337, 0, - 412, 269, 520, 498, 494, 0, 209, 0, 243, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 193, 194, 200, 208, 218, 222, 229, 242, 257, 259, - 266, 278, 283, 286, 291, 292, 295, 301, 347, 353, - 354, 355, 356, 373, 374, 375, 378, 381, 382, 385, - 387, 388, 391, 395, 399, 400, 401, 402, 404, 406, - 413, 418, 426, 427, 428, 429, 430, 433, 434, 439, - 440, 441, 442, 443, 451, 452, 456, 474, 476, 488, - 502, 507, 432, 279, 483, 508, 0, 346, 0, 0, - 348, 262, 282, 293, 0, 497, 453, 213, 420, 271, - 201, 232, 216, 240, 255, 258, 297, 357, 364, 393, - 398, 276, 252, 230, 417, 227, 436, 459, 460, 461, - 463, 361, 247, 397, 0, 362, 344, 465, 466, 289, - 464, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, - 0, 251, 0, 0, 0, 0, 335, 248, 0, 0, - 394, 0, 197, 0, 438, 235, 345, 342, 471, 263, - 254, 250, 234, 290, 352, 392, 458, 386, 0, 339, - 0, 0, 448, 365, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 296, - 233, 298, 196, 377, 449, 267, 0, 0, 0, 0, - 188, 189, 190, 0, 1163, 0, 0, 0, 0, 0, - 0, 0, 0, 224, 0, 231, 320, 329, 328, 309, - 310, 312, 314, 319, 326, 332, 0, 0, 0, 0, - 0, 246, 294, 253, 245, 468, 0, 0, 0, 0, - 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, + 0, 0, 0, 0, 0, 278, 0, 367, 239, 0, + 0, 0, 0, 505, 0, 0, 0, 0, 0, 0, + 0, 335, 0, 304, 192, 211, 0, 0, 377, 420, + 426, 0, 0, 0, 237, 0, 424, 391, 488, 219, + 266, 417, 397, 422, 404, 269, 0, 0, 423, 341, + 474, 411, 485, 506, 507, 245, 371, 496, 463, 502, + 520, 212, 242, 385, 456, 491, 446, 364, 470, 471, + 303, 445, 276, 195, 339, 512, 210, 432, 228, 217, + 476, 494, 271, 415, 202, 458, 483, 225, 436, 0, + 0, 522, 204, 481, 455, 360, 300, 301, 203, 0, + 416, 250, 274, 240, 380, 478, 479, 238, 523, 214, + 501, 206, 0, 500, 373, 473, 482, 361, 351, 205, + 480, 359, 350, 306, 325, 326, 262, 285, 409, 344, + 410, 286, 369, 368, 370, 198, 492, 0, 199, 0, + 451, 493, 524, 220, 221, 223, 0, 261, 265, 273, + 275, 281, 282, 289, 337, 384, 408, 406, 412, 0, + 468, 486, 497, 504, 510, 511, 513, 514, 515, 516, + 517, 519, 518, 372, 288, 447, 305, 342, 0, 0, + 390, 425, 226, 490, 448, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 525, 526, 527, 528, + 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, + 539, 540, 541, 542, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 543, 352, 438, 487, 307, 319, + 322, 312, 331, 0, 332, 308, 309, 314, 316, 317, + 318, 323, 324, 328, 334, 234, 0, 191, 207, 338, + 0, 413, 270, 521, 499, 495, 0, 209, 0, 244, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 193, 194, 200, 208, 218, 222, 229, 243, 258, + 260, 267, 279, 284, 287, 292, 293, 296, 302, 348, + 354, 355, 356, 357, 374, 375, 376, 379, 382, 383, + 386, 388, 389, 392, 396, 400, 401, 402, 403, 405, + 407, 414, 419, 427, 428, 429, 430, 431, 434, 435, + 440, 441, 442, 443, 444, 452, 453, 457, 475, 477, + 489, 503, 508, 433, 280, 484, 509, 0, 347, 0, + 0, 349, 263, 283, 294, 0, 498, 454, 213, 421, + 272, 201, 232, 216, 241, 256, 259, 298, 358, 365, + 394, 399, 277, 253, 230, 418, 227, 437, 460, 461, + 462, 464, 362, 248, 398, 0, 363, 345, 466, 467, + 290, 465, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 381, 0, 1504, 0, 0, 0, 0, + 0, 0, 252, 0, 0, 0, 0, 336, 249, 0, + 0, 395, 0, 197, 0, 439, 236, 346, 343, 472, + 264, 255, 251, 235, 291, 353, 393, 459, 387, 0, + 340, 0, 0, 449, 366, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 297, 233, 299, 196, 378, 450, 268, 0, 0, 0, + 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 224, 0, 231, 321, 330, 329, + 310, 311, 313, 315, 320, 327, 333, 0, 0, 0, + 0, 0, 247, 295, 254, 246, 469, 0, 0, 0, + 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5282,180 +4844,301 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 277, 0, 366, - 238, 0, 0, 0, 0, 504, 0, 0, 0, 0, - 0, 0, 0, 334, 0, 303, 192, 211, 0, 0, - 376, 419, 425, 0, 0, 0, 236, 0, 423, 390, - 487, 219, 265, 416, 396, 421, 403, 268, 0, 0, - 422, 340, 473, 410, 484, 505, 506, 244, 370, 495, - 462, 501, 519, 212, 241, 384, 455, 490, 445, 363, - 469, 470, 302, 444, 275, 195, 338, 511, 210, 431, - 228, 217, 475, 493, 270, 414, 202, 457, 482, 225, - 435, 0, 0, 521, 204, 480, 454, 359, 299, 300, - 203, 0, 415, 249, 273, 239, 379, 477, 478, 237, - 522, 214, 500, 206, 0, 499, 372, 472, 481, 360, - 350, 205, 479, 358, 349, 305, 324, 325, 261, 284, - 408, 343, 409, 285, 368, 367, 369, 198, 491, 0, - 199, 0, 450, 492, 523, 220, 221, 223, 0, 260, - 264, 272, 274, 280, 281, 288, 336, 383, 407, 405, - 411, 0, 467, 485, 496, 503, 509, 510, 512, 513, - 514, 515, 516, 518, 517, 371, 287, 446, 304, 341, - 0, 0, 389, 424, 226, 489, 447, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 524, 525, + 0, 0, 0, 0, 0, 0, 0, 0, 278, 0, + 367, 239, 0, 0, 0, 0, 505, 0, 0, 0, + 0, 0, 0, 0, 335, 0, 304, 192, 211, 0, + 0, 377, 420, 426, 0, 0, 0, 237, 0, 424, + 391, 488, 219, 266, 417, 397, 422, 404, 269, 0, + 0, 423, 341, 474, 411, 485, 506, 507, 245, 371, + 496, 463, 502, 520, 212, 242, 385, 456, 491, 446, + 364, 470, 471, 303, 445, 276, 195, 339, 512, 210, + 432, 228, 217, 476, 494, 271, 415, 202, 458, 483, + 225, 436, 0, 0, 522, 204, 481, 455, 360, 300, + 301, 203, 0, 416, 250, 274, 240, 380, 478, 479, + 238, 523, 214, 501, 206, 0, 500, 373, 473, 482, + 361, 351, 205, 480, 359, 350, 306, 325, 326, 262, + 285, 409, 344, 410, 286, 369, 368, 370, 198, 492, + 0, 199, 0, 451, 493, 524, 220, 221, 223, 0, + 261, 265, 273, 275, 281, 282, 289, 337, 384, 408, + 406, 412, 0, 468, 486, 497, 504, 510, 511, 513, + 514, 515, 516, 517, 519, 518, 372, 288, 447, 305, + 342, 0, 0, 390, 425, 226, 490, 448, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, - 536, 537, 538, 539, 540, 541, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 542, 351, 437, 486, - 306, 318, 321, 311, 330, 0, 331, 307, 308, 313, - 315, 316, 317, 322, 323, 327, 333, 0, 191, 207, - 337, 0, 412, 269, 520, 498, 494, 0, 209, 0, - 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 193, 194, 200, 208, 218, 222, 229, 242, - 257, 259, 266, 278, 283, 286, 291, 292, 295, 301, - 347, 353, 354, 355, 356, 373, 374, 375, 378, 381, - 382, 385, 387, 388, 391, 395, 399, 400, 401, 402, - 404, 406, 413, 418, 426, 427, 428, 429, 430, 433, - 434, 439, 440, 441, 442, 443, 451, 452, 456, 474, - 476, 488, 502, 507, 432, 279, 483, 508, 0, 346, - 0, 0, 348, 262, 282, 293, 0, 497, 453, 213, - 420, 271, 201, 232, 216, 240, 255, 258, 297, 357, - 364, 393, 398, 276, 252, 230, 417, 227, 436, 459, - 460, 461, 463, 361, 247, 397, 0, 362, 344, 465, - 466, 289, 464, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, - 0, 0, 0, 251, 0, 0, 0, 0, 335, 248, - 0, 0, 394, 0, 197, 0, 438, 235, 345, 342, - 471, 263, 254, 250, 234, 290, 352, 392, 458, 386, - 0, 339, 0, 0, 448, 365, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 296, 233, 298, 196, 377, 449, 267, 0, 0, - 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 224, 0, 231, 320, 329, - 328, 309, 310, 312, 314, 319, 326, 332, 0, 0, - 0, 0, 0, 246, 294, 253, 245, 468, 0, 0, - 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, + 536, 537, 538, 539, 540, 541, 542, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 543, 352, 438, + 487, 307, 319, 322, 312, 331, 0, 332, 308, 309, + 314, 316, 317, 318, 323, 324, 328, 334, 234, 0, + 191, 207, 338, 0, 413, 270, 521, 499, 495, 0, + 209, 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, - 0, 366, 238, 0, 0, 0, 0, 504, 0, 0, - 0, 0, 0, 0, 0, 334, 0, 303, 192, 211, - 0, 0, 376, 419, 425, 0, 0, 0, 236, 0, - 423, 390, 487, 219, 265, 416, 396, 421, 403, 268, - 0, 0, 422, 340, 473, 410, 484, 505, 506, 244, - 370, 495, 462, 501, 519, 212, 241, 384, 455, 490, - 445, 363, 469, 470, 302, 444, 275, 195, 338, 511, - 210, 431, 228, 217, 475, 493, 270, 414, 202, 457, - 482, 225, 435, 0, 0, 521, 204, 480, 454, 359, - 299, 300, 203, 0, 415, 249, 273, 239, 379, 477, - 478, 237, 522, 214, 500, 206, 0, 499, 372, 472, - 481, 360, 350, 205, 479, 358, 349, 305, 324, 325, - 261, 284, 408, 343, 409, 285, 368, 367, 369, 198, - 491, 0, 199, 0, 450, 492, 523, 220, 221, 223, - 0, 260, 264, 272, 274, 280, 281, 288, 336, 383, - 407, 405, 411, 0, 467, 485, 496, 503, 509, 510, - 512, 513, 514, 515, 516, 518, 517, 371, 287, 446, - 304, 341, 0, 0, 389, 424, 226, 489, 447, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, - 534, 535, 536, 537, 538, 539, 540, 541, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 542, 351, - 437, 486, 306, 318, 321, 311, 330, 0, 331, 307, - 308, 313, 315, 316, 317, 322, 323, 327, 333, 0, - 191, 207, 337, 0, 412, 269, 520, 498, 494, 0, - 209, 0, 243, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 777, 0, 0, 0, 193, 194, 200, 208, 218, 222, - 229, 242, 257, 259, 266, 278, 283, 286, 291, 292, - 295, 301, 347, 353, 354, 355, 356, 373, 374, 375, - 378, 381, 382, 385, 387, 388, 391, 395, 399, 400, - 401, 402, 404, 406, 413, 418, 426, 427, 428, 429, - 430, 433, 434, 439, 440, 441, 442, 443, 451, 452, - 456, 474, 476, 488, 502, 507, 432, 279, 483, 508, - 0, 346, 0, 0, 348, 262, 282, 293, 0, 497, - 453, 213, 420, 271, 201, 232, 216, 240, 255, 258, - 297, 357, 364, 393, 398, 276, 252, 230, 417, 227, - 436, 459, 460, 461, 463, 361, 247, 397, 0, 362, - 344, 465, 466, 289, 464, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 380, 0, 0, 0, - 0, 0, 0, 0, 0, 251, 0, 0, 0, 0, - 335, 248, 0, 0, 394, 0, 197, 0, 438, 235, - 345, 342, 471, 263, 254, 250, 234, 290, 352, 392, - 458, 386, 0, 339, 0, 0, 448, 365, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 296, 233, 298, 196, 377, 449, 267, + 0, 0, 0, 0, 193, 194, 200, 208, 218, 222, + 229, 243, 258, 260, 267, 279, 284, 287, 292, 293, + 296, 302, 348, 354, 355, 356, 357, 374, 375, 376, + 379, 382, 383, 386, 388, 389, 392, 396, 400, 401, + 402, 403, 405, 407, 414, 419, 427, 428, 429, 430, + 431, 434, 435, 440, 441, 442, 443, 444, 452, 453, + 457, 475, 477, 489, 503, 508, 433, 280, 484, 509, + 0, 347, 0, 0, 349, 263, 283, 294, 0, 498, + 454, 213, 421, 272, 201, 232, 216, 241, 256, 259, + 298, 358, 365, 394, 399, 277, 253, 230, 418, 227, + 437, 460, 461, 462, 464, 362, 248, 398, 0, 363, + 345, 466, 467, 290, 465, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 381, 0, 1502, 0, + 0, 0, 0, 0, 0, 252, 0, 0, 0, 0, + 336, 249, 0, 0, 395, 0, 197, 0, 439, 236, + 346, 343, 472, 264, 255, 251, 235, 291, 353, 393, + 459, 387, 0, 340, 0, 0, 449, 366, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 297, 233, 299, 196, 378, 450, 268, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, 231, - 320, 329, 328, 309, 310, 312, 314, 319, 326, 332, - 0, 0, 0, 0, 0, 246, 294, 253, 245, 468, + 321, 330, 329, 310, 311, 313, 315, 320, 327, 333, + 0, 0, 0, 0, 0, 247, 295, 254, 246, 469, 0, 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 256, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 599, - 0, 277, 0, 366, 238, 0, 0, 0, 0, 504, - 0, 0, 0, 0, 0, 0, 0, 334, 0, 303, - 192, 211, 0, 0, 376, 419, 425, 0, 0, 0, - 236, 0, 423, 390, 487, 219, 265, 416, 396, 421, - 403, 268, 0, 0, 422, 340, 473, 410, 484, 505, - 506, 244, 370, 495, 462, 501, 519, 212, 241, 384, - 455, 490, 445, 363, 469, 470, 302, 444, 275, 195, - 338, 511, 210, 431, 228, 217, 475, 493, 270, 414, - 202, 457, 482, 225, 435, 0, 0, 521, 204, 480, - 454, 359, 299, 300, 203, 0, 415, 249, 273, 239, - 379, 477, 478, 237, 522, 214, 500, 206, 0, 499, - 372, 472, 481, 360, 350, 205, 479, 358, 349, 305, - 324, 325, 261, 284, 408, 343, 409, 285, 368, 367, - 369, 198, 491, 0, 199, 0, 450, 492, 523, 220, - 221, 223, 0, 260, 264, 272, 274, 280, 281, 288, - 336, 383, 407, 405, 411, 0, 467, 485, 496, 503, - 509, 510, 512, 513, 514, 515, 516, 518, 517, 371, - 287, 446, 304, 341, 0, 0, 389, 424, 226, 489, - 447, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 524, 525, 526, 527, 528, 529, 530, 531, - 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 542, 351, 437, 486, 306, 318, 321, 311, 330, 0, - 331, 307, 308, 313, 315, 316, 317, 322, 323, 327, - 333, 0, 191, 207, 337, 0, 412, 269, 520, 498, - 494, 0, 209, 0, 243, 0, 0, 0, 0, 0, + 0, 278, 0, 367, 239, 0, 0, 0, 0, 505, + 0, 0, 0, 0, 0, 0, 0, 335, 0, 304, + 192, 211, 0, 0, 377, 420, 426, 0, 0, 0, + 237, 0, 424, 391, 488, 219, 266, 417, 397, 422, + 404, 269, 0, 0, 423, 341, 474, 411, 485, 506, + 507, 245, 371, 496, 463, 502, 520, 212, 242, 385, + 456, 491, 446, 364, 470, 471, 303, 445, 276, 195, + 339, 512, 210, 432, 228, 217, 476, 494, 271, 415, + 202, 458, 483, 225, 436, 0, 0, 522, 204, 481, + 455, 360, 300, 301, 203, 0, 416, 250, 274, 240, + 380, 478, 479, 238, 523, 214, 501, 206, 0, 500, + 373, 473, 482, 361, 351, 205, 480, 359, 350, 306, + 325, 326, 262, 285, 409, 344, 410, 286, 369, 368, + 370, 198, 492, 0, 199, 0, 451, 493, 524, 220, + 221, 223, 0, 261, 265, 273, 275, 281, 282, 289, + 337, 384, 408, 406, 412, 0, 468, 486, 497, 504, + 510, 511, 513, 514, 515, 516, 517, 519, 518, 372, + 288, 447, 305, 342, 0, 0, 390, 425, 226, 490, + 448, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 525, 526, 527, 528, 529, 530, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 543, 352, 438, 487, 307, 319, 322, 312, 331, 0, + 332, 308, 309, 314, 316, 317, 318, 323, 324, 328, + 334, 234, 0, 191, 207, 338, 0, 413, 270, 521, + 499, 495, 0, 209, 0, 244, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, + 208, 218, 222, 229, 243, 258, 260, 267, 279, 284, + 287, 292, 293, 296, 302, 348, 354, 355, 356, 357, + 374, 375, 376, 379, 382, 383, 386, 388, 389, 392, + 396, 400, 401, 402, 403, 405, 407, 414, 419, 427, + 428, 429, 430, 431, 434, 435, 440, 441, 442, 443, + 444, 452, 453, 457, 475, 477, 489, 503, 508, 433, + 280, 484, 509, 0, 347, 0, 0, 349, 263, 283, + 294, 0, 498, 454, 213, 421, 272, 201, 232, 216, + 241, 256, 259, 298, 358, 365, 394, 399, 277, 253, + 230, 418, 227, 437, 460, 461, 462, 464, 362, 248, + 398, 0, 363, 345, 466, 467, 290, 465, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, + 0, 1500, 0, 0, 0, 0, 0, 0, 252, 0, + 0, 0, 0, 336, 249, 0, 0, 395, 0, 197, + 0, 439, 236, 346, 343, 472, 264, 255, 251, 235, + 291, 353, 393, 459, 387, 0, 340, 0, 0, 449, + 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 297, 233, 299, 196, + 378, 450, 268, 0, 0, 0, 0, 188, 189, 190, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 224, 0, 231, 321, 330, 329, 310, 311, 313, 315, + 320, 327, 333, 0, 0, 0, 0, 0, 247, 295, + 254, 246, 469, 0, 0, 0, 0, 0, 0, 0, + 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 257, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 278, 0, 367, 239, 0, 0, + 0, 0, 505, 0, 0, 0, 0, 0, 0, 0, + 335, 0, 304, 192, 211, 0, 0, 377, 420, 426, + 0, 0, 0, 237, 0, 424, 391, 488, 219, 266, + 417, 397, 422, 404, 269, 0, 0, 423, 341, 474, + 411, 485, 506, 507, 245, 371, 496, 463, 502, 520, + 212, 242, 385, 456, 491, 446, 364, 470, 471, 303, + 445, 276, 195, 339, 512, 210, 432, 228, 217, 476, + 494, 271, 415, 202, 458, 483, 225, 436, 0, 0, + 522, 204, 481, 455, 360, 300, 301, 203, 0, 416, + 250, 274, 240, 380, 478, 479, 238, 523, 214, 501, + 206, 0, 500, 373, 473, 482, 361, 351, 205, 480, + 359, 350, 306, 325, 326, 262, 285, 409, 344, 410, + 286, 369, 368, 370, 198, 492, 0, 199, 0, 451, + 493, 524, 220, 221, 223, 0, 261, 265, 273, 275, + 281, 282, 289, 337, 384, 408, 406, 412, 0, 468, + 486, 497, 504, 510, 511, 513, 514, 515, 516, 517, + 519, 518, 372, 288, 447, 305, 342, 0, 0, 390, + 425, 226, 490, 448, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 525, 526, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 543, 352, 438, 487, 307, 319, 322, + 312, 331, 0, 332, 308, 309, 314, 316, 317, 318, + 323, 324, 328, 334, 234, 0, 191, 207, 338, 0, + 413, 270, 521, 499, 495, 0, 209, 0, 244, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 193, 194, 200, 208, 218, 222, 229, 243, 258, 260, + 267, 279, 284, 287, 292, 293, 296, 302, 348, 354, + 355, 356, 357, 374, 375, 376, 379, 382, 383, 386, + 388, 389, 392, 396, 400, 401, 402, 403, 405, 407, + 414, 419, 427, 428, 429, 430, 431, 434, 435, 440, + 441, 442, 443, 444, 452, 453, 457, 475, 477, 489, + 503, 508, 433, 280, 484, 509, 0, 347, 0, 0, + 349, 263, 283, 294, 0, 498, 454, 213, 421, 272, + 201, 232, 216, 241, 256, 259, 298, 358, 365, 394, + 399, 277, 253, 230, 418, 227, 437, 460, 461, 462, + 464, 362, 248, 398, 0, 363, 345, 466, 467, 290, + 465, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 381, 0, 1498, 0, 0, 0, 0, 0, + 0, 252, 0, 0, 0, 0, 336, 249, 0, 0, + 395, 0, 197, 0, 439, 236, 346, 343, 472, 264, + 255, 251, 235, 291, 353, 393, 459, 387, 0, 340, + 0, 0, 449, 366, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, + 233, 299, 196, 378, 450, 268, 0, 0, 0, 0, + 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 224, 0, 231, 321, 330, 329, 310, + 311, 313, 315, 320, 327, 333, 0, 0, 0, 0, + 0, 247, 295, 254, 246, 469, 0, 0, 0, 0, + 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 257, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 278, 0, 367, + 239, 0, 0, 0, 0, 505, 0, 0, 0, 0, + 0, 0, 0, 335, 0, 304, 192, 211, 0, 0, + 377, 420, 426, 0, 0, 0, 237, 0, 424, 391, + 488, 219, 266, 417, 397, 422, 404, 269, 0, 0, + 423, 341, 474, 411, 485, 506, 507, 245, 371, 496, + 463, 502, 520, 212, 242, 385, 456, 491, 446, 364, + 470, 471, 303, 445, 276, 195, 339, 512, 210, 432, + 228, 217, 476, 494, 271, 415, 202, 458, 483, 225, + 436, 0, 0, 522, 204, 481, 455, 360, 300, 301, + 203, 0, 416, 250, 274, 240, 380, 478, 479, 238, + 523, 214, 501, 206, 0, 500, 373, 473, 482, 361, + 351, 205, 480, 359, 350, 306, 325, 326, 262, 285, + 409, 344, 410, 286, 369, 368, 370, 198, 492, 0, + 199, 0, 451, 493, 524, 220, 221, 223, 0, 261, + 265, 273, 275, 281, 282, 289, 337, 384, 408, 406, + 412, 0, 468, 486, 497, 504, 510, 511, 513, 514, + 515, 516, 517, 519, 518, 372, 288, 447, 305, 342, + 0, 0, 390, 425, 226, 490, 448, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 525, 526, + 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 543, 352, 438, 487, + 307, 319, 322, 312, 331, 0, 332, 308, 309, 314, + 316, 317, 318, 323, 324, 328, 334, 234, 0, 191, + 207, 338, 0, 413, 270, 521, 499, 495, 0, 209, + 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 193, 194, 200, 208, 218, 222, 229, + 243, 258, 260, 267, 279, 284, 287, 292, 293, 296, + 302, 348, 354, 355, 356, 357, 374, 375, 376, 379, + 382, 383, 386, 388, 389, 392, 396, 400, 401, 402, + 403, 405, 407, 414, 419, 427, 428, 429, 430, 431, + 434, 435, 440, 441, 442, 443, 444, 452, 453, 457, + 475, 477, 489, 503, 508, 433, 280, 484, 509, 0, + 347, 0, 0, 349, 263, 283, 294, 0, 498, 454, + 213, 421, 272, 201, 232, 216, 241, 256, 259, 298, + 358, 365, 394, 399, 277, 253, 230, 418, 227, 437, + 460, 461, 462, 464, 362, 248, 398, 0, 363, 345, + 466, 467, 290, 465, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 381, 0, 1494, 0, 0, + 0, 0, 0, 0, 252, 0, 0, 0, 0, 336, + 249, 0, 0, 395, 0, 197, 0, 439, 236, 346, + 343, 472, 264, 255, 251, 235, 291, 353, 393, 459, + 387, 0, 340, 0, 0, 449, 366, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 297, 233, 299, 196, 378, 450, 268, 0, + 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 224, 0, 231, 321, + 330, 329, 310, 311, 313, 315, 320, 327, 333, 0, + 0, 0, 0, 0, 247, 295, 254, 246, 469, 0, + 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 278, 0, 367, 239, 0, 0, 0, 0, 505, 0, + 0, 0, 0, 0, 0, 0, 335, 0, 304, 192, + 211, 0, 0, 377, 420, 426, 0, 0, 0, 237, + 0, 424, 391, 488, 219, 266, 417, 397, 422, 404, + 269, 0, 0, 423, 341, 474, 411, 485, 506, 507, + 245, 371, 496, 463, 502, 520, 212, 242, 385, 456, + 491, 446, 364, 470, 471, 303, 445, 276, 195, 339, + 512, 210, 432, 228, 217, 476, 494, 271, 415, 202, + 458, 483, 225, 436, 0, 0, 522, 204, 481, 455, + 360, 300, 301, 203, 0, 416, 250, 274, 240, 380, + 478, 479, 238, 523, 214, 501, 206, 0, 500, 373, + 473, 482, 361, 351, 205, 480, 359, 350, 306, 325, + 326, 262, 285, 409, 344, 410, 286, 369, 368, 370, + 198, 492, 0, 199, 0, 451, 493, 524, 220, 221, + 223, 0, 261, 265, 273, 275, 281, 282, 289, 337, + 384, 408, 406, 412, 0, 468, 486, 497, 504, 510, + 511, 513, 514, 515, 516, 517, 519, 518, 372, 288, + 447, 305, 342, 0, 0, 390, 425, 226, 490, 448, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 525, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 543, + 352, 438, 487, 307, 319, 322, 312, 331, 0, 332, + 308, 309, 314, 316, 317, 318, 323, 324, 328, 334, + 234, 0, 191, 207, 338, 0, 413, 270, 521, 499, + 495, 0, 209, 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 208, - 218, 222, 229, 242, 257, 259, 266, 278, 283, 286, - 291, 292, 295, 301, 347, 353, 354, 355, 356, 373, - 374, 375, 378, 381, 382, 385, 387, 388, 391, 395, - 399, 400, 401, 402, 404, 406, 413, 418, 426, 427, - 428, 429, 430, 433, 434, 439, 440, 441, 442, 443, - 451, 452, 456, 474, 476, 488, 502, 507, 432, 598, - 483, 508, 0, 346, 0, 0, 348, 262, 282, 293, - 0, 497, 453, 213, 420, 271, 201, 232, 216, 240, - 255, 258, 297, 357, 364, 393, 398, 276, 252, 230, - 417, 227, 436, 459, 460, 461, 463, 361, 247, 397, - 0, 362, 344, 465, 466, 289, 464, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 380, 0, - 0, 0, 0, 0, 0, 0, 0, 251, 0, 0, - 0, 0, 335, 248, 0, 0, 394, 0, 197, 0, - 438, 235, 345, 342, 471, 263, 254, 250, 234, 290, - 352, 392, 458, 386, 0, 339, 0, 0, 448, 365, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 296, 233, 298, 196, 377, - 449, 267, 0, 0, 0, 0, 188, 189, 190, 0, + 218, 222, 229, 243, 258, 260, 267, 279, 284, 287, + 292, 293, 296, 302, 348, 354, 355, 356, 357, 374, + 375, 376, 379, 382, 383, 386, 388, 389, 392, 396, + 400, 401, 402, 403, 405, 407, 414, 419, 427, 428, + 429, 430, 431, 434, 435, 440, 441, 442, 443, 444, + 452, 453, 457, 475, 477, 489, 503, 508, 433, 280, + 484, 509, 0, 347, 0, 0, 349, 263, 283, 294, + 0, 498, 454, 213, 421, 272, 201, 232, 216, 241, + 256, 259, 298, 358, 365, 394, 399, 277, 253, 230, + 418, 227, 437, 460, 461, 462, 464, 362, 248, 398, + 0, 363, 345, 466, 467, 290, 465, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, + 1492, 0, 0, 0, 0, 0, 0, 252, 0, 0, + 0, 0, 336, 249, 0, 0, 395, 0, 197, 0, + 439, 236, 346, 343, 472, 264, 255, 251, 235, 291, + 353, 393, 459, 387, 0, 340, 0, 0, 449, 366, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 297, 233, 299, 196, 378, + 450, 268, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, - 0, 231, 320, 329, 328, 309, 310, 312, 314, 319, - 326, 332, 0, 0, 0, 0, 0, 246, 294, 253, - 245, 468, 0, 0, 0, 0, 0, 0, 0, 215, + 0, 231, 321, 330, 329, 310, 311, 313, 315, 320, + 327, 333, 0, 0, 0, 0, 0, 247, 295, 254, + 246, 469, 0, 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5463,59 +5146,240 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 277, 0, 366, 238, 0, 0, 545, - 0, 504, 0, 0, 0, 0, 0, 0, 0, 334, - 0, 303, 192, 211, 0, 0, 376, 419, 425, 0, - 0, 0, 236, 0, 423, 390, 487, 219, 265, 416, - 396, 421, 403, 268, 0, 0, 422, 340, 473, 410, - 484, 505, 506, 244, 370, 495, 462, 501, 519, 212, - 241, 384, 455, 490, 445, 363, 469, 470, 302, 444, - 275, 195, 338, 511, 210, 431, 228, 217, 475, 493, - 270, 414, 202, 457, 482, 225, 435, 0, 0, 521, - 204, 480, 454, 359, 299, 300, 203, 0, 415, 249, - 273, 239, 379, 477, 478, 237, 522, 214, 500, 206, - 0, 499, 372, 472, 481, 360, 350, 205, 479, 358, - 349, 305, 324, 325, 261, 284, 408, 343, 409, 285, - 368, 367, 369, 198, 491, 0, 199, 0, 450, 492, - 523, 220, 221, 223, 0, 260, 264, 272, 274, 280, - 281, 288, 336, 383, 407, 405, 411, 0, 467, 485, - 496, 503, 509, 510, 512, 513, 514, 515, 516, 518, - 517, 371, 287, 446, 304, 341, 0, 0, 389, 424, - 226, 489, 447, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 524, 525, 526, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 542, 351, 437, 486, 306, 318, 321, 311, - 330, 0, 331, 307, 308, 313, 315, 316, 317, 322, - 323, 327, 333, 0, 191, 207, 337, 0, 412, 269, - 520, 498, 494, 0, 209, 0, 243, 0, 0, 0, + 0, 0, 0, 278, 0, 367, 239, 0, 0, 0, + 0, 505, 0, 0, 0, 0, 0, 0, 0, 335, + 0, 304, 192, 211, 0, 0, 377, 420, 426, 0, + 0, 0, 237, 0, 424, 391, 488, 219, 266, 417, + 397, 422, 404, 269, 0, 0, 423, 341, 474, 411, + 485, 506, 507, 245, 371, 496, 463, 502, 520, 212, + 242, 385, 456, 491, 446, 364, 470, 471, 303, 445, + 276, 195, 339, 512, 210, 432, 228, 217, 476, 494, + 271, 415, 202, 458, 483, 225, 436, 0, 0, 522, + 204, 481, 455, 360, 300, 301, 203, 0, 416, 250, + 274, 240, 380, 478, 479, 238, 523, 214, 501, 206, + 0, 500, 373, 473, 482, 361, 351, 205, 480, 359, + 350, 306, 325, 326, 262, 285, 409, 344, 410, 286, + 369, 368, 370, 198, 492, 0, 199, 0, 451, 493, + 524, 220, 221, 223, 0, 261, 265, 273, 275, 281, + 282, 289, 337, 384, 408, 406, 412, 0, 468, 486, + 497, 504, 510, 511, 513, 514, 515, 516, 517, 519, + 518, 372, 288, 447, 305, 342, 0, 0, 390, 425, + 226, 490, 448, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 525, 526, 527, 528, 529, 530, + 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, + 541, 542, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 543, 352, 438, 487, 307, 319, 322, 312, + 331, 0, 332, 308, 309, 314, 316, 317, 318, 323, + 324, 328, 334, 234, 0, 191, 207, 338, 0, 413, + 270, 521, 499, 495, 0, 209, 0, 244, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, + 194, 200, 208, 218, 222, 229, 243, 258, 260, 267, + 279, 284, 287, 292, 293, 296, 302, 348, 354, 355, + 356, 357, 374, 375, 376, 379, 382, 383, 386, 388, + 389, 392, 396, 400, 401, 402, 403, 405, 407, 414, + 419, 427, 428, 429, 430, 431, 434, 435, 440, 441, + 442, 443, 444, 452, 453, 457, 475, 477, 489, 503, + 508, 433, 280, 484, 509, 0, 347, 0, 0, 349, + 263, 283, 294, 0, 498, 454, 213, 421, 272, 201, + 232, 216, 241, 256, 259, 298, 358, 365, 394, 399, + 277, 253, 230, 418, 227, 437, 460, 461, 462, 464, + 362, 248, 398, 0, 363, 345, 466, 467, 290, 465, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 381, 0, 1490, 0, 0, 0, 0, 0, 0, + 252, 0, 0, 0, 0, 336, 249, 0, 0, 395, + 0, 197, 0, 439, 236, 346, 343, 472, 264, 255, + 251, 235, 291, 353, 393, 459, 387, 0, 340, 0, + 0, 449, 366, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 297, 233, + 299, 196, 378, 450, 268, 0, 0, 0, 0, 188, + 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 224, 0, 231, 321, 330, 329, 310, 311, + 313, 315, 320, 327, 333, 0, 0, 0, 0, 0, + 247, 295, 254, 246, 469, 0, 0, 0, 0, 0, + 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 257, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 278, 0, 367, 239, + 0, 0, 0, 0, 505, 0, 0, 0, 0, 0, + 0, 0, 335, 0, 304, 192, 211, 0, 0, 377, + 420, 426, 0, 0, 0, 237, 0, 424, 391, 488, + 219, 266, 417, 397, 422, 404, 269, 0, 0, 423, + 341, 474, 411, 485, 506, 507, 245, 371, 496, 463, + 502, 520, 212, 242, 385, 456, 491, 446, 364, 470, + 471, 303, 445, 276, 195, 339, 512, 210, 432, 228, + 217, 476, 494, 271, 415, 202, 458, 483, 225, 436, + 0, 0, 522, 204, 481, 455, 360, 300, 301, 203, + 0, 416, 250, 274, 240, 380, 478, 479, 238, 523, + 214, 501, 206, 0, 500, 373, 473, 482, 361, 351, + 205, 480, 359, 350, 306, 325, 326, 262, 285, 409, + 344, 410, 286, 369, 368, 370, 198, 492, 0, 199, + 0, 451, 493, 524, 220, 221, 223, 0, 261, 265, + 273, 275, 281, 282, 289, 337, 384, 408, 406, 412, + 0, 468, 486, 497, 504, 510, 511, 513, 514, 515, + 516, 517, 519, 518, 372, 288, 447, 305, 342, 0, + 0, 390, 425, 226, 490, 448, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 525, 526, 527, + 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 543, 352, 438, 487, 307, + 319, 322, 312, 331, 0, 332, 308, 309, 314, 316, + 317, 318, 323, 324, 328, 334, 234, 0, 191, 207, + 338, 0, 413, 270, 521, 499, 495, 0, 209, 0, + 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 193, 194, 200, 208, 218, 222, 229, 243, + 258, 260, 267, 279, 284, 287, 292, 293, 296, 302, + 348, 354, 355, 356, 357, 374, 375, 376, 379, 382, + 383, 386, 388, 389, 392, 396, 400, 401, 402, 403, + 405, 407, 414, 419, 427, 428, 429, 430, 431, 434, + 435, 440, 441, 442, 443, 444, 452, 453, 457, 475, + 477, 489, 503, 508, 433, 280, 484, 509, 0, 347, + 0, 0, 349, 263, 283, 294, 0, 498, 454, 213, + 421, 272, 201, 232, 216, 241, 256, 259, 298, 358, + 365, 394, 399, 277, 253, 230, 418, 227, 437, 460, + 461, 462, 464, 362, 248, 398, 0, 363, 345, 466, + 467, 290, 465, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 381, 0, 0, 0, 0, 0, + 0, 0, 0, 252, 0, 0, 0, 0, 336, 249, + 0, 0, 395, 0, 197, 0, 439, 236, 346, 343, + 472, 264, 255, 251, 235, 291, 353, 393, 459, 387, + 0, 340, 0, 0, 449, 366, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 297, 233, 299, 196, 378, 450, 268, 0, 1465, + 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 224, 0, 231, 321, 330, + 329, 310, 311, 313, 315, 320, 327, 333, 0, 0, + 0, 0, 0, 247, 295, 254, 246, 469, 0, 0, + 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, + 0, 367, 239, 0, 0, 0, 0, 505, 0, 0, + 0, 0, 0, 0, 0, 335, 0, 304, 192, 211, + 0, 0, 377, 420, 426, 0, 0, 0, 237, 0, + 424, 391, 488, 219, 266, 417, 397, 422, 404, 269, + 0, 0, 423, 341, 474, 411, 485, 506, 507, 245, + 371, 496, 463, 502, 520, 212, 242, 385, 456, 491, + 446, 364, 470, 471, 303, 445, 276, 195, 339, 512, + 210, 432, 228, 217, 476, 494, 271, 415, 202, 458, + 483, 225, 436, 0, 0, 522, 204, 481, 455, 360, + 300, 301, 203, 0, 416, 250, 274, 240, 380, 478, + 479, 238, 523, 214, 501, 206, 0, 500, 373, 473, + 482, 361, 351, 205, 480, 359, 350, 306, 325, 326, + 262, 285, 409, 344, 410, 286, 369, 368, 370, 198, + 492, 0, 199, 0, 451, 493, 524, 220, 221, 223, + 0, 261, 265, 273, 275, 281, 282, 289, 337, 384, + 408, 406, 412, 0, 468, 486, 497, 504, 510, 511, + 513, 514, 515, 516, 517, 519, 518, 372, 288, 447, + 305, 342, 0, 0, 390, 425, 226, 490, 448, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 543, 352, + 438, 487, 307, 319, 322, 312, 331, 0, 332, 308, + 309, 314, 316, 317, 318, 323, 324, 328, 334, 234, + 0, 191, 207, 338, 0, 413, 270, 521, 499, 495, + 0, 209, 0, 244, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 193, 194, 200, 208, 218, + 222, 229, 243, 258, 260, 267, 279, 284, 287, 292, + 293, 296, 302, 348, 354, 355, 356, 357, 374, 375, + 376, 379, 382, 383, 386, 388, 389, 392, 396, 400, + 401, 402, 403, 405, 407, 414, 419, 427, 428, 429, + 430, 431, 434, 435, 440, 441, 442, 443, 444, 452, + 453, 457, 475, 477, 489, 503, 508, 433, 280, 484, + 509, 0, 347, 0, 0, 349, 263, 283, 294, 0, + 498, 454, 213, 421, 272, 201, 232, 216, 241, 256, + 259, 298, 358, 365, 394, 399, 277, 253, 230, 418, + 227, 437, 460, 461, 462, 464, 362, 248, 398, 0, + 363, 345, 466, 467, 290, 465, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, + 0, 0, 0, 0, 0, 1365, 252, 0, 0, 0, + 0, 336, 249, 0, 0, 395, 0, 197, 0, 439, + 236, 346, 343, 472, 264, 255, 251, 235, 291, 353, + 393, 459, 387, 0, 340, 0, 0, 449, 366, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 297, 233, 299, 196, 378, 450, + 268, 0, 0, 0, 0, 188, 189, 190, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, + 231, 321, 330, 329, 310, 311, 313, 315, 320, 327, + 333, 0, 0, 0, 0, 0, 247, 295, 254, 246, + 469, 0, 0, 0, 0, 0, 0, 0, 215, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 278, 0, 367, 239, 0, 0, 0, 0, + 505, 0, 0, 0, 0, 0, 0, 0, 335, 0, + 304, 192, 211, 0, 0, 377, 420, 426, 0, 0, + 0, 237, 0, 424, 391, 488, 219, 266, 417, 397, + 422, 404, 269, 0, 0, 423, 341, 474, 411, 485, + 506, 507, 245, 371, 496, 463, 502, 520, 212, 242, + 385, 456, 491, 446, 364, 470, 471, 303, 445, 276, + 195, 339, 512, 210, 432, 228, 217, 476, 494, 271, + 415, 202, 458, 483, 225, 436, 0, 0, 522, 204, + 481, 455, 360, 300, 301, 203, 0, 416, 250, 274, + 240, 380, 478, 479, 238, 523, 214, 501, 206, 0, + 500, 373, 473, 482, 361, 351, 205, 480, 359, 350, + 306, 325, 326, 262, 285, 409, 344, 410, 286, 369, + 368, 370, 198, 492, 0, 199, 0, 451, 493, 524, + 220, 221, 223, 0, 261, 265, 273, 275, 281, 282, + 289, 337, 384, 408, 406, 412, 0, 468, 486, 497, + 504, 510, 511, 513, 514, 515, 516, 517, 519, 518, + 372, 288, 447, 305, 342, 0, 0, 390, 425, 226, + 490, 448, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 525, 526, 527, 528, 529, 530, 531, + 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, + 542, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 543, 352, 438, 487, 307, 319, 322, 312, 331, + 0, 332, 308, 309, 314, 316, 317, 318, 323, 324, + 328, 334, 234, 0, 191, 207, 338, 0, 413, 270, + 521, 499, 495, 0, 209, 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, - 200, 208, 218, 222, 229, 242, 257, 259, 266, 278, - 283, 286, 291, 292, 295, 301, 347, 353, 354, 355, - 356, 373, 374, 375, 378, 381, 382, 385, 387, 388, - 391, 395, 399, 400, 401, 402, 404, 406, 413, 418, - 426, 427, 428, 429, 430, 433, 434, 439, 440, 441, - 442, 443, 451, 452, 456, 474, 476, 488, 502, 507, - 432, 279, 483, 508, 0, 346, 0, 0, 348, 262, - 282, 293, 0, 497, 453, 213, 420, 271, 201, 232, - 216, 240, 255, 258, 297, 357, 364, 393, 398, 276, - 252, 230, 417, 227, 436, 459, 460, 461, 463, 361, - 247, 397, 0, 362, 344, 465, 466, 289, 464, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 380, 0, 0, 0, 0, 0, 0, 0, 0, 251, - 0, 0, 0, 0, 335, 248, 0, 0, 394, 0, - 197, 0, 438, 235, 345, 342, 471, 263, 254, 250, - 234, 290, 352, 392, 458, 386, 0, 339, 0, 0, - 448, 365, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 296, 233, 298, - 196, 377, 449, 267, 0, 0, 0, 0, 188, 189, - 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 224, 0, 231, 320, 329, 328, 309, 310, 312, - 314, 319, 326, 332, 0, 0, 0, 0, 0, 246, - 294, 253, 245, 468, 0, 0, 0, 0, 0, 0, + 200, 208, 218, 222, 229, 243, 258, 260, 267, 279, + 284, 287, 292, 293, 296, 302, 348, 354, 355, 356, + 357, 374, 375, 376, 379, 382, 383, 386, 388, 389, + 392, 396, 400, 401, 402, 403, 405, 407, 414, 419, + 427, 428, 429, 430, 431, 434, 435, 440, 441, 442, + 443, 444, 452, 453, 457, 475, 477, 489, 503, 508, + 433, 280, 484, 509, 0, 347, 0, 0, 349, 263, + 283, 294, 0, 498, 454, 213, 421, 272, 201, 232, + 216, 241, 256, 259, 298, 358, 365, 394, 399, 277, + 253, 230, 418, 227, 437, 460, 461, 462, 464, 362, + 248, 398, 0, 363, 345, 466, 467, 290, 465, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 381, 0, 0, 0, 0, 0, 0, 0, 0, 252, + 0, 0, 0, 0, 336, 249, 0, 0, 395, 0, + 197, 0, 439, 236, 346, 343, 472, 264, 255, 251, + 235, 291, 353, 393, 459, 387, 0, 340, 0, 0, + 449, 366, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 297, 233, 299, + 196, 378, 450, 268, 0, 0, 0, 0, 188, 189, + 190, 0, 1165, 0, 0, 0, 0, 0, 0, 0, + 0, 224, 0, 231, 321, 330, 329, 310, 311, 313, + 315, 320, 327, 333, 0, 0, 0, 0, 0, 247, + 295, 254, 246, 469, 0, 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 256, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5523,59 +5387,59 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 277, 0, 366, 238, 0, - 0, 0, 0, 504, 0, 0, 0, 0, 0, 0, - 0, 334, 0, 303, 192, 211, 0, 0, 376, 419, - 425, 0, 0, 0, 236, 0, 423, 390, 487, 219, - 265, 416, 396, 421, 403, 268, 0, 0, 422, 340, - 473, 410, 484, 505, 506, 244, 370, 495, 462, 501, - 519, 212, 241, 384, 455, 490, 445, 363, 469, 470, - 302, 444, 275, 195, 338, 511, 210, 431, 228, 217, - 475, 493, 270, 414, 202, 457, 482, 225, 435, 0, - 0, 521, 204, 480, 454, 359, 299, 300, 203, 0, - 415, 249, 273, 239, 379, 477, 478, 237, 522, 214, - 500, 206, 0, 499, 372, 472, 481, 360, 350, 205, - 479, 358, 349, 305, 324, 325, 261, 284, 408, 343, - 409, 285, 368, 367, 369, 198, 491, 0, 199, 0, - 450, 492, 523, 220, 221, 223, 0, 260, 264, 272, - 274, 280, 281, 288, 336, 383, 407, 405, 411, 0, - 467, 485, 496, 503, 509, 510, 512, 513, 514, 515, - 516, 518, 517, 371, 287, 446, 304, 341, 0, 0, - 389, 424, 226, 489, 447, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 524, 525, 526, 527, - 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, - 538, 539, 540, 541, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 542, 351, 437, 486, 306, 318, - 321, 311, 330, 0, 331, 307, 308, 313, 315, 316, - 317, 322, 323, 327, 333, 0, 191, 207, 337, 0, - 412, 269, 520, 498, 494, 0, 209, 0, 243, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 193, 194, 200, 208, 218, 222, 229, 242, 257, 259, - 266, 278, 283, 286, 291, 292, 295, 301, 347, 353, - 354, 355, 356, 2978, 374, 375, 378, 381, 382, 385, - 387, 388, 391, 395, 399, 400, 401, 402, 404, 406, - 413, 418, 426, 427, 428, 429, 430, 433, 434, 439, - 440, 441, 442, 443, 451, 452, 456, 474, 476, 488, - 502, 507, 432, 279, 483, 508, 0, 346, 0, 0, - 348, 262, 282, 293, 0, 497, 453, 213, 420, 271, - 201, 232, 216, 240, 255, 258, 297, 357, 364, 393, - 398, 276, 252, 230, 417, 227, 436, 459, 460, 461, - 463, 361, 247, 397, 0, 362, 344, 465, 466, 289, - 464, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, - 0, 251, 0, 0, 0, 0, 335, 248, 0, 0, - 394, 0, 197, 0, 438, 235, 345, 342, 471, 263, - 254, 250, 234, 290, 352, 392, 458, 386, 0, 339, - 0, 0, 448, 365, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 296, - 233, 298, 196, 377, 449, 267, 0, 0, 0, 0, - 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 224, 0, 231, 320, 329, 328, 309, - 310, 312, 314, 319, 326, 332, 0, 0, 0, 0, - 0, 246, 294, 253, 245, 468, 0, 0, 0, 0, - 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, + 0, 0, 0, 0, 0, 278, 0, 367, 239, 0, + 0, 0, 0, 505, 0, 0, 0, 0, 0, 0, + 0, 335, 0, 304, 192, 211, 0, 0, 377, 420, + 426, 0, 0, 0, 237, 0, 424, 391, 488, 219, + 266, 417, 397, 422, 404, 269, 0, 0, 423, 341, + 474, 411, 485, 506, 507, 245, 371, 496, 463, 502, + 520, 212, 242, 385, 456, 491, 446, 364, 470, 471, + 303, 445, 276, 195, 339, 512, 210, 432, 228, 217, + 476, 494, 271, 415, 202, 458, 483, 225, 436, 0, + 0, 522, 204, 481, 455, 360, 300, 301, 203, 0, + 416, 250, 274, 240, 380, 478, 479, 238, 523, 214, + 501, 206, 0, 500, 373, 473, 482, 361, 351, 205, + 480, 359, 350, 306, 325, 326, 262, 285, 409, 344, + 410, 286, 369, 368, 370, 198, 492, 0, 199, 0, + 451, 493, 524, 220, 221, 223, 0, 261, 265, 273, + 275, 281, 282, 289, 337, 384, 408, 406, 412, 0, + 468, 486, 497, 504, 510, 511, 513, 514, 515, 516, + 517, 519, 518, 372, 288, 447, 305, 342, 0, 0, + 390, 425, 226, 490, 448, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 525, 526, 527, 528, + 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, + 539, 540, 541, 542, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 543, 352, 438, 487, 307, 319, + 322, 312, 331, 0, 332, 308, 309, 314, 316, 317, + 318, 323, 324, 328, 334, 234, 0, 191, 207, 338, + 0, 413, 270, 521, 499, 495, 0, 209, 0, 244, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 193, 194, 200, 208, 218, 222, 229, 243, 258, + 260, 267, 279, 284, 287, 292, 293, 296, 302, 348, + 354, 355, 356, 357, 374, 375, 376, 379, 382, 383, + 386, 388, 389, 392, 396, 400, 401, 402, 403, 405, + 407, 414, 419, 427, 428, 429, 430, 431, 434, 435, + 440, 441, 442, 443, 444, 452, 453, 457, 475, 477, + 489, 503, 508, 433, 280, 484, 509, 0, 347, 0, + 0, 349, 263, 283, 294, 0, 498, 454, 213, 421, + 272, 201, 232, 216, 241, 256, 259, 298, 358, 365, + 394, 399, 277, 253, 230, 418, 227, 437, 460, 461, + 462, 464, 362, 248, 398, 0, 363, 345, 466, 467, + 290, 465, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 381, 0, 0, 0, 0, 0, 0, + 0, 0, 252, 0, 0, 0, 0, 336, 249, 0, + 0, 395, 0, 197, 0, 439, 236, 346, 343, 472, + 264, 255, 251, 235, 291, 353, 393, 459, 387, 0, + 340, 0, 0, 449, 366, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 297, 233, 299, 196, 378, 450, 268, 0, 0, 0, + 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 224, 0, 231, 321, 330, 329, + 310, 311, 313, 315, 320, 327, 333, 0, 0, 0, + 0, 0, 247, 295, 254, 246, 469, 0, 0, 0, + 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5583,188 +5447,430 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 277, 0, 366, - 238, 0, 0, 0, 0, 504, 0, 0, 0, 0, - 0, 0, 0, 334, 0, 303, 192, 211, 0, 0, - 376, 419, 425, 0, 0, 0, 236, 0, 423, 390, - 487, 219, 265, 416, 396, 421, 403, 268, 0, 0, - 422, 340, 473, 410, 484, 505, 506, 244, 370, 495, - 462, 501, 519, 212, 241, 384, 455, 490, 445, 363, - 469, 470, 302, 444, 275, 195, 338, 511, 210, 431, - 228, 217, 475, 493, 270, 414, 202, 457, 482, 225, - 435, 0, 0, 521, 204, 480, 454, 359, 299, 300, - 203, 0, 415, 249, 273, 239, 379, 477, 478, 237, - 522, 214, 500, 206, 0, 499, 372, 472, 481, 360, - 350, 205, 479, 358, 349, 305, 324, 325, 261, 284, - 408, 343, 409, 285, 368, 367, 369, 198, 491, 0, - 199, 0, 450, 492, 523, 220, 221, 223, 0, 260, - 264, 272, 274, 280, 281, 288, 336, 383, 407, 405, - 411, 0, 467, 485, 496, 503, 509, 510, 512, 513, - 514, 515, 516, 518, 517, 371, 287, 446, 304, 341, - 0, 0, 389, 424, 226, 489, 447, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 524, 525, + 0, 0, 0, 0, 0, 0, 0, 0, 278, 0, + 367, 239, 0, 0, 0, 0, 505, 0, 0, 0, + 0, 0, 0, 0, 335, 0, 304, 192, 211, 0, + 0, 377, 420, 426, 0, 0, 0, 237, 0, 424, + 391, 488, 219, 266, 417, 397, 422, 404, 269, 0, + 0, 423, 341, 474, 411, 485, 506, 507, 245, 371, + 496, 463, 502, 520, 212, 242, 385, 456, 491, 446, + 364, 470, 471, 303, 445, 276, 195, 339, 512, 210, + 432, 228, 217, 476, 494, 271, 415, 202, 458, 483, + 225, 436, 0, 0, 522, 204, 481, 455, 360, 300, + 301, 203, 0, 416, 250, 274, 240, 380, 478, 479, + 238, 523, 214, 501, 206, 0, 500, 373, 473, 482, + 361, 351, 205, 480, 359, 350, 306, 325, 326, 262, + 285, 409, 344, 410, 286, 369, 368, 370, 198, 492, + 0, 199, 0, 451, 493, 524, 220, 221, 223, 0, + 261, 265, 273, 275, 281, 282, 289, 337, 384, 408, + 406, 412, 0, 468, 486, 497, 504, 510, 511, 513, + 514, 515, 516, 517, 519, 518, 372, 288, 447, 305, + 342, 0, 0, 390, 425, 226, 490, 448, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, - 536, 537, 538, 539, 540, 541, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 542, 351, 437, 486, - 306, 318, 321, 311, 330, 0, 331, 307, 308, 313, - 315, 316, 317, 322, 323, 327, 333, 0, 191, 207, - 337, 0, 412, 269, 520, 498, 494, 0, 209, 0, - 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 193, 194, 200, 208, 218, 222, 229, 242, - 257, 259, 266, 278, 283, 286, 291, 292, 295, 301, - 347, 353, 354, 355, 356, 373, 374, 375, 378, 381, - 382, 385, 387, 388, 391, 395, 399, 400, 401, 402, - 404, 406, 413, 418, 426, 427, 428, 429, 430, 433, - 434, 439, 440, 441, 442, 443, 451, 452, 456, 474, - 476, 488, 502, 507, 432, 279, 483, 508, 0, 346, - 0, 0, 348, 262, 282, 293, 0, 497, 453, 213, - 420, 271, 201, 232, 216, 240, 255, 258, 297, 357, - 364, 393, 398, 276, 252, 230, 417, 227, 436, 459, - 460, 461, 463, 361, 247, 397, 0, 362, 344, 465, - 466, 289, 464, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, - 0, 0, 0, 251, 0, 0, 0, 0, 335, 248, - 0, 0, 394, 0, 197, 0, 438, 235, 345, 342, - 471, 263, 254, 250, 234, 290, 352, 392, 458, 386, - 0, 339, 0, 0, 448, 365, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 296, 233, 298, 196, 377, 449, 267, 0, 0, - 0, 0, 188, 2602, 190, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 224, 0, 231, 320, 329, - 328, 309, 310, 312, 314, 319, 326, 332, 0, 0, - 0, 0, 0, 246, 294, 253, 245, 468, 0, 0, - 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, + 536, 537, 538, 539, 540, 541, 542, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 543, 352, 438, + 487, 307, 319, 322, 312, 331, 0, 332, 308, 309, + 314, 316, 317, 318, 323, 324, 328, 334, 234, 0, + 191, 207, 338, 0, 413, 270, 521, 499, 495, 0, + 209, 0, 244, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 779, 0, 0, 0, 193, 194, 200, 208, 218, 222, + 229, 243, 258, 260, 267, 279, 284, 287, 292, 293, + 296, 302, 348, 354, 355, 356, 357, 374, 375, 376, + 379, 382, 383, 386, 388, 389, 392, 396, 400, 401, + 402, 403, 405, 407, 414, 419, 427, 428, 429, 430, + 431, 434, 435, 440, 441, 442, 443, 444, 452, 453, + 457, 475, 477, 489, 503, 508, 433, 280, 484, 509, + 0, 347, 0, 0, 349, 263, 283, 294, 0, 498, + 454, 213, 421, 272, 201, 232, 216, 241, 256, 259, + 298, 358, 365, 394, 399, 277, 253, 230, 418, 227, + 437, 460, 461, 462, 464, 362, 248, 398, 0, 363, + 345, 466, 467, 290, 465, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 381, 0, 0, 0, + 0, 0, 0, 0, 0, 252, 0, 0, 0, 0, + 336, 249, 0, 0, 395, 0, 197, 0, 439, 236, + 346, 343, 472, 264, 255, 251, 235, 291, 353, 393, + 459, 387, 0, 340, 0, 0, 449, 366, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 297, 233, 299, 196, 378, 450, 268, + 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 224, 0, 231, + 321, 330, 329, 310, 311, 313, 315, 320, 327, 333, + 0, 0, 0, 0, 0, 247, 295, 254, 246, 469, + 0, 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, - 0, 366, 238, 0, 0, 0, 0, 504, 0, 0, - 0, 0, 0, 0, 0, 334, 0, 303, 192, 211, - 0, 0, 376, 419, 425, 0, 0, 0, 236, 0, - 423, 390, 487, 219, 265, 416, 396, 421, 403, 268, - 0, 0, 422, 340, 473, 410, 484, 505, 506, 244, - 370, 495, 462, 501, 519, 212, 241, 384, 455, 490, - 445, 363, 469, 470, 302, 444, 275, 195, 338, 511, - 210, 431, 228, 217, 475, 493, 270, 414, 202, 457, - 482, 225, 435, 0, 0, 521, 204, 480, 454, 359, - 299, 300, 203, 0, 415, 249, 273, 239, 379, 477, - 478, 237, 522, 214, 500, 206, 0, 499, 372, 472, - 481, 360, 350, 205, 479, 358, 349, 305, 324, 325, - 261, 284, 408, 343, 409, 285, 368, 367, 369, 198, - 491, 0, 199, 0, 450, 492, 523, 220, 221, 223, - 0, 260, 264, 272, 274, 280, 281, 288, 336, 383, - 407, 405, 411, 0, 467, 485, 496, 503, 509, 510, - 512, 513, 514, 515, 516, 518, 517, 371, 287, 446, - 304, 341, 0, 0, 389, 424, 226, 489, 447, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 600, + 0, 278, 0, 367, 239, 0, 0, 0, 0, 505, + 0, 0, 0, 0, 0, 0, 0, 335, 0, 304, + 192, 211, 0, 0, 377, 420, 426, 0, 0, 0, + 237, 0, 424, 391, 488, 219, 266, 417, 397, 422, + 404, 269, 0, 0, 423, 341, 474, 411, 485, 506, + 507, 245, 371, 496, 463, 502, 520, 212, 242, 385, + 456, 491, 446, 364, 470, 471, 303, 445, 276, 195, + 339, 512, 210, 432, 228, 217, 476, 494, 271, 415, + 202, 458, 483, 225, 436, 0, 0, 522, 204, 481, + 455, 360, 300, 301, 203, 0, 416, 250, 274, 240, + 380, 478, 479, 238, 523, 214, 501, 206, 0, 500, + 373, 473, 482, 361, 351, 205, 480, 359, 350, 306, + 325, 326, 262, 285, 409, 344, 410, 286, 369, 368, + 370, 198, 492, 0, 199, 0, 451, 493, 524, 220, + 221, 223, 0, 261, 265, 273, 275, 281, 282, 289, + 337, 384, 408, 406, 412, 0, 468, 486, 497, 504, + 510, 511, 513, 514, 515, 516, 517, 519, 518, 372, + 288, 447, 305, 342, 0, 0, 390, 425, 226, 490, + 448, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 525, 526, 527, 528, 529, 530, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, - 534, 535, 536, 537, 538, 539, 540, 541, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 542, 351, - 437, 486, 306, 318, 321, 311, 330, 0, 331, 307, - 308, 313, 315, 316, 317, 322, 323, 327, 333, 0, - 191, 207, 337, 0, 412, 269, 520, 498, 494, 0, - 209, 0, 243, 0, 0, 0, 0, 0, 0, 0, + 543, 352, 438, 487, 307, 319, 322, 312, 331, 0, + 332, 308, 309, 314, 316, 317, 318, 323, 324, 328, + 334, 234, 0, 191, 207, 338, 0, 413, 270, 521, + 499, 495, 0, 209, 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 193, 194, 200, 208, 218, 222, - 229, 242, 257, 259, 266, 278, 283, 286, 291, 292, - 295, 301, 347, 353, 354, 355, 356, 373, 374, 375, - 378, 381, 382, 385, 387, 388, 391, 395, 399, 400, - 401, 402, 404, 406, 413, 418, 426, 427, 428, 429, - 430, 433, 434, 439, 440, 441, 442, 443, 451, 452, - 456, 474, 476, 488, 502, 507, 432, 279, 483, 508, - 0, 346, 0, 0, 348, 262, 282, 293, 0, 497, - 453, 213, 420, 271, 201, 232, 216, 240, 255, 258, - 297, 357, 364, 393, 398, 276, 252, 230, 417, 227, - 436, 459, 460, 461, 463, 361, 247, 397, 0, 362, - 344, 465, 466, 289, 464, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 380, 0, 0, 0, - 0, 0, 0, 0, 0, 251, 0, 0, 0, 0, - 335, 248, 0, 0, 394, 0, 197, 0, 438, 235, - 345, 342, 471, 263, 254, 250, 234, 290, 352, 392, - 458, 386, 0, 339, 0, 0, 448, 365, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 296, 233, 298, 196, 377, 449, 267, - 0, 0, 0, 0, 188, 2116, 190, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 224, 0, 231, - 320, 329, 328, 309, 310, 312, 314, 319, 326, 332, - 0, 0, 0, 0, 0, 246, 294, 253, 245, 468, - 0, 0, 0, 0, 0, 0, 0, 215, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, + 208, 218, 222, 229, 243, 258, 260, 267, 279, 284, + 287, 292, 293, 296, 302, 348, 354, 355, 356, 357, + 374, 375, 376, 379, 382, 383, 386, 388, 389, 392, + 396, 400, 401, 402, 403, 405, 407, 414, 419, 427, + 428, 429, 430, 431, 434, 435, 440, 441, 442, 443, + 444, 452, 453, 457, 475, 477, 489, 503, 508, 433, + 599, 484, 509, 0, 347, 0, 0, 349, 263, 283, + 294, 0, 498, 454, 213, 421, 272, 201, 232, 216, + 241, 256, 259, 298, 358, 365, 394, 399, 277, 253, + 230, 418, 227, 437, 460, 461, 462, 464, 362, 248, + 398, 0, 363, 345, 466, 467, 290, 465, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, + 0, 0, 0, 0, 0, 0, 0, 0, 252, 0, + 0, 0, 0, 336, 249, 0, 0, 395, 0, 197, + 0, 439, 236, 346, 343, 472, 264, 255, 251, 235, + 291, 353, 393, 459, 387, 0, 340, 0, 0, 449, + 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 297, 233, 299, 196, + 378, 450, 268, 0, 0, 0, 0, 188, 189, 190, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 224, 0, 231, 321, 330, 329, 310, 311, 313, 315, + 320, 327, 333, 0, 0, 0, 0, 0, 247, 295, + 254, 246, 469, 0, 0, 0, 0, 0, 0, 0, + 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 278, 0, 367, 239, 0, 0, + 546, 0, 505, 0, 0, 0, 0, 0, 0, 0, + 335, 0, 304, 192, 211, 0, 0, 377, 420, 426, + 0, 0, 0, 237, 0, 424, 391, 488, 219, 266, + 417, 397, 422, 404, 269, 0, 0, 423, 341, 474, + 411, 485, 506, 507, 245, 371, 496, 463, 502, 520, + 212, 242, 385, 456, 491, 446, 364, 470, 471, 303, + 445, 276, 195, 339, 512, 210, 432, 228, 217, 476, + 494, 271, 415, 202, 458, 483, 225, 436, 0, 0, + 522, 204, 481, 455, 360, 300, 301, 203, 0, 416, + 250, 274, 240, 380, 478, 479, 238, 523, 214, 501, + 206, 0, 500, 373, 473, 482, 361, 351, 205, 480, + 359, 350, 306, 325, 326, 262, 285, 409, 344, 410, + 286, 369, 368, 370, 198, 492, 0, 199, 0, 451, + 493, 524, 220, 221, 223, 0, 261, 265, 273, 275, + 281, 282, 289, 337, 384, 408, 406, 412, 0, 468, + 486, 497, 504, 510, 511, 513, 514, 515, 516, 517, + 519, 518, 372, 288, 447, 305, 342, 0, 0, 390, + 425, 226, 490, 448, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 525, 526, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 543, 352, 438, 487, 307, 319, 322, + 312, 331, 0, 332, 308, 309, 314, 316, 317, 318, + 323, 324, 328, 334, 234, 0, 191, 207, 338, 0, + 413, 270, 521, 499, 495, 0, 209, 0, 244, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 193, 194, 200, 208, 218, 222, 229, 243, 258, 260, + 267, 279, 284, 287, 292, 293, 296, 302, 348, 354, + 355, 356, 357, 374, 375, 376, 379, 382, 383, 386, + 388, 389, 392, 396, 400, 401, 402, 403, 405, 407, + 414, 419, 427, 428, 429, 430, 431, 434, 435, 440, + 441, 442, 443, 444, 452, 453, 457, 475, 477, 489, + 503, 508, 433, 280, 484, 509, 0, 347, 0, 0, + 349, 263, 283, 294, 0, 498, 454, 213, 421, 272, + 201, 232, 216, 241, 256, 259, 298, 358, 365, 394, + 399, 277, 253, 230, 418, 227, 437, 460, 461, 462, + 464, 362, 248, 398, 0, 363, 345, 466, 467, 290, + 465, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 381, 0, 0, 0, 0, 0, 0, 0, + 0, 252, 0, 0, 0, 0, 336, 249, 0, 0, + 395, 0, 197, 0, 439, 236, 346, 343, 472, 264, + 255, 251, 235, 291, 353, 393, 459, 387, 0, 340, + 0, 0, 449, 366, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, + 233, 299, 196, 378, 450, 268, 0, 0, 0, 0, + 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 224, 0, 231, 321, 330, 329, 310, + 311, 313, 315, 320, 327, 333, 0, 0, 0, 0, + 0, 247, 295, 254, 246, 469, 0, 0, 0, 0, + 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 257, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 278, 0, 367, + 239, 0, 0, 0, 0, 505, 0, 0, 0, 0, + 0, 0, 0, 335, 0, 304, 192, 211, 0, 0, + 377, 420, 426, 0, 0, 0, 237, 0, 424, 391, + 488, 219, 266, 417, 397, 422, 404, 269, 0, 0, + 423, 341, 474, 411, 485, 506, 507, 245, 371, 496, + 463, 502, 520, 212, 242, 385, 456, 491, 446, 364, + 470, 471, 303, 445, 276, 195, 339, 512, 210, 432, + 228, 217, 476, 494, 271, 415, 202, 458, 483, 225, + 436, 0, 0, 522, 204, 481, 455, 360, 300, 301, + 203, 0, 416, 250, 274, 240, 380, 478, 479, 238, + 523, 214, 501, 206, 0, 500, 373, 473, 482, 361, + 351, 205, 480, 359, 350, 306, 325, 326, 262, 285, + 409, 344, 410, 286, 369, 368, 370, 198, 492, 0, + 199, 0, 451, 493, 524, 220, 221, 223, 0, 261, + 265, 273, 275, 281, 282, 289, 337, 384, 408, 406, + 412, 0, 468, 486, 497, 504, 510, 511, 513, 514, + 515, 516, 517, 519, 518, 372, 288, 447, 305, 342, + 0, 0, 390, 425, 226, 490, 448, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 525, 526, + 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 543, 352, 438, 487, + 307, 319, 322, 312, 331, 0, 332, 308, 309, 314, + 316, 317, 318, 323, 324, 328, 334, 234, 0, 191, + 207, 338, 0, 413, 270, 521, 499, 495, 0, 209, + 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 193, 194, 200, 208, 218, 222, 229, + 243, 258, 260, 267, 279, 284, 287, 292, 293, 296, + 302, 348, 354, 355, 356, 357, 2985, 375, 376, 379, + 382, 383, 386, 388, 389, 392, 396, 400, 401, 402, + 403, 405, 407, 414, 419, 427, 428, 429, 430, 431, + 434, 435, 440, 441, 442, 443, 444, 452, 453, 457, + 475, 477, 489, 503, 508, 433, 280, 484, 509, 0, + 347, 0, 0, 349, 263, 283, 294, 0, 498, 454, + 213, 421, 272, 201, 232, 216, 241, 256, 259, 298, + 358, 365, 394, 399, 277, 253, 230, 418, 227, 437, + 460, 461, 462, 464, 362, 248, 398, 0, 363, 345, + 466, 467, 290, 465, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 381, 0, 0, 0, 0, + 0, 0, 0, 0, 252, 0, 0, 0, 0, 336, + 249, 0, 0, 395, 0, 197, 0, 439, 236, 346, + 343, 472, 264, 255, 251, 235, 291, 353, 393, 459, + 387, 0, 340, 0, 0, 449, 366, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 297, 233, 299, 196, 378, 450, 268, 0, + 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 224, 0, 231, 321, + 330, 329, 310, 311, 313, 315, 320, 327, 333, 0, + 0, 0, 0, 0, 247, 295, 254, 246, 469, 0, + 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 277, 0, 366, 238, 0, 0, 0, 0, 504, - 0, 0, 0, 0, 0, 0, 0, 334, 0, 303, - 192, 211, 0, 0, 376, 419, 425, 0, 0, 0, - 236, 0, 423, 390, 487, 219, 265, 416, 396, 421, - 403, 268, 0, 0, 422, 340, 473, 410, 484, 505, - 506, 244, 370, 495, 462, 501, 519, 212, 241, 384, - 455, 490, 445, 363, 469, 470, 302, 444, 275, 195, - 338, 511, 210, 431, 228, 217, 475, 493, 270, 414, - 202, 457, 482, 225, 435, 0, 0, 521, 204, 480, - 454, 359, 299, 300, 203, 0, 415, 249, 273, 239, - 379, 477, 478, 237, 522, 214, 500, 206, 0, 499, - 372, 472, 481, 360, 350, 205, 479, 358, 349, 305, - 324, 325, 261, 284, 408, 343, 409, 285, 368, 367, - 369, 198, 491, 0, 199, 0, 450, 492, 523, 220, - 221, 223, 0, 260, 264, 272, 274, 280, 281, 288, - 336, 383, 407, 405, 411, 0, 467, 485, 496, 503, - 509, 510, 512, 513, 514, 515, 516, 518, 517, 371, - 287, 446, 304, 341, 0, 0, 389, 424, 226, 489, - 447, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 524, 525, 526, 527, 528, 529, 530, 531, - 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 542, 351, 437, 486, 306, 318, 321, 311, 330, 0, - 331, 307, 308, 313, 315, 316, 317, 322, 323, 327, - 333, 0, 191, 207, 337, 0, 412, 269, 520, 498, - 494, 0, 209, 0, 243, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 278, 0, 367, 239, 0, 0, 0, 0, 505, 0, + 0, 0, 0, 0, 0, 0, 335, 0, 304, 192, + 211, 0, 0, 377, 420, 426, 0, 0, 0, 237, + 0, 424, 391, 488, 219, 266, 417, 397, 422, 404, + 269, 0, 0, 423, 341, 474, 411, 485, 506, 507, + 245, 371, 496, 463, 502, 520, 212, 242, 385, 456, + 491, 446, 364, 470, 471, 303, 445, 276, 195, 339, + 512, 210, 432, 228, 217, 476, 494, 271, 415, 202, + 458, 483, 225, 436, 0, 0, 522, 204, 481, 455, + 360, 300, 301, 203, 0, 416, 250, 274, 240, 380, + 478, 479, 238, 523, 214, 501, 206, 0, 500, 373, + 473, 482, 361, 351, 205, 480, 359, 350, 306, 325, + 326, 262, 285, 409, 344, 410, 286, 369, 368, 370, + 198, 492, 0, 199, 0, 451, 493, 524, 220, 221, + 223, 0, 261, 265, 273, 275, 281, 282, 289, 337, + 384, 408, 406, 412, 0, 468, 486, 497, 504, 510, + 511, 513, 514, 515, 516, 517, 519, 518, 372, 288, + 447, 305, 342, 0, 0, 390, 425, 226, 490, 448, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 525, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 543, + 352, 438, 487, 307, 319, 322, 312, 331, 0, 332, + 308, 309, 314, 316, 317, 318, 323, 324, 328, 334, + 234, 0, 191, 207, 338, 0, 413, 270, 521, 499, + 495, 0, 209, 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 208, - 218, 222, 229, 242, 257, 259, 266, 278, 283, 286, - 291, 292, 295, 301, 347, 353, 354, 355, 356, 373, - 374, 375, 378, 381, 382, 385, 387, 388, 391, 395, - 399, 400, 401, 402, 404, 406, 413, 418, 426, 427, - 428, 429, 430, 433, 434, 439, 440, 441, 442, 443, - 451, 452, 456, 474, 476, 488, 502, 507, 432, 279, - 483, 508, 0, 346, 0, 0, 348, 262, 282, 293, - 0, 497, 453, 213, 420, 271, 201, 232, 216, 240, - 255, 258, 297, 357, 364, 393, 398, 276, 252, 230, - 417, 227, 436, 459, 460, 461, 463, 361, 247, 397, - 0, 0, 344, 465, 466, 289, + 218, 222, 229, 243, 258, 260, 267, 279, 284, 287, + 292, 293, 296, 302, 348, 354, 355, 356, 357, 374, + 375, 376, 379, 382, 383, 386, 388, 389, 392, 396, + 400, 401, 402, 403, 405, 407, 414, 419, 427, 428, + 429, 430, 431, 434, 435, 440, 441, 442, 443, 444, + 452, 453, 457, 475, 477, 489, 503, 508, 433, 280, + 484, 509, 0, 347, 0, 0, 349, 263, 283, 294, + 0, 498, 454, 213, 421, 272, 201, 232, 216, 241, + 256, 259, 298, 358, 365, 394, 399, 277, 253, 230, + 418, 227, 437, 460, 461, 462, 464, 362, 248, 398, + 0, 363, 345, 466, 467, 290, 465, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, + 0, 0, 0, 0, 0, 0, 0, 252, 0, 0, + 0, 0, 336, 249, 0, 0, 395, 0, 197, 0, + 439, 236, 346, 343, 472, 264, 255, 251, 235, 291, + 353, 393, 459, 387, 0, 340, 0, 0, 449, 366, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 297, 233, 299, 196, 378, + 450, 268, 0, 0, 0, 0, 188, 2608, 190, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, + 0, 231, 321, 330, 329, 310, 311, 313, 315, 320, + 327, 333, 0, 0, 0, 0, 0, 247, 295, 254, + 246, 469, 0, 0, 0, 0, 0, 0, 0, 215, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 257, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 278, 0, 367, 239, 0, 0, 0, + 0, 505, 0, 0, 0, 0, 0, 0, 0, 335, + 0, 304, 192, 211, 0, 0, 377, 420, 426, 0, + 0, 0, 237, 0, 424, 391, 488, 219, 266, 417, + 397, 422, 404, 269, 0, 0, 423, 341, 474, 411, + 485, 506, 507, 245, 371, 496, 463, 502, 520, 212, + 242, 385, 456, 491, 446, 364, 470, 471, 303, 445, + 276, 195, 339, 512, 210, 432, 228, 217, 476, 494, + 271, 415, 202, 458, 483, 225, 436, 0, 0, 522, + 204, 481, 455, 360, 300, 301, 203, 0, 416, 250, + 274, 240, 380, 478, 479, 238, 523, 214, 501, 206, + 0, 500, 373, 473, 482, 361, 351, 205, 480, 359, + 350, 306, 325, 326, 262, 285, 409, 344, 410, 286, + 369, 368, 370, 198, 492, 0, 199, 0, 451, 493, + 524, 220, 221, 223, 0, 261, 265, 273, 275, 281, + 282, 289, 337, 384, 408, 406, 412, 0, 468, 486, + 497, 504, 510, 511, 513, 514, 515, 516, 517, 519, + 518, 372, 288, 447, 305, 342, 0, 0, 390, 425, + 226, 490, 448, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 525, 526, 527, 528, 529, 530, + 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, + 541, 542, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 543, 352, 438, 487, 307, 319, 322, 312, + 331, 0, 332, 308, 309, 314, 316, 317, 318, 323, + 324, 328, 334, 234, 0, 191, 207, 338, 0, 413, + 270, 521, 499, 495, 0, 209, 0, 244, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, + 194, 200, 208, 218, 222, 229, 243, 258, 260, 267, + 279, 284, 287, 292, 293, 296, 302, 348, 354, 355, + 356, 357, 374, 375, 376, 379, 382, 383, 386, 388, + 389, 392, 396, 400, 401, 402, 403, 405, 407, 414, + 419, 427, 428, 429, 430, 431, 434, 435, 440, 441, + 442, 443, 444, 452, 453, 457, 475, 477, 489, 503, + 508, 433, 280, 484, 509, 0, 347, 0, 0, 349, + 263, 283, 294, 0, 498, 454, 213, 421, 272, 201, + 232, 216, 241, 256, 259, 298, 358, 365, 394, 399, + 277, 253, 230, 418, 227, 437, 460, 461, 462, 464, + 362, 248, 398, 0, 363, 345, 466, 467, 290, 465, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 381, 0, 0, 0, 0, 0, 0, 0, 0, + 252, 0, 0, 0, 0, 336, 249, 0, 0, 395, + 0, 197, 0, 439, 236, 346, 343, 472, 264, 255, + 251, 235, 291, 353, 393, 459, 387, 0, 340, 0, + 0, 449, 366, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 297, 233, + 299, 196, 378, 450, 268, 0, 0, 0, 0, 188, + 2121, 190, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 224, 0, 231, 321, 330, 329, 310, 311, + 313, 315, 320, 327, 333, 0, 0, 0, 0, 0, + 247, 295, 254, 246, 469, 0, 0, 0, 0, 0, + 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 257, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 278, 0, 367, 239, + 0, 0, 0, 0, 505, 0, 0, 0, 0, 0, + 0, 0, 335, 0, 304, 192, 211, 0, 0, 377, + 420, 426, 0, 0, 0, 237, 0, 424, 391, 488, + 219, 266, 417, 397, 422, 404, 269, 0, 0, 423, + 341, 474, 411, 485, 506, 507, 245, 371, 496, 463, + 502, 520, 212, 242, 385, 456, 491, 446, 364, 470, + 471, 303, 445, 276, 195, 339, 512, 210, 432, 228, + 217, 476, 494, 271, 415, 202, 458, 483, 225, 436, + 0, 0, 522, 204, 481, 455, 360, 300, 301, 203, + 0, 416, 250, 274, 240, 380, 478, 479, 238, 523, + 214, 501, 206, 0, 500, 373, 473, 482, 361, 351, + 205, 480, 359, 350, 306, 325, 326, 262, 285, 409, + 344, 410, 286, 369, 368, 370, 198, 492, 0, 199, + 0, 451, 493, 524, 220, 221, 223, 0, 261, 265, + 273, 275, 281, 282, 289, 337, 384, 408, 406, 412, + 0, 468, 486, 497, 504, 510, 511, 513, 514, 515, + 516, 517, 519, 518, 372, 288, 447, 305, 342, 0, + 0, 390, 425, 226, 490, 448, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 525, 526, 527, + 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 543, 352, 438, 487, 307, + 319, 322, 312, 331, 0, 332, 308, 309, 314, 316, + 317, 318, 323, 324, 328, 334, 234, 0, 191, 207, + 338, 0, 413, 270, 521, 499, 495, 0, 209, 0, + 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 193, 194, 200, 208, 218, 222, 229, 243, + 258, 260, 267, 279, 284, 287, 292, 293, 296, 302, + 348, 354, 355, 356, 357, 374, 375, 376, 379, 382, + 383, 386, 388, 389, 392, 396, 400, 401, 402, 403, + 405, 407, 414, 419, 427, 428, 429, 430, 431, 434, + 435, 440, 441, 442, 443, 444, 452, 453, 457, 475, + 477, 489, 503, 508, 433, 280, 484, 509, 0, 347, + 0, 0, 349, 263, 283, 294, 0, 498, 454, 213, + 421, 272, 201, 232, 216, 241, 256, 259, 298, 358, + 365, 394, 399, 277, 253, 230, 418, 227, 437, 460, + 461, 462, 464, 362, 248, 398, 0, 0, 345, 466, + 467, 290, } var yyPact = [...]int{ - 5992, -1000, -409, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 3074, -1000, -414, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 1997, 2020, -1000, -1000, - -1000, -1000, 2137, -1000, 752, 1692, -1000, 1943, 5691, -1000, - 41251, 485, -1000, 40047, 484, 123, 41251, -1000, 161, -1000, - 151, 41251, 157, 39445, -1000, -1000, -301, 17161, 1888, 40, - 39, 41251, -1000, -1000, -1000, -1000, 2102, 1668, -1000, 338, - -1000, -1000, -1000, -1000, -1000, -1000, 38843, -1000, -1000, -1000, - 1963, 1942, 2151, 647, 1877, -1000, 2000, 1668, -1000, 17161, - 2084, 2005, 16559, -1000, 16559, 428, -1000, -1000, 12335, -1000, - -1000, 23191, 41251, 29211, 299, -1000, 1943, -1000, -1000, -1000, - 90, -1000, 326, 1554, -1000, 1537, -1000, 610, 622, 354, - 465, 463, 351, 350, 333, 332, 331, 325, 324, 310, - 358, -1000, 679, 679, -140, -152, 3016, 522, 418, 418, - 450, 1916, 1907, -1000, 669, -1000, 679, 679, 679, 334, - 679, 679, 679, 679, 291, 290, 679, 679, 679, 679, - 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, - 679, 679, 679, 295, 1943, 264, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 2021, 2072, -1000, -1000, + -1000, -1000, 2198, -1000, 772, 1692, -1000, 1993, 3636, -1000, + 42284, 507, -1000, 41078, 499, 133, 42284, -1000, 163, -1000, + 155, 42284, 159, 40475, -1000, -1000, -298, 18154, 1946, 25, + 23, 42284, -1000, -1000, -1000, -1000, 2190, 1690, -1000, 334, + -1000, -1000, -1000, -1000, -1000, -1000, 39872, -1000, -1000, -1000, + 2005, 1988, 2206, 660, 1930, -1000, 2065, 1690, -1000, 18154, + 2127, 2042, 17551, -1000, 17551, 411, -1000, -1000, 13320, -1000, + -1000, 24194, 42284, 30224, 325, -1000, 1993, -1000, -1000, -1000, + 94, -1000, 321, 1613, -1000, 1612, -1000, 613, 602, 340, + 455, 453, 339, 336, 335, 333, 332, 331, 327, 322, + 343, -1000, 717, 717, -155, -159, 351, 501, 396, 396, + 457, 1967, 1966, -1000, 729, -1000, 717, 717, 717, 358, + 717, 717, 717, 717, 293, 291, 717, 717, 717, 717, + 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, + 717, 717, 717, 381, 1993, 274, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, @@ -5800,36 +5906,36 @@ var yyPact = [...]int{ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 41251, 252, 41251, -1000, 559, 41251, 799, - 799, 62, 799, 799, 799, 799, 186, 641, 36, -1000, - 167, 241, 171, 257, 781, 165, -1000, -1000, 245, 781, - 1247, -1000, 643, 147, -1000, 799, 799, -1000, 9907, 223, - 9907, 9907, -1000, 1930, -1000, -1000, -1000, -1000, 1251, -1000, - 448, -1000, -1000, -1000, -1000, 41251, 38241, 330, 704, -1000, - -1000, -1000, 58, -1000, -1000, 1330, 957, 17161, 888, -1000, - 1546, 612, -1000, -1000, -1000, -1000, -1000, 508, 17763, 17763, - 17763, 17763, -1000, -1000, 1595, 1595, 1595, 1595, 17763, 1595, - 17763, 1595, 1595, 1595, 1595, 17161, 1595, 1595, 1595, -1000, - 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, - 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, - 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, - 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, - 537, 1595, 1595, 1595, 1595, 1595, -1000, -1000, -1000, -1000, - 1595, 1595, 1595, 1595, 1595, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 20778, -1000, 14753, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 42284, 184, 42284, -1000, 559, 42284, + 805, 805, 55, 805, 805, 805, 805, 153, 655, 22, + -1000, 152, 257, 128, 270, 834, 165, -1000, -1000, 252, + 834, 1241, -1000, 665, 123, -1000, 805, 805, -1000, 10888, + 150, 10888, 10888, -1000, 1984, -1000, -1000, -1000, -1000, 1131, + -1000, 452, -1000, -1000, -1000, -1000, 42284, 39269, 330, 737, + -1000, -1000, -1000, 44, -1000, -1000, 1355, 1128, 18154, 1175, + -1000, 1522, 632, -1000, -1000, -1000, -1000, -1000, 533, 18757, + 18757, 18757, 18757, -1000, -1000, 1523, 1523, 1523, 1523, 18757, + 1523, 18757, 1523, 1523, 1523, 1523, 18154, 1523, 1523, 1523, + -1000, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, + 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, + 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, + 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, + 1523, 1523, 557, 1523, 1523, 1523, 1523, 1523, -1000, -1000, + -1000, -1000, 1523, 1523, 1523, 1523, 1523, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 21777, -1000, 15742, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 41251, -1000, 1595, - 176, 41251, 41251, 337, 2000, 1668, -1000, 2102, 2036, 338, - -1000, 2315, 1550, 1424, 1240, 1668, 1504, 41251, -1000, 1643, - -1000, -1000, -1000, 1803, 1142, 1245, -1000, -1000, -1000, -1000, - 1120, 17161, -1000, -1000, 2132, -1000, 20176, 535, 850, 2127, - 37639, -1000, 428, 428, 1527, 11728, 12, -1000, -1000, -1000, - 700, 26803, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1930, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 42284, + -1000, 1523, 181, 42284, 42284, 329, 2065, 1690, -1000, 2190, + 2112, 334, -1000, 2058, 1374, 1343, 1247, 1690, 1526, 42284, + -1000, 1615, -1000, -1000, -1000, 1841, 1106, 1240, -1000, -1000, + -1000, -1000, 1573, 18154, -1000, -1000, 2192, -1000, 21174, 555, + 885, 2189, 38666, -1000, 411, 411, 1610, 12712, -23, -1000, + -1000, -1000, 732, 27812, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 1984, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, @@ -5842,257 +5948,258 @@ var yyPact = [...]int{ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 1640, 41251, -1000, -1000, 3909, 1175, - -1000, 1691, -1000, 1592, -1000, 1663, 17161, 1690, 478, 1175, - 467, 466, 464, -1000, -74, -1000, -1000, -1000, -1000, -1000, - -1000, 679, 679, 679, -1000, 335, 2082, 5691, 4290, -1000, - -1000, -1000, 37037, 1687, 1175, -1000, 1684, -1000, 785, 515, - 552, 552, 1175, -1000, -1000, 41251, 1175, 780, 778, 1175, - 1175, 41251, 41251, -1000, 36435, -1000, 35833, 35231, 1118, 41251, - 34629, 34027, 33425, 32823, 32221, -1000, 1787, -1000, 1726, -1000, - -1000, -1000, 41251, 1175, 1175, 41251, 41251, 327, -1000, -1000, - 41251, 1175, -1000, -1000, 1117, 1110, 1106, 679, 679, 1105, - 1243, 1238, 1233, 679, 679, 1092, 1232, 28007, 1229, 280, - 1082, 1079, 1076, 1033, 1228, 225, 1227, 1015, 954, 1073, - 41251, 1683, 41251, -1000, 221, 662, 391, 697, 1943, 1885, - 1517, 444, 471, 1175, 412, 412, 41251, -1000, 10514, -1000, - -1000, 1226, 17161, -1000, 782, 781, 781, -1000, -1000, -1000, - -1000, -1000, -1000, 799, 41251, 782, -1000, -1000, -1000, 781, - 799, 41251, 799, 799, 799, 799, 781, 781, 781, 799, - 41251, 41251, 41251, 41251, 41251, 41251, 41251, 41251, 41251, 9907, - 643, 799, -305, -1000, 1224, -1000, 1773, -1000, -1000, -1000, - -1000, -1000, -1000, 9907, 9907, -1000, -1000, -1000, -1000, 154, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -43, - 1512, 31619, -1000, -307, -308, -310, -311, -1000, -1000, -1000, - -313, -320, -1000, -1000, -1000, 17161, 17161, 17161, 17161, -176, - -1000, 813, 17763, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 918, 741, 17763, 17763, 17763, 17763, 17763, 17763, 17763, 17763, - 17763, 17763, 17763, 17763, 17763, 17763, 17763, 24997, 6657, 6657, - 612, 612, 612, 612, -1000, 16559, 17161, 17161, 612, -1000, - 1175, 31017, 16559, 16559, 17161, 1925, 712, 957, 41251, -1000, - 1240, -1000, -1000, -1000, 1003, -1000, 41251, 41251, 1236, 17161, - 17161, 17161, 17161, 17161, 17161, 13544, 17161, 17161, 17161, 17161, - 17161, 17161, 17161, 17161, 17161, 17161, 17161, 17161, 17161, 17161, - 17161, 17161, 17161, 17161, 17161, 17161, 17161, 17161, 17161, 17161, - 17161, 17161, 12942, 10514, 16559, 16559, 16559, 16559, 16559, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 1587, 42284, -1000, -1000, + 3298, 1156, -1000, 1689, -1000, 1561, -1000, 1647, 18154, 1663, + 493, 1156, 480, 476, 468, -1000, -76, -1000, -1000, -1000, + -1000, -1000, -1000, 717, 717, 717, -1000, 342, 2125, 3636, + 4450, -1000, -1000, -1000, 38063, 1688, 1156, -1000, 1685, -1000, + 811, 500, 596, 596, 1156, -1000, -1000, 42284, 1156, 798, + 795, 1156, 1156, 42284, 42284, -1000, 37460, -1000, 36857, 36254, + 1051, 42284, 35651, 35048, 34445, 33842, 33239, -1000, 1792, -1000, + 1810, -1000, -1000, -1000, 42284, 1156, 1156, 42284, 42284, 349, + -1000, -1000, 42284, 1156, -1000, -1000, 1050, 1048, 1034, 717, + 717, 1033, 1228, 1226, 1221, 717, 717, 1030, 1210, 29018, + 1209, 258, 1028, 1027, 1024, 1049, 1208, 188, 1201, 1036, + 950, 1020, 42284, 1684, 42284, -1000, 244, 788, 387, 723, + 1993, 1933, 1568, 423, 485, 1156, 407, 407, 42284, -1000, + 11496, -1000, -1000, 1200, 18154, -1000, 845, 834, 834, -1000, + -1000, -1000, -1000, -1000, -1000, 805, 42284, 845, -1000, -1000, + -1000, 834, 805, 42284, 805, 805, 805, 805, 834, 834, + 834, 805, 42284, 42284, 42284, 42284, 42284, 42284, 42284, 42284, + 42284, 10888, 665, 805, -312, -1000, 1196, -1000, 1802, -1000, + -1000, -1000, -1000, -1000, -1000, 10888, 10888, -1000, -1000, -1000, + -1000, 158, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -81, 1539, 32636, -1000, -313, -315, -316, -321, -1000, + -1000, -1000, -329, -330, -1000, -1000, -1000, 18154, 18154, 18154, + 18154, -189, -1000, 861, 18757, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 920, 764, 18757, 18757, 18757, 18757, 18757, 18757, + 18757, 18757, 18757, 18757, 18757, 18757, 18757, 18757, 18757, 26003, + 5264, 5264, 632, 632, 632, 632, -1000, 17551, 18154, 18154, + 632, -1000, 1156, 32033, 17551, 17551, 18154, 1976, 745, 1128, + 42284, -1000, 1247, -1000, -1000, -1000, 978, -1000, 1976, 42284, + 42284, 784, 18154, 18154, 18154, 18154, 18154, 18154, 14531, 18154, + 18154, 18154, 18154, 18154, 18154, 18154, 18154, 18154, 18154, 18154, + 18154, 18154, 18154, 18154, 18154, 18154, 18154, 18154, 18154, 18154, + 18154, 18154, 18154, 18154, 18154, 13928, 11496, 17551, 17551, 17551, + 17551, 17551, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 554, 1389, 1330, 1469, -1000, 1530, + -1000, -151, 23591, 18154, 1176, 2188, 1733, 42284, -1000, -1000, + -1000, 2065, -1000, 2065, 1389, 2009, 1847, 17551, -1000, -1000, + 2009, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1309, + -1000, 42284, 1526, 2036, 42284, 1836, 1170, 362, -1000, 18154, + 18154, 1518, -1000, 1123, 42284, -1000, -189, -1000, 31430, -1000, + -1000, 10280, -1000, 42284, 318, 42284, -1000, 22988, 30827, 12104, + -23, -1000, 12104, 1459, -1000, 4, 0, 15134, 625, -1000, + -1000, -1000, 351, 19963, 1295, 625, 84, -1000, -1000, -1000, + 1647, -1000, 1647, 1647, 1647, 1647, 362, 362, 362, 362, + -1000, -1000, -1000, -1000, -1000, 1680, 1676, -1000, 1647, 1647, + 1647, 1647, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1674, + 1674, 1674, 1649, 1649, 385, -1000, 18154, 237, 30224, 2024, + 1003, 1646, 244, 409, 1731, 1156, 1156, 1156, 409, -1000, + 1258, 1250, 1137, -1000, -401, 1516, -1000, -1000, 2121, -1000, + -1000, 635, 842, 836, 750, 42284, 191, 307, -1000, 384, + -1000, 30224, 1156, 789, 596, 1156, -1000, 1156, -1000, -1000, + -1000, -1000, -1000, 1156, -1000, -1000, 1506, -1000, 1411, 880, + 832, 876, 824, 1506, -1000, -1000, -126, 1506, -1000, 1506, + -1000, 1506, -1000, 1506, -1000, 1506, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 709, 171, -241, 42284, 191, + 26003, -1000, 422, -1000, -1000, -1000, 26003, 26003, -1000, -1000, + -1000, -1000, 1167, 1161, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 532, 1398, 1373, 1496, -1000, 1506, -1000, -151, 22589, - 17161, 1216, 2119, 1708, 41251, -1000, -1000, -1000, 2000, -1000, - 2000, 1398, 2146, 1815, 16559, -1000, -1000, 2146, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 1319, -1000, 41251, 1504, - 1998, 41251, 1798, 1213, 362, -1000, 17161, 17161, 1494, -1000, - 948, 41251, -1000, -176, -1000, 30415, -1000, -1000, 9300, -1000, - 41251, 308, 41251, -1000, 21987, 29813, 11121, 12, -1000, 11121, - 1460, -1000, 16, 6, 14146, 607, -1000, -1000, -1000, 3016, - 18967, 1310, 607, 83, -1000, -1000, -1000, 1663, -1000, 1663, - 1663, 1663, 1663, 362, 362, 362, 362, -1000, -1000, -1000, - -1000, -1000, 1681, 1680, -1000, 1663, 1663, 1663, 1663, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 1679, 1679, 1679, 1672, - 1672, 403, -1000, 17161, 353, 29211, 1969, 1072, 1235, 221, - 426, 1703, 1175, 1175, 1175, 426, -1000, 1223, 1135, 1090, - -1000, -401, 1491, -1000, -1000, 2078, -1000, -1000, 670, 822, - 812, 695, 41251, 194, 302, -1000, 399, -1000, 29211, 1175, - 772, 552, 1175, -1000, 1175, -1000, -1000, -1000, -1000, -1000, - 1175, -1000, -1000, 1480, -1000, 1408, 857, 808, 848, 767, - 1480, -1000, -1000, -118, 1480, -1000, 1480, -1000, 1480, -1000, - 1480, -1000, 1480, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 666, 175, -238, 41251, 194, 24997, -1000, 443, - -1000, -1000, -1000, 24997, 24997, -1000, -1000, -1000, -1000, 1208, - 1207, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -388, 42284, -1000, 214, 721, 297, 328, + 259, 42284, 242, 2045, 2040, 2026, 207, 288, 42284, 42284, + 407, 1782, 42284, 2016, 42284, -1000, -1000, -1000, -1000, -1000, + 1128, 42284, -1000, -1000, 805, 805, -1000, -1000, 42284, 805, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 805, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 42284, -1000, -1000, -1000, -1000, 42284, + -1000, -1000, -1000, -1000, -1000, 65, -3, 324, -1000, -1000, + -1000, -1000, -1000, 2047, -1000, 1128, 815, 751, -1000, 1523, + -1000, -1000, 922, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 920, 18757, 18757, 18757, 1590, 438, 1668, 896, 926, 1143, + 1143, 994, 994, 638, 638, 638, 638, 638, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 1159, -1000, 1524, -1000, + 1218, 1398, 1247, -1000, 1524, 1524, 1557, 17551, -1000, -1000, + 800, -1000, 18154, 1247, -1000, -1000, 1247, 1247, 18154, 1497, + 1495, 2179, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -384, 41251, -1000, 207, 694, 285, 342, 250, 41251, 177, - 2025, 2023, 2016, 266, 286, 41251, 41251, 412, 1766, 41251, - 1975, 41251, -1000, -1000, -1000, -1000, -1000, 957, 41251, -1000, - -1000, 799, 799, -1000, -1000, 41251, 799, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 799, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 1093, 1646, 1646, 1646, 1646, 1646, 18154, + 943, -1000, -1000, -1000, 2333, 2280, 1247, 1355, 1247, 1491, + -1000, 2268, 1646, 2261, 2254, 2239, 1531, 2224, 2200, 2102, + 1646, 1646, 1646, 1424, 2060, 2031, 1891, 1887, 1879, 1869, + 1860, 1822, 1803, 1646, 1247, 17551, 17551, 1462, 1523, 551, + -1000, 1524, 1247, 1247, 1524, 1524, 11496, 1247, -1000, 42284, + -1000, -294, -1000, -36, 637, 1523, -1000, 29018, 1247, -1000, + 3744, -1000, 43490, -1000, -1000, -1000, -1000, -1000, 27209, 1586, + 2009, -1000, -1000, 1523, 1559, -1000, -1000, 362, 76, 26606, + 604, 604, 95, 1128, 1128, 18154, -1000, -1000, -1000, -1000, + -1000, -1000, 546, 2153, 323, 1523, -1000, 1395, 1846, -1000, + -1000, -1000, 2035, 20571, -1000, 1523, 1523, 42284, 1654, 1556, + -1000, 545, -1000, 1459, -23, -27, -1000, -1000, -1000, -1000, + 1128, -1000, 1101, 319, 326, -1000, 382, -1000, -1000, -1000, + -1000, 1954, 70, -1000, -1000, -1000, 198, 362, -1000, -1000, + -1000, -1000, -1000, -1000, 1155, 1155, -1000, -1000, -1000, -1000, + -1000, 989, -1000, -1000, -1000, 981, -1000, -1000, 1787, 1764, + 237, -1000, -1000, 717, 1145, -1000, -1000, 1956, 717, 717, + 42284, -1000, -1000, 1292, 2024, 214, 42284, 758, 1781, -1000, + 1731, 1731, 1731, 42284, -1000, -1000, -1000, -1000, -1000, -1000, + -390, 68, 337, -1000, -1000, -1000, 4277, 42284, 1549, -1000, + 189, -1000, 1290, -1000, 42284, -1000, 1534, 1662, 1156, 1156, + -1000, -1000, -1000, 42284, 1523, -1000, -1000, -1000, -1000, 483, + 1991, 268, -1000, -1000, -208, -1000, -1000, 191, 189, 625, + 1156, -1000, -1000, -1000, -1000, -1000, -391, 1532, 466, 197, + 284, 42284, 42284, 42284, 42284, 42284, 521, -1000, -1000, -1000, + -1000, 179, -1000, -1000, 179, -1000, -1000, -1000, -1000, 280, + 413, -1000, 42284, 42284, 547, -1000, -1000, -1000, 834, -1000, + -1000, 834, -1000, -1000, -1000, -1000, -1000, 1979, 42284, -18, + -349, -1000, -344, 18154, -1000, -1000, -1000, -1000, 1555, 437, + 1668, 18757, 18757, 17551, -116, 786, 786, 26003, -1000, -1000, + -1000, 18154, 18154, 1658, 739, -1000, 18154, 873, -1000, -1000, + -1000, 1646, 18154, 18154, 18154, 1247, 262, -1000, -1000, -1000, + -1000, -1000, 2176, -1000, 18154, 18154, 18154, -1000, -1000, 18154, + 18154, -1000, 18154, 18154, 19360, 1247, 19360, 18154, 18154, 19360, + -1000, -1000, -1000, -1000, 19360, 18154, 18154, 18154, 18154, 18154, + 18154, 18154, 18154, 18154, -1000, -1000, 1524, 1524, 17551, 11496, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 41251, -1000, -1000, -1000, -1000, 41251, -1000, -1000, -1000, - -1000, -1000, 79, 14, 323, -1000, -1000, -1000, -1000, -1000, - 2030, -1000, 957, 762, 728, -1000, 1595, -1000, -1000, 840, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 918, 17763, 17763, - 17763, 1557, 452, 1337, 1263, 1029, 832, 832, 757, 757, - 620, 620, 620, 620, 620, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 1206, -1000, 1544, -1000, 1617, 1166, 1240, - -1000, 1544, 1544, 973, 16559, -1000, -1000, 733, -1000, 17161, - 1240, -1000, -1000, 1240, 1240, 1477, 1474, 2117, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1416, - 1235, 1235, 1235, 1235, 1235, 17161, 1078, -1000, -1000, -1000, - 2009, 1966, 1240, 1330, 1240, 1469, -1000, 1906, 1235, 1886, - 1878, 1873, 982, 1868, 1792, 1786, 1235, 1235, 1235, 978, - 1770, 1764, 1760, 1756, 1742, 1689, 1685, 1645, 1612, 1235, - 1240, 16559, 16559, 1466, 1595, 529, -1000, 1544, 1240, 1240, - 1544, 1544, 10514, 1240, -1000, 41251, -1000, -296, -1000, -35, - 597, 1595, -1000, 28007, 1240, -1000, 5252, -1000, 42455, -1000, - -1000, -1000, -1000, -1000, 26201, 1390, 2146, -1000, -1000, 1595, - 1586, -1000, -1000, 362, 60, 25599, 604, 604, 97, 957, - 957, 17161, -1000, -1000, -1000, -1000, -1000, -1000, 528, 2098, - 343, 1595, -1000, 1613, 1917, -1000, -1000, -1000, 1993, 19574, - -1000, 1595, 1595, 41251, 1658, 1598, -1000, 525, -1000, 1460, - 12, 3, -1000, -1000, -1000, -1000, 957, -1000, 1056, 309, - 2728, -1000, 423, -1000, -1000, -1000, -1000, 1893, 71, -1000, - -1000, -1000, 228, 362, -1000, -1000, -1000, -1000, -1000, -1000, - 1186, 1186, -1000, -1000, -1000, -1000, -1000, 1070, -1000, -1000, - -1000, 1047, -1000, -1000, 1456, 1749, 353, -1000, -1000, 679, - 1184, -1000, -1000, 1901, 679, 679, 41251, -1000, -1000, 1308, - 1969, 207, 41251, 726, 1763, -1000, 1703, 1703, 1703, 41251, - -1000, -1000, -1000, -1000, -1000, -1000, -386, 64, 356, -1000, - -1000, -1000, 3449, 41251, 1560, -1000, 187, -1000, 1302, -1000, - 41251, -1000, 1552, 1677, 1175, 1175, -1000, -1000, -1000, 41251, - 1595, -1000, -1000, -1000, -1000, 469, 1935, 254, -1000, -1000, - -193, -1000, -1000, 194, 187, 607, 1175, -1000, -1000, -1000, - -1000, -1000, -387, 1547, 462, 188, 277, 41251, 41251, 41251, - 41251, 41251, 503, -1000, -1000, -1000, -1000, 168, -1000, -1000, - 168, -1000, -1000, -1000, -1000, 274, 442, -1000, 41251, 41251, - 595, -1000, -1000, -1000, 781, -1000, -1000, 781, -1000, -1000, - -1000, -1000, -1000, 1928, 41251, 4, -359, -1000, -350, 17161, - -1000, -1000, -1000, -1000, 911, 451, 1337, 17763, 17763, 16559, - -110, 413, 413, 24997, -1000, -1000, -1000, 17161, 17161, 1440, - 707, -1000, 17161, 871, -1000, -1000, -1000, 17161, 17161, 17161, - 1240, 287, -1000, -1000, -1000, -1000, -1000, 2115, -1000, 17161, - 17161, 17161, -1000, -1000, 17161, 17161, -1000, 17161, 17161, 18365, - 1240, 18365, 17161, 17161, 18365, -1000, -1000, -1000, -1000, 18365, - 17161, 17161, 17161, 17161, 17161, 17161, 17161, 17161, 17161, -1000, - -1000, 1544, 1544, 16559, 10514, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 597, -1000, 552, 552, 552, - 41251, -1000, -1000, -1000, -1000, -1000, -1000, 1455, 2019, -1000, - 1840, 1832, 2114, 2098, -1000, 21987, 2146, -1000, -1000, 41251, - -287, -1000, 1870, 1900, 604, 604, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 8693, 2000, 17161, 1762, 41251, 1595, -1000, - 21385, 41251, 41251, 21987, 21987, 21987, 21987, 21987, -1000, 1782, - 1780, -1000, 1805, 1797, 1817, 41251, -1000, 1532, 1240, 2036, - 19574, 338, 17161, 23793, 1365, 21987, -1000, -1000, 21987, 41251, - 8086, -1000, -1000, -3, -40, -1000, -1000, -1000, -1000, 3016, - -1000, -1000, 431, 1985, 1876, -1000, -1000, -1000, -1000, -1000, - 1523, -1000, 1520, 1443, 1500, 175, -1000, 1603, 1921, 679, - 679, -1000, 1035, -1000, 1175, 1183, 1174, -1000, -1000, -1000, - 455, -1000, 1972, 41251, 1755, 1750, 1744, -1000, -397, 1024, - 1676, 1562, 17161, 1675, 2073, 1375, 41251, -1000, -1000, 41251, - -1000, 179, -1000, 353, 41251, -1000, -1000, -1000, 302, 41251, - -1000, 6911, -1000, -1000, -1000, 187, -1000, -1000, -1000, -1000, - -1000, -1000, 41251, 206, -1000, 1673, 1244, -1000, -1000, 1556, - -1000, -1000, -1000, -1000, 184, 279, 166, 1167, 166, -1000, - 41251, 556, 1749, 41251, -1000, -1000, -1000, 799, 799, -1000, - -1000, 1919, -1000, 1175, 1235, 17763, 17763, -1000, 612, -1000, - 1595, 1240, 1663, 1663, -1000, 1663, 1672, -1000, 1663, 143, - 1663, 131, 1663, -1000, -1000, 1240, 1240, 969, 923, -81, - -1000, 957, 17161, 1605, 1559, 1235, -1000, 1661, 1656, 17161, - 1235, 1235, 1235, -1000, 957, 982, 1479, 1405, -1000, -1000, - -1000, -1000, 1420, 1235, 1393, -285, 1240, 1498, 1498, 1498, - 1498, 1498, 1496, 1496, 1496, 1496, -1000, -1000, 1240, -1000, - -1000, 2010, 2010, 2010, 1484, 41853, 41251, -1000, -1000, -1000, - -1000, 2098, 2092, 1395, -1000, -1000, 60, 396, -1000, 1857, - 1900, -1000, 2072, 1866, 2064, -1000, -1000, -1000, -1000, -1000, - 957, -1000, 1947, 1392, -1000, 691, 1327, -1000, -1000, 15957, - 1487, 1818, 523, 1484, 1369, 1917, 1721, 1738, 1995, -1000, - -1000, -1000, -1000, 1779, -1000, 1767, -1000, -1000, 1643, -1000, - -1000, 1373, 1240, 1372, 308, 21987, 1360, 1360, -1000, 513, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 831, 6584, 2149, - -1000, 1164, -1000, 1036, 189, 1009, -1000, -1000, 679, 679, - -1000, 747, 742, -1000, 41251, 1653, -1000, 362, 1162, 362, - 1008, -1000, 995, -1000, -1000, -1000, -1000, 1709, 1757, -1000, - -1000, -1000, -1000, 41251, -1000, -1000, 41251, 41251, 41251, 1651, - 2063, -1000, 17161, 1648, 684, 1274, 41251, 41251, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 410, - 679, -367, 284, 282, 679, 679, 679, -400, -1000, -1000, - 1471, 1463, -1000, -141, -1000, 17161, -1000, -1000, -1000, 958, - 958, -1000, 1643, -1000, -1000, -1000, 1290, -1000, -1000, -122, - 41251, 41251, 41251, 41251, -1000, 929, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 612, 17763, - -1000, -1000, 362, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 17161, -1000, 17161, -1000, 2000, 1159, 957, 17161, - 17161, -1000, 994, 972, 1235, -1000, -1000, -1000, 1240, 18365, - -1000, 18365, -1000, 17161, 214, 413, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1595, 1905, 1595, - 1595, 23793, -1000, -1000, 2092, 2090, 2061, 1852, 1859, 1859, - 1857, -1000, 2059, 2058, -1000, 1158, 2054, 1157, 739, -1000, - 41251, 17161, 1595, -1000, 341, 41251, 1595, 41251, -1000, 2088, - -1000, -1000, 17161, 1647, -1000, 17161, -1000, -1000, -1000, -1000, - -1000, -1000, 6657, 2098, 1360, -1000, -1000, 627, -1000, 17161, - -1000, -1000, -1000, 4951, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 1153, 1149, -1000, -1000, 1644, 17161, -1000, -1000, - -1000, 1284, 1276, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 1643, -1000, -1000, -1000, -1000, 302, -398, 1241, 41251, - 924, -1000, 1458, 1375, 292, 1595, 1143, 679, 679, 679, - 907, 879, 28007, 1446, -1000, 41251, 376, -1000, 302, -1000, - -153, -154, 1235, -1000, -1000, 1983, -1000, -1000, 10514, -1000, - -1000, 1601, 1698, -1000, -1000, -1000, 446, -1000, 1235, 1235, - 1240, -1000, 1235, 1235, 1267, 1262, -1000, -1000, 1405, -1000, - 876, -1000, 214, 1240, 1736, -1000, -1000, 6657, -1000, 24395, - -1000, 2050, 2047, 28609, 28609, 597, 2090, -1000, 17161, 17161, - 1847, 889, -1000, -1000, -1000, -1000, 1136, 1127, -1000, 1080, - -1000, 2147, -1000, 957, -1000, 1595, -1000, 498, 1327, -1000, - 2000, 957, 41251, 957, 59, 2088, -1000, 1235, -1000, 1595, - 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, - 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, - 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1595, - 1595, -1000, -1000, 41251, 1215, -1000, -1000, 1977, 1401, 63, - -1000, 1384, -1000, -1000, 483, -1000, 17161, -1000, 28007, 1058, - 913, -1000, -1000, -1000, -1000, -400, -1000, -1000, -1000, -1000, - -1000, -1000, 338, 1348, -1000, 676, 41251, 41251, 1240, 283, - -127, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 17161, -1000, 1240, 1728, -1000, -247, -1000, 1346, -1000, -1000, - -1000, -1000, -1000, 1346, 1346, -1000, -1000, 957, 1330, -1000, - 872, -1000, -1000, -1000, -1000, -1000, 41251, 1327, 41251, -1000, - 1301, 1240, 1595, 2000, -1000, 1281, -1000, 338, -1000, 1551, - 1562, -1000, -1000, -1000, 15355, -1000, -1000, -1000, -1000, -1000, - 182, -120, 10514, 7479, 1270, -1000, -1000, 1794, -116, -133, - 982, -1000, -332, -1000, -1000, 27405, -1000, -1000, -1000, -1000, - -1000, 1324, -1000, -1000, 23793, 40649, -1000, -107, 202, -120, - 17161, 1399, 1240, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -11, -1000, -1000, -1000, -1000, -1000, 1556, -1000, 1740, - -1000, 1240, -1000, -1000, -1000, 1259, -1000, 4270, -230, 1727, - -1000, -86, -1000, -1000, -1000, 770, 891, -1000, -1000, -1000, - -1000, -1000, -1000, 1025, 41251, -1000, 385, -1000, -1000, -122, - -123, -1000, -1000, 40649, -234, 607, 6657, -1000, 1725, 1719, - 2111, -1000, -1000, -1000, -1000, -1000, -1000, -406, 1256, 218, - -1000, -131, -1000, -1000, 1968, 59, -1000, 2141, -1000, 2112, - 613, 613, -1000, 867, -406, -1000, -149, -240, -1000, -1000, - -1000, -1000, -1000, 382, 947, -1000, -1000, -1000, -1000, 6657, - -1000, -1000, -1000, 215, 215, -1000, -1000, + 637, -1000, 596, 596, 596, 42284, -1000, -1000, -1000, -1000, + -1000, -1000, 1445, 2053, -1000, 1875, 1864, 2164, 2153, -1000, + 22988, 2009, -1000, -1000, 42284, -289, -1000, 1921, 1880, 604, + 604, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 9672, 2065, + 18154, 1771, 42284, 1523, -1000, 22385, 42284, 42284, 22988, 22988, + 22988, 22988, 22988, -1000, 1819, 1815, -1000, 1813, 1794, 1907, + 42284, -1000, 1502, 1247, 2112, 20571, 334, 18154, 24797, 1333, + 22988, -1000, -1000, 22988, 42284, 9064, -1000, -1000, -20, -37, + -1000, -1000, -1000, -1000, 351, -1000, -1000, 1937, 2033, 1940, + -1000, -1000, -1000, -1000, -1000, 1499, -1000, 1488, 1429, 1486, + 171, -1000, 1659, 1978, 717, 717, -1000, 979, -1000, 1156, + 1144, 1130, -1000, -1000, -1000, 465, -1000, 2014, 42284, 1770, + 1762, 1749, -1000, -399, 977, 1660, 1655, 18154, 1657, 2119, + 1387, 42284, -1000, -1000, 42284, -1000, 226, -1000, 237, 42284, + -1000, -1000, -1000, 307, 42284, -1000, 6020, -1000, -1000, -1000, + 189, -1000, -1000, -1000, -1000, -1000, -1000, 42284, 205, -1000, + 1653, 901, -1000, -1000, 1706, -1000, -1000, -1000, -1000, 174, + 296, 170, 1105, 170, -1000, 42284, 524, 1764, 42284, -1000, + -1000, -1000, 805, 805, -1000, -1000, 1973, -1000, 1156, 1646, + 18757, 18757, -1000, 632, -1000, 1523, 1247, 1647, 1647, -1000, + 1647, 1649, -1000, 1647, 142, 1647, 121, 1647, -1000, -1000, + 1247, 1247, 1409, 1367, -83, -1000, 1128, 18154, -1000, 1795, + 1769, 1646, -1000, 1639, 1624, 18154, 1646, 1646, 1646, -1000, + 1128, 1531, 1765, 1382, -1000, -1000, -1000, -1000, 1421, 1646, + 1650, -287, 1247, 1481, 1481, 1481, 1481, 1481, 1469, 1469, + 1469, 1469, -1000, -1000, 1247, -1000, -1000, 2034, 2034, 2034, + 1443, 42887, 42284, -1000, -1000, -1000, -1000, 2153, 2150, 1415, + -1000, -1000, 76, 406, -1000, 1893, 1880, -1000, 2118, 1913, + 2115, -1000, -1000, -1000, -1000, -1000, 1128, -1000, 1998, 1373, + -1000, 719, 1321, -1000, -1000, 16948, 1467, 1863, 544, 1443, + 1378, 1846, 1724, 1746, 2357, -1000, -1000, -1000, -1000, 1801, + -1000, 1785, -1000, -1000, 1615, -1000, -1000, 1330, 1247, 1641, + 318, 22988, 1376, 1376, -1000, 538, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 864, 5889, 2205, -1000, 1103, -1000, 1013, + 185, 976, -1000, -1000, 717, 717, -1000, 785, 773, -1000, + 42284, 1621, -1000, 362, 1102, 362, 974, -1000, 973, -1000, + -1000, -1000, -1000, 1711, 1775, -1000, -1000, -1000, -1000, 42284, + -1000, -1000, 42284, 42284, 42284, 1620, 2114, -1000, 18154, 1618, + 718, 1761, 42284, 42284, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 416, 717, -357, 287, 286, + 717, 717, 717, -400, -1000, -1000, 1426, 1413, -1000, -150, + -1000, 18154, -1000, -1000, -1000, 955, 955, -1000, 1615, -1000, + -1000, -1000, 1287, -1000, -1000, -131, 42284, 42284, 42284, 42284, + -1000, 919, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 632, 18757, -1000, -1000, 362, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 18154, -1000, + 18154, -1000, 2065, 1100, 1128, 18154, 18154, -1000, 949, 947, + 1646, -1000, -1000, -1000, 1247, 19360, -1000, 19360, -1000, 18154, + 216, 786, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 1523, 1971, 1523, 1523, 24797, -1000, -1000, + 2150, 2147, 2101, 1898, 1905, 1905, 1893, -1000, 2095, 2089, + -1000, 1095, 2083, 1092, 769, -1000, 42284, 18154, 1523, -1000, + 355, 42284, 1523, 42284, -1000, 2130, -1000, -1000, 18154, 1617, + -1000, 18154, -1000, -1000, -1000, -1000, -1000, -1000, 5264, 2153, + 1376, -1000, -1000, 642, -1000, 18154, -1000, -1000, -1000, 4314, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1085, 1079, + -1000, -1000, 1616, 18154, -1000, -1000, -1000, 1279, 1274, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1615, -1000, -1000, + -1000, -1000, 307, -398, 1704, 42284, 931, -1000, 1406, 1387, + 302, 1523, 1077, 717, 717, 717, 904, 895, 29018, 1392, + -1000, 42284, 346, -1000, 307, -1000, -162, -165, 1646, -1000, + -1000, 2032, -1000, -1000, 11496, -1000, -1000, 1591, 1719, -1000, + -1000, -1000, 225, -1000, 1646, 1646, 1247, -1000, 1646, 1646, + 1270, 1265, -1000, -1000, 1382, -1000, 1249, -1000, 216, 1247, + 1742, -1000, -1000, 5264, -1000, 25400, -1000, 2068, 2067, 29621, + 29621, 637, 2147, -1000, 18154, 18154, 1892, 909, -1000, -1000, + -1000, -1000, 1076, 1074, -1000, 1072, -1000, 2203, -1000, 1128, + -1000, 1523, -1000, 536, 1321, -1000, 2065, 1128, 42284, 1128, + 58, 2130, -1000, 1646, -1000, 1523, 1523, 1523, 1523, 1523, + 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, + 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, + 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, -1000, -1000, + 42284, 1625, -1000, -1000, 2030, 1371, 67, -1000, 1369, -1000, + -1000, 492, -1000, 18154, -1000, 29018, 1062, 1061, -1000, -1000, + -1000, -1000, -400, -1000, -1000, -1000, -1000, -1000, -1000, 334, + 1358, -1000, 703, 42284, 42284, 1247, 276, -136, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 18154, -1000, 1247, + 1741, -1000, -246, -1000, 1342, -1000, -1000, -1000, -1000, -1000, + 1342, 1342, -1000, -1000, 1128, 1355, -1000, 898, -1000, -1000, + -1000, -1000, -1000, 42284, 1321, 42284, -1000, 1338, 1247, 1523, + 2065, -1000, 1336, -1000, 334, -1000, 1368, 1655, -1000, -1000, + -1000, 16345, -1000, -1000, -1000, -1000, -1000, 223, -128, 11496, + 8456, 1328, -1000, -1000, 1825, -122, -139, 1531, -1000, -336, + -1000, -1000, 28415, -1000, -1000, -1000, -1000, -1000, 1259, -1000, + -1000, 24797, 41681, -1000, -111, 338, -128, 18154, 1331, 1247, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -8, -1000, + -1000, -1000, -1000, -1000, 1706, -1000, 1799, -1000, 1247, -1000, + -1000, -1000, 1318, -1000, 3090, -245, 1738, -1000, -91, -1000, + -1000, -1000, 859, 928, -1000, -1000, -1000, -1000, -1000, -1000, + 1503, 42284, -1000, 383, -1000, -1000, -131, -134, -1000, -1000, + 41681, -237, 625, 5264, -1000, 1737, 1736, 2160, -1000, -1000, + -1000, -1000, -1000, -1000, -406, 1273, 230, -1000, -137, -1000, + -1000, 2010, 58, -1000, 2201, -1000, 2161, 651, 651, -1000, + 892, -406, -1000, -147, -257, -1000, -1000, -1000, -1000, -1000, + 370, 927, -1000, -1000, -1000, -1000, 5264, -1000, -1000, -1000, + 213, 213, -1000, -1000, } var yyPgo = [...]int{ - 0, 2516, 2515, 31, 5, 37, 36, 2514, 22, 119, - 192, 27, 194, 107, 2511, 2509, 2507, 2506, 2502, 2500, - 2499, 233, 230, 227, 2498, 2497, 2496, 2495, 2494, 2493, - 2492, 2486, 2483, 2482, 224, 175, 189, 2480, 2476, 2475, - 124, 190, 101, 94, 188, 2473, 2471, 88, 2470, 2469, - 2468, 183, 182, 181, 769, 2467, 209, 135, 46, 2466, - 2465, 2464, 2463, 2462, 2461, 2459, 2457, 2456, 2454, 2453, - 2452, 2451, 2447, 2446, 2443, 2441, 200, 2439, 2437, 16, - 2436, 95, 2434, 2431, 2430, 2429, 143, 2425, 2424, 2423, - 28, 2422, 2419, 2418, 2417, 2416, 2415, 2414, 156, 2402, - 2401, 2399, 2398, 191, 2397, 2396, 166, 122, 132, 2394, - 2393, 111, 184, 2392, 138, 2390, 2387, 2386, 162, 2385, - 4403, 2384, 74, 71, 2383, 77, 92, 69, 83, 18, - 3, 2381, 2369, 73, 104, 2365, 117, 75, 2364, 105, - 110, 2363, 2362, 11, 7, 2359, 1, 4, 2, 80, - 2355, 2352, 128, 2351, 2350, 2349, 106, 2348, 2347, 4979, - 2345, 98, 149, 115, 86, 2344, 49, 76, 2343, 2342, - 2340, 2336, 2333, 58, 2332, 2331, 2330, 155, 48, 176, - 40, 43, 52, 148, 2329, 42, 90, 2328, 152, 151, - 2327, 60, 39, 47, 2326, 41, 146, 136, 82, 99, - 147, 2325, 2322, 59, 81, 2319, 2318, 2317, 2316, 2315, - 2314, 79, 2313, 61, 2311, 195, 2299, 35, 2297, 66, - 45, 2293, 65, 125, 78, 25, 2292, 173, 2289, 55, - 174, 144, 171, 2288, 2287, 2285, 2283, 186, 288, 2279, - 2275, 85, 170, 153, 160, 103, 2267, 291, 2264, 2261, - 131, 1273, 1779, 24, 172, 2260, 2257, 3730, 154, 38, - 17, 2256, 134, 2255, 2253, 2252, 193, 178, 126, 992, - 67, 2249, 2248, 13, 2247, 2246, 2242, 2241, 2235, 2234, - 129, 34, 33, 32, 201, 70, 10, 108, 169, 84, - 2233, 2232, 2231, 139, 97, 2230, 168, 167, 142, 164, - 2229, 179, 157, 130, 2228, 210, 30, 2226, 2225, 2223, - 2222, 96, 2220, 2219, 2218, 2217, 165, 159, 140, 91, - 2214, 93, 141, 163, 158, 53, 2212, 44, 2208, 2207, - 29, 180, 26, 2199, 12, 63, 68, 21, 123, 121, - 2198, 0, 2197, 15, 177, 289, 161, 2196, 2189, 6, - 9, 8, 2187, 2186, 2185, 2183, 150, 2182, 2177, 2175, - 2172, 20, 50, 19, 14, 127, 89, 2167, 2165, 4573, - 2403, 145, 2164, 196, + 0, 2603, 2602, 32, 4, 36, 35, 2601, 24, 100, + 191, 31, 203, 105, 2600, 2599, 2598, 2594, 2592, 2588, + 2587, 228, 225, 218, 2585, 2584, 2582, 2575, 2572, 2570, + 2567, 2566, 2564, 2563, 220, 168, 190, 2562, 2561, 2560, + 125, 184, 96, 94, 187, 2559, 2557, 86, 2555, 2554, + 2553, 200, 181, 179, 791, 2551, 183, 131, 45, 2550, + 2548, 2547, 2546, 2545, 2544, 2543, 2542, 2541, 2536, 2535, + 2534, 2533, 2532, 2531, 2530, 2529, 211, 2528, 2527, 14, + 2525, 89, 2524, 2523, 2522, 2521, 133, 2517, 2513, 2511, + 39, 2510, 2507, 2506, 2505, 2504, 2503, 2502, 151, 2501, + 2499, 2498, 170, 195, 2491, 2489, 176, 110, 124, 2488, + 2487, 119, 188, 2482, 132, 2481, 2478, 2477, 164, 2476, + 5675, 2475, 73, 75, 2473, 68, 84, 74, 69, 18, + 20, 2470, 2468, 71, 97, 2463, 108, 76, 2462, 111, + 106, 2460, 2459, 16, 7, 2458, 5, 1, 2, 77, + 2457, 2455, 140, 2454, 2453, 2449, 120, 2446, 2442, 297, + 2439, 103, 145, 101, 82, 2436, 44, 63, 2435, 2431, + 2428, 2422, 2421, 50, 2417, 2415, 2414, 150, 60, 169, + 38, 65, 58, 141, 2413, 30, 90, 2412, 149, 148, + 2411, 52, 42, 53, 2410, 40, 138, 126, 55, 116, + 155, 2409, 2408, 59, 81, 2405, 2403, 2394, 2391, 2389, + 2388, 80, 2387, 49, 2385, 197, 2384, 21, 2383, 61, + 43, 2382, 78, 146, 79, 37, 2381, 194, 2380, 66, + 173, 136, 171, 2379, 2371, 2370, 2368, 189, 280, 2366, + 2365, 172, 177, 157, 161, 95, 2361, 293, 2359, 2356, + 99, 1544, 2216, 28, 174, 2354, 2353, 4263, 156, 41, + 15, 2350, 127, 2349, 2346, 2345, 196, 175, 144, 996, + 67, 2344, 2335, 12, 2334, 2333, 2329, 2327, 2323, 2322, + 129, 34, 33, 29, 199, 92, 9, 107, 165, 83, + 2321, 2320, 2319, 134, 115, 2318, 167, 166, 142, 139, + 2317, 178, 152, 162, 2315, 492, 27, 2314, 2313, 2312, + 2305, 98, 2302, 2298, 2297, 2295, 163, 160, 130, 91, + 2294, 93, 123, 158, 153, 48, 2292, 47, 2274, 2264, + 23, 186, 26, 2263, 11, 70, 88, 22, 121, 135, + 2259, 0, 2249, 13, 182, 292, 159, 2246, 2245, 6, + 8, 10, 2244, 2239, 2237, 2235, 147, 2234, 2233, 2232, + 2231, 19, 46, 17, 3, 118, 85, 2230, 2227, 5251, + 2828, 143, 2226, 192, } //line sql.y:7124 @@ -6784,30 +6891,30 @@ var yyR1 = [...]int{ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - 173, 173, 173, 173, 173, 173, 173, 173, 173, 271, - 271, 337, 337, 336, 336, 335, 335, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 94, - 94, 94, 94, 94, 94, 94, 94, 94, 373, 373, - 284, 284, 284, 284, 175, 175, 175, 175, 175, 101, - 101, 101, 101, 101, 268, 268, 268, 272, 272, 272, - 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, - 270, 270, 270, 270, 270, 189, 189, 97, 97, 187, - 187, 188, 190, 190, 185, 185, 185, 171, 171, 171, - 191, 191, 192, 192, 193, 193, 195, 194, 194, 196, - 197, 197, 197, 198, 198, 199, 199, 199, 47, 47, - 47, 47, 47, 42, 42, 42, 42, 43, 43, 43, - 43, 112, 112, 112, 112, 114, 114, 113, 113, 79, - 79, 80, 80, 80, 118, 118, 119, 119, 119, 116, - 116, 117, 117, 215, 215, 200, 200, 200, 207, 207, - 207, 203, 203, 205, 205, 205, 206, 206, 206, 204, - 212, 212, 214, 214, 213, 213, 209, 209, 210, 210, - 211, 211, 211, 208, 208, 170, 170, 170, 170, 170, - 216, 216, 216, 216, 224, 224, 180, 180, 182, 182, - 181, 135, 225, 225, 229, 226, 226, 230, 230, 230, - 230, 230, 227, 227, 228, 228, 256, 256, 256, 234, - 234, 247, 247, 243, 243, 244, 244, 237, 237, 249, - 249, 249, 74, 179, 179, 322, 322, 319, 252, 252, - 253, 253, 257, 257, 261, 261, 258, 258, 250, 250, + 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, + 271, 271, 337, 337, 336, 336, 335, 335, 95, 95, + 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 373, + 373, 284, 284, 284, 284, 175, 175, 175, 175, 175, + 101, 101, 101, 101, 101, 268, 268, 268, 272, 272, + 272, 270, 270, 270, 270, 270, 270, 270, 270, 270, + 270, 270, 270, 270, 270, 270, 189, 189, 97, 97, + 187, 187, 188, 190, 190, 185, 185, 185, 171, 171, + 171, 191, 191, 192, 192, 193, 193, 195, 194, 194, + 196, 197, 197, 197, 198, 198, 199, 199, 199, 47, + 47, 47, 47, 47, 42, 42, 42, 42, 43, 43, + 43, 43, 112, 112, 112, 112, 114, 114, 113, 113, + 79, 79, 80, 80, 80, 118, 118, 119, 119, 119, + 116, 116, 117, 117, 215, 215, 200, 200, 200, 207, + 207, 207, 203, 203, 205, 205, 205, 206, 206, 206, + 204, 212, 212, 214, 214, 213, 213, 209, 209, 210, + 210, 211, 211, 211, 208, 208, 170, 170, 170, 170, + 170, 216, 216, 216, 216, 224, 224, 180, 180, 182, + 182, 181, 135, 225, 225, 229, 226, 226, 230, 230, + 230, 230, 230, 227, 227, 228, 228, 256, 256, 256, + 234, 234, 247, 247, 243, 243, 244, 244, 237, 237, + 249, 249, 249, 74, 179, 179, 322, 322, 319, 252, + 252, 253, 253, 257, 257, 261, 261, 258, 258, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, @@ -6822,7 +6929,7 @@ var yyR1 = [...]int{ 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, - 250, 250, 250, 250, 250, 251, 251, 251, 251, 251, + 250, 250, 250, 250, 250, 250, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, @@ -6857,8 +6964,8 @@ var yyR1 = [...]int{ 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, - 251, 251, 251, 251, 251, 251, 251, 369, 370, 266, - 267, 267, 267, + 251, 251, 251, 251, 251, 251, 251, 251, 251, 369, + 370, 266, 267, 267, 267, } var yyR2 = [...]int{ @@ -6966,34 +7073,34 @@ var yyR2 = [...]int{ 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 4, 5, 5, 6, 4, 4, 8, 6, 8, 6, 8, 5, 4, - 2, 2, 1, 2, 2, 2, 8, 8, 6, 5, - 4, 4, 4, 4, 4, 7, 4, 6, 6, 6, - 4, 4, 4, 7, 8, 6, 5, 6, 8, 11, - 7, 8, 8, 9, 4, 4, 4, 4, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 4, 0, - 2, 0, 2, 1, 3, 1, 1, 1, 1, 1, + 2, 2, 1, 2, 2, 2, 5, 8, 8, 6, + 5, 4, 4, 4, 4, 4, 7, 4, 6, 6, + 6, 4, 4, 4, 7, 8, 6, 5, 6, 8, + 11, 7, 8, 8, 9, 4, 4, 4, 4, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 4, + 0, 2, 0, 2, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 0, 2, - 0, 2, 3, 3, 4, 4, 4, 4, 4, 0, - 3, 4, 7, 3, 1, 1, 1, 0, 5, 5, - 2, 3, 1, 2, 2, 1, 2, 1, 2, 2, - 1, 2, 2, 1, 1, 0, 1, 0, 2, 1, - 2, 4, 0, 2, 1, 3, 5, 1, 2, 2, - 0, 3, 0, 2, 0, 1, 3, 1, 3, 2, - 0, 1, 1, 0, 1, 2, 4, 4, 0, 2, - 2, 1, 1, 3, 3, 3, 3, 3, 3, 3, - 3, 0, 3, 3, 3, 0, 3, 1, 1, 0, - 4, 0, 1, 1, 0, 3, 1, 3, 2, 1, - 1, 0, 1, 2, 4, 9, 3, 5, 0, 3, - 3, 0, 1, 0, 2, 2, 0, 2, 2, 2, - 0, 2, 1, 2, 3, 3, 0, 2, 1, 2, - 3, 4, 3, 0, 1, 2, 1, 5, 4, 4, - 1, 3, 3, 5, 0, 5, 1, 3, 1, 2, - 3, 1, 1, 3, 3, 1, 3, 3, 3, 3, - 3, 2, 1, 2, 1, 1, 1, 1, 1, 1, - 1, 0, 1, 0, 2, 0, 3, 0, 1, 0, - 1, 1, 5, 0, 1, 0, 1, 2, 1, 1, - 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, + 2, 0, 2, 3, 3, 4, 4, 4, 4, 4, + 0, 3, 4, 7, 3, 1, 1, 1, 0, 5, + 5, 2, 3, 1, 2, 2, 1, 2, 1, 2, + 2, 1, 2, 2, 1, 1, 0, 1, 0, 2, + 1, 2, 4, 0, 2, 1, 3, 5, 1, 2, + 2, 0, 3, 0, 2, 0, 1, 3, 1, 3, + 2, 0, 1, 1, 0, 1, 2, 4, 4, 0, + 2, 2, 1, 1, 3, 3, 3, 3, 3, 3, + 3, 3, 0, 3, 3, 3, 0, 3, 1, 1, + 0, 4, 0, 1, 1, 0, 3, 1, 3, 2, + 1, 1, 0, 1, 2, 4, 9, 3, 5, 0, + 3, 3, 0, 1, 0, 2, 2, 0, 2, 2, + 2, 0, 2, 1, 2, 3, 3, 0, 2, 1, + 2, 3, 4, 3, 0, 1, 2, 1, 5, 4, + 4, 1, 3, 3, 5, 0, 5, 1, 3, 1, + 2, 3, 1, 1, 3, 3, 1, 3, 3, 3, + 3, 3, 2, 1, 2, 1, 1, 1, 1, 1, + 1, 1, 0, 1, 0, 2, 0, 3, 0, 1, + 0, 1, 1, 5, 0, 1, 0, 1, 2, 1, + 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -7043,8 +7150,8 @@ var yyR2 = [...]int{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, - 0, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 0, 0, 1, 1, } var yyChk = [...]int{ @@ -7056,304 +7163,305 @@ var yyChk = [...]int{ -50, 223, 222, 259, 224, 252, 74, 305, 306, 308, 309, 310, 311, -85, 257, 258, 226, 36, 45, 33, 34, 37, 230, 265, 266, 229, -10, -34, 8, -369, - 11, 436, 254, 253, 28, -12, 470, 86, -368, 611, + 11, 436, 254, 253, 28, -12, 471, 86, -368, 612, -215, -200, 22, 33, 29, -199, -195, -103, -200, 20, 18, 7, -76, -372, -76, -76, 12, 13, -76, -307, -309, 86, 156, 86, -76, -55, -54, -52, -51, -53, -56, 31, -45, -46, -331, -44, -41, 225, 222, 269, 120, 121, 259, 260, 261, 224, 243, 258, 262, 257, - 278, -40, 81, 33, 470, 473, -314, 221, 227, 228, - 437, 123, 122, 75, 223, -311, 359, 503, 581, -56, - 583, 102, 104, 582, 44, 233, 584, 585, 586, 510, - 587, 242, 588, 589, 590, 591, 597, 552, 598, 599, - 600, 124, 7, -76, -261, -257, -341, -251, 89, 90, - 91, 467, 245, 501, 502, 294, 81, 41, 356, 359, - 503, 581, 305, 319, 313, 340, 332, 468, 504, 477, - 297, 246, 282, 578, 330, 132, 583, 300, 505, 260, - 364, 365, 506, 366, 102, 308, 403, 596, 299, 507, - 594, 104, 582, 79, 51, 44, 255, 328, 229, 324, - 584, 283, 508, 479, 276, 123, 120, 603, 36, 322, - 50, 30, 593, 122, 49, 585, 147, 509, 586, 510, - 368, 347, 572, 48, 369, 261, 511, 84, 266, 472, - 303, 580, 370, 323, 371, 293, 592, 226, 512, 564, - 372, 373, 573, 513, 348, 352, 514, 395, 374, 610, - 52, 515, 516, 574, 121, 517, 78, 587, 80, 317, - 318, 518, 291, 244, 397, 344, 449, 456, 457, 108, - 109, 452, 110, 458, 111, 459, 460, 461, 450, 112, - 105, 451, 462, 463, 345, 346, 113, 464, 107, 106, - 453, 455, 114, 465, 242, 35, 375, 469, 295, 58, - 270, 398, 46, 350, 607, 45, 568, 519, 571, 343, - 339, 446, 53, 520, 521, 522, 523, 588, 342, 316, - 338, 602, 4, 288, 589, 62, 228, 354, 353, 355, - 277, 394, 335, 524, 525, 526, 249, 82, 527, 325, - 21, 528, 529, 376, 284, 530, 56, 531, 532, 401, - 258, 533, 54, 590, 39, 534, 263, 604, 591, 535, - 536, 537, 538, 265, 539, 378, 540, 377, 349, 351, - 272, 379, 471, 541, 304, 321, 262, 595, 542, 250, - 579, 264, 269, 257, 402, 251, 543, 544, 545, 546, - 547, 298, 563, 548, 549, 309, 597, 447, 43, 550, - 551, 552, 553, 554, 292, 287, 396, 405, 61, 83, - 361, 555, 556, 577, 315, 285, 557, 306, 55, 598, - 599, 600, 279, 601, 9, 608, 609, 381, 124, 289, - 290, 47, 336, 271, 558, 301, 559, 326, 327, 341, - 314, 337, 307, 565, 273, 382, 448, 259, 560, 404, - 286, 357, 362, 302, 475, 278, 383, 576, 474, 334, - 331, 280, 561, 384, 234, 274, 275, 562, 566, 385, - 386, 296, 387, 388, 389, 390, 391, 393, 392, 281, - 473, 312, 329, 363, 417, 418, 419, 420, 421, 422, - 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, - 433, 434, 445, 232, -76, 232, -159, -257, 232, -227, - 365, -248, 367, 380, 375, 385, 373, -239, 376, 378, - 272, -358, 395, 232, 382, 220, 368, 377, 386, 387, - 296, 393, 388, 392, 281, 389, 390, 391, -341, 173, - 586, 601, 132, 333, 372, 370, 396, 568, -257, 307, - -264, 312, -252, -341, -251, 310, -159, -82, 564, 224, - -266, -266, -105, 568, 570, -178, -120, 140, -131, -134, - -125, -126, -172, -173, -174, -175, -132, -185, 162, 163, - 170, 141, -183, -135, 26, 466, 438, 437, 173, 31, - 216, 68, 69, 440, 441, 143, 57, 413, 414, -133, - 408, 415, 410, 443, 444, 115, 445, 105, 107, 106, - 446, 447, 448, 345, 346, 449, 450, 451, 108, 109, - 110, 111, 112, 113, 114, 452, 455, 453, 454, 456, - 457, 458, 463, 464, 459, 460, 461, 462, 465, -252, - -257, 237, 407, 231, 168, 436, -127, -123, -8, -181, - 406, 411, 412, 416, 409, -341, -251, -129, -128, -168, - 92, 98, 103, 99, -364, 116, -369, 93, 94, 95, - 96, 97, 117, 118, 174, 175, 176, 177, 178, 179, - 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, - 210, 211, 212, 213, 214, 215, 44, 381, 381, -159, - -76, -76, -76, -76, -193, -103, -195, -10, -8, -369, - 8, -76, -8, -9, -13, -34, -36, 497, -35, -257, - -200, -215, 12, 158, 42, 50, -198, -199, -12, -8, - -120, 19, 23, 24, -108, 164, -120, -257, -77, -108, - -237, 236, -76, -76, -226, -269, 307, -230, 396, 395, - -253, -228, -252, -250, -227, 394, 225, 23, 476, 139, - 25, 27, 142, 173, 127, 19, 143, 37, 227, 333, - 243, 172, 239, 437, 220, 72, 478, 408, 410, 406, - 413, 439, 440, 407, 367, 31, 13, 480, 28, 253, - 24, 38, 166, 222, 146, 481, 256, 26, 254, 115, - 118, 483, 22, 75, 248, 14, 241, 40, 16, 484, - 485, 17, 237, 236, 158, 233, 70, 11, 216, 29, - 155, 66, 486, 134, 487, 488, 489, 490, 128, 68, - 156, 20, 605, 411, 412, 33, 569, 466, 267, 168, - 73, 59, 570, 140, 409, 491, 492, 116, 493, 119, - 76, 575, 136, 18, 71, 42, 494, 268, 495, 238, - 606, 496, 399, 497, 157, 223, 436, 69, 498, 231, - 380, 8, 442, 32, 252, 240, 126, 67, 499, 232, - 145, 443, 444, 235, 129, 117, 7, 133, 34, 12, - 74, 77, 414, 415, 416, 57, 125, 470, 144, 15, - 500, 400, 138, 132, -308, 156, -294, -298, -252, 247, - -324, 243, -159, -317, -316, -252, -369, -104, -247, 233, - 241, 240, 133, -345, 136, 289, 407, 231, -51, -52, - -53, -227, 172, 585, -86, 264, 268, 87, 87, -298, - -297, -296, -346, 268, 247, -323, -315, 239, 248, -304, - 240, 241, -299, 233, 134, -346, -299, 238, 248, 243, - 247, 268, 268, 124, 268, 124, 268, 268, 268, 268, - 268, 268, 268, 268, 268, 263, -305, 148, -305, 474, - 474, -311, -346, 243, 233, -346, -346, 235, 35, 35, - -249, -299, 235, 25, -305, -305, -305, -227, 172, -305, - -305, -305, -305, 276, 276, -305, -305, -305, -305, -305, + 278, -40, 81, 33, 471, 474, -314, 221, 227, 228, + 437, 123, 122, 75, 223, -311, 359, 504, 582, -56, + 584, 102, 104, 583, 44, 233, 585, 586, 587, 511, + 588, 242, 589, 590, 591, 592, 598, 553, 599, 600, + 601, 124, 7, -76, -261, -257, -341, -251, 89, 90, + 91, 468, 245, 502, 503, 294, 81, 41, 356, 359, + 504, 582, 305, 319, 313, 340, 332, 469, 505, 478, + 297, 246, 282, 579, 330, 132, 584, 300, 506, 260, + 364, 365, 507, 366, 102, 308, 403, 597, 299, 508, + 595, 104, 583, 79, 466, 51, 44, 255, 328, 229, + 324, 585, 283, 509, 480, 276, 123, 120, 604, 36, + 322, 50, 30, 594, 122, 49, 586, 147, 510, 587, + 511, 368, 347, 573, 48, 369, 261, 512, 84, 266, + 473, 303, 581, 370, 323, 371, 293, 593, 226, 513, + 565, 372, 373, 574, 514, 348, 352, 515, 395, 374, + 611, 52, 516, 517, 575, 121, 518, 78, 588, 80, + 317, 318, 519, 291, 244, 397, 344, 449, 456, 457, + 108, 109, 452, 110, 458, 111, 459, 460, 461, 450, + 112, 105, 451, 462, 463, 345, 346, 113, 464, 107, + 106, 453, 455, 114, 465, 242, 35, 375, 470, 295, + 58, 270, 398, 46, 350, 608, 45, 569, 520, 572, + 343, 339, 446, 53, 521, 522, 523, 524, 589, 342, + 316, 338, 603, 4, 288, 590, 62, 228, 354, 353, + 355, 277, 394, 335, 525, 526, 527, 249, 82, 528, + 325, 21, 529, 530, 376, 284, 531, 56, 532, 533, + 401, 258, 534, 54, 591, 39, 535, 263, 605, 592, + 536, 537, 538, 539, 265, 540, 378, 541, 377, 349, + 351, 272, 379, 472, 542, 304, 321, 262, 596, 543, + 250, 580, 264, 269, 257, 402, 251, 544, 545, 546, + 547, 548, 298, 564, 549, 550, 309, 598, 447, 43, + 551, 552, 553, 554, 555, 292, 287, 396, 405, 61, + 83, 361, 556, 557, 578, 315, 285, 558, 306, 55, + 599, 600, 601, 279, 602, 9, 609, 610, 381, 124, + 289, 290, 47, 336, 271, 559, 301, 560, 326, 327, + 341, 314, 337, 307, 566, 273, 382, 448, 259, 561, + 404, 286, 357, 362, 302, 476, 278, 383, 577, 475, + 334, 331, 280, 562, 384, 234, 274, 275, 563, 567, + 385, 386, 296, 387, 388, 389, 390, 391, 393, 392, + 281, 474, 312, 329, 363, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, + 432, 433, 434, 445, 232, -76, 232, -159, -257, 232, + -227, 365, -248, 367, 380, 375, 385, 373, -239, 376, + 378, 272, -358, 395, 232, 382, 220, 368, 377, 386, + 387, 296, 393, 388, 392, 281, 389, 390, 391, -341, + 173, 587, 602, 132, 333, 372, 370, 396, 569, -257, + 307, -264, 312, -252, -341, -251, 310, -159, -82, 565, + 224, -266, -266, -105, 569, 571, -178, -120, 140, -131, + -134, -125, -126, -172, -173, -174, -175, -132, -185, 162, + 163, 170, 141, -183, -135, 26, 467, 438, 437, 173, + 31, 216, 68, 69, 440, 441, 143, 57, 413, 414, + -133, 408, 415, 410, 466, 443, 444, 115, 445, 105, + 107, 106, 446, 447, 448, 345, 346, 449, 450, 451, + 108, 109, 110, 111, 112, 113, 114, 452, 455, 453, + 454, 456, 457, 458, 463, 464, 459, 460, 461, 462, + 465, -252, -257, 237, 407, 231, 168, 436, -127, -123, + -8, -181, 406, 411, 412, 416, 409, -341, -251, -129, + -128, -168, 92, 98, 103, 99, -364, 116, -369, 93, + 94, 95, 96, 97, 117, 118, 174, 175, 176, 177, + 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, + 208, 209, 210, 211, 212, 213, 214, 215, 44, 381, + 381, -159, -76, -76, -76, -76, -193, -103, -195, -10, + -8, -369, 8, -76, -8, -9, -13, -34, -36, 498, + -35, -257, -200, -215, 12, 158, 42, 50, -198, -199, + -12, -8, -120, 19, 23, 24, -108, 164, -120, -257, + -77, -108, -237, 236, -76, -76, -226, -269, 307, -230, + 396, 395, -253, -228, -252, -250, -227, 394, 225, 23, + 477, 139, 25, 27, 142, 173, 127, 19, 143, 37, + 227, 333, 243, 172, 239, 437, 220, 72, 479, 408, + 410, 406, 413, 439, 440, 407, 367, 31, 13, 481, + 28, 253, 24, 38, 166, 222, 146, 482, 256, 26, + 254, 115, 118, 484, 22, 75, 248, 14, 241, 40, + 16, 485, 486, 17, 237, 236, 158, 233, 70, 11, + 216, 29, 155, 66, 487, 134, 488, 489, 490, 491, + 128, 68, 156, 20, 606, 411, 412, 33, 570, 467, + 267, 168, 73, 59, 571, 140, 409, 492, 493, 116, + 494, 119, 76, 576, 136, 18, 71, 42, 495, 268, + 496, 238, 607, 497, 399, 498, 157, 223, 436, 69, + 499, 231, 380, 8, 442, 32, 252, 240, 126, 67, + 500, 232, 145, 443, 444, 235, 129, 117, 7, 133, + 34, 12, 74, 77, 414, 415, 416, 57, 125, 471, + 144, 15, 501, 400, 138, 132, -308, 156, -294, -298, + -252, 247, -324, 243, -159, -317, -316, -252, -369, -104, + -247, 233, 241, 240, 133, -345, 136, 289, 407, 231, + -51, -52, -53, -227, 172, 586, -86, 264, 268, 87, + 87, -298, -297, -296, -346, 268, 247, -323, -315, 239, + 248, -304, 240, 241, -299, 233, 134, -346, -299, 238, + 248, 243, 247, 268, 268, 124, 268, 124, 268, 268, + 268, 268, 268, 268, 268, 268, 268, 263, -305, 148, + -305, 475, 475, -311, -346, 243, 233, -346, -346, 235, + 35, 35, -249, -299, 235, 25, -305, -305, -305, -227, + 172, -305, -305, -305, -305, 276, 276, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, - -305, -305, 232, -345, -112, 392, 296, 81, -54, 278, - -37, -159, -247, 233, 234, -345, 265, -159, 217, -159, - -241, 156, 15, -241, -238, 381, 379, 366, 371, -241, - -241, -241, -241, 279, 364, -300, 233, 35, 244, 381, - 279, 364, 279, 280, 279, 280, 374, 384, 279, -262, - 14, 158, 407, 369, 373, 272, 232, 273, 234, 383, - 280, -262, 93, -242, 156, 381, 275, -241, -241, -267, - -369, -253, 333, -341, 571, -267, -267, 32, 90, 235, - -252, -78, -252, 93, -15, -11, -22, -21, -23, 148, - -110, 381, -98, 173, 586, 572, 573, 574, 571, 378, - 579, 577, 575, 279, 576, 87, 136, 138, 139, 4, - -120, 155, -169, 148, 149, 150, 151, 152, 153, 154, - 158, 140, 142, 156, 157, 137, 159, 160, 161, 162, - 163, 164, 165, 167, 166, 168, 169, 172, 218, 219, - -126, -126, -126, -126, -183, -369, -369, -369, -126, -236, - -369, -126, -369, -369, -369, -369, -189, -120, -369, -373, - -369, -373, -373, -284, -369, -284, -369, -369, -369, -369, + -305, -305, -305, -305, 232, -345, -112, 392, 296, 81, + -54, 278, -37, -159, -247, 233, 234, -345, 265, -159, + 217, -159, -241, 156, 15, -241, -238, 381, 379, 366, + 371, -241, -241, -241, -241, 279, 364, -300, 233, 35, + 244, 381, 279, 364, 279, 280, 279, 280, 374, 384, + 279, -262, 14, 158, 407, 369, 373, 272, 232, 273, + 234, 383, 280, -262, 93, -242, 156, 381, 275, -241, + -241, -267, -369, -253, 333, -341, 572, -267, -267, 32, + 90, 235, -252, -78, -252, 93, -15, -11, -22, -21, + -23, 148, -110, 381, -98, 173, 587, 573, 574, 575, + 572, 378, 580, 578, 576, 279, 577, 87, 136, 138, + 139, 4, -120, 155, -169, 148, 149, 150, 151, 152, + 153, 154, 158, 140, 142, 156, 157, 137, 159, 160, + 161, 162, 163, 164, 165, 167, 166, 168, 169, 172, + 218, 219, -126, -126, -126, -126, -183, -369, -369, -369, + -126, -236, -369, -126, -369, -369, -369, -369, -189, -120, + -369, -373, -369, -373, -373, -284, -369, -284, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, - -369, -369, -369, 217, -369, -369, -369, -369, -369, -284, - -284, -284, -284, -284, 103, 98, 92, -185, 99, 93, - -252, -257, -8, -9, -178, -266, -355, -356, -162, -159, - -369, 296, -252, -252, 265, -198, -12, -8, -193, -199, - -195, -8, -76, -96, -109, 63, 64, -111, 24, 38, - 67, 65, 23, -370, 88, -370, -215, -370, 87, -36, - -219, 86, 61, 43, 93, 93, 87, 21, -194, -196, - -120, 14, -255, 4, -254, 25, -252, 93, 217, 101, - 14, -160, 29, -159, -237, -237, 87, 307, -230, -269, - -232, -231, 397, 399, 148, -256, -252, 93, 31, 88, - 87, -159, -273, -276, -278, -277, -279, -274, -275, 330, - 331, 173, 334, 336, 337, 338, 339, 340, 341, 342, - 343, 344, 347, 32, 255, 326, 327, 328, 329, 348, - 349, 350, 351, 352, 353, 354, 355, 313, 332, 468, - 314, 315, 316, 317, 318, 319, 321, 322, 323, 324, - 325, -344, -341, 86, 88, 87, -280, 86, -120, -112, - 232, -341, 233, 233, 233, -76, 436, -305, -305, -305, - 263, 19, -44, -41, -331, 18, -40, -41, 225, 120, - 121, 222, 86, -294, 86, -303, -344, -341, 86, 134, - 238, 133, -302, -299, -302, -303, -341, -185, -341, 134, - 134, -341, -341, -223, -252, -223, -223, 23, -223, 23, - -223, 23, 95, -252, -223, 23, -223, 23, -223, 23, - -223, 23, -223, 23, 31, 78, 79, 80, 31, 82, - 83, 84, -185, -341, -341, -185, -294, -227, -159, -341, - 95, 95, 95, -305, -305, 95, 93, 93, 93, -305, - -305, 95, 93, -259, -257, 93, 93, -347, 249, 293, - 295, 95, 95, 95, 95, 31, 93, -348, 31, 593, - 592, 594, 595, 596, 93, 95, 31, 95, 31, 95, - -252, 86, -159, -118, 283, 220, 222, 225, 76, 93, - 297, 301, 302, 148, 44, 87, 235, 232, -341, -243, - 237, -243, -252, -258, -257, -250, 93, -120, -301, 14, - 158, -262, -262, -241, -159, -301, -262, -241, -159, -241, - -241, -241, -241, -262, -262, -262, -241, -257, -257, -159, - -159, -159, -159, -159, -159, -159, -267, -242, -241, 571, - 93, -235, 14, 76, -267, -267, -265, 310, 344, 565, - 566, 567, 87, 470, -152, -159, 571, 571, 571, 571, - 571, 571, -120, -120, -120, -120, 493, -176, 116, 140, - 117, 118, -134, -177, -181, -183, 100, 158, 142, 156, - 157, -125, -126, -125, -125, -125, -125, -125, -125, -125, - -125, -125, -125, -125, -125, -125, -268, -252, 93, 173, - -130, -129, 99, -364, -130, -106, -108, -120, -120, -341, - -252, -106, -106, -120, -102, 24, 38, -187, -188, 144, - -185, -370, -370, 95, 99, -252, -252, -95, -94, 418, - 419, 420, 421, 423, 424, 425, 428, 429, 433, 434, - 417, 435, 422, 427, 430, 431, 432, 426, 329, -120, - -120, -120, -120, -120, -120, -83, -120, 127, 128, 129, - -120, -120, -179, -178, -340, -339, -338, -120, -120, -120, + -369, -369, -369, -369, -369, -369, 217, -369, -369, -369, + -369, -369, -284, -284, -284, -284, -284, 103, 98, 92, + -185, 99, 93, -252, -257, -8, -9, -178, -266, -355, + -356, -162, -159, -369, 296, -252, -252, 265, -198, -12, + -8, -193, -199, -195, -8, -76, -96, -109, 63, 64, + -111, 24, 38, 67, 65, 23, -370, 88, -370, -215, + -370, 87, -36, -219, 86, 61, 43, 93, 93, 87, + 21, -194, -196, -120, 14, -255, 4, -254, 25, -252, + 93, 217, 101, 14, -160, 29, -159, -237, -237, 87, + 307, -230, -269, -232, -231, 397, 399, 148, -256, -252, + 93, 31, 88, 87, -159, -273, -276, -278, -277, -279, + -274, -275, 330, 331, 173, 334, 336, 337, 338, 339, + 340, 341, 342, 343, 344, 347, 32, 255, 326, 327, + 328, 329, 348, 349, 350, 351, 352, 353, 354, 355, + 313, 332, 469, 314, 315, 316, 317, 318, 319, 321, + 322, 323, 324, 325, -344, -341, 86, 88, 87, -280, + 86, -120, -112, 232, -341, 233, 233, 233, -76, 436, + -305, -305, -305, 263, 19, -44, -41, -331, 18, -40, + -41, 225, 120, 121, 222, 86, -294, 86, -303, -344, + -341, 86, 134, 238, 133, -302, -299, -302, -303, -341, + -185, -341, 134, 134, -341, -341, -223, -252, -223, -223, + 23, -223, 23, -223, 23, 95, -252, -223, 23, -223, + 23, -223, 23, -223, 23, -223, 23, 31, 78, 79, + 80, 31, 82, 83, 84, -185, -341, -341, -185, -294, + -227, -159, -341, 95, 95, 95, -305, -305, 95, 93, + 93, 93, -305, -305, 95, 93, -259, -257, 93, 93, + -347, 249, 293, 295, 95, 95, 95, 95, 31, 93, + -348, 31, 594, 593, 595, 596, 597, 93, 95, 31, + 95, 31, 95, -252, 86, -159, -118, 283, 220, 222, + 225, 76, 93, 297, 301, 302, 148, 44, 87, 235, + 232, -341, -243, 237, -243, -252, -258, -257, -250, 93, + -120, -301, 14, 158, -262, -262, -241, -159, -301, -262, + -241, -159, -241, -241, -241, -241, -262, -262, -262, -241, + -257, -257, -159, -159, -159, -159, -159, -159, -159, -267, + -242, -241, 572, 93, -235, 14, 76, -267, -267, -265, + 310, 344, 566, 567, 568, 87, 471, -152, -159, 572, + 572, 572, 572, 572, 572, -120, -120, -120, -120, 494, + -176, 116, 140, 117, 118, -134, -177, -181, -183, 100, + 158, 142, 156, 157, -125, -126, -125, -125, -125, -125, + -125, -125, -125, -125, -125, -125, -125, -125, -125, -268, + -252, 93, 173, -130, -129, 99, -364, -130, -106, -108, + -120, -120, -341, -252, -106, -106, -120, -102, 24, 38, + -187, -188, 144, -185, -370, -370, 95, 99, -102, -252, + -252, -95, -94, 418, 419, 420, 421, 423, 424, 425, + 428, 429, 433, 434, 417, 435, 422, 427, 430, 431, + 432, 426, 329, -120, -120, -120, -120, -120, -120, -83, + -120, 127, 128, 129, -120, -120, -179, -178, -340, -339, + -338, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, - -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, - -107, 24, 38, -106, -253, -258, -250, -106, -107, -107, - -106, -106, 217, -215, -370, 87, -357, 399, 400, 569, - -260, 268, -259, 25, -179, 93, 14, -221, 77, -252, - -198, -198, 63, 64, 59, -106, -111, -370, -35, 25, - -217, -252, 62, 93, -285, -227, 356, 357, 173, -120, - -120, 87, -197, 27, 28, -159, -254, 164, -258, -159, - -222, 268, -159, -137, -139, -140, -141, -162, -184, -369, - -142, 489, 486, 14, -152, -153, -161, -257, -230, -232, - 87, 398, 400, 401, 76, 119, -120, -286, 172, -313, - -312, -311, -294, -296, -297, -298, 88, -286, -290, 362, - 361, -280, -280, -280, -280, -280, -285, -285, -285, -285, - 86, 86, -280, -280, -280, -280, -288, 86, -288, -288, - -289, 86, -289, -324, -120, -321, -320, -318, -319, 242, - 102, 562, 518, 470, 510, 552, 77, -316, -197, 95, - -370, -118, -244, 237, -322, -319, -341, -341, -341, -244, - -341, 93, -341, 93, -341, 93, -87, -58, -1, 605, - 606, 607, 87, 19, -295, -294, -57, 293, -327, -328, - 268, -323, -317, -303, 134, -302, -303, -303, -341, 87, - 29, 124, 124, 124, 124, 470, 222, 32, -245, 509, - 140, 562, 518, -294, -57, -268, 235, -268, -268, 93, - 93, -240, 601, -152, -114, 285, 148, 274, 274, 232, - 232, 287, -159, 298, 300, 299, 297, 301, 302, 23, - 23, 23, 286, 288, 290, 276, -159, -159, -243, 76, - -154, -159, 26, -257, -159, -241, -241, -159, -241, -241, - -159, -252, -98, 399, 87, 470, 22, -99, 22, -369, - 116, 117, 118, -177, -125, -126, -125, 139, 256, 87, - -370, 25, 87, 77, -370, -370, -370, 87, 14, -106, - -190, -188, 146, -120, -370, -370, -370, 87, 87, 14, - -272, 25, -370, -370, -370, -370, -370, -189, -370, 14, - 87, 87, -370, -370, 87, 87, -370, 87, 87, 87, - -337, 87, 87, 87, 87, -370, -370, -370, -370, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, -370, - -370, -106, -106, -369, 217, -370, -370, -370, -370, -370, - -253, -356, 568, 400, -166, -165, -163, 74, 236, 75, - -369, -259, -370, -130, 90, -218, 90, -217, -171, -252, - 95, 99, -200, -136, -138, 14, -111, -183, 88, 87, - -285, -204, -209, -238, -252, 93, 173, -287, 173, -287, - 356, 357, -196, 217, -167, 15, -170, 32, 57, -11, - -369, -369, 32, 87, -155, -157, -156, -158, 66, 70, - 72, 67, 68, 69, 73, -263, 25, -137, -9, -8, - -369, -369, -369, -159, -152, -371, 14, 77, -371, 87, - 217, -231, -233, 402, 399, 405, -341, 93, -86, 87, - -311, -298, -201, -115, 40, -291, 363, -285, 477, -285, - -293, 93, -293, 95, 95, 88, -47, -42, -43, 33, - 81, -318, -305, 93, 39, -305, -305, -252, 88, -197, - -114, -159, 140, 76, -322, -322, -322, -257, -2, 604, - 610, 134, 86, 366, 18, -217, 87, 88, -186, 294, - 88, -88, -252, 88, 86, -303, -303, -252, -369, 232, - 31, 31, 562, 518, 509, -57, -186, -286, -341, 603, - 602, 88, 234, 292, -119, 413, -116, 93, 89, -159, - -159, -159, -159, -159, 225, 222, -365, 303, -365, 277, - 235, -152, -159, 87, -81, 251, 246, -262, -262, 33, - -159, 399, 580, 578, -120, 139, 256, -134, -126, -108, - 467, -270, 173, 330, 255, 328, 324, 344, 335, 361, - 326, 362, 323, 322, 321, -270, -268, -120, -120, -193, - 147, -120, 145, -120, -120, -120, -370, 173, 330, 14, - -120, -120, -120, -338, -120, -120, -120, -336, -335, -130, - -185, -370, -336, -120, -120, -335, -335, -339, -339, -339, - -339, -339, -178, -178, -178, -178, -370, -370, -107, -253, - -163, -299, -299, -299, -223, 87, -234, 22, 14, 57, - 57, -136, -167, -137, -111, -252, -207, 564, -212, 46, - -210, -211, 47, -208, 48, 56, -287, -287, 164, -198, - -120, -224, 76, -225, -229, -185, -180, -182, -181, -369, - -216, -370, -252, -223, -225, -139, -140, -140, -139, -140, - 66, 66, 66, 71, 66, 71, 66, -156, -257, -370, - -370, -9, -9, -120, -260, 77, -137, -137, -161, -257, - 164, 399, 403, 404, -311, -363, 116, 140, 31, 76, - 359, 102, -361, 172, 506, 557, 562, 518, 510, 552, - -362, 238, 133, 134, 250, 25, 41, 88, 87, 88, - 87, 88, 87, -246, -245, -43, -42, -305, -305, 95, - -341, 93, 93, 234, 26, -159, 76, 76, 76, -89, - 608, 95, 86, -3, 81, -120, 86, 19, -294, -185, - -329, -281, -330, -282, -283, -5, -6, -306, -92, 57, - 102, -61, 44, 233, 588, 589, 124, -369, 601, -321, - -217, -325, -327, -159, -122, -369, -121, -123, -127, 162, - 163, -186, -159, -113, 283, 291, 86, -117, 90, -343, - 77, 274, 359, 274, -366, 304, 93, -366, -159, -81, - -47, -159, -241, -241, 33, -341, -370, -134, -126, -369, - -370, -280, -280, -280, -289, -280, 318, -280, 318, -280, - -370, -370, 87, -370, 22, -370, -97, 442, -120, 87, - 87, -370, 86, 86, -120, -370, -370, -370, -337, 87, - -370, 87, -370, 87, -271, 563, -370, -370, -370, -370, - -370, -370, -370, -370, -370, -370, -370, -164, 22, -164, - -164, -370, 90, -159, -167, -191, 16, -204, 51, 336, - -214, -213, 55, 47, -211, 19, 49, 19, 30, -224, - 87, 148, 87, -370, -370, 87, 57, 217, -370, -167, - -150, -149, 76, 77, -151, 76, -149, 66, 66, -219, - -370, -370, 87, -222, -137, -167, -167, 217, 116, -369, - -124, -133, -122, 12, 93, 93, -341, -360, 592, 593, - 31, 95, -305, -305, 134, 134, -159, 86, -285, 93, - -285, 95, 95, 31, 82, 83, 84, 31, 78, 79, - 80, -159, -159, -159, -159, -326, 86, 19, -120, 86, - 148, 88, -217, -217, 270, 158, -305, 586, 276, 276, - -305, -305, -305, -91, -90, 608, 88, -370, 87, -292, - 470, 473, -120, -128, -128, -219, 88, -334, 470, -342, - -252, -252, -252, -252, 95, 97, -125, -285, -120, -120, - -198, 93, -120, -120, 95, 95, -370, -370, -336, -335, - -120, -370, -147, -146, -148, 572, 116, 31, -270, -369, - 66, 18, 16, -369, -369, -260, -191, -192, 17, 19, - -205, 53, -203, 52, -203, -213, 19, 19, 93, 19, - 93, 134, -229, -120, -182, 57, -11, -252, -180, -252, - -193, -120, 86, -120, -130, -167, -167, -120, -173, 445, - 105, 107, 106, 446, 447, 448, 345, 346, 449, 450, - 451, 108, 109, 110, 111, 112, 113, 114, 452, 455, - 453, 456, 457, 458, 463, 464, 459, 460, 461, 462, - 465, 93, 93, 86, -120, 88, 88, -219, -325, -58, - 88, -217, 95, 88, 271, -181, -369, 93, -305, -305, - -305, 95, 95, -259, -370, 87, -252, -362, -327, 474, - 474, -370, 25, -333, -332, -253, 86, 77, -101, 158, - 470, -370, -370, -370, -370, -370, 88, 88, -370, -370, - 87, -370, -146, -148, -370, 76, -130, -220, -370, -252, - 238, 19, 19, -220, -220, -166, -192, -120, -178, -206, - 54, 76, 119, 93, 93, 93, 12, -180, 217, -198, - -217, -144, 366, -193, -370, -217, 88, 25, 88, 610, - 134, 88, -181, -100, -369, 267, -259, 93, 93, -90, - -93, -11, 87, 148, -217, -159, -370, 468, 73, 471, - -120, -370, 76, 481, 572, 87, -370, -370, -370, 76, - 119, -225, -252, 88, -370, -369, -198, 88, -202, -11, - 86, -3, 267, -281, -330, -282, -283, -5, -6, -306, - -79, 470, -332, -310, -253, 93, 95, 88, 62, 469, - 472, -337, -252, 238, -260, -145, -143, -252, 524, -353, - -352, 466, -363, -359, 116, 140, 102, -361, 562, 518, - 125, 126, -79, -120, 86, -370, -80, 282, 568, -343, - 62, -370, -370, 87, 22, -273, -60, 535, -350, -351, - 76, -354, 372, 534, 555, 116, 93, 88, -217, 243, - -334, 470, -143, 531, -286, -130, -351, 76, -350, 76, - 13, 12, -4, 609, 88, 284, 471, -59, 26, -144, - -349, 251, 246, 249, 32, -349, 95, -4, 472, 535, - 245, 31, 116, -130, -147, -146, -146, + -120, -120, -120, -120, -107, 24, 38, -106, -253, -258, + -250, -106, -107, -107, -106, -106, 217, -215, -370, 87, + -357, 399, 400, 570, -260, 268, -259, 25, -179, 93, + 14, -221, 77, -252, -198, -198, 63, 64, 59, -106, + -111, -370, -35, 25, -217, -252, 62, 93, -285, -227, + 356, 357, 173, -120, -120, 87, -197, 27, 28, -159, + -254, 164, -258, -159, -222, 268, -159, -137, -139, -140, + -141, -162, -184, -369, -142, 490, 487, 14, -152, -153, + -161, -257, -230, -232, 87, 398, 400, 401, 76, 119, + -120, -286, 172, -313, -312, -311, -294, -296, -297, -298, + 88, -286, -290, 362, 361, -280, -280, -280, -280, -280, + -285, -285, -285, -285, 86, 86, -280, -280, -280, -280, + -288, 86, -288, -288, -289, 86, -289, -324, -120, -321, + -320, -318, -319, 242, 102, 563, 519, 471, 511, 553, + 77, -316, -197, 95, -370, -118, -244, 237, -322, -319, + -341, -341, -341, -244, -341, 93, -341, 93, -341, 93, + -87, -58, -1, 606, 607, 608, 87, 19, -295, -294, + -57, 293, -327, -328, 268, -323, -317, -303, 134, -302, + -303, -303, -341, 87, 29, 124, 124, 124, 124, 471, + 222, 32, -245, 510, 140, 563, 519, -294, -57, -268, + 235, -268, -268, 93, 93, -240, 602, -152, -114, 285, + 148, 274, 274, 232, 232, 287, -159, 298, 300, 299, + 297, 301, 302, 23, 23, 23, 286, 288, 290, 276, + -159, -159, -243, 76, -154, -159, 26, -257, -159, -241, + -241, -159, -241, -241, -159, -252, -98, 399, 87, 471, + 22, -99, 22, -369, 116, 117, 118, -177, -125, -126, + -125, 139, 256, 87, -370, 25, 87, 77, -370, -370, + -370, 87, 14, -106, -190, -188, 146, -120, -370, -370, + -370, -120, 87, 87, 14, -272, 25, -370, -370, -370, + -370, -370, -189, -370, 14, 87, 87, -370, -370, 87, + 87, -370, 87, 87, 87, -337, 87, 87, 87, 87, + -370, -370, -370, -370, 87, 87, 87, 87, 87, 87, + 87, 87, 87, 87, -370, -370, -106, -106, -369, 217, + -370, -370, -370, -370, -370, -253, -356, 569, 400, -166, + -165, -163, 74, 236, 75, -369, -259, -370, -130, 90, + -218, 90, -217, -171, -252, 95, 99, -200, -136, -138, + 14, -111, -183, 88, 87, -285, -204, -209, -238, -252, + 93, 173, -287, 173, -287, 356, 357, -196, 217, -167, + 15, -170, 32, 57, -11, -369, -369, 32, 87, -155, + -157, -156, -158, 66, 70, 72, 67, 68, 69, 73, + -263, 25, -137, -9, -8, -369, -369, -369, -159, -152, + -371, 14, 77, -371, 87, 217, -231, -233, 402, 399, + 405, -341, 93, -86, 87, -311, -298, -201, -115, 40, + -291, 363, -285, 478, -285, -293, 93, -293, 95, 95, + 88, -47, -42, -43, 33, 81, -318, -305, 93, 39, + -305, -305, -252, 88, -197, -114, -159, 140, 76, -322, + -322, -322, -257, -2, 605, 611, 134, 86, 366, 18, + -217, 87, 88, -186, 294, 88, -88, -252, 88, 86, + -303, -303, -252, -369, 232, 31, 31, 563, 519, 510, + -57, -186, -286, -341, 604, 603, 88, 234, 292, -119, + 413, -116, 93, 89, -159, -159, -159, -159, -159, 225, + 222, -365, 303, -365, 277, 235, -152, -159, 87, -81, + 251, 246, -262, -262, 33, -159, 399, 581, 579, -120, + 139, 256, -134, -126, -108, 468, -270, 173, 330, 255, + 328, 324, 344, 335, 361, 326, 362, 323, 322, 321, + -270, -268, -120, -120, -193, 147, -120, 145, -370, -120, + -120, -120, -370, 173, 330, 14, -120, -120, -120, -338, + -120, -120, -120, -336, -335, -130, -185, -370, -336, -120, + -120, -335, -335, -339, -339, -339, -339, -339, -178, -178, + -178, -178, -370, -370, -107, -253, -163, -299, -299, -299, + -223, 87, -234, 22, 14, 57, 57, -136, -167, -137, + -111, -252, -207, 565, -212, 46, -210, -211, 47, -208, + 48, 56, -287, -287, 164, -198, -120, -224, 76, -225, + -229, -185, -180, -182, -181, -369, -216, -370, -252, -223, + -225, -139, -140, -140, -139, -140, 66, 66, 66, 71, + 66, 71, 66, -156, -257, -370, -370, -9, -9, -120, + -260, 77, -137, -137, -161, -257, 164, 399, 403, 404, + -311, -363, 116, 140, 31, 76, 359, 102, -361, 172, + 507, 558, 563, 519, 511, 553, -362, 238, 133, 134, + 250, 25, 41, 88, 87, 88, 87, 88, 87, -246, + -245, -43, -42, -305, -305, 95, -341, 93, 93, 234, + 26, -159, 76, 76, 76, -89, 609, 95, 86, -3, + 81, -120, 86, 19, -294, -185, -329, -281, -330, -282, + -283, -5, -6, -306, -92, 57, 102, -61, 44, 233, + 589, 590, 124, -369, 602, -321, -217, -325, -327, -159, + -122, -369, -121, -123, -127, 162, 163, -186, -159, -113, + 283, 291, 86, -117, 90, -343, 77, 274, 359, 274, + -366, 304, 93, -366, -159, -81, -47, -159, -241, -241, + 33, -341, -370, -134, -126, -369, -370, -280, -280, -280, + -289, -280, 318, -280, 318, -280, -370, -370, 87, -370, + 22, -370, -97, 442, -120, 87, 87, -370, 86, 86, + -120, -370, -370, -370, -337, 87, -370, 87, -370, 87, + -271, 564, -370, -370, -370, -370, -370, -370, -370, -370, + -370, -370, -370, -164, 22, -164, -164, -370, 90, -159, + -167, -191, 16, -204, 51, 336, -214, -213, 55, 47, + -211, 19, 49, 19, 30, -224, 87, 148, 87, -370, + -370, 87, 57, 217, -370, -167, -150, -149, 76, 77, + -151, 76, -149, 66, 66, -219, -370, -370, 87, -222, + -137, -167, -167, 217, 116, -369, -124, -133, -122, 12, + 93, 93, -341, -360, 593, 594, 31, 95, -305, -305, + 134, 134, -159, 86, -285, 93, -285, 95, 95, 31, + 82, 83, 84, 31, 78, 79, 80, -159, -159, -159, + -159, -326, 86, 19, -120, 86, 148, 88, -217, -217, + 270, 158, -305, 587, 276, 276, -305, -305, -305, -91, + -90, 609, 88, -370, 87, -292, 471, 474, -120, -128, + -128, -219, 88, -334, 471, -342, -252, -252, -252, -252, + 95, 97, -125, -285, -120, -120, -198, 93, -120, -120, + 95, 95, -370, -370, -336, -335, -120, -370, -147, -146, + -148, 573, 116, 31, -270, -369, 66, 18, 16, -369, + -369, -260, -191, -192, 17, 19, -205, 53, -203, 52, + -203, -213, 19, 19, 93, 19, 93, 134, -229, -120, + -182, 57, -11, -252, -180, -252, -193, -120, 86, -120, + -130, -167, -167, -120, -173, 466, 445, 105, 107, 106, + 446, 447, 448, 345, 346, 449, 450, 451, 108, 109, + 110, 111, 112, 113, 114, 452, 455, 453, 456, 457, + 458, 463, 464, 459, 460, 461, 462, 465, 93, 93, + 86, -120, 88, 88, -219, -325, -58, 88, -217, 95, + 88, 271, -181, -369, 93, -305, -305, -305, 95, 95, + -259, -370, 87, -252, -362, -327, 475, 475, -370, 25, + -333, -332, -253, 86, 77, -101, 158, 471, -370, -370, + -370, -370, -370, 88, 88, -370, -370, 87, -370, -146, + -148, -370, 76, -130, -220, -370, -252, 238, 19, 19, + -220, -220, -166, -192, -120, -178, -206, 54, 76, 119, + 93, 93, 93, 12, -180, 217, -198, -217, -144, 366, + -193, -370, -217, 88, 25, 88, 611, 134, 88, -181, + -100, -369, 267, -259, 93, 93, -90, -93, -11, 87, + 148, -217, -159, -370, 469, 73, 472, -120, -370, 76, + 482, 573, 87, -370, -370, -370, 76, 119, -225, -252, + 88, -370, -369, -198, 88, -202, -11, 86, -3, 267, + -281, -330, -282, -283, -5, -6, -306, -79, 471, -332, + -310, -253, 93, 95, 88, 62, 470, 473, -337, -252, + 238, -260, -145, -143, -252, 525, -353, -352, 467, -363, + -359, 116, 140, 102, -361, 563, 519, 125, 126, -79, + -120, 86, -370, -80, 282, 569, -343, 62, -370, -370, + 87, 22, -273, -60, 536, -350, -351, 76, -354, 372, + 535, 556, 116, 93, 88, -217, 243, -334, 471, -143, + 532, -286, -130, -351, 76, -350, 76, 13, 12, -4, + 610, 88, 284, 472, -59, 26, -144, -349, 251, 246, + 249, 32, -349, 95, -4, 473, 536, 245, 31, 116, + -130, -147, -146, -146, } var yyDef = [...]int{ @@ -7362,307 +7470,308 @@ var yyDef = [...]int{ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 68, 70, 71, 827, 827, 827, 0, 827, 0, 0, 827, -2, -2, 827, - 1314, 0, 827, 0, 0, -2, 759, 761, 0, 763, - -2, 0, 0, 772, 1819, 1819, 822, 0, 0, 0, - 0, 0, 827, 827, 827, 827, 1174, 48, 827, 0, - 83, 84, 778, 779, 780, 63, 0, 1817, 1, 3, - 69, 73, 0, 0, 0, 56, 1183, 0, 76, 0, - 0, 831, 0, 829, 0, 1297, 827, 827, 0, 114, + 1315, 0, 827, 0, 0, -2, 759, 761, 0, 763, + -2, 0, 0, 772, 1821, 1821, 822, 0, 0, 0, + 0, 0, 827, 827, 827, 827, 1175, 48, 827, 0, + 83, 84, 778, 779, 780, 63, 0, 1819, 1, 3, + 69, 73, 0, 0, 0, 56, 1184, 0, 76, 0, + 0, 831, 0, 829, 0, 1298, 827, 827, 0, 114, 115, 0, 0, 0, -2, 118, -2, 147, 148, 149, 0, 154, 573, 501, 552, 499, 537, -2, 487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 504, 377, 377, 0, 0, -2, 487, 487, 487, - 0, 0, 0, 534, 1299, 439, 377, 377, 377, 0, + 0, 0, 0, 534, 1300, 439, 377, 377, 377, 0, 377, 377, 377, 377, 0, 0, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, - 377, 377, 377, 1201, 153, 1315, 1312, 1313, 38, 39, - 40, 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1473, - 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, - 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, - 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, - 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513, - 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, - 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, - 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, - 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553, - 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563, - 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, - 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, - 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, - 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, - 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, - 1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, - 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, - 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, - 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, - 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, - 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, - 1674, 1675, 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, - 1684, 1685, 1686, 1687, 1688, 1689, 1690, 1691, 1692, 1693, - 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, - 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713, - 1714, 1715, 1716, 1717, 1718, 1719, 1720, 1721, 1722, 1723, - 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, - 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, - 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753, - 1754, 1755, 1756, 1757, 1758, 1759, 1760, 1761, 1762, 1763, - 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, - 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1782, 1783, - 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793, - 1794, 1795, 1796, 1797, 1798, 1799, 1800, 1801, 1802, 1803, - 1804, 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813, - 1814, 1815, 1816, 0, 1291, 0, 686, 928, 0, 748, - 748, 0, 748, 748, 748, 748, 0, 0, 0, 698, - 0, 0, 0, 0, 745, 0, 714, 715, 0, 745, - 0, 721, 751, 0, 726, 748, 748, 729, 1820, 0, - 1820, 1820, 1282, 0, 742, 740, 754, 755, 758, 762, - 0, 767, 770, 1308, 1309, 0, 785, 47, 1553, 777, - 790, 791, 0, 823, 824, 43, 1025, 0, 950, 955, - 966, 979, 980, 981, 982, 983, 985, 986, 0, 0, - 0, 0, 991, 992, 0, 0, 0, 0, 0, 1006, - 0, 0, 0, 0, 0, 1155, 0, 1118, 1118, 1042, - 1118, 1120, 1120, 0, 0, 0, 1816, 1594, 1602, 1603, - 1625, 1711, 1760, 1598, 1599, 1580, 1592, 1595, 1583, 1584, - 1586, 1588, 1593, 1600, 1606, 1585, 1605, 1604, 0, 1581, - 1582, 1587, 1597, 1601, 1589, 1590, 1591, 1596, 1607, 1164, - 0, 0, 0, 0, 0, 0, 273, 274, 1024, 1271, - 1120, 1120, 1120, 1120, 1120, -2, -2, 219, 220, 221, - 222, 223, 224, 225, 0, 215, 0, 278, 279, 275, - 276, 277, 1008, 1009, 231, 232, 233, 234, 235, 236, - 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, 1819, 0, 800, 0, - 0, 0, 0, 0, 1183, 0, 1175, 1174, 61, 0, - 827, -2, 0, 0, 0, 0, 45, 0, 50, 887, - 75, 74, 1223, 0, 0, 0, 57, 1184, 65, 67, - 1185, 0, 832, 833, 0, 863, 867, 0, 828, 0, - 0, 1298, 1297, 1297, 100, 0, 1756, 1275, -2, -2, - 0, 0, 1310, 1311, 1284, -2, 1318, 1319, 1320, 1321, - 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, - 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, - 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, - 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, - 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, - 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, - 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, - 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, - 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, - 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421, - 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, - 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, - 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, - 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, - 1462, 1463, 1464, -2, 0, 0, 165, 166, 0, 41, - 404, 0, 161, 0, 397, 338, 0, 1201, 0, 0, - 0, 0, 0, 827, 0, 1292, 142, 143, 150, 151, - 152, 377, 377, 377, 549, 0, 0, 153, 153, 508, - 509, 510, 0, 0, -2, 402, 0, 488, 0, 0, - 391, 391, 395, 393, 394, 0, 0, 0, 0, 0, - 0, 0, 0, 526, 0, 527, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 634, 0, 378, 0, 547, - 548, 440, 0, 0, 0, 0, 0, 0, 524, 525, - 0, 0, 1300, 1301, 0, 0, 0, 377, 377, 0, - 0, 0, 0, 377, 377, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 141, 1214, 0, 0, 0, -2, 0, - 678, 0, 0, 0, 1293, 1293, 0, 685, 0, 687, - 688, 0, 0, 689, 0, 745, 745, 743, 744, 691, - 692, 693, 694, 748, 0, 0, 386, 387, 388, 745, - 748, 0, 748, 748, 748, 748, 745, 745, 745, 748, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1820, - 751, 748, 0, 722, 0, 723, 724, 727, 728, 730, - 1821, 1822, 1331, 1820, 1820, 734, 738, 1283, 760, 768, - 771, 788, 786, 787, 789, 781, 782, 783, 784, 0, - 802, 803, 808, 0, 0, 0, 0, 814, 815, 816, - 0, 0, 819, 820, 821, 0, 0, 0, 0, 0, - 948, 0, 0, 1014, 1015, 1016, 1017, 1018, 1019, 1020, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 987, 988, 989, 990, 993, 0, 0, 0, 998, 999, - 0, 0, 0, 0, 0, 837, 0, 1156, 0, 1040, - 0, 1041, 1043, 1044, 0, 1045, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1303, 129, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 847, 0, 0, 847, 847, 0, 0, 208, - 209, 210, 211, 212, 226, 227, 228, 229, 230, 280, - 1164, 0, 1024, 0, 0, 44, 792, 793, 0, 911, - 1303, 0, 0, 843, 0, 55, 64, 66, 1183, 59, - 1183, 0, 849, 0, 0, -2, -2, 850, 856, 857, - 858, 859, 860, 52, 1818, 53, 0, 72, 0, 46, - 0, 0, 0, 0, 350, 1226, 0, 0, 1176, 1177, - 1180, 0, 864, 1636, 868, 0, 870, 871, 0, 830, - 0, 98, 0, 927, 0, 0, 0, 1756, 1281, 0, - 102, 103, 0, 0, 0, 361, 1286, 1287, 1288, -2, - 384, 0, 361, 345, 288, 289, 290, 338, 292, 338, - 338, 338, 338, 350, 350, 350, 350, 321, 322, 323, - 324, 325, 0, 0, 307, 338, 338, 338, 338, 328, - 329, 330, 331, 332, 333, 334, 335, 293, 294, 295, - 296, 297, 298, 299, 300, 301, 340, 340, 340, 342, - 342, 0, 42, 0, 365, 0, 1180, 0, 0, 1214, - 1295, 1305, 0, 0, 0, 1295, 120, 0, 0, 0, - 550, 584, 502, 538, 551, 0, 505, 506, -2, 0, - 0, 487, 0, 489, 0, 385, 0, -2, 0, 395, - 0, 391, 395, 392, 395, 383, 396, 528, 529, 530, - 0, 532, 533, 614, 897, 0, 0, 0, 0, 0, - 620, 621, 622, 0, 624, 625, 626, 627, 628, 629, - 630, 631, 632, 633, 539, 540, 541, 542, 543, 544, - 545, 546, 0, 0, 0, 0, 489, 0, 535, 0, - 441, 442, 443, 0, 0, 446, 447, 448, 449, 0, - 0, 452, 453, 454, 914, 915, 455, 456, 481, 482, - 483, 457, 458, 459, 460, 461, 462, 463, 475, 476, - 477, 478, 479, 480, 464, 465, 466, 467, 468, 469, - 472, 0, 135, 1205, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1293, 0, 0, - 0, 0, 846, 929, 1316, 1317, 749, 750, 0, 389, - 390, 748, 748, 695, 735, 0, 748, 699, 736, 700, - 702, 701, 703, 716, 717, 748, 706, 746, 747, 707, - 708, 709, 710, 711, 712, 713, 731, 718, 719, 720, - 752, 0, 756, 757, 732, 733, 0, 769, 773, 774, - 775, 776, 0, 0, 805, 94, 810, 811, 812, 813, - 825, 818, 1026, 945, 946, 947, 0, 949, 952, 0, - 1010, 1012, 954, 956, 1021, 1022, 1023, 0, 0, 0, - 0, 0, 960, 964, 967, 968, 969, 970, 971, 972, - 973, 974, 975, 976, 977, 978, 984, 1134, 1135, 1136, - 1001, 281, 282, 0, 1002, 0, 861, 0, 0, 0, - 1000, 0, 0, 0, 0, 838, 839, 1162, 1159, 0, - 0, 1119, 1121, 0, 0, 0, 0, 0, 1097, 1098, - 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, - 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1137, - 0, 0, 0, 0, 0, 1155, 0, 1003, 1004, 1005, - 0, 0, 0, 1304, 0, 130, 131, 0, 0, 0, - 0, 0, 1091, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 848, 1165, 0, -2, 0, 0, 0, - 0, 0, 0, 0, 1270, 0, 795, 796, 798, 0, - 931, 0, 912, 0, 0, 801, 0, 842, 0, 845, - 58, 60, 854, 855, 0, 872, 851, 54, 49, 0, - 0, 889, 1224, 350, 1246, 0, 359, 359, 356, 1186, - 1187, 0, 1179, 1181, 1182, 77, 869, 865, 0, 943, - 0, 0, 926, 0, 875, 877, 878, 879, 909, 0, - 882, 0, 0, 0, 0, 0, 96, 928, 1276, 101, - 0, 0, 106, 107, 1277, 1278, 1279, 1280, 0, 573, - -2, 436, 167, 169, 170, 171, 162, -2, 348, 346, - 347, 291, 350, 350, 315, 316, 317, 318, 319, 320, - 0, 0, 308, 309, 310, 311, 302, 0, 303, 304, - 305, 0, 306, 403, 0, 1188, 366, 367, 369, 377, - 0, 372, 373, 0, 377, 377, 0, 398, 399, 0, - 1180, 1205, 0, 0, 0, 1306, 1305, 1305, 1305, 0, - 155, 156, 157, 158, 159, 160, 609, 0, 0, 585, - 607, 608, 153, 0, 0, 163, 491, 490, 0, 641, - 0, 401, 0, 0, 395, 395, 380, 381, 531, 0, - 0, 616, 617, 618, 619, 0, 0, 0, 518, 430, - 0, 519, 520, 489, 491, 361, 0, 444, 445, 450, - 451, 470, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 564, 565, 566, 567, 493, 571, 568, - 493, 572, 1202, 1203, 1204, 0, 0, 679, 0, 0, - 427, 92, 1294, 684, 745, 705, 737, 745, 697, 704, - 725, 765, 809, 0, 0, 0, 0, 817, 0, 0, - 953, 1011, 1013, 957, 0, 961, 965, 0, 0, 0, - 0, 0, 0, 0, 1007, 1031, 1032, 0, 0, 1174, - 0, 1160, 0, 0, 1039, 1122, 1123, 0, 0, 0, - 0, 0, 1050, 1051, 1052, 1053, 1054, 0, 1056, 0, - 0, 0, 1060, 1061, 0, 0, 1062, 0, 0, 0, - 0, 0, 0, 0, 0, 1074, 1075, 1076, 1077, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1088, - 1027, 0, 0, 847, 0, 1124, 1125, 1126, 1127, 1128, - 1165, 794, 797, 799, 885, 932, 933, 0, 0, 0, - 0, 913, 1302, 840, 841, 844, -2, 0, 0, 1167, - 0, 0, 872, 943, 873, 0, 852, 51, 888, 0, - 1228, 1227, 1240, 1253, 359, 359, 353, 354, 360, 355, - 357, 358, 1178, 0, 1183, 0, 1264, 0, 0, 1256, - 0, 0, 0, 0, 0, 0, 0, 0, 916, 0, - 0, 919, 0, 0, 0, 0, 910, 0, 0, 0, - 0, 0, 0, -2, 0, 0, 90, 91, 0, 0, - 0, 104, 105, 0, 0, 111, 362, 363, 144, 153, - 438, 168, 411, 0, 0, 287, 349, 312, 313, 314, - 0, 336, 0, 0, 0, 432, 116, 1192, 1191, 377, - 377, 368, 0, 371, 0, 0, 0, 1307, 339, 400, - 0, 134, 0, 0, 0, 0, 0, 140, 579, 0, - 0, 586, 0, 0, 0, 500, 0, 511, 512, 0, - 613, -2, 675, 365, 0, 379, 382, 898, 0, 0, - 513, 0, 516, 517, 431, 491, 522, 523, 536, 473, - 474, 471, 0, 0, 1215, 1216, 1221, 1219, 1220, 121, - 557, 559, 558, 562, 0, 0, 495, 0, 495, 555, - 0, 427, 1188, 0, 683, 428, 429, 748, 748, 804, - 95, 0, 807, 0, 0, 0, 0, 958, 962, 862, - 0, 0, 338, 338, 1142, 338, 342, 1145, 338, 1147, - 338, 1150, 338, 1153, 1154, 0, 0, 0, 0, 1157, - 1038, 1163, 0, 0, 0, 0, 1049, 0, 0, 0, - 0, 0, 0, 132, 133, 1091, 0, 0, 1093, 1095, - 1096, 1066, 1092, 0, 0, 1089, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1028, 1029, 0, 1166, - 934, 939, 939, 939, 0, 0, 0, 1289, 1290, 1168, - 1169, 943, 1170, 874, 853, 890, 1246, 0, 1239, 0, - -2, 1248, 0, 0, 0, 1254, 351, 352, 866, 78, - 944, 81, 0, 1264, 1272, 0, 1255, 1266, 1268, 0, - 0, 0, 1260, 0, 943, 876, 905, 907, 0, 902, - 917, 918, 920, 0, 922, 0, 924, 925, 887, 881, - 883, 0, 0, 0, 98, 0, 943, 943, 97, 0, - 930, 108, 109, 110, 437, 172, 177, 0, 0, 0, - 182, 0, 184, 0, 0, 0, 189, 190, 377, 377, - 412, 0, 284, 286, 0, 0, 175, 350, 0, 350, - 0, 343, 0, 413, 433, 1189, 1190, 0, 0, 370, - 374, 375, 376, 0, 1296, 136, 0, 0, 0, 582, - 0, 610, 0, 0, 0, 0, 0, 0, 164, 492, - 642, 643, 644, 645, 646, 647, 648, 649, 650, 0, - 377, 0, 0, 0, 377, 377, 377, 0, 667, 364, - 0, 0, 638, 635, 514, 0, 213, 214, 216, 0, - 0, 521, 887, 1206, 1207, 1208, 0, 1218, 1222, 124, - 0, 0, 0, 0, 569, 0, 494, 570, 680, 681, - 682, 93, 690, 696, 806, 826, 951, 959, 963, 0, - 995, 1140, 350, 1143, 1144, 1146, 1148, 1149, 1151, 1152, - 996, 997, 0, 1034, 0, 1036, 1183, 0, 1161, 0, - 0, 1048, 0, 0, 0, 1057, 1058, 1059, 0, 0, - 1065, 0, 1067, 0, 0, 0, 1078, 1079, 1080, 1081, - 1082, 1083, 1084, 1085, 1086, 1087, 1030, 0, 0, 0, - 0, 911, -2, 62, 1170, 1172, 0, 1233, 1231, 1231, - 1241, 1242, 0, 0, 1249, 0, 0, 0, 0, 82, - 0, 0, 0, 1269, 0, 0, 0, 0, 99, 1174, - 899, 906, 0, 0, 900, 0, 901, 921, 923, 880, - -2, 884, 0, 943, 943, 88, 89, 0, 178, 0, - 180, 206, 207, 0, 183, 185, 186, 187, 193, 194, - 195, 188, 0, 0, 283, 285, 0, 0, 326, 337, - 327, 0, 0, 1193, 1194, 1195, 1196, 1197, 1198, 1199, - 1200, 887, 137, 138, 139, 574, 0, 584, 0, 0, - 0, 577, 0, 503, 0, 0, 0, 377, 377, 377, - 0, 0, 0, 0, 652, 0, 0, 615, 0, 623, - 0, 0, 0, 217, 218, 0, 1217, 556, 0, 122, - 123, 0, 0, 561, 496, 497, 1129, 1141, 0, 0, - 0, 1158, 0, 0, 0, 0, 1055, 1063, 0, 1094, - 0, 1070, 0, 0, 0, 604, 605, 0, 1090, 0, - 940, 0, 0, 0, 0, 931, 1172, 80, 0, 0, - 1236, 0, 1229, 1232, 1230, 1243, 0, 0, 1250, 0, - 1252, 0, 1273, 1274, 1267, 0, 1259, 1262, 1258, 1261, - 1183, 903, 0, 908, 0, 1174, 87, 0, 181, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 191, 192, 0, 0, 341, 344, 0, 0, 0, - 575, 0, 587, 578, 0, 665, 0, 669, 0, 0, - 0, 672, 673, 674, 651, 0, 655, 405, 639, 636, - 637, 515, 0, 125, 126, 0, 0, 0, 0, 0, - 0, 1033, 1035, 1037, 1046, 1047, 1138, 1139, 1064, 1068, - 0, 1071, 0, 0, 1072, 0, 606, 0, 936, 893, - 894, 941, 942, 0, 0, 886, 79, 1173, 1171, 1225, - 0, 1234, 1235, 1244, 1245, 1251, 0, 1257, 0, 85, - 0, 0, 0, 1183, 179, 0, 198, 0, 583, 0, - 586, 576, 663, 664, 0, 676, 668, 670, 671, 653, - -2, 1209, 0, 0, 0, 563, 994, 0, 0, 0, - 1091, 1073, 0, 602, 603, 0, 935, 937, 938, 1237, - 1238, 1265, 1263, 904, 911, 0, 86, 418, 411, 1209, - 0, 0, 0, 656, 657, 658, 659, 660, 661, 662, - 553, 1211, 127, 128, 484, 485, 486, 121, 1130, 0, - 1133, 0, 895, 896, 588, 0, 590, 0, -2, 406, - 419, 0, 173, 199, 200, 0, 0, 203, 204, 205, - 196, 197, 117, 0, 0, 677, 0, 1212, 1213, 124, - 1131, 1069, 589, 0, 0, 361, 0, 599, 407, 408, - 0, 414, 415, 416, 417, 201, 202, 611, 0, 0, - 560, 0, 591, 592, 600, 0, 409, 0, 410, 0, - 0, 0, 580, 0, 611, 1210, 0, 0, 601, 597, - 420, 422, 423, 0, 0, 421, 612, 581, 1132, 0, - 424, 425, 426, 593, 594, 595, 596, + 377, 377, 377, 1202, 153, 1316, 1313, 1314, 38, 39, + 40, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1473, 1474, + 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, + 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, + 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504, + 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514, + 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1524, + 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, + 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, + 1545, 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, + 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, + 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, + 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, + 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, + 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, + 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, + 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, + 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, + 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, + 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, + 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, + 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, + 1675, 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684, + 1685, 1686, 1687, 1688, 1689, 1690, 1691, 1692, 1693, 1694, + 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, + 1705, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1714, + 1715, 1716, 1717, 1718, 1719, 1720, 1721, 1722, 1723, 1724, + 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, + 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, + 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753, 1754, + 1755, 1756, 1757, 1758, 1759, 1760, 1761, 1762, 1763, 1764, + 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, + 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1782, 1783, 1784, + 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1794, + 1795, 1796, 1797, 1798, 1799, 1800, 1801, 1802, 1803, 1804, + 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1814, + 1815, 1816, 1817, 1818, 0, 1292, 0, 686, 928, 0, + 748, 748, 0, 748, 748, 748, 748, 0, 0, 0, + 698, 0, 0, 0, 0, 745, 0, 714, 715, 0, + 745, 0, 721, 751, 0, 726, 748, 748, 729, 1822, + 0, 1822, 1822, 1283, 0, 742, 740, 754, 755, 758, + 762, 0, 767, 770, 1309, 1310, 0, 785, 47, 1555, + 777, 790, 791, 0, 823, 824, 43, 1025, 0, 950, + 955, 966, 979, 980, 981, 982, 983, 985, 986, 0, + 0, 0, 0, 991, 992, 0, 0, 0, 0, 0, + 1006, 0, 0, 0, 0, 0, 1156, 0, 1119, 1119, + 1042, 1119, 1121, 1121, 1509, 0, 0, 0, 1818, 1596, + 1604, 1605, 1627, 1713, 1762, 1600, 1601, 1582, 1594, 1597, + 1585, 1586, 1588, 1590, 1595, 1602, 1608, 1587, 1607, 1606, + 0, 1583, 1584, 1589, 1599, 1603, 1591, 1592, 1593, 1598, + 1609, 1165, 0, 0, 0, 0, 0, 0, 273, 274, + 1024, 1272, 1121, 1121, 1121, 1121, 1121, -2, -2, 219, + 220, 221, 222, 223, 224, 225, 0, 215, 0, 278, + 279, 275, 276, 277, 1008, 1009, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 1821, 0, + 800, 0, 0, 0, 0, 0, 1184, 0, 1176, 1175, + 61, 0, 827, -2, 0, 0, 0, 0, 45, 0, + 50, 887, 75, 74, 1224, 0, 0, 0, 57, 1185, + 65, 67, 1186, 0, 832, 833, 0, 863, 867, 0, + 828, 0, 0, 1299, 1298, 1298, 100, 0, 1758, 1276, + -2, -2, 0, 0, 1311, 1312, 1285, -2, 1319, 1320, + 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, + 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, + 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, + 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, + 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, + 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, + 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, + 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, + 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, + 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, + 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, + 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, + 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, + 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, + 1461, 1462, 1463, 1464, 1465, -2, 0, 0, 165, 166, + 0, 41, 404, 0, 161, 0, 397, 338, 0, 1202, + 0, 0, 0, 0, 0, 827, 0, 1293, 142, 143, + 150, 151, 152, 377, 377, 377, 549, 0, 0, 153, + 153, 508, 509, 510, 0, 0, -2, 402, 0, 488, + 0, 0, 391, 391, 395, 393, 394, 0, 0, 0, + 0, 0, 0, 0, 0, 526, 0, 527, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 634, 0, 378, + 0, 547, 548, 440, 0, 0, 0, 0, 0, 0, + 524, 525, 0, 0, 1301, 1302, 0, 0, 0, 377, + 377, 0, 0, 0, 0, 377, 377, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 141, 1215, 0, 0, 0, + -2, 0, 678, 0, 0, 0, 1294, 1294, 0, 685, + 0, 687, 688, 0, 0, 689, 0, 745, 745, 743, + 744, 691, 692, 693, 694, 748, 0, 0, 386, 387, + 388, 745, 748, 0, 748, 748, 748, 748, 745, 745, + 745, 748, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1822, 751, 748, 0, 722, 0, 723, 724, 727, + 728, 730, 1823, 1824, 1332, 1822, 1822, 734, 738, 1284, + 760, 768, 771, 788, 786, 787, 789, 781, 782, 783, + 784, 0, 802, 803, 808, 0, 0, 0, 0, 814, + 815, 816, 0, 0, 819, 820, 821, 0, 0, 0, + 0, 0, 948, 0, 0, 1014, 1015, 1016, 1017, 1018, + 1019, 1020, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 987, 988, 989, 990, 993, 0, 0, 0, + 998, 999, 0, 0, 0, 0, 0, 837, 0, 1157, + 0, 1040, 0, 1041, 1043, 1044, 0, 1045, 837, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1304, 129, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 847, 0, 0, 847, 847, + 0, 0, 208, 209, 210, 211, 212, 226, 227, 228, + 229, 230, 280, 1165, 0, 1024, 0, 0, 44, 792, + 793, 0, 911, 1304, 0, 0, 843, 0, 55, 64, + 66, 1184, 59, 1184, 0, 849, 0, 0, -2, -2, + 850, 856, 857, 858, 859, 860, 52, 1820, 53, 0, + 72, 0, 46, 0, 0, 0, 0, 350, 1227, 0, + 0, 1177, 1178, 1181, 0, 864, 1638, 868, 0, 870, + 871, 0, 830, 0, 98, 0, 927, 0, 0, 0, + 1758, 1282, 0, 102, 103, 0, 0, 0, 361, 1287, + 1288, 1289, -2, 384, 0, 361, 345, 288, 289, 290, + 338, 292, 338, 338, 338, 338, 350, 350, 350, 350, + 321, 322, 323, 324, 325, 0, 0, 307, 338, 338, + 338, 338, 328, 329, 330, 331, 332, 333, 334, 335, + 293, 294, 295, 296, 297, 298, 299, 300, 301, 340, + 340, 340, 342, 342, 0, 42, 0, 365, 0, 1181, + 0, 0, 1215, 1296, 1306, 0, 0, 0, 1296, 120, + 0, 0, 0, 550, 584, 502, 538, 551, 0, 505, + 506, -2, 0, 0, 487, 0, 489, 0, 385, 0, + -2, 0, 395, 0, 391, 395, 392, 395, 383, 396, + 528, 529, 530, 0, 532, 533, 614, 897, 0, 0, + 0, 0, 0, 620, 621, 622, 0, 624, 625, 626, + 627, 628, 629, 630, 631, 632, 633, 539, 540, 541, + 542, 543, 544, 545, 546, 0, 0, 0, 0, 489, + 0, 535, 0, 441, 442, 443, 0, 0, 446, 447, + 448, 449, 0, 0, 452, 453, 454, 914, 915, 455, + 456, 481, 482, 483, 457, 458, 459, 460, 461, 462, + 463, 475, 476, 477, 478, 479, 480, 464, 465, 466, + 467, 468, 469, 472, 0, 135, 1206, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1294, 0, 0, 0, 0, 846, 929, 1317, 1318, 749, + 750, 0, 389, 390, 748, 748, 695, 735, 0, 748, + 699, 736, 700, 702, 701, 703, 716, 717, 748, 706, + 746, 747, 707, 708, 709, 710, 711, 712, 713, 731, + 718, 719, 720, 752, 0, 756, 757, 732, 733, 0, + 769, 773, 774, 775, 776, 0, 0, 805, 94, 810, + 811, 812, 813, 825, 818, 1026, 945, 946, 947, 0, + 949, 952, 0, 1010, 1012, 954, 956, 1021, 1022, 1023, + 0, 0, 0, 0, 0, 960, 964, 967, 968, 969, + 970, 971, 972, 973, 974, 975, 976, 977, 978, 984, + 1135, 1136, 1137, 1001, 281, 282, 0, 1002, 0, 861, + 0, 0, 0, 1000, 0, 0, 0, 0, 838, 839, + 1163, 1160, 0, 0, 1120, 1122, 0, 0, 0, 0, + 0, 0, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, + 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, + 1116, 1117, 1118, 1138, 0, 0, 0, 0, 0, 1156, + 0, 1003, 1004, 1005, 0, 0, 0, 1305, 0, 130, + 131, 0, 0, 0, 0, 0, 1092, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 848, 1166, 0, + -2, 0, 0, 0, 0, 0, 0, 0, 1271, 0, + 795, 796, 798, 0, 931, 0, 912, 0, 0, 801, + 0, 842, 0, 845, 58, 60, 854, 855, 0, 872, + 851, 54, 49, 0, 0, 889, 1225, 350, 1247, 0, + 359, 359, 356, 1187, 1188, 0, 1180, 1182, 1183, 77, + 869, 865, 0, 943, 0, 0, 926, 0, 875, 877, + 878, 879, 909, 0, 882, 0, 0, 0, 0, 0, + 96, 928, 1277, 101, 0, 0, 106, 107, 1278, 1279, + 1280, 1281, 0, 573, -2, 436, 167, 169, 170, 171, + 162, -2, 348, 346, 347, 291, 350, 350, 315, 316, + 317, 318, 319, 320, 0, 0, 308, 309, 310, 311, + 302, 0, 303, 304, 305, 0, 306, 403, 0, 1189, + 366, 367, 369, 377, 0, 372, 373, 0, 377, 377, + 0, 398, 399, 0, 1181, 1206, 0, 0, 0, 1307, + 1306, 1306, 1306, 0, 155, 156, 157, 158, 159, 160, + 609, 0, 0, 585, 607, 608, 153, 0, 0, 163, + 491, 490, 0, 641, 0, 401, 0, 0, 395, 395, + 380, 381, 531, 0, 0, 616, 617, 618, 619, 0, + 0, 0, 518, 430, 0, 519, 520, 489, 491, 361, + 0, 444, 445, 450, 451, 470, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 564, 565, 566, + 567, 493, 571, 568, 493, 572, 1203, 1204, 1205, 0, + 0, 679, 0, 0, 427, 92, 1295, 684, 745, 705, + 737, 745, 697, 704, 725, 765, 809, 0, 0, 0, + 0, 817, 0, 0, 953, 1011, 1013, 957, 0, 961, + 965, 0, 0, 0, 0, 0, 0, 0, 1007, 1031, + 1032, 0, 0, 1175, 0, 1161, 0, 0, 1039, 1123, + 1124, 0, 0, 0, 0, 0, 0, 1051, 1052, 1053, + 1054, 1055, 0, 1057, 0, 0, 0, 1061, 1062, 0, + 0, 1063, 0, 0, 0, 0, 0, 0, 0, 0, + 1075, 1076, 1077, 1078, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1089, 1027, 0, 0, 847, 0, + 1125, 1126, 1127, 1128, 1129, 1166, 794, 797, 799, 885, + 932, 933, 0, 0, 0, 0, 913, 1303, 840, 841, + 844, -2, 0, 0, 1168, 0, 0, 872, 943, 873, + 0, 852, 51, 888, 0, 1229, 1228, 1241, 1254, 359, + 359, 353, 354, 360, 355, 357, 358, 1179, 0, 1184, + 0, 1265, 0, 0, 1257, 0, 0, 0, 0, 0, + 0, 0, 0, 916, 0, 0, 919, 0, 0, 0, + 0, 910, 0, 0, 0, 0, 0, 0, -2, 0, + 0, 90, 91, 0, 0, 0, 104, 105, 0, 0, + 111, 362, 363, 144, 153, 438, 168, 411, 0, 0, + 287, 349, 312, 313, 314, 0, 336, 0, 0, 0, + 432, 116, 1193, 1192, 377, 377, 368, 0, 371, 0, + 0, 0, 1308, 339, 400, 0, 134, 0, 0, 0, + 0, 0, 140, 579, 0, 0, 586, 0, 0, 0, + 500, 0, 511, 512, 0, 613, -2, 675, 365, 0, + 379, 382, 898, 0, 0, 513, 0, 516, 517, 431, + 491, 522, 523, 536, 473, 474, 471, 0, 0, 1216, + 1217, 1222, 1220, 1221, 121, 557, 559, 558, 562, 0, + 0, 495, 0, 495, 555, 0, 427, 1189, 0, 683, + 428, 429, 748, 748, 804, 95, 0, 807, 0, 0, + 0, 0, 958, 962, 862, 0, 0, 338, 338, 1143, + 338, 342, 1146, 338, 1148, 338, 1151, 338, 1154, 1155, + 0, 0, 0, 0, 1158, 1038, 1164, 0, 1046, 0, + 0, 0, 1050, 0, 0, 0, 0, 0, 0, 132, + 133, 1092, 0, 0, 1094, 1096, 1097, 1067, 1093, 0, + 0, 1090, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1028, 1029, 0, 1167, 934, 939, 939, 939, + 0, 0, 0, 1290, 1291, 1169, 1170, 943, 1171, 874, + 853, 890, 1247, 0, 1240, 0, -2, 1249, 0, 0, + 0, 1255, 351, 352, 866, 78, 944, 81, 0, 1265, + 1273, 0, 1256, 1267, 1269, 0, 0, 0, 1261, 0, + 943, 876, 905, 907, 0, 902, 917, 918, 920, 0, + 922, 0, 924, 925, 887, 881, 883, 0, 0, 0, + 98, 0, 943, 943, 97, 0, 930, 108, 109, 110, + 437, 172, 177, 0, 0, 0, 182, 0, 184, 0, + 0, 0, 189, 190, 377, 377, 412, 0, 284, 286, + 0, 0, 175, 350, 0, 350, 0, 343, 0, 413, + 433, 1190, 1191, 0, 0, 370, 374, 375, 376, 0, + 1297, 136, 0, 0, 0, 582, 0, 610, 0, 0, + 0, 0, 0, 0, 164, 492, 642, 643, 644, 645, + 646, 647, 648, 649, 650, 0, 377, 0, 0, 0, + 377, 377, 377, 0, 667, 364, 0, 0, 638, 635, + 514, 0, 213, 214, 216, 0, 0, 521, 887, 1207, + 1208, 1209, 0, 1219, 1223, 124, 0, 0, 0, 0, + 569, 0, 494, 570, 680, 681, 682, 93, 690, 696, + 806, 826, 951, 959, 963, 0, 995, 1141, 350, 1144, + 1145, 1147, 1149, 1150, 1152, 1153, 996, 997, 0, 1034, + 0, 1036, 1184, 0, 1162, 0, 0, 1049, 0, 0, + 0, 1058, 1059, 1060, 0, 0, 1066, 0, 1068, 0, + 0, 0, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, + 1087, 1088, 1030, 0, 0, 0, 0, 911, -2, 62, + 1171, 1173, 0, 1234, 1232, 1232, 1242, 1243, 0, 0, + 1250, 0, 0, 0, 0, 82, 0, 0, 0, 1270, + 0, 0, 0, 0, 99, 1175, 899, 906, 0, 0, + 900, 0, 901, 921, 923, 880, -2, 884, 0, 943, + 943, 88, 89, 0, 178, 0, 180, 206, 207, 0, + 183, 185, 186, 187, 193, 194, 195, 188, 0, 0, + 283, 285, 0, 0, 326, 337, 327, 0, 0, 1194, + 1195, 1196, 1197, 1198, 1199, 1200, 1201, 887, 137, 138, + 139, 574, 0, 584, 0, 0, 0, 577, 0, 503, + 0, 0, 0, 377, 377, 377, 0, 0, 0, 0, + 652, 0, 0, 615, 0, 623, 0, 0, 0, 217, + 218, 0, 1218, 556, 0, 122, 123, 0, 0, 561, + 496, 497, 1130, 1142, 0, 0, 0, 1159, 0, 0, + 0, 0, 1056, 1064, 0, 1095, 0, 1071, 0, 0, + 0, 604, 605, 0, 1091, 0, 940, 0, 0, 0, + 0, 931, 1173, 80, 0, 0, 1237, 0, 1230, 1233, + 1231, 1244, 0, 0, 1251, 0, 1253, 0, 1274, 1275, + 1268, 0, 1260, 1263, 1259, 1262, 1184, 903, 0, 908, + 0, 1175, 87, 0, 181, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, + 0, 0, 341, 344, 0, 0, 0, 575, 0, 587, + 578, 0, 665, 0, 669, 0, 0, 0, 672, 673, + 674, 651, 0, 655, 405, 639, 636, 637, 515, 0, + 125, 126, 0, 0, 0, 0, 0, 0, 1033, 1035, + 1037, 1047, 1048, 1139, 1140, 1065, 1069, 0, 1072, 0, + 0, 1073, 0, 606, 0, 936, 893, 894, 941, 942, + 0, 0, 886, 79, 1174, 1172, 1226, 0, 1235, 1236, + 1245, 1246, 1252, 0, 1258, 0, 85, 0, 0, 0, + 1184, 179, 0, 198, 0, 583, 0, 586, 576, 663, + 664, 0, 676, 668, 670, 671, 653, -2, 1210, 0, + 0, 0, 563, 994, 0, 0, 0, 1092, 1074, 0, + 602, 603, 0, 935, 937, 938, 1238, 1239, 1266, 1264, + 904, 911, 0, 86, 418, 411, 1210, 0, 0, 0, + 656, 657, 658, 659, 660, 661, 662, 553, 1212, 127, + 128, 484, 485, 486, 121, 1131, 0, 1134, 0, 895, + 896, 588, 0, 590, 0, -2, 406, 419, 0, 173, + 199, 200, 0, 0, 203, 204, 205, 196, 197, 117, + 0, 0, 677, 0, 1213, 1214, 124, 1132, 1070, 589, + 0, 0, 361, 0, 599, 407, 408, 0, 414, 415, + 416, 417, 201, 202, 611, 0, 0, 560, 0, 591, + 592, 600, 0, 409, 0, 410, 0, 0, 0, 580, + 0, 611, 1211, 0, 0, 601, 597, 420, 422, 423, + 0, 0, 421, 612, 581, 1133, 0, 424, 425, 426, + 593, 594, 595, 596, } var yyTok1 = [...]int{ @@ -7671,7 +7780,7 @@ var yyTok1 = [...]int{ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 141, 3, 3, 3, 167, 159, 3, 86, 88, 164, 162, 87, 163, 217, 165, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 611, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 612, 149, 148, 150, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, @@ -7778,7 +7887,7 @@ var yyTok3 = [...]int{ 57920, 595, 57921, 596, 57922, 597, 57923, 598, 57924, 599, 57925, 600, 57926, 601, 57927, 602, 57928, 603, 57929, 604, 57930, 605, 57931, 606, 57932, 607, 57933, 608, 57934, 609, - 57935, 610, 0, + 57935, 610, 57936, 611, 0, } var yyErrorMessages = [...]struct { @@ -8128,68 +8237,68 @@ yydefault: case 1: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:532 +//line sql.y:533 { setParseTree(yylex, yyDollar[1].statementUnion()) } case 2: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:537 +//line sql.y:538 { } case 3: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:538 +//line sql.y:539 { } case 4: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:542 +//line sql.y:543 { yyLOCAL = yyDollar[1].selStmtUnion() } yyVAL.union = yyLOCAL case 37: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:578 +//line sql.y:579 { setParseTree(yylex, nil) } case 38: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:584 +//line sql.y:585 { yyVAL.colIdent = NewColIdentWithAt(string(yyDollar[1].str), NoAt) } case 39: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:588 +//line sql.y:589 { yyVAL.colIdent = NewColIdentWithAt(string(yyDollar[1].str), SingleAt) } case 40: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:592 +//line sql.y:593 { yyVAL.colIdent = NewColIdentWithAt(string(yyDollar[1].str), DoubleAt) } case 41: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:597 +//line sql.y:598 { yyVAL.colIdent = NewColIdentWithAt("", NoAt) } case 42: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:601 +//line sql.y:602 { yyVAL.colIdent = yyDollar[1].colIdent } case 43: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:607 +//line sql.y:608 { yyLOCAL = &OtherAdmin{} } @@ -8197,7 +8306,7 @@ yydefault: case 44: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:613 +//line sql.y:614 { yyLOCAL = &Load{} } @@ -8205,7 +8314,7 @@ yydefault: case 45: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *With -//line sql.y:619 +//line sql.y:620 { yyLOCAL = &With{ctes: yyDollar[2].ctesUnion(), Recursive: false} } @@ -8213,7 +8322,7 @@ yydefault: case 46: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *With -//line sql.y:623 +//line sql.y:624 { yyLOCAL = &With{ctes: yyDollar[3].ctesUnion(), Recursive: true} } @@ -8221,7 +8330,7 @@ yydefault: case 47: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *With -//line sql.y:628 +//line sql.y:629 { yyLOCAL = nil } @@ -8229,14 +8338,14 @@ yydefault: case 48: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *With -//line sql.y:632 +//line sql.y:633 { yyLOCAL = yyDollar[1].withUnion() } yyVAL.union = yyLOCAL case 49: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:638 +//line sql.y:639 { yySLICE := (*[]*CommonTableExpr)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].cteUnion()) @@ -8244,7 +8353,7 @@ yydefault: case 50: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*CommonTableExpr -//line sql.y:642 +//line sql.y:643 { yyLOCAL = []*CommonTableExpr{yyDollar[1].cteUnion()} } @@ -8252,7 +8361,7 @@ yydefault: case 51: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *CommonTableExpr -//line sql.y:648 +//line sql.y:649 { yyLOCAL = &CommonTableExpr{TableID: yyDollar[1].tableIdent, Columns: yyDollar[2].columnsUnion(), Subquery: yyDollar[4].subqueryUnion()} } @@ -8260,7 +8369,7 @@ yydefault: case 52: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:654 +//line sql.y:655 { yyLOCAL = yyDollar[2].selStmtUnion() } @@ -8268,7 +8377,7 @@ yydefault: case 53: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:658 +//line sql.y:659 { yyLOCAL = yyDollar[2].selStmtUnion() } @@ -8276,7 +8385,7 @@ yydefault: case 54: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:662 +//line sql.y:663 { setLockInSelect(yyDollar[2].selStmtUnion(), yyDollar[3].lockUnion()) yyLOCAL = yyDollar[2].selStmtUnion() @@ -8285,7 +8394,7 @@ yydefault: case 55: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:685 +//line sql.y:686 { yyDollar[1].selStmtUnion().SetOrderBy(yyDollar[2].orderByUnion()) yyDollar[1].selStmtUnion().SetLimit(yyDollar[3].limitUnion()) @@ -8295,7 +8404,7 @@ yydefault: case 56: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:691 +//line sql.y:692 { yyDollar[1].selStmtUnion().SetLimit(yyDollar[2].limitUnion()) yyLOCAL = yyDollar[1].selStmtUnion() @@ -8304,7 +8413,7 @@ yydefault: case 57: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:696 +//line sql.y:697 { yyDollar[1].selStmtUnion().SetOrderBy(yyDollar[2].orderByUnion()) yyDollar[1].selStmtUnion().SetLimit(yyDollar[3].limitUnion()) @@ -8314,7 +8423,7 @@ yydefault: case 58: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:702 +//line sql.y:703 { yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion()) yyDollar[2].selStmtUnion().SetOrderBy(yyDollar[3].orderByUnion()) @@ -8325,7 +8434,7 @@ yydefault: case 59: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:709 +//line sql.y:710 { yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion()) yyDollar[2].selStmtUnion().SetLimit(yyDollar[3].limitUnion()) @@ -8335,7 +8444,7 @@ yydefault: case 60: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:715 +//line sql.y:716 { yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion()) yyDollar[2].selStmtUnion().SetOrderBy(yyDollar[3].orderByUnion()) @@ -8345,14 +8454,14 @@ yydefault: yyVAL.union = yyLOCAL case 61: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:722 +//line sql.y:723 { yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion()) } case 62: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:726 +//line sql.y:727 { 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*/) } @@ -8360,7 +8469,7 @@ yydefault: case 63: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:732 +//line sql.y:733 { yyLOCAL = yyDollar[1].selStmtUnion() } @@ -8368,7 +8477,7 @@ yydefault: case 64: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:736 +//line sql.y:737 { yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()} } @@ -8376,7 +8485,7 @@ yydefault: case 65: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:740 +//line sql.y:741 { yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()} } @@ -8384,7 +8493,7 @@ yydefault: case 66: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:744 +//line sql.y:745 { yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()} } @@ -8392,7 +8501,7 @@ yydefault: case 67: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:748 +//line sql.y:749 { yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()} } @@ -8400,7 +8509,7 @@ yydefault: case 68: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:754 +//line sql.y:755 { yyLOCAL = yyDollar[1].selStmtUnion() } @@ -8408,7 +8517,7 @@ yydefault: case 69: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:758 +//line sql.y:759 { setLockInSelect(yyDollar[1].selStmtUnion(), yyDollar[2].lockUnion()) yyLOCAL = yyDollar[1].selStmtUnion() @@ -8417,7 +8526,7 @@ yydefault: case 70: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:763 +//line sql.y:764 { yyLOCAL = yyDollar[1].selStmtUnion() } @@ -8425,7 +8534,7 @@ yydefault: case 71: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:767 +//line sql.y:768 { yyLOCAL = yyDollar[1].selStmtUnion() } @@ -8433,7 +8542,7 @@ yydefault: case 72: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:773 +//line sql.y:774 { yyLOCAL = yyDollar[2].selStmtUnion() } @@ -8441,7 +8550,7 @@ yydefault: case 73: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:777 +//line sql.y:778 { yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion()) yyLOCAL = yyDollar[1].selStmtUnion() @@ -8450,7 +8559,7 @@ yydefault: case 74: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:782 +//line sql.y:783 { yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion()) yyDollar[1].selStmtUnion().SetLock(yyDollar[3].lockUnion()) @@ -8460,7 +8569,7 @@ yydefault: case 75: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:788 +//line sql.y:789 { yyDollar[1].selStmtUnion().SetInto(yyDollar[3].selectIntoUnion()) yyDollar[1].selStmtUnion().SetLock(yyDollar[2].lockUnion()) @@ -8470,7 +8579,7 @@ yydefault: case 76: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:794 +//line sql.y:795 { yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion()) yyLOCAL = yyDollar[1].selStmtUnion() @@ -8479,7 +8588,7 @@ yydefault: case 77: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:801 +//line sql.y:802 { yyLOCAL = &Stream{Comments: Comments(yyDollar[2].strs).Parsed(), SelectExpr: yyDollar[3].selectExprUnion(), Table: yyDollar[5].tableName} } @@ -8487,7 +8596,7 @@ yydefault: case 78: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:807 +//line sql.y:808 { yyLOCAL = &VStream{Comments: Comments(yyDollar[2].strs).Parsed(), SelectExpr: yyDollar[3].selectExprUnion(), Table: yyDollar[5].tableName, Where: NewWhere(WhereClause, yyDollar[6].exprUnion()), Limit: yyDollar[7].limitUnion()} } @@ -8495,7 +8604,7 @@ yydefault: case 79: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:815 +//line sql.y:816 { 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())) } @@ -8503,7 +8612,7 @@ yydefault: case 80: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:819 +//line sql.y:820 { 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())) } @@ -8511,7 +8620,7 @@ yydefault: case 81: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:827 +//line sql.y:826 { // insert_data returns a *Insert pre-filled with Columns & Values ins := yyDollar[6].insUnion() @@ -8527,7 +8636,7 @@ yydefault: case 82: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Statement -//line sql.y:839 +//line sql.y:838 { cols := make(Columns, 0, len(yyDollar[7].updateExprsUnion())) vals := make(ValTuple, 0, len(yyDollar[8].updateExprsUnion())) @@ -8541,7 +8650,7 @@ yydefault: case 83: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL InsertAction -//line sql.y:851 +//line sql.y:850 { yyLOCAL = InsertAct } @@ -8549,7 +8658,7 @@ yydefault: case 84: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL InsertAction -//line sql.y:855 +//line sql.y:854 { yyLOCAL = ReplaceAct } @@ -8557,7 +8666,7 @@ yydefault: case 85: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL Statement -//line sql.y:861 +//line sql.y:860 { yyLOCAL = &Update{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), 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()} } @@ -8565,7 +8674,7 @@ yydefault: case 86: yyDollar = yyS[yypt-11 : yypt+1] var yyLOCAL Statement -//line sql.y:867 +//line sql.y:866 { yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), 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()} } @@ -8573,7 +8682,7 @@ yydefault: case 87: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL Statement -//line sql.y:871 +//line sql.y:870 { yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), Targets: yyDollar[6].tableNamesUnion(), TableExprs: yyDollar[8].tableExprsUnion(), Where: NewWhere(WhereClause, yyDollar[9].exprUnion())} } @@ -8581,7 +8690,7 @@ yydefault: case 88: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Statement -//line sql.y:875 +//line sql.y:874 { yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), Targets: yyDollar[5].tableNamesUnion(), TableExprs: yyDollar[7].tableExprsUnion(), Where: NewWhere(WhereClause, yyDollar[8].exprUnion())} } @@ -8589,32 +8698,32 @@ yydefault: case 89: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Statement -//line sql.y:879 +//line sql.y:878 { yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), Targets: yyDollar[5].tableNamesUnion(), TableExprs: yyDollar[7].tableExprsUnion(), Where: NewWhere(WhereClause, yyDollar[8].exprUnion())} } yyVAL.union = yyLOCAL case 90: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:884 +//line sql.y:883 { } case 91: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:885 +//line sql.y:884 { } case 92: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableNames -//line sql.y:889 +//line sql.y:888 { yyLOCAL = TableNames{yyDollar[1].tableName.ToViewName()} } yyVAL.union = yyLOCAL case 93: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:893 +//line sql.y:892 { yySLICE := (*TableNames)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableName.ToViewName()) @@ -8622,14 +8731,14 @@ yydefault: case 94: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableNames -//line sql.y:899 +//line sql.y:898 { yyLOCAL = TableNames{yyDollar[1].tableName} } yyVAL.union = yyLOCAL case 95: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:903 +//line sql.y:902 { yySLICE := (*TableNames)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableName) @@ -8637,14 +8746,14 @@ yydefault: case 96: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableNames -//line sql.y:909 +//line sql.y:908 { yyLOCAL = TableNames{yyDollar[1].tableName} } yyVAL.union = yyLOCAL case 97: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:913 +//line sql.y:912 { yySLICE := (*TableNames)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableName) @@ -8652,7 +8761,7 @@ yydefault: case 98: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Partitions -//line sql.y:918 +//line sql.y:917 { yyLOCAL = nil } @@ -8660,7 +8769,7 @@ yydefault: case 99: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Partitions -//line sql.y:922 +//line sql.y:921 { yyLOCAL = yyDollar[3].partitionsUnion() } @@ -8668,7 +8777,7 @@ yydefault: case 100: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:928 +//line sql.y:927 { yyLOCAL = &Set{Comments: Comments(yyDollar[2].strs).Parsed(), Exprs: yyDollar[3].setExprsUnion()} } @@ -8676,7 +8785,7 @@ yydefault: case 101: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:934 +//line sql.y:933 { yyLOCAL = &SetTransaction{Comments: Comments(yyDollar[2].strs).Parsed(), Scope: yyDollar[3].scopeUnion(), Characteristics: yyDollar[5].characteristicsUnion()} } @@ -8684,7 +8793,7 @@ yydefault: case 102: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:938 +//line sql.y:937 { yyLOCAL = &SetTransaction{Comments: Comments(yyDollar[2].strs).Parsed(), Characteristics: yyDollar[4].characteristicsUnion(), Scope: ImplicitScope} } @@ -8692,14 +8801,14 @@ yydefault: case 103: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []Characteristic -//line sql.y:944 +//line sql.y:943 { yyLOCAL = []Characteristic{yyDollar[1].characteristicUnion()} } yyVAL.union = yyLOCAL case 104: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:948 +//line sql.y:947 { yySLICE := (*[]Characteristic)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].characteristicUnion()) @@ -8707,7 +8816,7 @@ yydefault: case 105: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Characteristic -//line sql.y:954 +//line sql.y:953 { yyLOCAL = yyDollar[3].isolationLevelUnion() } @@ -8715,7 +8824,7 @@ yydefault: case 106: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Characteristic -//line sql.y:958 +//line sql.y:957 { yyLOCAL = ReadWrite } @@ -8723,7 +8832,7 @@ yydefault: case 107: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Characteristic -//line sql.y:962 +//line sql.y:961 { yyLOCAL = ReadOnly } @@ -8731,7 +8840,7 @@ yydefault: case 108: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IsolationLevel -//line sql.y:968 +//line sql.y:967 { yyLOCAL = RepeatableRead } @@ -8739,7 +8848,7 @@ yydefault: case 109: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IsolationLevel -//line sql.y:972 +//line sql.y:971 { yyLOCAL = ReadCommitted } @@ -8747,7 +8856,7 @@ yydefault: case 110: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IsolationLevel -//line sql.y:976 +//line sql.y:975 { yyLOCAL = ReadUncommitted } @@ -8755,7 +8864,7 @@ yydefault: case 111: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IsolationLevel -//line sql.y:980 +//line sql.y:979 { yyLOCAL = Serializable } @@ -8763,7 +8872,7 @@ yydefault: case 112: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Scope -//line sql.y:986 +//line sql.y:985 { yyLOCAL = SessionScope } @@ -8771,7 +8880,7 @@ yydefault: case 113: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Scope -//line sql.y:990 +//line sql.y:989 { yyLOCAL = GlobalScope } @@ -8779,7 +8888,7 @@ yydefault: case 114: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:996 +//line sql.y:995 { yyDollar[1].createTableUnion().TableSpec = yyDollar[2].tableSpecUnion() yyDollar[1].createTableUnion().FullyParsed = true @@ -8789,7 +8898,7 @@ yydefault: case 115: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:1002 +//line sql.y:1001 { // Create table [name] like [name] yyDollar[1].createTableUnion().OptLike = yyDollar[2].optLikeUnion() @@ -8800,7 +8909,7 @@ yydefault: case 116: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:1009 +//line sql.y:1008 { indexDef := yyDollar[1].alterTableUnion().AlterOptions[0].(*AddIndexDefinition).IndexDefinition indexDef.Columns = yyDollar[3].indexColumnsUnion() @@ -8813,7 +8922,7 @@ yydefault: case 117: yyDollar = yyS[yypt-12 : yypt+1] var yyLOCAL Statement -//line sql.y:1018 +//line sql.y:1017 { yyLOCAL = &CreateView{ViewName: yyDollar[8].tableName.ToViewName(), Comments: Comments(yyDollar[2].strs).Parsed(), IsReplace: yyDollar[3].booleanUnion(), Algorithm: yyDollar[4].str, Definer: yyDollar[5].definerUnion(), Security: yyDollar[6].str, Columns: yyDollar[9].columnsUnion(), Select: yyDollar[11].selStmtUnion(), CheckOption: yyDollar[12].str} } @@ -8821,7 +8930,7 @@ yydefault: case 118: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:1022 +//line sql.y:1021 { yyDollar[1].createDatabaseUnion().FullyParsed = true yyDollar[1].createDatabaseUnion().CreateOptions = yyDollar[2].databaseOptionsUnion() @@ -8831,7 +8940,7 @@ yydefault: case 119: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:1029 +//line sql.y:1028 { yyLOCAL = false } @@ -8839,33 +8948,33 @@ yydefault: case 120: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:1033 +//line sql.y:1032 { yyLOCAL = true } yyVAL.union = yyLOCAL case 121: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1038 +//line sql.y:1037 { yyVAL.colIdent = NewColIdent("") } case 122: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1042 +//line sql.y:1041 { yyVAL.colIdent = yyDollar[2].colIdent } case 123: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1048 +//line sql.y:1047 { yyVAL.colIdent = yyDollar[1].colIdent } case 124: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []VindexParam -//line sql.y:1053 +//line sql.y:1052 { var v []VindexParam yyLOCAL = v @@ -8874,7 +8983,7 @@ yydefault: case 125: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []VindexParam -//line sql.y:1058 +//line sql.y:1057 { yyLOCAL = yyDollar[2].vindexParamsUnion() } @@ -8882,7 +8991,7 @@ yydefault: case 126: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []VindexParam -//line sql.y:1064 +//line sql.y:1063 { yyLOCAL = make([]VindexParam, 0, 4) yyLOCAL = append(yyLOCAL, yyDollar[1].vindexParam) @@ -8890,21 +8999,21 @@ yydefault: yyVAL.union = yyLOCAL case 127: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1069 +//line sql.y:1068 { yySLICE := (*[]VindexParam)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].vindexParam) } case 128: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1075 +//line sql.y:1074 { yyVAL.vindexParam = VindexParam{Key: yyDollar[1].colIdent, Val: yyDollar[3].str} } case 129: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*JSONObjectParam -//line sql.y:1080 +//line sql.y:1079 { yyLOCAL = nil } @@ -8912,7 +9021,7 @@ yydefault: case 130: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*JSONObjectParam -//line sql.y:1084 +//line sql.y:1083 { yyLOCAL = yyDollar[1].jsonObjectParamsUnion() } @@ -8920,28 +9029,28 @@ yydefault: case 131: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*JSONObjectParam -//line sql.y:1090 +//line sql.y:1089 { yyLOCAL = []*JSONObjectParam{yyDollar[1].jsonObjectParam} } yyVAL.union = yyLOCAL case 132: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1094 +//line sql.y:1093 { yySLICE := (*[]*JSONObjectParam)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].jsonObjectParam) } case 133: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1100 +//line sql.y:1099 { yyVAL.jsonObjectParam = &JSONObjectParam{Key: yyDollar[1].exprUnion(), Value: yyDollar[3].exprUnion()} } case 134: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *CreateTable -//line sql.y:1106 +//line sql.y:1105 { yyLOCAL = &CreateTable{Comments: Comments(yyDollar[2].strs).Parsed(), Table: yyDollar[6].tableName, IfNotExists: yyDollar[5].booleanUnion(), Temp: yyDollar[3].booleanUnion()} setDDL(yylex, yyLOCAL) @@ -8950,7 +9059,7 @@ yydefault: case 135: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *AlterTable -//line sql.y:1113 +//line sql.y:1112 { yyLOCAL = &AlterTable{Comments: Comments(yyDollar[2].strs).Parsed(), Table: yyDollar[4].tableName} setDDL(yylex, yyLOCAL) @@ -8959,7 +9068,7 @@ yydefault: case 136: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *AlterTable -//line sql.y:1120 +//line sql.y:1119 { 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()}}}} setDDL(yylex, yyLOCAL) @@ -8968,7 +9077,7 @@ yydefault: case 137: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *AlterTable -//line sql.y:1125 +//line sql.y:1124 { 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()}}}} setDDL(yylex, yyLOCAL) @@ -8977,7 +9086,7 @@ yydefault: case 138: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *AlterTable -//line sql.y:1130 +//line sql.y:1129 { 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()}}}} setDDL(yylex, yyLOCAL) @@ -8986,7 +9095,7 @@ yydefault: case 139: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *AlterTable -//line sql.y:1135 +//line sql.y:1134 { 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()}}}} setDDL(yylex, yyLOCAL) @@ -8995,7 +9104,7 @@ yydefault: case 140: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *CreateDatabase -//line sql.y:1142 +//line sql.y:1141 { yyLOCAL = &CreateDatabase{Comments: Comments(yyDollar[4].strs).Parsed(), DBName: yyDollar[6].tableIdent, IfNotExists: yyDollar[5].booleanUnion()} setDDL(yylex, yyLOCAL) @@ -9004,7 +9113,7 @@ yydefault: case 141: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *AlterDatabase -//line sql.y:1149 +//line sql.y:1148 { yyLOCAL = &AlterDatabase{} setDDL(yylex, yyLOCAL) @@ -9013,7 +9122,7 @@ yydefault: case 144: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *TableSpec -//line sql.y:1160 +//line sql.y:1159 { yyLOCAL = yyDollar[2].tableSpecUnion() yyLOCAL.Options = yyDollar[4].tableOptionsUnion() @@ -9023,7 +9132,7 @@ yydefault: case 145: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []DatabaseOption -//line sql.y:1167 +//line sql.y:1166 { yyLOCAL = nil } @@ -9031,7 +9140,7 @@ yydefault: case 146: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []DatabaseOption -//line sql.y:1171 +//line sql.y:1170 { yyLOCAL = yyDollar[1].databaseOptionsUnion() } @@ -9039,7 +9148,7 @@ yydefault: case 147: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []DatabaseOption -//line sql.y:1177 +//line sql.y:1176 { yyLOCAL = []DatabaseOption{yyDollar[1].databaseOption} } @@ -9047,7 +9156,7 @@ yydefault: case 148: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []DatabaseOption -//line sql.y:1181 +//line sql.y:1180 { yyLOCAL = []DatabaseOption{yyDollar[1].databaseOption} } @@ -9055,28 +9164,28 @@ yydefault: case 149: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []DatabaseOption -//line sql.y:1185 +//line sql.y:1184 { yyLOCAL = []DatabaseOption{yyDollar[1].databaseOption} } yyVAL.union = yyLOCAL case 150: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1189 +//line sql.y:1188 { yySLICE := (*[]DatabaseOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].databaseOption) } case 151: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1193 +//line sql.y:1192 { yySLICE := (*[]DatabaseOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].databaseOption) } case 152: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1197 +//line sql.y:1196 { yySLICE := (*[]DatabaseOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].databaseOption) @@ -9084,7 +9193,7 @@ yydefault: case 153: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:1203 +//line sql.y:1202 { yyLOCAL = false } @@ -9092,51 +9201,51 @@ yydefault: case 154: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:1207 +//line sql.y:1206 { yyLOCAL = true } yyVAL.union = yyLOCAL case 155: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1213 +//line sql.y:1212 { yyVAL.databaseOption = DatabaseOption{Type: CharacterSetType, Value: (yyDollar[4].colIdent.String()), IsDefault: yyDollar[1].booleanUnion()} } case 156: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1217 +//line sql.y:1216 { yyVAL.databaseOption = DatabaseOption{Type: CharacterSetType, Value: (encodeSQLString(yyDollar[4].str)), IsDefault: yyDollar[1].booleanUnion()} } case 157: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1223 +//line sql.y:1222 { yyVAL.databaseOption = DatabaseOption{Type: CollateType, Value: (yyDollar[4].colIdent.String()), IsDefault: yyDollar[1].booleanUnion()} } case 158: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1227 +//line sql.y:1226 { yyVAL.databaseOption = DatabaseOption{Type: CollateType, Value: (encodeSQLString(yyDollar[4].str)), IsDefault: yyDollar[1].booleanUnion()} } case 159: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1233 +//line sql.y:1232 { yyVAL.databaseOption = DatabaseOption{Type: EncryptionType, Value: (yyDollar[4].colIdent.String()), IsDefault: yyDollar[1].booleanUnion()} } case 160: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1237 +//line sql.y:1236 { yyVAL.databaseOption = DatabaseOption{Type: EncryptionType, Value: (encodeSQLString(yyDollar[4].str)), IsDefault: yyDollar[1].booleanUnion()} } case 161: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *OptLike -//line sql.y:1243 +//line sql.y:1242 { yyLOCAL = &OptLike{LikeTable: yyDollar[2].tableName} } @@ -9144,7 +9253,7 @@ yydefault: case 162: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *OptLike -//line sql.y:1247 +//line sql.y:1246 { yyLOCAL = &OptLike{LikeTable: yyDollar[3].tableName} } @@ -9152,14 +9261,14 @@ yydefault: case 163: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*ColumnDefinition -//line sql.y:1253 +//line sql.y:1252 { yyLOCAL = []*ColumnDefinition{yyDollar[1].columnDefinitionUnion()} } yyVAL.union = yyLOCAL case 164: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1257 +//line sql.y:1256 { yySLICE := (*[]*ColumnDefinition)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].columnDefinitionUnion()) @@ -9167,7 +9276,7 @@ yydefault: case 165: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *TableSpec -//line sql.y:1263 +//line sql.y:1262 { yyLOCAL = &TableSpec{} yyLOCAL.AddColumn(yyDollar[1].columnDefinitionUnion()) @@ -9176,7 +9285,7 @@ yydefault: case 166: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *TableSpec -//line sql.y:1268 +//line sql.y:1267 { yyLOCAL = &TableSpec{} yyLOCAL.AddConstraint(yyDollar[1].constraintDefinitionUnion()) @@ -9184,39 +9293,39 @@ yydefault: yyVAL.union = yyLOCAL case 167: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1273 +//line sql.y:1272 { yyVAL.tableSpecUnion().AddColumn(yyDollar[3].columnDefinitionUnion()) } case 168: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1277 +//line sql.y:1276 { yyVAL.tableSpecUnion().AddColumn(yyDollar[3].columnDefinitionUnion()) yyVAL.tableSpecUnion().AddConstraint(yyDollar[4].constraintDefinitionUnion()) } case 169: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1282 +//line sql.y:1281 { yyVAL.tableSpecUnion().AddIndex(yyDollar[3].indexDefinitionUnion()) } case 170: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1286 +//line sql.y:1285 { yyVAL.tableSpecUnion().AddConstraint(yyDollar[3].constraintDefinitionUnion()) } case 171: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1290 +//line sql.y:1289 { yyVAL.tableSpecUnion().AddConstraint(yyDollar[3].constraintDefinitionUnion()) } case 172: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ColumnDefinition -//line sql.y:1301 +//line sql.y:1300 { yyDollar[2].columnType.Options = yyDollar[4].columnTypeOptionsUnion() if yyDollar[2].columnType.Options.Collate == "" { @@ -9229,7 +9338,7 @@ yydefault: case 173: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL *ColumnDefinition -//line sql.y:1310 +//line sql.y:1309 { yyDollar[2].columnType.Options = yyDollar[9].columnTypeOptionsUnion() yyDollar[2].columnType.Options.As = yyDollar[7].exprUnion() @@ -9240,20 +9349,20 @@ yydefault: yyVAL.union = yyLOCAL case 174: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1319 +//line sql.y:1318 { yyVAL.str = "" } case 175: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1323 +//line sql.y:1322 { yyVAL.str = "" } case 176: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1332 +//line sql.y:1331 { yyLOCAL = &ColumnTypeOptions{Null: nil, Default: nil, OnUpdate: nil, Autoincrement: false, KeyOpt: colKeyNone, Comment: nil, As: nil, Invisible: nil, Format: UnspecifiedFormat, EngineAttribute: nil, SecondaryEngineAttribute: nil} } @@ -9261,7 +9370,7 @@ yydefault: case 177: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1336 +//line sql.y:1335 { val := true yyDollar[1].columnTypeOptionsUnion().Null = &val @@ -9271,7 +9380,7 @@ yydefault: case 178: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1342 +//line sql.y:1341 { val := false yyDollar[1].columnTypeOptionsUnion().Null = &val @@ -9281,7 +9390,7 @@ yydefault: case 179: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1348 +//line sql.y:1347 { yyDollar[1].columnTypeOptionsUnion().Default = yyDollar[4].exprUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9290,7 +9399,7 @@ yydefault: case 180: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1353 +//line sql.y:1352 { yyDollar[1].columnTypeOptionsUnion().Default = yyDollar[3].exprUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9299,7 +9408,7 @@ yydefault: case 181: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1358 +//line sql.y:1357 { yyDollar[1].columnTypeOptionsUnion().OnUpdate = yyDollar[4].exprUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9308,7 +9417,7 @@ yydefault: case 182: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1363 +//line sql.y:1362 { yyDollar[1].columnTypeOptionsUnion().Autoincrement = true yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9317,7 +9426,7 @@ yydefault: case 183: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1368 +//line sql.y:1367 { yyDollar[1].columnTypeOptionsUnion().Comment = NewStrLiteral(yyDollar[3].str) yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9326,7 +9435,7 @@ yydefault: case 184: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1373 +//line sql.y:1372 { yyDollar[1].columnTypeOptionsUnion().KeyOpt = yyDollar[2].colKeyOptUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9334,14 +9443,14 @@ yydefault: yyVAL.union = yyLOCAL case 185: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1378 +//line sql.y:1377 { yyDollar[1].columnTypeOptionsUnion().Collate = encodeSQLString(yyDollar[3].str) } case 186: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1382 +//line sql.y:1381 { yyDollar[1].columnTypeOptionsUnion().Collate = string(yyDollar[3].colIdent.String()) yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9349,14 +9458,14 @@ yydefault: yyVAL.union = yyLOCAL case 187: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1387 +//line sql.y:1386 { yyDollar[1].columnTypeOptionsUnion().Format = yyDollar[3].columnFormatUnion() } case 188: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1391 +//line sql.y:1390 { yyDollar[1].columnTypeOptionsUnion().SRID = NewIntLiteral(yyDollar[3].str) yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9365,7 +9474,7 @@ yydefault: case 189: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1396 +//line sql.y:1395 { val := false yyDollar[1].columnTypeOptionsUnion().Invisible = &val @@ -9375,7 +9484,7 @@ yydefault: case 190: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1402 +//line sql.y:1401 { val := true yyDollar[1].columnTypeOptionsUnion().Invisible = &val @@ -9384,20 +9493,20 @@ yydefault: yyVAL.union = yyLOCAL case 191: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1408 +//line sql.y:1407 { yyDollar[1].columnTypeOptionsUnion().EngineAttribute = NewStrLiteral(yyDollar[4].str) } case 192: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1412 +//line sql.y:1411 { yyDollar[1].columnTypeOptionsUnion().SecondaryEngineAttribute = NewStrLiteral(yyDollar[4].str) } case 193: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnFormat -//line sql.y:1418 +//line sql.y:1417 { yyLOCAL = FixedFormat } @@ -9405,7 +9514,7 @@ yydefault: case 194: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnFormat -//line sql.y:1422 +//line sql.y:1421 { yyLOCAL = DynamicFormat } @@ -9413,7 +9522,7 @@ yydefault: case 195: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnFormat -//line sql.y:1426 +//line sql.y:1425 { yyLOCAL = DefaultFormat } @@ -9421,7 +9530,7 @@ yydefault: case 196: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnStorage -//line sql.y:1432 +//line sql.y:1431 { yyLOCAL = VirtualStorage } @@ -9429,7 +9538,7 @@ yydefault: case 197: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnStorage -//line sql.y:1436 +//line sql.y:1435 { yyLOCAL = StoredStorage } @@ -9437,7 +9546,7 @@ yydefault: case 198: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1441 +//line sql.y:1440 { yyLOCAL = &ColumnTypeOptions{} } @@ -9445,7 +9554,7 @@ yydefault: case 199: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1445 +//line sql.y:1444 { yyDollar[1].columnTypeOptionsUnion().Storage = yyDollar[2].columnStorageUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9454,7 +9563,7 @@ yydefault: case 200: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1450 +//line sql.y:1449 { val := true yyDollar[1].columnTypeOptionsUnion().Null = &val @@ -9464,7 +9573,7 @@ yydefault: case 201: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1456 +//line sql.y:1455 { val := false yyDollar[1].columnTypeOptionsUnion().Null = &val @@ -9474,7 +9583,7 @@ yydefault: case 202: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1462 +//line sql.y:1461 { yyDollar[1].columnTypeOptionsUnion().Comment = NewStrLiteral(yyDollar[3].str) yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9483,7 +9592,7 @@ yydefault: case 203: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1467 +//line sql.y:1466 { yyDollar[1].columnTypeOptionsUnion().KeyOpt = yyDollar[2].colKeyOptUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9492,7 +9601,7 @@ yydefault: case 204: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1472 +//line sql.y:1471 { val := false yyDollar[1].columnTypeOptionsUnion().Invisible = &val @@ -9502,7 +9611,7 @@ yydefault: case 205: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1478 +//line sql.y:1477 { val := true yyDollar[1].columnTypeOptionsUnion().Invisible = &val @@ -9512,7 +9621,7 @@ yydefault: case 206: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1486 +//line sql.y:1485 { yyLOCAL = yyDollar[1].exprUnion() } @@ -9520,7 +9629,7 @@ yydefault: case 208: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1493 +//line sql.y:1492 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("current_timestamp"), Fsp: yyDollar[2].exprUnion()} } @@ -9528,7 +9637,7 @@ yydefault: case 209: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1497 +//line sql.y:1496 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("localtime"), Fsp: yyDollar[2].exprUnion()} } @@ -9536,7 +9645,7 @@ yydefault: case 210: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1501 +//line sql.y:1500 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("localtimestamp"), Fsp: yyDollar[2].exprUnion()} } @@ -9544,7 +9653,7 @@ yydefault: case 211: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1505 +//line sql.y:1504 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("utc_timestamp"), Fsp: yyDollar[2].exprUnion()} } @@ -9552,7 +9661,7 @@ yydefault: case 212: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1509 +//line sql.y:1508 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("now"), Fsp: yyDollar[2].exprUnion()} } @@ -9560,7 +9669,7 @@ yydefault: case 215: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1520 +//line sql.y:1518 { yyLOCAL = &NullVal{} } @@ -9568,7 +9677,7 @@ yydefault: case 217: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1527 +//line sql.y:1525 { yyLOCAL = yyDollar[2].exprUnion() } @@ -9576,7 +9685,7 @@ yydefault: case 218: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1531 +//line sql.y:1529 { yyLOCAL = &UnaryExpr{Operator: UMinusOp, Expr: yyDollar[2].exprUnion()} } @@ -9584,7 +9693,7 @@ yydefault: case 219: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1537 +//line sql.y:1535 { yyLOCAL = yyDollar[1].exprUnion() } @@ -9592,7 +9701,7 @@ yydefault: case 220: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1541 +//line sql.y:1539 { yyLOCAL = yyDollar[1].exprUnion() } @@ -9600,7 +9709,7 @@ yydefault: case 221: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1545 +//line sql.y:1543 { yyLOCAL = yyDollar[1].boolValUnion() } @@ -9608,7 +9717,7 @@ yydefault: case 222: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1549 +//line sql.y:1547 { yyLOCAL = NewHexLiteral(yyDollar[1].str) } @@ -9616,7 +9725,7 @@ yydefault: case 223: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1553 +//line sql.y:1551 { yyLOCAL = NewHexNumLiteral(yyDollar[1].str) } @@ -9624,7 +9733,7 @@ yydefault: case 224: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1557 +//line sql.y:1555 { yyLOCAL = NewBitLiteral(yyDollar[1].str) } @@ -9632,7 +9741,7 @@ yydefault: case 225: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1561 +//line sql.y:1559 { yyLOCAL = NewArgument(yyDollar[1].str[1:]) bindVariable(yylex, yyDollar[1].str[1:]) @@ -9641,7 +9750,7 @@ yydefault: case 226: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1566 +//line sql.y:1564 { yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewBitLiteral(yyDollar[2].str)} } @@ -9649,7 +9758,7 @@ yydefault: case 227: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1570 +//line sql.y:1568 { yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewHexNumLiteral(yyDollar[2].str)} } @@ -9657,7 +9766,7 @@ yydefault: case 228: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1574 +//line sql.y:1572 { yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewHexLiteral(yyDollar[2].str)} } @@ -9665,7 +9774,7 @@ yydefault: case 229: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1578 +//line sql.y:1576 { yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: yyDollar[2].colNameUnion()} } @@ -9673,7 +9782,7 @@ yydefault: case 230: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1582 +//line sql.y:1580 { bindVariable(yylex, yyDollar[2].str[1:]) yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewArgument(yyDollar[2].str[1:])} @@ -9681,260 +9790,260 @@ yydefault: yyVAL.union = yyLOCAL case 231: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1589 +//line sql.y:1587 { yyVAL.str = Armscii8Str } case 232: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1593 +//line sql.y:1591 { yyVAL.str = ASCIIStr } case 233: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1597 +//line sql.y:1595 { yyVAL.str = Big5Str } case 234: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1601 +//line sql.y:1599 { yyVAL.str = UBinaryStr } case 235: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1605 +//line sql.y:1603 { yyVAL.str = Cp1250Str } case 236: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1609 +//line sql.y:1607 { yyVAL.str = Cp1251Str } case 237: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1613 +//line sql.y:1611 { yyVAL.str = Cp1256Str } case 238: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1617 +//line sql.y:1615 { yyVAL.str = Cp1257Str } case 239: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1621 +//line sql.y:1619 { yyVAL.str = Cp850Str } case 240: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1625 +//line sql.y:1623 { yyVAL.str = Cp852Str } case 241: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1629 +//line sql.y:1627 { yyVAL.str = Cp866Str } case 242: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1633 +//line sql.y:1631 { yyVAL.str = Cp932Str } case 243: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1637 +//line sql.y:1635 { yyVAL.str = Dec8Str } case 244: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1641 +//line sql.y:1639 { yyVAL.str = EucjpmsStr } case 245: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1645 +//line sql.y:1643 { yyVAL.str = EuckrStr } case 246: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1649 +//line sql.y:1647 { yyVAL.str = Gb18030Str } case 247: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1653 +//line sql.y:1651 { yyVAL.str = Gb2312Str } case 248: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1657 +//line sql.y:1655 { yyVAL.str = GbkStr } case 249: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1661 +//line sql.y:1659 { yyVAL.str = Geostd8Str } case 250: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1665 +//line sql.y:1663 { yyVAL.str = GreekStr } case 251: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1669 +//line sql.y:1667 { yyVAL.str = HebrewStr } case 252: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1673 +//line sql.y:1671 { yyVAL.str = Hp8Str } case 253: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1677 +//line sql.y:1675 { yyVAL.str = Keybcs2Str } case 254: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1681 +//line sql.y:1679 { yyVAL.str = Koi8rStr } case 255: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1685 +//line sql.y:1683 { yyVAL.str = Koi8uStr } case 256: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1689 +//line sql.y:1687 { yyVAL.str = Latin1Str } case 257: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1693 +//line sql.y:1691 { yyVAL.str = Latin2Str } case 258: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1697 +//line sql.y:1695 { yyVAL.str = Latin5Str } case 259: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1701 +//line sql.y:1699 { yyVAL.str = Latin7Str } case 260: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1705 +//line sql.y:1703 { yyVAL.str = MacceStr } case 261: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1709 +//line sql.y:1707 { yyVAL.str = MacromanStr } case 262: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1713 +//line sql.y:1711 { yyVAL.str = SjisStr } case 263: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1717 +//line sql.y:1715 { yyVAL.str = Swe7Str } case 264: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1721 +//line sql.y:1719 { yyVAL.str = Tis620Str } case 265: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1725 +//line sql.y:1723 { yyVAL.str = Ucs2Str } case 266: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1729 +//line sql.y:1727 { yyVAL.str = UjisStr } case 267: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1733 +//line sql.y:1731 { yyVAL.str = Utf16Str } case 268: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1737 +//line sql.y:1735 { yyVAL.str = Utf16leStr } case 269: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1741 +//line sql.y:1739 { yyVAL.str = Utf32Str } case 270: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1745 +//line sql.y:1743 { yyVAL.str = Utf8Str } case 271: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1749 +//line sql.y:1747 { yyVAL.str = Utf8mb4Str } case 272: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1753 +//line sql.y:1751 { yyVAL.str = Utf8Str } case 275: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1763 +//line sql.y:1761 { yyLOCAL = NewIntLiteral(yyDollar[1].str) } @@ -9942,7 +10051,7 @@ yydefault: case 276: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1767 +//line sql.y:1765 { yyLOCAL = NewFloatLiteral(yyDollar[1].str) } @@ -9950,7 +10059,7 @@ yydefault: case 277: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1771 +//line sql.y:1769 { yyLOCAL = NewDecimalLiteral(yyDollar[1].str) } @@ -9958,7 +10067,7 @@ yydefault: case 278: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1777 +//line sql.y:1775 { yyLOCAL = NewStrLiteral(yyDollar[1].str) } @@ -9966,7 +10075,7 @@ yydefault: case 279: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1781 +//line sql.y:1779 { yyLOCAL = &UnaryExpr{Operator: NStringOp, Expr: NewStrLiteral(yyDollar[1].str)} } @@ -9974,7 +10083,7 @@ yydefault: case 280: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1785 +//line sql.y:1783 { yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewStrLiteral(yyDollar[2].str)} } @@ -9982,7 +10091,7 @@ yydefault: case 281: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1791 +//line sql.y:1789 { yyLOCAL = yyDollar[1].exprUnion() } @@ -9990,7 +10099,7 @@ yydefault: case 282: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1795 +//line sql.y:1793 { yyLOCAL = NewArgument(yyDollar[1].str[1:]) bindVariable(yylex, yyDollar[1].str[1:]) @@ -9999,7 +10108,7 @@ yydefault: case 283: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ColumnKeyOption -//line sql.y:1802 +//line sql.y:1800 { yyLOCAL = colKeyPrimary } @@ -10007,7 +10116,7 @@ yydefault: case 284: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnKeyOption -//line sql.y:1806 +//line sql.y:1804 { yyLOCAL = colKeyUnique } @@ -10015,7 +10124,7 @@ yydefault: case 285: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ColumnKeyOption -//line sql.y:1810 +//line sql.y:1808 { yyLOCAL = colKeyUniqueKey } @@ -10023,14 +10132,14 @@ yydefault: case 286: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnKeyOption -//line sql.y:1814 +//line sql.y:1812 { yyLOCAL = colKey } yyVAL.union = yyLOCAL case 287: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1820 +//line sql.y:1818 { yyVAL.columnType = yyDollar[1].columnType yyVAL.columnType.Unsigned = yyDollar[2].booleanUnion() @@ -10038,74 +10147,74 @@ yydefault: } case 291: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1831 +//line sql.y:1829 { yyVAL.columnType = yyDollar[1].columnType yyVAL.columnType.Length = yyDollar[2].literalUnion() } case 292: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1836 +//line sql.y:1834 { yyVAL.columnType = yyDollar[1].columnType } case 293: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1842 +//line sql.y:1840 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 294: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1846 +//line sql.y:1844 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 295: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1850 +//line sql.y:1848 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 296: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1854 +//line sql.y:1852 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 297: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1858 +//line sql.y:1856 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 298: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1862 +//line sql.y:1860 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 299: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1866 +//line sql.y:1864 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 300: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1870 +//line sql.y:1868 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 301: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1874 +//line sql.y:1872 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 302: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1880 +//line sql.y:1878 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -10113,7 +10222,7 @@ yydefault: } case 303: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1886 +//line sql.y:1884 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -10121,7 +10230,7 @@ yydefault: } case 304: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1892 +//line sql.y:1890 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -10129,7 +10238,7 @@ yydefault: } case 305: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1898 +//line sql.y:1896 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -10137,7 +10246,7 @@ yydefault: } case 306: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1904 +//line sql.y:1902 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -10145,43 +10254,43 @@ yydefault: } case 307: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1912 +//line sql.y:1910 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 308: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1916 +//line sql.y:1914 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 309: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1920 +//line sql.y:1918 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 310: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1924 +//line sql.y:1922 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 311: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1928 +//line sql.y:1926 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 312: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1934 +//line sql.y:1932 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion(), Charset: yyDollar[3].columnCharset} } case 313: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1938 +//line sql.y:1936 { // CHAR BYTE is an alias for binary. See also: // https://dev.mysql.com/doc/refman/8.0/en/string-type-syntax.html @@ -10189,153 +10298,153 @@ yydefault: } case 314: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1944 +//line sql.y:1942 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion(), Charset: yyDollar[3].columnCharset} } case 315: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1948 +//line sql.y:1946 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 316: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1952 +//line sql.y:1950 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 317: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1956 +//line sql.y:1954 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset} } case 318: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1960 +//line sql.y:1958 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset} } case 319: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1964 +//line sql.y:1962 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset} } case 320: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1968 +//line sql.y:1966 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset} } case 321: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1972 +//line sql.y:1970 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 322: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1976 +//line sql.y:1974 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 323: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1980 +//line sql.y:1978 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 324: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1984 +//line sql.y:1982 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 325: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1988 +//line sql.y:1986 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 326: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1992 +//line sql.y:1990 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].columnCharset} } case 327: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1997 +//line sql.y:1995 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].columnCharset} } case 328: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2003 +//line sql.y:2001 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 329: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2007 +//line sql.y:2005 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 330: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2011 +//line sql.y:2009 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 331: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2015 +//line sql.y:2013 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 332: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2019 +//line sql.y:2017 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 333: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2023 +//line sql.y:2021 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 334: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2027 +//line sql.y:2025 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 335: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2031 +//line sql.y:2029 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 336: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2037 +//line sql.y:2035 { yyVAL.strs = make([]string, 0, 4) yyVAL.strs = append(yyVAL.strs, encodeSQLString(yyDollar[1].str)) } case 337: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2042 +//line sql.y:2040 { yyVAL.strs = append(yyDollar[1].strs, encodeSQLString(yyDollar[3].str)) } case 338: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *Literal -//line sql.y:2047 +//line sql.y:2045 { yyLOCAL = nil } @@ -10343,20 +10452,20 @@ yydefault: case 339: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *Literal -//line sql.y:2051 +//line sql.y:2049 { yyLOCAL = NewIntLiteral(yyDollar[2].str) } yyVAL.union = yyLOCAL case 340: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2056 +//line sql.y:2054 { yyVAL.LengthScaleOption = LengthScaleOption{} } case 341: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2060 +//line sql.y:2058 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: NewIntLiteral(yyDollar[2].str), @@ -10365,13 +10474,13 @@ yydefault: } case 342: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2068 +//line sql.y:2066 { yyVAL.LengthScaleOption = LengthScaleOption{} } case 343: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2072 +//line sql.y:2070 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: NewIntLiteral(yyDollar[2].str), @@ -10379,7 +10488,7 @@ yydefault: } case 344: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2078 +//line sql.y:2076 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: NewIntLiteral(yyDollar[2].str), @@ -10389,7 +10498,7 @@ yydefault: case 345: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:2086 +//line sql.y:2084 { yyLOCAL = false } @@ -10397,7 +10506,7 @@ yydefault: case 346: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2090 +//line sql.y:2088 { yyLOCAL = true } @@ -10405,7 +10514,7 @@ yydefault: case 347: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2094 +//line sql.y:2092 { yyLOCAL = false } @@ -10413,7 +10522,7 @@ yydefault: case 348: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:2099 +//line sql.y:2097 { yyLOCAL = false } @@ -10421,66 +10530,66 @@ yydefault: case 349: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2103 +//line sql.y:2101 { yyLOCAL = true } yyVAL.union = yyLOCAL case 350: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2108 +//line sql.y:2106 { yyVAL.columnCharset = ColumnCharset{} } case 351: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2112 +//line sql.y:2110 { yyVAL.columnCharset = ColumnCharset{Name: string(yyDollar[2].colIdent.String()), Binary: yyDollar[3].booleanUnion()} } case 352: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2116 +//line sql.y:2114 { yyVAL.columnCharset = ColumnCharset{Name: encodeSQLString(yyDollar[2].str), Binary: yyDollar[3].booleanUnion()} } case 353: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2120 +//line sql.y:2118 { yyVAL.columnCharset = ColumnCharset{Name: string(yyDollar[2].str)} } case 354: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2124 +//line sql.y:2122 { // ASCII: Shorthand for CHARACTER SET latin1. yyVAL.columnCharset = ColumnCharset{Name: "latin1", Binary: yyDollar[2].booleanUnion()} } case 355: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2129 +//line sql.y:2127 { // UNICODE: Shorthand for CHARACTER SET ucs2. yyVAL.columnCharset = ColumnCharset{Name: "ucs2", Binary: yyDollar[2].booleanUnion()} } case 356: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2134 +//line sql.y:2132 { // BINARY: Shorthand for default CHARACTER SET but with binary collation yyVAL.columnCharset = ColumnCharset{Name: "", Binary: true} } case 357: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2139 +//line sql.y:2137 { // BINARY ASCII: Shorthand for CHARACTER SET latin1 with binary collation yyVAL.columnCharset = ColumnCharset{Name: "latin1", Binary: true} } case 358: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2144 +//line sql.y:2142 { // BINARY UNICODE: Shorthand for CHARACTER SET ucs2 with binary collation yyVAL.columnCharset = ColumnCharset{Name: "ucs2", Binary: true} @@ -10488,7 +10597,7 @@ yydefault: case 359: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:2150 +//line sql.y:2148 { yyLOCAL = false } @@ -10496,33 +10605,33 @@ yydefault: case 360: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2154 +//line sql.y:2152 { yyLOCAL = true } yyVAL.union = yyLOCAL case 361: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2159 +//line sql.y:2157 { yyVAL.str = "" } case 362: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2163 +//line sql.y:2161 { yyVAL.str = string(yyDollar[2].colIdent.String()) } case 363: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2167 +//line sql.y:2165 { yyVAL.str = encodeSQLString(yyDollar[2].str) } case 364: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *IndexDefinition -//line sql.y:2174 +//line sql.y:2171 { yyLOCAL = &IndexDefinition{Info: yyDollar[1].indexInfoUnion(), Columns: yyDollar[3].indexColumnsUnion(), Options: yyDollar[5].indexOptionsUnion()} } @@ -10530,7 +10639,7 @@ yydefault: case 365: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:2179 +//line sql.y:2176 { yyLOCAL = nil } @@ -10538,7 +10647,7 @@ yydefault: case 366: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:2183 +//line sql.y:2180 { yyLOCAL = yyDollar[1].indexOptionsUnion() } @@ -10546,14 +10655,14 @@ yydefault: case 367: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:2189 +//line sql.y:2186 { yyLOCAL = []*IndexOption{yyDollar[1].indexOptionUnion()} } yyVAL.union = yyLOCAL case 368: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2193 +//line sql.y:2190 { yySLICE := (*[]*IndexOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].indexOptionUnion()) @@ -10561,7 +10670,7 @@ yydefault: case 369: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2199 +//line sql.y:2196 { yyLOCAL = yyDollar[1].indexOptionUnion() } @@ -10569,7 +10678,7 @@ yydefault: case 370: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2203 +//line sql.y:2200 { // should not be string yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} @@ -10578,7 +10687,7 @@ yydefault: case 371: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2208 +//line sql.y:2205 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[2].str)} } @@ -10586,7 +10695,7 @@ yydefault: case 372: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2212 +//line sql.y:2209 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str)} } @@ -10594,7 +10703,7 @@ yydefault: case 373: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2216 +//line sql.y:2213 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str)} } @@ -10602,7 +10711,7 @@ yydefault: case 374: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2220 +//line sql.y:2217 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str) + " " + string(yyDollar[2].str), String: yyDollar[3].colIdent.String()} } @@ -10610,7 +10719,7 @@ yydefault: case 375: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2224 +//line sql.y:2221 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -10618,27 +10727,27 @@ yydefault: case 376: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2228 +//line sql.y:2225 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } yyVAL.union = yyLOCAL case 377: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2234 +//line sql.y:2231 { yyVAL.str = "" } case 378: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2238 +//line sql.y:2235 { yyVAL.str = string(yyDollar[1].str) } case 379: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *IndexInfo -//line sql.y:2244 +//line sql.y:2241 { yyLOCAL = &IndexInfo{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), ConstraintName: NewColIdent(yyDollar[1].str), Name: NewColIdent("PRIMARY"), Primary: true, Unique: true} } @@ -10646,7 +10755,7 @@ yydefault: case 380: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexInfo -//line sql.y:2248 +//line sql.y:2245 { yyLOCAL = &IndexInfo{Type: string(yyDollar[1].str) + " " + string(yyDollar[2].str), Name: NewColIdent(yyDollar[3].str), Spatial: true, Unique: false} } @@ -10654,7 +10763,7 @@ yydefault: case 381: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexInfo -//line sql.y:2252 +//line sql.y:2249 { yyLOCAL = &IndexInfo{Type: string(yyDollar[1].str) + " " + string(yyDollar[2].str), Name: NewColIdent(yyDollar[3].str), Fulltext: true, Unique: false} } @@ -10662,7 +10771,7 @@ yydefault: case 382: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *IndexInfo -//line sql.y:2256 +//line sql.y:2253 { yyLOCAL = &IndexInfo{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), ConstraintName: NewColIdent(yyDollar[1].str), Name: NewColIdent(yyDollar[4].str), Unique: true} } @@ -10670,100 +10779,100 @@ yydefault: case 383: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *IndexInfo -//line sql.y:2260 +//line sql.y:2257 { yyLOCAL = &IndexInfo{Type: string(yyDollar[1].str), Name: NewColIdent(yyDollar[2].str), Unique: false} } yyVAL.union = yyLOCAL case 384: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2265 +//line sql.y:2262 { yyVAL.str = "" } case 385: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2269 +//line sql.y:2266 { yyVAL.str = yyDollar[2].str } case 386: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2275 +//line sql.y:2272 { yyVAL.str = string(yyDollar[1].str) } case 387: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2279 +//line sql.y:2276 { yyVAL.str = string(yyDollar[1].str) } case 388: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2283 +//line sql.y:2280 { yyVAL.str = string(yyDollar[1].str) } case 389: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2290 +//line sql.y:2286 { yyVAL.str = string(yyDollar[1].str) } case 390: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2294 +//line sql.y:2290 { yyVAL.str = string(yyDollar[1].str) } case 391: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2299 +//line sql.y:2295 { yyVAL.str = "key" } case 392: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2303 +//line sql.y:2299 { yyVAL.str = yyDollar[1].str } case 393: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2309 +//line sql.y:2305 { yyVAL.str = string(yyDollar[1].str) } case 394: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2313 +//line sql.y:2309 { yyVAL.str = string(yyDollar[1].str) } case 395: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2318 +//line sql.y:2314 { yyVAL.str = "" } case 396: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2322 +//line sql.y:2318 { yyVAL.str = string(yyDollar[1].colIdent.String()) } case 397: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*IndexColumn -//line sql.y:2328 +//line sql.y:2324 { yyLOCAL = []*IndexColumn{yyDollar[1].indexColumnUnion()} } yyVAL.union = yyLOCAL case 398: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2332 +//line sql.y:2328 { yySLICE := (*[]*IndexColumn)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].indexColumnUnion()) @@ -10771,7 +10880,7 @@ yydefault: case 399: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexColumn -//line sql.y:2338 +//line sql.y:2334 { yyLOCAL = &IndexColumn{Column: yyDollar[1].colIdent, Length: yyDollar[2].literalUnion(), Direction: yyDollar[3].orderDirectionUnion()} } @@ -10779,7 +10888,7 @@ yydefault: case 400: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *IndexColumn -//line sql.y:2342 +//line sql.y:2338 { yyLOCAL = &IndexColumn{Expression: yyDollar[2].exprUnion(), Direction: yyDollar[4].orderDirectionUnion()} } @@ -10787,7 +10896,7 @@ yydefault: case 401: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ConstraintDefinition -//line sql.y:2348 +//line sql.y:2344 { yyLOCAL = &ConstraintDefinition{Name: yyDollar[2].colIdent, Details: yyDollar[3].constraintInfoUnion()} } @@ -10795,7 +10904,7 @@ yydefault: case 402: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConstraintDefinition -//line sql.y:2352 +//line sql.y:2348 { yyLOCAL = &ConstraintDefinition{Details: yyDollar[1].constraintInfoUnion()} } @@ -10803,7 +10912,7 @@ yydefault: case 403: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ConstraintDefinition -//line sql.y:2358 +//line sql.y:2354 { yyLOCAL = &ConstraintDefinition{Name: yyDollar[2].colIdent, Details: yyDollar[3].constraintInfoUnion()} } @@ -10811,7 +10920,7 @@ yydefault: case 404: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConstraintDefinition -//line sql.y:2362 +//line sql.y:2358 { yyLOCAL = &ConstraintDefinition{Details: yyDollar[1].constraintInfoUnion()} } @@ -10819,7 +10928,7 @@ yydefault: case 405: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL ConstraintInfo -//line sql.y:2368 +//line sql.y:2364 { yyLOCAL = &ForeignKeyDefinition{IndexName: NewColIdent(yyDollar[3].str), Source: yyDollar[5].columnsUnion(), ReferenceDefinition: yyDollar[7].referenceDefinitionUnion()} } @@ -10827,7 +10936,7 @@ yydefault: case 406: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2374 +//line sql.y:2370 { yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion()} } @@ -10835,7 +10944,7 @@ yydefault: case 407: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2378 +//line sql.y:2374 { yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnDelete: yyDollar[7].referenceActionUnion()} } @@ -10843,7 +10952,7 @@ yydefault: case 408: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2382 +//line sql.y:2378 { yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnUpdate: yyDollar[7].referenceActionUnion()} } @@ -10851,7 +10960,7 @@ yydefault: case 409: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2386 +//line sql.y:2382 { yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnDelete: yyDollar[7].referenceActionUnion(), OnUpdate: yyDollar[8].referenceActionUnion()} } @@ -10859,7 +10968,7 @@ yydefault: case 410: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2390 +//line sql.y:2386 { yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnUpdate: yyDollar[7].referenceActionUnion(), OnDelete: yyDollar[8].referenceActionUnion()} } @@ -10867,7 +10976,7 @@ yydefault: case 411: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2395 +//line sql.y:2391 { yyLOCAL = nil } @@ -10875,7 +10984,7 @@ yydefault: case 412: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2399 +//line sql.y:2395 { yyLOCAL = yyDollar[1].referenceDefinitionUnion() } @@ -10883,7 +10992,7 @@ yydefault: case 413: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL ConstraintInfo -//line sql.y:2405 +//line sql.y:2401 { yyLOCAL = &CheckConstraintDefinition{Expr: yyDollar[3].exprUnion(), Enforced: yyDollar[5].booleanUnion()} } @@ -10891,7 +11000,7 @@ yydefault: case 414: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2411 +//line sql.y:2407 { yyLOCAL = yyDollar[2].matchActionUnion() } @@ -10899,7 +11008,7 @@ yydefault: case 415: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2417 +//line sql.y:2413 { yyLOCAL = Full } @@ -10907,7 +11016,7 @@ yydefault: case 416: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2421 +//line sql.y:2417 { yyLOCAL = Partial } @@ -10915,7 +11024,7 @@ yydefault: case 417: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2425 +//line sql.y:2421 { yyLOCAL = Simple } @@ -10923,7 +11032,7 @@ yydefault: case 418: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2430 +//line sql.y:2426 { yyLOCAL = DefaultMatch } @@ -10931,7 +11040,7 @@ yydefault: case 419: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2434 +//line sql.y:2430 { yyLOCAL = yyDollar[1].matchActionUnion() } @@ -10939,7 +11048,7 @@ yydefault: case 420: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2440 +//line sql.y:2436 { yyLOCAL = yyDollar[3].referenceActionUnion() } @@ -10947,7 +11056,7 @@ yydefault: case 421: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2446 +//line sql.y:2442 { yyLOCAL = yyDollar[3].referenceActionUnion() } @@ -10955,7 +11064,7 @@ yydefault: case 422: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2452 +//line sql.y:2448 { yyLOCAL = Restrict } @@ -10963,7 +11072,7 @@ yydefault: case 423: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2456 +//line sql.y:2452 { yyLOCAL = Cascade } @@ -10971,7 +11080,7 @@ yydefault: case 424: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2460 +//line sql.y:2456 { yyLOCAL = NoAction } @@ -10979,7 +11088,7 @@ yydefault: case 425: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2464 +//line sql.y:2460 { yyLOCAL = SetDefault } @@ -10987,33 +11096,33 @@ yydefault: case 426: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2468 +//line sql.y:2464 { yyLOCAL = SetNull } yyVAL.union = yyLOCAL case 427: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2473 +//line sql.y:2469 { yyVAL.str = "" } case 428: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2477 +//line sql.y:2473 { yyVAL.str = string(yyDollar[1].str) } case 429: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2481 +//line sql.y:2477 { yyVAL.str = string(yyDollar[1].str) } case 430: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2487 +//line sql.y:2483 { yyLOCAL = true } @@ -11021,7 +11130,7 @@ yydefault: case 431: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:2491 +//line sql.y:2487 { yyLOCAL = false } @@ -11029,7 +11138,7 @@ yydefault: case 432: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:2496 +//line sql.y:2492 { yyLOCAL = true } @@ -11037,7 +11146,7 @@ yydefault: case 433: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2500 +//line sql.y:2496 { yyLOCAL = yyDollar[1].booleanUnion() } @@ -11045,7 +11154,7 @@ yydefault: case 434: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL TableOptions -//line sql.y:2505 +//line sql.y:2501 { yyLOCAL = nil } @@ -11053,7 +11162,7 @@ yydefault: case 435: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableOptions -//line sql.y:2509 +//line sql.y:2505 { yyLOCAL = yyDollar[1].tableOptionsUnion() } @@ -11061,21 +11170,21 @@ yydefault: case 436: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableOptions -//line sql.y:2515 +//line sql.y:2511 { yyLOCAL = TableOptions{yyDollar[1].tableOptionUnion()} } yyVAL.union = yyLOCAL case 437: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2519 +//line sql.y:2515 { yySLICE := (*TableOptions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableOptionUnion()) } case 438: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2523 +//line sql.y:2519 { yySLICE := (*TableOptions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].tableOptionUnion()) @@ -11083,14 +11192,14 @@ yydefault: case 439: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableOptions -//line sql.y:2529 +//line sql.y:2525 { yyLOCAL = TableOptions{yyDollar[1].tableOptionUnion()} } yyVAL.union = yyLOCAL case 440: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2533 +//line sql.y:2529 { yySLICE := (*TableOptions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].tableOptionUnion()) @@ -11098,7 +11207,7 @@ yydefault: case 441: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2539 +//line sql.y:2535 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11106,7 +11215,7 @@ yydefault: case 442: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2543 +//line sql.y:2539 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11114,7 +11223,7 @@ yydefault: case 443: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2547 +//line sql.y:2543 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11122,7 +11231,7 @@ yydefault: case 444: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2551 +//line sql.y:2547 { yyLOCAL = &TableOption{Name: (string(yyDollar[2].str)), String: yyDollar[4].str, CaseSensitive: true} } @@ -11130,7 +11239,7 @@ yydefault: case 445: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2555 +//line sql.y:2551 { yyLOCAL = &TableOption{Name: string(yyDollar[2].str), String: yyDollar[4].str, CaseSensitive: true} } @@ -11138,7 +11247,7 @@ yydefault: case 446: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2559 +//line sql.y:2555 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11146,7 +11255,7 @@ yydefault: case 447: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2563 +//line sql.y:2559 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11154,7 +11263,7 @@ yydefault: case 448: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2567 +//line sql.y:2563 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11162,7 +11271,7 @@ yydefault: case 449: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2571 +//line sql.y:2567 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11170,7 +11279,7 @@ yydefault: case 450: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2575 +//line sql.y:2571 { yyLOCAL = &TableOption{Name: (string(yyDollar[1].str) + " " + string(yyDollar[2].str)), Value: NewStrLiteral(yyDollar[4].str)} } @@ -11178,7 +11287,7 @@ yydefault: case 451: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2579 +//line sql.y:2575 { yyLOCAL = &TableOption{Name: (string(yyDollar[1].str) + " " + string(yyDollar[2].str)), Value: NewStrLiteral(yyDollar[4].str)} } @@ -11186,7 +11295,7 @@ yydefault: case 452: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2583 +//line sql.y:2579 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11194,7 +11303,7 @@ yydefault: case 453: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2587 +//line sql.y:2583 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11202,7 +11311,7 @@ yydefault: case 454: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2591 +//line sql.y:2587 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: yyDollar[3].tableIdent.String(), CaseSensitive: true} } @@ -11210,7 +11319,7 @@ yydefault: case 455: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2595 +//line sql.y:2591 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11218,7 +11327,7 @@ yydefault: case 456: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2599 +//line sql.y:2595 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} } @@ -11226,7 +11335,7 @@ yydefault: case 457: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2603 +//line sql.y:2599 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11234,7 +11343,7 @@ yydefault: case 458: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2607 +//line sql.y:2603 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11242,7 +11351,7 @@ yydefault: case 459: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2611 +//line sql.y:2607 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11250,7 +11359,7 @@ yydefault: case 460: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2615 +//line sql.y:2611 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11258,7 +11367,7 @@ yydefault: case 461: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2619 +//line sql.y:2615 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} } @@ -11266,7 +11375,7 @@ yydefault: case 462: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2623 +//line sql.y:2619 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11274,7 +11383,7 @@ yydefault: case 463: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2627 +//line sql.y:2623 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} } @@ -11282,7 +11391,7 @@ yydefault: case 464: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2631 +//line sql.y:2627 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11290,7 +11399,7 @@ yydefault: case 465: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2635 +//line sql.y:2631 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11298,7 +11407,7 @@ yydefault: case 466: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2639 +//line sql.y:2635 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} } @@ -11306,7 +11415,7 @@ yydefault: case 467: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2643 +//line sql.y:2639 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11314,7 +11423,7 @@ yydefault: case 468: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2647 +//line sql.y:2643 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} } @@ -11322,7 +11431,7 @@ yydefault: case 469: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2651 +//line sql.y:2647 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11330,7 +11439,7 @@ yydefault: case 470: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2655 +//line sql.y:2651 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: (yyDollar[3].colIdent.String() + yyDollar[4].str)} } @@ -11338,57 +11447,57 @@ yydefault: case 471: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2659 +//line sql.y:2655 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Tables: yyDollar[4].tableNamesUnion()} } yyVAL.union = yyLOCAL case 472: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2664 +//line sql.y:2660 { yyVAL.str = "" } case 473: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2668 +//line sql.y:2664 { yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 474: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2672 +//line sql.y:2668 { yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 484: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2691 +//line sql.y:2687 { yyVAL.str = yyDollar[1].colIdent.String() } case 485: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2695 +//line sql.y:2691 { yyVAL.str = encodeSQLString(yyDollar[1].str) } case 486: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2699 +//line sql.y:2695 { yyVAL.str = string(yyDollar[1].str) } case 487: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2704 +//line sql.y:2700 { yyVAL.str = "" } case 489: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:2710 +//line sql.y:2706 { yyLOCAL = false } @@ -11396,7 +11505,7 @@ yydefault: case 490: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2714 +//line sql.y:2710 { yyLOCAL = true } @@ -11404,7 +11513,7 @@ yydefault: case 491: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ColName -//line sql.y:2719 +//line sql.y:2715 { yyLOCAL = nil } @@ -11412,27 +11521,27 @@ yydefault: case 492: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColName -//line sql.y:2723 +//line sql.y:2719 { yyLOCAL = yyDollar[2].colNameUnion() } yyVAL.union = yyLOCAL case 493: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2728 +//line sql.y:2724 { yyVAL.str = "" } case 494: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2732 +//line sql.y:2728 { yyVAL.str = string(yyDollar[2].str) } case 495: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *Literal -//line sql.y:2737 +//line sql.y:2733 { yyLOCAL = nil } @@ -11440,7 +11549,7 @@ yydefault: case 496: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Literal -//line sql.y:2741 +//line sql.y:2737 { yyLOCAL = NewIntLiteral(yyDollar[2].str) } @@ -11448,7 +11557,7 @@ yydefault: case 497: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Literal -//line sql.y:2745 +//line sql.y:2741 { yyLOCAL = NewDecimalLiteral(yyDollar[2].str) } @@ -11456,7 +11565,7 @@ yydefault: case 498: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2750 +//line sql.y:2746 { yyLOCAL = nil } @@ -11464,14 +11573,14 @@ yydefault: case 499: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2754 +//line sql.y:2750 { yyLOCAL = yyDollar[1].alterOptionsUnion() } yyVAL.union = yyLOCAL case 500: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2758 +//line sql.y:2754 { yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, &OrderByOption{Cols: yyDollar[5].columnsUnion()}) @@ -11479,14 +11588,14 @@ yydefault: case 501: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2762 +//line sql.y:2758 { yyLOCAL = yyDollar[1].alterOptionsUnion() } yyVAL.union = yyLOCAL case 502: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2766 +//line sql.y:2762 { yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].alterOptionsUnion()...) @@ -11494,7 +11603,7 @@ yydefault: case 503: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2770 +//line sql.y:2766 { yyLOCAL = append(append(yyDollar[1].alterOptionsUnion(), yyDollar[3].alterOptionsUnion()...), &OrderByOption{Cols: yyDollar[7].columnsUnion()}) } @@ -11502,21 +11611,21 @@ yydefault: case 504: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2776 +//line sql.y:2772 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} } yyVAL.union = yyLOCAL case 505: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2780 +//line sql.y:2776 { yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion()) } case 506: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2784 +//line sql.y:2780 { yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion()) @@ -11524,7 +11633,7 @@ yydefault: case 507: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2790 +//line sql.y:2786 { yyLOCAL = yyDollar[1].tableOptionsUnion() } @@ -11532,7 +11641,7 @@ yydefault: case 508: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2794 +//line sql.y:2790 { yyLOCAL = &AddConstraintDefinition{ConstraintDefinition: yyDollar[2].constraintDefinitionUnion()} } @@ -11540,7 +11649,7 @@ yydefault: case 509: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2798 +//line sql.y:2794 { yyLOCAL = &AddConstraintDefinition{ConstraintDefinition: yyDollar[2].constraintDefinitionUnion()} } @@ -11548,7 +11657,7 @@ yydefault: case 510: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2802 +//line sql.y:2798 { yyLOCAL = &AddIndexDefinition{IndexDefinition: yyDollar[2].indexDefinitionUnion()} } @@ -11556,7 +11665,7 @@ yydefault: case 511: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2806 +//line sql.y:2802 { yyLOCAL = &AddColumns{Columns: yyDollar[4].columnDefinitionsUnion()} } @@ -11564,7 +11673,7 @@ yydefault: case 512: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2810 +//line sql.y:2806 { yyLOCAL = &AddColumns{Columns: []*ColumnDefinition{yyDollar[3].columnDefinitionUnion()}, First: yyDollar[4].booleanUnion(), After: yyDollar[5].colNameUnion()} } @@ -11572,7 +11681,7 @@ yydefault: case 513: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2814 +//line sql.y:2810 { yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: true} } @@ -11580,7 +11689,7 @@ yydefault: case 514: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2818 +//line sql.y:2814 { yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: false, DefaultVal: yyDollar[6].exprUnion()} } @@ -11588,7 +11697,7 @@ yydefault: case 515: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2822 +//line sql.y:2818 { yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: false, DefaultVal: yyDollar[7].exprUnion()} } @@ -11596,7 +11705,7 @@ yydefault: case 516: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2826 +//line sql.y:2822 { val := false yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), Invisible: &val} @@ -11605,7 +11714,7 @@ yydefault: case 517: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2831 +//line sql.y:2827 { val := true yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), Invisible: &val} @@ -11614,7 +11723,7 @@ yydefault: case 518: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2836 +//line sql.y:2832 { yyLOCAL = &AlterCheck{Name: yyDollar[3].colIdent, Enforced: yyDollar[4].booleanUnion()} } @@ -11622,7 +11731,7 @@ yydefault: case 519: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2840 +//line sql.y:2836 { yyLOCAL = &AlterIndex{Name: yyDollar[3].colIdent, Invisible: false} } @@ -11630,7 +11739,7 @@ yydefault: case 520: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2844 +//line sql.y:2840 { yyLOCAL = &AlterIndex{Name: yyDollar[3].colIdent, Invisible: true} } @@ -11638,7 +11747,7 @@ yydefault: case 521: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2848 +//line sql.y:2844 { yyLOCAL = &ChangeColumn{OldColumn: yyDollar[3].colNameUnion(), NewColDefinition: yyDollar[4].columnDefinitionUnion(), First: yyDollar[5].booleanUnion(), After: yyDollar[6].colNameUnion()} } @@ -11646,7 +11755,7 @@ yydefault: case 522: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2852 +//line sql.y:2848 { yyLOCAL = &ModifyColumn{NewColDefinition: yyDollar[3].columnDefinitionUnion(), First: yyDollar[4].booleanUnion(), After: yyDollar[5].colNameUnion()} } @@ -11654,7 +11763,7 @@ yydefault: case 523: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2856 +//line sql.y:2852 { yyLOCAL = &AlterCharset{CharacterSet: yyDollar[4].str, Collate: yyDollar[5].str} } @@ -11662,7 +11771,7 @@ yydefault: case 524: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2860 +//line sql.y:2856 { yyLOCAL = &KeyState{Enable: false} } @@ -11670,7 +11779,7 @@ yydefault: case 525: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2864 +//line sql.y:2860 { yyLOCAL = &KeyState{Enable: true} } @@ -11678,7 +11787,7 @@ yydefault: case 526: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2868 +//line sql.y:2864 { yyLOCAL = &TablespaceOperation{Import: false} } @@ -11686,7 +11795,7 @@ yydefault: case 527: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2872 +//line sql.y:2868 { yyLOCAL = &TablespaceOperation{Import: true} } @@ -11694,7 +11803,7 @@ yydefault: case 528: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2876 +//line sql.y:2872 { yyLOCAL = &DropColumn{Name: yyDollar[3].colNameUnion()} } @@ -11702,7 +11811,7 @@ yydefault: case 529: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2880 +//line sql.y:2876 { yyLOCAL = &DropKey{Type: NormalKeyType, Name: yyDollar[3].colIdent} } @@ -11710,7 +11819,7 @@ yydefault: case 530: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2884 +//line sql.y:2880 { yyLOCAL = &DropKey{Type: PrimaryKeyType} } @@ -11718,7 +11827,7 @@ yydefault: case 531: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2888 +//line sql.y:2884 { yyLOCAL = &DropKey{Type: ForeignKeyType, Name: yyDollar[4].colIdent} } @@ -11726,7 +11835,7 @@ yydefault: case 532: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2892 +//line sql.y:2888 { yyLOCAL = &DropKey{Type: CheckKeyType, Name: yyDollar[3].colIdent} } @@ -11734,7 +11843,7 @@ yydefault: case 533: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2896 +//line sql.y:2892 { yyLOCAL = &DropKey{Type: CheckKeyType, Name: yyDollar[3].colIdent} } @@ -11742,7 +11851,7 @@ yydefault: case 534: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2900 +//line sql.y:2896 { yyLOCAL = &Force{} } @@ -11750,7 +11859,7 @@ yydefault: case 535: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2904 +//line sql.y:2900 { yyLOCAL = &RenameTableName{Table: yyDollar[3].tableName} } @@ -11758,7 +11867,7 @@ yydefault: case 536: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2908 +//line sql.y:2904 { yyLOCAL = &RenameIndex{OldName: yyDollar[3].colIdent, NewName: yyDollar[5].colIdent} } @@ -11766,14 +11875,14 @@ yydefault: case 537: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2914 +//line sql.y:2910 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} } yyVAL.union = yyLOCAL case 538: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2918 +//line sql.y:2914 { yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion()) @@ -11781,7 +11890,7 @@ yydefault: case 539: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2924 +//line sql.y:2920 { yyLOCAL = AlgorithmValue(string(yyDollar[3].str)) } @@ -11789,7 +11898,7 @@ yydefault: case 540: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2928 +//line sql.y:2924 { yyLOCAL = AlgorithmValue(string(yyDollar[3].str)) } @@ -11797,7 +11906,7 @@ yydefault: case 541: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2932 +//line sql.y:2928 { yyLOCAL = AlgorithmValue(string(yyDollar[3].str)) } @@ -11805,7 +11914,7 @@ yydefault: case 542: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2936 +//line sql.y:2932 { yyLOCAL = AlgorithmValue(string(yyDollar[3].str)) } @@ -11813,7 +11922,7 @@ yydefault: case 543: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2940 +//line sql.y:2936 { yyLOCAL = &LockOption{Type: DefaultType} } @@ -11821,7 +11930,7 @@ yydefault: case 544: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2944 +//line sql.y:2940 { yyLOCAL = &LockOption{Type: NoneType} } @@ -11829,7 +11938,7 @@ yydefault: case 545: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2948 +//line sql.y:2944 { yyLOCAL = &LockOption{Type: SharedType} } @@ -11837,7 +11946,7 @@ yydefault: case 546: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2952 +//line sql.y:2948 { yyLOCAL = &LockOption{Type: ExclusiveType} } @@ -11845,7 +11954,7 @@ yydefault: case 547: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2956 +//line sql.y:2952 { yyLOCAL = &Validation{With: true} } @@ -11853,7 +11962,7 @@ yydefault: case 548: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2960 +//line sql.y:2956 { yyLOCAL = &Validation{With: false} } @@ -11861,7 +11970,7 @@ yydefault: case 549: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:2966 +//line sql.y:2962 { yyDollar[1].alterTableUnion().FullyParsed = true yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion() @@ -11872,7 +11981,7 @@ yydefault: case 550: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:2973 +//line sql.y:2969 { yyDollar[1].alterTableUnion().FullyParsed = true yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion() @@ -11883,7 +11992,7 @@ yydefault: case 551: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:2980 +//line sql.y:2976 { yyDollar[1].alterTableUnion().FullyParsed = true yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion() @@ -11894,7 +12003,7 @@ yydefault: case 552: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:2987 +//line sql.y:2983 { yyDollar[1].alterTableUnion().FullyParsed = true yyDollar[1].alterTableUnion().PartitionSpec = yyDollar[2].partSpecUnion() @@ -11904,7 +12013,7 @@ yydefault: case 553: yyDollar = yyS[yypt-11 : yypt+1] var yyLOCAL Statement -//line sql.y:2993 +//line sql.y:2989 { yyLOCAL = &AlterView{ViewName: yyDollar[7].tableName.ToViewName(), Comments: Comments(yyDollar[2].strs).Parsed(), Algorithm: yyDollar[3].str, Definer: yyDollar[4].definerUnion(), Security: yyDollar[5].str, Columns: yyDollar[8].columnsUnion(), Select: yyDollar[10].selStmtUnion(), CheckOption: yyDollar[11].str} } @@ -11912,7 +12021,7 @@ yydefault: case 554: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3003 +//line sql.y:2999 { yyDollar[1].alterDatabaseUnion().FullyParsed = true yyDollar[1].alterDatabaseUnion().DBName = yyDollar[2].tableIdent @@ -11923,7 +12032,7 @@ yydefault: case 555: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3010 +//line sql.y:3006 { yyDollar[1].alterDatabaseUnion().FullyParsed = true yyDollar[1].alterDatabaseUnion().DBName = yyDollar[2].tableIdent @@ -11934,7 +12043,7 @@ yydefault: case 556: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Statement -//line sql.y:3017 +//line sql.y:3013 { yyLOCAL = &AlterVschema{ Action: CreateVindexDDLAction, @@ -11950,7 +12059,7 @@ yydefault: case 557: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3029 +//line sql.y:3025 { yyLOCAL = &AlterVschema{ Action: DropVindexDDLAction, @@ -11964,7 +12073,7 @@ yydefault: case 558: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3039 +//line sql.y:3035 { yyLOCAL = &AlterVschema{Action: AddVschemaTableDDLAction, Table: yyDollar[6].tableName} } @@ -11972,7 +12081,7 @@ yydefault: case 559: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3043 +//line sql.y:3039 { yyLOCAL = &AlterVschema{Action: DropVschemaTableDDLAction, Table: yyDollar[6].tableName} } @@ -11980,7 +12089,7 @@ yydefault: case 560: yyDollar = yyS[yypt-13 : yypt+1] var yyLOCAL Statement -//line sql.y:3047 +//line sql.y:3043 { yyLOCAL = &AlterVschema{ Action: AddColVindexDDLAction, @@ -11997,7 +12106,7 @@ yydefault: case 561: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Statement -//line sql.y:3060 +//line sql.y:3056 { yyLOCAL = &AlterVschema{ Action: DropColVindexDDLAction, @@ -12011,7 +12120,7 @@ yydefault: case 562: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3070 +//line sql.y:3066 { yyLOCAL = &AlterVschema{Action: AddSequenceDDLAction, Table: yyDollar[6].tableName} } @@ -12019,7 +12128,7 @@ yydefault: case 563: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL Statement -//line sql.y:3074 +//line sql.y:3070 { yyLOCAL = &AlterVschema{ Action: AddAutoIncDDLAction, @@ -12034,7 +12143,7 @@ yydefault: case 564: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3085 +//line sql.y:3081 { yyLOCAL = &AlterMigration{ Type: RetryMigrationType, @@ -12045,7 +12154,7 @@ yydefault: case 565: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3092 +//line sql.y:3088 { yyLOCAL = &AlterMigration{ Type: CleanupMigrationType, @@ -12056,7 +12165,7 @@ yydefault: case 566: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3099 +//line sql.y:3095 { yyLOCAL = &AlterMigration{ Type: CompleteMigrationType, @@ -12067,7 +12176,7 @@ yydefault: case 567: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3106 +//line sql.y:3102 { yyLOCAL = &AlterMigration{ Type: CancelMigrationType, @@ -12078,7 +12187,7 @@ yydefault: case 568: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3113 +//line sql.y:3109 { yyLOCAL = &AlterMigration{ Type: CancelAllMigrationType, @@ -12088,7 +12197,7 @@ yydefault: case 569: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3119 +//line sql.y:3115 { yyLOCAL = &AlterMigration{ Type: ThrottleMigrationType, @@ -12101,7 +12210,7 @@ yydefault: case 570: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3128 +//line sql.y:3124 { yyLOCAL = &AlterMigration{ Type: ThrottleAllMigrationType, @@ -12113,7 +12222,7 @@ yydefault: case 571: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3136 +//line sql.y:3132 { yyLOCAL = &AlterMigration{ Type: UnthrottleMigrationType, @@ -12124,7 +12233,7 @@ yydefault: case 572: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3143 +//line sql.y:3139 { yyLOCAL = &AlterMigration{ Type: UnthrottleAllMigrationType, @@ -12134,7 +12243,7 @@ yydefault: case 573: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3150 +//line sql.y:3146 { yyLOCAL = nil } @@ -12142,7 +12251,7 @@ yydefault: case 574: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3154 +//line sql.y:3150 { yyDollar[3].partitionOptionUnion().Partitions = yyDollar[4].integerUnion() yyDollar[3].partitionOptionUnion().SubPartition = yyDollar[5].subPartitionUnion() @@ -12153,7 +12262,7 @@ yydefault: case 575: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3163 +//line sql.y:3159 { yyLOCAL = &PartitionOption{ IsLinear: yyDollar[1].booleanUnion(), @@ -12165,7 +12274,7 @@ yydefault: case 576: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3171 +//line sql.y:3167 { yyLOCAL = &PartitionOption{ IsLinear: yyDollar[1].booleanUnion(), @@ -12178,7 +12287,7 @@ yydefault: case 577: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3180 +//line sql.y:3176 { yyLOCAL = &PartitionOption{ Type: yyDollar[1].partitionByTypeUnion(), @@ -12189,7 +12298,7 @@ yydefault: case 578: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3187 +//line sql.y:3183 { yyLOCAL = &PartitionOption{ Type: yyDollar[1].partitionByTypeUnion(), @@ -12200,7 +12309,7 @@ yydefault: case 579: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *SubPartition -//line sql.y:3195 +//line sql.y:3191 { yyLOCAL = nil } @@ -12208,7 +12317,7 @@ yydefault: case 580: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *SubPartition -//line sql.y:3199 +//line sql.y:3195 { yyLOCAL = &SubPartition{ IsLinear: yyDollar[3].booleanUnion(), @@ -12221,7 +12330,7 @@ yydefault: case 581: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL *SubPartition -//line sql.y:3208 +//line sql.y:3204 { yyLOCAL = &SubPartition{ IsLinear: yyDollar[3].booleanUnion(), @@ -12235,7 +12344,7 @@ yydefault: case 582: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*PartitionDefinition -//line sql.y:3219 +//line sql.y:3215 { yyLOCAL = nil } @@ -12243,7 +12352,7 @@ yydefault: case 583: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*PartitionDefinition -//line sql.y:3223 +//line sql.y:3219 { yyLOCAL = yyDollar[2].partDefsUnion() } @@ -12251,7 +12360,7 @@ yydefault: case 584: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3228 +//line sql.y:3224 { yyLOCAL = false } @@ -12259,7 +12368,7 @@ yydefault: case 585: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3232 +//line sql.y:3228 { yyLOCAL = true } @@ -12267,7 +12376,7 @@ yydefault: case 586: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int -//line sql.y:3237 +//line sql.y:3233 { yyLOCAL = 0 } @@ -12275,7 +12384,7 @@ yydefault: case 587: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int -//line sql.y:3241 +//line sql.y:3237 { yyLOCAL = convertStringToInt(yyDollar[3].str) } @@ -12283,7 +12392,7 @@ yydefault: case 588: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL TableExpr -//line sql.y:3247 +//line sql.y:3243 { yyLOCAL = &JSONTableExpr{Expr: yyDollar[3].exprUnion(), Filter: yyDollar[5].exprUnion(), Columns: yyDollar[6].jtColumnListUnion(), Alias: yyDollar[8].tableIdent} } @@ -12291,7 +12400,7 @@ yydefault: case 589: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL []*JtColumnDefinition -//line sql.y:3253 +//line sql.y:3249 { yyLOCAL = yyDollar[3].jtColumnListUnion() } @@ -12299,14 +12408,14 @@ yydefault: case 590: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*JtColumnDefinition -//line sql.y:3259 +//line sql.y:3255 { yyLOCAL = []*JtColumnDefinition{yyDollar[1].jtColumnDefinitionUnion()} } yyVAL.union = yyLOCAL case 591: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3263 +//line sql.y:3259 { yySLICE := (*[]*JtColumnDefinition)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].jtColumnDefinitionUnion()) @@ -12314,7 +12423,7 @@ yydefault: case 592: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3269 +//line sql.y:3265 { yyLOCAL = &JtColumnDefinition{JtOrdinal: &JtOrdinalColDef{Name: yyDollar[1].colIdent}} } @@ -12322,7 +12431,7 @@ yydefault: case 593: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3273 +//line sql.y:3269 { yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str} jtPath := &JtPathColDef{Name: yyDollar[1].colIdent, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion()} @@ -12332,7 +12441,7 @@ yydefault: case 594: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3279 +//line sql.y:3275 { yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str} jtPath := &JtPathColDef{Name: yyDollar[1].colIdent, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion()} @@ -12342,7 +12451,7 @@ yydefault: case 595: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3285 +//line sql.y:3281 { yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str} jtPath := &JtPathColDef{Name: yyDollar[1].colIdent, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion(), ErrorOnResponse: yyDollar[7].jtOnResponseUnion()} @@ -12352,7 +12461,7 @@ yydefault: case 596: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3291 +//line sql.y:3287 { yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str} jtPath := &JtPathColDef{Name: yyDollar[1].colIdent, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion(), ErrorOnResponse: yyDollar[8].jtOnResponseUnion()} @@ -12362,7 +12471,7 @@ yydefault: case 597: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3297 +//line sql.y:3293 { jtNestedPath := &JtNestedPathColDef{Path: yyDollar[3].exprUnion(), Columns: yyDollar[4].jtColumnListUnion()} yyLOCAL = &JtColumnDefinition{JtNestedPath: jtNestedPath} @@ -12371,7 +12480,7 @@ yydefault: case 598: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3303 +//line sql.y:3299 { yyLOCAL = false } @@ -12379,7 +12488,7 @@ yydefault: case 599: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3307 +//line sql.y:3303 { yyLOCAL = true } @@ -12387,7 +12496,7 @@ yydefault: case 600: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3311 +//line sql.y:3307 { yyLOCAL = false } @@ -12395,7 +12504,7 @@ yydefault: case 601: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3315 +//line sql.y:3311 { yyLOCAL = true } @@ -12403,7 +12512,7 @@ yydefault: case 602: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3321 +//line sql.y:3317 { yyLOCAL = yyDollar[1].jtOnResponseUnion() } @@ -12411,7 +12520,7 @@ yydefault: case 603: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3327 +//line sql.y:3323 { yyLOCAL = yyDollar[1].jtOnResponseUnion() } @@ -12419,7 +12528,7 @@ yydefault: case 604: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3333 +//line sql.y:3329 { yyLOCAL = &JtOnResponse{ResponseType: ErrorJSONType} } @@ -12427,7 +12536,7 @@ yydefault: case 605: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3337 +//line sql.y:3333 { yyLOCAL = &JtOnResponse{ResponseType: NullJSONType} } @@ -12435,7 +12544,7 @@ yydefault: case 606: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3341 +//line sql.y:3337 { yyLOCAL = &JtOnResponse{ResponseType: DefaultJSONType, Expr: yyDollar[2].exprUnion()} } @@ -12443,7 +12552,7 @@ yydefault: case 607: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL PartitionByType -//line sql.y:3347 +//line sql.y:3343 { yyLOCAL = RangeType } @@ -12451,7 +12560,7 @@ yydefault: case 608: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL PartitionByType -//line sql.y:3351 +//line sql.y:3347 { yyLOCAL = ListType } @@ -12459,7 +12568,7 @@ yydefault: case 609: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int -//line sql.y:3356 +//line sql.y:3352 { yyLOCAL = -1 } @@ -12467,7 +12576,7 @@ yydefault: case 610: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL int -//line sql.y:3360 +//line sql.y:3356 { yyLOCAL = convertStringToInt(yyDollar[2].str) } @@ -12475,7 +12584,7 @@ yydefault: case 611: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int -//line sql.y:3365 +//line sql.y:3361 { yyLOCAL = -1 } @@ -12483,7 +12592,7 @@ yydefault: case 612: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL int -//line sql.y:3369 +//line sql.y:3365 { yyLOCAL = convertStringToInt(yyDollar[2].str) } @@ -12491,7 +12600,7 @@ yydefault: case 613: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3375 +//line sql.y:3371 { yyLOCAL = &PartitionSpec{Action: AddAction, Definitions: []*PartitionDefinition{yyDollar[4].partDefUnion()}} } @@ -12499,7 +12608,7 @@ yydefault: case 614: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3379 +//line sql.y:3375 { yyLOCAL = &PartitionSpec{Action: DropAction, Names: yyDollar[3].partitionsUnion()} } @@ -12507,7 +12616,7 @@ yydefault: case 615: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3383 +//line sql.y:3379 { yyLOCAL = &PartitionSpec{Action: ReorganizeAction, Names: yyDollar[3].partitionsUnion(), Definitions: yyDollar[6].partDefsUnion()} } @@ -12515,7 +12624,7 @@ yydefault: case 616: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3387 +//line sql.y:3383 { yyLOCAL = &PartitionSpec{Action: DiscardAction, Names: yyDollar[3].partitionsUnion()} } @@ -12523,7 +12632,7 @@ yydefault: case 617: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3391 +//line sql.y:3387 { yyLOCAL = &PartitionSpec{Action: DiscardAction, IsAll: true} } @@ -12531,7 +12640,7 @@ yydefault: case 618: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3395 +//line sql.y:3391 { yyLOCAL = &PartitionSpec{Action: ImportAction, Names: yyDollar[3].partitionsUnion()} } @@ -12539,7 +12648,7 @@ yydefault: case 619: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3399 +//line sql.y:3395 { yyLOCAL = &PartitionSpec{Action: ImportAction, IsAll: true} } @@ -12547,7 +12656,7 @@ yydefault: case 620: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3403 +//line sql.y:3399 { yyLOCAL = &PartitionSpec{Action: TruncateAction, Names: yyDollar[3].partitionsUnion()} } @@ -12555,7 +12664,7 @@ yydefault: case 621: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3407 +//line sql.y:3403 { yyLOCAL = &PartitionSpec{Action: TruncateAction, IsAll: true} } @@ -12563,7 +12672,7 @@ yydefault: case 622: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3411 +//line sql.y:3407 { yyLOCAL = &PartitionSpec{Action: CoalesceAction, Number: NewIntLiteral(yyDollar[3].str)} } @@ -12571,7 +12680,7 @@ yydefault: case 623: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3415 +//line sql.y:3411 { yyLOCAL = &PartitionSpec{Action: ExchangeAction, Names: Partitions{yyDollar[3].colIdent}, TableName: yyDollar[6].tableName, WithoutValidation: yyDollar[7].booleanUnion()} } @@ -12579,7 +12688,7 @@ yydefault: case 624: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3419 +//line sql.y:3415 { yyLOCAL = &PartitionSpec{Action: AnalyzeAction, Names: yyDollar[3].partitionsUnion()} } @@ -12587,7 +12696,7 @@ yydefault: case 625: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3423 +//line sql.y:3419 { yyLOCAL = &PartitionSpec{Action: AnalyzeAction, IsAll: true} } @@ -12595,7 +12704,7 @@ yydefault: case 626: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3427 +//line sql.y:3423 { yyLOCAL = &PartitionSpec{Action: CheckAction, Names: yyDollar[3].partitionsUnion()} } @@ -12603,7 +12712,7 @@ yydefault: case 627: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3431 +//line sql.y:3427 { yyLOCAL = &PartitionSpec{Action: CheckAction, IsAll: true} } @@ -12611,7 +12720,7 @@ yydefault: case 628: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3435 +//line sql.y:3431 { yyLOCAL = &PartitionSpec{Action: OptimizeAction, Names: yyDollar[3].partitionsUnion()} } @@ -12619,7 +12728,7 @@ yydefault: case 629: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3439 +//line sql.y:3435 { yyLOCAL = &PartitionSpec{Action: OptimizeAction, IsAll: true} } @@ -12627,7 +12736,7 @@ yydefault: case 630: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3443 +//line sql.y:3439 { yyLOCAL = &PartitionSpec{Action: RebuildAction, Names: yyDollar[3].partitionsUnion()} } @@ -12635,7 +12744,7 @@ yydefault: case 631: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3447 +//line sql.y:3443 { yyLOCAL = &PartitionSpec{Action: RebuildAction, IsAll: true} } @@ -12643,7 +12752,7 @@ yydefault: case 632: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3451 +//line sql.y:3447 { yyLOCAL = &PartitionSpec{Action: RepairAction, Names: yyDollar[3].partitionsUnion()} } @@ -12651,7 +12760,7 @@ yydefault: case 633: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3455 +//line sql.y:3451 { yyLOCAL = &PartitionSpec{Action: RepairAction, IsAll: true} } @@ -12659,7 +12768,7 @@ yydefault: case 634: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3459 +//line sql.y:3455 { yyLOCAL = &PartitionSpec{Action: UpgradeAction} } @@ -12667,7 +12776,7 @@ yydefault: case 635: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3464 +//line sql.y:3460 { yyLOCAL = false } @@ -12675,7 +12784,7 @@ yydefault: case 636: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:3468 +//line sql.y:3464 { yyLOCAL = false } @@ -12683,7 +12792,7 @@ yydefault: case 637: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:3472 +//line sql.y:3468 { yyLOCAL = true } @@ -12691,28 +12800,28 @@ yydefault: case 638: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*PartitionDefinition -//line sql.y:3479 +//line sql.y:3474 { yyLOCAL = []*PartitionDefinition{yyDollar[1].partDefUnion()} } yyVAL.union = yyLOCAL case 639: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3483 +//line sql.y:3478 { yySLICE := (*[]*PartitionDefinition)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].partDefUnion()) } case 640: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3489 +//line sql.y:3484 { yyVAL.partDefUnion().Options = yyDollar[2].partitionDefinitionOptionsUnion() } case 641: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3494 +//line sql.y:3489 { yyLOCAL = &PartitionDefinitionOptions{} } @@ -12720,7 +12829,7 @@ yydefault: case 642: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3498 +//line sql.y:3493 { yyDollar[1].partitionDefinitionOptionsUnion().ValueRange = yyDollar[2].partitionValueRangeUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -12729,7 +12838,7 @@ yydefault: case 643: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3503 +//line sql.y:3498 { yyDollar[1].partitionDefinitionOptionsUnion().Comment = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -12738,7 +12847,7 @@ yydefault: case 644: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3508 +//line sql.y:3503 { yyDollar[1].partitionDefinitionOptionsUnion().Engine = yyDollar[2].partitionEngineUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -12747,7 +12856,7 @@ yydefault: case 645: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3513 +//line sql.y:3508 { yyDollar[1].partitionDefinitionOptionsUnion().DataDirectory = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -12756,7 +12865,7 @@ yydefault: case 646: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3518 +//line sql.y:3513 { yyDollar[1].partitionDefinitionOptionsUnion().IndexDirectory = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -12765,7 +12874,7 @@ yydefault: case 647: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3523 +//line sql.y:3518 { val := yyDollar[2].integerUnion() yyDollar[1].partitionDefinitionOptionsUnion().MaxRows = &val @@ -12775,7 +12884,7 @@ yydefault: case 648: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3529 +//line sql.y:3524 { val := yyDollar[2].integerUnion() yyDollar[1].partitionDefinitionOptionsUnion().MinRows = &val @@ -12785,7 +12894,7 @@ yydefault: case 649: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3535 +//line sql.y:3530 { yyDollar[1].partitionDefinitionOptionsUnion().TableSpace = yyDollar[2].str yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -12794,7 +12903,7 @@ yydefault: case 650: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3540 +//line sql.y:3535 { yyDollar[1].partitionDefinitionOptionsUnion().SubPartitionDefinitions = yyDollar[2].subPartitionDefinitionsUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -12803,7 +12912,7 @@ yydefault: case 651: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SubPartitionDefinitions -//line sql.y:3546 +//line sql.y:3541 { yyLOCAL = yyDollar[2].subPartitionDefinitionsUnion() } @@ -12811,14 +12920,14 @@ yydefault: case 652: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SubPartitionDefinitions -//line sql.y:3552 +//line sql.y:3547 { yyLOCAL = SubPartitionDefinitions{yyDollar[1].subPartitionDefinitionUnion()} } yyVAL.union = yyLOCAL case 653: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3556 +//line sql.y:3551 { yySLICE := (*SubPartitionDefinitions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].subPartitionDefinitionUnion()) @@ -12826,7 +12935,7 @@ yydefault: case 654: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SubPartitionDefinition -//line sql.y:3562 +//line sql.y:3557 { yyLOCAL = &SubPartitionDefinition{Name: yyDollar[2].colIdent, Options: yyDollar[3].subPartitionDefinitionOptionsUnion()} } @@ -12834,7 +12943,7 @@ yydefault: case 655: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3567 +//line sql.y:3562 { yyLOCAL = &SubPartitionDefinitionOptions{} } @@ -12842,7 +12951,7 @@ yydefault: case 656: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3571 +//line sql.y:3566 { yyDollar[1].subPartitionDefinitionOptionsUnion().Comment = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() @@ -12851,7 +12960,7 @@ yydefault: case 657: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3576 +//line sql.y:3571 { yyDollar[1].subPartitionDefinitionOptionsUnion().Engine = yyDollar[2].partitionEngineUnion() yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() @@ -12860,7 +12969,7 @@ yydefault: case 658: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3581 +//line sql.y:3576 { yyDollar[1].subPartitionDefinitionOptionsUnion().DataDirectory = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() @@ -12869,7 +12978,7 @@ yydefault: case 659: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3586 +//line sql.y:3581 { yyDollar[1].subPartitionDefinitionOptionsUnion().IndexDirectory = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() @@ -12878,7 +12987,7 @@ yydefault: case 660: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3591 +//line sql.y:3586 { val := yyDollar[2].integerUnion() yyDollar[1].subPartitionDefinitionOptionsUnion().MaxRows = &val @@ -12888,7 +12997,7 @@ yydefault: case 661: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3597 +//line sql.y:3592 { val := yyDollar[2].integerUnion() yyDollar[1].subPartitionDefinitionOptionsUnion().MinRows = &val @@ -12898,7 +13007,7 @@ yydefault: case 662: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3603 +//line sql.y:3598 { yyDollar[1].subPartitionDefinitionOptionsUnion().TableSpace = yyDollar[2].str yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() @@ -12907,7 +13016,7 @@ yydefault: case 663: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionValueRange -//line sql.y:3610 +//line sql.y:3605 { yyLOCAL = &PartitionValueRange{ Type: LessThanType, @@ -12918,7 +13027,7 @@ yydefault: case 664: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionValueRange -//line sql.y:3617 +//line sql.y:3612 { yyLOCAL = &PartitionValueRange{ Type: LessThanType, @@ -12929,7 +13038,7 @@ yydefault: case 665: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionValueRange -//line sql.y:3624 +//line sql.y:3619 { yyLOCAL = &PartitionValueRange{ Type: InType, @@ -12940,7 +13049,7 @@ yydefault: case 666: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3632 +//line sql.y:3627 { yyLOCAL = false } @@ -12948,7 +13057,7 @@ yydefault: case 667: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3636 +//line sql.y:3631 { yyLOCAL = true } @@ -12956,7 +13065,7 @@ yydefault: case 668: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionEngine -//line sql.y:3642 +//line sql.y:3637 { yyLOCAL = &PartitionEngine{Storage: yyDollar[1].booleanUnion(), Name: yyDollar[4].tableIdent.String()} } @@ -12964,7 +13073,7 @@ yydefault: case 669: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *Literal -//line sql.y:3648 +//line sql.y:3643 { yyLOCAL = NewStrLiteral(yyDollar[3].str) } @@ -12972,7 +13081,7 @@ yydefault: case 670: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Literal -//line sql.y:3654 +//line sql.y:3649 { yyLOCAL = NewStrLiteral(yyDollar[4].str) } @@ -12980,7 +13089,7 @@ yydefault: case 671: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Literal -//line sql.y:3660 +//line sql.y:3655 { yyLOCAL = NewStrLiteral(yyDollar[4].str) } @@ -12988,7 +13097,7 @@ yydefault: case 672: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int -//line sql.y:3666 +//line sql.y:3661 { yyLOCAL = convertStringToInt(yyDollar[3].str) } @@ -12996,41 +13105,41 @@ yydefault: case 673: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int -//line sql.y:3672 +//line sql.y:3667 { yyLOCAL = convertStringToInt(yyDollar[3].str) } yyVAL.union = yyLOCAL case 674: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3678 +//line sql.y:3673 { yyVAL.str = yyDollar[3].tableIdent.String() } case 675: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinition -//line sql.y:3684 +//line sql.y:3679 { yyLOCAL = &PartitionDefinition{Name: yyDollar[2].colIdent} } yyVAL.union = yyLOCAL case 676: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3690 +//line sql.y:3685 { yyVAL.str = "" } case 677: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3694 +//line sql.y:3689 { yyVAL.str = "" } case 678: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3700 +//line sql.y:3695 { yyLOCAL = &RenameTable{TablePairs: yyDollar[3].renameTablePairsUnion()} } @@ -13038,14 +13147,14 @@ yydefault: case 679: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*RenameTablePair -//line sql.y:3706 +//line sql.y:3701 { yyLOCAL = []*RenameTablePair{{FromTable: yyDollar[1].tableName, ToTable: yyDollar[3].tableName}} } yyVAL.union = yyLOCAL case 680: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3710 +//line sql.y:3705 { yySLICE := (*[]*RenameTablePair)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, &RenameTablePair{FromTable: yyDollar[3].tableName, ToTable: yyDollar[5].tableName}) @@ -13053,7 +13162,7 @@ yydefault: case 681: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3716 +//line sql.y:3711 { yyLOCAL = &DropTable{FromTables: yyDollar[6].tableNamesUnion(), IfExists: yyDollar[5].booleanUnion(), Comments: Comments(yyDollar[2].strs).Parsed(), Temp: yyDollar[3].booleanUnion()} } @@ -13061,7 +13170,7 @@ yydefault: case 682: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3720 +//line sql.y:3715 { // Change this to an alter statement if yyDollar[4].colIdent.Lowered() == "primary" { @@ -13074,7 +13183,7 @@ yydefault: case 683: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3729 +//line sql.y:3724 { yyLOCAL = &DropView{FromTables: yyDollar[5].tableNamesUnion(), Comments: Comments(yyDollar[2].strs).Parsed(), IfExists: yyDollar[4].booleanUnion()} } @@ -13082,7 +13191,7 @@ yydefault: case 684: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3733 +//line sql.y:3728 { yyLOCAL = &DropDatabase{Comments: Comments(yyDollar[2].strs).Parsed(), DBName: yyDollar[5].tableIdent, IfExists: yyDollar[4].booleanUnion()} } @@ -13090,7 +13199,7 @@ yydefault: case 685: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3739 +//line sql.y:3734 { yyLOCAL = &TruncateTable{Table: yyDollar[3].tableName} } @@ -13098,7 +13207,7 @@ yydefault: case 686: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3743 +//line sql.y:3738 { yyLOCAL = &TruncateTable{Table: yyDollar[2].tableName} } @@ -13106,7 +13215,7 @@ yydefault: case 687: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3748 +//line sql.y:3744 { yyLOCAL = &OtherRead{} } @@ -13114,7 +13223,7 @@ yydefault: case 688: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3754 +//line sql.y:3750 { yyLOCAL = &Show{&ShowBasic{Command: Charset, Filter: yyDollar[3].showFilterUnion()}} } @@ -13122,7 +13231,7 @@ yydefault: case 689: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3758 +//line sql.y:3754 { yyLOCAL = &Show{&ShowBasic{Command: Collation, Filter: yyDollar[3].showFilterUnion()}} } @@ -13130,7 +13239,7 @@ yydefault: case 690: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3762 +//line sql.y:3758 { yyLOCAL = &Show{&ShowBasic{Full: yyDollar[2].booleanUnion(), Command: Column, Tbl: yyDollar[5].tableName, DbName: yyDollar[6].tableIdent, Filter: yyDollar[7].showFilterUnion()}} } @@ -13138,7 +13247,7 @@ yydefault: case 691: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3766 +//line sql.y:3762 { yyLOCAL = &Show{&ShowBasic{Command: Database, Filter: yyDollar[3].showFilterUnion()}} } @@ -13146,7 +13255,7 @@ yydefault: case 692: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3770 +//line sql.y:3766 { yyLOCAL = &Show{&ShowBasic{Command: Database, Filter: yyDollar[3].showFilterUnion()}} } @@ -13154,7 +13263,7 @@ yydefault: case 693: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3774 +//line sql.y:3770 { yyLOCAL = &Show{&ShowBasic{Command: Keyspace, Filter: yyDollar[3].showFilterUnion()}} } @@ -13162,7 +13271,7 @@ yydefault: case 694: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3778 +//line sql.y:3774 { yyLOCAL = &Show{&ShowBasic{Command: Keyspace, Filter: yyDollar[3].showFilterUnion()}} } @@ -13170,7 +13279,7 @@ yydefault: case 695: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3782 +//line sql.y:3778 { yyLOCAL = &Show{&ShowBasic{Command: Function, Filter: yyDollar[4].showFilterUnion()}} } @@ -13178,7 +13287,7 @@ yydefault: case 696: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3786 +//line sql.y:3782 { yyLOCAL = &Show{&ShowBasic{Command: Index, Tbl: yyDollar[5].tableName, DbName: yyDollar[6].tableIdent, Filter: yyDollar[7].showFilterUnion()}} } @@ -13186,7 +13295,7 @@ yydefault: case 697: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3790 +//line sql.y:3786 { yyLOCAL = &Show{&ShowBasic{Command: OpenTable, DbName: yyDollar[4].tableIdent, Filter: yyDollar[5].showFilterUnion()}} } @@ -13194,7 +13303,7 @@ yydefault: case 698: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3794 +//line sql.y:3790 { yyLOCAL = &Show{&ShowBasic{Command: Privilege}} } @@ -13202,7 +13311,7 @@ yydefault: case 699: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3798 +//line sql.y:3794 { yyLOCAL = &Show{&ShowBasic{Command: Procedure, Filter: yyDollar[4].showFilterUnion()}} } @@ -13210,7 +13319,7 @@ yydefault: case 700: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3802 +//line sql.y:3798 { yyLOCAL = &Show{&ShowBasic{Command: StatusSession, Filter: yyDollar[4].showFilterUnion()}} } @@ -13218,7 +13327,7 @@ yydefault: case 701: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3806 +//line sql.y:3802 { yyLOCAL = &Show{&ShowBasic{Command: StatusGlobal, Filter: yyDollar[4].showFilterUnion()}} } @@ -13226,7 +13335,7 @@ yydefault: case 702: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3810 +//line sql.y:3806 { yyLOCAL = &Show{&ShowBasic{Command: VariableSession, Filter: yyDollar[4].showFilterUnion()}} } @@ -13234,7 +13343,7 @@ yydefault: case 703: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3814 +//line sql.y:3810 { yyLOCAL = &Show{&ShowBasic{Command: VariableGlobal, Filter: yyDollar[4].showFilterUnion()}} } @@ -13242,7 +13351,7 @@ yydefault: case 704: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3818 +//line sql.y:3814 { yyLOCAL = &Show{&ShowBasic{Command: TableStatus, DbName: yyDollar[4].tableIdent, Filter: yyDollar[5].showFilterUnion()}} } @@ -13250,7 +13359,7 @@ yydefault: case 705: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3822 +//line sql.y:3818 { yyLOCAL = &Show{&ShowBasic{Command: Table, Full: yyDollar[2].booleanUnion(), DbName: yyDollar[4].tableIdent, Filter: yyDollar[5].showFilterUnion()}} } @@ -13258,7 +13367,7 @@ yydefault: case 706: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3826 +//line sql.y:3822 { yyLOCAL = &Show{&ShowBasic{Command: Trigger, DbName: yyDollar[3].tableIdent, Filter: yyDollar[4].showFilterUnion()}} } @@ -13266,7 +13375,7 @@ yydefault: case 707: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3830 +//line sql.y:3826 { yyLOCAL = &Show{&ShowCreate{Command: CreateDb, Op: yyDollar[4].tableName}} } @@ -13274,7 +13383,7 @@ yydefault: case 708: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3834 +//line sql.y:3830 { yyLOCAL = &Show{&ShowCreate{Command: CreateE, Op: yyDollar[4].tableName}} } @@ -13282,7 +13391,7 @@ yydefault: case 709: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3838 +//line sql.y:3834 { yyLOCAL = &Show{&ShowCreate{Command: CreateF, Op: yyDollar[4].tableName}} } @@ -13290,7 +13399,7 @@ yydefault: case 710: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3842 +//line sql.y:3838 { yyLOCAL = &Show{&ShowCreate{Command: CreateProc, Op: yyDollar[4].tableName}} } @@ -13298,7 +13407,7 @@ yydefault: case 711: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3846 +//line sql.y:3842 { yyLOCAL = &Show{&ShowCreate{Command: CreateTbl, Op: yyDollar[4].tableName}} } @@ -13306,7 +13415,7 @@ yydefault: case 712: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3850 +//line sql.y:3846 { yyLOCAL = &Show{&ShowCreate{Command: CreateTr, Op: yyDollar[4].tableName}} } @@ -13314,7 +13423,7 @@ yydefault: case 713: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3854 +//line sql.y:3850 { yyLOCAL = &Show{&ShowCreate{Command: CreateV, Op: yyDollar[4].tableName}} } @@ -13322,7 +13431,7 @@ yydefault: case 714: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3858 +//line sql.y:3854 { yyLOCAL = &Show{&ShowBasic{Command: Engines}} } @@ -13330,7 +13439,7 @@ yydefault: case 715: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3862 +//line sql.y:3858 { yyLOCAL = &Show{&ShowBasic{Command: Plugins}} } @@ -13338,7 +13447,7 @@ yydefault: case 716: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3866 +//line sql.y:3862 { yyLOCAL = &Show{&ShowBasic{Command: GtidExecGlobal, DbName: yyDollar[4].tableIdent}} } @@ -13346,7 +13455,7 @@ yydefault: case 717: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3870 +//line sql.y:3866 { yyLOCAL = &Show{&ShowBasic{Command: VGtidExecGlobal, DbName: yyDollar[4].tableIdent}} } @@ -13354,7 +13463,7 @@ yydefault: case 718: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3874 +//line sql.y:3870 { yyLOCAL = &Show{&ShowBasic{Command: VitessVariables, Filter: yyDollar[4].showFilterUnion()}} } @@ -13362,7 +13471,7 @@ yydefault: case 719: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3878 +//line sql.y:3874 { yyLOCAL = &Show{&ShowBasic{Command: VitessMigrations, Filter: yyDollar[4].showFilterUnion(), DbName: yyDollar[3].tableIdent}} } @@ -13370,7 +13479,7 @@ yydefault: case 720: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3882 +//line sql.y:3878 { yyLOCAL = &ShowMigrationLogs{UUID: string(yyDollar[3].str)} } @@ -13378,7 +13487,7 @@ yydefault: case 721: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3886 +//line sql.y:3882 { yyLOCAL = &ShowThrottledApps{} } @@ -13386,7 +13495,7 @@ yydefault: case 722: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3890 +//line sql.y:3886 { yyLOCAL = &Show{&ShowBasic{Command: VitessReplicationStatus, Filter: yyDollar[3].showFilterUnion()}} } @@ -13394,7 +13503,7 @@ yydefault: case 723: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3894 +//line sql.y:3890 { yyLOCAL = &Show{&ShowBasic{Command: VschemaTables}} } @@ -13402,7 +13511,7 @@ yydefault: case 724: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3898 +//line sql.y:3894 { yyLOCAL = &Show{&ShowBasic{Command: VschemaVindexes}} } @@ -13410,7 +13519,7 @@ yydefault: case 725: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3902 +//line sql.y:3898 { yyLOCAL = &Show{&ShowBasic{Command: VschemaVindexes, Tbl: yyDollar[5].tableName}} } @@ -13418,7 +13527,7 @@ yydefault: case 726: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3906 +//line sql.y:3902 { yyLOCAL = &Show{&ShowBasic{Command: Warnings}} } @@ -13426,7 +13535,7 @@ yydefault: case 727: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3910 +//line sql.y:3906 { yyLOCAL = &Show{&ShowBasic{Command: VitessShards, Filter: yyDollar[3].showFilterUnion()}} } @@ -13434,7 +13543,7 @@ yydefault: case 728: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3914 +//line sql.y:3910 { yyLOCAL = &Show{&ShowBasic{Command: VitessTablets, Filter: yyDollar[3].showFilterUnion()}} } @@ -13442,7 +13551,7 @@ yydefault: case 729: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3918 +//line sql.y:3914 { yyLOCAL = &Show{&ShowBasic{Command: VitessTarget}} } @@ -13450,7 +13559,7 @@ yydefault: case 730: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3925 +//line sql.y:3921 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].colIdent.String())}} } @@ -13458,7 +13567,7 @@ yydefault: case 731: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3929 +//line sql.y:3925 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str)}} } @@ -13466,7 +13575,7 @@ yydefault: case 732: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3933 +//line sql.y:3929 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + yyDollar[3].colIdent.String()}} } @@ -13474,7 +13583,7 @@ yydefault: case 733: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3937 +//line sql.y:3933 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str)}} } @@ -13482,7 +13591,7 @@ yydefault: case 734: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3941 +//line sql.y:3937 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str)}} } @@ -13490,7 +13599,7 @@ yydefault: case 735: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3945 +//line sql.y:3941 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str) + " " + String(yyDollar[4].tableName)}} } @@ -13498,7 +13607,7 @@ yydefault: case 736: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3949 +//line sql.y:3945 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str) + " " + String(yyDollar[4].tableName)}} } @@ -13506,7 +13615,7 @@ yydefault: case 737: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3953 +//line sql.y:3949 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[3].str)}} } @@ -13514,27 +13623,27 @@ yydefault: case 738: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3957 +//line sql.y:3953 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str)}} } yyVAL.union = yyLOCAL case 739: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3963 +//line sql.y:3959 { yyVAL.str = "" } case 740: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3967 +//line sql.y:3963 { yyVAL.str = "extended " } case 741: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3973 +//line sql.y:3969 { yyLOCAL = false } @@ -13542,45 +13651,45 @@ yydefault: case 742: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3977 +//line sql.y:3973 { yyLOCAL = true } yyVAL.union = yyLOCAL case 743: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3983 +//line sql.y:3979 { yyVAL.str = string(yyDollar[1].str) } case 744: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3987 +//line sql.y:3983 { yyVAL.str = string(yyDollar[1].str) } case 745: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3993 +//line sql.y:3989 { yyVAL.tableIdent = NewTableIdent("") } case 746: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3997 +//line sql.y:3993 { yyVAL.tableIdent = yyDollar[2].tableIdent } case 747: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4001 +//line sql.y:3997 { yyVAL.tableIdent = yyDollar[2].tableIdent } case 748: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:4007 +//line sql.y:4003 { yyLOCAL = nil } @@ -13588,7 +13697,7 @@ yydefault: case 749: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:4011 +//line sql.y:4007 { yyLOCAL = &ShowFilter{Like: string(yyDollar[2].str)} } @@ -13596,7 +13705,7 @@ yydefault: case 750: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:4015 +//line sql.y:4011 { yyLOCAL = &ShowFilter{Filter: yyDollar[2].exprUnion()} } @@ -13604,7 +13713,7 @@ yydefault: case 751: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:4021 +//line sql.y:4017 { yyLOCAL = nil } @@ -13612,45 +13721,45 @@ yydefault: case 752: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:4025 +//line sql.y:4021 { yyLOCAL = &ShowFilter{Like: string(yyDollar[2].str)} } yyVAL.union = yyLOCAL case 753: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4031 +//line sql.y:4027 { yyVAL.empty = struct{}{} } case 754: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4035 +//line sql.y:4031 { yyVAL.empty = struct{}{} } case 755: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4039 +//line sql.y:4035 { yyVAL.empty = struct{}{} } case 756: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4045 +//line sql.y:4041 { yyVAL.str = string(yyDollar[1].str) } case 757: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4049 +//line sql.y:4045 { yyVAL.str = string(yyDollar[1].str) } case 758: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4055 +//line sql.y:4051 { yyLOCAL = &Use{DBName: yyDollar[2].tableIdent} } @@ -13658,7 +13767,7 @@ yydefault: case 759: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4059 +//line sql.y:4055 { yyLOCAL = &Use{DBName: TableIdent{v: ""}} } @@ -13666,7 +13775,7 @@ yydefault: case 760: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4063 +//line sql.y:4059 { yyLOCAL = &Use{DBName: NewTableIdent(yyDollar[2].tableIdent.String() + "@" + string(yyDollar[3].str))} } @@ -13674,7 +13783,7 @@ yydefault: case 761: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4069 +//line sql.y:4065 { yyLOCAL = &Begin{} } @@ -13682,7 +13791,7 @@ yydefault: case 762: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4073 +//line sql.y:4069 { yyLOCAL = &Begin{} } @@ -13690,7 +13799,7 @@ yydefault: case 763: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4079 +//line sql.y:4075 { yyLOCAL = &Commit{} } @@ -13698,7 +13807,7 @@ yydefault: case 764: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4085 +//line sql.y:4081 { yyLOCAL = &Rollback{} } @@ -13706,39 +13815,39 @@ yydefault: case 765: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:4089 +//line sql.y:4085 { yyLOCAL = &SRollback{Name: yyDollar[5].colIdent} } yyVAL.union = yyLOCAL case 766: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4094 +//line sql.y:4090 { yyVAL.empty = struct{}{} } case 767: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4096 +//line sql.y:4092 { yyVAL.empty = struct{}{} } case 768: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4099 +//line sql.y:4095 { yyVAL.empty = struct{}{} } case 769: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4101 +//line sql.y:4097 { yyVAL.empty = struct{}{} } case 770: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4106 +//line sql.y:4101 { yyLOCAL = &Savepoint{Name: yyDollar[2].colIdent} } @@ -13746,7 +13855,7 @@ yydefault: case 771: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4112 +//line sql.y:4107 { yyLOCAL = &Release{Name: yyDollar[3].colIdent} } @@ -13754,7 +13863,7 @@ yydefault: case 772: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4117 +//line sql.y:4112 { yyLOCAL = EmptyType } @@ -13762,7 +13871,7 @@ yydefault: case 773: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4121 +//line sql.y:4116 { yyLOCAL = JSONType } @@ -13770,7 +13879,7 @@ yydefault: case 774: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4125 +//line sql.y:4120 { yyLOCAL = TreeType } @@ -13778,7 +13887,7 @@ yydefault: case 775: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4129 +//line sql.y:4124 { yyLOCAL = VitessType } @@ -13786,7 +13895,7 @@ yydefault: case 776: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4133 +//line sql.y:4128 { yyLOCAL = TraditionalType } @@ -13794,33 +13903,33 @@ yydefault: case 777: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4137 +//line sql.y:4132 { yyLOCAL = AnalyzeType } yyVAL.union = yyLOCAL case 778: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4143 +//line sql.y:4138 { yyVAL.str = yyDollar[1].str } case 779: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4147 +//line sql.y:4142 { yyVAL.str = yyDollar[1].str } case 780: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4151 +//line sql.y:4146 { yyVAL.str = yyDollar[1].str } case 781: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4157 +//line sql.y:4152 { yyLOCAL = yyDollar[1].selStmtUnion() } @@ -13828,7 +13937,7 @@ yydefault: case 782: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4161 +//line sql.y:4156 { yyLOCAL = yyDollar[1].statementUnion() } @@ -13836,7 +13945,7 @@ yydefault: case 783: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4165 +//line sql.y:4160 { yyLOCAL = yyDollar[1].statementUnion() } @@ -13844,33 +13953,33 @@ yydefault: case 784: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4169 +//line sql.y:4164 { yyLOCAL = yyDollar[1].statementUnion() } yyVAL.union = yyLOCAL case 785: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4174 +//line sql.y:4169 { yyVAL.str = "" } case 786: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4178 +//line sql.y:4173 { yyVAL.str = yyDollar[1].colIdent.val } case 787: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4182 +//line sql.y:4177 { yyVAL.str = encodeSQLString(yyDollar[1].str) } case 788: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4188 +//line sql.y:4183 { yyLOCAL = &ExplainTab{Table: yyDollar[2].tableName, Wild: yyDollar[3].str} } @@ -13878,7 +13987,7 @@ yydefault: case 789: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4192 +//line sql.y:4187 { yyLOCAL = &ExplainStmt{Type: yyDollar[2].explainTypeUnion(), Statement: yyDollar[3].statementUnion()} } @@ -13886,7 +13995,7 @@ yydefault: case 790: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4198 +//line sql.y:4193 { yyLOCAL = &OtherAdmin{} } @@ -13894,7 +14003,7 @@ yydefault: case 791: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4202 +//line sql.y:4197 { yyLOCAL = &OtherAdmin{} } @@ -13902,7 +14011,7 @@ yydefault: case 792: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4208 +//line sql.y:4203 { yyLOCAL = &LockTables{Tables: yyDollar[3].tableAndLockTypesUnion()} } @@ -13910,14 +14019,14 @@ yydefault: case 793: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableAndLockTypes -//line sql.y:4214 +//line sql.y:4209 { yyLOCAL = TableAndLockTypes{yyDollar[1].tableAndLockTypeUnion()} } yyVAL.union = yyLOCAL case 794: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4218 +//line sql.y:4213 { yySLICE := (*TableAndLockTypes)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableAndLockTypeUnion()) @@ -13925,7 +14034,7 @@ yydefault: case 795: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *TableAndLockType -//line sql.y:4224 +//line sql.y:4219 { yyLOCAL = &TableAndLockType{Table: yyDollar[1].aliasedTableNameUnion(), Lock: yyDollar[2].lockTypeUnion()} } @@ -13933,7 +14042,7 @@ yydefault: case 796: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL LockType -//line sql.y:4230 +//line sql.y:4225 { yyLOCAL = Read } @@ -13941,7 +14050,7 @@ yydefault: case 797: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL LockType -//line sql.y:4234 +//line sql.y:4229 { yyLOCAL = ReadLocal } @@ -13949,7 +14058,7 @@ yydefault: case 798: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL LockType -//line sql.y:4238 +//line sql.y:4233 { yyLOCAL = Write } @@ -13957,7 +14066,7 @@ yydefault: case 799: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL LockType -//line sql.y:4242 +//line sql.y:4237 { yyLOCAL = LowPriorityWrite } @@ -13965,7 +14074,7 @@ yydefault: case 800: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4248 +//line sql.y:4243 { yyLOCAL = &UnlockTables{} } @@ -13973,7 +14082,7 @@ yydefault: case 801: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4254 +//line sql.y:4249 { yyLOCAL = &RevertMigration{Comments: Comments(yyDollar[2].strs).Parsed(), UUID: string(yyDollar[4].str)} } @@ -13981,7 +14090,7 @@ yydefault: case 802: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4260 +//line sql.y:4255 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), FlushOptions: yyDollar[3].strs} } @@ -13989,7 +14098,7 @@ yydefault: case 803: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4264 +//line sql.y:4259 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion()} } @@ -13997,7 +14106,7 @@ yydefault: case 804: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:4268 +//line sql.y:4263 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), WithLock: true} } @@ -14005,7 +14114,7 @@ yydefault: case 805: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4272 +//line sql.y:4267 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion()} } @@ -14013,7 +14122,7 @@ yydefault: case 806: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:4276 +//line sql.y:4271 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion(), WithLock: true} } @@ -14021,99 +14130,99 @@ yydefault: case 807: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:4280 +//line sql.y:4275 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion(), ForExport: true} } yyVAL.union = yyLOCAL case 808: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4286 +//line sql.y:4281 { yyVAL.strs = []string{yyDollar[1].str} } case 809: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4290 +//line sql.y:4285 { yyVAL.strs = append(yyDollar[1].strs, yyDollar[3].str) } case 810: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4296 +//line sql.y:4291 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 811: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4300 +//line sql.y:4295 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 812: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4304 +//line sql.y:4299 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 813: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4308 +//line sql.y:4303 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 814: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4312 +//line sql.y:4307 { yyVAL.str = string(yyDollar[1].str) } case 815: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4316 +//line sql.y:4311 { yyVAL.str = string(yyDollar[1].str) } case 816: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4320 +//line sql.y:4315 { yyVAL.str = string(yyDollar[1].str) } case 817: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4324 +//line sql.y:4319 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) + yyDollar[3].str } case 818: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4328 +//line sql.y:4323 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 819: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4332 +//line sql.y:4327 { yyVAL.str = string(yyDollar[1].str) } case 820: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4336 +//line sql.y:4331 { yyVAL.str = string(yyDollar[1].str) } case 821: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4340 +//line sql.y:4335 { yyVAL.str = string(yyDollar[1].str) } case 822: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:4345 +//line sql.y:4340 { yyLOCAL = false } @@ -14121,7 +14230,7 @@ yydefault: case 823: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4349 +//line sql.y:4344 { yyLOCAL = true } @@ -14129,52 +14238,52 @@ yydefault: case 824: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4353 +//line sql.y:4348 { yyLOCAL = true } yyVAL.union = yyLOCAL case 825: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4358 +//line sql.y:4353 { yyVAL.str = "" } case 826: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4362 +//line sql.y:4357 { yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str) + " " + yyDollar[3].colIdent.String() } case 827: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4367 +//line sql.y:4362 { setAllowComments(yylex, true) } case 828: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4371 +//line sql.y:4366 { yyVAL.strs = yyDollar[2].strs setAllowComments(yylex, false) } case 829: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4377 +//line sql.y:4372 { yyVAL.strs = nil } case 830: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4381 +//line sql.y:4376 { yyVAL.strs = append(yyDollar[1].strs, yyDollar[2].str) } case 831: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4387 +//line sql.y:4382 { yyLOCAL = true } @@ -14182,7 +14291,7 @@ yydefault: case 832: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:4391 +//line sql.y:4386 { yyLOCAL = false } @@ -14190,33 +14299,33 @@ yydefault: case 833: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:4395 +//line sql.y:4390 { yyLOCAL = true } yyVAL.union = yyLOCAL case 834: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4400 +//line sql.y:4395 { yyVAL.str = "" } case 835: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4404 +//line sql.y:4399 { yyVAL.str = SQLNoCacheStr } case 836: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4408 +//line sql.y:4403 { yyVAL.str = SQLCacheStr } case 837: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:4413 +//line sql.y:4408 { yyLOCAL = false } @@ -14224,7 +14333,7 @@ yydefault: case 838: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4417 +//line sql.y:4412 { yyLOCAL = true } @@ -14232,7 +14341,7 @@ yydefault: case 839: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4421 +//line sql.y:4416 { yyLOCAL = true } @@ -14240,7 +14349,7 @@ yydefault: case 840: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:4427 +//line sql.y:4422 { yyLOCAL = &PrepareStmt{Name: yyDollar[3].colIdent, Comments: Comments(yyDollar[2].strs).Parsed(), Statement: yyDollar[5].exprUnion()} } @@ -14248,7 +14357,7 @@ yydefault: case 841: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:4431 +//line sql.y:4426 { yyLOCAL = &PrepareStmt{ Name: yyDollar[3].colIdent, @@ -14262,7 +14371,7 @@ yydefault: case 842: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4443 +//line sql.y:4438 { yyLOCAL = &ExecuteStmt{Name: yyDollar[3].colIdent, Comments: Comments(yyDollar[2].strs).Parsed(), Arguments: yyDollar[4].columnsUnion()} } @@ -14270,7 +14379,7 @@ yydefault: case 843: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Columns -//line sql.y:4448 +//line sql.y:4443 { yyLOCAL = nil } @@ -14278,7 +14387,7 @@ yydefault: case 844: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Columns -//line sql.y:4452 +//line sql.y:4447 { yyLOCAL = yyDollar[2].columnsUnion() } @@ -14286,7 +14395,7 @@ yydefault: case 845: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4458 +//line sql.y:4453 { yyLOCAL = &DeallocateStmt{Type: DeallocateType, Comments: Comments(yyDollar[2].strs).Parsed(), Name: yyDollar[4].colIdent} } @@ -14294,7 +14403,7 @@ yydefault: case 846: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4462 +//line sql.y:4457 { yyLOCAL = &DeallocateStmt{Type: DropType, Comments: Comments(yyDollar[2].strs).Parsed(), Name: yyDollar[4].colIdent} } @@ -14302,7 +14411,7 @@ yydefault: case 847: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL SelectExprs -//line sql.y:4467 +//line sql.y:4462 { yyLOCAL = nil } @@ -14310,94 +14419,94 @@ yydefault: case 848: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectExprs -//line sql.y:4471 +//line sql.y:4466 { yyLOCAL = yyDollar[1].selectExprsUnion() } yyVAL.union = yyLOCAL case 849: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4476 +//line sql.y:4471 { yyVAL.strs = nil } case 850: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4480 +//line sql.y:4475 { yyVAL.strs = []string{yyDollar[1].str} } case 851: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4484 +//line sql.y:4479 { // TODO: This is a hack since I couldn't get it to work in a nicer way. I got 'conflicts: 8 shift/reduce' yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str} } case 852: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4488 +//line sql.y:4483 { yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str, yyDollar[3].str} } case 853: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4492 +//line sql.y:4487 { yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str, yyDollar[3].str, yyDollar[4].str} } case 854: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4498 +//line sql.y:4493 { yyVAL.str = SQLNoCacheStr } case 855: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4502 +//line sql.y:4497 { yyVAL.str = SQLCacheStr } case 856: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4506 +//line sql.y:4501 { yyVAL.str = DistinctStr } case 857: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4510 +//line sql.y:4505 { yyVAL.str = DistinctStr } case 858: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4514 +//line sql.y:4509 { yyVAL.str = StraightJoinHint } case 859: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4518 +//line sql.y:4513 { yyVAL.str = SQLCalcFoundRowsStr } case 860: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4522 +//line sql.y:4517 { 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 } case 861: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectExprs -//line sql.y:4528 +//line sql.y:4523 { yyLOCAL = SelectExprs{yyDollar[1].selectExprUnion()} } yyVAL.union = yyLOCAL case 862: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4532 +//line sql.y:4527 { yySLICE := (*SelectExprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].selectExprUnion()) @@ -14405,7 +14514,7 @@ yydefault: case 863: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectExpr -//line sql.y:4538 +//line sql.y:4533 { yyLOCAL = &StarExpr{} } @@ -14413,7 +14522,7 @@ yydefault: case 864: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectExpr -//line sql.y:4542 +//line sql.y:4537 { yyLOCAL = &AliasedExpr{Expr: yyDollar[1].exprUnion(), As: yyDollar[2].colIdent} } @@ -14421,7 +14530,7 @@ yydefault: case 865: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectExpr -//line sql.y:4546 +//line sql.y:4541 { yyLOCAL = &StarExpr{TableName: TableName{Name: yyDollar[1].tableIdent}} } @@ -14429,39 +14538,39 @@ yydefault: case 866: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL SelectExpr -//line sql.y:4550 +//line sql.y:4545 { yyLOCAL = &StarExpr{TableName: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}} } yyVAL.union = yyLOCAL case 867: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4555 +//line sql.y:4550 { yyVAL.colIdent = ColIdent{} } case 868: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4559 +//line sql.y:4554 { yyVAL.colIdent = yyDollar[1].colIdent } case 869: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4563 +//line sql.y:4558 { yyVAL.colIdent = yyDollar[2].colIdent } case 871: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4570 +//line sql.y:4565 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].str)) } case 872: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL TableExprs -//line sql.y:4575 +//line sql.y:4570 { yyLOCAL = TableExprs{&AliasedTableExpr{Expr: TableName{Name: NewTableIdent("dual")}}} } @@ -14469,7 +14578,7 @@ yydefault: case 873: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableExprs -//line sql.y:4579 +//line sql.y:4574 { yyLOCAL = yyDollar[1].tableExprsUnion() } @@ -14477,7 +14586,7 @@ yydefault: case 874: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL TableExprs -//line sql.y:4585 +//line sql.y:4580 { yyLOCAL = yyDollar[2].tableExprsUnion() } @@ -14485,14 +14594,14 @@ yydefault: case 875: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableExprs -//line sql.y:4591 +//line sql.y:4586 { yyLOCAL = TableExprs{yyDollar[1].tableExprUnion()} } yyVAL.union = yyLOCAL case 876: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4595 +//line sql.y:4590 { yySLICE := (*TableExprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableExprUnion()) @@ -14500,7 +14609,7 @@ yydefault: case 879: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4605 +//line sql.y:4600 { yyLOCAL = yyDollar[1].aliasedTableNameUnion() } @@ -14508,7 +14617,7 @@ yydefault: case 880: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4609 +//line sql.y:4604 { yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].derivedTableUnion(), As: yyDollar[3].tableIdent, Columns: yyDollar[4].columnsUnion()} } @@ -14516,7 +14625,7 @@ yydefault: case 881: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4613 +//line sql.y:4608 { yyLOCAL = &ParenTableExpr{Exprs: yyDollar[2].tableExprsUnion()} } @@ -14524,7 +14633,7 @@ yydefault: case 882: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4617 +//line sql.y:4612 { yyLOCAL = yyDollar[1].tableExprUnion() } @@ -14532,7 +14641,7 @@ yydefault: case 883: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *DerivedTable -//line sql.y:4623 +//line sql.y:4618 { yyLOCAL = &DerivedTable{Lateral: false, Select: yyDollar[2].selStmtUnion()} } @@ -14540,7 +14649,7 @@ yydefault: case 884: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *DerivedTable -//line sql.y:4627 +//line sql.y:4622 { yyLOCAL = &DerivedTable{Lateral: true, Select: yyDollar[3].selStmtUnion()} } @@ -14548,7 +14657,7 @@ yydefault: case 885: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *AliasedTableExpr -//line sql.y:4633 +//line sql.y:4628 { yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].tableName, As: yyDollar[2].tableIdent, Hints: yyDollar[3].indexHintsUnion()} } @@ -14556,7 +14665,7 @@ yydefault: case 886: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *AliasedTableExpr -//line sql.y:4637 +//line sql.y:4632 { yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].tableName, Partitions: yyDollar[4].partitionsUnion(), As: yyDollar[6].tableIdent, Hints: yyDollar[7].indexHintsUnion()} } @@ -14564,7 +14673,7 @@ yydefault: case 887: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Columns -//line sql.y:4642 +//line sql.y:4637 { yyLOCAL = nil } @@ -14572,7 +14681,7 @@ yydefault: case 888: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Columns -//line sql.y:4646 +//line sql.y:4641 { yyLOCAL = yyDollar[2].columnsUnion() } @@ -14580,14 +14689,14 @@ yydefault: case 889: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:4652 +//line sql.y:4647 { yyLOCAL = Columns{yyDollar[1].colIdent} } yyVAL.union = yyLOCAL case 890: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4656 +//line sql.y:4651 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].colIdent) @@ -14595,14 +14704,14 @@ yydefault: case 891: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:4662 +//line sql.y:4657 { yyLOCAL = Columns{NewColIdentWithAt(string(yyDollar[1].str), SingleAt)} } yyVAL.union = yyLOCAL case 892: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4666 +//line sql.y:4661 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, NewColIdentWithAt(string(yyDollar[3].str), SingleAt)) @@ -14610,7 +14719,7 @@ yydefault: case 893: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:4672 +//line sql.y:4667 { yyLOCAL = Columns{yyDollar[1].colIdent} } @@ -14618,21 +14727,21 @@ yydefault: case 894: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:4676 +//line sql.y:4671 { yyLOCAL = Columns{NewColIdent(string(yyDollar[1].str))} } yyVAL.union = yyLOCAL case 895: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4680 +//line sql.y:4675 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].colIdent) } case 896: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4684 +//line sql.y:4679 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, NewColIdent(string(yyDollar[3].str))) @@ -14640,14 +14749,14 @@ yydefault: case 897: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Partitions -//line sql.y:4690 +//line sql.y:4685 { yyLOCAL = Partitions{yyDollar[1].colIdent} } yyVAL.union = yyLOCAL case 898: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4694 +//line sql.y:4689 { yySLICE := (*Partitions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].colIdent) @@ -14655,7 +14764,7 @@ yydefault: case 899: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4707 +//line sql.y:4702 { yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition} } @@ -14663,7 +14772,7 @@ yydefault: case 900: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4711 +//line sql.y:4706 { yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition} } @@ -14671,7 +14780,7 @@ yydefault: case 901: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4715 +//line sql.y:4710 { yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition} } @@ -14679,87 +14788,87 @@ yydefault: case 902: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4719 +//line sql.y:4714 { yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion()} } yyVAL.union = yyLOCAL case 903: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4725 +//line sql.y:4720 { yyVAL.joinCondition = &JoinCondition{On: yyDollar[2].exprUnion()} } case 904: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4727 +//line sql.y:4722 { yyVAL.joinCondition = &JoinCondition{Using: yyDollar[3].columnsUnion()} } case 905: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4731 +//line sql.y:4726 { yyVAL.joinCondition = &JoinCondition{} } case 906: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4733 +//line sql.y:4728 { yyVAL.joinCondition = yyDollar[1].joinCondition } case 907: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4737 +//line sql.y:4732 { yyVAL.joinCondition = &JoinCondition{} } case 908: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4739 +//line sql.y:4734 { yyVAL.joinCondition = &JoinCondition{On: yyDollar[2].exprUnion()} } case 909: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4742 +//line sql.y:4737 { yyVAL.empty = struct{}{} } case 910: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4744 +//line sql.y:4739 { yyVAL.empty = struct{}{} } case 911: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4747 +//line sql.y:4742 { yyVAL.tableIdent = NewTableIdent("") } case 912: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4751 +//line sql.y:4746 { yyVAL.tableIdent = yyDollar[1].tableIdent } case 913: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4755 +//line sql.y:4750 { yyVAL.tableIdent = yyDollar[2].tableIdent } case 915: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4762 +//line sql.y:4757 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].str)) } case 916: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL JoinType -//line sql.y:4768 +//line sql.y:4763 { yyLOCAL = NormalJoinType } @@ -14767,7 +14876,7 @@ yydefault: case 917: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4772 +//line sql.y:4767 { yyLOCAL = NormalJoinType } @@ -14775,7 +14884,7 @@ yydefault: case 918: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4776 +//line sql.y:4771 { yyLOCAL = NormalJoinType } @@ -14783,7 +14892,7 @@ yydefault: case 919: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL JoinType -//line sql.y:4782 +//line sql.y:4777 { yyLOCAL = StraightJoinType } @@ -14791,7 +14900,7 @@ yydefault: case 920: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4788 +//line sql.y:4783 { yyLOCAL = LeftJoinType } @@ -14799,7 +14908,7 @@ yydefault: case 921: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL JoinType -//line sql.y:4792 +//line sql.y:4787 { yyLOCAL = LeftJoinType } @@ -14807,7 +14916,7 @@ yydefault: case 922: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4796 +//line sql.y:4791 { yyLOCAL = RightJoinType } @@ -14815,7 +14924,7 @@ yydefault: case 923: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL JoinType -//line sql.y:4800 +//line sql.y:4795 { yyLOCAL = RightJoinType } @@ -14823,7 +14932,7 @@ yydefault: case 924: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4806 +//line sql.y:4801 { yyLOCAL = NaturalJoinType } @@ -14831,7 +14940,7 @@ yydefault: case 925: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4810 +//line sql.y:4805 { if yyDollar[2].joinTypeUnion() == LeftJoinType { yyLOCAL = NaturalLeftJoinType @@ -14842,38 +14951,38 @@ yydefault: yyVAL.union = yyLOCAL case 926: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4820 +//line sql.y:4815 { yyVAL.tableName = yyDollar[2].tableName } case 927: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4824 +//line sql.y:4819 { yyVAL.tableName = yyDollar[1].tableName } case 928: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4830 +//line sql.y:4825 { yyVAL.tableName = TableName{Name: yyDollar[1].tableIdent} } case 929: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4834 +//line sql.y:4829 { yyVAL.tableName = TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent} } case 930: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4840 +//line sql.y:4835 { yyVAL.tableName = TableName{Name: yyDollar[1].tableIdent} } case 931: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL IndexHints -//line sql.y:4845 +//line sql.y:4840 { yyLOCAL = nil } @@ -14881,7 +14990,7 @@ yydefault: case 932: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IndexHints -//line sql.y:4849 +//line sql.y:4844 { yyLOCAL = yyDollar[1].indexHintsUnion() } @@ -14889,14 +14998,14 @@ yydefault: case 933: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IndexHints -//line sql.y:4855 +//line sql.y:4850 { yyLOCAL = IndexHints{yyDollar[1].indexHintUnion()} } yyVAL.union = yyLOCAL case 934: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4859 +//line sql.y:4854 { yySLICE := (*IndexHints)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].indexHintUnion()) @@ -14904,7 +15013,7 @@ yydefault: case 935: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *IndexHint -//line sql.y:4865 +//line sql.y:4860 { yyLOCAL = &IndexHint{Type: UseOp, ForType: yyDollar[3].indexHintForTypeUnion(), Indexes: yyDollar[5].columnsUnion()} } @@ -14912,7 +15021,7 @@ yydefault: case 936: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *IndexHint -//line sql.y:4869 +//line sql.y:4864 { yyLOCAL = &IndexHint{Type: UseOp, ForType: yyDollar[3].indexHintForTypeUnion()} } @@ -14920,7 +15029,7 @@ yydefault: case 937: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *IndexHint -//line sql.y:4873 +//line sql.y:4868 { yyLOCAL = &IndexHint{Type: IgnoreOp, ForType: yyDollar[3].indexHintForTypeUnion(), Indexes: yyDollar[5].columnsUnion()} } @@ -14928,7 +15037,7 @@ yydefault: case 938: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *IndexHint -//line sql.y:4877 +//line sql.y:4872 { yyLOCAL = &IndexHint{Type: ForceOp, ForType: yyDollar[3].indexHintForTypeUnion(), Indexes: yyDollar[5].columnsUnion()} } @@ -14936,7 +15045,7 @@ yydefault: case 939: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL IndexHintForType -//line sql.y:4882 +//line sql.y:4877 { yyLOCAL = NoForType } @@ -14944,7 +15053,7 @@ yydefault: case 940: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IndexHintForType -//line sql.y:4886 +//line sql.y:4881 { yyLOCAL = JoinForType } @@ -14952,7 +15061,7 @@ yydefault: case 941: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL IndexHintForType -//line sql.y:4890 +//line sql.y:4885 { yyLOCAL = OrderByForType } @@ -14960,7 +15069,7 @@ yydefault: case 942: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL IndexHintForType -//line sql.y:4894 +//line sql.y:4889 { yyLOCAL = GroupByForType } @@ -14968,7 +15077,7 @@ yydefault: case 943: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:4900 +//line sql.y:4895 { yyLOCAL = nil } @@ -14976,7 +15085,7 @@ yydefault: case 944: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:4904 +//line sql.y:4899 { yyLOCAL = yyDollar[2].exprUnion() } @@ -14984,7 +15093,7 @@ yydefault: case 945: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4911 +//line sql.y:4906 { yyLOCAL = &OrExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()} } @@ -14992,7 +15101,7 @@ yydefault: case 946: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4915 +//line sql.y:4910 { yyLOCAL = &XorExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()} } @@ -15000,7 +15109,7 @@ yydefault: case 947: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4919 +//line sql.y:4914 { yyLOCAL = &AndExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()} } @@ -15008,7 +15117,7 @@ yydefault: case 948: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:4923 +//line sql.y:4918 { yyLOCAL = &NotExpr{Expr: yyDollar[2].exprUnion()} } @@ -15016,7 +15125,7 @@ yydefault: case 949: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4927 +//line sql.y:4922 { yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].isExprOperatorUnion()} } @@ -15024,7 +15133,7 @@ yydefault: case 950: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:4931 +//line sql.y:4926 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15032,7 +15141,7 @@ yydefault: case 951: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:4935 +//line sql.y:4930 { yyLOCAL = &MemberOfExpr{Value: yyDollar[1].exprUnion(), JSONArr: yyDollar[5].exprUnion()} } @@ -15040,7 +15149,7 @@ yydefault: case 952: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4942 +//line sql.y:4937 { yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: IsNullOp} } @@ -15048,7 +15157,7 @@ yydefault: case 953: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:4946 +//line sql.y:4941 { yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: IsNotNullOp} } @@ -15056,7 +15165,7 @@ yydefault: case 954: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4950 +//line sql.y:4945 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: yyDollar[2].comparisonExprOperatorUnion(), Right: yyDollar[3].exprUnion()} } @@ -15064,7 +15173,7 @@ yydefault: case 955: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:4954 +//line sql.y:4949 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15072,7 +15181,7 @@ yydefault: case 956: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4960 +//line sql.y:4955 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: InOp, Right: yyDollar[3].colTupleUnion()} } @@ -15080,7 +15189,7 @@ yydefault: case 957: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:4964 +//line sql.y:4959 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotInOp, Right: yyDollar[4].colTupleUnion()} } @@ -15088,7 +15197,7 @@ yydefault: case 958: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:4968 +//line sql.y:4963 { yyLOCAL = &BetweenExpr{Left: yyDollar[1].exprUnion(), IsBetween: true, From: yyDollar[3].exprUnion(), To: yyDollar[5].exprUnion()} } @@ -15096,7 +15205,7 @@ yydefault: case 959: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:4972 +//line sql.y:4967 { yyLOCAL = &BetweenExpr{Left: yyDollar[1].exprUnion(), IsBetween: false, From: yyDollar[4].exprUnion(), To: yyDollar[6].exprUnion()} } @@ -15104,7 +15213,7 @@ yydefault: case 960: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4976 +//line sql.y:4971 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: LikeOp, Right: yyDollar[3].exprUnion()} } @@ -15112,7 +15221,7 @@ yydefault: case 961: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:4980 +//line sql.y:4975 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotLikeOp, Right: yyDollar[4].exprUnion()} } @@ -15120,7 +15229,7 @@ yydefault: case 962: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:4984 +//line sql.y:4979 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: LikeOp, Right: yyDollar[3].exprUnion(), Escape: yyDollar[5].exprUnion()} } @@ -15128,7 +15237,7 @@ yydefault: case 963: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:4988 +//line sql.y:4983 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotLikeOp, Right: yyDollar[4].exprUnion(), Escape: yyDollar[6].exprUnion()} } @@ -15136,7 +15245,7 @@ yydefault: case 964: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4992 +//line sql.y:4987 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: RegexpOp, Right: yyDollar[3].exprUnion()} } @@ -15144,7 +15253,7 @@ yydefault: case 965: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:4996 +//line sql.y:4991 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotRegexpOp, Right: yyDollar[4].exprUnion()} } @@ -15152,7 +15261,7 @@ yydefault: case 966: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5000 +//line sql.y:4995 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15160,7 +15269,7 @@ yydefault: case 967: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5006 +//line sql.y:5001 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitOrOp, Right: yyDollar[3].exprUnion()} } @@ -15168,7 +15277,7 @@ yydefault: case 968: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5010 +//line sql.y:5005 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitAndOp, Right: yyDollar[3].exprUnion()} } @@ -15176,7 +15285,7 @@ yydefault: case 969: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5014 +//line sql.y:5009 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ShiftLeftOp, Right: yyDollar[3].exprUnion()} } @@ -15184,7 +15293,7 @@ yydefault: case 970: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5018 +//line sql.y:5013 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ShiftRightOp, Right: yyDollar[3].exprUnion()} } @@ -15192,7 +15301,7 @@ yydefault: case 971: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5022 +//line sql.y:5017 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: PlusOp, Right: yyDollar[3].exprUnion()} } @@ -15200,7 +15309,7 @@ yydefault: case 972: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5026 +//line sql.y:5021 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: MinusOp, Right: yyDollar[3].exprUnion()} } @@ -15208,7 +15317,7 @@ yydefault: case 973: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5030 +//line sql.y:5025 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: MultOp, Right: yyDollar[3].exprUnion()} } @@ -15216,7 +15325,7 @@ yydefault: case 974: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5034 +//line sql.y:5029 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: DivOp, Right: yyDollar[3].exprUnion()} } @@ -15224,7 +15333,7 @@ yydefault: case 975: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5038 +//line sql.y:5033 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ModOp, Right: yyDollar[3].exprUnion()} } @@ -15232,7 +15341,7 @@ yydefault: case 976: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5042 +//line sql.y:5037 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: IntDivOp, Right: yyDollar[3].exprUnion()} } @@ -15240,7 +15349,7 @@ yydefault: case 977: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5046 +//line sql.y:5041 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ModOp, Right: yyDollar[3].exprUnion()} } @@ -15248,7 +15357,7 @@ yydefault: case 978: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5050 +//line sql.y:5045 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitXorOp, Right: yyDollar[3].exprUnion()} } @@ -15256,7 +15365,7 @@ yydefault: case 979: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5054 +//line sql.y:5049 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15264,7 +15373,7 @@ yydefault: case 980: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5060 +//line sql.y:5055 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15272,7 +15381,7 @@ yydefault: case 981: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5064 +//line sql.y:5059 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15280,7 +15389,7 @@ yydefault: case 982: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5068 +//line sql.y:5063 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15288,7 +15397,7 @@ yydefault: case 983: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5072 +//line sql.y:5067 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15296,7 +15405,7 @@ yydefault: case 984: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5076 +//line sql.y:5071 { yyLOCAL = &CollateExpr{Expr: yyDollar[1].exprUnion(), Collation: yyDollar[3].str} } @@ -15304,7 +15413,7 @@ yydefault: case 985: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5080 +//line sql.y:5075 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15312,7 +15421,7 @@ yydefault: case 986: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5084 +//line sql.y:5079 { yyLOCAL = yyDollar[1].colNameUnion() } @@ -15320,7 +15429,7 @@ yydefault: case 987: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5088 +//line sql.y:5083 { yyLOCAL = yyDollar[2].exprUnion() // TODO: do we really want to ignore unary '+' before any kind of literals? } @@ -15328,7 +15437,7 @@ yydefault: case 988: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5092 +//line sql.y:5087 { yyLOCAL = &UnaryExpr{Operator: UMinusOp, Expr: yyDollar[2].exprUnion()} } @@ -15336,7 +15445,7 @@ yydefault: case 989: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5096 +//line sql.y:5091 { yyLOCAL = &UnaryExpr{Operator: TildaOp, Expr: yyDollar[2].exprUnion()} } @@ -15344,7 +15453,7 @@ yydefault: case 990: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5100 +//line sql.y:5095 { yyLOCAL = &UnaryExpr{Operator: BangOp, Expr: yyDollar[2].exprUnion()} } @@ -15352,7 +15461,7 @@ yydefault: case 991: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5104 +//line sql.y:5099 { yyLOCAL = yyDollar[1].subqueryUnion() } @@ -15360,7 +15469,7 @@ yydefault: case 992: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5108 +//line sql.y:5103 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15368,7 +15477,7 @@ yydefault: case 993: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5112 +//line sql.y:5107 { yyLOCAL = &ExistsExpr{Subquery: yyDollar[2].subqueryUnion()} } @@ -15376,7 +15485,7 @@ yydefault: case 994: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL Expr -//line sql.y:5116 +//line sql.y:5111 { yyLOCAL = &MatchExpr{Columns: yyDollar[3].selectExprsUnion(), Expr: yyDollar[7].exprUnion(), Option: yyDollar[8].matchExprOptionUnion()} } @@ -15384,7 +15493,7 @@ yydefault: case 995: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5120 +//line sql.y:5115 { yyLOCAL = &ConvertExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].convertTypeUnion()} } @@ -15392,7 +15501,7 @@ yydefault: case 996: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5124 +//line sql.y:5119 { yyLOCAL = &ConvertExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].convertTypeUnion()} } @@ -15400,7 +15509,7 @@ yydefault: case 997: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5128 +//line sql.y:5123 { yyLOCAL = &ConvertUsingExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].str} } @@ -15408,7 +15517,7 @@ yydefault: case 998: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5132 +//line sql.y:5127 { // From: https://dev.mysql.com/doc/refman/8.0/en/cast-functions.html#operator_binary // To convert a string expression to a binary string, these constructs are equivalent: @@ -15420,7 +15529,7 @@ yydefault: case 999: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5140 +//line sql.y:5135 { yyLOCAL = &Default{ColName: yyDollar[2].str} } @@ -15428,7 +15537,7 @@ yydefault: case 1000: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5144 +//line sql.y:5139 { // This rule prevents the usage of INTERVAL // as a function. If support is needed for that, @@ -15440,7 +15549,7 @@ yydefault: case 1001: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5152 +//line sql.y:5147 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].colNameUnion(), Operator: JSONExtractOp, Right: yyDollar[3].exprUnion()} } @@ -15448,7 +15557,7 @@ yydefault: case 1002: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5156 +//line sql.y:5151 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].colNameUnion(), Operator: JSONUnquoteExtractOp, Right: yyDollar[3].exprUnion()} } @@ -15456,7 +15565,7 @@ yydefault: case 1003: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TrimType -//line sql.y:5162 +//line sql.y:5157 { yyLOCAL = BothTrimType } @@ -15464,7 +15573,7 @@ yydefault: case 1004: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TrimType -//line sql.y:5166 +//line sql.y:5161 { yyLOCAL = LeadingTrimType } @@ -15472,27 +15581,27 @@ yydefault: case 1005: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TrimType -//line sql.y:5170 +//line sql.y:5165 { yyLOCAL = TrailingTrimType } yyVAL.union = yyLOCAL case 1006: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5176 +//line sql.y:5171 { yyVAL.str = "" } case 1007: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5180 +//line sql.y:5175 { yyVAL.str = string(yyDollar[2].colIdent.String()) } case 1008: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL BoolVal -//line sql.y:5186 +//line sql.y:5181 { yyLOCAL = BoolVal(true) } @@ -15500,7 +15609,7 @@ yydefault: case 1009: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL BoolVal -//line sql.y:5190 +//line sql.y:5185 { yyLOCAL = BoolVal(false) } @@ -15508,7 +15617,7 @@ yydefault: case 1010: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IsExprOperator -//line sql.y:5197 +//line sql.y:5192 { yyLOCAL = IsTrueOp } @@ -15516,7 +15625,7 @@ yydefault: case 1011: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IsExprOperator -//line sql.y:5201 +//line sql.y:5196 { yyLOCAL = IsNotTrueOp } @@ -15524,7 +15633,7 @@ yydefault: case 1012: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IsExprOperator -//line sql.y:5205 +//line sql.y:5200 { yyLOCAL = IsFalseOp } @@ -15532,7 +15641,7 @@ yydefault: case 1013: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IsExprOperator -//line sql.y:5209 +//line sql.y:5204 { yyLOCAL = IsNotFalseOp } @@ -15540,7 +15649,7 @@ yydefault: case 1014: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5215 +//line sql.y:5210 { yyLOCAL = EqualOp } @@ -15548,7 +15657,7 @@ yydefault: case 1015: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5219 +//line sql.y:5214 { yyLOCAL = LessThanOp } @@ -15556,7 +15665,7 @@ yydefault: case 1016: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5223 +//line sql.y:5218 { yyLOCAL = GreaterThanOp } @@ -15564,7 +15673,7 @@ yydefault: case 1017: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5227 +//line sql.y:5222 { yyLOCAL = LessEqualOp } @@ -15572,7 +15681,7 @@ yydefault: case 1018: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5231 +//line sql.y:5226 { yyLOCAL = GreaterEqualOp } @@ -15580,7 +15689,7 @@ yydefault: case 1019: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5235 +//line sql.y:5230 { yyLOCAL = NotEqualOp } @@ -15588,7 +15697,7 @@ yydefault: case 1020: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5239 +//line sql.y:5234 { yyLOCAL = NullSafeEqualOp } @@ -15596,7 +15705,7 @@ yydefault: case 1021: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColTuple -//line sql.y:5245 +//line sql.y:5240 { yyLOCAL = yyDollar[1].valTupleUnion() } @@ -15604,7 +15713,7 @@ yydefault: case 1022: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColTuple -//line sql.y:5249 +//line sql.y:5244 { yyLOCAL = yyDollar[1].subqueryUnion() } @@ -15612,7 +15721,7 @@ yydefault: case 1023: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColTuple -//line sql.y:5253 +//line sql.y:5248 { yyLOCAL = ListArg(yyDollar[1].str[2:]) bindVariable(yylex, yyDollar[1].str[2:]) @@ -15621,7 +15730,7 @@ yydefault: case 1024: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Subquery -//line sql.y:5260 +//line sql.y:5255 { yyLOCAL = &Subquery{yyDollar[1].selStmtUnion()} } @@ -15629,14 +15738,14 @@ yydefault: case 1025: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Exprs -//line sql.y:5266 +//line sql.y:5261 { yyLOCAL = Exprs{yyDollar[1].exprUnion()} } yyVAL.union = yyLOCAL case 1026: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5270 +//line sql.y:5265 { yySLICE := (*Exprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].exprUnion()) @@ -15644,7 +15753,7 @@ yydefault: case 1027: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5280 +//line sql.y:5275 { yyLOCAL = &FuncExpr{Name: yyDollar[1].colIdent, Exprs: yyDollar[3].selectExprsUnion()} } @@ -15652,7 +15761,7 @@ yydefault: case 1028: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5284 +//line sql.y:5279 { yyLOCAL = &FuncExpr{Name: yyDollar[1].colIdent, Distinct: true, Exprs: yyDollar[4].selectExprsUnion()} } @@ -15660,7 +15769,7 @@ yydefault: case 1029: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5288 +//line sql.y:5283 { yyLOCAL = &FuncExpr{Name: yyDollar[1].colIdent, Distinct: true, Exprs: yyDollar[4].selectExprsUnion()} } @@ -15668,7 +15777,7 @@ yydefault: case 1030: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5292 +//line sql.y:5287 { yyLOCAL = &FuncExpr{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].colIdent, Exprs: yyDollar[5].selectExprsUnion()} } @@ -15676,7 +15785,7 @@ yydefault: case 1031: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5302 +//line sql.y:5297 { yyLOCAL = &FuncExpr{Name: NewColIdent("left"), Exprs: yyDollar[3].selectExprsUnion()} } @@ -15684,7 +15793,7 @@ yydefault: case 1032: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5306 +//line sql.y:5301 { yyLOCAL = &FuncExpr{Name: NewColIdent("right"), Exprs: yyDollar[3].selectExprsUnion()} } @@ -15692,7 +15801,7 @@ yydefault: case 1033: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5310 +//line sql.y:5305 { yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion(), To: yyDollar[7].exprUnion()} } @@ -15700,7 +15809,7 @@ yydefault: case 1034: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5314 +//line sql.y:5309 { yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion()} } @@ -15708,7 +15817,7 @@ yydefault: case 1035: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5318 +//line sql.y:5313 { yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion(), To: yyDollar[7].exprUnion()} } @@ -15716,7 +15825,7 @@ yydefault: case 1036: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5322 +//line sql.y:5317 { yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion()} } @@ -15724,7 +15833,7 @@ yydefault: case 1037: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5326 +//line sql.y:5321 { yyLOCAL = &GroupConcatExpr{Distinct: yyDollar[3].booleanUnion(), Exprs: yyDollar[4].selectExprsUnion(), OrderBy: yyDollar[5].orderByUnion(), Separator: yyDollar[6].str, Limit: yyDollar[7].limitUnion()} } @@ -15732,7 +15841,7 @@ yydefault: case 1038: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5330 +//line sql.y:5325 { yyLOCAL = &CaseExpr{Expr: yyDollar[2].exprUnion(), Whens: yyDollar[3].whensUnion(), Else: yyDollar[4].exprUnion()} } @@ -15740,7 +15849,7 @@ yydefault: case 1039: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5334 +//line sql.y:5329 { yyLOCAL = &ValuesFuncExpr{Name: yyDollar[3].colNameUnion()} } @@ -15748,7 +15857,7 @@ yydefault: case 1040: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5338 +//line sql.y:5333 { yyLOCAL = &FuncExpr{Name: NewColIdent(yyDollar[1].str)} } @@ -15756,7 +15865,7 @@ yydefault: case 1041: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5349 +//line sql.y:5344 { yyLOCAL = &FuncExpr{Name: NewColIdent("utc_date")} } @@ -15764,7 +15873,7 @@ yydefault: case 1042: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5353 +//line sql.y:5348 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15772,7 +15881,7 @@ yydefault: case 1043: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5359 +//line sql.y:5354 { yyLOCAL = &FuncExpr{Name: NewColIdent("current_date")} } @@ -15780,7 +15889,7 @@ yydefault: case 1044: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5363 +//line sql.y:5358 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("utc_time"), Fsp: yyDollar[2].exprUnion()} } @@ -15788,951 +15897,959 @@ yydefault: case 1045: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5368 +//line sql.y:5363 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("current_time"), Fsp: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL case 1046: + yyDollar = yyS[yypt-5 : yypt+1] + var yyLOCAL Expr +//line sql.y:5367 + { + yyLOCAL = &Count{Arg: yyDollar[4].exprUnion(), Distinct: yyDollar[3].booleanUnion()} + } + yyVAL.union = yyLOCAL + case 1047: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5372 +//line sql.y:5371 { yyLOCAL = &TimestampFuncExpr{Name: string("timestampadd"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].exprUnion(), Expr2: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1047: + case 1048: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5376 +//line sql.y:5375 { yyLOCAL = &TimestampFuncExpr{Name: string("timestampdiff"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].exprUnion(), Expr2: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1048: + case 1049: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5380 +//line sql.y:5379 { yyLOCAL = &ExtractFuncExpr{IntervalTypes: yyDollar[3].intervalTypeUnion(), Expr: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1049: + case 1050: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5384 +//line sql.y:5383 { yyLOCAL = &WeightStringFuncExpr{Expr: yyDollar[3].exprUnion(), As: yyDollar[4].convertTypeUnion()} } yyVAL.union = yyLOCAL - case 1050: + case 1051: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5388 +//line sql.y:5387 { yyLOCAL = &JSONPrettyExpr{JSONVal: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1051: + case 1052: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5392 +//line sql.y:5391 { yyLOCAL = &JSONStorageFreeExpr{JSONVal: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1052: + case 1053: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5396 +//line sql.y:5395 { yyLOCAL = &JSONStorageSizeExpr{JSONVal: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1053: + case 1054: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5400 +//line sql.y:5399 { yyLOCAL = &TrimFuncExpr{TrimFuncType: LTrimType, StringArg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1054: + case 1055: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5404 +//line sql.y:5403 { yyLOCAL = &TrimFuncExpr{TrimFuncType: RTrimType, StringArg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1055: + case 1056: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Expr -//line sql.y:5408 +//line sql.y:5407 { yyLOCAL = &TrimFuncExpr{Type: yyDollar[3].trimTypeUnion(), TrimArg: yyDollar[4].exprUnion(), StringArg: yyDollar[6].exprUnion()} } yyVAL.union = yyLOCAL - case 1056: + case 1057: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5412 +//line sql.y:5411 { yyLOCAL = &TrimFuncExpr{StringArg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1057: + case 1058: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5416 +//line sql.y:5415 { yyLOCAL = &TrimFuncExpr{TrimArg: yyDollar[3].exprUnion(), StringArg: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1058: + case 1059: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5420 +//line sql.y:5419 { yyLOCAL = &JSONSchemaValidFuncExpr{Schema: yyDollar[3].exprUnion(), Document: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1059: + case 1060: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5424 +//line sql.y:5423 { yyLOCAL = &JSONSchemaValidationReportFuncExpr{Schema: yyDollar[3].exprUnion(), Document: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1060: + case 1061: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5428 +//line sql.y:5427 { yyLOCAL = &JSONArrayExpr{Params: yyDollar[3].exprsUnion()} } yyVAL.union = yyLOCAL - case 1061: + case 1062: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5432 +//line sql.y:5431 { yyLOCAL = &JSONObjectExpr{Params: yyDollar[3].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1062: + case 1063: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5436 +//line sql.y:5435 { yyLOCAL = &JSONQuoteExpr{StringArg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1063: + case 1064: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Expr -//line sql.y:5440 +//line sql.y:5439 { yyLOCAL = &JSONContainsExpr{Target: yyDollar[3].exprUnion(), Candidate: yyDollar[5].exprUnion(), PathList: yyDollar[6].jsonPathParamsUnion()} } yyVAL.union = yyLOCAL - case 1064: + case 1065: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5444 +//line sql.y:5443 { yyLOCAL = &JSONContainsPathExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), PathList: yyDollar[7].jsonPathParamsUnion()} } yyVAL.union = yyLOCAL - case 1065: + case 1066: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5448 +//line sql.y:5447 { yyLOCAL = &JSONExtractExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[5].jsonPathParamsUnion()} } yyVAL.union = yyLOCAL - case 1066: + case 1067: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5452 +//line sql.y:5451 { yyLOCAL = &JSONKeysExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[4].jsonPathParamsUnion()} } yyVAL.union = yyLOCAL - case 1067: + case 1068: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5456 +//line sql.y:5455 { yyLOCAL = &JSONOverlapsExpr{JSONDoc1: yyDollar[3].exprUnion(), JSONDoc2: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1068: + case 1069: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5460 +//line sql.y:5459 { yyLOCAL = &JSONSearchExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), SearchStr: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1069: + case 1070: yyDollar = yyS[yypt-11 : yypt+1] var yyLOCAL Expr -//line sql.y:5464 +//line sql.y:5463 { yyLOCAL = &JSONSearchExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), SearchStr: yyDollar[7].exprUnion(), EscapeChar: yyDollar[9].exprUnion(), PathList: yyDollar[10].jsonPathParamsUnion()} } yyVAL.union = yyLOCAL - case 1070: + case 1071: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Expr -//line sql.y:5468 +//line sql.y:5467 { yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam, ReturningType: yyDollar[6].convertTypeUnion()} } yyVAL.union = yyLOCAL - case 1071: + case 1072: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5472 +//line sql.y:5471 { yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam, ReturningType: yyDollar[6].convertTypeUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion()} } yyVAL.union = yyLOCAL - case 1072: + case 1073: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5476 +//line sql.y:5475 { yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam, ReturningType: yyDollar[6].convertTypeUnion(), ErrorOnResponse: yyDollar[7].jtOnResponseUnion()} } yyVAL.union = yyLOCAL - case 1073: + case 1074: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL Expr -//line sql.y:5480 +//line sql.y:5479 { yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam, ReturningType: yyDollar[6].convertTypeUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion(), ErrorOnResponse: yyDollar[8].jtOnResponseUnion()} } yyVAL.union = yyLOCAL - case 1074: + case 1075: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5484 +//line sql.y:5483 { yyLOCAL = &JSONAttributesExpr{Type: DepthAttributeType, JSONDoc: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1075: + case 1076: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5488 +//line sql.y:5487 { yyLOCAL = &JSONAttributesExpr{Type: ValidAttributeType, JSONDoc: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1076: + case 1077: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5492 +//line sql.y:5491 { yyLOCAL = &JSONAttributesExpr{Type: TypeAttributeType, JSONDoc: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1077: + case 1078: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5496 +//line sql.y:5495 { yyLOCAL = &JSONAttributesExpr{Type: LengthAttributeType, JSONDoc: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1078: + case 1079: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5500 +//line sql.y:5499 { yyLOCAL = &JSONAttributesExpr{Type: LengthAttributeType, JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam} } yyVAL.union = yyLOCAL - case 1079: + case 1080: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5504 +//line sql.y:5503 { yyLOCAL = &JSONValueModifierExpr{Type: JSONArrayAppendType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1080: + case 1081: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5508 +//line sql.y:5507 { yyLOCAL = &JSONValueModifierExpr{Type: JSONArrayInsertType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1081: + case 1082: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5512 +//line sql.y:5511 { yyLOCAL = &JSONValueModifierExpr{Type: JSONInsertType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1082: + case 1083: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5516 +//line sql.y:5515 { yyLOCAL = &JSONValueModifierExpr{Type: JSONReplaceType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1083: + case 1084: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5520 +//line sql.y:5519 { yyLOCAL = &JSONValueModifierExpr{Type: JSONSetType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1084: + case 1085: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5524 +//line sql.y:5523 { yyLOCAL = &JSONValueMergeExpr{Type: JSONMergeType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()} } yyVAL.union = yyLOCAL - case 1085: + case 1086: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5528 +//line sql.y:5527 { yyLOCAL = &JSONValueMergeExpr{Type: JSONMergePatchType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()} } yyVAL.union = yyLOCAL - case 1086: + case 1087: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5532 +//line sql.y:5531 { yyLOCAL = &JSONValueMergeExpr{Type: JSONMergePreserveType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()} } yyVAL.union = yyLOCAL - case 1087: + case 1088: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5536 +//line sql.y:5535 { yyLOCAL = &JSONRemoveExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[5].exprsUnion()} } yyVAL.union = yyLOCAL - case 1088: + case 1089: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5540 +//line sql.y:5539 { yyLOCAL = &JSONUnquoteExpr{JSONValue: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1089: + case 1090: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5545 +//line sql.y:5544 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1090: + case 1091: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5549 +//line sql.y:5548 { yyLOCAL = yyDollar[2].convertTypeUnion() } yyVAL.union = yyLOCAL - case 1091: + case 1092: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []JSONPathParam -//line sql.y:5554 +//line sql.y:5553 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1092: + case 1093: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []JSONPathParam -//line sql.y:5558 +//line sql.y:5557 { yyLOCAL = yyDollar[2].jsonPathParamsUnion() } yyVAL.union = yyLOCAL - case 1093: + case 1094: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []JSONPathParam -//line sql.y:5564 +//line sql.y:5563 { yyLOCAL = []JSONPathParam{yyDollar[1].jsonPathParam} } yyVAL.union = yyLOCAL - case 1094: + case 1095: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5568 +//line sql.y:5567 { yySLICE := (*[]JSONPathParam)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].jsonPathParam) } - case 1095: + case 1096: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5574 +//line sql.y:5573 { yyVAL.jsonPathParam = JSONPathParam(yyDollar[1].exprUnion()) } - case 1096: + case 1097: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5578 +//line sql.y:5577 { yyVAL.jsonPathParam = JSONPathParam(yyDollar[1].colNameUnion()) } - case 1097: + case 1098: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5584 +//line sql.y:5583 { } - case 1098: + case 1099: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5586 +//line sql.y:5585 { yyLOCAL = IntervalDayHour } yyVAL.union = yyLOCAL - case 1099: + case 1100: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5590 +//line sql.y:5589 { yyLOCAL = IntervalDayMicrosecond } yyVAL.union = yyLOCAL - case 1100: + case 1101: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5594 +//line sql.y:5593 { yyLOCAL = IntervalDayMinute } yyVAL.union = yyLOCAL - case 1101: + case 1102: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5598 +//line sql.y:5597 { yyLOCAL = IntervalDaySecond } yyVAL.union = yyLOCAL - case 1102: + case 1103: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5602 +//line sql.y:5601 { yyLOCAL = IntervalHourMicrosecond } yyVAL.union = yyLOCAL - case 1103: + case 1104: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5606 +//line sql.y:5605 { yyLOCAL = IntervalHourMinute } yyVAL.union = yyLOCAL - case 1104: + case 1105: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5610 +//line sql.y:5609 { yyLOCAL = IntervalHourSecond } yyVAL.union = yyLOCAL - case 1105: + case 1106: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5614 +//line sql.y:5613 { yyLOCAL = IntervalMinuteMicrosecond } yyVAL.union = yyLOCAL - case 1106: + case 1107: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5618 +//line sql.y:5617 { yyLOCAL = IntervalMinuteSecond } yyVAL.union = yyLOCAL - case 1107: + case 1108: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5622 +//line sql.y:5621 { yyLOCAL = IntervalSecondMicrosecond } yyVAL.union = yyLOCAL - case 1108: + case 1109: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5626 +//line sql.y:5625 { yyLOCAL = IntervalYearMonth } yyVAL.union = yyLOCAL - case 1109: + case 1110: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5632 +//line sql.y:5631 { yyLOCAL = IntervalDay } yyVAL.union = yyLOCAL - case 1110: + case 1111: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5636 +//line sql.y:5635 { yyLOCAL = IntervalWeek } yyVAL.union = yyLOCAL - case 1111: + case 1112: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5640 +//line sql.y:5639 { yyLOCAL = IntervalHour } yyVAL.union = yyLOCAL - case 1112: + case 1113: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5644 +//line sql.y:5643 { yyLOCAL = IntervalMinute } yyVAL.union = yyLOCAL - case 1113: + case 1114: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5648 +//line sql.y:5647 { yyLOCAL = IntervalMonth } yyVAL.union = yyLOCAL - case 1114: + case 1115: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5652 +//line sql.y:5651 { yyLOCAL = IntervalQuarter } yyVAL.union = yyLOCAL - case 1115: + case 1116: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5656 +//line sql.y:5655 { yyLOCAL = IntervalSecond } yyVAL.union = yyLOCAL - case 1116: + case 1117: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5660 +//line sql.y:5659 { yyLOCAL = IntervalMicrosecond } yyVAL.union = yyLOCAL - case 1117: + case 1118: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5664 +//line sql.y:5663 { yyLOCAL = IntervalYear } yyVAL.union = yyLOCAL - case 1120: + case 1121: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:5674 +//line sql.y:5673 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1121: + case 1122: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5678 +//line sql.y:5677 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1122: + case 1123: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5682 +//line sql.y:5681 { yyLOCAL = NewIntLiteral(yyDollar[2].str) } yyVAL.union = yyLOCAL - case 1123: + case 1124: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5686 +//line sql.y:5685 { yyLOCAL = NewArgument(yyDollar[2].str[1:]) bindVariable(yylex, yyDollar[2].str[1:]) } yyVAL.union = yyLOCAL - case 1124: + case 1125: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5697 +//line sql.y:5696 { yyLOCAL = &FuncExpr{Name: NewColIdent("if"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1125: + case 1126: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5701 +//line sql.y:5700 { yyLOCAL = &FuncExpr{Name: NewColIdent("database"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1126: + case 1127: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5705 +//line sql.y:5704 { yyLOCAL = &FuncExpr{Name: NewColIdent("schema"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1127: + case 1128: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5709 +//line sql.y:5708 { yyLOCAL = &FuncExpr{Name: NewColIdent("mod"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1128: + case 1129: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5713 +//line sql.y:5712 { yyLOCAL = &FuncExpr{Name: NewColIdent("replace"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1129: + case 1130: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:5719 +//line sql.y:5718 { yyLOCAL = NoOption } yyVAL.union = yyLOCAL - case 1130: + case 1131: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:5723 +//line sql.y:5722 { yyLOCAL = BooleanModeOpt } yyVAL.union = yyLOCAL - case 1131: + case 1132: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:5727 +//line sql.y:5726 { yyLOCAL = NaturalLanguageModeOpt } yyVAL.union = yyLOCAL - case 1132: + case 1133: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:5731 +//line sql.y:5730 { yyLOCAL = NaturalLanguageModeWithQueryExpansionOpt } yyVAL.union = yyLOCAL - case 1133: + case 1134: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:5735 +//line sql.y:5734 { yyLOCAL = QueryExpansionOpt } yyVAL.union = yyLOCAL - case 1134: + case 1135: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5741 +//line sql.y:5740 { yyVAL.str = string(yyDollar[1].colIdent.String()) } - case 1135: + case 1136: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5745 +//line sql.y:5744 { yyVAL.str = string(yyDollar[1].str) } - case 1136: + case 1137: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5749 +//line sql.y:5748 { yyVAL.str = string(yyDollar[1].str) } - case 1137: + case 1138: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5755 +//line sql.y:5754 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1138: + case 1139: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5759 +//line sql.y:5758 { yyLOCAL = &ConvertType{Type: string(yyDollar[2].str), Length: NewIntLiteral(yyDollar[4].str)} } yyVAL.union = yyLOCAL - case 1139: + case 1140: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5763 +//line sql.y:5762 { yyLOCAL = &ConvertType{Type: string(yyDollar[2].str), Length: NewIntLiteral(yyDollar[4].str)} } yyVAL.union = yyLOCAL - case 1140: + case 1141: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5769 +//line sql.y:5768 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } yyVAL.union = yyLOCAL - case 1141: + case 1142: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5773 +//line sql.y:5772 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion(), Charset: yyDollar[3].columnCharset} } yyVAL.union = yyLOCAL - case 1142: + case 1143: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5777 +//line sql.y:5776 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1143: + case 1144: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5781 +//line sql.y:5780 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } yyVAL.union = yyLOCAL - case 1144: + case 1145: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5785 +//line sql.y:5784 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} yyLOCAL.Length = yyDollar[2].LengthScaleOption.Length yyLOCAL.Scale = yyDollar[2].LengthScaleOption.Scale } yyVAL.union = yyLOCAL - case 1145: + case 1146: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5791 +//line sql.y:5790 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1146: + case 1147: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5795 +//line sql.y:5794 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } yyVAL.union = yyLOCAL - case 1147: + case 1148: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5799 +//line sql.y:5798 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1148: + case 1149: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5803 +//line sql.y:5802 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1149: + case 1150: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5807 +//line sql.y:5806 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } yyVAL.union = yyLOCAL - case 1150: + case 1151: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5811 +//line sql.y:5810 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1151: + case 1152: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5815 +//line sql.y:5814 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1152: + case 1153: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5819 +//line sql.y:5818 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } yyVAL.union = yyLOCAL - case 1153: + case 1154: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5823 +//line sql.y:5822 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1154: + case 1155: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5827 +//line sql.y:5826 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1155: + case 1156: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:5833 +//line sql.y:5832 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1156: + case 1157: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5837 +//line sql.y:5836 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 1157: + case 1158: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5842 +//line sql.y:5841 { yyVAL.str = string("") } - case 1158: + case 1159: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5846 +//line sql.y:5845 { yyVAL.str = " separator " + encodeSQLString(yyDollar[2].str) } - case 1159: + case 1160: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*When -//line sql.y:5852 +//line sql.y:5851 { yyLOCAL = []*When{yyDollar[1].whenUnion()} } yyVAL.union = yyLOCAL - case 1160: + case 1161: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5856 +//line sql.y:5855 { yySLICE := (*[]*When)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].whenUnion()) } - case 1161: + case 1162: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *When -//line sql.y:5862 +//line sql.y:5861 { yyLOCAL = &When{Cond: yyDollar[2].exprUnion(), Val: yyDollar[4].exprUnion()} } yyVAL.union = yyLOCAL - case 1162: + case 1163: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:5867 +//line sql.y:5866 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1163: + case 1164: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5871 +//line sql.y:5870 { yyLOCAL = yyDollar[2].exprUnion() } yyVAL.union = yyLOCAL - case 1164: + case 1165: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ColName -//line sql.y:5877 +//line sql.y:5876 { yyLOCAL = &ColName{Name: yyDollar[1].colIdent} } yyVAL.union = yyLOCAL - case 1165: + case 1166: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColName -//line sql.y:5881 +//line sql.y:5880 { yyLOCAL = &ColName{Qualifier: TableName{Name: yyDollar[1].tableIdent}, Name: yyDollar[3].colIdent} } yyVAL.union = yyLOCAL - case 1166: + case 1167: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ColName -//line sql.y:5885 +//line sql.y:5884 { yyLOCAL = &ColName{Qualifier: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}, Name: yyDollar[5].colIdent} } yyVAL.union = yyLOCAL - case 1167: + case 1168: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5891 +//line sql.y:5890 { // TODO(sougou): Deprecate this construct. if yyDollar[1].colIdent.Lowered() != "value" { @@ -16742,388 +16859,388 @@ yydefault: yyLOCAL = NewIntLiteral("1") } yyVAL.union = yyLOCAL - case 1168: + case 1169: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5900 +//line sql.y:5899 { yyLOCAL = NewIntLiteral(yyDollar[1].str) } yyVAL.union = yyLOCAL - case 1169: + case 1170: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5904 +//line sql.y:5903 { yyLOCAL = NewArgument(yyDollar[1].str[1:]) bindVariable(yylex, yyDollar[1].str[1:]) } yyVAL.union = yyLOCAL - case 1170: + case 1171: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Exprs -//line sql.y:5910 +//line sql.y:5909 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1171: + case 1172: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Exprs -//line sql.y:5914 +//line sql.y:5913 { yyLOCAL = yyDollar[3].exprsUnion() } yyVAL.union = yyLOCAL - case 1172: + case 1173: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:5919 +//line sql.y:5918 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1173: + case 1174: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5923 +//line sql.y:5922 { yyLOCAL = yyDollar[2].exprUnion() } yyVAL.union = yyLOCAL - case 1174: + case 1175: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL OrderBy -//line sql.y:5928 +//line sql.y:5927 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1175: + case 1176: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL OrderBy -//line sql.y:5932 +//line sql.y:5931 { yyLOCAL = yyDollar[1].orderByUnion() } yyVAL.union = yyLOCAL - case 1176: + case 1177: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL OrderBy -//line sql.y:5938 +//line sql.y:5937 { yyLOCAL = yyDollar[3].orderByUnion() } yyVAL.union = yyLOCAL - case 1177: + case 1178: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL OrderBy -//line sql.y:5944 +//line sql.y:5943 { yyLOCAL = OrderBy{yyDollar[1].orderUnion()} } yyVAL.union = yyLOCAL - case 1178: + case 1179: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5948 +//line sql.y:5947 { yySLICE := (*OrderBy)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].orderUnion()) } - case 1179: + case 1180: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Order -//line sql.y:5954 +//line sql.y:5953 { yyLOCAL = &Order{Expr: yyDollar[1].exprUnion(), Direction: yyDollar[2].orderDirectionUnion()} } yyVAL.union = yyLOCAL - case 1180: + case 1181: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL OrderDirection -//line sql.y:5959 +//line sql.y:5958 { yyLOCAL = AscOrder } yyVAL.union = yyLOCAL - case 1181: + case 1182: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL OrderDirection -//line sql.y:5963 +//line sql.y:5962 { yyLOCAL = AscOrder } yyVAL.union = yyLOCAL - case 1182: + case 1183: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL OrderDirection -//line sql.y:5967 +//line sql.y:5966 { yyLOCAL = DescOrder } yyVAL.union = yyLOCAL - case 1183: + case 1184: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *Limit -//line sql.y:5972 +//line sql.y:5971 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1184: + case 1185: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Limit -//line sql.y:5976 +//line sql.y:5975 { yyLOCAL = yyDollar[1].limitUnion() } yyVAL.union = yyLOCAL - case 1185: + case 1186: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Limit -//line sql.y:5982 +//line sql.y:5981 { yyLOCAL = &Limit{Rowcount: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 1186: + case 1187: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Limit -//line sql.y:5986 +//line sql.y:5985 { yyLOCAL = &Limit{Offset: yyDollar[2].exprUnion(), Rowcount: yyDollar[4].exprUnion()} } yyVAL.union = yyLOCAL - case 1187: + case 1188: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Limit -//line sql.y:5990 +//line sql.y:5989 { yyLOCAL = &Limit{Offset: yyDollar[4].exprUnion(), Rowcount: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 1188: + case 1189: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:5995 +//line sql.y:5994 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1189: + case 1190: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:5999 +//line sql.y:5998 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion(), yyDollar[2].alterOptionUnion()} } yyVAL.union = yyLOCAL - case 1190: + case 1191: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:6003 +//line sql.y:6002 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion(), yyDollar[2].alterOptionUnion()} } yyVAL.union = yyLOCAL - case 1191: + case 1192: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:6007 +//line sql.y:6006 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} } yyVAL.union = yyLOCAL - case 1192: + case 1193: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:6011 +//line sql.y:6010 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} } yyVAL.union = yyLOCAL - case 1193: + case 1194: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6018 +//line sql.y:6017 { yyLOCAL = &LockOption{Type: DefaultType} } yyVAL.union = yyLOCAL - case 1194: + case 1195: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6022 +//line sql.y:6021 { yyLOCAL = &LockOption{Type: NoneType} } yyVAL.union = yyLOCAL - case 1195: + case 1196: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6026 +//line sql.y:6025 { yyLOCAL = &LockOption{Type: SharedType} } yyVAL.union = yyLOCAL - case 1196: + case 1197: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6030 +//line sql.y:6029 { yyLOCAL = &LockOption{Type: ExclusiveType} } yyVAL.union = yyLOCAL - case 1197: + case 1198: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6036 +//line sql.y:6035 { yyLOCAL = AlgorithmValue(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1198: + case 1199: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6040 +//line sql.y:6039 { yyLOCAL = AlgorithmValue(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1199: + case 1200: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6044 +//line sql.y:6043 { yyLOCAL = AlgorithmValue(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1200: + case 1201: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6048 +//line sql.y:6047 { yyLOCAL = AlgorithmValue(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1201: + case 1202: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6053 +//line sql.y:6052 { yyVAL.str = "" } - case 1202: + case 1203: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6057 +//line sql.y:6056 { yyVAL.str = string(yyDollar[3].str) } - case 1203: + case 1204: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6061 +//line sql.y:6060 { yyVAL.str = string(yyDollar[3].str) } - case 1204: + case 1205: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6065 +//line sql.y:6064 { yyVAL.str = string(yyDollar[3].str) } - case 1205: + case 1206: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6070 +//line sql.y:6069 { yyVAL.str = "" } - case 1206: + case 1207: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6074 +//line sql.y:6073 { yyVAL.str = yyDollar[3].str } - case 1207: + case 1208: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6080 +//line sql.y:6079 { yyVAL.str = string(yyDollar[1].str) } - case 1208: + case 1209: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6084 +//line sql.y:6083 { yyVAL.str = string(yyDollar[1].str) } - case 1209: + case 1210: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6089 +//line sql.y:6088 { yyVAL.str = "" } - case 1210: + case 1211: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:6093 +//line sql.y:6092 { yyVAL.str = yyDollar[2].str } - case 1211: + case 1212: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6098 +//line sql.y:6097 { yyVAL.str = "cascaded" } - case 1212: + case 1213: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6102 +//line sql.y:6101 { yyVAL.str = string(yyDollar[1].str) } - case 1213: + case 1214: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6106 +//line sql.y:6105 { yyVAL.str = string(yyDollar[1].str) } - case 1214: + case 1215: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *Definer -//line sql.y:6111 +//line sql.y:6110 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1215: + case 1216: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *Definer -//line sql.y:6115 +//line sql.y:6114 { yyLOCAL = yyDollar[3].definerUnion() } yyVAL.union = yyLOCAL - case 1216: + case 1217: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Definer -//line sql.y:6121 +//line sql.y:6120 { yyLOCAL = &Definer{ Name: string(yyDollar[1].str), } } yyVAL.union = yyLOCAL - case 1217: + case 1218: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *Definer -//line sql.y:6127 +//line sql.y:6126 { yyLOCAL = &Definer{ Name: string(yyDollar[1].str), } } yyVAL.union = yyLOCAL - case 1218: + case 1219: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Definer -//line sql.y:6133 +//line sql.y:6132 { yyLOCAL = &Definer{ Name: yyDollar[1].str, @@ -17131,361 +17248,361 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1219: + case 1220: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6142 +//line sql.y:6141 { yyVAL.str = encodeSQLString(yyDollar[1].str) } - case 1220: + case 1221: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6146 +//line sql.y:6145 { yyVAL.str = formatIdentifier(yyDollar[1].str) } - case 1221: + case 1222: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6151 +//line sql.y:6150 { yyVAL.str = "" } - case 1222: + case 1223: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6155 +//line sql.y:6154 { yyVAL.str = formatAddress(yyDollar[1].str) } - case 1223: + case 1224: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Lock -//line sql.y:6161 +//line sql.y:6160 { yyLOCAL = ForUpdateLock } yyVAL.union = yyLOCAL - case 1224: + case 1225: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Lock -//line sql.y:6165 +//line sql.y:6164 { yyLOCAL = ShareModeLock } yyVAL.union = yyLOCAL - case 1225: + case 1226: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL *SelectInto -//line sql.y:6171 +//line sql.y:6170 { yyLOCAL = &SelectInto{Type: IntoOutfileS3, FileName: encodeSQLString(yyDollar[4].str), Charset: yyDollar[5].columnCharset, FormatOption: yyDollar[6].str, ExportOption: yyDollar[7].str, Manifest: yyDollar[8].str, Overwrite: yyDollar[9].str} } yyVAL.union = yyLOCAL - case 1226: + case 1227: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SelectInto -//line sql.y:6175 +//line sql.y:6174 { yyLOCAL = &SelectInto{Type: IntoDumpfile, FileName: encodeSQLString(yyDollar[3].str), Charset: ColumnCharset{}, FormatOption: "", ExportOption: "", Manifest: "", Overwrite: ""} } yyVAL.union = yyLOCAL - case 1227: + case 1228: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *SelectInto -//line sql.y:6179 +//line sql.y:6178 { yyLOCAL = &SelectInto{Type: IntoOutfile, FileName: encodeSQLString(yyDollar[3].str), Charset: yyDollar[4].columnCharset, FormatOption: "", ExportOption: yyDollar[5].str, Manifest: "", Overwrite: ""} } yyVAL.union = yyLOCAL - case 1228: + case 1229: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6184 +//line sql.y:6183 { yyVAL.str = "" } - case 1229: + case 1230: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6188 +//line sql.y:6187 { yyVAL.str = " format csv" + yyDollar[3].str } - case 1230: + case 1231: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6192 +//line sql.y:6191 { yyVAL.str = " format text" + yyDollar[3].str } - case 1231: + case 1232: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6197 +//line sql.y:6196 { yyVAL.str = "" } - case 1232: + case 1233: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6201 +//line sql.y:6200 { yyVAL.str = " header" } - case 1233: + case 1234: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6206 +//line sql.y:6205 { yyVAL.str = "" } - case 1234: + case 1235: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6210 +//line sql.y:6209 { yyVAL.str = " manifest on" } - case 1235: + case 1236: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6214 +//line sql.y:6213 { yyVAL.str = " manifest off" } - case 1236: + case 1237: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6219 +//line sql.y:6218 { yyVAL.str = "" } - case 1237: + case 1238: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6223 +//line sql.y:6222 { yyVAL.str = " overwrite on" } - case 1238: + case 1239: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6227 +//line sql.y:6226 { yyVAL.str = " overwrite off" } - case 1239: + case 1240: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6233 +//line sql.y:6232 { yyVAL.str = yyDollar[1].str + yyDollar[2].str } - case 1240: + case 1241: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6238 +//line sql.y:6237 { yyVAL.str = "" } - case 1241: + case 1242: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6242 +//line sql.y:6241 { yyVAL.str = " lines" + yyDollar[2].str } - case 1242: + case 1243: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6248 +//line sql.y:6247 { yyVAL.str = yyDollar[1].str } - case 1243: + case 1244: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6252 +//line sql.y:6251 { yyVAL.str = yyDollar[1].str + yyDollar[2].str } - case 1244: + case 1245: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6258 +//line sql.y:6257 { yyVAL.str = " starting by " + encodeSQLString(yyDollar[3].str) } - case 1245: + case 1246: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6262 +//line sql.y:6261 { yyVAL.str = " terminated by " + encodeSQLString(yyDollar[3].str) } - case 1246: + case 1247: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6267 +//line sql.y:6266 { yyVAL.str = "" } - case 1247: + case 1248: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6271 +//line sql.y:6270 { yyVAL.str = " " + yyDollar[1].str + yyDollar[2].str } - case 1248: + case 1249: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6277 +//line sql.y:6276 { yyVAL.str = yyDollar[1].str } - case 1249: + case 1250: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6281 +//line sql.y:6280 { yyVAL.str = yyDollar[1].str + yyDollar[2].str } - case 1250: + case 1251: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6287 +//line sql.y:6286 { yyVAL.str = " terminated by " + encodeSQLString(yyDollar[3].str) } - case 1251: + case 1252: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:6291 +//line sql.y:6290 { yyVAL.str = yyDollar[1].str + " enclosed by " + encodeSQLString(yyDollar[4].str) } - case 1252: + case 1253: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6295 +//line sql.y:6294 { yyVAL.str = " escaped by " + encodeSQLString(yyDollar[3].str) } - case 1253: + case 1254: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6300 +//line sql.y:6299 { yyVAL.str = "" } - case 1254: + case 1255: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6304 +//line sql.y:6303 { yyVAL.str = " optionally" } - case 1255: + case 1256: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Insert -//line sql.y:6317 +//line sql.y:6316 { yyLOCAL = &Insert{Rows: yyDollar[2].valuesUnion()} } yyVAL.union = yyLOCAL - case 1256: + case 1257: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Insert -//line sql.y:6321 +//line sql.y:6320 { yyLOCAL = &Insert{Rows: yyDollar[1].selStmtUnion()} } yyVAL.union = yyLOCAL - case 1257: + case 1258: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *Insert -//line sql.y:6325 +//line sql.y:6324 { yyLOCAL = &Insert{Columns: yyDollar[2].columnsUnion(), Rows: yyDollar[5].valuesUnion()} } yyVAL.union = yyLOCAL - case 1258: + case 1259: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Insert -//line sql.y:6329 +//line sql.y:6328 { yyLOCAL = &Insert{Rows: yyDollar[4].valuesUnion()} } yyVAL.union = yyLOCAL - case 1259: + case 1260: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Insert -//line sql.y:6333 +//line sql.y:6332 { yyLOCAL = &Insert{Columns: yyDollar[2].columnsUnion(), Rows: yyDollar[4].selStmtUnion()} } yyVAL.union = yyLOCAL - case 1260: + case 1261: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:6339 +//line sql.y:6338 { yyLOCAL = Columns{yyDollar[1].colIdent} } yyVAL.union = yyLOCAL - case 1261: + case 1262: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Columns -//line sql.y:6343 +//line sql.y:6342 { yyLOCAL = Columns{yyDollar[3].colIdent} } yyVAL.union = yyLOCAL - case 1262: + case 1263: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6347 +//line sql.y:6346 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].colIdent) } - case 1263: + case 1264: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:6351 +//line sql.y:6350 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[5].colIdent) } - case 1264: + case 1265: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL UpdateExprs -//line sql.y:6356 +//line sql.y:6355 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1265: + case 1266: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL UpdateExprs -//line sql.y:6360 +//line sql.y:6359 { yyLOCAL = yyDollar[5].updateExprsUnion() } yyVAL.union = yyLOCAL - case 1266: + case 1267: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Values -//line sql.y:6366 +//line sql.y:6365 { yyLOCAL = Values{yyDollar[1].valTupleUnion()} } yyVAL.union = yyLOCAL - case 1267: + case 1268: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6370 +//line sql.y:6369 { yySLICE := (*Values)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].valTupleUnion()) } - case 1268: + case 1269: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ValTuple -//line sql.y:6376 +//line sql.y:6375 { yyLOCAL = yyDollar[1].valTupleUnion() } yyVAL.union = yyLOCAL - case 1269: + case 1270: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ValTuple -//line sql.y:6380 +//line sql.y:6379 { yyLOCAL = ValTuple{} } yyVAL.union = yyLOCAL - case 1270: + case 1271: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ValTuple -//line sql.y:6386 +//line sql.y:6385 { yyLOCAL = ValTuple(yyDollar[2].exprsUnion()) } yyVAL.union = yyLOCAL - case 1271: + case 1272: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:6391 +//line sql.y:6390 { if len(yyDollar[1].valTupleUnion()) == 1 { yyLOCAL = yyDollar[1].valTupleUnion()[0] @@ -17494,294 +17611,294 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1272: + case 1273: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL UpdateExprs -//line sql.y:6401 +//line sql.y:6400 { yyLOCAL = UpdateExprs{yyDollar[1].updateExprUnion()} } yyVAL.union = yyLOCAL - case 1273: + case 1274: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6405 +//line sql.y:6404 { yySLICE := (*UpdateExprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].updateExprUnion()) } - case 1274: + case 1275: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *UpdateExpr -//line sql.y:6411 +//line sql.y:6410 { yyLOCAL = &UpdateExpr{Name: yyDollar[1].colNameUnion(), Expr: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1275: + case 1276: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SetExprs -//line sql.y:6417 +//line sql.y:6416 { yyLOCAL = SetExprs{yyDollar[1].setExprUnion()} } yyVAL.union = yyLOCAL - case 1276: + case 1277: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6421 +//line sql.y:6420 { yySLICE := (*SetExprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].setExprUnion()) } - case 1277: + case 1278: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:6427 +//line sql.y:6426 { yyLOCAL = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: NewStrLiteral("on")} } yyVAL.union = yyLOCAL - case 1278: + case 1279: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:6431 +//line sql.y:6430 { yyLOCAL = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: NewStrLiteral("off")} } yyVAL.union = yyLOCAL - case 1279: + case 1280: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:6435 +//line sql.y:6434 { yyLOCAL = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1280: + case 1281: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:6439 +//line sql.y:6438 { yyLOCAL = &SetExpr{Name: NewColIdent(string(yyDollar[1].str)), Scope: ImplicitScope, Expr: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 1281: + case 1282: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:6443 +//line sql.y:6442 { yyDollar[2].setExprUnion().Scope = yyDollar[1].scopeUnion() yyLOCAL = yyDollar[2].setExprUnion() } yyVAL.union = yyLOCAL - case 1283: + case 1284: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6451 +//line sql.y:6450 { yyVAL.str = "charset" } - case 1286: + case 1287: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:6461 +//line sql.y:6460 { yyLOCAL = NewStrLiteral(yyDollar[1].colIdent.String()) } yyVAL.union = yyLOCAL - case 1287: + case 1288: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:6465 +//line sql.y:6464 { yyLOCAL = NewStrLiteral(yyDollar[1].str) } yyVAL.union = yyLOCAL - case 1288: + case 1289: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:6469 +//line sql.y:6468 { yyLOCAL = &Default{} } yyVAL.union = yyLOCAL - case 1291: + case 1292: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:6478 +//line sql.y:6477 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1292: + case 1293: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:6480 +//line sql.y:6479 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1293: + case 1294: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:6483 +//line sql.y:6482 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1294: + case 1295: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:6485 +//line sql.y:6484 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1295: + case 1296: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:6488 +//line sql.y:6487 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1296: + case 1297: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL bool -//line sql.y:6490 +//line sql.y:6489 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1297: + case 1298: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Ignore -//line sql.y:6493 +//line sql.y:6492 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1298: + case 1299: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Ignore -//line sql.y:6495 +//line sql.y:6494 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1299: + case 1300: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6498 +//line sql.y:6497 { yyVAL.empty = struct{}{} } - case 1300: + case 1301: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6500 +//line sql.y:6499 { yyVAL.empty = struct{}{} } - case 1301: + case 1302: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6502 +//line sql.y:6501 { yyVAL.empty = struct{}{} } - case 1302: + case 1303: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:6506 +//line sql.y:6505 { yyLOCAL = &CallProc{Name: yyDollar[2].tableName, Params: yyDollar[4].exprsUnion()} } yyVAL.union = yyLOCAL - case 1303: + case 1304: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Exprs -//line sql.y:6511 +//line sql.y:6510 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1304: + case 1305: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Exprs -//line sql.y:6515 +//line sql.y:6514 { yyLOCAL = yyDollar[1].exprsUnion() } yyVAL.union = yyLOCAL - case 1305: + case 1306: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:6520 +//line sql.y:6519 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1306: + case 1307: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:6522 +//line sql.y:6521 { yyLOCAL = []*IndexOption{yyDollar[1].indexOptionUnion()} } yyVAL.union = yyLOCAL - case 1307: + case 1308: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:6526 +//line sql.y:6525 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), String: string(yyDollar[2].colIdent.String())} } yyVAL.union = yyLOCAL - case 1308: + case 1309: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6532 +//line sql.y:6531 { yyVAL.colIdent = yyDollar[1].colIdent } - case 1309: + case 1310: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6536 +//line sql.y:6535 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].str)) } - case 1311: + case 1312: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6543 +//line sql.y:6542 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].str)) } - case 1312: + case 1313: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6549 +//line sql.y:6548 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].colIdent.String())) } - case 1313: + case 1314: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6553 +//line sql.y:6552 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].str)) } - case 1314: + case 1315: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6559 +//line sql.y:6558 { yyVAL.tableIdent = NewTableIdent("") } - case 1315: + case 1316: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6563 +//line sql.y:6562 { yyVAL.tableIdent = yyDollar[1].tableIdent } - case 1317: + case 1318: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6570 +//line sql.y:6569 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].str)) } - case 1817: + case 1819: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:7094 { @@ -17790,31 +17907,31 @@ yydefault: return 1 } } - case 1818: + case 1820: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:7103 { decNesting(yylex) } - case 1819: + case 1821: yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:7108 { skipToEnd(yylex) } - case 1820: + case 1822: yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:7113 { skipToEnd(yylex) } - case 1821: + case 1823: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:7117 { skipToEnd(yylex) } - case 1822: + case 1824: yyDollar = yyS[yypt-1 : yypt+1] //line sql.y:7121 { diff --git a/go/vt/sqlparser/sql.y b/go/vt/sqlparser/sql.y index 5b862ec2f9f..882903f1c2b 100644 --- a/go/vt/sqlparser/sql.y +++ b/go/vt/sqlparser/sql.y @@ -322,6 +322,7 @@ func bindVariable(yylex yyLexer, bvar string) { %token JSON_ARRAY JSON_OBJECT JSON_QUOTE %token JSON_DEPTH JSON_TYPE JSON_LENGTH JSON_VALID %token JSON_ARRAY_APPEND JSON_ARRAY_INSERT JSON_INSERT JSON_MERGE JSON_MERGE_PATCH JSON_MERGE_PRESERVE JSON_REMOVE JSON_REPLACE JSON_SET JSON_UNQUOTE +%token COUNT // aggregate function // Match %token MATCH AGAINST BOOLEAN LANGUAGE WITH QUERY EXPANSION WITHOUT VALIDATION @@ -820,8 +821,6 @@ query_primary: $$ = NewSelect(Comments($2), $4/*SelectExprs*/, $3/*options*/, nil, $5/*from*/, NewWhere(WhereClause, $6), GroupBy($7), NewWhere(HavingClause, $8)) } - - insert_statement: insert_or_replace comment_opt ignore_opt into_table_name opt_partition_clause insert_data on_dup_opt { @@ -1510,7 +1509,6 @@ CURRENT_TIMESTAMP func_datetime_precision $$ = &CurTimeFuncExpr{Name:NewColIdent("now"), Fsp: $2} } - signed_literal_or_null: signed_literal | null_as_literal @@ -2168,7 +2166,6 @@ collate_opt: $$ = encodeSQLString($2) } - index_definition: index_info '(' index_column_list ')' index_option_list_opt { @@ -2284,7 +2281,6 @@ index_symbols: $$ = string($1) } - from_or_in: FROM { @@ -3473,7 +3469,6 @@ without_valid_opt: $$ = true } - partition_definitions: partition_definition { @@ -3743,6 +3738,7 @@ truncate_statement: { $$ = &TruncateTable{Table: $2} } + analyze_statement: ANALYZE TABLE table_name { @@ -4100,7 +4096,6 @@ savepoint_opt: | SAVEPOINT { $$ = struct{}{} } - savepoint_statement: SAVEPOINT sql_id { @@ -5368,6 +5363,10 @@ UTC_DATE func_paren_opt { $$ = &CurTimeFuncExpr{Name:NewColIdent("current_time"), Fsp: $2} } +| COUNT openb distinct_opt expression closeb + { + $$ = &Count{Arg:$4, Distinct:$3} + } | TIMESTAMPADD openb sql_id ',' expression ',' expression closeb { $$ = &TimestampFuncExpr{Name:string("timestampadd"), Unit:$3.String(), Expr1:$5, Expr2:$7} @@ -6779,6 +6778,7 @@ non_reserved_keyword: | COMPRESSION | CONNECTION | COPY +| COUNT | CSV | DATA | DATE From 934fa962b6412eb5536be12d5b8f5f82f80e5425 Mon Sep 17 00:00:00 2001 From: Rameez Sajwani Date: Thu, 19 May 2022 15:30:31 -0700 Subject: [PATCH 02/22] SQLParser:Refactoring Add countStar struct Signed-off-by: Rameez Sajwani --- go/vt/sqlparser/ast.go | 5 + go/vt/sqlparser/ast_clone.go | 21 + go/vt/sqlparser/ast_equals.go | 34 + go/vt/sqlparser/ast_format.go | 5 + go/vt/sqlparser/ast_format_fast.go | 5 + go/vt/sqlparser/ast_rewrite.go | 30 + go/vt/sqlparser/ast_visit.go | 15 + go/vt/sqlparser/cached_size.go | 12 + go/vt/sqlparser/parse_test.go | 1 + go/vt/sqlparser/sql.go | 8471 ++++++++++++++-------------- go/vt/sqlparser/sql.y | 12 + 11 files changed, 4367 insertions(+), 4244 deletions(-) diff --git a/go/vt/sqlparser/ast.go b/go/vt/sqlparser/ast.go index 46de572463c..0ecbb2bea3e 100644 --- a/go/vt/sqlparser/ast.go +++ b/go/vt/sqlparser/ast.go @@ -2561,9 +2561,14 @@ type ( Arg Expr Distinct bool } + + CountStar struct { + Star StarExpr + } ) // iExpr ensures that only expressions nodes can be assigned to a Expr +func (*CountStar) iExpr() {} func (*Count) iExpr() {} func (*AndExpr) iExpr() {} func (*OrExpr) iExpr() {} diff --git a/go/vt/sqlparser/ast_clone.go b/go/vt/sqlparser/ast_clone.go index 14f3d32dbd2..b12e030db5d 100644 --- a/go/vt/sqlparser/ast_clone.go +++ b/go/vt/sqlparser/ast_clone.go @@ -105,6 +105,8 @@ func CloneSQLNode(in SQLNode) SQLNode { return CloneRefOfConvertUsingExpr(in) case *Count: return CloneRefOfCount(in) + case *CountStar: + return CloneRefOfCountStar(in) case *CreateDatabase: return CloneRefOfCreateDatabase(in) case *CreateTable: @@ -827,6 +829,16 @@ func CloneRefOfCount(n *Count) *Count { return &out } +// CloneRefOfCountStar creates a deep clone of the input. +func CloneRefOfCountStar(n *CountStar) *CountStar { + if n == nil { + return nil + } + out := *n + out.Star = CloneStarExpr(n.Star) + return &out +} + // CloneRefOfCreateDatabase creates a deep clone of the input. func CloneRefOfCreateDatabase(n *CreateDatabase) *CreateDatabase { if n == nil { @@ -2757,6 +2769,8 @@ func CloneExpr(in Expr) Expr { return CloneRefOfConvertUsingExpr(in) case *Count: return CloneRefOfCount(in) + case *CountStar: + return CloneRefOfCountStar(in) case *CurTimeFuncExpr: return CloneRefOfCurTimeFuncExpr(in) case *Default: @@ -2905,6 +2919,8 @@ func CloneJSONPathParam(in JSONPathParam) JSONPathParam { return CloneRefOfConvertUsingExpr(in) case *Count: return CloneRefOfCount(in) + case *CountStar: + return CloneRefOfCountStar(in) case *CurTimeFuncExpr: return CloneRefOfCurTimeFuncExpr(in) case *Default: @@ -3312,6 +3328,11 @@ func CloneSliceOfString(n []string) []string { return res } +// CloneStarExpr creates a deep clone of the input. +func CloneStarExpr(n StarExpr) StarExpr { + return *CloneRefOfStarExpr(&n) +} + // CloneSliceOfRefOfIndexColumn creates a deep clone of the input. func CloneSliceOfRefOfIndexColumn(n []*IndexColumn) []*IndexColumn { if n == nil { diff --git a/go/vt/sqlparser/ast_equals.go b/go/vt/sqlparser/ast_equals.go index 1611136da39..e8c802935cf 100644 --- a/go/vt/sqlparser/ast_equals.go +++ b/go/vt/sqlparser/ast_equals.go @@ -272,6 +272,12 @@ func EqualsSQLNode(inA, inB SQLNode) bool { return false } return EqualsRefOfCount(a, b) + case *CountStar: + b, ok := inB.(*CountStar) + if !ok { + return false + } + return EqualsRefOfCountStar(a, b) case *CreateDatabase: b, ok := inB.(*CreateDatabase) if !ok { @@ -1696,6 +1702,17 @@ func EqualsRefOfCount(a, b *Count) bool { EqualsExpr(a.Arg, b.Arg) } +// EqualsRefOfCountStar does deep equals between the two objects. +func EqualsRefOfCountStar(a, b *CountStar) bool { + if a == b { + return true + } + if a == nil || b == nil { + return false + } + return EqualsStarExpr(a.Star, b.Star) +} + // EqualsRefOfCreateDatabase does deep equals between the two objects. func EqualsRefOfCreateDatabase(a, b *CreateDatabase) bool { if a == b { @@ -4262,6 +4279,12 @@ func EqualsExpr(inA, inB Expr) bool { return false } return EqualsRefOfCount(a, b) + case *CountStar: + b, ok := inB.(*CountStar) + if !ok { + return false + } + return EqualsRefOfCountStar(a, b) case *CurTimeFuncExpr: b, ok := inB.(*CurTimeFuncExpr) if !ok { @@ -4664,6 +4687,12 @@ func EqualsJSONPathParam(inA, inB JSONPathParam) bool { return false } return EqualsRefOfCount(a, b) + case *CountStar: + b, ok := inB.(*CountStar) + if !ok { + return false + } + return EqualsRefOfCountStar(a, b) case *CurTimeFuncExpr: b, ok := inB.(*CurTimeFuncExpr) if !ok { @@ -5541,6 +5570,11 @@ func EqualsSliceOfString(a, b []string) bool { return true } +// EqualsStarExpr does deep equals between the two objects. +func EqualsStarExpr(a, b StarExpr) bool { + return EqualsTableName(a.TableName, b.TableName) +} + // EqualsSliceOfRefOfIndexColumn does deep equals between the two objects. func EqualsSliceOfRefOfIndexColumn(a, b []*IndexColumn) bool { if len(a) != len(b) { diff --git a/go/vt/sqlparser/ast_format.go b/go/vt/sqlparser/ast_format.go index 8d238961ead..93e48a540cf 100644 --- a/go/vt/sqlparser/ast_format.go +++ b/go/vt/sqlparser/ast_format.go @@ -2349,5 +2349,10 @@ func (node *Count) Format(buf *TrackedBuffer) { buf.literal(DistinctStr) } buf.astPrintf(node, "%v)", node.Arg) +} +func (node *CountStar) Format(buf *TrackedBuffer) { + buf.WriteString("count(") + buf.astPrintf(node, "%v", node.Star) + buf.WriteString(")") } diff --git a/go/vt/sqlparser/ast_format_fast.go b/go/vt/sqlparser/ast_format_fast.go index f3a6cf6ea25..67ded6ba903 100644 --- a/go/vt/sqlparser/ast_format_fast.go +++ b/go/vt/sqlparser/ast_format_fast.go @@ -3064,5 +3064,10 @@ func (node *Count) formatFast(buf *TrackedBuffer) { } buf.printExpr(node, node.Arg, true) buf.WriteByte(')') +} +func (node *CountStar) formatFast(buf *TrackedBuffer) { + buf.WriteString("count(") + node.Star.formatFast(buf) + buf.WriteString(")") } diff --git a/go/vt/sqlparser/ast_rewrite.go b/go/vt/sqlparser/ast_rewrite.go index 6e7a1533fa0..cf4cd284b60 100644 --- a/go/vt/sqlparser/ast_rewrite.go +++ b/go/vt/sqlparser/ast_rewrite.go @@ -104,6 +104,8 @@ func (a *application) rewriteSQLNode(parent SQLNode, node SQLNode, replacer repl return a.rewriteRefOfConvertUsingExpr(parent, node, replacer) case *Count: return a.rewriteRefOfCount(parent, node, replacer) + case *CountStar: + return a.rewriteRefOfCountStar(parent, node, replacer) case *CreateDatabase: return a.rewriteRefOfCreateDatabase(parent, node, replacer) case *CreateTable: @@ -1618,6 +1620,30 @@ func (a *application) rewriteRefOfCount(parent SQLNode, node *Count, replacer re } return true } +func (a *application) rewriteRefOfCountStar(parent SQLNode, node *CountStar, replacer replacerFunc) bool { + if node == nil { + return true + } + if a.pre != nil { + a.cur.replacer = replacer + a.cur.parent = parent + a.cur.node = node + if !a.pre(&a.cur) { + return true + } + } + if a.post != nil { + if a.pre == nil { + a.cur.replacer = replacer + a.cur.parent = parent + a.cur.node = node + } + if !a.post(&a.cur) { + return false + } + } + return true +} func (a *application) rewriteRefOfCreateDatabase(parent SQLNode, node *CreateDatabase, replacer replacerFunc) bool { if node == nil { return true @@ -6815,6 +6841,8 @@ func (a *application) rewriteExpr(parent SQLNode, node Expr, replacer replacerFu return a.rewriteRefOfConvertUsingExpr(parent, node, replacer) case *Count: return a.rewriteRefOfCount(parent, node, replacer) + case *CountStar: + return a.rewriteRefOfCountStar(parent, node, replacer) case *CurTimeFuncExpr: return a.rewriteRefOfCurTimeFuncExpr(parent, node, replacer) case *Default: @@ -6959,6 +6987,8 @@ func (a *application) rewriteJSONPathParam(parent SQLNode, node JSONPathParam, r return a.rewriteRefOfConvertUsingExpr(parent, node, replacer) case *Count: return a.rewriteRefOfCount(parent, node, replacer) + case *CountStar: + return a.rewriteRefOfCountStar(parent, node, replacer) case *CurTimeFuncExpr: return a.rewriteRefOfCurTimeFuncExpr(parent, node, replacer) case *Default: diff --git a/go/vt/sqlparser/ast_visit.go b/go/vt/sqlparser/ast_visit.go index 11bb6bbc73a..017a447312e 100644 --- a/go/vt/sqlparser/ast_visit.go +++ b/go/vt/sqlparser/ast_visit.go @@ -104,6 +104,8 @@ func VisitSQLNode(in SQLNode, f Visit) error { return VisitRefOfConvertUsingExpr(in, f) case *Count: return VisitRefOfCount(in, f) + case *CountStar: + return VisitRefOfCountStar(in, f) case *CreateDatabase: return VisitRefOfCreateDatabase(in, f) case *CreateTable: @@ -973,6 +975,15 @@ func VisitRefOfCount(in *Count, f Visit) error { } return nil } +func VisitRefOfCountStar(in *CountStar, f Visit) error { + if in == nil { + return nil + } + if cont, err := f(in); err != nil || !cont { + return err + } + return nil +} func VisitRefOfCreateDatabase(in *CreateDatabase, f Visit) error { if in == nil { return nil @@ -3449,6 +3460,8 @@ func VisitExpr(in Expr, f Visit) error { return VisitRefOfConvertUsingExpr(in, f) case *Count: return VisitRefOfCount(in, f) + case *CountStar: + return VisitRefOfCountStar(in, f) case *CurTimeFuncExpr: return VisitRefOfCurTimeFuncExpr(in, f) case *Default: @@ -3593,6 +3606,8 @@ func VisitJSONPathParam(in JSONPathParam, f Visit) error { return VisitRefOfConvertUsingExpr(in, f) case *Count: return VisitRefOfCount(in, f) + case *CountStar: + return VisitRefOfCountStar(in, f) case *CurTimeFuncExpr: return VisitRefOfCurTimeFuncExpr(in, f) case *Default: diff --git a/go/vt/sqlparser/cached_size.go b/go/vt/sqlparser/cached_size.go index ba3eaf3acd0..8121ee5b720 100644 --- a/go/vt/sqlparser/cached_size.go +++ b/go/vt/sqlparser/cached_size.go @@ -736,6 +736,18 @@ func (cached *Count) CachedSize(alloc bool) int64 { } return size } +func (cached *CountStar) CachedSize(alloc bool) int64 { + if cached == nil { + return int64(0) + } + size := int64(0) + if alloc { + size += int64(32) + } + // field Star vitess.io/vitess/go/vt/sqlparser.StarExpr + size += cached.Star.CachedSize(false) + return size +} func (cached *CreateDatabase) CachedSize(alloc bool) int64 { if cached == nil { return int64(0) diff --git a/go/vt/sqlparser/parse_test.go b/go/vt/sqlparser/parse_test.go index 76f3cb84d8d..0963d6bc88f 100644 --- a/go/vt/sqlparser/parse_test.go +++ b/go/vt/sqlparser/parse_test.go @@ -44,6 +44,7 @@ var ( }{ {input: "select /* function with distinct */ count(a) from t"}, {input: "select /* function with distinct */ count(distinct a) from t"}, + {input: "select /* function with distinct */ count(*) from t"}, } validSQL = []struct { input string diff --git a/go/vt/sqlparser/sql.go b/go/vt/sqlparser/sql.go index ef00f285222..b972b10466d 100644 --- a/go/vt/sqlparser/sql.go +++ b/go/vt/sqlparser/sql.go @@ -1287,7 +1287,7 @@ var yyExca = [...]int{ 235, 766, -2, 764, -1, 114, - 232, 1292, + 232, 1294, -2, 119, -1, 116, 1, 146, @@ -1303,26 +1303,26 @@ var yyExca = [...]int{ 333, 153, -2, 507, -1, 697, - 217, 1313, - -2, 1309, + 217, 1315, + -2, 1311, -1, 698, - 217, 1314, - -2, 1310, + 217, 1316, + -2, 1312, -1, 773, 59, 834, -2, 849, -1, 810, - 148, 1722, + 148, 1724, -2, 112, -1, 811, - 148, 1563, + 148, 1565, -2, 113, -1, 817, - 148, 1647, - -2, 1286, + 148, 1649, + -2, 1288, -1, 965, - 148, 1490, - -2, 1283, + 148, 1492, + -2, 1285, -1, 1006, 243, 41, 248, 41, @@ -1350,681 +1350,679 @@ var yyExca = [...]int{ 243, 42, 248, 42, -2, 396, - -1, 1780, - 217, 1318, - -2, 1312, - -1, 1864, + -1, 1782, + 217, 1320, + -2, 1314, + -1, 1866, 132, 153, 172, 153, 333, 153, -2, 435, - -1, 1871, + -1, 1873, 25, 174, -2, 176, - -1, 2121, + -1, 2124, 87, 39, - -2, 891, - -1, 2178, + -2, 892, + -1, 2181, 77, 94, 87, 94, - -2, 911, - -1, 2246, + -2, 912, + -1, 2249, 587, 666, -2, 640, - -1, 2386, - 49, 1254, - -2, 1248, - -1, 2608, + -1, 2389, + 49, 1256, + -2, 1250, + -1, 2611, 87, 39, - -2, 892, - -1, 2646, + -2, 893, + -1, 2649, 7, 53, 18, 53, 20, 53, 88, 53, - -2, 883, - -1, 2927, + -2, 884, + -1, 2930, 587, 666, -2, 654, - -1, 2985, - 22, 1649, - 32, 1649, - 173, 1649, - 255, 1649, - 313, 1649, - 314, 1649, - 315, 1649, - 316, 1649, - 317, 1649, - 318, 1649, - 319, 1649, - 321, 1649, - 322, 1649, - 323, 1649, - 324, 1649, - 325, 1649, - 326, 1649, - 327, 1649, - 328, 1649, - 329, 1649, - 330, 1649, - 331, 1649, - 332, 1649, - 334, 1649, - 336, 1649, - 337, 1649, - 338, 1649, - 339, 1649, - 340, 1649, - 341, 1649, - 342, 1649, - 343, 1649, - 344, 1649, - 347, 1649, - 348, 1649, - 349, 1649, - 350, 1649, - 351, 1649, - 352, 1649, - 353, 1649, - 354, 1649, - 355, 1649, - 469, 1649, + -1, 2988, + 22, 1651, + 32, 1651, + 173, 1651, + 255, 1651, + 313, 1651, + 314, 1651, + 315, 1651, + 316, 1651, + 317, 1651, + 318, 1651, + 319, 1651, + 321, 1651, + 322, 1651, + 323, 1651, + 324, 1651, + 325, 1651, + 326, 1651, + 327, 1651, + 328, 1651, + 329, 1651, + 330, 1651, + 331, 1651, + 332, 1651, + 334, 1651, + 336, 1651, + 337, 1651, + 338, 1651, + 339, 1651, + 340, 1651, + 341, 1651, + 342, 1651, + 343, 1651, + 344, 1651, + 347, 1651, + 348, 1651, + 349, 1651, + 350, 1651, + 351, 1651, + 352, 1651, + 353, 1651, + 354, 1651, + 355, 1651, + 469, 1651, -2, 598, } const yyPrivate = 57344 -const yyLast = 44102 +const yyLast = 43730 var yyAct = [...]int{ - 697, 2748, 2750, 706, 3039, 2749, 3047, 2908, 3015, 1861, - 3016, 2723, 1385, 2535, 2967, 1794, 2983, 2441, 699, 2448, - 2345, 1814, 2075, 2498, 690, 37, 2861, 2503, 1153, 2500, - 618, 3, 2489, 2499, 2497, 2502, 2501, 2399, 2402, 2710, - 96, 1796, 2763, 2884, 2109, 1931, 2456, 2518, 2517, 2617, - 614, 186, 2611, 766, 186, 788, 579, 186, 2403, 2768, - 1307, 1343, 594, 2149, 186, 691, 2400, 2306, 611, 700, - 2344, 640, 186, 2520, 688, 689, 2172, 2637, 1834, 2397, - 2387, 2136, 2603, 1894, 612, 2540, 2211, 186, 2343, 2289, - 2243, 1919, 1818, 1899, 2213, 1962, 2212, 610, 155, 815, - 36, 2111, 770, 1850, 774, 38, 1839, 2142, 2128, 594, - 1774, 1838, 594, 186, 594, 968, 789, 768, 2281, 1330, - 2161, 1750, 791, 1918, 1689, 141, 1826, 1131, 606, 1439, - 1901, 1940, 1978, 996, 2205, 1749, 1374, 812, 1352, 1014, - 1637, 623, 1001, 2180, 1679, 1841, 1486, 1310, 1238, 1701, - 1656, 1174, 1475, 972, 95, 91, 1586, 1582, 1007, 1004, - 975, 1916, 1468, 976, 1566, 1890, 1002, 1003, 780, 1746, - 1697, 1373, 1102, 1371, 1357, 1151, 1777, 1145, 1591, 119, - 775, 117, 1434, 159, 1460, 776, 124, 125, 1086, 802, - 778, 76, 1241, 98, 1819, 97, 601, 1787, 89, 1245, - 118, 2917, 2236, 85, 3040, 1933, 1934, 1935, 1933, 2711, - 2486, 102, 2265, 2264, 1976, 2234, 2666, 1175, 8, 1551, - 777, 77, 188, 189, 190, 7, 583, 796, 6, 801, - 2703, 120, 2297, 126, 90, 2298, 2940, 2941, 1175, 188, - 189, 190, 1644, 1643, 2753, 1043, 782, 2753, 1791, 1792, - 550, 1642, 104, 105, 969, 108, 1641, 1640, 114, 1639, - 1622, 183, 602, 1631, 545, 583, 994, 2508, 1018, 769, - 2508, 604, 767, 605, 3004, 2107, 2383, 2591, 1966, 3056, - 2138, 3019, 809, 2505, 762, 763, 764, 765, 1017, 783, - 773, 3014, 985, 980, 1053, 3030, 992, 1312, 991, 2256, - 120, 790, 2259, 816, 1337, 1649, 580, 1044, 1047, 1048, - 2857, 1964, 87, 2856, 1910, 993, 1042, 990, 804, 805, - 1041, 2716, 1965, 1185, 2717, 2506, 3055, 2941, 2506, 2752, - 583, 78, 2752, 182, 2977, 3043, 2936, 3028, 78, 1904, - 2724, 80, 78, 2968, 1185, 1959, 2020, 2512, 2976, 2935, - 2512, 547, 2305, 566, 1059, 2152, 2988, 121, 182, 2573, - 1449, 597, 1207, 78, 2108, 564, 2438, 2439, 120, 761, - 164, 1822, 2189, 2273, 1375, 2188, 1376, 2272, 2190, 2437, - 2153, 2296, 121, 2866, 1208, 1209, 1210, 1211, 1212, 1213, - 1214, 1216, 1215, 1217, 1218, 164, 2017, 1138, 1148, 1140, - 1856, 1857, 1855, 1121, 760, 561, 759, 1126, 1127, 87, - 974, 2018, 2781, 2194, 575, 989, 87, 1095, 1096, 1793, - 87, 1109, 1181, 2237, 2909, 1173, 1110, 584, 161, 571, - 162, 1122, 1115, 2201, 1108, 2333, 1107, 1137, 1139, 2564, - 2993, 87, 1109, 1181, 3020, 1874, 1873, 1110, 2537, 1098, - 181, 2145, 2146, 161, 2991, 162, 2509, 2614, 984, 2509, - 2562, 986, 1089, 2997, 2998, 3021, 584, 592, 1630, 596, - 590, 2458, 2459, 987, 2541, 181, 1085, 1314, 2992, 1903, - 1572, 583, 2282, 2244, 1941, 1632, 1633, 1634, 2530, 2268, - 583, 1984, 1038, 1996, 583, 1997, 2531, 1998, 551, 1979, - 553, 567, 1128, 586, 1147, 585, 557, 1541, 555, 559, - 568, 560, 1129, 554, 3042, 565, 1123, 1116, 556, 569, - 570, 573, 576, 577, 578, 574, 572, 1567, 563, 587, - 1060, 584, 1142, 2538, 1135, 1822, 1124, 1125, 1136, 1990, - 1987, 1989, 1988, 1991, 1992, 186, 1985, 186, 1141, 1130, - 186, 1542, 1091, 1543, 1820, 1821, 989, 2284, 981, 165, - 1983, 3005, 2705, 2704, 1999, 983, 982, 1066, 171, 1065, - 2539, 1981, 1134, 2841, 2701, 1944, 2457, 1027, 87, 1025, - 594, 1155, 594, 594, 165, 997, 1835, 998, 2460, 998, - 1036, 988, 2334, 171, 1317, 1035, 2460, 594, 594, 1034, - 1033, 1032, 1982, 1031, 1030, 1453, 1037, 1029, 1024, 1219, - 1219, 2018, 989, 1084, 987, 3057, 1180, 1177, 1178, 1179, - 1184, 1186, 1183, 37, 1182, 973, 3026, 973, 973, 971, - 1167, 1176, 1010, 1474, 2288, 1009, 1040, 1180, 1177, 1178, - 1179, 1184, 1186, 1183, 1583, 1182, 1917, 803, 2285, 1056, - 1057, 1058, 1176, 1061, 1062, 1063, 1064, 1970, 1579, 1067, - 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, - 1078, 1079, 1080, 1081, 1082, 1083, 2203, 1088, 2916, 2235, - 995, 1963, 584, 3051, 1573, 156, 2700, 1161, 1574, 1575, - 1119, 584, 1049, 2301, 2032, 584, 2867, 2270, 1143, 2479, - 2267, 1447, 588, 2238, 1222, 1223, 1224, 1225, 1907, 1446, - 156, 2112, 2114, 1445, 1230, 2254, 1233, 1580, 1820, 1821, - 581, 1028, 1156, 1026, 1105, 1443, 1111, 1112, 1113, 1114, - 1016, 549, 988, 1305, 1046, 582, 1016, 1300, 1473, 544, - 1009, 1961, 2615, 2280, 1045, 2934, 2279, 1016, 1908, 1149, - 1150, 1220, 1221, 2905, 1055, 2653, 1906, 1157, 1158, 2922, - 186, 2633, 2185, 2148, 594, 594, 81, 1226, 2099, 1016, - 2291, 1786, 1361, 1087, 1286, 2290, 1100, 2143, 2664, 2665, - 186, 1553, 1552, 1554, 1555, 1556, 2751, 2258, 988, 2751, - 1909, 116, 1320, 2291, 86, 2019, 1324, 1862, 2290, 594, - 1905, 86, 770, 186, 1219, 86, 2436, 1218, 594, 1306, - 768, 1323, 2510, 2511, 594, 2510, 2511, 1170, 785, 77, - 1104, 1146, 1318, 1321, 1168, 2514, 86, 1169, 2514, 1015, - 157, 2257, 1243, 1106, 1244, 1015, 812, 169, 1097, 1094, - 1019, 1009, 1093, 1247, 1099, 1021, 1015, 1101, 1132, 1022, - 1020, 2930, 1009, 1012, 1013, 157, 973, 2996, 111, 1592, - 1006, 1010, 169, 1016, 1571, 1039, 2696, 2627, 1015, 1980, - 1023, 1576, 1306, 2113, 1009, 1012, 1013, 1191, 973, 177, - 1377, 1005, 1006, 1010, 1016, 1171, 2325, 1322, 1118, 1702, - 1190, 95, 1292, 1293, 1294, 1295, 1296, 3049, 2227, 1120, - 3050, 2995, 3048, 2777, 177, 1311, 1661, 2671, 158, 163, - 160, 166, 167, 168, 170, 172, 173, 174, 175, 2670, - 1662, 1663, 1660, 1948, 176, 178, 179, 180, 112, 1483, - 98, 1960, 1482, 158, 163, 160, 166, 167, 168, 170, - 172, 173, 174, 175, 1702, 1472, 2046, 1191, 1958, 176, - 178, 179, 180, 1189, 1190, 1308, 1956, 2064, 3058, 2307, - 1027, 1103, 1015, 1953, 1054, 767, 1025, 1953, 186, 769, - 1342, 1319, 1435, 1339, 2946, 3022, 1090, 1651, 1653, 1654, - 2654, 1561, 1444, 1015, 1325, 2898, 1362, 3053, 1019, 1009, - 2849, 2534, 1133, 1021, 1367, 1368, 1372, 1022, 1020, 2848, - 1957, 1652, 816, 1593, 1955, 594, 87, 1470, 1568, 1188, - 1569, 1189, 1190, 1570, 2730, 1479, 2731, 2947, 2327, 1481, - 1659, 3023, 1484, 1485, 594, 594, 2839, 594, 2899, 594, - 594, 1337, 594, 594, 594, 594, 594, 594, 2024, 2025, - 2026, 2309, 2741, 3059, 2740, 1560, 1516, 1517, 1480, 594, - 711, 712, 713, 186, 1522, 1208, 1209, 1210, 1211, 1212, - 1213, 1214, 1216, 1215, 1217, 1218, 1337, 1559, 2678, 2677, - 186, 2667, 2487, 1706, 2475, 1515, 2209, 1707, 1518, 1188, - 1548, 1189, 1190, 594, 2208, 186, 1209, 1210, 1211, 1212, - 1213, 1214, 1216, 1215, 1217, 1218, 1581, 1191, 1913, 594, - 1366, 186, 188, 189, 190, 807, 2661, 2319, 2318, 2317, - 2311, 1536, 2315, 1732, 2310, 1562, 2308, 186, 2056, 1546, - 1466, 2313, 1545, 1544, 186, 1534, 1459, 1191, 1528, 1525, - 2312, 1558, 1191, 186, 186, 186, 186, 186, 186, 186, - 186, 186, 594, 1524, 1547, 1523, 1495, 2314, 2316, 1346, - 1827, 1828, 1476, 1476, 2925, 2924, 594, 594, 1213, 1214, - 1216, 1215, 1217, 1218, 1519, 2902, 1477, 2901, 1442, 2900, - 2844, 1488, 2829, 1489, 186, 1491, 1493, 1478, 2828, 1497, - 1499, 1501, 1503, 1505, 1456, 2776, 1457, 1455, 2774, 1469, - 188, 189, 190, 2737, 2192, 2675, 2660, 1448, 2542, 1347, - 1588, 1724, 1713, 1714, 1715, 1716, 1726, 1717, 1718, 1719, - 1731, 1727, 1720, 1721, 1728, 1729, 1730, 1722, 1723, 1725, - 594, 1160, 1191, 2478, 1686, 1686, 188, 189, 190, 1188, - 1929, 1189, 1190, 1692, 594, 1594, 1595, 2477, 2218, 1684, - 1684, 1683, 1687, 2035, 1520, 188, 189, 190, 2206, 1599, - 594, 594, 1302, 1191, 1974, 1584, 1606, 1607, 1608, 1188, - 1973, 1189, 1190, 1817, 1188, 1384, 1189, 1190, 1657, 1799, - 992, 1703, 991, 1664, 120, 1666, 1667, 1668, 1669, 1670, - 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678, 1596, 1623, - 1665, 990, 1655, 1589, 1557, 1600, 1598, 1602, 1603, 1604, - 1605, 1549, 1539, 1535, 1609, 1211, 1212, 1213, 1214, 1216, - 1215, 1217, 1218, 186, 1531, 1778, 1621, 1619, 594, 1530, - 1620, 1529, 1747, 1195, 1196, 1197, 1198, 1199, 1200, 1201, - 1193, 1627, 1628, 1348, 1144, 1337, 2877, 1337, 94, 188, - 189, 190, 186, 1927, 1658, 594, 2626, 188, 189, 190, - 1521, 1925, 92, 2874, 1188, 186, 1189, 1190, 2873, 594, - 2134, 3041, 2833, 93, 186, 92, 186, 2832, 186, 186, - 594, 1191, 94, 594, 1747, 2722, 93, 1804, 2245, 1805, - 2223, 101, 1565, 1870, 594, 1188, 1780, 1189, 1190, 2570, - 1778, 2150, 100, 2150, 99, 1871, 101, 1337, 812, 1782, - 1783, 812, 1191, 94, 1688, 3010, 1337, 100, 2628, 99, - 2431, 1694, 1695, 1191, 1597, 2134, 2974, 3001, 1337, 1708, - 2018, 1601, 95, 2134, 2954, 2134, 2950, 2157, 1191, 2942, - 1337, 1337, 1612, 1613, 1614, 1615, 1616, 1617, 1618, 594, - 1954, 95, 1187, 1779, 1837, 2929, 1920, 1921, 1922, 2398, - 1810, 1924, 1926, 1928, 2957, 1337, 2134, 2918, 2714, 2915, - 2626, 1780, 1337, 2158, 1781, 2626, 594, 1784, 1785, 2587, - 1337, 1638, 594, 1479, 2134, 2037, 1479, 1337, 1479, 2852, - 1337, 1865, 2158, 1798, 1952, 2036, 1450, 1451, 1452, 1880, - 1881, 1882, 1883, 2134, 2840, 782, 2568, 1337, 1953, 1866, - 2714, 1337, 2158, 1188, 1809, 1189, 1190, 1191, 2587, 1848, - 1812, 2084, 1337, 2134, 2712, 1942, 2466, 1896, 1832, 594, - 1875, 594, 1876, 1877, 1878, 1879, 1869, 594, 594, 1902, - 1953, 1337, 2371, 1830, 1188, 1191, 1189, 1190, 1886, 1887, - 1888, 1889, 1853, 1852, 698, 1188, 1854, 1189, 1190, 2033, - 1868, 1867, 1526, 1527, 2631, 1337, 1187, 1337, 1532, 1533, - 1188, 1191, 1189, 1190, 816, 186, 1912, 816, 2069, 1337, - 2181, 2042, 186, 2468, 2467, 2464, 2465, 1191, 2069, 186, - 186, 1939, 2053, 186, 2052, 186, 2464, 2463, 1897, 2158, - 1337, 3024, 186, 1953, 1350, 187, 1892, 1893, 187, 186, - 2130, 187, 1911, 1936, 1018, 1825, 595, 1915, 187, 87, - 1923, 2033, 1337, 1341, 1476, 94, 187, 1789, 2076, 2018, - 2266, 1438, 2248, 1897, 1017, 186, 1635, 1949, 1945, 1191, - 594, 187, 1946, 2182, 1967, 1947, 2241, 2242, 1950, 1188, - 1951, 1189, 1190, 2184, 2041, 1191, 2134, 2133, 1438, 1437, - 1191, 1968, 1829, 595, 1191, 1578, 595, 187, 595, 1207, - 1349, 1833, 1203, 1836, 1204, 1969, 1638, 1188, 2181, 1189, - 1190, 1971, 1972, 2033, 1383, 1382, 100, 2863, 1205, 1206, - 1202, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1216, 1215, - 1217, 1218, 1207, 1188, 2300, 1189, 1190, 1369, 772, 1000, - 999, 1344, 2830, 2788, 2695, 1977, 2692, 2673, 1191, 1188, - 2579, 1189, 1190, 2913, 1208, 1209, 1210, 1211, 1212, 1213, - 1214, 1216, 1215, 1217, 1218, 2578, 1657, 1207, 2648, 2031, - 2028, 2182, 2030, 1440, 1337, 1895, 2490, 2589, 2002, 2532, - 2215, 2018, 2679, 2492, 1089, 2033, 2488, 2029, 2249, 1208, - 1209, 1210, 1211, 1212, 1213, 1214, 1216, 1215, 1217, 1218, - 1891, 1188, 1885, 1189, 1190, 1191, 1884, 2009, 2010, 1191, - 1564, 1471, 2012, 1191, 1467, 1436, 87, 1188, 113, 1189, - 1190, 2013, 1188, 2536, 1189, 1190, 1188, 2016, 1189, 1190, - 186, 1191, 2837, 2680, 2681, 2682, 2864, 2214, 186, 1191, - 2638, 2639, 1658, 594, 1686, 1207, 2683, 1191, 1910, 594, - 1802, 2027, 3036, 3034, 3017, 2105, 1625, 2939, 2882, 1684, - 594, 2118, 2641, 1507, 2122, 2484, 1191, 1208, 1209, 1210, - 1211, 1212, 1213, 1214, 1216, 1215, 1217, 1218, 2483, 2116, - 1188, 1511, 1189, 1190, 186, 2215, 2482, 2398, 186, 2697, - 2045, 2644, 2585, 2684, 2685, 2686, 2576, 2228, 2003, 37, - 2420, 3007, 1638, 2191, 1191, 2421, 2154, 2643, 2174, 1986, - 1508, 1509, 1510, 1191, 2043, 2210, 2000, 2001, 1626, 2418, - 2005, 2417, 2575, 1191, 2419, 2416, 1780, 2975, 2062, 2008, - 2093, 1191, 1512, 1513, 1514, 1191, 2011, 1188, 1816, 1189, - 1190, 1188, 1345, 1189, 1190, 1188, 1808, 1189, 1190, 2092, - 2135, 594, 2163, 2166, 2167, 2168, 2164, 186, 2165, 2169, - 2632, 2376, 2014, 1188, 186, 1189, 1190, 2388, 2390, 2144, - 2131, 1188, 2375, 1189, 1190, 1311, 2391, 2106, 594, 1188, - 2619, 1189, 1190, 1779, 2173, 594, 2897, 2091, 2618, 1479, - 1479, 2767, 2096, 2097, 594, 2132, 2090, 2769, 1188, 2240, - 1189, 1190, 2622, 2195, 2147, 2127, 2089, 2385, 2444, 2202, - 2204, 2263, 786, 2422, 2088, 2167, 2168, 1577, 2087, 2262, - 787, 2462, 186, 186, 186, 186, 186, 2758, 2179, 2757, - 758, 2186, 1902, 2183, 2199, 2219, 1188, 2193, 1189, 1190, - 1698, 1051, 1050, 186, 186, 1188, 2550, 1189, 1190, 2196, - 92, 2214, 2294, 2445, 1699, 1188, 1159, 1189, 1190, 186, - 2207, 93, 2255, 1188, 121, 1189, 1190, 1188, 2624, 1189, - 1190, 2216, 1335, 1331, 94, 1191, 3045, 2756, 594, 2447, - 2480, 2224, 2006, 92, 2229, 2230, 2231, 1332, 2225, 1995, - 94, 1827, 1828, 2442, 93, 2914, 2604, 2859, 2461, 2261, - 2171, 1813, 1459, 1994, 1191, 794, 795, 2374, 1993, 2022, - 2458, 2459, 1806, 1807, 1334, 2373, 1333, 2443, 1686, 101, - 1686, 1335, 1331, 1686, 768, 99, 2889, 2888, 1686, 187, - 100, 187, 99, 1684, 187, 1684, 1332, 2324, 1684, 2260, - 594, 94, 2775, 1684, 2320, 2346, 1191, 2346, 2773, 2449, - 2346, 2250, 2251, 2283, 2772, 2346, 594, 2303, 2086, 101, - 2765, 1328, 1329, 1334, 595, 1333, 595, 595, 2365, 2302, - 100, 186, 99, 2693, 2623, 594, 2292, 2621, 2493, 2293, - 1937, 595, 595, 2286, 1454, 2178, 793, 2085, 100, 594, - 2351, 2358, 2359, 2360, 2361, 2352, 594, 594, 2304, 186, - 186, 186, 186, 186, 2764, 2348, 2612, 1188, 2150, 1189, - 1190, 186, 3038, 3037, 3037, 2457, 186, 2365, 2130, 186, - 774, 186, 2321, 2401, 186, 186, 186, 2460, 2401, 2079, - 2335, 2339, 2378, 2054, 2430, 2410, 1188, 101, 1189, 1190, - 1324, 2174, 1800, 1363, 1191, 2395, 1354, 2379, 100, 2364, - 106, 107, 2366, 3038, 2226, 2903, 681, 2659, 784, 2404, - 2476, 2353, 2354, 2355, 2356, 2357, 103, 88, 1191, 186, - 1, 2663, 2990, 562, 1790, 1309, 2377, 3018, 1188, 2986, - 1189, 1190, 594, 1191, 2987, 1550, 1540, 2392, 2393, 2725, - 594, 2380, 2367, 2368, 2369, 186, 775, 2432, 1191, 1748, - 2433, 776, 2370, 2860, 2496, 1191, 2412, 2413, 186, 2415, - 2411, 2516, 1191, 2414, 1943, 2495, 2427, 2428, 593, 2274, - 2275, 2276, 2277, 2278, 1191, 1588, 186, 2078, 2434, 186, - 2423, 95, 2691, 2440, 1900, 1008, 2446, 146, 1863, 2551, - 1638, 2287, 1864, 2409, 187, 2970, 2470, 2471, 595, 595, - 2472, 2077, 110, 966, 109, 1011, 2295, 1117, 1938, 2715, - 2200, 1872, 1389, 1387, 187, 814, 2074, 1388, 970, 1386, - 977, 2524, 2523, 1391, 1390, 2055, 1188, 1191, 1189, 1190, - 1902, 2073, 2515, 595, 2590, 1629, 591, 187, 2072, 2170, - 184, 2527, 595, 1378, 1355, 2070, 1052, 2494, 595, 552, - 1188, 2469, 1189, 1190, 2584, 1975, 558, 2066, 1231, 2543, - 1624, 2372, 594, 186, 2546, 1188, 2545, 1189, 1190, 2187, - 813, 806, 1801, 2120, 2406, 2616, 2554, 2384, 2386, 2137, - 1188, 2389, 1189, 1190, 2382, 2560, 2217, 1188, 2553, 1189, - 1190, 2220, 2221, 2896, 1188, 2766, 1189, 1190, 2955, 2197, - 1351, 2044, 1700, 1842, 1650, 616, 1188, 615, 1189, 1190, - 2065, 613, 2123, 2163, 2166, 2167, 2168, 2164, 2151, 2165, - 2169, 1194, 186, 2638, 2639, 701, 2110, 2557, 2558, 1364, - 2559, 2610, 2162, 2561, 2450, 2563, 2160, 2565, 2454, 2159, - 2662, 2605, 2606, 2004, 1849, 2640, 2453, 2636, 2982, 1844, - 1840, 186, 2129, 624, 2613, 2548, 2549, 2620, 617, 1188, - 609, 1189, 1190, 2656, 2635, 2522, 2269, 2533, 2271, 2625, - 186, 2198, 2529, 186, 186, 186, 2645, 1172, 1327, 603, - 2455, 979, 2642, 594, 594, 2451, 2651, 2652, 2865, 2920, - 2452, 2021, 2572, 1326, 1711, 1712, 2927, 2504, 2650, 2649, - 2709, 2485, 187, 2246, 2698, 2699, 2657, 1930, 2658, 2524, - 2523, 63, 41, 1739, 598, 3003, 2481, 1163, 800, 32, - 31, 30, 29, 28, 23, 22, 21, 594, 594, 594, - 594, 20, 19, 25, 18, 17, 16, 2507, 3013, 595, - 3044, 115, 2519, 50, 47, 45, 2674, 123, 2676, 122, - 48, 44, 1092, 42, 27, 2528, 26, 15, 595, 595, - 14, 595, 13, 595, 595, 12, 595, 595, 595, 595, - 595, 595, 11, 2544, 10, 9, 2547, 5, 4, 1686, - 2721, 1686, 35, 595, 34, 2719, 2720, 187, 33, 1166, - 24, 2, 2233, 1932, 1684, 0, 1684, 0, 186, 0, - 0, 0, 0, 0, 187, 0, 2346, 0, 2346, 0, - 0, 0, 0, 2761, 2732, 0, 0, 595, 2736, 187, - 0, 0, 594, 0, 594, 0, 0, 0, 0, 0, - 0, 0, 0, 595, 0, 187, 0, 0, 0, 0, - 0, 2733, 1686, 0, 0, 37, 0, 2401, 2745, 2754, - 0, 187, 2782, 2762, 0, 0, 2771, 1684, 187, 2790, - 2609, 2784, 0, 0, 2744, 2770, 768, 187, 187, 187, - 187, 187, 187, 187, 187, 187, 595, 2780, 0, 2786, - 0, 0, 0, 2778, 2404, 0, 594, 0, 2404, 0, - 595, 595, 0, 0, 0, 0, 0, 2473, 2474, 186, - 2794, 0, 594, 2791, 2792, 0, 0, 2838, 187, 0, - 0, 0, 0, 0, 0, 594, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2836, - 0, 2835, 0, 0, 0, 0, 0, 0, 0, 2834, - 2850, 2880, 0, 2862, 2879, 0, 594, 1686, 2672, 2854, - 594, 594, 2855, 0, 595, 0, 0, 2842, 0, 0, - 0, 0, 1684, 0, 2883, 0, 0, 2687, 595, 0, - 2688, 2689, 2690, 0, 0, 0, 0, 0, 0, 594, - 0, 0, 0, 0, 595, 595, 814, 0, 814, 814, - 0, 0, 0, 2890, 2891, 2893, 2892, 0, 0, 0, - 2907, 0, 0, 1162, 1164, 0, 0, 0, 0, 0, - 2904, 0, 0, 0, 0, 0, 2895, 0, 1336, 0, - 0, 594, 768, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2906, 0, 0, 2910, 186, 2404, 0, 0, - 0, 0, 2912, 0, 0, 0, 0, 187, 0, 0, - 0, 0, 595, 0, 594, 186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 37, 2931, 187, 2923, 0, 595, - 0, 2928, 2926, 0, 0, 0, 0, 0, 0, 187, - 0, 0, 0, 595, 0, 0, 594, 2919, 187, 0, - 187, 0, 187, 187, 595, 0, 0, 595, 0, 0, - 0, 0, 0, 1303, 0, 0, 0, 0, 595, 0, - 594, 594, 0, 0, 2401, 0, 0, 0, 0, 37, - 0, 2948, 0, 594, 0, 0, 2956, 2668, 2669, 0, - 2958, 2961, 186, 594, 0, 2966, 2969, 2963, 2862, 2971, - 2978, 2962, 2960, 2965, 2964, 0, 2953, 2981, 0, 0, - 0, 2999, 0, 2989, 0, 2994, 0, 0, 0, 0, - 1315, 1316, 0, 595, 0, 0, 0, 0, 3006, 0, - 0, 0, 0, 0, 0, 0, 0, 3012, 0, 2702, - 0, 0, 594, 2706, 2707, 2708, 0, 0, 0, 0, - 595, 594, 0, 0, 0, 1359, 595, 1686, 3027, 0, - 0, 0, 3031, 3025, 814, 3035, 3033, 3029, 0, 0, - 1379, 0, 1684, 0, 3032, 0, 0, 0, 0, 0, - 3046, 0, 0, 0, 0, 3052, 3054, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1686, 0, 3061, 595, 2880, 595, 3062, 3063, 0, 0, - 0, 595, 595, 0, 0, 1684, 0, 3060, 0, 0, - 0, 0, 78, 39, 40, 80, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 84, 0, 0, 0, 43, 69, 70, 187, - 67, 71, 3011, 0, 0, 0, 187, 0, 0, 68, - 0, 0, 1406, 187, 187, 0, 0, 187, 0, 187, - 0, 0, 0, 0, 0, 0, 187, 0, 0, 0, - 0, 0, 0, 187, 0, 0, 0, 0, 56, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 87, 0, 2932, 0, 0, 0, 0, 0, 0, 187, - 0, 0, 0, 0, 595, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2845, 2846, 2847, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 970, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1303, 0, 0, 0, 0, 0, - 1487, 1487, 0, 1487, 0, 1487, 1487, 0, 1496, 1487, - 1487, 1487, 1487, 1487, 0, 0, 0, 0, 0, 0, - 0, 1303, 0, 1394, 1303, 970, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 46, 49, 52, 51, 54, 1563, - 66, 0, 0, 75, 72, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1585, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 55, 83, 82, 0, - 1406, 64, 65, 53, 187, 0, 0, 0, 0, 73, - 74, 0, 187, 0, 0, 1407, 0, 595, 0, 0, - 0, 0, 0, 595, 0, 0, 0, 0, 814, 0, - 0, 0, 0, 0, 595, 0, 0, 0, 0, 0, - 0, 0, 814, 814, 0, 0, 0, 0, 0, 57, - 58, 0, 59, 60, 61, 62, 0, 0, 187, 0, - 0, 0, 187, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1420, 1423, 1424, 1425, 1426, 1427, 1428, - 0, 1429, 1430, 1431, 1432, 1433, 1408, 1409, 1410, 1411, - 1392, 1393, 1421, 0, 1395, 0, 1396, 1397, 1398, 1399, - 1400, 1401, 1402, 1403, 1404, 0, 1680, 1405, 1412, 1413, - 1414, 1415, 1416, 1417, 1418, 1419, 0, 0, 0, 0, - 1693, 0, 0, 0, 0, 595, 0, 1303, 0, 0, - 0, 187, 0, 0, 0, 0, 1709, 1710, 187, 0, - 0, 1394, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 595, 0, 0, 0, 0, 0, 0, 595, - 0, 0, 0, 0, 0, 0, 0, 0, 595, 0, + 697, 2753, 3042, 2348, 2752, 3018, 2751, 3050, 2911, 3019, + 1863, 2726, 1385, 2986, 1816, 2538, 2970, 2078, 2444, 2451, + 1153, 2501, 2492, 1798, 706, 1796, 2864, 3, 788, 2506, + 2503, 2502, 2500, 2505, 2504, 691, 766, 699, 2713, 690, + 37, 2402, 2405, 2766, 2887, 2112, 2459, 2521, 1933, 2309, + 2520, 186, 1343, 614, 186, 96, 579, 186, 2406, 2347, + 2614, 2403, 594, 611, 186, 2152, 1836, 700, 618, 2346, + 1820, 688, 186, 1307, 2771, 2620, 689, 640, 2523, 2400, + 2640, 2175, 2390, 2139, 2606, 1102, 1439, 186, 610, 1896, + 2292, 2543, 2214, 2246, 1921, 1901, 612, 2215, 1964, 2216, + 155, 789, 815, 968, 2164, 1852, 1841, 36, 2145, 594, + 2131, 1840, 594, 186, 594, 38, 2114, 770, 1752, 774, + 1776, 1751, 1689, 1920, 1330, 1637, 141, 2284, 1942, 812, + 1014, 1980, 768, 1468, 1828, 1486, 1679, 791, 1903, 95, + 2208, 606, 1001, 996, 1374, 91, 2183, 1843, 1352, 1310, + 1238, 1701, 1656, 623, 1586, 1174, 1582, 975, 972, 1475, + 1002, 1007, 1004, 1918, 1566, 976, 1003, 1371, 1821, 1373, + 1892, 1357, 780, 1697, 1748, 1151, 1591, 1434, 159, 1145, + 1460, 124, 125, 98, 802, 778, 1086, 775, 1245, 85, + 1131, 102, 97, 76, 1789, 776, 119, 117, 118, 1241, + 2920, 1779, 601, 2239, 89, 3043, 1935, 1936, 1937, 1935, + 2714, 2489, 2268, 2267, 1978, 2237, 583, 2706, 2300, 2301, + 777, 77, 8, 7, 550, 796, 120, 801, 1551, 126, + 6, 90, 104, 105, 2944, 108, 782, 1644, 114, 2511, + 2756, 183, 2511, 2943, 545, 1643, 1175, 1043, 1642, 1641, + 2669, 1640, 2508, 1639, 969, 1622, 994, 1631, 2110, 1018, + 2756, 188, 189, 190, 762, 763, 764, 765, 602, 767, + 773, 769, 1793, 1794, 3007, 2386, 809, 816, 604, 2594, + 605, 87, 1968, 2141, 980, 1053, 783, 790, 2259, 993, + 3022, 1017, 985, 3059, 3017, 120, 3033, 2509, 804, 805, + 2509, 1966, 2262, 1649, 2860, 2859, 2719, 1042, 78, 2720, + 1044, 1047, 1048, 992, 991, 990, 1041, 1337, 583, 2515, + 3058, 2980, 2515, 78, 3046, 2755, 1967, 2939, 1059, 2022, + 3031, 1038, 2155, 78, 2944, 1175, 2727, 2971, 1961, 2979, + 2308, 2991, 2576, 1449, 2276, 2755, 78, 2938, 2275, 80, + 2192, 182, 1185, 2191, 1858, 1859, 2193, 2156, 2111, 1824, + 2441, 2442, 989, 120, 1095, 1096, 1375, 2440, 1376, 2299, + 2019, 1857, 2784, 2912, 1121, 121, 1148, 143, 1126, 1127, + 760, 759, 1109, 2204, 2996, 1089, 87, 1110, 164, 1912, + 1876, 1875, 2240, 2617, 2020, 1108, 1098, 1107, 2994, 1109, + 1122, 87, 1115, 2336, 1110, 2567, 2540, 3000, 3001, 583, + 2565, 87, 2148, 2149, 1906, 2461, 2462, 584, 583, 153, + 987, 592, 2995, 583, 87, 142, 1630, 596, 2512, 590, + 2544, 2512, 2285, 1314, 2247, 1943, 2533, 1138, 2271, 1140, + 1541, 1185, 1981, 1795, 2534, 1998, 161, 1999, 162, 2000, + 1824, 1181, 3045, 3023, 1173, 984, 1567, 1142, 986, 1130, + 1986, 1124, 1125, 1060, 130, 131, 152, 151, 181, 2708, + 1091, 2287, 2707, 1128, 3024, 1040, 1085, 1137, 1139, 1632, + 1633, 1634, 1147, 1129, 1542, 1123, 1543, 1116, 1056, 1057, + 1058, 2541, 1061, 1062, 1063, 1064, 1572, 182, 1067, 1068, + 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, + 1079, 1080, 1081, 1082, 1083, 1987, 2001, 1066, 1065, 584, + 2460, 121, 1992, 1989, 1991, 1990, 1993, 1994, 1985, 2844, + 2542, 2704, 2463, 1983, 164, 989, 1084, 1027, 988, 87, + 1181, 1946, 1822, 1823, 997, 186, 1837, 186, 998, 998, + 186, 1025, 1036, 989, 1905, 981, 1035, 1034, 1033, 1317, + 2337, 3008, 983, 982, 1453, 147, 128, 154, 135, 127, + 1984, 148, 149, 1032, 1135, 3060, 1031, 165, 1136, 1030, + 594, 1155, 594, 594, 1029, 1024, 171, 136, 1141, 1037, + 1219, 1219, 161, 2463, 162, 2020, 3029, 594, 594, 973, + 1088, 139, 137, 132, 133, 134, 138, 1474, 2291, 1009, + 584, 987, 1134, 129, 181, 973, 1583, 973, 1919, 584, + 1010, 971, 140, 3054, 584, 1046, 1167, 2115, 2117, 803, + 2288, 1009, 1972, 1822, 1823, 1045, 1055, 1105, 37, 1111, + 1112, 1113, 1114, 2703, 1579, 1180, 1177, 1178, 1179, 1184, + 1186, 1183, 1119, 1182, 2257, 1161, 1049, 2482, 2270, 1447, + 1176, 1207, 1149, 1150, 2206, 1446, 1445, 1016, 2273, 1580, + 995, 1965, 2241, 1443, 2304, 2034, 549, 2919, 2618, 544, + 2238, 1028, 2869, 1208, 1209, 1210, 1211, 1212, 1213, 1214, + 1216, 1215, 1217, 1218, 2283, 1026, 1087, 2282, 1963, 2908, + 1573, 1220, 1221, 156, 1574, 1575, 2656, 1571, 2636, 2188, + 2151, 988, 1473, 2102, 1788, 1361, 1222, 1223, 1224, 1225, + 2925, 1286, 1100, 165, 2146, 116, 1230, 1864, 1233, 988, + 1219, 1218, 171, 1698, 1180, 1177, 1178, 1179, 1184, 1186, + 1183, 2439, 1182, 2937, 1156, 1016, 785, 1699, 1305, 1176, + 1146, 2310, 2933, 1016, 2294, 1039, 2699, 1157, 1158, 2293, + 186, 1143, 1104, 2630, 594, 594, 1015, 2294, 1132, 1982, + 1592, 86, 2293, 111, 81, 1300, 2261, 1576, 2021, 1226, + 186, 150, 2754, 1909, 2513, 2514, 86, 2513, 2514, 2116, + 1553, 1552, 1554, 1555, 1556, 1318, 86, 2517, 1377, 594, + 2517, 2999, 2754, 186, 1171, 2328, 1321, 1320, 594, 86, + 1016, 1324, 2667, 2668, 594, 144, 1306, 770, 145, 77, + 2260, 1170, 1168, 1910, 1702, 768, 1323, 1190, 812, 1169, + 1094, 1908, 1247, 2312, 2230, 2780, 1106, 3052, 1097, 1243, + 3053, 1244, 3051, 112, 1015, 2998, 1054, 2674, 157, 156, + 1118, 1568, 1015, 1569, 2673, 169, 1570, 1950, 1009, 1012, + 1013, 1120, 973, 1483, 1482, 1911, 1006, 1010, 1191, 1702, + 1016, 2048, 1322, 1710, 1472, 1907, 95, 1189, 1190, 1306, + 3025, 1292, 1293, 1294, 1295, 1296, 1960, 1005, 1962, 1211, + 1212, 1213, 1214, 1216, 1215, 1217, 1218, 177, 1958, 2322, + 2321, 2320, 2314, 1103, 2318, 1027, 2313, 1311, 2311, 1015, + 1090, 3061, 1133, 2316, 1593, 1009, 1012, 1013, 1025, 973, + 98, 1955, 2315, 1006, 1010, 2657, 158, 163, 160, 166, + 167, 168, 170, 172, 173, 174, 175, 2949, 2901, 2317, + 2319, 1955, 176, 178, 179, 180, 1016, 1209, 1210, 1211, + 1212, 1213, 1214, 1216, 1215, 1217, 1218, 1319, 1959, 87, + 1372, 1308, 767, 1191, 1325, 1342, 1362, 3056, 186, 1015, + 1339, 769, 1435, 1659, 1019, 1009, 816, 1661, 1957, 1021, + 2950, 2902, 1444, 1022, 1020, 2026, 2027, 2028, 1191, 1367, + 1368, 1662, 1663, 1660, 157, 2870, 3062, 1191, 2044, 2852, + 1188, 169, 1189, 1190, 1023, 594, 2851, 1470, 1213, 1214, + 1216, 1215, 1217, 1218, 2842, 1479, 1651, 1653, 1654, 1481, + 1829, 1830, 1484, 1485, 594, 594, 2733, 594, 2734, 594, + 594, 1337, 594, 594, 594, 594, 594, 594, 1706, 1561, + 1652, 2744, 1707, 177, 1191, 1015, 1516, 1517, 2743, 594, + 1019, 1009, 2681, 186, 1522, 1021, 711, 712, 713, 1022, + 1020, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1193, 807, + 186, 2043, 158, 163, 160, 166, 167, 168, 170, 172, + 173, 174, 175, 594, 2680, 186, 1480, 2670, 176, 178, + 179, 180, 2490, 1536, 1559, 1188, 1581, 1189, 1190, 594, + 2478, 186, 2212, 1560, 2330, 1191, 2211, 1915, 1466, 1562, + 188, 189, 190, 1515, 2664, 1546, 1518, 186, 1545, 1548, + 1188, 1191, 1189, 1190, 186, 1544, 2059, 1459, 3027, 1188, + 1191, 1189, 1190, 186, 186, 186, 186, 186, 186, 186, + 186, 186, 594, 1476, 1476, 188, 189, 190, 1478, 2195, + 1534, 2037, 1519, 1528, 1525, 1524, 594, 594, 1558, 1523, + 1488, 1495, 1489, 1207, 1491, 1493, 1442, 3026, 1497, 1499, + 1501, 1503, 1505, 1477, 186, 2928, 1188, 1448, 1189, 1190, + 1456, 1457, 1455, 1547, 1469, 1208, 1209, 1210, 1211, 1212, + 1213, 1214, 1216, 1215, 1217, 1218, 188, 189, 190, 1346, + 1931, 1596, 1191, 1588, 2880, 1337, 2927, 2905, 1600, 1191, + 1602, 1603, 1604, 1605, 1191, 2904, 2903, 1609, 1520, 1191, + 594, 2447, 2847, 2832, 1683, 1687, 1191, 2573, 2831, 1621, + 2779, 1350, 2777, 1692, 594, 2740, 2067, 1188, 1657, 1189, + 1190, 2678, 2663, 2545, 1191, 1686, 1686, 2481, 2480, 1347, + 594, 594, 2221, 1188, 1584, 1189, 1190, 2209, 1684, 1684, + 1302, 1976, 1188, 1975, 1189, 1190, 2448, 1819, 1664, 120, + 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675, + 1676, 1677, 1678, 1655, 1801, 2571, 1337, 992, 991, 990, + 1623, 2537, 2450, 1337, 1598, 1589, 1557, 1349, 1594, 1595, + 1191, 1549, 1665, 2916, 1539, 1535, 2445, 1780, 1337, 1703, + 1337, 1531, 1599, 186, 188, 189, 190, 1619, 594, 1606, + 1607, 1608, 1620, 2461, 2462, 1450, 1451, 1452, 1337, 1530, + 2446, 1627, 1628, 1160, 1188, 1749, 1189, 1190, 1529, 1348, + 1144, 1188, 186, 1189, 1190, 594, 1188, 2877, 1189, 1190, + 1806, 1188, 1807, 1189, 1190, 186, 1658, 2876, 1188, 594, + 1189, 1190, 2452, 2836, 186, 2835, 186, 1191, 186, 186, + 594, 2137, 3044, 594, 1191, 2725, 1188, 2401, 1189, 1190, + 3013, 1337, 1780, 2079, 594, 2137, 2977, 1749, 2629, 1782, + 812, 1526, 1527, 812, 2137, 2957, 1873, 1532, 1533, 188, + 189, 190, 100, 1929, 188, 189, 190, 95, 1927, 1784, + 1785, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1216, 1215, + 1217, 1218, 1709, 2137, 2953, 2248, 95, 94, 2460, 1688, + 2226, 101, 1188, 2153, 1189, 1190, 1694, 1695, 2153, 594, + 2463, 1781, 100, 101, 99, 1872, 1922, 1923, 1924, 1839, + 2651, 1926, 1928, 1930, 100, 1812, 99, 2087, 1337, 2945, + 1337, 2137, 2921, 2629, 1782, 94, 594, 1882, 1883, 1884, + 1885, 2035, 594, 1479, 2717, 2918, 1479, 1877, 1479, 1878, + 1879, 1880, 1881, 1867, 1954, 782, 1337, 1868, 1800, 1783, + 2590, 1337, 1786, 1787, 1850, 1888, 1889, 1890, 1891, 1188, + 92, 1189, 1190, 2855, 1337, 2161, 1188, 94, 1189, 1190, + 2629, 93, 1337, 2631, 1814, 1944, 1834, 2137, 2843, 594, + 1187, 594, 2932, 1898, 1337, 92, 1871, 594, 594, 1811, + 1832, 1207, 1904, 2303, 2137, 1191, 93, 1854, 816, 1191, + 1855, 816, 2161, 1191, 1870, 2590, 698, 2717, 1337, 2449, + 1869, 2137, 2715, 1208, 1209, 1210, 1211, 1212, 1213, 1214, + 1216, 1215, 1217, 1218, 2469, 186, 1337, 2434, 1191, 1941, + 1955, 1337, 186, 1191, 1914, 2634, 1337, 2020, 1191, 186, + 186, 2374, 1191, 186, 1856, 186, 1187, 1337, 2072, 1337, + 3004, 1337, 186, 1899, 2035, 1018, 2072, 187, 1191, 186, + 187, 1894, 1895, 187, 1913, 1476, 1949, 1917, 595, 1952, + 187, 1953, 1925, 1207, 2056, 2033, 2039, 2055, 187, 2840, + 2471, 2470, 1969, 2700, 2160, 186, 2038, 1017, 1899, 1948, + 594, 1947, 1955, 187, 1951, 1208, 1209, 1210, 1211, 1212, + 1213, 1214, 1216, 1215, 1217, 1218, 2467, 2468, 1970, 2467, + 2466, 2592, 1191, 2161, 1337, 595, 2588, 1971, 595, 187, + 595, 2579, 1191, 1973, 1974, 2578, 2184, 1188, 2184, 1189, + 1190, 1188, 1734, 1189, 1190, 1188, 1938, 1189, 1190, 2161, + 2011, 2012, 2213, 2035, 1337, 2014, 2020, 2269, 1438, 2251, + 1979, 2244, 2245, 1956, 2015, 1827, 1657, 2453, 1191, 1341, + 1188, 2457, 1189, 1190, 1791, 1188, 1635, 1189, 1190, 2456, + 1188, 1578, 1189, 1190, 1188, 1369, 1189, 1190, 1000, 1191, + 2137, 2136, 1438, 1437, 1191, 2030, 772, 2032, 999, 2185, + 1188, 2185, 1189, 1190, 1191, 2096, 2960, 2004, 1191, 2187, + 2493, 2020, 2133, 2458, 2218, 2095, 1191, 87, 2454, 1383, + 1382, 1955, 1191, 2455, 2866, 1344, 2833, 94, 2791, 2031, + 1726, 1715, 1716, 1717, 1718, 1728, 1719, 1720, 1721, 1733, + 1729, 1722, 1723, 1730, 1731, 1732, 1724, 1725, 1727, 2698, + 1191, 2094, 2695, 2676, 1188, 2682, 1189, 1190, 1191, 2582, + 1511, 2018, 186, 2581, 1188, 1440, 1189, 1190, 1897, 1191, + 186, 2539, 2093, 2535, 87, 594, 2121, 2092, 2495, 2108, + 1191, 594, 2491, 2029, 1658, 2035, 1089, 2091, 2252, 2125, + 2867, 2090, 594, 2119, 1893, 1887, 1191, 1686, 1912, 2089, + 1188, 1886, 1189, 1190, 1804, 2088, 2683, 2684, 2685, 1564, + 1684, 1512, 1513, 1514, 1471, 1625, 186, 1467, 1436, 113, + 186, 1188, 2047, 1189, 1190, 2686, 1188, 3039, 1189, 1190, + 2217, 2641, 2642, 2082, 2157, 2194, 1188, 3037, 1189, 1190, + 1188, 2081, 1189, 1190, 3020, 2942, 37, 2885, 1188, 2644, + 1189, 1190, 2080, 1191, 1188, 2177, 1189, 1190, 1191, 2487, + 2138, 1782, 2065, 2077, 2486, 1191, 2485, 2401, 2647, 2045, + 1191, 2231, 2687, 2688, 2689, 2005, 2423, 1626, 2218, 2076, + 2646, 2424, 1188, 594, 1189, 1190, 1507, 2420, 2419, 186, + 1188, 1345, 1189, 1190, 2421, 2425, 186, 2170, 2171, 2422, + 3010, 1188, 2147, 1189, 1190, 2978, 1818, 2134, 2635, 1311, + 594, 2109, 1188, 1781, 1189, 1190, 1810, 594, 2900, 2205, + 2207, 1479, 1479, 2176, 2243, 2379, 594, 2130, 1188, 2378, + 1189, 1190, 2622, 1508, 1509, 1510, 2075, 2198, 2772, 2135, + 2621, 2073, 2770, 2266, 2625, 2182, 2150, 2388, 2069, 2099, + 2100, 1577, 2265, 2068, 186, 186, 186, 186, 186, 2166, + 2169, 2170, 2171, 2167, 786, 2168, 2172, 1904, 2186, 2641, + 2642, 2189, 787, 758, 2465, 186, 186, 2391, 2393, 2196, + 2761, 2199, 2760, 2202, 2222, 1188, 2394, 1189, 1190, 1698, + 1188, 186, 1189, 1190, 1051, 1050, 92, 1188, 2210, 1189, + 1190, 92, 1188, 1699, 1189, 1190, 2553, 93, 94, 2217, + 594, 2219, 93, 2297, 1159, 2258, 2232, 2233, 2234, 2228, + 101, 2227, 2166, 2169, 2170, 2171, 2167, 121, 2168, 2172, + 2759, 100, 2627, 99, 2264, 1459, 1829, 1830, 3048, 94, + 2483, 681, 94, 2008, 2917, 2862, 2464, 2174, 1815, 794, + 795, 2377, 2327, 1997, 2253, 2254, 1996, 1995, 2323, 2376, + 2607, 187, 2024, 187, 99, 101, 187, 2892, 2263, 2891, + 2778, 768, 1686, 594, 1686, 2776, 100, 1686, 99, 2775, + 2768, 2696, 1686, 2626, 2624, 1684, 2496, 1684, 1939, 594, + 1684, 1454, 2305, 2368, 2286, 1684, 595, 793, 595, 595, + 2289, 2306, 100, 593, 186, 2767, 2615, 2153, 594, 101, + 3041, 3040, 2354, 595, 595, 2133, 2349, 2355, 2349, 2351, + 100, 2349, 594, 2338, 2057, 1802, 2349, 1363, 2307, 594, + 594, 1354, 186, 186, 186, 186, 186, 2361, 2362, 2363, + 2364, 3040, 2368, 3041, 186, 2906, 2324, 106, 107, 186, + 814, 2398, 186, 970, 186, 977, 2662, 186, 186, 186, + 784, 2342, 2407, 103, 1335, 1331, 88, 2381, 774, 1, + 1708, 2295, 2413, 2666, 2296, 2993, 562, 2433, 1792, 1332, + 2356, 2357, 2358, 2359, 2360, 2382, 1309, 3021, 1324, 2177, + 2989, 2990, 2367, 2479, 2404, 1550, 1540, 2728, 1750, 2404, + 2369, 2863, 186, 2499, 1808, 1809, 1334, 2220, 1333, 1945, + 2694, 2380, 2223, 2224, 1902, 594, 2370, 2371, 2372, 1008, + 146, 2395, 2396, 594, 2373, 1865, 1866, 2973, 186, 2383, + 110, 966, 109, 1335, 1331, 2435, 775, 2519, 2436, 2415, + 2416, 186, 2418, 2414, 776, 1011, 2417, 2426, 1332, 95, + 1117, 1940, 2718, 2203, 1874, 1389, 2430, 2431, 1387, 186, + 1388, 1588, 186, 2437, 1386, 2412, 1391, 1390, 2443, 2058, + 2593, 1629, 2554, 1328, 1329, 1334, 187, 1333, 591, 2173, + 595, 595, 2473, 184, 2475, 2474, 2498, 1378, 1355, 1052, + 552, 2472, 1977, 558, 1231, 1624, 187, 2375, 2190, 813, + 806, 2527, 1803, 2123, 2409, 2619, 2526, 2387, 2389, 2140, + 2392, 2385, 2899, 2769, 2958, 595, 1904, 2518, 2497, 187, + 2200, 1351, 2046, 1700, 595, 1844, 1650, 2530, 616, 615, + 595, 613, 2587, 2126, 2154, 1194, 701, 2113, 1364, 2165, + 2163, 2162, 2006, 1851, 2643, 594, 186, 2639, 2546, 2985, + 2548, 2551, 2552, 2549, 1846, 1842, 2132, 624, 617, 609, + 1207, 2659, 2556, 1203, 2525, 1204, 2272, 2560, 2561, 2536, + 2562, 2557, 2274, 2564, 2563, 2566, 2201, 2568, 2532, 1205, + 1206, 1202, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1216, + 1215, 1217, 1218, 1172, 1327, 603, 979, 2868, 2923, 2023, + 2575, 1326, 1713, 1714, 2930, 186, 2507, 2712, 2488, 2249, + 1932, 63, 41, 1741, 598, 3006, 2613, 1163, 800, 32, + 31, 30, 29, 2665, 28, 23, 2608, 2609, 22, 21, + 20, 19, 25, 18, 186, 17, 16, 2510, 3016, 2616, + 3047, 115, 2623, 50, 47, 45, 123, 122, 48, 2638, + 2648, 44, 2628, 186, 1092, 42, 186, 186, 186, 27, + 26, 15, 14, 13, 12, 11, 594, 594, 2645, 10, + 2652, 2654, 2655, 9, 5, 4, 35, 34, 33, 1166, + 2701, 2702, 24, 2, 187, 2236, 2653, 1934, 0, 2527, + 0, 0, 0, 0, 2526, 2660, 2661, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2677, 0, 2679, + 594, 594, 594, 594, 0, 0, 0, 0, 0, 2476, + 2477, 595, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 595, 595, 0, 595, 0, 595, 595, 0, 595, 595, + 595, 595, 595, 595, 2724, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 595, 2722, 2723, 0, 187, + 0, 0, 0, 0, 2739, 0, 0, 0, 0, 0, + 0, 186, 0, 1686, 0, 1686, 187, 0, 0, 0, + 0, 0, 2735, 0, 0, 0, 1684, 0, 1684, 595, + 0, 187, 2736, 0, 0, 594, 2764, 594, 0, 0, + 0, 0, 0, 0, 2757, 595, 0, 187, 0, 0, + 2748, 814, 0, 814, 814, 2793, 0, 2349, 2747, 2349, + 0, 2785, 0, 187, 0, 0, 0, 2407, 1162, 1164, + 187, 2407, 0, 37, 2765, 2789, 1686, 0, 2787, 187, + 187, 187, 187, 187, 187, 187, 187, 187, 595, 1684, + 2783, 2781, 0, 2773, 768, 2774, 0, 0, 2404, 594, + 0, 0, 595, 595, 0, 182, 0, 0, 0, 0, + 0, 0, 186, 2841, 0, 594, 2797, 0, 2794, 2795, + 187, 0, 0, 0, 0, 0, 0, 0, 594, 121, + 0, 0, 0, 0, 0, 2853, 0, 0, 0, 0, + 2845, 0, 164, 2837, 0, 2839, 2838, 0, 2865, 0, + 0, 0, 0, 2883, 0, 0, 2882, 0, 0, 594, + 2886, 0, 2857, 594, 594, 2858, 595, 0, 0, 1336, + 0, 0, 0, 0, 0, 0, 0, 0, 1303, 1312, + 595, 1686, 0, 0, 0, 2197, 0, 0, 0, 2671, + 2672, 0, 594, 0, 1684, 0, 595, 595, 0, 0, + 161, 0, 162, 0, 0, 0, 2910, 2893, 2894, 2896, + 2895, 0, 0, 0, 0, 0, 0, 0, 2909, 0, + 2407, 0, 181, 0, 0, 0, 0, 2907, 0, 0, + 0, 2913, 0, 547, 594, 1315, 1316, 0, 0, 0, + 0, 2705, 2898, 597, 0, 2709, 2710, 2711, 2915, 186, + 768, 761, 0, 0, 0, 0, 0, 0, 0, 187, + 0, 0, 0, 0, 595, 0, 0, 594, 186, 0, + 1359, 0, 2926, 0, 0, 0, 0, 0, 0, 814, + 2922, 2934, 0, 0, 0, 1379, 0, 0, 187, 0, + 2931, 595, 974, 0, 2929, 0, 0, 0, 0, 0, + 0, 187, 37, 0, 0, 595, 0, 0, 0, 594, + 187, 0, 187, 0, 187, 187, 595, 0, 0, 595, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 595, 165, 0, 594, 594, 0, 0, 0, 0, 0, + 171, 0, 2956, 2961, 0, 2959, 594, 0, 2951, 0, + 0, 0, 2964, 2865, 2974, 186, 594, 37, 2981, 2972, + 2969, 2966, 2965, 2963, 2968, 2967, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2404, 3002, 2992, 2997, 0, + 2984, 0, 0, 0, 0, 595, 0, 0, 0, 0, + 0, 0, 0, 3009, 0, 0, 0, 0, 0, 0, + 3015, 0, 0, 0, 0, 594, 0, 0, 0, 0, + 0, 0, 595, 0, 594, 0, 0, 0, 595, 3028, + 3035, 3030, 0, 0, 0, 3038, 3034, 3032, 3036, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2848, 2849, + 2850, 1686, 0, 0, 3049, 0, 0, 3057, 0, 3055, + 0, 0, 0, 0, 1684, 0, 0, 156, 0, 0, + 0, 0, 0, 3063, 0, 595, 2883, 595, 3065, 3066, + 3064, 0, 0, 595, 595, 0, 970, 0, 0, 0, + 0, 0, 0, 0, 1686, 0, 0, 0, 0, 1303, + 0, 0, 0, 0, 0, 1487, 1487, 1684, 1487, 0, + 1487, 1487, 0, 1496, 1487, 1487, 1487, 1487, 1487, 0, + 0, 187, 0, 0, 0, 0, 1303, 0, 187, 1303, + 970, 188, 189, 190, 0, 187, 187, 0, 0, 187, + 0, 187, 0, 0, 0, 0, 0, 0, 187, 0, + 0, 0, 0, 0, 0, 187, 0, 0, 0, 0, + 0, 0, 0, 0, 1563, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 583, 0, 0, 0, 0, 0, + 1585, 187, 0, 0, 0, 0, 595, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 157, 0, 0, 580, 0, 0, 0, 169, 0, 0, 0, 814, 0, 0, 0, 0, 0, 0, - 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 187, 187, 187, 187, - 187, 0, 0, 0, 1803, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 86, 0, 187, 187, 0, - 0, 0, 0, 1407, 0, 0, 0, 0, 0, 1422, - 0, 1815, 0, 187, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1359, 0, 0, 814, 0, - 0, 0, 595, 0, 0, 0, 814, 0, 0, 814, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 970, 0, 0, 0, 1338, 1340, 0, 0, 0, 0, - 0, 1420, 1423, 1424, 1425, 1426, 1427, 1428, 0, 1429, - 1430, 1431, 1432, 1433, 1408, 1409, 1410, 1411, 1392, 1393, - 1421, 0, 1395, 0, 1396, 1397, 1398, 1399, 1400, 1401, - 1402, 1403, 1404, 182, 595, 1405, 1412, 1413, 1414, 1415, - 1416, 1417, 1418, 1419, 0, 977, 0, 0, 0, 0, - 595, 0, 0, 0, 0, 0, 0, 121, 0, 143, - 0, 0, 0, 0, 0, 187, 0, 0, 0, 595, - 164, 0, 970, 0, 0, 0, 0, 0, 977, 0, - 0, 0, 0, 595, 0, 0, 0, 0, 0, 0, - 595, 595, 0, 187, 187, 187, 187, 187, 0, 0, - 0, 153, 0, 0, 0, 187, 0, 142, 0, 0, - 187, 0, 0, 187, 0, 187, 0, 0, 187, 187, - 187, 0, 0, 0, 0, 970, 0, 1680, 161, 0, - 162, 0, 0, 1680, 1680, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 130, 131, 152, 151, - 181, 0, 0, 0, 0, 0, 0, 1422, 0, 0, - 0, 0, 0, 187, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 595, 0, 0, 0, - 0, 0, 0, 0, 595, 0, 0, 0, 0, 187, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 187, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 814, 814, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 187, 0, 0, 187, 2119, 0, 0, 709, 710, 0, - 0, 0, 0, 1685, 0, 0, 2015, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 147, 128, 154, - 135, 127, 0, 148, 149, 0, 0, 0, 0, 165, - 0, 0, 0, 0, 0, 0, 0, 0, 171, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 139, 137, 132, 133, 134, 138, 0, - 0, 0, 0, 0, 0, 129, 0, 0, 0, 0, - 0, 0, 0, 0, 140, 0, 595, 187, 716, 717, - 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, - 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, - 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, - 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, + 0, 177, 566, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 564, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 158, 163, 160, 166, 167, 168, 170, 172, 173, 174, + 175, 1680, 0, 0, 0, 0, 176, 178, 179, 180, + 0, 0, 0, 0, 561, 1693, 0, 0, 0, 0, + 0, 0, 1303, 575, 0, 0, 0, 0, 0, 0, + 0, 1711, 1712, 0, 1093, 0, 1099, 0, 571, 1101, + 0, 0, 0, 0, 0, 0, 0, 0, 187, 0, 0, 0, 0, 0, 0, 0, 187, 0, 0, 0, + 0, 595, 0, 0, 0, 0, 0, 595, 814, 0, + 0, 0, 0, 0, 0, 584, 0, 0, 595, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1805, + 0, 0, 187, 0, 0, 0, 187, 551, 0, 553, + 567, 0, 586, 0, 585, 557, 0, 555, 559, 568, + 560, 0, 554, 0, 565, 0, 1817, 556, 569, 570, + 573, 576, 577, 578, 574, 572, 0, 563, 587, 0, + 1359, 0, 0, 814, 0, 0, 0, 0, 0, 0, + 0, 814, 0, 0, 814, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 970, 0, 0, 0, 595, + 0, 0, 0, 0, 0, 187, 0, 0, 0, 0, + 0, 0, 187, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 595, 0, 0, 0, + 0, 0, 0, 595, 0, 0, 0, 0, 0, 0, + 0, 0, 595, 0, 0, 0, 0, 0, 0, 0, + 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 156, 0, 0, 0, 0, - 0, 0, 0, 814, 0, 187, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1815, - 0, 0, 0, 0, 187, 2124, 0, 187, 187, 187, - 0, 0, 0, 0, 0, 0, 2139, 595, 595, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 187, 187, 187, 187, 187, 0, 0, 970, 0, 0, + 0, 0, 0, 977, 0, 1338, 1340, 0, 0, 0, + 0, 187, 187, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1704, 0, 150, 0, 1705, 0, 0, 0, 0, - 0, 595, 595, 595, 595, 0, 0, 0, 0, 0, + 0, 0, 1366, 0, 0, 0, 595, 0, 0, 0, + 970, 0, 1680, 0, 0, 0, 0, 0, 1680, 1680, + 0, 588, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 581, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 144, 0, 0, - 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2222, 0, 0, - 0, 0, 0, 0, 0, 1338, 1788, 0, 0, 0, - 157, 0, 0, 0, 0, 0, 0, 169, 0, 0, - 0, 0, 187, 0, 1815, 0, 0, 0, 0, 0, - 0, 2247, 0, 0, 0, 0, 0, 0, 1811, 0, - 2252, 0, 0, 0, 0, 0, 595, 0, 595, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, + 0, 0, 0, 0, 582, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 595, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 595, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 158, 163, - 160, 166, 167, 168, 170, 172, 173, 174, 175, 0, - 0, 0, 0, 0, 176, 178, 179, 180, 0, 0, + 187, 0, 0, 0, 595, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 595, 0, + 0, 2017, 0, 0, 0, 595, 595, 0, 187, 187, + 187, 187, 187, 0, 0, 0, 0, 0, 0, 0, + 187, 0, 0, 0, 0, 187, 0, 0, 187, 0, + 187, 0, 0, 187, 187, 187, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1384, 0, 0, + 0, 0, 0, 0, 0, 0, 78, 39, 40, 80, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 84, 0, 187, 0, + 43, 69, 70, 0, 67, 71, 0, 0, 0, 0, + 0, 595, 0, 68, 0, 0, 0, 0, 0, 595, + 0, 0, 0, 0, 187, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 187, 0, 0, + 0, 0, 56, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1521, 0, 87, 187, 0, 0, 187, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 814, 0, 0, 0, 1565, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1817, 0, 0, 0, + 0, 0, 2127, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2142, 0, 0, 1597, 0, 0, 0, + 0, 0, 0, 1601, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1612, 1613, 1614, 1615, 1616, 1617, + 1618, 595, 187, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1638, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 46, 49, + 52, 51, 54, 0, 66, 0, 0, 75, 72, 0, + 0, 187, 0, 0, 2225, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 55, 83, 82, 0, 0, 64, 65, 53, 0, 0, + 187, 1817, 1704, 73, 74, 0, 1705, 0, 2250, 0, + 0, 0, 0, 0, 0, 0, 0, 2255, 0, 187, + 0, 0, 187, 187, 187, 0, 0, 0, 0, 0, + 0, 0, 595, 595, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 57, 58, 0, 59, 60, 61, 62, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1338, 1790, 0, 0, + 0, 0, 0, 0, 0, 0, 595, 595, 595, 595, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1813, + 0, 1680, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1831, 0, 0, 0, 0, 0, + 0, 0, 0, 1835, 0, 1838, 0, 0, 1638, 1303, + 0, 1303, 0, 0, 1303, 0, 0, 187, 0, 1303, + 0, 0, 0, 0, 0, 0, 0, 182, 0, 0, + 0, 0, 0, 0, 814, 0, 0, 0, 2242, 0, + 0, 595, 0, 595, 81, 0, 0, 0, 0, 0, + 1487, 121, 0, 143, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 164, 0, 0, 0, 0, 2384, + 0, 1916, 0, 0, 0, 0, 0, 0, 0, 86, + 0, 0, 0, 814, 0, 0, 0, 1303, 0, 0, + 2411, 1487, 1303, 0, 0, 153, 0, 0, 0, 0, + 0, 142, 0, 682, 0, 595, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 187, 0, + 0, 595, 161, 0, 162, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 595, 0, 0, 0, 0, 0, + 1462, 1463, 152, 151, 181, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 185, 0, 0, 548, 0, 0, + 589, 0, 0, 0, 0, 595, 0, 548, 0, 595, + 595, 0, 0, 0, 0, 548, 970, 0, 0, 1303, + 0, 0, 0, 0, 1817, 0, 0, 0, 0, 0, + 781, 0, 0, 0, 0, 0, 0, 0, 595, 0, + 0, 0, 0, 0, 1638, 0, 799, 0, 799, 0, + 0, 1988, 0, 0, 0, 0, 548, 0, 2002, 2003, + 0, 0, 2007, 0, 0, 0, 0, 0, 0, 0, + 0, 2010, 0, 0, 0, 0, 0, 0, 2013, 0, + 595, 147, 1464, 154, 0, 1461, 0, 148, 149, 0, + 0, 0, 0, 165, 0, 187, 0, 0, 0, 0, + 0, 0, 171, 0, 2016, 0, 0, 0, 0, 0, + 0, 0, 0, 595, 187, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2384, 0, 0, 0, + 0, 0, 0, 0, 0, 595, 0, 0, 2036, 0, + 0, 0, 2040, 0, 2041, 2042, 0, 0, 0, 0, + 0, 0, 0, 2050, 0, 0, 2051, 2052, 2053, 595, 595, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 187, 1680, 0, 595, 0, 0, 0, - 0, 0, 0, 682, 0, 0, 0, 0, 0, 595, - 1914, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 182, 0, 0, 0, 0, 0, - 0, 1303, 0, 1303, 0, 2239, 1303, 0, 0, 0, - 595, 1303, 0, 0, 595, 595, 0, 0, 121, 0, - 143, 0, 0, 0, 185, 0, 814, 548, 0, 0, - 589, 164, 0, 0, 0, 0, 0, 548, 0, 0, - 0, 0, 1487, 595, 0, 548, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 781, 2381, 153, 0, 0, 0, 0, 0, 142, 0, - 0, 0, 0, 0, 0, 814, 799, 0, 799, 1303, - 0, 0, 2408, 1487, 1303, 595, 548, 0, 0, 161, - 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, - 187, 0, 0, 0, 0, 0, 0, 1462, 1463, 152, - 151, 181, 0, 0, 0, 0, 0, 0, 595, 187, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2797, - 2799, 2798, 2808, 2809, 2810, 2811, 2812, 2813, 2814, 647, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 595, 0, 0, 0, 0, 0, 0, 182, 970, 0, - 0, 1303, 0, 0, 0, 0, 1815, 0, 1458, 0, - 0, 0, 0, 0, 595, 595, 0, 0, 0, 0, - 0, 121, 0, 143, 0, 0, 0, 595, 0, 0, - 0, 0, 0, 0, 164, 0, 187, 595, 147, 1464, - 154, 0, 1461, 0, 148, 149, 0, 0, 0, 0, - 165, 0, 0, 0, 0, 0, 0, 2034, 0, 171, - 0, 2038, 0, 2039, 2040, 153, 0, 0, 0, 0, - 0, 142, 2048, 0, 0, 2049, 2050, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 595, 0, 0, 0, - 0, 0, 161, 0, 162, 595, 0, 0, 0, 0, - 0, 0, 0, 2057, 2058, 2059, 2060, 2061, 0, 2063, - 1462, 1463, 152, 151, 181, 2067, 0, 2068, 0, 0, - 0, 2071, 0, 0, 0, 0, 0, 0, 2381, 2080, - 2081, 2082, 2083, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2094, 2095, 0, 0, 0, 0, 0, 0, - 2100, 2101, 2102, 2103, 2104, 0, 1811, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2117, 0, 0, - 0, 0, 0, 0, 0, 0, 156, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2803, - 2804, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 147, 1464, 154, 0, 1461, 0, 148, 149, 0, - 0, 0, 0, 165, 0, 0, 0, 0, 0, 0, - 0, 0, 171, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1815, - 1815, 0, 0, 0, 150, 0, 0, 0, 0, 0, - 692, 0, 641, 696, 643, 693, 694, 0, 639, 642, - 695, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 144, 0, - 0, 145, 0, 2726, 2727, 2728, 2729, 645, 646, 2796, - 2800, 2801, 2802, 2805, 2806, 2807, 2815, 2817, 670, 2816, - 2818, 2819, 2820, 2823, 2824, 2825, 2826, 2821, 2822, 2827, - 2795, 157, 0, 0, 0, 0, 0, 0, 169, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1303, 0, 1303, 0, 0, 0, 548, 156, - 548, 0, 0, 548, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1303, 0, 0, 0, 0, 2783, 0, - 2785, 0, 0, 0, 0, 0, 0, 0, 0, 158, - 163, 160, 166, 167, 168, 170, 172, 173, 174, 175, - 0, 0, 0, 0, 0, 176, 178, 179, 180, 0, - 2328, 0, 0, 0, 2332, 0, 0, 150, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2347, 0, 0, 0, 0, 0, - 0, 0, 1815, 0, 0, 0, 0, 0, 0, 0, - 0, 144, 0, 0, 145, 2362, 2363, 0, 2853, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 814, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 157, 0, 0, 0, 0, 0, - 0, 169, 0, 0, 0, 0, 0, 0, 0, 0, - 1304, 0, 2886, 0, 0, 0, 2886, 2886, 0, 0, - 0, 0, 0, 0, 2407, 0, 0, 0, 0, 0, + 0, 0, 595, 0, 0, 0, 0, 0, 0, 0, + 0, 187, 595, 0, 0, 0, 2060, 2061, 2062, 2063, + 2064, 0, 2066, 0, 0, 0, 0, 0, 2070, 156, + 2071, 0, 0, 0, 2074, 0, 0, 0, 0, 0, + 0, 0, 2083, 2084, 2085, 2086, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2097, 2098, 0, 0, 0, + 0, 595, 0, 2103, 2104, 2105, 2106, 2107, 0, 1813, + 595, 0, 0, 0, 0, 0, 0, 1817, 1817, 0, + 2120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2425, 2426, 177, 0, 1815, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 548, 0, 0, 0, 0, 0, 0, - 0, 0, 158, 163, 160, 166, 167, 168, 170, 172, - 173, 174, 175, 781, 0, 0, 0, 1815, 176, 178, - 179, 180, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 548, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1815, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2729, 2730, 2731, 2732, 0, 2800, 2802, 2801, 2811, + 2812, 2813, 2814, 2815, 2816, 2817, 647, 0, 0, 2181, + 0, 144, 0, 0, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1303, 0, 1303, 0, 157, 0, 0, 0, 0, 0, + 0, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1303, 0, 2949, 0, 0, 0, 0, 0, 2552, 0, - 0, 0, 0, 0, 0, 2556, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 814, 814, 0, 2566, - 2567, 2569, 2571, 0, 0, 0, 0, 0, 0, 2979, - 2577, 0, 0, 0, 0, 2581, 2582, 2583, 0, 2984, - 0, 0, 2586, 0, 0, 0, 0, 0, 2588, 0, - 0, 2592, 2593, 2594, 2595, 2596, 2597, 2598, 2599, 2600, - 2601, 0, 0, 2602, 0, 0, 0, 0, 0, 2607, + 0, 0, 0, 0, 0, 0, 0, 0, 2229, 0, + 0, 1303, 0, 0, 0, 0, 2786, 0, 2788, 0, + 0, 0, 0, 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1815, 0, - 0, 0, 0, 0, 0, 0, 0, 2984, 0, 0, - 0, 548, 0, 0, 2629, 2630, 0, 0, 2634, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 708, 79, 0, 0, 0, 2646, 2647, 0, 0, + 0, 0, 158, 163, 160, 166, 167, 168, 170, 172, + 173, 174, 175, 0, 0, 0, 0, 0, 176, 178, + 179, 180, 0, 2277, 2278, 2279, 2280, 2281, 0, 0, + 1817, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1638, 2290, 2856, 0, 548, 0, + 548, 0, 0, 548, 0, 0, 0, 0, 0, 814, + 2298, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 182, 0, + 0, 0, 0, 0, 2331, 0, 0, 0, 2335, 1458, + 2889, 0, 0, 0, 2889, 2889, 0, 0, 0, 0, + 0, 0, 121, 0, 143, 0, 0, 0, 2350, 0, + 0, 0, 0, 0, 0, 164, 2806, 2807, 0, 0, + 0, 0, 0, 1817, 0, 0, 0, 0, 0, 2365, + 2366, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 153, 0, 0, 0, + 0, 0, 142, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1817, 0, 0, 0, 0, + 0, 0, 0, 161, 0, 162, 0, 692, 0, 641, + 696, 643, 693, 694, 0, 639, 642, 695, 2410, 0, + 0, 1462, 1463, 152, 151, 181, 0, 0, 1817, 0, + 0, 798, 0, 0, 0, 2428, 2429, 0, 0, 0, + 1304, 0, 0, 0, 645, 646, 2799, 2803, 2804, 2805, + 2808, 2809, 2810, 2818, 2820, 670, 2819, 2821, 2822, 2823, + 2826, 2827, 2828, 2829, 2824, 2825, 2830, 2798, 1303, 0, + 2952, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 548, 814, 814, 0, 0, 0, 607, + 0, 2484, 0, 0, 0, 0, 0, 2982, 0, 0, + 0, 0, 0, 781, 0, 0, 0, 2987, 0, 0, + 0, 0, 147, 1464, 154, 0, 1461, 2522, 148, 149, + 0, 792, 0, 0, 165, 0, 548, 0, 0, 0, + 2531, 0, 0, 171, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2547, 0, + 0, 2550, 2555, 0, 0, 0, 1817, 0, 0, 2559, + 0, 0, 0, 0, 0, 2987, 0, 0, 0, 0, + 0, 0, 0, 2569, 2570, 2572, 2574, 0, 0, 0, + 0, 0, 0, 0, 2580, 0, 0, 0, 0, 2584, + 2585, 2586, 0, 0, 0, 0, 2589, 0, 0, 0, + 0, 0, 2591, 0, 0, 2595, 2596, 2597, 2598, 2599, + 2600, 2601, 2602, 2603, 2604, 3014, 0, 2605, 0, 0, + 0, 0, 0, 2610, 0, 1406, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2612, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 156, 0, 0, 0, 0, 0, 0, 0, 2632, 2633, + 0, 0, 2637, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2649, 2650, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 548, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 708, 79, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2675, 0, 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1304, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1304, 2690, 0, 0, 2691, 2692, 2693, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1304, 0, - 0, 1304, 0, 0, 0, 0, 548, 0, 0, 0, + 0, 0, 144, 0, 0, 145, 1394, 0, 1304, 0, + 2716, 1304, 0, 0, 0, 0, 548, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 771, - 0, 79, 0, 1537, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2713, 0, 548, 771, - 0, 0, 0, 0, 0, 0, 0, 709, 710, 0, - 0, 0, 0, 1685, 1587, 978, 0, 0, 0, 0, + 0, 79, 0, 1537, 0, 157, 0, 0, 0, 0, + 0, 0, 169, 0, 0, 0, 0, 0, 548, 771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 548, 0, 0, 0, 0, 0, 0, 548, 0, 0, + 0, 0, 0, 0, 1587, 978, 0, 0, 0, 0, + 0, 0, 0, 2745, 0, 0, 0, 2746, 0, 0, + 548, 0, 0, 2750, 177, 0, 0, 548, 1407, 0, 0, 0, 0, 0, 0, 0, 1610, 1611, 548, 548, - 548, 548, 548, 548, 548, 0, 0, 0, 0, 2742, - 0, 0, 0, 2743, 0, 0, 0, 0, 0, 2747, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 548, 716, 717, - 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, - 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, - 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, - 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 548, 548, 548, 548, 548, 0, 0, 0, 0, 0, + 0, 0, 0, 158, 163, 160, 166, 167, 168, 170, + 172, 173, 174, 175, 1406, 0, 0, 0, 0, 176, + 178, 179, 180, 0, 0, 0, 0, 548, 0, 0, + 0, 0, 0, 0, 0, 0, 1420, 1423, 1424, 1425, + 1426, 1427, 1428, 0, 1429, 1430, 1431, 1432, 1433, 1408, + 1409, 1410, 1411, 1392, 1393, 1421, 0, 1395, 0, 1396, + 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 0, 0, + 1405, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 0, 0, 799, 0, 0, 0, 0, 0, 0, 799, 799, - 0, 0, 0, 0, 1304, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2851, 0, - 0, 0, 0, 0, 0, 0, 0, 2858, 0, 799, + 0, 0, 2854, 0, 1304, 0, 0, 0, 0, 0, + 0, 2861, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2871, 2872, 2873, + 0, 2874, 2875, 0, 0, 0, 0, 2878, 0, 2879, + 0, 2881, 2884, 0, 0, 0, 0, 0, 2888, 799, 1587, 799, 799, 799, 799, 799, 0, 0, 0, 0, - 0, 0, 0, 2868, 2869, 2870, 0, 2871, 2872, 0, - 0, 0, 0, 2875, 0, 2876, 1537, 2878, 2881, 0, - 0, 0, 0, 0, 2885, 0, 0, 0, 0, 0, - 0, 799, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 781, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1394, 0, 0, 0, 0, + 1192, 0, 0, 0, 0, 0, 1537, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2914, 0, 0, 0, + 0, 799, 0, 0, 0, 0, 0, 0, 1239, 0, + 0, 0, 1422, 0, 0, 781, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 548, 0, - 0, 0, 2911, 0, 0, 1587, 0, 548, 0, 548, - 0, 548, 1851, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 798, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2933, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2938, 0, - 0, 0, 0, 2943, 0, 0, 0, 0, 0, 2944, - 2945, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2951, 0, 0, - 0, 0, 0, 607, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 792, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3002, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3008, 0, 0, - 0, 3009, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1587, 0, 548, 0, 548, + 0, 548, 1853, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1407, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2936, 0, + 0, 0, 0, 0, 0, 0, 0, 2935, 0, 0, + 607, 0, 2941, 0, 0, 0, 0, 2946, 0, 0, + 0, 0, 0, 2947, 2948, 0, 0, 0, 0, 0, + 0, 0, 0, 2122, 0, 0, 709, 710, 0, 0, + 0, 2954, 1685, 0, 0, 1420, 1423, 1424, 1425, 1426, + 1427, 1428, 0, 1429, 1430, 1431, 1432, 1433, 1408, 1409, + 1410, 1411, 1392, 1393, 1421, 0, 1395, 0, 1396, 1397, + 1398, 1399, 1400, 1401, 1402, 1403, 1404, 0, 0, 1405, + 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 0, 0, + 0, 0, 3005, 0, 0, 1353, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 3011, 0, 0, 0, 3012, 0, 716, 717, 718, + 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, + 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, + 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, + 749, 750, 751, 752, 753, 754, 755, 756, 757, 0, 0, 0, 0, 0, 0, 0, 0, 0, 548, 0, 0, 1152, 0, 1152, 1152, 548, 0, 0, 0, 0, - 0, 0, 548, 548, 0, 0, 548, 0, 2007, 0, + 0, 0, 548, 548, 0, 0, 548, 0, 2009, 0, 79, 0, 0, 0, 0, 548, 0, 0, 0, 0, - 0, 0, 548, 0, 0, 0, 0, 0, 0, 0, + 0, 1422, 548, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 771, 1227, 1228, 1229, 0, 1232, 0, 1234, 1235, 1236, 1237, 548, 1240, 1242, 1242, 0, 1242, 1246, 1246, 1248, 1249, 1250, 1251, @@ -2032,335 +2030,239 @@ var yyAct = [...]int{ 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 0, 1287, 1288, 1289, 1290, 1291, - 0, 0, 0, 0, 1246, 1246, 1246, 1246, 1246, 0, + 1441, 0, 0, 0, 1246, 1246, 1246, 1246, 1246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 799, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 87, 0, 0, 0, 0, - 0, 702, 709, 710, 711, 712, 713, 703, 705, 0, - 0, 0, 704, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 707, 714, 715, 0, 0, - 0, 0, 0, 1313, 0, 0, 0, 0, 0, 771, - 0, 0, 0, 771, 0, 0, 0, 0, 0, 771, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 799, - 799, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1587, 2525, 2526, 548, 0, 0, 0, 0, 0, 0, - 0, 1537, 0, 716, 717, 718, 719, 720, 721, 722, - 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, - 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, - 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, - 753, 754, 755, 756, 757, 0, 87, 548, 0, 0, - 0, 548, 702, 709, 710, 711, 712, 713, 703, 705, - 0, 0, 0, 704, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 707, 714, 715, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 548, 0, 2525, 2526, 0, 0, 0, 2232, 0, 0, - 0, 0, 0, 0, 716, 717, 718, 719, 720, 721, - 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, - 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, - 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, - 752, 753, 754, 755, 756, 757, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 548, 548, 548, 548, 548, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 548, 548, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 548, 0, 1192, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 692, 0, 799, 696, 0, - 693, 694, 0, 0, 0, 695, 0, 0, 0, 0, - 0, 0, 1239, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1304, 0, - 1304, 0, 0, 1304, 0, 0, 0, 0, 1304, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 799, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 607, 0, 0, 0, 0, 0, - 0, 0, 0, 1152, 548, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1152, 1152, 0, - 0, 0, 0, 0, 0, 0, 1304, 0, 0, 0, - 0, 1304, 548, 548, 548, 548, 548, 0, 0, 0, - 0, 0, 0, 0, 2424, 0, 0, 0, 0, 548, - 0, 0, 1537, 0, 548, 0, 0, 548, 2435, 1587, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1353, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 548, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1304, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 548, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 548, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 548, - 0, 0, 548, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1843, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 548, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1441, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 709, 710, 0, 0, + 0, 0, 1685, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1313, 0, 0, 0, 0, 0, 771, + 0, 0, 0, 771, 0, 0, 0, 0, 0, 771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 978, 0, 0, 0, 0, 548, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 978, 548, 0, 0, 0, 0, 0, + 0, 799, 799, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1587, 0, 0, 548, 0, 0, 0, 0, + 0, 0, 0, 1537, 0, 0, 1590, 716, 717, 718, + 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, + 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, + 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, + 749, 750, 751, 752, 753, 754, 755, 756, 757, 548, + 0, 0, 0, 548, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 548, 0, 0, 548, 548, 548, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1645, + 1646, 1647, 1648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1590, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 548, 0, 0, 0, 0, 0, 0, 2235, + 1690, 1691, 0, 0, 0, 0, 0, 0, 1696, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1735, 1736, 1737, 1738, 1739, 1740, + 1742, 1746, 1747, 607, 1753, 1754, 1755, 1756, 1757, 1758, + 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, + 1769, 1770, 1771, 1772, 1773, 1774, 1775, 548, 548, 548, + 548, 548, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 548, 548, + 0, 0, 0, 0, 0, 607, 0, 0, 0, 0, + 0, 0, 0, 0, 548, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 799, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1825, 1826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1862, + 0, 1304, 0, 1304, 0, 0, 1304, 0, 0, 0, + 0, 1304, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 799, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1152, 0, 0, 0, 548, 1900, 0, + 0, 0, 0, 0, 0, 0, 0, 1152, 1152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1304, + 0, 0, 0, 0, 1304, 548, 548, 548, 548, 548, + 0, 0, 0, 0, 0, 0, 0, 2427, 0, 0, + 0, 0, 548, 0, 0, 1537, 0, 548, 0, 0, + 548, 2438, 1587, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 87, 0, + 0, 0, 0, 0, 702, 709, 710, 711, 712, 713, + 703, 705, 0, 0, 0, 704, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 548, 0, 0, 707, 714, + 715, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1304, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1645, 1646, 1647, 1648, 0, 0, 0, - 0, 1537, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1304, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2023, 0, 0, 1690, 1691, 0, 0, 0, 0, - 0, 0, 1696, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1733, 1734, - 1735, 1736, 1737, 1738, 1740, 1744, 1745, 607, 1751, 1752, - 1753, 1754, 1755, 1756, 1757, 1758, 1759, 1760, 1761, 1762, - 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, - 1773, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1537, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 607, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1823, 1824, 0, 0, 0, - 2098, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2115, 0, 0, - 0, 0, 0, 1860, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 771, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2155, 2156, 0, 0, - 0, 0, 0, 0, 0, 2175, 0, 2176, 2177, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1537, - 0, 0, 1898, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 548, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1304, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2253, 0, 0, 0, - 0, 0, 0, 0, 0, 1537, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 548, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 548, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2528, 2529, 0, 0, 0, 0, + 0, 0, 548, 0, 0, 548, 716, 717, 718, 719, + 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, + 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, + 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, + 750, 751, 752, 753, 754, 755, 756, 757, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 548, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2047, 0, - 0, 0, 1843, 0, 2051, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2405, 0, 79, 0, 0, - 1843, 1843, 1843, 1843, 1843, 1239, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2175, 771, 0, - 0, 0, 1843, 0, 0, 1843, 0, 0, 0, 0, + 0, 0, 0, 0, 2049, 0, 0, 0, 0, 0, + 0, 2054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 978, 0, 0, 0, 0, 0, 0, 0, 548, 0, + 0, 0, 0, 1239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 978, 0, 0, 0, 548, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 548, 0, 0, 548, + 548, 548, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2513, 0, - 0, 1353, 0, 0, 0, 0, 0, 0, 2521, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 692, 1353, + 0, 696, 0, 693, 694, 0, 0, 0, 695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 87, 0, 0, 0, 0, 0, + 702, 709, 710, 711, 712, 713, 703, 705, 0, 0, + 0, 704, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 707, 714, 715, 0, 0, 0, + 0, 0, 1304, 0, 1304, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2528, 2529, 0, 1304, 0, 0, 0, 0, 0, 0, + 0, 2025, 716, 717, 718, 719, 720, 721, 722, 723, + 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, + 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, + 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, + 754, 755, 756, 757, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2555, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1537, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2325, 2326, 0, 0, 0, + 2329, 0, 0, 0, 0, 0, 0, 2332, 2333, 2334, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2339, + 2340, 2341, 2101, 0, 1753, 2343, 0, 2344, 2345, 0, + 0, 0, 2352, 2353, 0, 0, 0, 0, 0, 2118, + 1753, 1753, 1753, 1753, 1753, 607, 607, 607, 607, 0, + 0, 0, 0, 0, 0, 0, 0, 771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2158, 2159, + 0, 0, 0, 0, 0, 0, 0, 2178, 0, 2179, + 2180, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1537, 0, 0, 2399, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 548, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1304, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2494, 0, 0, 0, 0, 0, 2256, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1843, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2655, 0, 0, 2299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2322, 2323, 0, - 0, 0, 2326, 0, 0, 0, 0, 0, 2329, 2330, - 2331, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2336, 2337, 2338, 0, 0, 1751, 2340, 0, 2341, 2342, - 0, 0, 0, 2349, 2350, 0, 0, 0, 0, 0, - 0, 1751, 1751, 1751, 1751, 1751, 607, 607, 607, 607, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2577, 0, 0, 0, 0, 0, 0, 0, + 2583, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2396, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2429, 0, 2755, 0, 2759, 2760, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 607, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2405, 0, 79, 0, 2405, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2408, 0, + 79, 0, 0, 1845, 1845, 1845, 1845, 1845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2178, 771, 0, 0, 0, 1845, 0, 0, 1845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2491, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2697, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2721, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2843, 0, 0, 0, 0, 0, 0, + 0, 2516, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2524, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2737, 0, 2738, 0, 0, 0, 0, + 2741, 2742, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2749, 0, 0, 0, 0, 0, + 2558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2782, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2790, 0, 0, 2792, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2574, 0, 0, 0, 0, 0, 0, - 0, 2580, 0, 0, 0, 0, 0, 0, 0, 0, + 2796, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2834, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2405, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1248, 1252, 1253, - 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, - 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, - 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, - 0, 607, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2921, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1845, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2658, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2952, 0, 0, 2694, 0, 79, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2897, + 607, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2718, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2734, 0, 2735, 0, 0, 0, - 0, 2738, 2739, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2746, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 607, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2779, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2787, 0, 0, 2789, 0, 0, + 0, 0, 2940, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2758, 0, + 2762, 2763, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2793, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2831, + 0, 0, 0, 2408, 0, 79, 607, 2408, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 3003, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2846, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2894, 607, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 363, 0, 0, 948, 933, 465, 0, 879, 951, 848, - 867, 961, 870, 873, 915, 827, 893, 381, 864, 819, - 852, 822, 859, 823, 850, 881, 252, 847, 935, 897, - 950, 336, 249, 829, 853, 395, 869, 197, 917, 439, - 236, 346, 343, 472, 264, 255, 251, 235, 291, 353, - 393, 459, 387, 957, 340, 903, 0, 449, 366, 607, - 0, 0, 883, 939, 891, 929, 878, 916, 837, 902, - 952, 865, 912, 953, 297, 233, 299, 196, 378, 450, - 268, 0, 0, 0, 0, 188, 189, 190, 0, 2972, - 0, 2973, 0, 2937, 0, 0, 0, 0, 224, 0, - 231, 321, 330, 329, 310, 311, 313, 315, 320, 327, - 333, 861, 909, 947, 862, 911, 247, 295, 254, 246, - 469, 958, 938, 826, 890, 946, 0, 0, 215, 949, - 885, 0, 914, 0, 964, 821, 905, 607, 824, 828, - 960, 942, 856, 257, 0, 0, 0, 0, 0, 0, - 0, 882, 892, 926, 876, 0, 0, 0, 0, 0, - 0, 0, 854, 0, 901, 0, 0, 0, 833, 825, - 0, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2408, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 880, 0, 0, 0, 836, 0, 855, 927, - 0, 818, 278, 830, 367, 239, 0, 931, 941, 877, - 505, 945, 875, 874, 921, 834, 937, 868, 335, 832, - 304, 192, 211, 0, 866, 377, 420, 426, 936, 851, - 860, 237, 858, 424, 391, 488, 219, 266, 417, 397, - 422, 404, 269, 900, 919, 423, 341, 474, 411, 485, - 506, 507, 245, 371, 496, 463, 502, 520, 212, 242, - 385, 456, 491, 446, 364, 470, 471, 303, 445, 276, - 195, 339, 512, 210, 432, 228, 217, 476, 494, 271, - 415, 202, 458, 483, 225, 436, 0, 0, 522, 204, - 481, 455, 360, 300, 301, 203, 0, 416, 250, 274, - 240, 380, 478, 479, 238, 523, 214, 501, 206, 1154, - 500, 373, 473, 482, 361, 351, 205, 480, 359, 350, - 306, 325, 326, 262, 285, 409, 344, 410, 286, 369, - 368, 370, 198, 492, 0, 199, 0, 451, 493, 524, - 220, 221, 223, 846, 261, 265, 273, 275, 281, 282, - 289, 337, 384, 408, 406, 412, 932, 468, 486, 497, - 504, 510, 511, 513, 514, 515, 516, 517, 519, 518, - 372, 288, 447, 305, 342, 924, 963, 390, 425, 226, - 490, 448, 841, 845, 839, 906, 840, 895, 896, 842, - 954, 955, 956, 525, 526, 527, 528, 529, 530, 531, - 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, - 542, 0, 928, 835, 0, 843, 844, 0, 934, 943, - 944, 543, 352, 438, 487, 307, 319, 322, 312, 331, - 0, 332, 308, 309, 314, 316, 317, 318, 323, 324, - 328, 334, 234, 899, 191, 207, 338, 959, 413, 270, - 521, 499, 495, 820, 209, 838, 244, 849, 857, 0, - 863, 871, 872, 884, 886, 887, 888, 889, 907, 908, - 910, 918, 920, 923, 925, 930, 940, 962, 193, 194, - 200, 208, 218, 222, 229, 243, 258, 260, 267, 279, - 284, 287, 292, 293, 296, 302, 348, 354, 355, 356, - 357, 374, 375, 376, 379, 382, 383, 386, 388, 389, - 392, 396, 400, 401, 402, 403, 405, 407, 414, 419, - 427, 428, 429, 430, 431, 434, 435, 440, 441, 442, - 443, 444, 452, 453, 457, 475, 477, 489, 503, 508, - 433, 280, 484, 509, 0, 347, 898, 904, 349, 263, - 283, 294, 913, 498, 454, 213, 421, 272, 201, 232, - 216, 241, 256, 259, 298, 358, 365, 394, 399, 277, - 253, 230, 418, 227, 437, 460, 461, 462, 464, 362, - 248, 398, 894, 922, 345, 466, 467, 290, 363, 0, - 0, 948, 933, 465, 0, 879, 951, 848, 867, 961, + 1248, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260, + 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, + 1271, 1272, 1273, 1275, 1276, 1277, 1278, 1279, 1280, 1281, + 1282, 1283, 1284, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2924, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 363, 0, + 0, 948, 933, 465, 79, 879, 951, 848, 867, 961, 870, 873, 915, 827, 893, 381, 864, 819, 852, 822, 859, 823, 850, 881, 252, 847, 935, 897, 950, 336, 249, 829, 853, 395, 869, 197, 917, 439, 236, 346, 343, 472, 264, 255, 251, 235, 291, 353, 393, 459, - 387, 957, 340, 903, 0, 449, 366, 0, 0, 0, + 387, 957, 340, 903, 2955, 449, 366, 0, 0, 79, 883, 939, 891, 929, 878, 916, 837, 902, 952, 865, 912, 953, 297, 233, 299, 196, 378, 450, 268, 0, - 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, + 0, 0, 0, 188, 189, 190, 0, 2975, 0, 2976, 0, 0, 0, 0, 0, 0, 224, 0, 231, 321, 330, 329, 310, 311, 313, 315, 320, 327, 333, 861, 909, 947, 862, 911, 247, 295, 254, 246, 469, 958, 938, 826, 890, 946, 0, 0, 215, 949, 885, 0, 914, 0, 964, 821, 905, 0, 824, 828, 960, 942, 856, 257, 0, 0, 0, 0, 0, 0, 0, 882, - 892, 926, 876, 0, 0, 0, 0, 0, 2436, 0, + 892, 926, 876, 0, 0, 0, 0, 0, 0, 0, 854, 0, 901, 0, 0, 0, 833, 825, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2421,7 +2323,7 @@ var yyAct = [...]int{ 890, 946, 0, 0, 215, 949, 885, 0, 914, 0, 964, 821, 905, 0, 824, 828, 960, 942, 856, 257, 0, 0, 0, 0, 0, 0, 0, 882, 892, 926, - 876, 0, 0, 0, 0, 0, 2394, 0, 854, 0, + 876, 0, 0, 0, 0, 0, 2439, 0, 854, 0, 901, 0, 0, 0, 833, 825, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2482,7 +2384,7 @@ var yyAct = [...]int{ 0, 0, 215, 949, 885, 0, 914, 0, 964, 821, 905, 0, 824, 828, 960, 942, 856, 257, 0, 0, 0, 0, 0, 0, 0, 882, 892, 926, 876, 0, - 0, 0, 0, 0, 1831, 0, 854, 0, 901, 0, + 0, 0, 0, 0, 2397, 0, 854, 0, 901, 0, 0, 0, 833, 825, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2535,7 +2437,7 @@ var yyAct = [...]int{ 291, 353, 393, 459, 387, 957, 340, 903, 0, 449, 366, 0, 0, 0, 883, 939, 891, 929, 878, 916, 837, 902, 952, 865, 912, 953, 297, 233, 299, 196, - 378, 450, 268, 0, 87, 0, 0, 188, 189, 190, + 378, 450, 268, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, 231, 321, 330, 329, 310, 311, 313, 315, 320, 327, 333, 861, 909, 947, 862, 911, 247, 295, @@ -2543,7 +2445,7 @@ var yyAct = [...]int{ 215, 949, 885, 0, 914, 0, 964, 821, 905, 0, 824, 828, 960, 942, 856, 257, 0, 0, 0, 0, 0, 0, 0, 882, 892, 926, 876, 0, 0, 0, - 0, 0, 0, 0, 854, 0, 901, 0, 0, 0, + 0, 0, 1833, 0, 854, 0, 901, 0, 0, 0, 833, 825, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2596,7 +2498,7 @@ var yyAct = [...]int{ 393, 459, 387, 957, 340, 903, 0, 449, 366, 0, 0, 0, 883, 939, 891, 929, 878, 916, 837, 902, 952, 865, 912, 953, 297, 233, 299, 196, 378, 450, - 268, 0, 0, 0, 0, 188, 189, 190, 0, 0, + 268, 0, 87, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, 231, 321, 330, 329, 310, 311, 313, 315, 320, 327, 333, 861, 909, 947, 862, 911, 247, 295, 254, 246, @@ -2661,7 +2563,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 224, 0, 231, 321, 330, 329, 310, 311, 313, 315, 320, 327, 333, 861, 909, 947, 862, 911, 247, 295, 254, 246, 469, 958, - 938, 826, 890, 946, 0, 0, 965, 949, 885, 0, + 938, 826, 890, 946, 0, 0, 215, 949, 885, 0, 914, 0, 964, 821, 905, 0, 824, 828, 960, 942, 856, 257, 0, 0, 0, 0, 0, 0, 0, 882, 892, 926, 876, 0, 0, 0, 0, 0, 0, 0, @@ -2681,14 +2583,14 @@ var yyAct = [...]int{ 512, 210, 432, 228, 217, 476, 494, 271, 415, 202, 458, 483, 225, 436, 0, 0, 522, 204, 481, 455, 360, 300, 301, 203, 0, 416, 250, 274, 240, 380, - 478, 479, 238, 523, 214, 501, 206, 831, 500, 373, + 478, 479, 238, 523, 214, 501, 206, 1154, 500, 373, 473, 482, 361, 351, 205, 480, 359, 350, 306, 325, 326, 262, 285, 409, 344, 410, 286, 369, 368, 370, 198, 492, 0, 199, 0, 451, 493, 524, 220, 221, 223, 846, 261, 265, 273, 275, 281, 282, 289, 337, 384, 408, 406, 412, 932, 468, 486, 497, 504, 510, - 511, 513, 514, 515, 516, 517, 519, 518, 817, 811, - 810, 305, 342, 924, 963, 390, 425, 226, 490, 448, + 511, 513, 514, 515, 516, 517, 519, 518, 372, 288, + 447, 305, 342, 924, 963, 390, 425, 226, 490, 448, 841, 845, 839, 906, 840, 895, 896, 842, 954, 955, 956, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 0, @@ -2739,7 +2641,7 @@ var yyAct = [...]int{ 919, 423, 341, 474, 411, 485, 506, 507, 245, 371, 496, 463, 502, 520, 212, 242, 385, 456, 491, 446, 364, 470, 471, 303, 445, 276, 195, 339, 512, 210, - 432, 228, 217, 476, 494, 271, 415, 202, 458, 1370, + 432, 228, 217, 476, 494, 271, 415, 202, 458, 483, 225, 436, 0, 0, 522, 204, 481, 455, 360, 300, 301, 203, 0, 416, 250, 274, 240, 380, 478, 479, 238, 523, 214, 501, 206, 831, 500, 373, 473, 482, @@ -2800,7 +2702,7 @@ var yyAct = [...]int{ 341, 474, 411, 485, 506, 507, 245, 371, 496, 463, 502, 520, 212, 242, 385, 456, 491, 446, 364, 470, 471, 303, 445, 276, 195, 339, 512, 210, 432, 228, - 217, 476, 494, 271, 415, 202, 458, 808, 225, 436, + 217, 476, 494, 271, 415, 202, 458, 1370, 225, 436, 0, 0, 522, 204, 481, 455, 360, 300, 301, 203, 0, 416, 250, 274, 240, 380, 478, 479, 238, 523, 214, 501, 206, 831, 500, 373, 473, 482, 361, 351, @@ -2831,189 +2733,491 @@ var yyAct = [...]int{ 421, 272, 201, 232, 216, 241, 256, 259, 298, 358, 365, 394, 399, 277, 253, 230, 418, 227, 437, 460, 461, 462, 464, 362, 248, 398, 894, 922, 345, 466, - 467, 290, 363, 0, 0, 0, 0, 465, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, - 0, 0, 1775, 0, 625, 0, 0, 0, 252, 630, - 0, 0, 0, 336, 249, 0, 1776, 395, 0, 197, - 0, 439, 236, 346, 343, 472, 264, 255, 251, 235, - 291, 353, 393, 459, 387, 637, 340, 0, 0, 449, - 366, 0, 0, 0, 0, 0, 632, 633, 0, 0, - 0, 0, 0, 0, 0, 0, 297, 233, 299, 196, - 378, 450, 268, 0, 87, 0, 0, 188, 189, 190, - 702, 709, 710, 711, 712, 713, 703, 705, 0, 0, - 224, 704, 231, 649, 651, 650, 660, 661, 662, 663, - 664, 665, 666, 647, 707, 714, 715, 0, 247, 295, - 254, 246, 469, 0, 0, 0, 0, 0, 0, 0, - 215, 0, 0, 0, 0, 0, 0, 0, 608, 622, - 0, 636, 0, 0, 0, 257, 0, 0, 0, 0, + 467, 290, 363, 0, 0, 948, 933, 465, 0, 879, + 951, 848, 867, 961, 870, 873, 915, 827, 893, 381, + 864, 819, 852, 822, 859, 823, 850, 881, 252, 847, + 935, 897, 950, 336, 249, 829, 853, 395, 869, 197, + 917, 439, 236, 346, 343, 472, 264, 255, 251, 235, + 291, 353, 393, 459, 387, 957, 340, 903, 0, 449, + 366, 0, 0, 0, 883, 939, 891, 929, 878, 916, + 837, 902, 952, 865, 912, 953, 297, 233, 299, 196, + 378, 450, 268, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 619, 620, 797, 0, 0, 0, 686, 0, 621, 0, - 0, 629, 716, 717, 718, 719, 720, 721, 722, 723, - 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, - 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, - 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, - 754, 755, 756, 757, 631, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 278, 0, 367, 239, 0, 685, - 0, 0, 505, 0, 0, 683, 0, 0, 0, 0, - 335, 0, 304, 192, 211, 0, 0, 377, 420, 426, - 0, 0, 0, 237, 0, 424, 391, 488, 219, 266, - 417, 397, 422, 404, 269, 0, 0, 423, 341, 474, + 224, 0, 231, 321, 330, 329, 310, 311, 313, 315, + 320, 327, 333, 861, 909, 947, 862, 911, 247, 295, + 254, 246, 469, 958, 938, 826, 890, 946, 0, 0, + 965, 949, 885, 0, 914, 0, 964, 821, 905, 0, + 824, 828, 960, 942, 856, 257, 0, 0, 0, 0, + 0, 0, 0, 882, 892, 926, 876, 0, 0, 0, + 0, 0, 0, 0, 854, 0, 901, 0, 0, 0, + 833, 825, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 880, 0, 0, 0, 836, 0, + 855, 927, 0, 818, 278, 830, 367, 239, 0, 931, + 941, 877, 505, 945, 875, 874, 921, 834, 937, 868, + 335, 832, 304, 192, 211, 0, 866, 377, 420, 426, + 936, 851, 860, 237, 858, 424, 391, 488, 219, 266, + 417, 397, 422, 404, 269, 900, 919, 423, 341, 474, 411, 485, 506, 507, 245, 371, 496, 463, 502, 520, 212, 242, 385, 456, 491, 446, 364, 470, 471, 303, 445, 276, 195, 339, 512, 210, 432, 228, 217, 476, - 494, 271, 415, 202, 458, 483, 225, 436, 0, 0, + 494, 271, 415, 202, 458, 808, 225, 436, 0, 0, 522, 204, 481, 455, 360, 300, 301, 203, 0, 416, 250, 274, 240, 380, 478, 479, 238, 523, 214, 501, - 206, 0, 500, 373, 473, 482, 361, 351, 205, 480, - 359, 350, 306, 655, 656, 262, 285, 409, 344, 410, + 206, 831, 500, 373, 473, 482, 361, 351, 205, 480, + 359, 350, 306, 325, 326, 262, 285, 409, 344, 410, 286, 369, 368, 370, 198, 492, 0, 199, 0, 451, - 493, 524, 220, 221, 223, 0, 261, 265, 273, 275, - 281, 282, 289, 337, 384, 408, 406, 412, 0, 468, + 493, 524, 220, 221, 223, 846, 261, 265, 273, 275, + 281, 282, 289, 337, 384, 408, 406, 412, 932, 468, 486, 497, 504, 510, 511, 513, 514, 515, 516, 517, - 519, 518, 372, 288, 447, 305, 342, 0, 0, 390, - 425, 226, 490, 448, 692, 684, 641, 696, 643, 693, - 694, 638, 639, 642, 695, 525, 526, 527, 528, 529, + 519, 518, 817, 811, 810, 305, 342, 924, 963, 390, + 425, 226, 490, 448, 841, 845, 839, 906, 840, 895, + 896, 842, 954, 955, 956, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 0, 687, 628, 627, 0, 634, 635, - 0, 645, 646, 648, 652, 653, 654, 657, 658, 659, - 667, 669, 670, 668, 671, 672, 673, 676, 677, 678, - 679, 674, 675, 680, 644, 626, 191, 207, 338, 0, - 413, 270, 521, 499, 495, 0, 209, 0, 244, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 540, 541, 542, 0, 928, 835, 0, 843, 844, 0, + 934, 943, 944, 543, 352, 438, 487, 307, 319, 322, + 312, 331, 0, 332, 308, 309, 314, 316, 317, 318, + 323, 324, 328, 334, 234, 899, 191, 207, 338, 959, + 413, 270, 521, 499, 495, 820, 209, 838, 244, 849, + 857, 0, 863, 871, 872, 884, 886, 887, 888, 889, + 907, 908, 910, 918, 920, 923, 925, 930, 940, 962, 193, 194, 200, 208, 218, 222, 229, 243, 258, 260, 267, 279, 284, 287, 292, 293, 296, 302, 348, 354, 355, 356, 357, 374, 375, 376, 379, 382, 383, 386, 388, 389, 392, 396, 400, 401, 402, 403, 405, 407, 414, 419, 427, 428, 429, 430, 431, 434, 435, 440, 441, 442, 443, 444, 452, 453, 457, 475, 477, 489, - 503, 508, 433, 280, 484, 509, 0, 347, 0, 0, - 349, 263, 283, 294, 0, 498, 454, 213, 421, 272, + 503, 508, 433, 280, 484, 509, 0, 347, 898, 904, + 349, 263, 283, 294, 913, 498, 454, 213, 421, 272, 201, 232, 216, 241, 256, 259, 298, 358, 365, 394, 399, 277, 253, 230, 418, 227, 437, 460, 461, 462, - 464, 362, 248, 398, 0, 363, 345, 466, 467, 290, - 465, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 381, 0, 0, 0, 0, 625, 0, 0, - 0, 252, 630, 0, 0, 0, 336, 249, 0, 0, - 395, 0, 197, 0, 439, 236, 346, 343, 472, 264, - 255, 251, 235, 291, 353, 393, 459, 387, 637, 340, - 0, 0, 449, 366, 0, 0, 0, 0, 0, 632, - 633, 0, 0, 0, 0, 0, 0, 0, 0, 297, - 233, 299, 196, 378, 450, 268, 0, 87, 0, 0, - 188, 189, 190, 702, 709, 710, 711, 712, 713, 703, - 705, 0, 0, 224, 704, 231, 649, 651, 650, 660, - 661, 662, 663, 664, 665, 666, 647, 707, 714, 715, - 0, 247, 295, 254, 246, 469, 0, 0, 1741, 1742, - 1743, 0, 0, 215, 0, 0, 0, 0, 0, 0, - 0, 608, 622, 0, 636, 0, 0, 0, 257, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 619, 620, 0, 0, 0, 0, 686, - 0, 621, 0, 0, 629, 716, 717, 718, 719, 720, - 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, - 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, - 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, - 751, 752, 753, 754, 755, 756, 757, 631, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 278, 0, 367, - 239, 0, 685, 0, 0, 505, 0, 0, 683, 0, - 0, 0, 0, 335, 0, 304, 192, 211, 0, 0, - 377, 420, 426, 0, 0, 0, 237, 0, 424, 391, - 488, 219, 266, 417, 397, 422, 404, 269, 0, 0, - 423, 341, 474, 411, 485, 506, 507, 245, 371, 496, - 463, 502, 520, 212, 242, 385, 456, 491, 446, 364, - 470, 471, 303, 445, 276, 195, 339, 512, 210, 432, - 228, 217, 476, 494, 271, 415, 202, 458, 483, 225, - 436, 0, 0, 522, 204, 481, 455, 360, 300, 301, - 203, 0, 416, 250, 274, 240, 380, 478, 479, 238, - 523, 214, 501, 206, 0, 500, 373, 473, 482, 361, - 351, 205, 480, 359, 350, 306, 655, 656, 262, 285, - 409, 344, 410, 286, 369, 368, 370, 198, 492, 0, - 199, 0, 451, 493, 524, 220, 221, 223, 0, 261, - 265, 273, 275, 281, 282, 289, 337, 384, 408, 406, - 412, 0, 468, 486, 497, 504, 510, 511, 513, 514, - 515, 516, 517, 519, 518, 372, 288, 447, 305, 342, - 0, 0, 390, 425, 226, 490, 448, 692, 684, 641, - 696, 643, 693, 694, 638, 639, 642, 695, 525, 526, - 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, - 537, 538, 539, 540, 541, 542, 0, 687, 628, 627, - 0, 634, 635, 0, 645, 646, 648, 652, 653, 654, - 657, 658, 659, 667, 669, 670, 668, 671, 672, 673, - 676, 677, 678, 679, 674, 675, 680, 644, 626, 191, - 207, 338, 0, 413, 270, 521, 499, 495, 0, 209, - 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, + 464, 362, 248, 398, 894, 922, 345, 466, 467, 290, + 363, 0, 0, 0, 0, 465, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, + 1777, 0, 625, 0, 0, 0, 252, 630, 0, 0, + 0, 336, 249, 0, 1778, 395, 0, 197, 0, 439, + 236, 346, 343, 472, 264, 255, 251, 235, 291, 353, + 393, 459, 387, 637, 340, 0, 0, 449, 366, 0, + 0, 0, 0, 0, 632, 633, 0, 0, 0, 0, + 0, 0, 0, 0, 297, 233, 299, 196, 378, 450, + 268, 0, 87, 0, 0, 188, 189, 190, 702, 709, + 710, 711, 712, 713, 703, 705, 0, 0, 224, 704, + 231, 649, 651, 650, 660, 661, 662, 663, 664, 665, + 666, 647, 707, 714, 715, 0, 247, 295, 254, 246, + 469, 0, 0, 0, 0, 0, 0, 0, 215, 0, + 0, 0, 0, 0, 0, 0, 608, 622, 0, 636, + 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 619, 620, + 797, 0, 0, 0, 686, 0, 621, 0, 0, 629, + 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, + 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, + 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, + 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, + 756, 757, 631, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 278, 0, 367, 239, 0, 685, 0, 0, + 505, 0, 0, 683, 0, 0, 0, 0, 335, 0, + 304, 192, 211, 0, 0, 377, 420, 426, 0, 0, + 0, 237, 0, 424, 391, 488, 219, 266, 417, 397, + 422, 404, 269, 0, 0, 423, 341, 474, 411, 485, + 506, 507, 245, 371, 496, 463, 502, 520, 212, 242, + 385, 456, 491, 446, 364, 470, 471, 303, 445, 276, + 195, 339, 512, 210, 432, 228, 217, 476, 494, 271, + 415, 202, 458, 483, 225, 436, 0, 0, 522, 204, + 481, 455, 360, 300, 301, 203, 0, 416, 250, 274, + 240, 380, 478, 479, 238, 523, 214, 501, 206, 0, + 500, 373, 473, 482, 361, 351, 205, 480, 359, 350, + 306, 655, 656, 262, 285, 409, 344, 410, 286, 369, + 368, 370, 198, 492, 0, 199, 0, 451, 493, 524, + 220, 221, 223, 0, 261, 265, 273, 275, 281, 282, + 289, 337, 384, 408, 406, 412, 0, 468, 486, 497, + 504, 510, 511, 513, 514, 515, 516, 517, 519, 518, + 372, 288, 447, 305, 342, 0, 0, 390, 425, 226, + 490, 448, 692, 684, 641, 696, 643, 693, 694, 638, + 639, 642, 695, 525, 526, 527, 528, 529, 530, 531, + 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, + 542, 0, 687, 628, 627, 0, 634, 635, 0, 645, + 646, 648, 652, 653, 654, 657, 658, 659, 667, 669, + 670, 668, 671, 672, 673, 676, 677, 678, 679, 674, + 675, 680, 644, 626, 191, 207, 338, 0, 413, 270, + 521, 499, 495, 0, 209, 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 193, 194, 200, 208, 218, 222, 229, - 243, 258, 260, 267, 279, 284, 287, 292, 293, 296, - 302, 348, 354, 355, 356, 357, 374, 375, 376, 379, - 382, 383, 386, 388, 389, 392, 396, 400, 401, 402, - 403, 405, 407, 414, 419, 427, 428, 429, 430, 431, - 434, 435, 440, 441, 442, 443, 444, 452, 453, 457, - 475, 477, 489, 503, 508, 433, 280, 484, 509, 0, - 347, 0, 0, 349, 263, 283, 294, 0, 498, 454, - 213, 421, 272, 201, 232, 216, 241, 256, 259, 298, - 358, 365, 394, 399, 277, 253, 230, 418, 227, 437, - 460, 461, 462, 464, 362, 248, 398, 0, 363, 345, - 466, 467, 290, 465, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 381, 0, 0, 0, 0, - 625, 0, 0, 0, 252, 630, 0, 0, 0, 336, - 249, 0, 0, 395, 0, 197, 0, 439, 236, 346, - 343, 472, 264, 255, 251, 235, 291, 353, 393, 459, - 387, 637, 340, 0, 0, 449, 366, 0, 0, 0, - 0, 0, 632, 633, 0, 0, 0, 0, 0, 0, - 1858, 0, 297, 233, 299, 196, 378, 450, 268, 0, - 87, 0, 0, 188, 189, 190, 702, 709, 710, 711, - 712, 713, 703, 705, 0, 0, 224, 704, 231, 649, - 651, 650, 660, 661, 662, 663, 664, 665, 666, 647, - 707, 714, 715, 1859, 247, 295, 254, 246, 469, 0, - 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, - 0, 0, 0, 0, 608, 622, 0, 636, 0, 0, - 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 619, 620, 0, 0, - 0, 0, 686, 0, 621, 0, 0, 629, 716, 717, - 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, - 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, - 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, - 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, - 631, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 278, 0, 367, 239, 0, 685, 0, 0, 505, 0, - 0, 683, 0, 0, 0, 0, 335, 0, 304, 192, - 211, 0, 0, 377, 420, 426, 0, 0, 0, 237, - 0, 424, 391, 488, 219, 266, 417, 397, 422, 404, - 269, 0, 0, 423, 341, 474, 411, 485, 506, 507, - 245, 371, 496, 463, 502, 520, 212, 242, 385, 456, - 491, 446, 364, 470, 471, 303, 445, 276, 195, 339, - 512, 210, 432, 228, 217, 476, 494, 271, 415, 202, - 458, 483, 225, 436, 0, 0, 522, 204, 481, 455, - 360, 300, 301, 203, 0, 416, 250, 274, 240, 380, - 478, 479, 238, 523, 214, 501, 206, 0, 500, 373, - 473, 482, 361, 351, 205, 480, 359, 350, 306, 655, - 656, 262, 285, 409, 344, 410, 286, 369, 368, 370, - 198, 492, 0, 199, 0, 451, 493, 524, 220, 221, - 223, 0, 261, 265, 273, 275, 281, 282, 289, 337, - 384, 408, 406, 412, 0, 468, 486, 497, 504, 510, - 511, 513, 514, 515, 516, 517, 519, 518, 372, 288, - 447, 305, 342, 0, 0, 390, 425, 226, 490, 448, - 692, 684, 641, 696, 643, 693, 694, 638, 639, 642, - 695, 525, 526, 527, 528, 529, 530, 531, 532, 533, - 534, 535, 536, 537, 538, 539, 540, 541, 542, 0, - 687, 628, 627, 0, 634, 635, 0, 645, 646, 648, - 652, 653, 654, 657, 658, 659, 667, 669, 670, 668, - 671, 672, 673, 676, 677, 678, 679, 674, 675, 680, - 644, 626, 191, 207, 338, 0, 413, 270, 521, 499, - 495, 0, 209, 0, 244, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, + 200, 208, 218, 222, 229, 243, 258, 260, 267, 279, + 284, 287, 292, 293, 296, 302, 348, 354, 355, 356, + 357, 374, 375, 376, 379, 382, 383, 386, 388, 389, + 392, 396, 400, 401, 402, 403, 405, 407, 414, 419, + 427, 428, 429, 430, 431, 434, 435, 440, 441, 442, + 443, 444, 452, 453, 457, 475, 477, 489, 503, 508, + 433, 280, 484, 509, 0, 347, 0, 0, 349, 263, + 283, 294, 0, 498, 454, 213, 421, 272, 201, 232, + 216, 241, 256, 259, 298, 358, 365, 394, 399, 277, + 253, 230, 418, 227, 437, 460, 461, 462, 464, 362, + 248, 398, 0, 363, 345, 466, 467, 290, 465, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 193, 194, 200, 208, - 218, 222, 229, 243, 258, 260, 267, 279, 284, 287, - 292, 293, 296, 302, 348, 354, 355, 356, 357, 374, - 375, 376, 379, 382, 383, 386, 388, 389, 392, 396, - 400, 401, 402, 403, 405, 407, 414, 419, 427, 428, - 429, 430, 431, 434, 435, 440, 441, 442, 443, 444, - 452, 453, 457, 475, 477, 489, 503, 508, 433, 280, - 484, 509, 0, 347, 0, 0, 349, 263, 283, 294, - 0, 498, 454, 213, 421, 272, 201, 232, 216, 241, - 256, 259, 298, 358, 365, 394, 399, 277, 253, 230, - 418, 227, 437, 460, 461, 462, 464, 362, 248, 398, - 0, 0, 345, 466, 467, 290, 363, 0, 0, 0, - 78, 465, 0, 0, 0, 0, 0, 0, 0, 0, + 381, 0, 0, 0, 0, 625, 0, 0, 0, 252, + 630, 0, 0, 0, 336, 249, 0, 0, 395, 0, + 197, 0, 439, 236, 346, 343, 472, 264, 255, 251, + 235, 291, 353, 393, 459, 387, 637, 340, 0, 0, + 449, 366, 0, 0, 0, 0, 0, 632, 633, 0, + 0, 0, 0, 0, 0, 0, 0, 297, 233, 299, + 196, 378, 450, 268, 0, 87, 0, 0, 188, 189, + 190, 702, 709, 710, 711, 712, 713, 703, 705, 0, + 0, 224, 704, 231, 649, 651, 650, 660, 661, 662, + 663, 664, 665, 666, 647, 707, 714, 715, 0, 247, + 295, 254, 246, 469, 0, 0, 1743, 1744, 1745, 0, + 0, 215, 0, 0, 0, 0, 0, 0, 0, 608, + 622, 0, 636, 0, 0, 0, 257, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 619, 620, 0, 0, 0, 0, 686, 0, 621, + 0, 0, 629, 716, 717, 718, 719, 720, 721, 722, + 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, + 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, + 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, + 753, 754, 755, 756, 757, 631, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 278, 0, 367, 239, 0, + 685, 0, 0, 505, 0, 0, 683, 0, 0, 0, + 0, 335, 0, 304, 192, 211, 0, 0, 377, 420, + 426, 0, 0, 0, 237, 0, 424, 391, 488, 219, + 266, 417, 397, 422, 404, 269, 0, 0, 423, 341, + 474, 411, 485, 506, 507, 245, 371, 496, 463, 502, + 520, 212, 242, 385, 456, 491, 446, 364, 470, 471, + 303, 445, 276, 195, 339, 512, 210, 432, 228, 217, + 476, 494, 271, 415, 202, 458, 483, 225, 436, 0, + 0, 522, 204, 481, 455, 360, 300, 301, 203, 0, + 416, 250, 274, 240, 380, 478, 479, 238, 523, 214, + 501, 206, 0, 500, 373, 473, 482, 361, 351, 205, + 480, 359, 350, 306, 655, 656, 262, 285, 409, 344, + 410, 286, 369, 368, 370, 198, 492, 0, 199, 0, + 451, 493, 524, 220, 221, 223, 0, 261, 265, 273, + 275, 281, 282, 289, 337, 384, 408, 406, 412, 0, + 468, 486, 497, 504, 510, 511, 513, 514, 515, 516, + 517, 519, 518, 372, 288, 447, 305, 342, 0, 0, + 390, 425, 226, 490, 448, 692, 684, 641, 696, 643, + 693, 694, 638, 639, 642, 695, 525, 526, 527, 528, + 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, + 539, 540, 541, 542, 0, 687, 628, 627, 0, 634, + 635, 0, 645, 646, 648, 652, 653, 654, 657, 658, + 659, 667, 669, 670, 668, 671, 672, 673, 676, 677, + 678, 679, 674, 675, 680, 644, 626, 191, 207, 338, + 0, 413, 270, 521, 499, 495, 0, 209, 0, 244, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 193, 194, 200, 208, 218, 222, 229, 243, 258, + 260, 267, 279, 284, 287, 292, 293, 296, 302, 348, + 354, 355, 356, 357, 374, 375, 376, 379, 382, 383, + 386, 388, 389, 392, 396, 400, 401, 402, 403, 405, + 407, 414, 419, 427, 428, 429, 430, 431, 434, 435, + 440, 441, 442, 443, 444, 452, 453, 457, 475, 477, + 489, 503, 508, 433, 280, 484, 509, 0, 347, 0, + 0, 349, 263, 283, 294, 0, 498, 454, 213, 421, + 272, 201, 232, 216, 241, 256, 259, 298, 358, 365, + 394, 399, 277, 253, 230, 418, 227, 437, 460, 461, + 462, 464, 362, 248, 398, 0, 363, 345, 466, 467, + 290, 465, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 381, 0, 0, 0, 0, 625, 0, + 0, 0, 252, 630, 0, 0, 0, 336, 249, 0, + 0, 395, 0, 197, 0, 439, 236, 346, 343, 472, + 264, 255, 251, 235, 291, 353, 393, 459, 387, 637, + 340, 0, 0, 449, 366, 0, 0, 0, 0, 0, + 632, 633, 0, 0, 0, 0, 0, 0, 1860, 0, + 297, 233, 299, 196, 378, 450, 268, 0, 87, 0, + 0, 188, 189, 190, 702, 709, 710, 711, 712, 713, + 703, 705, 0, 0, 224, 704, 231, 649, 651, 650, + 660, 661, 662, 663, 664, 665, 666, 647, 707, 714, + 715, 1861, 247, 295, 254, 246, 469, 0, 0, 0, + 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, + 0, 0, 608, 622, 0, 636, 0, 0, 0, 257, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 619, 620, 0, 0, 0, 0, + 686, 0, 621, 0, 0, 629, 716, 717, 718, 719, + 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, + 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, + 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, + 750, 751, 752, 753, 754, 755, 756, 757, 631, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 278, 0, + 367, 239, 0, 685, 0, 0, 505, 0, 0, 683, + 0, 0, 0, 0, 335, 0, 304, 192, 211, 0, + 0, 377, 420, 426, 0, 0, 0, 237, 0, 424, + 391, 488, 219, 266, 417, 397, 422, 404, 269, 0, + 0, 423, 341, 474, 411, 485, 506, 507, 245, 371, + 496, 463, 502, 520, 212, 242, 385, 456, 491, 446, + 364, 470, 471, 303, 445, 276, 195, 339, 512, 210, + 432, 228, 217, 476, 494, 271, 415, 202, 458, 483, + 225, 436, 0, 0, 522, 204, 481, 455, 360, 300, + 301, 203, 0, 416, 250, 274, 240, 380, 478, 479, + 238, 523, 214, 501, 206, 0, 500, 373, 473, 482, + 361, 351, 205, 480, 359, 350, 306, 655, 656, 262, + 285, 409, 344, 410, 286, 369, 368, 370, 198, 492, + 0, 199, 0, 451, 493, 524, 220, 221, 223, 0, + 261, 265, 273, 275, 281, 282, 289, 337, 384, 408, + 406, 412, 0, 468, 486, 497, 504, 510, 511, 513, + 514, 515, 516, 517, 519, 518, 372, 288, 447, 305, + 342, 0, 0, 390, 425, 226, 490, 448, 692, 684, + 641, 696, 643, 693, 694, 638, 639, 642, 695, 525, + 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, + 536, 537, 538, 539, 540, 541, 542, 0, 687, 628, + 627, 0, 634, 635, 0, 645, 646, 648, 652, 653, + 654, 657, 658, 659, 667, 669, 670, 668, 671, 672, + 673, 676, 677, 678, 679, 674, 675, 680, 644, 626, + 191, 207, 338, 0, 413, 270, 521, 499, 495, 0, + 209, 0, 244, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 193, 194, 200, 208, 218, 222, + 229, 243, 258, 260, 267, 279, 284, 287, 292, 293, + 296, 302, 348, 354, 355, 356, 357, 374, 375, 376, + 379, 382, 383, 386, 388, 389, 392, 396, 400, 401, + 402, 403, 405, 407, 414, 419, 427, 428, 429, 430, + 431, 434, 435, 440, 441, 442, 443, 444, 452, 453, + 457, 475, 477, 489, 503, 508, 433, 280, 484, 509, + 0, 347, 0, 0, 349, 263, 283, 294, 0, 498, + 454, 213, 421, 272, 201, 232, 216, 241, 256, 259, + 298, 358, 365, 394, 399, 277, 253, 230, 418, 227, + 437, 460, 461, 462, 464, 362, 248, 398, 0, 0, + 345, 466, 467, 290, 363, 0, 0, 0, 78, 465, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 381, 0, 0, 0, 0, 625, 0, 0, 0, + 252, 630, 0, 0, 0, 336, 249, 0, 0, 395, + 0, 197, 0, 439, 236, 346, 343, 472, 264, 255, + 251, 235, 291, 353, 393, 459, 387, 637, 340, 0, + 0, 449, 366, 0, 0, 0, 0, 0, 632, 633, + 0, 0, 0, 0, 0, 0, 0, 0, 297, 233, + 299, 196, 378, 450, 268, 0, 87, 0, 0, 188, + 189, 190, 702, 709, 710, 711, 712, 713, 703, 705, + 0, 0, 224, 704, 231, 649, 651, 650, 660, 661, + 662, 663, 664, 665, 666, 647, 707, 714, 715, 0, + 247, 295, 254, 246, 469, 0, 0, 0, 0, 0, + 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, + 608, 622, 0, 636, 0, 0, 0, 257, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 619, 620, 0, 0, 0, 0, 686, 0, + 621, 0, 0, 629, 716, 717, 718, 719, 720, 721, + 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, + 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, + 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, + 752, 753, 754, 755, 756, 757, 631, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 278, 0, 367, 239, + 0, 685, 0, 0, 505, 0, 0, 683, 0, 0, + 0, 0, 335, 0, 304, 192, 211, 0, 0, 377, + 420, 426, 0, 0, 0, 237, 0, 424, 391, 488, + 219, 266, 417, 397, 422, 404, 269, 0, 0, 423, + 341, 474, 411, 485, 506, 507, 245, 371, 496, 463, + 502, 520, 212, 242, 385, 456, 491, 446, 364, 470, + 471, 303, 445, 276, 195, 339, 512, 210, 432, 228, + 217, 476, 494, 271, 415, 202, 458, 483, 225, 436, + 0, 0, 522, 204, 481, 455, 360, 300, 301, 203, + 0, 416, 250, 274, 240, 380, 478, 479, 238, 523, + 214, 501, 206, 0, 500, 373, 473, 482, 361, 351, + 205, 480, 359, 350, 306, 655, 656, 262, 285, 409, + 344, 410, 286, 369, 368, 370, 198, 492, 0, 199, + 0, 451, 493, 524, 220, 221, 223, 0, 261, 265, + 273, 275, 281, 282, 289, 337, 384, 408, 406, 412, + 0, 468, 486, 497, 504, 510, 511, 513, 514, 515, + 516, 517, 519, 518, 372, 288, 447, 305, 342, 0, + 0, 390, 425, 226, 490, 448, 692, 684, 641, 696, + 643, 693, 694, 638, 639, 642, 695, 525, 526, 527, + 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 0, 687, 628, 627, 0, + 634, 635, 0, 645, 646, 648, 652, 653, 654, 657, + 658, 659, 667, 669, 670, 668, 671, 672, 673, 676, + 677, 678, 679, 674, 675, 680, 644, 626, 191, 207, + 338, 86, 413, 270, 521, 499, 495, 0, 209, 0, + 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 193, 194, 200, 208, 218, 222, 229, 243, + 258, 260, 267, 279, 284, 287, 292, 293, 296, 302, + 348, 354, 355, 356, 357, 374, 375, 376, 379, 382, + 383, 386, 388, 389, 392, 396, 400, 401, 402, 403, + 405, 407, 414, 419, 427, 428, 429, 430, 431, 434, + 435, 440, 441, 442, 443, 444, 452, 453, 457, 475, + 477, 489, 503, 508, 433, 280, 484, 509, 0, 347, + 0, 0, 349, 263, 283, 294, 0, 498, 454, 213, + 421, 272, 201, 232, 216, 241, 256, 259, 298, 358, + 365, 394, 399, 277, 253, 230, 418, 227, 437, 460, + 461, 462, 464, 362, 248, 398, 0, 363, 345, 466, + 467, 290, 465, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 381, 0, 0, 0, 0, 625, + 0, 0, 0, 252, 630, 0, 0, 0, 336, 249, + 0, 0, 395, 0, 197, 0, 439, 236, 346, 343, + 472, 264, 255, 251, 235, 291, 353, 393, 459, 387, + 637, 340, 0, 0, 449, 366, 0, 0, 0, 0, + 0, 632, 633, 0, 0, 0, 0, 0, 0, 0, + 0, 297, 233, 299, 196, 378, 450, 268, 0, 87, + 0, 0, 188, 189, 190, 702, 709, 710, 711, 712, + 713, 703, 705, 0, 0, 224, 704, 231, 649, 651, + 650, 660, 661, 662, 663, 664, 665, 666, 647, 707, + 714, 715, 0, 247, 295, 254, 246, 469, 0, 0, + 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, + 0, 0, 0, 608, 622, 0, 636, 0, 0, 0, + 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 619, 620, 0, 0, 0, + 0, 686, 0, 621, 0, 0, 629, 716, 717, 718, + 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, + 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, + 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, + 749, 750, 751, 752, 753, 754, 755, 756, 757, 631, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, + 0, 367, 239, 0, 685, 0, 0, 505, 0, 0, + 683, 0, 0, 0, 0, 335, 0, 304, 192, 211, + 0, 0, 377, 420, 426, 0, 0, 0, 237, 0, + 424, 391, 488, 219, 266, 417, 397, 422, 404, 269, + 2962, 0, 423, 341, 474, 411, 485, 506, 507, 245, + 371, 496, 463, 502, 520, 212, 242, 385, 456, 491, + 446, 364, 470, 471, 303, 445, 276, 195, 339, 512, + 210, 432, 228, 217, 476, 494, 271, 415, 202, 458, + 483, 225, 436, 0, 0, 522, 204, 481, 455, 360, + 300, 301, 203, 0, 416, 250, 274, 240, 380, 478, + 479, 238, 523, 214, 501, 206, 0, 500, 373, 473, + 482, 361, 351, 205, 480, 359, 350, 306, 655, 656, + 262, 285, 409, 344, 410, 286, 369, 368, 370, 198, + 492, 0, 199, 0, 451, 493, 524, 220, 221, 223, + 0, 261, 265, 273, 275, 281, 282, 289, 337, 384, + 408, 406, 412, 0, 468, 486, 497, 504, 510, 511, + 513, 514, 515, 516, 517, 519, 518, 372, 288, 447, + 305, 342, 0, 0, 390, 425, 226, 490, 448, 692, + 684, 641, 696, 643, 693, 694, 638, 639, 642, 695, + 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 0, 687, + 628, 627, 0, 634, 635, 0, 645, 646, 648, 652, + 653, 654, 657, 658, 659, 667, 669, 670, 668, 671, + 672, 673, 676, 677, 678, 679, 674, 675, 680, 644, + 626, 191, 207, 338, 0, 413, 270, 521, 499, 495, + 0, 209, 0, 244, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 193, 194, 200, 208, 218, + 222, 229, 243, 258, 260, 267, 279, 284, 287, 292, + 293, 296, 302, 348, 354, 355, 356, 357, 374, 375, + 376, 379, 382, 383, 386, 388, 389, 392, 396, 400, + 401, 402, 403, 405, 407, 414, 419, 427, 428, 429, + 430, 431, 434, 435, 440, 441, 442, 443, 444, 452, + 453, 457, 475, 477, 489, 503, 508, 433, 280, 484, + 509, 0, 347, 0, 0, 349, 263, 283, 294, 0, + 498, 454, 213, 421, 272, 201, 232, 216, 241, 256, + 259, 298, 358, 365, 394, 399, 277, 253, 230, 418, + 227, 437, 460, 461, 462, 464, 362, 248, 398, 0, + 363, 345, 466, 467, 290, 465, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, + 0, 0, 625, 0, 0, 0, 252, 630, 0, 0, + 0, 336, 249, 0, 0, 395, 0, 197, 0, 439, + 236, 346, 343, 472, 264, 255, 251, 235, 291, 353, + 393, 459, 387, 637, 340, 0, 0, 449, 366, 0, + 0, 0, 0, 0, 632, 633, 0, 0, 0, 0, + 0, 0, 0, 0, 297, 233, 299, 196, 378, 450, + 268, 0, 87, 0, 1337, 188, 189, 190, 702, 709, + 710, 711, 712, 713, 703, 705, 0, 0, 224, 704, + 231, 649, 651, 650, 660, 661, 662, 663, 664, 665, + 666, 647, 707, 714, 715, 0, 247, 295, 254, 246, + 469, 0, 0, 0, 0, 0, 0, 0, 215, 0, + 0, 0, 0, 0, 0, 0, 608, 622, 0, 636, + 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 619, 620, + 0, 0, 0, 0, 686, 0, 621, 0, 0, 629, + 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, + 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, + 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, + 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, + 756, 757, 631, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 278, 0, 367, 239, 0, 685, 0, 0, + 505, 0, 0, 683, 0, 0, 0, 0, 335, 0, + 304, 192, 211, 0, 0, 377, 420, 426, 0, 0, + 0, 237, 0, 424, 391, 488, 219, 266, 417, 397, + 422, 404, 269, 0, 0, 423, 341, 474, 411, 485, + 506, 507, 245, 371, 496, 463, 502, 520, 212, 242, + 385, 456, 491, 446, 364, 470, 471, 303, 445, 276, + 195, 339, 512, 210, 432, 228, 217, 476, 494, 271, + 415, 202, 458, 483, 225, 436, 0, 0, 522, 204, + 481, 455, 360, 300, 301, 203, 0, 416, 250, 274, + 240, 380, 478, 479, 238, 523, 214, 501, 206, 0, + 500, 373, 473, 482, 361, 351, 205, 480, 359, 350, + 306, 655, 656, 262, 285, 409, 344, 410, 286, 369, + 368, 370, 198, 492, 0, 199, 0, 451, 493, 524, + 220, 221, 223, 0, 261, 265, 273, 275, 281, 282, + 289, 337, 384, 408, 406, 412, 0, 468, 486, 497, + 504, 510, 511, 513, 514, 515, 516, 517, 519, 518, + 372, 288, 447, 305, 342, 0, 0, 390, 425, 226, + 490, 448, 692, 684, 641, 696, 643, 693, 694, 638, + 639, 642, 695, 525, 526, 527, 528, 529, 530, 531, + 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, + 542, 0, 687, 628, 627, 0, 634, 635, 0, 645, + 646, 648, 652, 653, 654, 657, 658, 659, 667, 669, + 670, 668, 671, 672, 673, 676, 677, 678, 679, 674, + 675, 680, 644, 626, 191, 207, 338, 0, 413, 270, + 521, 499, 495, 0, 209, 0, 244, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, + 200, 208, 218, 222, 229, 243, 258, 260, 267, 279, + 284, 287, 292, 293, 296, 302, 348, 354, 355, 356, + 357, 374, 375, 376, 379, 382, 383, 386, 388, 389, + 392, 396, 400, 401, 402, 403, 405, 407, 414, 419, + 427, 428, 429, 430, 431, 434, 435, 440, 441, 442, + 443, 444, 452, 453, 457, 475, 477, 489, 503, 508, + 433, 280, 484, 509, 0, 347, 0, 0, 349, 263, + 283, 294, 0, 498, 454, 213, 421, 272, 201, 232, + 216, 241, 256, 259, 298, 358, 365, 394, 399, 277, + 253, 230, 418, 227, 437, 460, 461, 462, 464, 362, + 248, 398, 0, 363, 345, 466, 467, 290, 465, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 381, 0, 0, 0, 0, 625, 0, 0, 0, 252, + 630, 0, 0, 0, 336, 249, 0, 0, 395, 0, + 197, 0, 439, 236, 346, 343, 472, 264, 255, 251, + 235, 291, 353, 393, 459, 387, 637, 340, 0, 0, + 449, 366, 0, 0, 0, 0, 0, 632, 633, 0, + 0, 0, 0, 0, 0, 0, 0, 297, 233, 299, + 196, 378, 450, 268, 0, 87, 0, 0, 188, 189, + 190, 702, 709, 710, 711, 712, 713, 703, 705, 0, + 0, 224, 704, 231, 649, 651, 650, 660, 661, 662, + 663, 664, 665, 666, 647, 707, 714, 715, 0, 247, + 295, 254, 246, 469, 0, 0, 0, 0, 0, 0, + 0, 215, 0, 0, 0, 0, 0, 0, 0, 608, + 622, 0, 636, 0, 0, 0, 257, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 619, 620, 797, 0, 0, 0, 686, 0, 621, + 0, 0, 629, 716, 717, 718, 719, 720, 721, 722, + 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, + 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, + 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, + 753, 754, 755, 756, 757, 631, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 278, 0, 367, 239, 0, + 685, 0, 0, 505, 0, 0, 683, 0, 0, 0, + 0, 335, 0, 304, 192, 211, 0, 0, 377, 420, + 426, 0, 0, 0, 237, 0, 424, 391, 488, 219, + 266, 417, 397, 422, 404, 269, 0, 0, 423, 341, + 474, 411, 485, 506, 507, 245, 371, 496, 463, 502, + 520, 212, 242, 385, 456, 491, 446, 364, 470, 471, + 303, 445, 276, 195, 339, 512, 210, 432, 228, 217, + 476, 494, 271, 415, 202, 458, 483, 225, 436, 0, + 0, 522, 204, 481, 455, 360, 300, 301, 203, 0, + 416, 250, 274, 240, 380, 478, 479, 238, 523, 214, + 501, 206, 0, 500, 373, 473, 482, 361, 351, 205, + 480, 359, 350, 306, 655, 656, 262, 285, 409, 344, + 410, 286, 369, 368, 370, 198, 492, 0, 199, 0, + 451, 493, 524, 220, 221, 223, 0, 261, 265, 273, + 275, 281, 282, 289, 337, 384, 408, 406, 412, 0, + 468, 486, 497, 504, 510, 511, 513, 514, 515, 516, + 517, 519, 518, 372, 288, 447, 305, 342, 0, 0, + 390, 425, 226, 490, 448, 692, 684, 641, 696, 643, + 693, 694, 638, 639, 642, 695, 525, 526, 527, 528, + 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, + 539, 540, 541, 542, 0, 687, 628, 627, 0, 634, + 635, 0, 645, 646, 648, 652, 653, 654, 657, 658, + 659, 667, 669, 670, 668, 671, 672, 673, 676, 677, + 678, 679, 674, 675, 680, 644, 626, 191, 207, 338, + 0, 413, 270, 521, 499, 495, 0, 209, 0, 244, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 193, 194, 200, 208, 218, 222, 229, 243, 258, + 260, 267, 279, 284, 287, 292, 293, 296, 302, 348, + 354, 355, 356, 357, 374, 375, 376, 379, 382, 383, + 386, 388, 389, 392, 396, 400, 401, 402, 403, 405, + 407, 414, 419, 427, 428, 429, 430, 431, 434, 435, + 440, 441, 442, 443, 444, 452, 453, 457, 475, 477, + 489, 503, 508, 433, 280, 484, 509, 0, 347, 0, + 0, 349, 263, 283, 294, 0, 498, 454, 213, 421, + 272, 201, 232, 216, 241, 256, 259, 298, 358, 365, + 394, 399, 277, 253, 230, 418, 227, 437, 460, 461, + 462, 464, 362, 248, 398, 0, 363, 345, 466, 467, + 290, 465, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, 0, 0, 625, 0, 0, 0, 252, 630, 0, 0, 0, 336, 249, 0, 0, 395, 0, 197, 0, 439, 236, 346, 343, 472, @@ -3059,7 +3263,7 @@ var yyAct = [...]int{ 627, 0, 634, 635, 0, 645, 646, 648, 652, 653, 654, 657, 658, 659, 667, 669, 670, 668, 671, 672, 673, 676, 677, 678, 679, 674, 675, 680, 644, 626, - 191, 207, 338, 86, 413, 270, 521, 499, 495, 0, + 191, 207, 338, 0, 413, 270, 521, 499, 495, 0, 209, 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 208, 218, 222, @@ -3086,7 +3290,7 @@ var yyAct = [...]int{ 649, 651, 650, 660, 661, 662, 663, 664, 665, 666, 647, 707, 714, 715, 0, 247, 295, 254, 246, 469, 0, 0, 0, 0, 0, 0, 0, 215, 0, 0, - 0, 0, 0, 0, 0, 608, 622, 0, 636, 0, + 0, 0, 0, 0, 0, 0, 622, 0, 636, 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 619, 620, 0, 0, 0, 0, 686, 0, 621, 0, 0, 629, 716, @@ -3099,7 +3303,7 @@ var yyAct = [...]int{ 0, 0, 683, 0, 0, 0, 0, 335, 0, 304, 192, 211, 0, 0, 377, 420, 426, 0, 0, 0, 237, 0, 424, 391, 488, 219, 266, 417, 397, 422, - 404, 269, 2959, 0, 423, 341, 474, 411, 485, 506, + 404, 269, 0, 0, 423, 341, 474, 411, 485, 506, 507, 245, 371, 496, 463, 502, 520, 212, 242, 385, 456, 491, 446, 364, 470, 471, 303, 445, 276, 195, 339, 512, 210, 432, 228, 217, 476, 494, 271, 415, @@ -3135,28 +3339,28 @@ var yyAct = [...]int{ 230, 418, 227, 437, 460, 461, 462, 464, 362, 248, 398, 0, 363, 345, 466, 467, 290, 465, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, - 0, 0, 0, 0, 625, 0, 0, 0, 252, 630, + 0, 0, 0, 0, 0, 0, 0, 0, 252, 0, 0, 0, 0, 336, 249, 0, 0, 395, 0, 197, 0, 439, 236, 346, 343, 472, 264, 255, 251, 235, - 291, 353, 393, 459, 387, 637, 340, 0, 0, 449, - 366, 0, 0, 0, 0, 0, 632, 633, 0, 0, + 291, 353, 393, 459, 387, 0, 340, 0, 0, 449, + 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, 233, 299, 196, - 378, 450, 268, 0, 87, 0, 1337, 188, 189, 190, - 702, 709, 710, 711, 712, 713, 703, 705, 0, 0, - 224, 704, 231, 649, 651, 650, 660, 661, 662, 663, - 664, 665, 666, 647, 707, 714, 715, 0, 247, 295, + 378, 450, 268, 0, 0, 0, 0, 188, 189, 190, + 0, 709, 710, 0, 0, 0, 0, 1685, 0, 0, + 224, 0, 231, 321, 330, 329, 310, 311, 313, 315, + 320, 327, 333, 0, 0, 0, 0, 0, 247, 295, 254, 246, 469, 0, 0, 0, 0, 0, 0, 0, - 215, 0, 0, 0, 0, 0, 0, 0, 608, 622, - 0, 636, 0, 0, 0, 257, 0, 0, 0, 0, + 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 257, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 619, 620, 0, 0, 0, 0, 686, 0, 621, 0, - 0, 629, 716, 717, 718, 719, 720, 721, 722, 723, + 0, 0, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, - 754, 755, 756, 757, 631, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 278, 0, 367, 239, 0, 685, - 0, 0, 505, 0, 0, 683, 0, 0, 0, 0, + 754, 755, 756, 757, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 278, 0, 367, 239, 0, 0, + 0, 0, 505, 0, 0, 0, 0, 0, 0, 0, 335, 0, 304, 192, 211, 0, 0, 377, 420, 426, 0, 0, 0, 237, 0, 424, 391, 488, 219, 266, 417, 397, 422, 404, 269, 0, 0, 423, 341, 474, @@ -3167,19 +3371,19 @@ var yyAct = [...]int{ 522, 204, 481, 455, 360, 300, 301, 203, 0, 416, 250, 274, 240, 380, 478, 479, 238, 523, 214, 501, 206, 0, 500, 373, 473, 482, 361, 351, 205, 480, - 359, 350, 306, 655, 656, 262, 285, 409, 344, 410, + 359, 350, 306, 325, 326, 262, 285, 409, 344, 410, 286, 369, 368, 370, 198, 492, 0, 199, 0, 451, 493, 524, 220, 221, 223, 0, 261, 265, 273, 275, 281, 282, 289, 337, 384, 408, 406, 412, 0, 468, 486, 497, 504, 510, 511, 513, 514, 515, 516, 517, 519, 518, 372, 288, 447, 305, 342, 0, 0, 390, - 425, 226, 490, 448, 692, 684, 641, 696, 643, 693, - 694, 638, 639, 642, 695, 525, 526, 527, 528, 529, + 425, 226, 490, 448, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 0, 687, 628, 627, 0, 634, 635, - 0, 645, 646, 648, 652, 653, 654, 657, 658, 659, - 667, 669, 670, 668, 671, 672, 673, 676, 677, 678, - 679, 674, 675, 680, 644, 626, 191, 207, 338, 0, + 540, 541, 542, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 543, 352, 438, 487, 307, 319, 322, + 312, 331, 0, 332, 308, 309, 314, 316, 317, 318, + 323, 324, 328, 334, 234, 0, 191, 207, 338, 0, 413, 270, 521, 499, 495, 0, 209, 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3195,29 +3399,29 @@ var yyAct = [...]int{ 399, 277, 253, 230, 418, 227, 437, 460, 461, 462, 464, 362, 248, 398, 0, 363, 345, 466, 467, 290, 465, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 381, 0, 0, 0, 0, 625, 0, 0, - 0, 252, 630, 0, 0, 0, 336, 249, 0, 0, + 0, 0, 381, 0, 0, 0, 0, 0, 0, 0, + 0, 252, 0, 0, 0, 0, 336, 249, 0, 0, 395, 0, 197, 0, 439, 236, 346, 343, 472, 264, - 255, 251, 235, 291, 353, 393, 459, 387, 637, 340, - 0, 0, 449, 366, 0, 0, 0, 0, 0, 632, - 633, 0, 0, 0, 0, 0, 0, 0, 0, 297, - 233, 299, 196, 378, 450, 268, 0, 87, 0, 0, - 188, 189, 190, 702, 709, 710, 711, 712, 713, 703, - 705, 0, 0, 224, 704, 231, 649, 651, 650, 660, - 661, 662, 663, 664, 665, 666, 647, 707, 714, 715, + 255, 251, 235, 291, 353, 393, 459, 387, 0, 340, + 0, 0, 449, 366, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, + 233, 299, 196, 378, 450, 268, 0, 0, 0, 0, + 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 224, 0, 231, 321, 330, 329, 310, + 311, 313, 315, 320, 327, 333, 0, 0, 0, 0, 0, 247, 295, 254, 246, 469, 0, 0, 0, 0, - 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, - 0, 608, 622, 0, 636, 0, 0, 0, 257, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 619, 620, 797, 0, 0, 0, 686, - 0, 621, 0, 0, 629, 716, 717, 718, 719, 720, - 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, - 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, - 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, - 751, 752, 753, 754, 755, 756, 757, 631, 0, 0, + 0, 0, 0, 215, 0, 1016, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 257, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, 0, 367, - 239, 0, 685, 0, 0, 505, 0, 0, 683, 0, - 0, 0, 0, 335, 0, 304, 192, 211, 0, 0, + 239, 0, 0, 0, 1015, 505, 0, 0, 0, 0, + 0, 1012, 1013, 335, 973, 304, 192, 211, 1006, 1010, 377, 420, 426, 0, 0, 0, 237, 0, 424, 391, 488, 219, 266, 417, 397, 422, 404, 269, 0, 0, 423, 341, 474, 411, 485, 506, 507, 245, 371, 496, @@ -3227,19 +3431,19 @@ var yyAct = [...]int{ 436, 0, 0, 522, 204, 481, 455, 360, 300, 301, 203, 0, 416, 250, 274, 240, 380, 478, 479, 238, 523, 214, 501, 206, 0, 500, 373, 473, 482, 361, - 351, 205, 480, 359, 350, 306, 655, 656, 262, 285, + 351, 205, 480, 359, 350, 306, 325, 326, 262, 285, 409, 344, 410, 286, 369, 368, 370, 198, 492, 0, 199, 0, 451, 493, 524, 220, 221, 223, 0, 261, 265, 273, 275, 281, 282, 289, 337, 384, 408, 406, 412, 0, 468, 486, 497, 504, 510, 511, 513, 514, 515, 516, 517, 519, 518, 372, 288, 447, 305, 342, - 0, 0, 390, 425, 226, 490, 448, 692, 684, 641, - 696, 643, 693, 694, 638, 639, 642, 695, 525, 526, + 0, 0, 390, 425, 226, 490, 448, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, - 537, 538, 539, 540, 541, 542, 0, 687, 628, 627, - 0, 634, 635, 0, 645, 646, 648, 652, 653, 654, - 657, 658, 659, 667, 669, 670, 668, 671, 672, 673, - 676, 677, 678, 679, 674, 675, 680, 644, 626, 191, + 537, 538, 539, 540, 541, 542, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 543, 352, 438, 487, + 307, 319, 322, 312, 331, 0, 332, 308, 309, 314, + 316, 317, 318, 323, 324, 328, 334, 234, 0, 191, 207, 338, 0, 413, 270, 521, 499, 495, 0, 209, 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3253,201 +3457,202 @@ var yyAct = [...]int{ 347, 0, 0, 349, 263, 283, 294, 0, 498, 454, 213, 421, 272, 201, 232, 216, 241, 256, 259, 298, 358, 365, 394, 399, 277, 253, 230, 418, 227, 437, - 460, 461, 462, 464, 362, 248, 398, 0, 363, 345, - 466, 467, 290, 465, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 381, 0, 0, 0, 0, - 625, 0, 0, 0, 252, 630, 0, 0, 0, 336, - 249, 0, 0, 395, 0, 197, 0, 439, 236, 346, - 343, 472, 264, 255, 251, 235, 291, 353, 393, 459, - 387, 637, 340, 0, 0, 449, 366, 0, 0, 0, - 0, 0, 632, 633, 0, 0, 0, 0, 0, 0, - 0, 0, 297, 233, 299, 196, 378, 450, 268, 0, - 87, 0, 0, 188, 189, 190, 702, 709, 710, 711, - 712, 713, 703, 705, 0, 0, 224, 704, 231, 649, - 651, 650, 660, 661, 662, 663, 664, 665, 666, 647, - 707, 714, 715, 0, 247, 295, 254, 246, 469, 0, - 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, - 0, 0, 0, 0, 608, 622, 0, 636, 0, 0, - 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 619, 620, 0, 0, - 0, 0, 686, 0, 621, 0, 0, 629, 716, 717, - 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, - 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, - 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, - 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, - 631, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 278, 0, 367, 239, 0, 685, 0, 0, 505, 0, - 0, 683, 0, 0, 0, 0, 335, 0, 304, 192, - 211, 0, 0, 377, 420, 426, 0, 0, 0, 237, - 0, 424, 391, 488, 219, 266, 417, 397, 422, 404, - 269, 0, 0, 423, 341, 474, 411, 485, 506, 507, - 245, 371, 496, 463, 502, 520, 212, 242, 385, 456, - 491, 446, 364, 470, 471, 303, 445, 276, 195, 339, - 512, 210, 432, 228, 217, 476, 494, 271, 415, 202, - 458, 483, 225, 436, 0, 0, 522, 204, 481, 455, - 360, 300, 301, 203, 0, 416, 250, 274, 240, 380, - 478, 479, 238, 523, 214, 501, 206, 0, 500, 373, - 473, 482, 361, 351, 205, 480, 359, 350, 306, 655, - 656, 262, 285, 409, 344, 410, 286, 369, 368, 370, - 198, 492, 0, 199, 0, 451, 493, 524, 220, 221, - 223, 0, 261, 265, 273, 275, 281, 282, 289, 337, - 384, 408, 406, 412, 0, 468, 486, 497, 504, 510, - 511, 513, 514, 515, 516, 517, 519, 518, 372, 288, - 447, 305, 342, 0, 0, 390, 425, 226, 490, 448, - 692, 684, 641, 696, 643, 693, 694, 638, 639, 642, - 695, 525, 526, 527, 528, 529, 530, 531, 532, 533, - 534, 535, 536, 537, 538, 539, 540, 541, 542, 0, - 687, 628, 627, 0, 634, 635, 0, 645, 646, 648, - 652, 653, 654, 657, 658, 659, 667, 669, 670, 668, - 671, 672, 673, 676, 677, 678, 679, 674, 675, 680, - 644, 626, 191, 207, 338, 0, 413, 270, 521, 499, - 495, 0, 209, 0, 244, 0, 0, 0, 0, 0, + 460, 461, 462, 464, 362, 248, 398, 0, 0, 345, + 466, 467, 290, 363, 0, 0, 0, 78, 465, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 381, 0, 0, 0, 0, 0, 0, 0, 0, 252, + 0, 0, 0, 0, 336, 249, 0, 0, 395, 0, + 197, 0, 439, 236, 346, 343, 472, 264, 255, 251, + 235, 291, 353, 393, 459, 387, 0, 340, 0, 0, + 449, 366, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 297, 233, 299, + 196, 378, 450, 268, 0, 87, 0, 0, 188, 189, + 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 224, 0, 231, 321, 330, 329, 310, 311, 313, + 315, 320, 327, 333, 0, 0, 0, 0, 0, 247, + 295, 254, 246, 469, 0, 0, 0, 0, 0, 0, + 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 257, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 278, 0, 367, 239, 0, + 0, 0, 0, 505, 0, 0, 0, 0, 0, 0, + 0, 335, 0, 304, 192, 211, 0, 0, 377, 420, + 426, 0, 0, 0, 237, 0, 424, 391, 488, 219, + 266, 417, 397, 422, 404, 269, 0, 0, 423, 341, + 474, 411, 485, 506, 507, 245, 371, 496, 463, 502, + 520, 212, 242, 385, 456, 491, 446, 364, 470, 471, + 303, 445, 276, 195, 339, 512, 210, 432, 228, 217, + 476, 494, 271, 415, 202, 458, 483, 225, 436, 0, + 0, 522, 204, 481, 455, 360, 300, 301, 203, 0, + 416, 250, 274, 240, 380, 478, 479, 238, 523, 214, + 501, 206, 0, 500, 373, 473, 482, 361, 351, 205, + 480, 359, 350, 306, 325, 326, 262, 285, 409, 344, + 410, 286, 369, 368, 370, 198, 492, 0, 199, 0, + 451, 493, 524, 220, 221, 223, 0, 261, 265, 273, + 275, 281, 282, 289, 337, 384, 408, 406, 412, 0, + 468, 486, 497, 504, 510, 511, 513, 514, 515, 516, + 517, 519, 518, 372, 288, 447, 305, 342, 0, 0, + 390, 425, 226, 490, 448, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 525, 526, 527, 528, + 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, + 539, 540, 541, 542, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 543, 352, 438, 487, 307, 319, + 322, 312, 331, 0, 332, 308, 309, 314, 316, 317, + 318, 323, 324, 328, 334, 234, 0, 191, 207, 338, + 86, 413, 270, 521, 499, 495, 0, 209, 0, 244, + 0, 0, 0, 0, 0, 0, 1848, 0, 0, 1847, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 193, 194, 200, 208, 218, 222, 229, 243, 258, + 260, 267, 279, 284, 287, 292, 293, 296, 302, 348, + 354, 355, 356, 357, 374, 375, 376, 379, 382, 383, + 386, 388, 389, 392, 396, 400, 401, 402, 403, 405, + 407, 414, 419, 427, 428, 429, 430, 431, 434, 435, + 440, 441, 442, 443, 444, 452, 453, 457, 475, 477, + 489, 503, 508, 433, 280, 484, 509, 0, 347, 0, + 0, 349, 263, 283, 294, 0, 498, 454, 213, 421, + 272, 201, 232, 216, 241, 256, 259, 298, 358, 365, + 394, 399, 277, 253, 230, 418, 227, 437, 460, 461, + 462, 464, 362, 248, 398, 0, 1356, 345, 466, 467, + 290, 465, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 381, 0, 0, 0, 1358, 0, 0, + 0, 0, 252, 0, 0, 0, 0, 336, 249, 0, + 0, 395, 0, 197, 0, 439, 236, 346, 343, 472, + 264, 255, 251, 235, 291, 353, 393, 459, 387, 0, + 340, 0, 0, 449, 366, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 297, 233, 299, 196, 378, 450, 268, 0, 0, 0, + 0, 188, 189, 190, 0, 1360, 0, 0, 0, 0, + 0, 0, 0, 0, 224, 0, 231, 321, 330, 329, + 310, 311, 313, 315, 320, 327, 333, 0, 0, 0, + 0, 0, 247, 295, 254, 246, 469, 0, 0, 0, + 0, 0, 0, 0, 215, 0, 0, 0, 1188, 0, + 1189, 1190, 0, 0, 0, 0, 0, 0, 0, 257, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 278, 0, + 367, 239, 0, 0, 0, 0, 505, 0, 0, 0, + 0, 0, 0, 0, 335, 0, 304, 192, 211, 0, + 0, 377, 420, 426, 0, 0, 0, 237, 0, 424, + 391, 488, 219, 266, 417, 397, 422, 404, 269, 0, + 0, 423, 341, 474, 411, 485, 506, 507, 245, 371, + 496, 463, 502, 520, 212, 242, 385, 456, 491, 446, + 364, 470, 471, 303, 445, 276, 195, 339, 512, 210, + 432, 228, 217, 476, 494, 271, 415, 202, 458, 483, + 225, 436, 0, 0, 522, 204, 481, 455, 360, 300, + 301, 203, 0, 416, 250, 274, 240, 380, 478, 479, + 238, 523, 214, 501, 206, 0, 500, 373, 473, 482, + 361, 351, 205, 480, 359, 350, 306, 325, 326, 262, + 285, 409, 344, 410, 286, 369, 368, 370, 198, 492, + 0, 199, 0, 451, 493, 524, 220, 221, 223, 0, + 261, 265, 273, 275, 281, 282, 289, 337, 384, 408, + 406, 412, 0, 468, 486, 497, 504, 510, 511, 513, + 514, 515, 516, 517, 519, 518, 372, 288, 447, 305, + 342, 0, 0, 390, 425, 226, 490, 448, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 525, + 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, + 536, 537, 538, 539, 540, 541, 542, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 543, 352, 438, + 487, 307, 319, 322, 312, 331, 0, 332, 308, 309, + 314, 316, 317, 318, 323, 324, 328, 334, 234, 0, + 191, 207, 338, 0, 413, 270, 521, 499, 495, 0, + 209, 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 193, 194, 200, 208, - 218, 222, 229, 243, 258, 260, 267, 279, 284, 287, - 292, 293, 296, 302, 348, 354, 355, 356, 357, 374, - 375, 376, 379, 382, 383, 386, 388, 389, 392, 396, - 400, 401, 402, 403, 405, 407, 414, 419, 427, 428, - 429, 430, 431, 434, 435, 440, 441, 442, 443, 444, - 452, 453, 457, 475, 477, 489, 503, 508, 433, 280, - 484, 509, 0, 347, 0, 0, 349, 263, 283, 294, - 0, 498, 454, 213, 421, 272, 201, 232, 216, 241, - 256, 259, 298, 358, 365, 394, 399, 277, 253, 230, - 418, 227, 437, 460, 461, 462, 464, 362, 248, 398, - 0, 363, 345, 466, 467, 290, 465, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, - 0, 0, 0, 625, 0, 0, 0, 252, 630, 0, - 0, 0, 336, 249, 0, 0, 395, 0, 197, 0, - 439, 236, 346, 343, 472, 264, 255, 251, 235, 291, - 353, 393, 459, 387, 637, 340, 0, 0, 449, 366, - 0, 0, 0, 0, 0, 632, 633, 0, 0, 0, - 0, 0, 0, 0, 0, 297, 233, 299, 196, 378, - 450, 268, 0, 87, 0, 0, 188, 189, 190, 702, - 709, 710, 711, 712, 713, 703, 705, 0, 0, 224, - 704, 231, 649, 651, 650, 660, 661, 662, 663, 664, - 665, 666, 647, 707, 714, 715, 0, 247, 295, 254, - 246, 469, 0, 0, 0, 0, 0, 0, 0, 215, - 0, 0, 0, 0, 0, 0, 0, 0, 622, 0, - 636, 0, 0, 0, 257, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 619, - 620, 0, 0, 0, 0, 686, 0, 621, 0, 0, - 629, 716, 717, 718, 719, 720, 721, 722, 723, 724, - 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, - 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, - 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, - 755, 756, 757, 631, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 278, 0, 367, 239, 0, 685, 0, - 0, 505, 0, 0, 683, 0, 0, 0, 0, 335, - 0, 304, 192, 211, 0, 0, 377, 420, 426, 0, - 0, 0, 237, 0, 424, 391, 488, 219, 266, 417, - 397, 422, 404, 269, 0, 0, 423, 341, 474, 411, - 485, 506, 507, 245, 371, 496, 463, 502, 520, 212, - 242, 385, 456, 491, 446, 364, 470, 471, 303, 445, - 276, 195, 339, 512, 210, 432, 228, 217, 476, 494, - 271, 415, 202, 458, 483, 225, 436, 0, 0, 522, - 204, 481, 455, 360, 300, 301, 203, 0, 416, 250, - 274, 240, 380, 478, 479, 238, 523, 214, 501, 206, - 0, 500, 373, 473, 482, 361, 351, 205, 480, 359, - 350, 306, 655, 656, 262, 285, 409, 344, 410, 286, - 369, 368, 370, 198, 492, 0, 199, 0, 451, 493, - 524, 220, 221, 223, 0, 261, 265, 273, 275, 281, - 282, 289, 337, 384, 408, 406, 412, 0, 468, 486, - 497, 504, 510, 511, 513, 514, 515, 516, 517, 519, - 518, 372, 288, 447, 305, 342, 0, 0, 390, 425, - 226, 490, 448, 692, 684, 641, 696, 643, 693, 694, - 638, 639, 642, 695, 525, 526, 527, 528, 529, 530, - 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, - 541, 542, 0, 687, 628, 627, 0, 634, 635, 0, - 645, 646, 648, 652, 653, 654, 657, 658, 659, 667, - 669, 670, 668, 671, 672, 673, 676, 677, 678, 679, - 674, 675, 680, 644, 626, 191, 207, 338, 0, 413, - 270, 521, 499, 495, 0, 209, 0, 244, 0, 0, + 0, 0, 0, 0, 193, 194, 200, 208, 218, 222, + 229, 243, 258, 260, 267, 279, 284, 287, 292, 293, + 296, 302, 348, 354, 355, 356, 357, 374, 375, 376, + 379, 382, 383, 386, 388, 389, 392, 396, 400, 401, + 402, 403, 405, 407, 414, 419, 427, 428, 429, 430, + 431, 434, 435, 440, 441, 442, 443, 444, 452, 453, + 457, 475, 477, 489, 503, 508, 433, 280, 484, 509, + 0, 347, 0, 0, 349, 263, 283, 294, 0, 498, + 454, 213, 421, 272, 201, 232, 216, 241, 256, 259, + 298, 358, 365, 394, 399, 277, 253, 230, 418, 227, + 437, 460, 461, 462, 464, 362, 248, 398, 0, 363, + 345, 466, 467, 290, 465, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 381, 0, 0, 0, + 0, 0, 0, 0, 0, 252, 0, 0, 0, 0, + 336, 249, 0, 0, 395, 0, 197, 0, 439, 236, + 346, 343, 472, 264, 255, 251, 235, 291, 353, 393, + 459, 387, 0, 340, 0, 0, 449, 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 194, 200, 208, 218, 222, 229, 243, 258, 260, 267, - 279, 284, 287, 292, 293, 296, 302, 348, 354, 355, - 356, 357, 374, 375, 376, 379, 382, 383, 386, 388, - 389, 392, 396, 400, 401, 402, 403, 405, 407, 414, - 419, 427, 428, 429, 430, 431, 434, 435, 440, 441, - 442, 443, 444, 452, 453, 457, 475, 477, 489, 503, - 508, 433, 280, 484, 509, 0, 347, 0, 0, 349, - 263, 283, 294, 0, 498, 454, 213, 421, 272, 201, - 232, 216, 241, 256, 259, 298, 358, 365, 394, 399, - 277, 253, 230, 418, 227, 437, 460, 461, 462, 464, - 362, 248, 398, 0, 363, 345, 466, 467, 290, 465, + 0, 0, 0, 297, 233, 299, 196, 378, 450, 268, + 0, 0, 0, 0, 188, 189, 190, 1299, 1302, 0, + 0, 0, 0, 1298, 1301, 0, 0, 224, 1297, 231, + 321, 330, 329, 310, 311, 313, 315, 320, 327, 333, + 0, 0, 0, 0, 0, 247, 295, 254, 246, 469, + 0, 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 381, 0, 0, 0, 0, 0, 0, 0, 0, - 252, 0, 0, 0, 0, 336, 249, 0, 0, 395, - 0, 197, 0, 439, 236, 346, 343, 472, 264, 255, - 251, 235, 291, 353, 393, 459, 387, 0, 340, 0, - 0, 449, 366, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 297, 233, - 299, 196, 378, 450, 268, 0, 0, 0, 0, 188, - 189, 190, 0, 709, 710, 0, 0, 0, 0, 1685, - 0, 0, 224, 0, 231, 321, 330, 329, 310, 311, - 313, 315, 320, 327, 333, 0, 0, 0, 0, 0, - 247, 295, 254, 246, 469, 0, 0, 0, 0, 0, - 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 257, 0, 0, + 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 716, 717, 718, 719, 720, 721, - 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, - 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, - 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, - 752, 753, 754, 755, 756, 757, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 278, 0, 367, 239, - 0, 0, 0, 0, 505, 0, 0, 0, 0, 0, - 0, 0, 335, 0, 304, 192, 211, 0, 0, 377, - 420, 426, 0, 0, 0, 237, 0, 424, 391, 488, - 219, 266, 417, 397, 422, 404, 269, 0, 0, 423, - 341, 474, 411, 485, 506, 507, 245, 371, 496, 463, - 502, 520, 212, 242, 385, 456, 491, 446, 364, 470, - 471, 303, 445, 276, 195, 339, 512, 210, 432, 228, - 217, 476, 494, 271, 415, 202, 458, 483, 225, 436, - 0, 0, 522, 204, 481, 455, 360, 300, 301, 203, - 0, 416, 250, 274, 240, 380, 478, 479, 238, 523, - 214, 501, 206, 0, 500, 373, 473, 482, 361, 351, - 205, 480, 359, 350, 306, 325, 326, 262, 285, 409, - 344, 410, 286, 369, 368, 370, 198, 492, 0, 199, - 0, 451, 493, 524, 220, 221, 223, 0, 261, 265, - 273, 275, 281, 282, 289, 337, 384, 408, 406, 412, - 0, 468, 486, 497, 504, 510, 511, 513, 514, 515, - 516, 517, 519, 518, 372, 288, 447, 305, 342, 0, - 0, 390, 425, 226, 490, 448, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 525, 526, 527, - 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, - 538, 539, 540, 541, 542, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 543, 352, 438, 487, 307, - 319, 322, 312, 331, 0, 332, 308, 309, 314, 316, - 317, 318, 323, 324, 328, 334, 234, 0, 191, 207, - 338, 0, 413, 270, 521, 499, 495, 0, 209, 0, - 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 193, 194, 200, 208, 218, 222, 229, 243, - 258, 260, 267, 279, 284, 287, 292, 293, 296, 302, - 348, 354, 355, 356, 357, 374, 375, 376, 379, 382, - 383, 386, 388, 389, 392, 396, 400, 401, 402, 403, - 405, 407, 414, 419, 427, 428, 429, 430, 431, 434, - 435, 440, 441, 442, 443, 444, 452, 453, 457, 475, - 477, 489, 503, 508, 433, 280, 484, 509, 0, 347, - 0, 0, 349, 263, 283, 294, 0, 498, 454, 213, - 421, 272, 201, 232, 216, 241, 256, 259, 298, 358, - 365, 394, 399, 277, 253, 230, 418, 227, 437, 460, - 461, 462, 464, 362, 248, 398, 0, 363, 345, 466, - 467, 290, 465, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 278, 0, 367, 239, 0, 0, 0, 0, 505, + 0, 0, 0, 0, 0, 0, 0, 335, 0, 304, + 192, 211, 0, 0, 377, 420, 426, 0, 0, 0, + 237, 0, 424, 391, 488, 219, 266, 417, 397, 422, + 404, 269, 0, 0, 423, 341, 474, 411, 485, 506, + 507, 245, 371, 496, 463, 502, 520, 212, 242, 385, + 456, 491, 446, 364, 470, 471, 303, 445, 276, 195, + 339, 512, 210, 432, 228, 217, 476, 494, 271, 415, + 202, 458, 483, 225, 436, 0, 0, 522, 204, 481, + 455, 360, 300, 301, 203, 0, 416, 250, 274, 240, + 380, 478, 479, 238, 523, 214, 501, 206, 0, 500, + 373, 473, 482, 361, 351, 205, 480, 359, 350, 306, + 325, 326, 262, 285, 409, 344, 410, 286, 369, 368, + 370, 198, 492, 0, 199, 0, 451, 493, 524, 220, + 221, 223, 0, 261, 265, 273, 275, 281, 282, 289, + 337, 384, 408, 406, 412, 0, 468, 486, 497, 504, + 510, 511, 513, 514, 515, 516, 517, 519, 518, 372, + 288, 447, 305, 342, 0, 0, 390, 425, 226, 490, + 448, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 525, 526, 527, 528, 529, 530, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 543, 352, 438, 487, 307, 319, 322, 312, 331, 0, + 332, 308, 309, 314, 316, 317, 318, 323, 324, 328, + 334, 234, 0, 191, 207, 338, 0, 413, 270, 521, + 499, 495, 0, 209, 0, 244, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, + 208, 218, 222, 229, 243, 258, 260, 267, 279, 284, + 287, 292, 293, 296, 302, 348, 354, 355, 356, 357, + 374, 375, 376, 379, 382, 383, 386, 388, 389, 392, + 396, 400, 401, 402, 403, 405, 407, 414, 419, 427, + 428, 429, 430, 431, 434, 435, 440, 441, 442, 443, + 444, 452, 453, 457, 475, 477, 489, 503, 508, 433, + 280, 484, 509, 0, 347, 0, 0, 349, 263, 283, + 294, 0, 498, 454, 213, 421, 272, 201, 232, 216, + 241, 256, 259, 298, 358, 365, 394, 399, 277, 253, + 230, 418, 227, 437, 460, 461, 462, 464, 362, 248, + 398, 0, 0, 345, 466, 467, 290, 363, 0, 0, + 0, 78, 465, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, 0, 0, 0, 0, 0, 0, 252, 0, 0, 0, 0, 336, 249, 0, 0, 395, 0, 197, 0, 439, 236, 346, 343, 472, 264, 255, 251, 235, 291, 353, 393, 459, 387, 0, 340, 0, 0, 449, 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 297, 233, 299, 196, 378, 450, 268, 0, 0, - 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, + 0, 297, 233, 299, 196, 378, 450, 268, 0, 87, + 0, 1337, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, 231, 321, 330, 329, 310, 311, 313, 315, 320, 327, 333, 0, 0, 0, 0, 0, 247, 295, 254, 246, 469, 0, 0, - 0, 0, 0, 0, 0, 215, 0, 1016, 0, 0, + 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3457,9 +3662,9 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, - 0, 367, 239, 0, 0, 0, 1015, 505, 0, 0, - 0, 0, 0, 1012, 1013, 335, 973, 304, 192, 211, - 1006, 1010, 377, 420, 426, 0, 0, 0, 237, 0, + 0, 367, 239, 0, 0, 0, 0, 505, 0, 0, + 0, 0, 0, 0, 0, 335, 0, 304, 192, 211, + 0, 0, 377, 420, 426, 0, 0, 0, 237, 0, 424, 391, 488, 219, 266, 417, 397, 422, 404, 269, 0, 0, 423, 341, 474, 411, 485, 506, 507, 245, 371, 496, 463, 502, 520, 212, 242, 385, 456, 491, @@ -3481,7 +3686,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 543, 352, 438, 487, 307, 319, 322, 312, 331, 0, 332, 308, 309, 314, 316, 317, 318, 323, 324, 328, 334, 234, - 0, 191, 207, 338, 0, 413, 270, 521, 499, 495, + 0, 191, 207, 338, 86, 413, 270, 521, 499, 495, 0, 209, 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 208, 218, @@ -3495,197 +3700,196 @@ var yyAct = [...]int{ 498, 454, 213, 421, 272, 201, 232, 216, 241, 256, 259, 298, 358, 365, 394, 399, 277, 253, 230, 418, 227, 437, 460, 461, 462, 464, 362, 248, 398, 0, - 0, 345, 466, 467, 290, 363, 0, 0, 0, 78, - 465, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 381, 0, 0, 0, 0, 0, 0, 0, - 0, 252, 0, 0, 0, 0, 336, 249, 0, 0, - 395, 0, 197, 0, 439, 236, 346, 343, 472, 264, - 255, 251, 235, 291, 353, 393, 459, 387, 0, 340, - 0, 0, 449, 366, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, - 233, 299, 196, 378, 450, 268, 0, 87, 0, 0, - 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 224, 0, 231, 321, 330, 329, 310, - 311, 313, 315, 320, 327, 333, 0, 0, 0, 0, - 0, 247, 295, 254, 246, 469, 0, 0, 0, 0, - 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 257, 0, + 363, 345, 466, 467, 290, 465, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, + 0, 0, 0, 0, 0, 0, 252, 0, 0, 0, + 0, 336, 249, 0, 0, 395, 0, 197, 0, 439, + 236, 346, 343, 472, 264, 255, 251, 235, 291, 353, + 393, 459, 387, 0, 340, 0, 0, 449, 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 297, 233, 299, 196, 378, 450, + 268, 0, 87, 0, 0, 188, 189, 190, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, + 231, 321, 330, 329, 310, 311, 313, 315, 320, 327, + 333, 0, 0, 0, 0, 0, 247, 295, 254, 246, + 469, 0, 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 278, 0, 367, - 239, 0, 0, 0, 0, 505, 0, 0, 0, 0, - 0, 0, 0, 335, 0, 304, 192, 211, 0, 0, - 377, 420, 426, 0, 0, 0, 237, 0, 424, 391, - 488, 219, 266, 417, 397, 422, 404, 269, 0, 0, - 423, 341, 474, 411, 485, 506, 507, 245, 371, 496, - 463, 502, 520, 212, 242, 385, 456, 491, 446, 364, - 470, 471, 303, 445, 276, 195, 339, 512, 210, 432, - 228, 217, 476, 494, 271, 415, 202, 458, 483, 225, - 436, 0, 0, 522, 204, 481, 455, 360, 300, 301, - 203, 0, 416, 250, 274, 240, 380, 478, 479, 238, - 523, 214, 501, 206, 0, 500, 373, 473, 482, 361, - 351, 205, 480, 359, 350, 306, 325, 326, 262, 285, - 409, 344, 410, 286, 369, 368, 370, 198, 492, 0, - 199, 0, 451, 493, 524, 220, 221, 223, 0, 261, - 265, 273, 275, 281, 282, 289, 337, 384, 408, 406, - 412, 0, 468, 486, 497, 504, 510, 511, 513, 514, - 515, 516, 517, 519, 518, 372, 288, 447, 305, 342, - 0, 0, 390, 425, 226, 490, 448, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 525, 526, - 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, - 537, 538, 539, 540, 541, 542, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 543, 352, 438, 487, - 307, 319, 322, 312, 331, 0, 332, 308, 309, 314, - 316, 317, 318, 323, 324, 328, 334, 234, 0, 191, - 207, 338, 86, 413, 270, 521, 499, 495, 0, 209, - 0, 244, 0, 0, 0, 0, 0, 0, 1846, 0, - 0, 1845, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 193, 194, 200, 208, 218, 222, 229, - 243, 258, 260, 267, 279, 284, 287, 292, 293, 296, - 302, 348, 354, 355, 356, 357, 374, 375, 376, 379, - 382, 383, 386, 388, 389, 392, 396, 400, 401, 402, - 403, 405, 407, 414, 419, 427, 428, 429, 430, 431, - 434, 435, 440, 441, 442, 443, 444, 452, 453, 457, - 475, 477, 489, 503, 508, 433, 280, 484, 509, 0, - 347, 0, 0, 349, 263, 283, 294, 0, 498, 454, - 213, 421, 272, 201, 232, 216, 241, 256, 259, 298, - 358, 365, 394, 399, 277, 253, 230, 418, 227, 437, - 460, 461, 462, 464, 362, 248, 398, 0, 1356, 345, - 466, 467, 290, 465, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 381, 0, 0, 0, 1358, - 0, 0, 0, 0, 252, 0, 0, 0, 0, 336, - 249, 0, 0, 395, 0, 197, 0, 439, 236, 346, - 343, 472, 264, 255, 251, 235, 291, 353, 393, 459, - 387, 0, 340, 0, 0, 449, 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 297, 233, 299, 196, 378, 450, 268, 0, - 0, 0, 0, 188, 189, 190, 0, 1360, 0, 0, - 0, 0, 0, 0, 0, 0, 224, 0, 231, 321, - 330, 329, 310, 311, 313, 315, 320, 327, 333, 0, - 0, 0, 0, 0, 247, 295, 254, 246, 469, 0, - 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, - 1188, 0, 1189, 1190, 0, 0, 0, 0, 0, 0, - 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 278, 0, 367, 239, 0, 0, 0, 0, + 505, 0, 0, 0, 0, 0, 0, 0, 335, 0, + 304, 192, 211, 0, 0, 377, 420, 426, 0, 0, + 0, 237, 0, 424, 391, 488, 219, 266, 417, 397, + 422, 404, 269, 0, 0, 423, 341, 474, 411, 485, + 506, 507, 245, 371, 496, 463, 502, 520, 212, 242, + 385, 456, 491, 446, 364, 470, 471, 303, 445, 276, + 195, 339, 512, 210, 432, 228, 217, 476, 494, 271, + 415, 202, 458, 483, 225, 436, 0, 0, 522, 204, + 481, 455, 360, 300, 301, 203, 0, 416, 250, 274, + 240, 380, 478, 479, 238, 523, 214, 501, 206, 0, + 500, 373, 473, 482, 361, 351, 205, 480, 359, 350, + 306, 325, 326, 262, 285, 409, 344, 410, 286, 369, + 368, 370, 198, 492, 0, 199, 0, 451, 493, 524, + 220, 221, 223, 0, 261, 265, 273, 275, 281, 282, + 289, 337, 384, 408, 406, 412, 0, 468, 486, 497, + 504, 510, 511, 513, 514, 515, 516, 517, 519, 518, + 372, 288, 447, 305, 342, 0, 0, 390, 425, 226, + 490, 448, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 525, 526, 527, 528, 529, 530, 531, + 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, + 542, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 543, 352, 438, 487, 307, 319, 322, 312, 331, + 0, 332, 308, 309, 314, 316, 317, 318, 323, 324, + 328, 334, 234, 0, 191, 207, 338, 0, 413, 270, + 521, 499, 495, 0, 209, 0, 244, 0, 0, 0, + 0, 0, 0, 1848, 0, 0, 1847, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, + 200, 208, 218, 222, 229, 243, 258, 260, 267, 279, + 284, 287, 292, 293, 296, 302, 348, 354, 355, 356, + 357, 374, 375, 376, 379, 382, 383, 386, 388, 389, + 392, 396, 400, 401, 402, 403, 405, 407, 414, 419, + 427, 428, 429, 430, 431, 434, 435, 440, 441, 442, + 443, 444, 452, 453, 457, 475, 477, 489, 503, 508, + 433, 280, 484, 509, 0, 347, 0, 0, 349, 263, + 283, 294, 0, 498, 454, 213, 421, 272, 201, 232, + 216, 241, 256, 259, 298, 358, 365, 394, 399, 277, + 253, 230, 418, 227, 437, 460, 461, 462, 464, 362, + 248, 398, 0, 363, 345, 466, 467, 290, 465, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 381, 0, 0, 0, 1799, 0, 0, 0, 0, 252, + 0, 0, 0, 0, 336, 249, 0, 0, 395, 0, + 197, 0, 439, 236, 346, 343, 472, 264, 255, 251, + 235, 291, 353, 393, 459, 387, 0, 340, 0, 0, + 449, 366, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 297, 233, 299, + 196, 378, 450, 268, 0, 0, 0, 0, 188, 189, + 190, 0, 1538, 0, 0, 0, 0, 0, 0, 0, + 0, 224, 0, 231, 321, 330, 329, 310, 311, 313, + 315, 320, 327, 333, 0, 0, 0, 0, 0, 247, + 295, 254, 246, 469, 0, 0, 0, 0, 0, 0, + 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 278, 0, 367, 239, 0, 0, 0, 0, 505, 0, - 0, 0, 0, 0, 0, 0, 335, 0, 304, 192, - 211, 0, 0, 377, 420, 426, 0, 0, 0, 237, - 0, 424, 391, 488, 219, 266, 417, 397, 422, 404, - 269, 0, 0, 423, 341, 474, 411, 485, 506, 507, - 245, 371, 496, 463, 502, 520, 212, 242, 385, 456, - 491, 446, 364, 470, 471, 303, 445, 276, 195, 339, - 512, 210, 432, 228, 217, 476, 494, 271, 415, 202, - 458, 483, 225, 436, 0, 0, 522, 204, 481, 455, - 360, 300, 301, 203, 0, 416, 250, 274, 240, 380, - 478, 479, 238, 523, 214, 501, 206, 0, 500, 373, - 473, 482, 361, 351, 205, 480, 359, 350, 306, 325, - 326, 262, 285, 409, 344, 410, 286, 369, 368, 370, - 198, 492, 0, 199, 0, 451, 493, 524, 220, 221, - 223, 0, 261, 265, 273, 275, 281, 282, 289, 337, - 384, 408, 406, 412, 0, 468, 486, 497, 504, 510, - 511, 513, 514, 515, 516, 517, 519, 518, 372, 288, - 447, 305, 342, 0, 0, 390, 425, 226, 490, 448, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 525, 526, 527, 528, 529, 530, 531, 532, 533, - 534, 535, 536, 537, 538, 539, 540, 541, 542, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 543, - 352, 438, 487, 307, 319, 322, 312, 331, 0, 332, - 308, 309, 314, 316, 317, 318, 323, 324, 328, 334, - 234, 0, 191, 207, 338, 0, 413, 270, 521, 499, - 495, 0, 209, 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 193, 194, 200, 208, - 218, 222, 229, 243, 258, 260, 267, 279, 284, 287, - 292, 293, 296, 302, 348, 354, 355, 356, 357, 374, - 375, 376, 379, 382, 383, 386, 388, 389, 392, 396, - 400, 401, 402, 403, 405, 407, 414, 419, 427, 428, - 429, 430, 431, 434, 435, 440, 441, 442, 443, 444, - 452, 453, 457, 475, 477, 489, 503, 508, 433, 280, - 484, 509, 0, 347, 0, 0, 349, 263, 283, 294, - 0, 498, 454, 213, 421, 272, 201, 232, 216, 241, - 256, 259, 298, 358, 365, 394, 399, 277, 253, 230, - 418, 227, 437, 460, 461, 462, 464, 362, 248, 398, - 0, 363, 345, 466, 467, 290, 465, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, - 0, 0, 0, 0, 0, 0, 0, 252, 0, 0, - 0, 0, 336, 249, 0, 0, 395, 0, 197, 0, - 439, 236, 346, 343, 472, 264, 255, 251, 235, 291, - 353, 393, 459, 387, 0, 340, 0, 0, 449, 366, + 0, 0, 0, 0, 0, 278, 0, 367, 239, 0, + 0, 0, 0, 505, 0, 0, 0, 0, 0, 0, + 0, 335, 0, 304, 192, 211, 0, 0, 377, 420, + 426, 0, 0, 0, 237, 0, 424, 391, 488, 219, + 266, 417, 397, 422, 404, 269, 0, 1797, 423, 341, + 474, 411, 485, 506, 507, 245, 371, 496, 463, 502, + 520, 212, 242, 385, 456, 491, 446, 364, 470, 471, + 303, 445, 276, 195, 339, 512, 210, 432, 228, 217, + 476, 494, 271, 415, 202, 458, 483, 225, 436, 0, + 0, 522, 204, 481, 455, 360, 300, 301, 203, 0, + 416, 250, 274, 240, 380, 478, 479, 238, 523, 214, + 501, 206, 0, 500, 373, 473, 482, 361, 351, 205, + 480, 359, 350, 306, 325, 326, 262, 285, 409, 344, + 410, 286, 369, 368, 370, 198, 492, 0, 199, 0, + 451, 493, 524, 220, 221, 223, 0, 261, 265, 273, + 275, 281, 282, 289, 337, 384, 408, 406, 412, 0, + 468, 486, 497, 504, 510, 511, 513, 514, 515, 516, + 517, 519, 518, 372, 288, 447, 305, 342, 0, 0, + 390, 425, 226, 490, 448, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 525, 526, 527, 528, + 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, + 539, 540, 541, 542, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 543, 352, 438, 487, 307, 319, + 322, 312, 331, 0, 332, 308, 309, 314, 316, 317, + 318, 323, 324, 328, 334, 234, 0, 191, 207, 338, + 0, 413, 270, 521, 499, 495, 0, 209, 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 297, 233, 299, 196, 378, - 450, 268, 0, 0, 0, 0, 188, 189, 190, 1299, - 1302, 0, 0, 0, 0, 1298, 1301, 0, 0, 224, - 1297, 231, 321, 330, 329, 310, 311, 313, 315, 320, - 327, 333, 0, 0, 0, 0, 0, 247, 295, 254, - 246, 469, 0, 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 257, 0, 0, 0, 0, 0, + 0, 193, 194, 200, 208, 218, 222, 229, 243, 258, + 260, 267, 279, 284, 287, 292, 293, 296, 302, 348, + 354, 355, 356, 357, 374, 375, 376, 379, 382, 383, + 386, 388, 389, 392, 396, 400, 401, 402, 403, 405, + 407, 414, 419, 427, 428, 429, 430, 431, 434, 435, + 440, 441, 442, 443, 444, 452, 453, 457, 475, 477, + 489, 503, 508, 433, 280, 484, 509, 0, 347, 0, + 0, 349, 263, 283, 294, 0, 498, 454, 213, 421, + 272, 201, 232, 216, 241, 256, 259, 298, 358, 365, + 394, 399, 277, 253, 230, 418, 227, 437, 460, 461, + 462, 464, 362, 248, 398, 0, 363, 345, 466, 467, + 290, 465, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 381, 0, 0, 0, 0, 0, 0, + 0, 0, 252, 0, 0, 0, 0, 336, 249, 0, + 0, 395, 0, 197, 0, 439, 236, 346, 343, 472, + 264, 255, 251, 235, 291, 353, 393, 459, 387, 0, + 340, 0, 0, 449, 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 297, 233, 299, 196, 378, 450, 268, 0, 0, 0, + 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 224, 0, 231, 321, 330, 329, + 310, 311, 313, 315, 320, 327, 333, 0, 0, 0, + 0, 0, 247, 295, 254, 246, 469, 0, 0, 0, + 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 257, + 0, 0, 0, 0, 0, 0, 0, 0, 967, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 278, 0, 367, 239, 0, 0, 0, - 0, 505, 0, 0, 0, 0, 0, 0, 0, 335, - 0, 304, 192, 211, 0, 0, 377, 420, 426, 0, - 0, 0, 237, 0, 424, 391, 488, 219, 266, 417, - 397, 422, 404, 269, 0, 0, 423, 341, 474, 411, - 485, 506, 507, 245, 371, 496, 463, 502, 520, 212, - 242, 385, 456, 491, 446, 364, 470, 471, 303, 445, - 276, 195, 339, 512, 210, 432, 228, 217, 476, 494, - 271, 415, 202, 458, 483, 225, 436, 0, 0, 522, - 204, 481, 455, 360, 300, 301, 203, 0, 416, 250, - 274, 240, 380, 478, 479, 238, 523, 214, 501, 206, - 0, 500, 373, 473, 482, 361, 351, 205, 480, 359, - 350, 306, 325, 326, 262, 285, 409, 344, 410, 286, - 369, 368, 370, 198, 492, 0, 199, 0, 451, 493, - 524, 220, 221, 223, 0, 261, 265, 273, 275, 281, - 282, 289, 337, 384, 408, 406, 412, 0, 468, 486, - 497, 504, 510, 511, 513, 514, 515, 516, 517, 519, - 518, 372, 288, 447, 305, 342, 0, 0, 390, 425, - 226, 490, 448, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 525, 526, 527, 528, 529, 530, - 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, - 541, 542, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 543, 352, 438, 487, 307, 319, 322, 312, - 331, 0, 332, 308, 309, 314, 316, 317, 318, 323, - 324, 328, 334, 234, 0, 191, 207, 338, 0, 413, - 270, 521, 499, 495, 0, 209, 0, 244, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 278, 0, + 367, 239, 0, 0, 0, 0, 505, 0, 0, 0, + 0, 0, 0, 0, 335, 973, 304, 192, 211, 971, + 0, 377, 420, 426, 0, 0, 0, 237, 0, 424, + 391, 488, 219, 266, 417, 397, 422, 404, 269, 0, + 0, 423, 341, 474, 411, 485, 506, 507, 245, 371, + 496, 463, 502, 520, 212, 242, 385, 456, 491, 446, + 364, 470, 471, 303, 445, 276, 195, 339, 512, 210, + 432, 228, 217, 476, 494, 271, 415, 202, 458, 483, + 225, 436, 0, 0, 522, 204, 481, 455, 360, 300, + 301, 203, 0, 416, 250, 274, 240, 380, 478, 479, + 238, 523, 214, 501, 206, 0, 500, 373, 473, 482, + 361, 351, 205, 480, 359, 350, 306, 325, 326, 262, + 285, 409, 344, 410, 286, 369, 368, 370, 198, 492, + 0, 199, 0, 451, 493, 524, 220, 221, 223, 0, + 261, 265, 273, 275, 281, 282, 289, 337, 384, 408, + 406, 412, 0, 468, 486, 497, 504, 510, 511, 513, + 514, 515, 516, 517, 519, 518, 372, 288, 447, 305, + 342, 0, 0, 390, 425, 226, 490, 448, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 525, + 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, + 536, 537, 538, 539, 540, 541, 542, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 543, 352, 438, + 487, 307, 319, 322, 312, 331, 0, 332, 308, 309, + 314, 316, 317, 318, 323, 324, 328, 334, 234, 0, + 191, 207, 338, 0, 413, 270, 521, 499, 495, 0, + 209, 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 194, 200, 208, 218, 222, 229, 243, 258, 260, 267, - 279, 284, 287, 292, 293, 296, 302, 348, 354, 355, - 356, 357, 374, 375, 376, 379, 382, 383, 386, 388, - 389, 392, 396, 400, 401, 402, 403, 405, 407, 414, - 419, 427, 428, 429, 430, 431, 434, 435, 440, 441, - 442, 443, 444, 452, 453, 457, 475, 477, 489, 503, - 508, 433, 280, 484, 509, 0, 347, 0, 0, 349, - 263, 283, 294, 0, 498, 454, 213, 421, 272, 201, - 232, 216, 241, 256, 259, 298, 358, 365, 394, 399, - 277, 253, 230, 418, 227, 437, 460, 461, 462, 464, - 362, 248, 398, 0, 0, 345, 466, 467, 290, 363, - 0, 0, 0, 78, 465, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 193, 194, 200, 208, 218, 222, + 229, 243, 258, 260, 267, 279, 284, 287, 292, 293, + 296, 302, 348, 354, 355, 356, 357, 374, 375, 376, + 379, 382, 383, 386, 388, 389, 392, 396, 400, 401, + 402, 403, 405, 407, 414, 419, 427, 428, 429, 430, + 431, 434, 435, 440, 441, 442, 443, 444, 452, 453, + 457, 475, 477, 489, 503, 508, 433, 280, 484, 509, + 0, 347, 0, 0, 349, 263, 283, 294, 0, 498, + 454, 213, 421, 272, 201, 232, 216, 241, 256, 259, + 298, 358, 365, 394, 399, 277, 253, 230, 418, 227, + 437, 460, 461, 462, 464, 362, 248, 398, 0, 363, + 345, 466, 467, 290, 465, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, 0, - 0, 0, 0, 0, 0, 252, 0, 0, 0, 0, + 1799, 0, 0, 0, 0, 252, 0, 0, 0, 0, 336, 249, 0, 0, 395, 0, 197, 0, 439, 236, 346, 343, 472, 264, 255, 251, 235, 291, 353, 393, 459, 387, 0, 340, 0, 0, 449, 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, 233, 299, 196, 378, 450, 268, - 0, 87, 0, 1337, 188, 189, 190, 0, 0, 0, + 0, 0, 0, 0, 188, 189, 190, 0, 1538, 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, 231, 321, 330, 329, 310, 311, 313, 315, 320, 327, 333, 0, 0, 0, 0, 0, 247, 295, 254, 246, 469, @@ -3723,7 +3927,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 543, 352, 438, 487, 307, 319, 322, 312, 331, 0, 332, 308, 309, 314, 316, 317, 318, 323, 324, 328, - 334, 234, 0, 191, 207, 338, 86, 413, 270, 521, + 334, 234, 0, 191, 207, 338, 0, 413, 270, 521, 499, 495, 0, 209, 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, @@ -3745,7 +3949,7 @@ var yyAct = [...]int{ 291, 353, 393, 459, 387, 0, 340, 0, 0, 449, 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, 233, 299, 196, - 378, 450, 268, 0, 87, 0, 0, 188, 189, 190, + 378, 450, 268, 0, 0, 0, 1337, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, 231, 321, 330, 329, 310, 311, 313, 315, 320, 327, 333, 0, 0, 0, 0, 0, 247, 295, @@ -3760,7 +3964,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, 0, 367, 239, 0, 0, - 0, 0, 505, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 505, 0, 0, 0, 2890, 0, 0, 0, 335, 0, 304, 192, 211, 0, 0, 377, 420, 426, 0, 0, 0, 237, 0, 424, 391, 488, 219, 266, 417, 397, 422, 404, 269, 0, 0, 423, 341, 474, @@ -3785,7 +3989,7 @@ var yyAct = [...]int{ 312, 331, 0, 332, 308, 309, 314, 316, 317, 318, 323, 324, 328, 334, 234, 0, 191, 207, 338, 0, 413, 270, 521, 499, 495, 0, 209, 0, 244, 0, - 0, 0, 0, 0, 0, 1846, 0, 0, 1845, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 208, 218, 222, 229, 243, 258, 260, 267, 279, 284, 287, 292, 293, 296, 302, 348, 354, @@ -3799,14 +4003,14 @@ var yyAct = [...]int{ 399, 277, 253, 230, 418, 227, 437, 460, 461, 462, 464, 362, 248, 398, 0, 363, 345, 466, 467, 290, 465, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 381, 0, 0, 0, 1797, 0, 0, 0, + 0, 0, 381, 0, 0, 0, 0, 0, 0, 0, 0, 252, 0, 0, 0, 0, 336, 249, 0, 0, 395, 0, 197, 0, 439, 236, 346, 343, 472, 264, 255, 251, 235, 291, 353, 393, 459, 387, 0, 340, 0, 0, 449, 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, 233, 299, 196, 378, 450, 268, 0, 0, 0, 0, - 188, 189, 190, 0, 1538, 0, 0, 0, 0, 0, + 188, 189, 190, 0, 1681, 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, 231, 321, 330, 329, 310, 311, 313, 315, 320, 327, 333, 0, 0, 0, 0, 0, 247, 295, 254, 246, 469, 0, 0, 0, 0, @@ -3814,7 +4018,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1682, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3823,7 +4027,7 @@ var yyAct = [...]int{ 239, 0, 0, 0, 0, 505, 0, 0, 0, 0, 0, 0, 0, 335, 0, 304, 192, 211, 0, 0, 377, 420, 426, 0, 0, 0, 237, 0, 424, 391, - 488, 219, 266, 417, 397, 422, 404, 269, 0, 1795, + 488, 219, 266, 417, 397, 422, 404, 269, 0, 0, 423, 341, 474, 411, 485, 506, 507, 245, 371, 496, 463, 502, 520, 212, 242, 385, 456, 491, 446, 364, 470, 471, 303, 445, 276, 195, 339, 512, 210, 432, @@ -3866,23 +4070,23 @@ var yyAct = [...]int{ 387, 0, 340, 0, 0, 449, 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, 233, 299, 196, 378, 450, 268, 0, - 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, + 0, 0, 0, 188, 189, 190, 0, 2143, 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, 231, 321, 330, 329, 310, 311, 313, 315, 320, 327, 333, 0, 0, 0, 0, 0, 247, 295, 254, 246, 469, 0, 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, - 967, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, 0, 367, 239, 0, 0, 0, 0, 505, 0, - 0, 0, 0, 0, 0, 0, 335, 973, 304, 192, - 211, 971, 0, 377, 420, 426, 0, 0, 0, 237, + 0, 0, 0, 0, 0, 0, 335, 0, 304, 192, + 211, 0, 0, 377, 420, 426, 0, 0, 0, 237, 0, 424, 391, 488, 219, 266, 417, 397, 422, 404, 269, 0, 0, 423, 341, 474, 411, 485, 506, 507, 245, 371, 496, 463, 502, 520, 212, 242, 385, 456, @@ -3920,14 +4124,14 @@ var yyAct = [...]int{ 418, 227, 437, 460, 461, 462, 464, 362, 248, 398, 0, 363, 345, 466, 467, 290, 465, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, - 0, 0, 1797, 0, 0, 0, 0, 252, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 252, 0, 0, 0, 0, 336, 249, 0, 0, 395, 0, 197, 0, 439, 236, 346, 343, 472, 264, 255, 251, 235, 291, 353, 393, 459, 387, 0, 340, 0, 0, 449, 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, 233, 299, 196, 378, 450, 268, 0, 0, 0, 0, 188, 189, 190, 0, - 1538, 0, 0, 0, 0, 0, 0, 0, 0, 224, + 0, 0, 2128, 0, 0, 0, 2129, 0, 0, 224, 0, 231, 321, 330, 329, 310, 311, 313, 315, 320, 327, 333, 0, 0, 0, 0, 0, 247, 295, 254, 246, 469, 0, 0, 0, 0, 0, 0, 0, 215, @@ -3981,13 +4185,13 @@ var yyAct = [...]int{ 362, 248, 398, 0, 363, 345, 466, 467, 290, 465, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, 0, 0, 0, 0, 0, 0, - 252, 0, 0, 0, 0, 336, 249, 0, 0, 395, + 252, 1381, 0, 0, 0, 336, 249, 0, 0, 395, 0, 197, 0, 439, 236, 346, 343, 472, 264, 255, 251, 235, 291, 353, 393, 459, 387, 0, 340, 0, 0, 449, 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, 233, - 299, 196, 378, 450, 268, 0, 0, 0, 1337, 188, - 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, + 299, 196, 378, 450, 268, 0, 0, 0, 0, 188, + 189, 190, 0, 1380, 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, 231, 321, 330, 329, 310, 311, 313, 315, 320, 327, 333, 0, 0, 0, 0, 0, 247, 295, 254, 246, 469, 0, 0, 0, 0, 0, @@ -4001,7 +4205,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, 0, 367, 239, - 0, 0, 0, 0, 505, 0, 0, 0, 2887, 0, + 0, 0, 0, 0, 505, 0, 0, 0, 0, 0, 0, 0, 335, 0, 304, 192, 211, 0, 0, 377, 420, 426, 0, 0, 0, 237, 0, 424, 391, 488, 219, 266, 417, 397, 422, 404, 269, 0, 0, 423, @@ -4047,7 +4251,7 @@ var yyAct = [...]int{ 0, 340, 0, 0, 449, 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, 233, 299, 196, 378, 450, 268, 0, 0, - 0, 0, 188, 189, 190, 0, 1681, 0, 0, 0, + 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, 231, 321, 330, 329, 310, 311, 313, 315, 320, 327, 333, 0, 0, 0, 0, 0, 247, 295, 254, 246, 469, 0, 0, @@ -4055,14 +4259,14 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1682, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, 0, 367, 239, 0, 0, 0, 0, 505, 0, 0, - 0, 0, 0, 0, 0, 335, 0, 304, 192, 211, + 0, 2983, 0, 0, 0, 335, 0, 304, 192, 211, 0, 0, 377, 420, 426, 0, 0, 0, 237, 0, 424, 391, 488, 219, 266, 417, 397, 422, 404, 269, 0, 0, 423, 341, 474, 411, 485, 506, 507, 245, @@ -4107,7 +4311,7 @@ var yyAct = [...]int{ 393, 459, 387, 0, 340, 0, 0, 449, 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, 233, 299, 196, 378, 450, - 268, 0, 0, 0, 0, 188, 189, 190, 0, 2140, + 268, 0, 0, 0, 0, 188, 189, 190, 0, 1538, 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, 231, 321, 330, 329, 310, 311, 313, 315, 320, 327, 333, 0, 0, 0, 0, 0, 247, 295, 254, 246, @@ -4115,7 +4319,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2141, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4168,7 +4372,7 @@ var yyAct = [...]int{ 449, 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, 233, 299, 196, 378, 450, 268, 0, 0, 0, 0, 188, 189, - 190, 0, 0, 0, 2125, 0, 0, 0, 2126, 0, + 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, 231, 321, 330, 329, 310, 311, 313, 315, 320, 327, 333, 0, 0, 0, 0, 0, 247, 295, 254, 246, 469, 0, 0, 0, 0, 0, 0, @@ -4182,7 +4386,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, 0, 367, 239, 0, - 0, 0, 0, 505, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 505, 0, 0, 0, 2890, 0, 0, 0, 335, 0, 304, 192, 211, 0, 0, 377, 420, 426, 0, 0, 0, 237, 0, 424, 391, 488, 219, 266, 417, 397, 422, 404, 269, 0, 0, 423, 341, @@ -4222,13 +4426,13 @@ var yyAct = [...]int{ 462, 464, 362, 248, 398, 0, 363, 345, 466, 467, 290, 465, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, 0, 0, 0, 0, - 0, 0, 252, 1381, 0, 0, 0, 336, 249, 0, + 0, 0, 252, 0, 0, 0, 0, 336, 249, 0, 0, 395, 0, 197, 0, 439, 236, 346, 343, 472, 264, 255, 251, 235, 291, 353, 393, 459, 387, 0, 340, 0, 0, 449, 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 297, 233, 299, 196, 378, 450, 268, 0, 0, 0, - 0, 188, 189, 190, 0, 1380, 0, 0, 0, 0, + 297, 233, 299, 196, 378, 450, 268, 0, 87, 0, + 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, 231, 321, 330, 329, 310, 311, 313, 315, 320, 327, 333, 0, 0, 0, 0, 0, 247, 295, 254, 246, 469, 0, 0, 0, @@ -4280,7 +4484,7 @@ var yyAct = [...]int{ 454, 213, 421, 272, 201, 232, 216, 241, 256, 259, 298, 358, 365, 394, 399, 277, 253, 230, 418, 227, 437, 460, 461, 462, 464, 362, 248, 398, 0, 363, - 345, 466, 467, 290, 465, 0, 0, 0, 0, 0, + 345, 466, 467, 290, 465, 0, 0, 0, 0, 1849, 0, 0, 0, 0, 0, 0, 381, 0, 0, 0, 0, 0, 0, 0, 0, 252, 0, 0, 0, 0, 336, 249, 0, 0, 395, 0, 197, 0, 439, 236, @@ -4303,7 +4507,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, 0, 367, 239, 0, 0, 0, 0, 505, - 0, 0, 0, 2980, 0, 0, 0, 335, 0, 304, + 0, 0, 0, 0, 0, 0, 0, 335, 0, 304, 192, 211, 0, 0, 377, 420, 426, 0, 0, 0, 237, 0, 424, 391, 488, 219, 266, 417, 397, 422, 404, 269, 0, 0, 423, 341, 474, 411, 485, 506, @@ -4349,7 +4553,7 @@ var yyAct = [...]int{ 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, 233, 299, 196, 378, 450, 268, 0, 0, 0, 0, 188, 189, 190, - 0, 1538, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1360, 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, 231, 321, 330, 329, 310, 311, 313, 315, 320, 327, 333, 0, 0, 0, 0, 0, 247, 295, 254, 246, 469, 0, 0, 0, 0, 0, 0, 0, @@ -4417,13 +4621,13 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, 0, 367, - 239, 0, 0, 0, 0, 505, 0, 0, 0, 2887, + 239, 0, 0, 0, 0, 505, 0, 0, 0, 0, 0, 0, 0, 335, 0, 304, 192, 211, 0, 0, 377, 420, 426, 0, 0, 0, 237, 0, 424, 391, 488, 219, 266, 417, 397, 422, 404, 269, 0, 0, @@ -4469,7 +4673,7 @@ var yyAct = [...]int{ 387, 0, 340, 0, 0, 449, 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, 233, 299, 196, 378, 450, 268, 0, - 87, 0, 0, 188, 189, 190, 0, 0, 0, 0, + 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, 231, 321, 330, 329, 310, 311, 313, 315, 320, 327, 333, 0, 0, 0, 0, 0, 247, 295, 254, 246, 469, 0, @@ -4507,7 +4711,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 543, 352, 438, 487, 307, 319, 322, 312, 331, 0, 332, 308, 309, 314, 316, 317, 318, 323, 324, 328, 334, - 234, 0, 191, 207, 338, 0, 413, 270, 521, 499, + 234, 0, 191, 207, 338, 1636, 413, 270, 521, 499, 495, 0, 209, 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 208, @@ -4522,8 +4726,8 @@ var yyAct = [...]int{ 256, 259, 298, 358, 365, 394, 399, 277, 253, 230, 418, 227, 437, 460, 461, 462, 464, 362, 248, 398, 0, 363, 345, 466, 467, 290, 465, 0, 0, 0, - 0, 1847, 0, 0, 0, 0, 0, 0, 381, 0, - 0, 0, 0, 0, 0, 0, 0, 252, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, + 1506, 0, 0, 0, 0, 0, 0, 252, 0, 0, 0, 0, 336, 249, 0, 0, 395, 0, 197, 0, 439, 236, 346, 343, 472, 264, 255, 251, 235, 291, 353, 393, 459, 387, 0, 340, 0, 0, 449, 366, @@ -4583,14 +4787,14 @@ var yyAct = [...]int{ 277, 253, 230, 418, 227, 437, 460, 461, 462, 464, 362, 248, 398, 0, 363, 345, 466, 467, 290, 465, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 381, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 381, 0, 1504, 0, 0, 0, 0, 0, 0, 252, 0, 0, 0, 0, 336, 249, 0, 0, 395, 0, 197, 0, 439, 236, 346, 343, 472, 264, 255, 251, 235, 291, 353, 393, 459, 387, 0, 340, 0, 0, 449, 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, 233, 299, 196, 378, 450, 268, 0, 0, 0, 0, 188, - 189, 190, 0, 1360, 0, 0, 0, 0, 0, 0, + 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, 231, 321, 330, 329, 310, 311, 313, 315, 320, 327, 333, 0, 0, 0, 0, 0, 247, 295, 254, 246, 469, 0, 0, 0, 0, 0, @@ -4643,7 +4847,7 @@ var yyAct = [...]int{ 365, 394, 399, 277, 253, 230, 418, 227, 437, 460, 461, 462, 464, 362, 248, 398, 0, 363, 345, 466, 467, 290, 465, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 381, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 381, 0, 1502, 0, 0, 0, 0, 0, 0, 252, 0, 0, 0, 0, 336, 249, 0, 0, 395, 0, 197, 0, 439, 236, 346, 343, 472, 264, 255, 251, 235, 291, 353, 393, 459, 387, @@ -4658,7 +4862,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1219, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4703,7 +4907,7 @@ var yyAct = [...]int{ 259, 298, 358, 365, 394, 399, 277, 253, 230, 418, 227, 437, 460, 461, 462, 464, 362, 248, 398, 0, 363, 345, 466, 467, 290, 465, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 381, 0, 1500, 0, 0, 0, 0, 0, 0, 252, 0, 0, 0, 0, 336, 249, 0, 0, 395, 0, 197, 0, 439, 236, 346, 343, 472, 264, 255, 251, 235, 291, 353, @@ -4748,7 +4952,7 @@ var yyAct = [...]int{ 542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 543, 352, 438, 487, 307, 319, 322, 312, 331, 0, 332, 308, 309, 314, 316, 317, 318, 323, 324, - 328, 334, 234, 0, 191, 207, 338, 1636, 413, 270, + 328, 334, 234, 0, 191, 207, 338, 0, 413, 270, 521, 499, 495, 0, 209, 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, @@ -4764,7 +4968,7 @@ var yyAct = [...]int{ 253, 230, 418, 227, 437, 460, 461, 462, 464, 362, 248, 398, 0, 363, 345, 466, 467, 290, 465, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 381, 0, 1506, 0, 0, 0, 0, 0, 0, 252, + 381, 0, 1498, 0, 0, 0, 0, 0, 0, 252, 0, 0, 0, 0, 336, 249, 0, 0, 395, 0, 197, 0, 439, 236, 346, 343, 472, 264, 255, 251, 235, 291, 353, 393, 459, 387, 0, 340, 0, 0, @@ -4824,7 +5028,7 @@ var yyAct = [...]int{ 394, 399, 277, 253, 230, 418, 227, 437, 460, 461, 462, 464, 362, 248, 398, 0, 363, 345, 466, 467, 290, 465, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 381, 0, 1504, 0, 0, 0, 0, + 0, 0, 0, 381, 0, 1494, 0, 0, 0, 0, 0, 0, 252, 0, 0, 0, 0, 336, 249, 0, 0, 395, 0, 197, 0, 439, 236, 346, 343, 472, 264, 255, 251, 235, 291, 353, 393, 459, 387, 0, @@ -4884,7 +5088,7 @@ var yyAct = [...]int{ 298, 358, 365, 394, 399, 277, 253, 230, 418, 227, 437, 460, 461, 462, 464, 362, 248, 398, 0, 363, 345, 466, 467, 290, 465, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 381, 0, 1502, 0, + 0, 0, 0, 0, 0, 0, 381, 0, 1492, 0, 0, 0, 0, 0, 0, 252, 0, 0, 0, 0, 336, 249, 0, 0, 395, 0, 197, 0, 439, 236, 346, 343, 472, 264, 255, 251, 235, 291, 353, 393, @@ -4945,7 +5149,7 @@ var yyAct = [...]int{ 230, 418, 227, 437, 460, 461, 462, 464, 362, 248, 398, 0, 363, 345, 466, 467, 290, 465, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, - 0, 1500, 0, 0, 0, 0, 0, 0, 252, 0, + 0, 1490, 0, 0, 0, 0, 0, 0, 252, 0, 0, 0, 0, 336, 249, 0, 0, 395, 0, 197, 0, 439, 236, 346, 343, 472, 264, 255, 251, 235, 291, 353, 393, 459, 387, 0, 340, 0, 0, 449, @@ -5005,13 +5209,13 @@ var yyAct = [...]int{ 399, 277, 253, 230, 418, 227, 437, 460, 461, 462, 464, 362, 248, 398, 0, 363, 345, 466, 467, 290, 465, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 381, 0, 1498, 0, 0, 0, 0, 0, + 0, 0, 381, 0, 0, 0, 0, 0, 0, 0, 0, 252, 0, 0, 0, 0, 336, 249, 0, 0, 395, 0, 197, 0, 439, 236, 346, 343, 472, 264, 255, 251, 235, 291, 353, 393, 459, 387, 0, 340, 0, 0, 449, 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, - 233, 299, 196, 378, 450, 268, 0, 0, 0, 0, + 233, 299, 196, 378, 450, 268, 0, 1465, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, 231, 321, 330, 329, 310, 311, 313, 315, 320, 327, 333, 0, 0, 0, 0, @@ -5065,8 +5269,8 @@ var yyAct = [...]int{ 358, 365, 394, 399, 277, 253, 230, 418, 227, 437, 460, 461, 462, 464, 362, 248, 398, 0, 363, 345, 466, 467, 290, 465, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 381, 0, 1494, 0, 0, - 0, 0, 0, 0, 252, 0, 0, 0, 0, 336, + 0, 0, 0, 0, 0, 381, 0, 0, 0, 0, + 0, 0, 0, 1365, 252, 0, 0, 0, 0, 336, 249, 0, 0, 395, 0, 197, 0, 439, 236, 346, 343, 472, 264, 255, 251, 235, 291, 353, 393, 459, 387, 0, 340, 0, 0, 449, 366, 0, 0, 0, @@ -5126,14 +5330,14 @@ var yyAct = [...]int{ 418, 227, 437, 460, 461, 462, 464, 362, 248, 398, 0, 363, 345, 466, 467, 290, 465, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, - 1492, 0, 0, 0, 0, 0, 0, 252, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 252, 0, 0, 0, 0, 336, 249, 0, 0, 395, 0, 197, 0, 439, 236, 346, 343, 472, 264, 255, 251, 235, 291, 353, 393, 459, 387, 0, 340, 0, 0, 449, 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, 233, 299, 196, 378, 450, 268, 0, 0, 0, 0, 188, 189, 190, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, + 1165, 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, 231, 321, 330, 329, 310, 311, 313, 315, 320, 327, 333, 0, 0, 0, 0, 0, 247, 295, 254, 246, 469, 0, 0, 0, 0, 0, 0, 0, 215, @@ -5186,7 +5390,7 @@ var yyAct = [...]int{ 277, 253, 230, 418, 227, 437, 460, 461, 462, 464, 362, 248, 398, 0, 363, 345, 466, 467, 290, 465, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 381, 0, 1490, 0, 0, 0, 0, 0, 0, + 0, 381, 0, 0, 0, 0, 0, 0, 0, 0, 252, 0, 0, 0, 0, 336, 249, 0, 0, 395, 0, 197, 0, 439, 236, 346, 343, 472, 264, 255, 251, 235, 291, 353, 393, 459, 387, 0, 340, 0, @@ -5233,7 +5437,7 @@ var yyAct = [...]int{ 317, 318, 323, 324, 328, 334, 234, 0, 191, 207, 338, 0, 413, 270, 521, 499, 495, 0, 209, 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 779, 0, 0, 0, 193, 194, 200, 208, 218, 222, 229, 243, 258, 260, 267, 279, 284, 287, 292, 293, 296, 302, 348, 354, 355, 356, 357, 374, 375, 376, 379, 382, @@ -5252,7 +5456,7 @@ var yyAct = [...]int{ 472, 264, 255, 251, 235, 291, 353, 393, 459, 387, 0, 340, 0, 0, 449, 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 297, 233, 299, 196, 378, 450, 268, 0, 1465, + 0, 297, 233, 299, 196, 378, 450, 268, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, 231, 321, 330, 329, 310, 311, 313, 315, 320, 327, 333, 0, 0, @@ -5266,7 +5470,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, + 0, 0, 0, 0, 0, 0, 0, 600, 0, 278, 0, 367, 239, 0, 0, 0, 0, 505, 0, 0, 0, 0, 0, 0, 0, 335, 0, 304, 192, 211, 0, 0, 377, 420, 426, 0, 0, 0, 237, 0, @@ -5300,14 +5504,14 @@ var yyAct = [...]int{ 376, 379, 382, 383, 386, 388, 389, 392, 396, 400, 401, 402, 403, 405, 407, 414, 419, 427, 428, 429, 430, 431, 434, 435, 440, 441, 442, 443, 444, 452, - 453, 457, 475, 477, 489, 503, 508, 433, 280, 484, + 453, 457, 475, 477, 489, 503, 508, 433, 599, 484, 509, 0, 347, 0, 0, 349, 263, 283, 294, 0, 498, 454, 213, 421, 272, 201, 232, 216, 241, 256, 259, 298, 358, 365, 394, 399, 277, 253, 230, 418, 227, 437, 460, 461, 462, 464, 362, 248, 398, 0, 363, 345, 466, 467, 290, 465, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, - 0, 0, 0, 0, 0, 1365, 252, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 252, 0, 0, 0, 0, 336, 249, 0, 0, 395, 0, 197, 0, 439, 236, 346, 343, 472, 264, 255, 251, 235, 291, 353, 393, 459, 387, 0, 340, 0, 0, 449, 366, 0, @@ -5327,7 +5531,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 278, 0, 367, 239, 0, 0, 0, 0, + 0, 0, 278, 0, 367, 239, 0, 0, 546, 0, 505, 0, 0, 0, 0, 0, 0, 0, 335, 0, 304, 192, 211, 0, 0, 377, 420, 426, 0, 0, 0, 237, 0, 424, 391, 488, 219, 266, 417, 397, @@ -5374,7 +5578,7 @@ var yyAct = [...]int{ 449, 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, 233, 299, 196, 378, 450, 268, 0, 0, 0, 0, 188, 189, - 190, 0, 1165, 0, 0, 0, 0, 0, 0, 0, + 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, 231, 321, 330, 329, 310, 311, 313, 315, 320, 327, 333, 0, 0, 0, 0, 0, 247, 295, 254, 246, 469, 0, 0, 0, 0, 0, 0, @@ -5417,7 +5621,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 208, 218, 222, 229, 243, 258, 260, 267, 279, 284, 287, 292, 293, 296, 302, 348, - 354, 355, 356, 357, 374, 375, 376, 379, 382, 383, + 354, 355, 356, 357, 2988, 375, 376, 379, 382, 383, 386, 388, 389, 392, 396, 400, 401, 402, 403, 405, 407, 414, 419, 427, 428, 429, 430, 431, 434, 435, 440, 441, 442, 443, 444, 452, 453, 457, 475, 477, @@ -5475,7 +5679,7 @@ var yyAct = [...]int{ 191, 207, 338, 0, 413, 270, 521, 499, 495, 0, 209, 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 779, 0, 0, 0, 193, 194, 200, 208, 218, 222, + 0, 0, 0, 0, 193, 194, 200, 208, 218, 222, 229, 243, 258, 260, 267, 279, 284, 287, 292, 293, 296, 302, 348, 354, 355, 356, 357, 374, 375, 376, 379, 382, 383, 386, 388, 389, 392, 396, 400, 401, @@ -5494,7 +5698,7 @@ var yyAct = [...]int{ 459, 387, 0, 340, 0, 0, 449, 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, 233, 299, 196, 378, 450, 268, - 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, + 0, 0, 0, 0, 188, 2611, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, 231, 321, 330, 329, 310, 311, 313, 315, 320, 327, 333, 0, 0, 0, 0, 0, 247, 295, 254, 246, 469, @@ -5507,7 +5711,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 600, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, 0, 367, 239, 0, 0, 0, 0, 505, 0, 0, 0, 0, 0, 0, 0, 335, 0, 304, 192, 211, 0, 0, 377, 420, 426, 0, 0, 0, @@ -5542,7 +5746,7 @@ var yyAct = [...]int{ 396, 400, 401, 402, 403, 405, 407, 414, 419, 427, 428, 429, 430, 431, 434, 435, 440, 441, 442, 443, 444, 452, 453, 457, 475, 477, 489, 503, 508, 433, - 599, 484, 509, 0, 347, 0, 0, 349, 263, 283, + 280, 484, 509, 0, 347, 0, 0, 349, 263, 283, 294, 0, 498, 454, 213, 421, 272, 201, 232, 216, 241, 256, 259, 298, 358, 365, 394, 399, 277, 253, 230, 418, 227, 437, 460, 461, 462, 464, 362, 248, @@ -5554,7 +5758,7 @@ var yyAct = [...]int{ 291, 353, 393, 459, 387, 0, 340, 0, 0, 449, 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, 233, 299, 196, - 378, 450, 268, 0, 0, 0, 0, 188, 189, 190, + 378, 450, 268, 0, 0, 0, 0, 188, 2124, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, 231, 321, 330, 329, 310, 311, 313, 315, 320, 327, 333, 0, 0, 0, 0, 0, 247, 295, @@ -5569,7 +5773,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, 0, 367, 239, 0, 0, - 546, 0, 505, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 505, 0, 0, 0, 0, 0, 0, 0, 335, 0, 304, 192, 211, 0, 0, 377, 420, 426, 0, 0, 0, 237, 0, 424, 391, 488, 219, 266, 417, 397, 422, 404, 269, 0, 0, 423, 341, 474, @@ -5591,286 +5795,44 @@ var yyAct = [...]int{ 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 543, 352, 438, 487, 307, 319, 322, - 312, 331, 0, 332, 308, 309, 314, 316, 317, 318, - 323, 324, 328, 334, 234, 0, 191, 207, 338, 0, - 413, 270, 521, 499, 495, 0, 209, 0, 244, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 193, 194, 200, 208, 218, 222, 229, 243, 258, 260, - 267, 279, 284, 287, 292, 293, 296, 302, 348, 354, - 355, 356, 357, 374, 375, 376, 379, 382, 383, 386, - 388, 389, 392, 396, 400, 401, 402, 403, 405, 407, - 414, 419, 427, 428, 429, 430, 431, 434, 435, 440, - 441, 442, 443, 444, 452, 453, 457, 475, 477, 489, - 503, 508, 433, 280, 484, 509, 0, 347, 0, 0, - 349, 263, 283, 294, 0, 498, 454, 213, 421, 272, - 201, 232, 216, 241, 256, 259, 298, 358, 365, 394, - 399, 277, 253, 230, 418, 227, 437, 460, 461, 462, - 464, 362, 248, 398, 0, 363, 345, 466, 467, 290, - 465, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 381, 0, 0, 0, 0, 0, 0, 0, - 0, 252, 0, 0, 0, 0, 336, 249, 0, 0, - 395, 0, 197, 0, 439, 236, 346, 343, 472, 264, - 255, 251, 235, 291, 353, 393, 459, 387, 0, 340, - 0, 0, 449, 366, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, - 233, 299, 196, 378, 450, 268, 0, 0, 0, 0, - 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 224, 0, 231, 321, 330, 329, 310, - 311, 313, 315, 320, 327, 333, 0, 0, 0, 0, - 0, 247, 295, 254, 246, 469, 0, 0, 0, 0, - 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 257, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 278, 0, 367, - 239, 0, 0, 0, 0, 505, 0, 0, 0, 0, - 0, 0, 0, 335, 0, 304, 192, 211, 0, 0, - 377, 420, 426, 0, 0, 0, 237, 0, 424, 391, - 488, 219, 266, 417, 397, 422, 404, 269, 0, 0, - 423, 341, 474, 411, 485, 506, 507, 245, 371, 496, - 463, 502, 520, 212, 242, 385, 456, 491, 446, 364, - 470, 471, 303, 445, 276, 195, 339, 512, 210, 432, - 228, 217, 476, 494, 271, 415, 202, 458, 483, 225, - 436, 0, 0, 522, 204, 481, 455, 360, 300, 301, - 203, 0, 416, 250, 274, 240, 380, 478, 479, 238, - 523, 214, 501, 206, 0, 500, 373, 473, 482, 361, - 351, 205, 480, 359, 350, 306, 325, 326, 262, 285, - 409, 344, 410, 286, 369, 368, 370, 198, 492, 0, - 199, 0, 451, 493, 524, 220, 221, 223, 0, 261, - 265, 273, 275, 281, 282, 289, 337, 384, 408, 406, - 412, 0, 468, 486, 497, 504, 510, 511, 513, 514, - 515, 516, 517, 519, 518, 372, 288, 447, 305, 342, - 0, 0, 390, 425, 226, 490, 448, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 525, 526, - 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, - 537, 538, 539, 540, 541, 542, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 543, 352, 438, 487, - 307, 319, 322, 312, 331, 0, 332, 308, 309, 314, - 316, 317, 318, 323, 324, 328, 334, 234, 0, 191, - 207, 338, 0, 413, 270, 521, 499, 495, 0, 209, - 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 193, 194, 200, 208, 218, 222, 229, - 243, 258, 260, 267, 279, 284, 287, 292, 293, 296, - 302, 348, 354, 355, 356, 357, 2985, 375, 376, 379, - 382, 383, 386, 388, 389, 392, 396, 400, 401, 402, - 403, 405, 407, 414, 419, 427, 428, 429, 430, 431, - 434, 435, 440, 441, 442, 443, 444, 452, 453, 457, - 475, 477, 489, 503, 508, 433, 280, 484, 509, 0, - 347, 0, 0, 349, 263, 283, 294, 0, 498, 454, - 213, 421, 272, 201, 232, 216, 241, 256, 259, 298, - 358, 365, 394, 399, 277, 253, 230, 418, 227, 437, - 460, 461, 462, 464, 362, 248, 398, 0, 363, 345, - 466, 467, 290, 465, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 381, 0, 0, 0, 0, - 0, 0, 0, 0, 252, 0, 0, 0, 0, 336, - 249, 0, 0, 395, 0, 197, 0, 439, 236, 346, - 343, 472, 264, 255, 251, 235, 291, 353, 393, 459, - 387, 0, 340, 0, 0, 449, 366, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 297, 233, 299, 196, 378, 450, 268, 0, - 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 224, 0, 231, 321, - 330, 329, 310, 311, 313, 315, 320, 327, 333, 0, - 0, 0, 0, 0, 247, 295, 254, 246, 469, 0, - 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 278, 0, 367, 239, 0, 0, 0, 0, 505, 0, - 0, 0, 0, 0, 0, 0, 335, 0, 304, 192, - 211, 0, 0, 377, 420, 426, 0, 0, 0, 237, - 0, 424, 391, 488, 219, 266, 417, 397, 422, 404, - 269, 0, 0, 423, 341, 474, 411, 485, 506, 507, - 245, 371, 496, 463, 502, 520, 212, 242, 385, 456, - 491, 446, 364, 470, 471, 303, 445, 276, 195, 339, - 512, 210, 432, 228, 217, 476, 494, 271, 415, 202, - 458, 483, 225, 436, 0, 0, 522, 204, 481, 455, - 360, 300, 301, 203, 0, 416, 250, 274, 240, 380, - 478, 479, 238, 523, 214, 501, 206, 0, 500, 373, - 473, 482, 361, 351, 205, 480, 359, 350, 306, 325, - 326, 262, 285, 409, 344, 410, 286, 369, 368, 370, - 198, 492, 0, 199, 0, 451, 493, 524, 220, 221, - 223, 0, 261, 265, 273, 275, 281, 282, 289, 337, - 384, 408, 406, 412, 0, 468, 486, 497, 504, 510, - 511, 513, 514, 515, 516, 517, 519, 518, 372, 288, - 447, 305, 342, 0, 0, 390, 425, 226, 490, 448, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 525, 526, 527, 528, 529, 530, 531, 532, 533, - 534, 535, 536, 537, 538, 539, 540, 541, 542, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 543, - 352, 438, 487, 307, 319, 322, 312, 331, 0, 332, - 308, 309, 314, 316, 317, 318, 323, 324, 328, 334, - 234, 0, 191, 207, 338, 0, 413, 270, 521, 499, - 495, 0, 209, 0, 244, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 193, 194, 200, 208, - 218, 222, 229, 243, 258, 260, 267, 279, 284, 287, - 292, 293, 296, 302, 348, 354, 355, 356, 357, 374, - 375, 376, 379, 382, 383, 386, 388, 389, 392, 396, - 400, 401, 402, 403, 405, 407, 414, 419, 427, 428, - 429, 430, 431, 434, 435, 440, 441, 442, 443, 444, - 452, 453, 457, 475, 477, 489, 503, 508, 433, 280, - 484, 509, 0, 347, 0, 0, 349, 263, 283, 294, - 0, 498, 454, 213, 421, 272, 201, 232, 216, 241, - 256, 259, 298, 358, 365, 394, 399, 277, 253, 230, - 418, 227, 437, 460, 461, 462, 464, 362, 248, 398, - 0, 363, 345, 466, 467, 290, 465, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, - 0, 0, 0, 0, 0, 0, 0, 252, 0, 0, - 0, 0, 336, 249, 0, 0, 395, 0, 197, 0, - 439, 236, 346, 343, 472, 264, 255, 251, 235, 291, - 353, 393, 459, 387, 0, 340, 0, 0, 449, 366, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 297, 233, 299, 196, 378, - 450, 268, 0, 0, 0, 0, 188, 2608, 190, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, - 0, 231, 321, 330, 329, 310, 311, 313, 315, 320, - 327, 333, 0, 0, 0, 0, 0, 247, 295, 254, - 246, 469, 0, 0, 0, 0, 0, 0, 0, 215, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 257, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 278, 0, 367, 239, 0, 0, 0, - 0, 505, 0, 0, 0, 0, 0, 0, 0, 335, - 0, 304, 192, 211, 0, 0, 377, 420, 426, 0, - 0, 0, 237, 0, 424, 391, 488, 219, 266, 417, - 397, 422, 404, 269, 0, 0, 423, 341, 474, 411, - 485, 506, 507, 245, 371, 496, 463, 502, 520, 212, - 242, 385, 456, 491, 446, 364, 470, 471, 303, 445, - 276, 195, 339, 512, 210, 432, 228, 217, 476, 494, - 271, 415, 202, 458, 483, 225, 436, 0, 0, 522, - 204, 481, 455, 360, 300, 301, 203, 0, 416, 250, - 274, 240, 380, 478, 479, 238, 523, 214, 501, 206, - 0, 500, 373, 473, 482, 361, 351, 205, 480, 359, - 350, 306, 325, 326, 262, 285, 409, 344, 410, 286, - 369, 368, 370, 198, 492, 0, 199, 0, 451, 493, - 524, 220, 221, 223, 0, 261, 265, 273, 275, 281, - 282, 289, 337, 384, 408, 406, 412, 0, 468, 486, - 497, 504, 510, 511, 513, 514, 515, 516, 517, 519, - 518, 372, 288, 447, 305, 342, 0, 0, 390, 425, - 226, 490, 448, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 525, 526, 527, 528, 529, 530, - 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, - 541, 542, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 543, 352, 438, 487, 307, 319, 322, 312, - 331, 0, 332, 308, 309, 314, 316, 317, 318, 323, - 324, 328, 334, 234, 0, 191, 207, 338, 0, 413, - 270, 521, 499, 495, 0, 209, 0, 244, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 194, 200, 208, 218, 222, 229, 243, 258, 260, 267, - 279, 284, 287, 292, 293, 296, 302, 348, 354, 355, - 356, 357, 374, 375, 376, 379, 382, 383, 386, 388, - 389, 392, 396, 400, 401, 402, 403, 405, 407, 414, - 419, 427, 428, 429, 430, 431, 434, 435, 440, 441, - 442, 443, 444, 452, 453, 457, 475, 477, 489, 503, - 508, 433, 280, 484, 509, 0, 347, 0, 0, 349, - 263, 283, 294, 0, 498, 454, 213, 421, 272, 201, - 232, 216, 241, 256, 259, 298, 358, 365, 394, 399, - 277, 253, 230, 418, 227, 437, 460, 461, 462, 464, - 362, 248, 398, 0, 363, 345, 466, 467, 290, 465, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 381, 0, 0, 0, 0, 0, 0, 0, 0, - 252, 0, 0, 0, 0, 336, 249, 0, 0, 395, - 0, 197, 0, 439, 236, 346, 343, 472, 264, 255, - 251, 235, 291, 353, 393, 459, 387, 0, 340, 0, - 0, 449, 366, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 297, 233, - 299, 196, 378, 450, 268, 0, 0, 0, 0, 188, - 2121, 190, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 224, 0, 231, 321, 330, 329, 310, 311, - 313, 315, 320, 327, 333, 0, 0, 0, 0, 0, - 247, 295, 254, 246, 469, 0, 0, 0, 0, 0, - 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 257, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 278, 0, 367, 239, - 0, 0, 0, 0, 505, 0, 0, 0, 0, 0, - 0, 0, 335, 0, 304, 192, 211, 0, 0, 377, - 420, 426, 0, 0, 0, 237, 0, 424, 391, 488, - 219, 266, 417, 397, 422, 404, 269, 0, 0, 423, - 341, 474, 411, 485, 506, 507, 245, 371, 496, 463, - 502, 520, 212, 242, 385, 456, 491, 446, 364, 470, - 471, 303, 445, 276, 195, 339, 512, 210, 432, 228, - 217, 476, 494, 271, 415, 202, 458, 483, 225, 436, - 0, 0, 522, 204, 481, 455, 360, 300, 301, 203, - 0, 416, 250, 274, 240, 380, 478, 479, 238, 523, - 214, 501, 206, 0, 500, 373, 473, 482, 361, 351, - 205, 480, 359, 350, 306, 325, 326, 262, 285, 409, - 344, 410, 286, 369, 368, 370, 198, 492, 0, 199, - 0, 451, 493, 524, 220, 221, 223, 0, 261, 265, - 273, 275, 281, 282, 289, 337, 384, 408, 406, 412, - 0, 468, 486, 497, 504, 510, 511, 513, 514, 515, - 516, 517, 519, 518, 372, 288, 447, 305, 342, 0, - 0, 390, 425, 226, 490, 448, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 525, 526, 527, - 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, - 538, 539, 540, 541, 542, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 543, 352, 438, 487, 307, - 319, 322, 312, 331, 0, 332, 308, 309, 314, 316, - 317, 318, 323, 324, 328, 334, 234, 0, 191, 207, - 338, 0, 413, 270, 521, 499, 495, 0, 209, 0, - 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 312, 331, 0, 332, 308, 309, 314, 316, 317, 318, + 323, 324, 328, 334, 234, 0, 191, 207, 338, 0, + 413, 270, 521, 499, 495, 0, 209, 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 193, 194, 200, 208, 218, 222, 229, 243, - 258, 260, 267, 279, 284, 287, 292, 293, 296, 302, - 348, 354, 355, 356, 357, 374, 375, 376, 379, 382, - 383, 386, 388, 389, 392, 396, 400, 401, 402, 403, - 405, 407, 414, 419, 427, 428, 429, 430, 431, 434, - 435, 440, 441, 442, 443, 444, 452, 453, 457, 475, - 477, 489, 503, 508, 433, 280, 484, 509, 0, 347, - 0, 0, 349, 263, 283, 294, 0, 498, 454, 213, - 421, 272, 201, 232, 216, 241, 256, 259, 298, 358, - 365, 394, 399, 277, 253, 230, 418, 227, 437, 460, - 461, 462, 464, 362, 248, 398, 0, 0, 345, 466, - 467, 290, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 193, 194, 200, 208, 218, 222, 229, 243, 258, 260, + 267, 279, 284, 287, 292, 293, 296, 302, 348, 354, + 355, 356, 357, 374, 375, 376, 379, 382, 383, 386, + 388, 389, 392, 396, 400, 401, 402, 403, 405, 407, + 414, 419, 427, 428, 429, 430, 431, 434, 435, 440, + 441, 442, 443, 444, 452, 453, 457, 475, 477, 489, + 503, 508, 433, 280, 484, 509, 0, 347, 0, 0, + 349, 263, 283, 294, 0, 498, 454, 213, 421, 272, + 201, 232, 216, 241, 256, 259, 298, 358, 365, 394, + 399, 277, 253, 230, 418, 227, 437, 460, 461, 462, + 464, 362, 248, 398, 0, 0, 345, 466, 467, 290, } var yyPact = [...]int{ - 3074, -1000, -414, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 3748, -1000, -408, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 2021, 2072, -1000, -1000, - -1000, -1000, 2198, -1000, 772, 1692, -1000, 1993, 3636, -1000, - 42284, 507, -1000, 41078, 499, 133, 42284, -1000, 163, -1000, - 155, 42284, 159, 40475, -1000, -1000, -298, 18154, 1946, 25, - 23, 42284, -1000, -1000, -1000, -1000, 2190, 1690, -1000, 334, - -1000, -1000, -1000, -1000, -1000, -1000, 39872, -1000, -1000, -1000, - 2005, 1988, 2206, 660, 1930, -1000, 2065, 1690, -1000, 18154, - 2127, 2042, 17551, -1000, 17551, 411, -1000, -1000, 13320, -1000, - -1000, 24194, 42284, 30224, 325, -1000, 1993, -1000, -1000, -1000, - 94, -1000, 321, 1613, -1000, 1612, -1000, 613, 602, 340, - 455, 453, 339, 336, 335, 333, 332, 331, 327, 322, - 343, -1000, 717, 717, -155, -159, 351, 501, 396, 396, - 457, 1967, 1966, -1000, 729, -1000, 717, 717, 717, 358, - 717, 717, 717, 717, 293, 291, 717, 717, 717, 717, - 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, - 717, 717, 717, 381, 1993, 274, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 2009, 2043, -1000, -1000, + -1000, -1000, 2165, -1000, 687, 1763, -1000, 2026, 344, -1000, + 41912, 447, -1000, 40706, 444, 3032, 41912, -1000, 122, -1000, + 109, 41912, 117, 40103, -1000, -1000, -291, 17782, 1959, 0, + -1, 41912, -1000, -1000, -1000, -1000, 2132, 1718, -1000, 325, + -1000, -1000, -1000, -1000, -1000, -1000, 39500, -1000, -1000, -1000, + 2040, 2004, 2178, 588, 1952, -1000, 2074, 1718, -1000, 17782, + 2108, 2056, 17179, -1000, 17179, 393, -1000, -1000, 12948, -1000, + -1000, 23822, 41912, 29852, 322, -1000, 2026, -1000, -1000, -1000, + 84, -1000, 280, 1641, -1000, 1631, -1000, 619, 736, 317, + 427, 413, 316, 311, 308, 305, 290, 289, 288, 284, + 326, -1000, 607, 607, -159, -168, 490, 392, 370, 370, + 421, 1990, 1989, -1000, 611, -1000, 607, 607, 607, 291, + 607, 607, 607, 607, 242, 241, 607, 607, 607, 607, + 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, + 607, 607, 607, 304, 2026, 192, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, @@ -5906,36 +5868,36 @@ var yyPact = [...]int{ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 42284, 184, 42284, -1000, 559, 42284, - 805, 805, 55, 805, 805, 805, 805, 153, 655, 22, - -1000, 152, 257, 128, 270, 834, 165, -1000, -1000, 252, - 834, 1241, -1000, 665, 123, -1000, 805, 805, -1000, 10888, - 150, 10888, 10888, -1000, 1984, -1000, -1000, -1000, -1000, 1131, - -1000, 452, -1000, -1000, -1000, -1000, 42284, 39269, 330, 737, - -1000, -1000, -1000, 44, -1000, -1000, 1355, 1128, 18154, 1175, - -1000, 1522, 632, -1000, -1000, -1000, -1000, -1000, 533, 18757, - 18757, 18757, 18757, -1000, -1000, 1523, 1523, 1523, 1523, 18757, - 1523, 18757, 1523, 1523, 1523, 1523, 18154, 1523, 1523, 1523, - -1000, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, - 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, - 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, - 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, - 1523, 1523, 557, 1523, 1523, 1523, 1523, 1523, -1000, -1000, - -1000, -1000, 1523, 1523, 1523, 1523, 1523, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 21777, -1000, 15742, -1000, + -1000, -1000, -1000, -1000, 41912, 131, 41912, -1000, 505, 41912, + 747, 747, 16, 747, 747, 747, 747, 123, 617, -7, + -1000, 121, 182, 99, 180, 754, 205, -1000, -1000, 177, + 754, 1247, -1000, 594, 101, -1000, 747, 747, -1000, 10516, + 172, 10516, 10516, -1000, 2012, -1000, -1000, -1000, -1000, 1243, + -1000, 420, -1000, -1000, -1000, -1000, 41912, 38897, 338, 656, + -1000, -1000, -1000, 73, -1000, -1000, 1433, 864, 17782, 913, + -1000, 2253, 558, -1000, -1000, -1000, -1000, -1000, 483, 18385, + 18385, 18385, 18385, -1000, -1000, 1661, 1661, 1661, 1661, 18385, + 1661, 18385, 1661, 1661, 1661, 1661, 17782, 1661, 1661, 1661, + -1000, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, + 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, + 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, + 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, + 1661, 1661, 504, 1661, 1661, 1661, 1661, 1661, -1000, -1000, + -1000, -1000, 1661, 1661, 1661, 1661, 1661, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 21405, -1000, 15370, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 42284, - -1000, 1523, 181, 42284, 42284, 329, 2065, 1690, -1000, 2190, - 2112, 334, -1000, 2058, 1374, 1343, 1247, 1690, 1526, 42284, - -1000, 1615, -1000, -1000, -1000, 1841, 1106, 1240, -1000, -1000, - -1000, -1000, 1573, 18154, -1000, -1000, 2192, -1000, 21174, 555, - 885, 2189, 38666, -1000, 411, 411, 1610, 12712, -23, -1000, - -1000, -1000, 732, 27812, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 41912, + -1000, 1661, 137, 41912, 41912, 294, 2074, 1718, -1000, 2132, + 2088, 325, -1000, 2240, 1436, 1478, 1220, 1718, 1612, 41912, + -1000, 1669, -1000, -1000, -1000, 1860, 1156, 1246, -1000, -1000, + -1000, -1000, 1210, 17782, -1000, -1000, 2147, -1000, 20802, 498, + 865, 2143, 38294, -1000, 393, 393, 1628, 12340, -31, -1000, + -1000, -1000, 650, 27440, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 1984, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 2012, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, @@ -5948,261 +5910,261 @@ var yyPact = [...]int{ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 1587, 42284, -1000, -1000, - 3298, 1156, -1000, 1689, -1000, 1561, -1000, 1647, 18154, 1663, - 493, 1156, 480, 476, 468, -1000, -76, -1000, -1000, -1000, - -1000, -1000, -1000, 717, 717, 717, -1000, 342, 2125, 3636, - 4450, -1000, -1000, -1000, 38063, 1688, 1156, -1000, 1685, -1000, - 811, 500, 596, 596, 1156, -1000, -1000, 42284, 1156, 798, - 795, 1156, 1156, 42284, 42284, -1000, 37460, -1000, 36857, 36254, - 1051, 42284, 35651, 35048, 34445, 33842, 33239, -1000, 1792, -1000, - 1810, -1000, -1000, -1000, 42284, 1156, 1156, 42284, 42284, 349, - -1000, -1000, 42284, 1156, -1000, -1000, 1050, 1048, 1034, 717, - 717, 1033, 1228, 1226, 1221, 717, 717, 1030, 1210, 29018, - 1209, 258, 1028, 1027, 1024, 1049, 1208, 188, 1201, 1036, - 950, 1020, 42284, 1684, 42284, -1000, 244, 788, 387, 723, - 1993, 1933, 1568, 423, 485, 1156, 407, 407, 42284, -1000, - 11496, -1000, -1000, 1200, 18154, -1000, 845, 834, 834, -1000, - -1000, -1000, -1000, -1000, -1000, 805, 42284, 845, -1000, -1000, - -1000, 834, 805, 42284, 805, 805, 805, 805, 834, 834, - 834, 805, 42284, 42284, 42284, 42284, 42284, 42284, 42284, 42284, - 42284, 10888, 665, 805, -312, -1000, 1196, -1000, 1802, -1000, - -1000, -1000, -1000, -1000, -1000, 10888, 10888, -1000, -1000, -1000, - -1000, 158, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -81, 1539, 32636, -1000, -313, -315, -316, -321, -1000, - -1000, -1000, -329, -330, -1000, -1000, -1000, 18154, 18154, 18154, - 18154, -189, -1000, 861, 18757, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 920, 764, 18757, 18757, 18757, 18757, 18757, 18757, - 18757, 18757, 18757, 18757, 18757, 18757, 18757, 18757, 18757, 26003, - 5264, 5264, 632, 632, 632, 632, -1000, 17551, 18154, 18154, - 632, -1000, 1156, 32033, 17551, 17551, 18154, 1976, 745, 1128, - 42284, -1000, 1247, -1000, -1000, -1000, 978, -1000, 1976, 42284, - 42284, 784, 18154, 18154, 18154, 18154, 18154, 18154, 14531, 18154, - 18154, 18154, 18154, 18154, 18154, 18154, 18154, 18154, 18154, 18154, - 18154, 18154, 18154, 18154, 18154, 18154, 18154, 18154, 18154, 18154, - 18154, 18154, 18154, 18154, 18154, 13928, 11496, 17551, 17551, 17551, - 17551, 17551, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 554, 1389, 1330, 1469, -1000, 1530, - -1000, -151, 23591, 18154, 1176, 2188, 1733, 42284, -1000, -1000, - -1000, 2065, -1000, 2065, 1389, 2009, 1847, 17551, -1000, -1000, - 2009, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1309, - -1000, 42284, 1526, 2036, 42284, 1836, 1170, 362, -1000, 18154, - 18154, 1518, -1000, 1123, 42284, -1000, -189, -1000, 31430, -1000, - -1000, 10280, -1000, 42284, 318, 42284, -1000, 22988, 30827, 12104, - -23, -1000, 12104, 1459, -1000, 4, 0, 15134, 625, -1000, - -1000, -1000, 351, 19963, 1295, 625, 84, -1000, -1000, -1000, - 1647, -1000, 1647, 1647, 1647, 1647, 362, 362, 362, 362, - -1000, -1000, -1000, -1000, -1000, 1680, 1676, -1000, 1647, 1647, - 1647, 1647, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1674, - 1674, 1674, 1649, 1649, 385, -1000, 18154, 237, 30224, 2024, - 1003, 1646, 244, 409, 1731, 1156, 1156, 1156, 409, -1000, - 1258, 1250, 1137, -1000, -401, 1516, -1000, -1000, 2121, -1000, - -1000, 635, 842, 836, 750, 42284, 191, 307, -1000, 384, - -1000, 30224, 1156, 789, 596, 1156, -1000, 1156, -1000, -1000, - -1000, -1000, -1000, 1156, -1000, -1000, 1506, -1000, 1411, 880, - 832, 876, 824, 1506, -1000, -1000, -126, 1506, -1000, 1506, - -1000, 1506, -1000, 1506, -1000, 1506, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 709, 171, -241, 42284, 191, - 26003, -1000, 422, -1000, -1000, -1000, 26003, 26003, -1000, -1000, - -1000, -1000, 1167, 1161, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 1662, 41912, -1000, -1000, + 5372, 1225, -1000, 1762, -1000, 1635, -1000, 1709, 17782, 1735, + 441, 1225, 433, 432, 426, -1000, -93, -1000, -1000, -1000, + -1000, -1000, -1000, 607, 607, 607, -1000, 301, 2102, 344, + 4811, -1000, -1000, -1000, 37691, 1761, 1225, -1000, 1758, -1000, + 740, 474, 533, 533, 1225, -1000, -1000, 41912, 1225, 730, + 729, 1225, 1225, 41912, 41912, -1000, 37088, -1000, 36485, 35882, + 1066, 41912, 35279, 34676, 34073, 33470, 32867, -1000, 1885, -1000, + 1759, -1000, -1000, -1000, 41912, 1225, 1225, 41912, 41912, 286, + -1000, -1000, 41912, 1225, -1000, -1000, 1064, 1060, 1059, 607, + 607, 1058, 1245, 1236, 1218, 607, 607, 1055, 1212, 28646, + 1211, 191, 1030, 1023, 1020, 1088, 1208, 197, 1203, 1063, + 1008, 1014, 41912, 1753, 41912, -1000, 173, 631, 403, 629, + 2026, 1937, 1624, 409, 437, 1225, 379, 379, 41912, -1000, + 11124, -1000, -1000, 1202, 17782, -1000, 756, 754, 754, -1000, + -1000, -1000, -1000, -1000, -1000, 747, 41912, 756, -1000, -1000, + -1000, 754, 747, 41912, 747, 747, 747, 747, 754, 754, + 754, 747, 41912, 41912, 41912, 41912, 41912, 41912, 41912, 41912, + 41912, 10516, 594, 747, -317, -1000, 1197, -1000, 1831, -1000, + -1000, -1000, -1000, -1000, -1000, 10516, 10516, -1000, -1000, -1000, + -1000, 116, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -87, 1619, 32264, -1000, -319, -321, -323, -324, -1000, + -1000, -1000, -327, -335, -1000, -1000, -1000, 17782, 17782, 17782, + 17782, -191, -1000, 900, 18385, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 873, 835, 18385, 18385, 18385, 18385, 18385, 18385, + 18385, 18385, 18385, 18385, 18385, 18385, 18385, 18385, 18385, 25631, + 5873, 5873, 558, 558, 558, 558, -1000, 17179, 17782, 17782, + 558, -1000, 1225, 31661, 17179, 17179, 17782, 1995, 680, 864, + 41912, -1000, 1220, -1000, -1000, -1000, 943, -1000, 709, 41912, + 41912, 1343, 17782, 17782, 17782, 17782, 17782, 17782, 14159, 17782, + 17782, 17782, 17782, 17782, 17782, 17782, 17782, 17782, 17782, 17782, + 17782, 17782, 17782, 17782, 17782, 17782, 17782, 17782, 17782, 17782, + 17782, 17782, 17782, 17782, 17782, 13556, 11124, 17179, 17179, 17179, + 17179, 17179, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 497, 1424, 1503, 1499, -1000, 1617, + -1000, -127, 23219, 17782, 1191, 2141, 1757, 41912, -1000, -1000, + -1000, 2074, -1000, 2074, 1424, 2171, 1887, 17179, -1000, -1000, + 2171, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1398, + -1000, 41912, 1612, 2053, 41912, 1874, 1174, 277, -1000, 17782, + 17782, 1608, -1000, 993, 41912, -1000, -191, -1000, 31058, -1000, + -1000, 9908, -1000, 41912, 278, 41912, -1000, 22616, 30455, 11732, + -31, -1000, 11732, 1497, -1000, -27, -46, 14762, 555, -1000, + -1000, -1000, 490, 19591, 1357, 555, 29, -1000, -1000, -1000, + 1709, -1000, 1709, 1709, 1709, 1709, 277, 277, 277, 277, + -1000, -1000, -1000, -1000, -1000, 1745, 1739, -1000, 1709, 1709, + 1709, 1709, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1738, + 1738, 1738, 1712, 1712, 356, -1000, 17782, 312, 29852, 2039, + 1012, 1240, 173, 381, 1751, 1225, 1225, 1225, 381, -1000, + 1315, 1310, 1107, -1000, -400, 1589, -1000, -1000, 2099, -1000, + -1000, 676, 794, 781, 812, 41912, 142, 273, -1000, 372, + -1000, 29852, 1225, 723, 533, 1225, -1000, 1225, -1000, -1000, + -1000, -1000, -1000, 1225, -1000, -1000, 1545, -1000, 1664, 854, + 774, 834, 762, 1545, -1000, -1000, -133, 1545, -1000, 1545, + -1000, 1545, -1000, 1545, -1000, 1545, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 666, 161, -237, 41912, 142, + 25631, -1000, 397, -1000, -1000, -1000, 25631, 25631, -1000, -1000, + -1000, -1000, 1170, 1168, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -388, 42284, -1000, 214, 721, 297, 328, - 259, 42284, 242, 2045, 2040, 2026, 207, 288, 42284, 42284, - 407, 1782, 42284, 2016, 42284, -1000, -1000, -1000, -1000, -1000, - 1128, 42284, -1000, -1000, 805, 805, -1000, -1000, 42284, 805, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 805, -1000, + -1000, -1000, -1000, -388, 41912, -1000, 157, 621, 259, 296, + 228, 41912, 225, 2064, 2063, 2060, 159, 240, 41912, 41912, + 379, 1829, 41912, 2047, 41912, -1000, -1000, -1000, -1000, -1000, + 864, 41912, -1000, -1000, 747, 747, -1000, -1000, 41912, 747, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 747, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 42284, -1000, -1000, -1000, -1000, 42284, - -1000, -1000, -1000, -1000, -1000, 65, -3, 324, -1000, -1000, - -1000, -1000, -1000, 2047, -1000, 1128, 815, 751, -1000, 1523, - -1000, -1000, 922, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 920, 18757, 18757, 18757, 1590, 438, 1668, 896, 926, 1143, - 1143, 994, 994, 638, 638, 638, 638, 638, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 1159, -1000, 1524, -1000, - 1218, 1398, 1247, -1000, 1524, 1524, 1557, 17551, -1000, -1000, - 800, -1000, 18154, 1247, -1000, -1000, 1247, 1247, 18154, 1497, - 1495, 2179, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 41912, -1000, -1000, -1000, -1000, 41912, + -1000, -1000, -1000, -1000, -1000, 162, -29, 307, -1000, -1000, + -1000, -1000, -1000, 2070, -1000, 864, 739, 688, -1000, 1661, + -1000, -1000, 869, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 873, 18385, 18385, 18385, 1476, 419, 1026, 1252, 787, 727, + 727, 844, 844, 562, 562, 562, 562, 562, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 1167, -1000, 1596, -1000, + 1126, 1539, 1220, -1000, 1596, 1596, 984, 17179, -1000, -1000, + 725, -1000, 17782, 1220, -1000, -1000, 1220, 1220, 1220, 17782, + -1000, 1530, 1527, 2140, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 1093, 1646, 1646, 1646, 1646, 1646, 18154, - 943, -1000, -1000, -1000, 2333, 2280, 1247, 1355, 1247, 1491, - -1000, 2268, 1646, 2261, 2254, 2239, 1531, 2224, 2200, 2102, - 1646, 1646, 1646, 1424, 2060, 2031, 1891, 1887, 1879, 1869, - 1860, 1822, 1803, 1646, 1247, 17551, 17551, 1462, 1523, 551, - -1000, 1524, 1247, 1247, 1524, 1524, 11496, 1247, -1000, 42284, - -1000, -294, -1000, -36, 637, 1523, -1000, 29018, 1247, -1000, - 3744, -1000, 43490, -1000, -1000, -1000, -1000, -1000, 27209, 1586, - 2009, -1000, -1000, 1523, 1559, -1000, -1000, 362, 76, 26606, - 604, 604, 95, 1128, 1128, 18154, -1000, -1000, -1000, -1000, - -1000, -1000, 546, 2153, 323, 1523, -1000, 1395, 1846, -1000, - -1000, -1000, 2035, 20571, -1000, 1523, 1523, 42284, 1654, 1556, - -1000, 545, -1000, 1459, -23, -27, -1000, -1000, -1000, -1000, - 1128, -1000, 1101, 319, 326, -1000, 382, -1000, -1000, -1000, - -1000, 1954, 70, -1000, -1000, -1000, 198, 362, -1000, -1000, - -1000, -1000, -1000, -1000, 1155, 1155, -1000, -1000, -1000, -1000, - -1000, 989, -1000, -1000, -1000, 981, -1000, -1000, 1787, 1764, - 237, -1000, -1000, 717, 1145, -1000, -1000, 1956, 717, 717, - 42284, -1000, -1000, 1292, 2024, 214, 42284, 758, 1781, -1000, - 1731, 1731, 1731, 42284, -1000, -1000, -1000, -1000, -1000, -1000, - -390, 68, 337, -1000, -1000, -1000, 4277, 42284, 1549, -1000, - 189, -1000, 1290, -1000, 42284, -1000, 1534, 1662, 1156, 1156, - -1000, -1000, -1000, 42284, 1523, -1000, -1000, -1000, -1000, 483, - 1991, 268, -1000, -1000, -208, -1000, -1000, 191, 189, 625, - 1156, -1000, -1000, -1000, -1000, -1000, -391, 1532, 466, 197, - 284, 42284, 42284, 42284, 42284, 42284, 521, -1000, -1000, -1000, - -1000, 179, -1000, -1000, 179, -1000, -1000, -1000, -1000, 280, - 413, -1000, 42284, 42284, 547, -1000, -1000, -1000, 834, -1000, - -1000, 834, -1000, -1000, -1000, -1000, -1000, 1979, 42284, -18, - -349, -1000, -344, 18154, -1000, -1000, -1000, -1000, 1555, 437, - 1668, 18757, 18757, 17551, -116, 786, 786, 26003, -1000, -1000, - -1000, 18154, 18154, 1658, 739, -1000, 18154, 873, -1000, -1000, - -1000, 1646, 18154, 18154, 18154, 1247, 262, -1000, -1000, -1000, - -1000, -1000, 2176, -1000, 18154, 18154, 18154, -1000, -1000, 18154, - 18154, -1000, 18154, 18154, 19360, 1247, 19360, 18154, 18154, 19360, - -1000, -1000, -1000, -1000, 19360, 18154, 18154, 18154, 18154, 18154, - 18154, 18154, 18154, 18154, -1000, -1000, 1524, 1524, 17551, 11496, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 637, -1000, 596, 596, 596, 42284, -1000, -1000, -1000, -1000, - -1000, -1000, 1445, 2053, -1000, 1875, 1864, 2164, 2153, -1000, - 22988, 2009, -1000, -1000, 42284, -289, -1000, 1921, 1880, 604, - 604, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 9672, 2065, - 18154, 1771, 42284, 1523, -1000, 22385, 42284, 42284, 22988, 22988, - 22988, 22988, 22988, -1000, 1819, 1815, -1000, 1813, 1794, 1907, - 42284, -1000, 1502, 1247, 2112, 20571, 334, 18154, 24797, 1333, - 22988, -1000, -1000, 22988, 42284, 9064, -1000, -1000, -20, -37, - -1000, -1000, -1000, -1000, 351, -1000, -1000, 1937, 2033, 1940, - -1000, -1000, -1000, -1000, -1000, 1499, -1000, 1488, 1429, 1486, - 171, -1000, 1659, 1978, 717, 717, -1000, 979, -1000, 1156, - 1144, 1130, -1000, -1000, -1000, 465, -1000, 2014, 42284, 1770, - 1762, 1749, -1000, -399, 977, 1660, 1655, 18154, 1657, 2119, - 1387, 42284, -1000, -1000, 42284, -1000, 226, -1000, 237, 42284, - -1000, -1000, -1000, 307, 42284, -1000, 6020, -1000, -1000, -1000, - 189, -1000, -1000, -1000, -1000, -1000, -1000, 42284, 205, -1000, - 1653, 901, -1000, -1000, 1706, -1000, -1000, -1000, -1000, 174, - 296, 170, 1105, 170, -1000, 42284, 524, 1764, 42284, -1000, - -1000, -1000, 805, 805, -1000, -1000, 1973, -1000, 1156, 1646, - 18757, 18757, -1000, 632, -1000, 1523, 1247, 1647, 1647, -1000, - 1647, 1649, -1000, 1647, 142, 1647, 121, 1647, -1000, -1000, - 1247, 1247, 1409, 1367, -83, -1000, 1128, 18154, -1000, 1795, - 1769, 1646, -1000, 1639, 1624, 18154, 1646, 1646, 1646, -1000, - 1128, 1531, 1765, 1382, -1000, -1000, -1000, -1000, 1421, 1646, - 1650, -287, 1247, 1481, 1481, 1481, 1481, 1481, 1469, 1469, - 1469, 1469, -1000, -1000, 1247, -1000, -1000, 2034, 2034, 2034, - 1443, 42887, 42284, -1000, -1000, -1000, -1000, 2153, 2150, 1415, - -1000, -1000, 76, 406, -1000, 1893, 1880, -1000, 2118, 1913, - 2115, -1000, -1000, -1000, -1000, -1000, 1128, -1000, 1998, 1373, - -1000, 719, 1321, -1000, -1000, 16948, 1467, 1863, 544, 1443, - 1378, 1846, 1724, 1746, 2357, -1000, -1000, -1000, -1000, 1801, - -1000, 1785, -1000, -1000, 1615, -1000, -1000, 1330, 1247, 1641, - 318, 22988, 1376, 1376, -1000, 538, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 864, 5889, 2205, -1000, 1103, -1000, 1013, - 185, 976, -1000, -1000, 717, 717, -1000, 785, 773, -1000, - 42284, 1621, -1000, 362, 1102, 362, 974, -1000, 973, -1000, - -1000, -1000, -1000, 1711, 1775, -1000, -1000, -1000, -1000, 42284, - -1000, -1000, 42284, 42284, 42284, 1620, 2114, -1000, 18154, 1618, - 718, 1761, 42284, 42284, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 416, 717, -357, 287, 286, - 717, 717, 717, -400, -1000, -1000, 1426, 1413, -1000, -150, - -1000, 18154, -1000, -1000, -1000, 955, 955, -1000, 1615, -1000, - -1000, -1000, 1287, -1000, -1000, -131, 42284, 42284, 42284, 42284, - -1000, 919, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 632, 18757, -1000, -1000, 362, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 18154, -1000, - 18154, -1000, 2065, 1100, 1128, 18154, 18154, -1000, 949, 947, - 1646, -1000, -1000, -1000, 1247, 19360, -1000, 19360, -1000, 18154, - 216, 786, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 1523, 1971, 1523, 1523, 24797, -1000, -1000, - 2150, 2147, 2101, 1898, 1905, 1905, 1893, -1000, 2095, 2089, - -1000, 1095, 2083, 1092, 769, -1000, 42284, 18154, 1523, -1000, - 355, 42284, 1523, 42284, -1000, 2130, -1000, -1000, 18154, 1617, - -1000, 18154, -1000, -1000, -1000, -1000, -1000, -1000, 5264, 2153, - 1376, -1000, -1000, 642, -1000, 18154, -1000, -1000, -1000, 4314, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1085, 1079, - -1000, -1000, 1616, 18154, -1000, -1000, -1000, 1279, 1274, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1615, -1000, -1000, - -1000, -1000, 307, -398, 1704, 42284, 931, -1000, 1406, 1387, - 302, 1523, 1077, 717, 717, 717, 904, 895, 29018, 1392, - -1000, 42284, 346, -1000, 307, -1000, -162, -165, 1646, -1000, - -1000, 2032, -1000, -1000, 11496, -1000, -1000, 1591, 1719, -1000, - -1000, -1000, 225, -1000, 1646, 1646, 1247, -1000, 1646, 1646, - 1270, 1265, -1000, -1000, 1382, -1000, 1249, -1000, 216, 1247, - 1742, -1000, -1000, 5264, -1000, 25400, -1000, 2068, 2067, 29621, - 29621, 637, 2147, -1000, 18154, 18154, 1892, 909, -1000, -1000, - -1000, -1000, 1076, 1074, -1000, 1072, -1000, 2203, -1000, 1128, - -1000, 1523, -1000, 536, 1321, -1000, 2065, 1128, 42284, 1128, - 58, 2130, -1000, 1646, -1000, 1523, 1523, 1523, 1523, 1523, - 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, - 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, - 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, -1000, -1000, - 42284, 1625, -1000, -1000, 2030, 1371, 67, -1000, 1369, -1000, - -1000, 492, -1000, 18154, -1000, 29018, 1062, 1061, -1000, -1000, - -1000, -1000, -400, -1000, -1000, -1000, -1000, -1000, -1000, 334, - 1358, -1000, 703, 42284, 42284, 1247, 276, -136, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 18154, -1000, 1247, - 1741, -1000, -246, -1000, 1342, -1000, -1000, -1000, -1000, -1000, - 1342, 1342, -1000, -1000, 1128, 1355, -1000, 898, -1000, -1000, - -1000, -1000, -1000, 42284, 1321, 42284, -1000, 1338, 1247, 1523, - 2065, -1000, 1336, -1000, 334, -1000, 1368, 1655, -1000, -1000, - -1000, 16345, -1000, -1000, -1000, -1000, -1000, 223, -128, 11496, - 8456, 1328, -1000, -1000, 1825, -122, -139, 1531, -1000, -336, - -1000, -1000, 28415, -1000, -1000, -1000, -1000, -1000, 1259, -1000, - -1000, 24797, 41681, -1000, -111, 338, -128, 18154, 1331, 1247, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -8, -1000, - -1000, -1000, -1000, -1000, 1706, -1000, 1799, -1000, 1247, -1000, - -1000, -1000, 1318, -1000, 3090, -245, 1738, -1000, -91, -1000, - -1000, -1000, 859, 928, -1000, -1000, -1000, -1000, -1000, -1000, - 1503, 42284, -1000, 383, -1000, -1000, -131, -134, -1000, -1000, - 41681, -237, 625, 5264, -1000, 1737, 1736, 2160, -1000, -1000, - -1000, -1000, -1000, -1000, -406, 1273, 230, -1000, -137, -1000, - -1000, 2010, 58, -1000, 2201, -1000, 2161, 651, 651, -1000, - 892, -406, -1000, -147, -257, -1000, -1000, -1000, -1000, -1000, - 370, 927, -1000, -1000, -1000, -1000, 5264, -1000, -1000, -1000, - 213, 213, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 1101, 1240, 1240, 1240, 1240, + 1240, 17782, 1222, -1000, -1000, -1000, 1896, 1891, 1220, 1433, + 1220, 1509, -1000, 1884, 1240, 1879, 1822, 1806, 1296, 1795, + 1784, 1776, 1240, 1240, 1240, 1370, 1748, 1742, 1734, 1730, + 1720, 1715, 1694, 1658, 1648, 1240, 1220, 17179, 17179, 1507, + 1661, 496, -1000, 1596, 1220, 1220, 1596, 1596, 11124, 1220, + -1000, 41912, -1000, -311, -1000, -42, 553, 1661, -1000, 28646, + 1220, -1000, 5583, -1000, 43118, -1000, -1000, -1000, -1000, -1000, + 26837, 1728, 2171, -1000, -1000, 1661, 1633, -1000, -1000, 277, + 33, 26234, 551, 551, 56, 864, 864, 17782, -1000, -1000, + -1000, -1000, -1000, -1000, 493, 2122, 300, 1661, -1000, 1592, + 1986, -1000, -1000, -1000, 2052, 20199, -1000, 1661, 1661, 41912, + 1654, 1652, -1000, 492, -1000, 1497, -31, -49, -1000, -1000, + -1000, -1000, 864, -1000, 1056, 281, 2698, -1000, 374, -1000, + -1000, -1000, -1000, 1973, 20, -1000, -1000, -1000, 186, 277, + -1000, -1000, -1000, -1000, -1000, -1000, 1164, 1164, -1000, -1000, + -1000, -1000, -1000, 1011, -1000, -1000, -1000, 1007, -1000, -1000, + 1594, 1827, 312, -1000, -1000, 607, 1159, -1000, -1000, 1975, + 607, 607, 41912, -1000, -1000, 1342, 2039, 157, 41912, 694, + 1825, -1000, 1751, 1751, 1751, 41912, -1000, -1000, -1000, -1000, + -1000, -1000, -390, 69, 306, -1000, -1000, -1000, 4160, 41912, + 1604, -1000, 140, -1000, 1337, -1000, 41912, -1000, 1601, 1732, + 1225, 1225, -1000, -1000, -1000, 41912, 1661, -1000, -1000, -1000, + -1000, 422, 2014, 257, -1000, -1000, -208, -1000, -1000, 142, + 140, 555, 1225, -1000, -1000, -1000, -1000, -1000, -391, 1599, + 424, 146, 255, 41912, 41912, 41912, 41912, 41912, 472, -1000, + -1000, -1000, -1000, 129, -1000, -1000, 129, -1000, -1000, -1000, + -1000, 194, 395, -1000, 41912, 41912, 521, -1000, -1000, -1000, + 754, -1000, -1000, 754, -1000, -1000, -1000, -1000, -1000, 2010, + 41912, -30, -363, -1000, -360, 17782, -1000, -1000, -1000, -1000, + 1394, 418, 1026, 18385, 18385, 17179, -128, 578, 578, 25631, + -1000, -1000, -1000, 17782, 17782, 1384, 658, -1000, 17782, 959, + -1000, -1000, -1000, -1000, 1240, 17782, 17782, 17782, 1220, 230, + -1000, -1000, -1000, -1000, -1000, 2139, -1000, 17782, 17782, 17782, + -1000, -1000, 17782, 17782, -1000, 17782, 17782, 18988, 1220, 18988, + 17782, 17782, 18988, -1000, -1000, -1000, -1000, 18988, 17782, 17782, + 17782, 17782, 17782, 17782, 17782, 17782, 17782, -1000, -1000, 1596, + 1596, 17179, 11124, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 553, -1000, 533, 533, 533, 41912, -1000, + -1000, -1000, -1000, -1000, -1000, 1494, 2067, -1000, 1902, 1898, + 2131, 2122, -1000, 22616, 2171, -1000, -1000, 41912, -290, -1000, + 1931, 1960, 551, 551, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 9300, 2074, 17782, 1821, 41912, 1661, -1000, 22013, 41912, + 41912, 22616, 22616, 22616, 22616, 22616, -1000, 1852, 1851, -1000, + 1858, 1840, 1859, 41912, -1000, 1566, 1220, 2088, 20199, 325, + 17782, 24425, 1490, 22616, -1000, -1000, 22616, 41912, 8692, -1000, + -1000, -32, -43, -1000, -1000, -1000, -1000, 490, -1000, -1000, + 1190, 2051, 1963, -1000, -1000, -1000, -1000, -1000, 1562, -1000, + 1559, 1477, 1533, 161, -1000, 1663, 2006, 607, 607, -1000, + 1005, -1000, 1225, 1155, 1154, -1000, -1000, -1000, 423, -1000, + 2044, 41912, 1820, 1818, 1813, -1000, -398, 997, 1726, 1659, + 17782, 1722, 2097, 1447, 41912, -1000, -1000, 41912, -1000, 195, + -1000, 312, 41912, -1000, -1000, -1000, 273, 41912, -1000, 6708, + -1000, -1000, -1000, 140, -1000, -1000, -1000, -1000, -1000, -1000, + 41912, 153, -1000, 1717, 1201, -1000, -1000, 1724, -1000, -1000, + -1000, -1000, 132, 256, 126, 1150, 126, -1000, 41912, 508, + 1827, 41912, -1000, -1000, -1000, 747, 747, -1000, -1000, 2003, + -1000, 1225, 1240, 18385, 18385, -1000, 558, -1000, 1661, 1220, + 1709, 1709, -1000, 1709, 1712, -1000, 1709, 92, 1709, 87, + 1709, -1000, -1000, 1220, 1220, 1198, 1205, -100, -1000, 864, + 17782, -1000, 1578, 1574, 1240, -1000, 1707, 1703, 17782, 1240, + 1240, 1240, -1000, 864, 1296, 1569, 1403, -1000, -1000, -1000, + -1000, 1458, 1240, 1564, -285, 1220, 1501, 1501, 1501, 1501, + 1501, 1499, 1499, 1499, 1499, -1000, -1000, 1220, -1000, -1000, + 2068, 2068, 2068, 1483, 42515, 41912, -1000, -1000, -1000, -1000, + 2122, 2120, 1455, -1000, -1000, 33, 342, -1000, 1915, 1960, + -1000, 2095, 1925, 2094, -1000, -1000, -1000, -1000, -1000, 864, + -1000, 2032, 1301, -1000, 615, 1426, -1000, -1000, 16576, 1488, + 1881, 491, 1483, 1423, 1986, 1785, 1803, 1923, -1000, -1000, + -1000, -1000, 1844, -1000, 1832, -1000, -1000, 1669, -1000, -1000, + 1503, 1220, 1363, 278, 22616, 1418, 1418, -1000, 489, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 809, 6362, 2174, -1000, + 1149, -1000, 1021, 219, 992, -1000, -1000, 607, 607, -1000, + 720, 713, -1000, 41912, 1697, -1000, 277, 1148, 277, 989, + -1000, 957, -1000, -1000, -1000, -1000, 1754, 1824, -1000, -1000, + -1000, -1000, 41912, -1000, -1000, 41912, 41912, 41912, 1696, 2092, + -1000, 17782, 1693, 608, 1535, 41912, 41912, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 373, 607, + -370, 196, 193, 607, 607, 607, -399, -1000, -1000, 1464, + 1460, -1000, -165, -1000, 17782, -1000, -1000, -1000, 961, 961, + -1000, 1669, -1000, -1000, -1000, 1287, -1000, -1000, -135, 41912, + 41912, 41912, 41912, -1000, 931, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 558, 18385, -1000, + -1000, 277, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 17782, -1000, 17782, -1000, 2074, 1142, 864, 17782, 17782, + -1000, 953, 946, 1240, -1000, -1000, -1000, 1220, 18988, -1000, + 18988, -1000, 17782, 229, 578, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 1661, 1994, 1661, 1661, + 24425, -1000, -1000, 2120, 2118, 2091, 1919, 1916, 1916, 1915, + -1000, 2090, 2086, -1000, 1139, 2081, 1137, 701, -1000, 41912, + 17782, 1661, -1000, 315, 41912, 1661, 41912, -1000, 2114, -1000, + -1000, 17782, 1672, -1000, 17782, -1000, -1000, -1000, -1000, -1000, + -1000, 5873, 2122, 1418, -1000, -1000, 577, -1000, 17782, -1000, + -1000, -1000, 4511, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 1135, 1130, -1000, -1000, 1670, 17782, -1000, -1000, -1000, + 1277, 1275, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 1669, -1000, -1000, -1000, -1000, 273, -397, 1531, 41912, 919, + -1000, 1430, 1447, 258, 1661, 1129, 607, 607, 607, 911, + 904, 28646, 1416, -1000, 41912, 343, -1000, 273, -1000, -170, + -171, 1240, -1000, -1000, 2050, -1000, -1000, 11124, -1000, -1000, + 1668, 1743, -1000, -1000, -1000, 524, -1000, 1240, 1240, 1220, + -1000, 1240, 1240, 1269, 1259, -1000, -1000, 1403, -1000, 1117, + -1000, 229, 1220, 1801, -1000, -1000, 5873, -1000, 25028, -1000, + 2080, 2078, 29249, 29249, 553, 2118, -1000, 17782, 17782, 1894, + 862, -1000, -1000, -1000, -1000, 1123, 1122, -1000, 1114, -1000, + 2163, -1000, 864, -1000, 1661, -1000, 482, 1426, -1000, 2074, + 864, 41912, 864, 7, 2114, -1000, 1240, -1000, 1661, 1661, + 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, + 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, + 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, + 1661, -1000, -1000, 41912, 1215, -1000, -1000, 2049, 1387, 66, + -1000, 1374, -1000, -1000, 453, -1000, 17782, -1000, 28646, 1113, + 1082, -1000, -1000, -1000, -1000, -399, -1000, -1000, -1000, -1000, + -1000, -1000, 325, 1435, -1000, 604, 41912, 41912, 1220, 274, + -145, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 17782, -1000, 1220, 1799, -1000, -239, -1000, 1372, -1000, -1000, + -1000, -1000, -1000, 1372, 1372, -1000, -1000, 864, 1433, -1000, + 861, -1000, -1000, -1000, -1000, -1000, 41912, 1426, 41912, -1000, + 1336, 1220, 1661, 2074, -1000, 1307, -1000, 325, -1000, 1650, + 1659, -1000, -1000, -1000, 15973, -1000, -1000, -1000, -1000, -1000, + 198, -134, 11124, 8084, 1298, -1000, -1000, 1873, -131, -152, + 1296, -1000, -339, -1000, -1000, 28043, -1000, -1000, -1000, -1000, + -1000, 1376, -1000, -1000, 24425, 41309, -1000, -126, 282, -134, + 17782, 1504, 1220, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -8, -1000, -1000, -1000, -1000, -1000, 1724, -1000, 1868, + -1000, 1220, -1000, -1000, -1000, 1293, -1000, 5113, -242, 1798, + -1000, -82, -1000, -1000, -1000, 764, 1074, -1000, -1000, -1000, + -1000, -1000, -1000, 1040, 41912, -1000, 353, -1000, -1000, -135, + -141, -1000, -1000, 41309, -236, 555, 5873, -1000, 1791, 1781, + 2128, -1000, -1000, -1000, -1000, -1000, -1000, -405, 1284, 168, + -1000, -148, -1000, -1000, 2042, 7, -1000, 2161, -1000, 2158, + 591, 591, -1000, 872, -405, -1000, -153, -243, -1000, -1000, + -1000, -1000, -1000, 330, 880, -1000, -1000, -1000, -1000, 5873, + -1000, -1000, -1000, 209, 209, -1000, -1000, } var yyPgo = [...]int{ - 0, 2603, 2602, 32, 4, 36, 35, 2601, 24, 100, - 191, 31, 203, 105, 2600, 2599, 2598, 2594, 2592, 2588, - 2587, 228, 225, 218, 2585, 2584, 2582, 2575, 2572, 2570, - 2567, 2566, 2564, 2563, 220, 168, 190, 2562, 2561, 2560, - 125, 184, 96, 94, 187, 2559, 2557, 86, 2555, 2554, - 2553, 200, 181, 179, 791, 2551, 183, 131, 45, 2550, - 2548, 2547, 2546, 2545, 2544, 2543, 2542, 2541, 2536, 2535, - 2534, 2533, 2532, 2531, 2530, 2529, 211, 2528, 2527, 14, - 2525, 89, 2524, 2523, 2522, 2521, 133, 2517, 2513, 2511, - 39, 2510, 2507, 2506, 2505, 2504, 2503, 2502, 151, 2501, - 2499, 2498, 170, 195, 2491, 2489, 176, 110, 124, 2488, - 2487, 119, 188, 2482, 132, 2481, 2478, 2477, 164, 2476, - 5675, 2475, 73, 75, 2473, 68, 84, 74, 69, 18, - 20, 2470, 2468, 71, 97, 2463, 108, 76, 2462, 111, - 106, 2460, 2459, 16, 7, 2458, 5, 1, 2, 77, - 2457, 2455, 140, 2454, 2453, 2449, 120, 2446, 2442, 297, - 2439, 103, 145, 101, 82, 2436, 44, 63, 2435, 2431, - 2428, 2422, 2421, 50, 2417, 2415, 2414, 150, 60, 169, - 38, 65, 58, 141, 2413, 30, 90, 2412, 149, 148, - 2411, 52, 42, 53, 2410, 40, 138, 126, 55, 116, - 155, 2409, 2408, 59, 81, 2405, 2403, 2394, 2391, 2389, - 2388, 80, 2387, 49, 2385, 197, 2384, 21, 2383, 61, - 43, 2382, 78, 146, 79, 37, 2381, 194, 2380, 66, - 173, 136, 171, 2379, 2371, 2370, 2368, 189, 280, 2366, - 2365, 172, 177, 157, 161, 95, 2361, 293, 2359, 2356, - 99, 1544, 2216, 28, 174, 2354, 2353, 4263, 156, 41, - 15, 2350, 127, 2349, 2346, 2345, 196, 175, 144, 996, - 67, 2344, 2335, 12, 2334, 2333, 2329, 2327, 2323, 2322, - 129, 34, 33, 29, 199, 92, 9, 107, 165, 83, - 2321, 2320, 2319, 134, 115, 2318, 167, 166, 142, 139, - 2317, 178, 152, 162, 2315, 492, 27, 2314, 2313, 2312, - 2305, 98, 2302, 2298, 2297, 2295, 163, 160, 130, 91, - 2294, 93, 123, 158, 153, 48, 2292, 47, 2274, 2264, - 23, 186, 26, 2263, 11, 70, 88, 22, 121, 135, - 2259, 0, 2249, 13, 182, 292, 159, 2246, 2245, 6, - 8, 10, 2244, 2239, 2237, 2235, 147, 2234, 2233, 2232, - 2231, 19, 46, 17, 3, 118, 85, 2230, 2227, 5251, - 2828, 143, 2226, 192, + 0, 2517, 2515, 22, 2, 34, 33, 2513, 39, 107, + 193, 27, 189, 115, 2512, 2509, 2508, 2507, 2506, 2505, + 2504, 230, 223, 222, 2503, 2499, 2495, 2494, 2493, 2492, + 2491, 2490, 2489, 2485, 220, 172, 185, 2484, 2481, 2478, + 126, 180, 97, 99, 182, 2477, 2476, 92, 2475, 2474, + 2473, 198, 197, 196, 725, 2471, 178, 128, 48, 2470, + 2468, 2467, 2466, 2465, 2463, 2462, 2461, 2460, 2459, 2458, + 2455, 2454, 2452, 2451, 2450, 2449, 191, 2448, 2447, 16, + 2445, 90, 2444, 2443, 2442, 2441, 143, 2440, 2439, 2438, + 38, 2437, 2436, 2434, 2433, 2432, 2431, 2430, 155, 2429, + 2428, 2427, 173, 192, 2426, 2425, 201, 120, 122, 2424, + 2423, 124, 186, 2408, 131, 2406, 2402, 2399, 164, 2396, + 4941, 2394, 78, 76, 2391, 63, 96, 71, 67, 37, + 3, 2389, 2388, 77, 88, 2387, 110, 81, 2386, 111, + 106, 2385, 2384, 13, 8, 2379, 4, 6, 1, 80, + 2377, 2374, 125, 2373, 2372, 2371, 104, 2370, 2369, 2779, + 2368, 105, 147, 116, 84, 2367, 45, 65, 2366, 2365, + 2364, 2363, 2361, 53, 2359, 2358, 2356, 152, 73, 174, + 42, 35, 58, 153, 2355, 68, 93, 2353, 151, 150, + 2352, 60, 43, 36, 2351, 55, 148, 134, 28, 101, + 145, 2350, 2344, 74, 83, 2343, 2342, 2341, 2340, 2339, + 2338, 82, 2337, 75, 2335, 194, 2334, 14, 2333, 52, + 44, 2332, 66, 135, 79, 41, 2330, 168, 2329, 61, + 167, 144, 169, 2328, 2327, 2325, 2324, 184, 283, 2323, + 2322, 85, 179, 156, 163, 98, 2321, 284, 2320, 2319, + 102, 1546, 2071, 20, 171, 2318, 2317, 4243, 154, 23, + 25, 2313, 190, 2309, 2308, 2301, 202, 175, 136, 960, + 49, 2300, 2299, 12, 2297, 2296, 2294, 2290, 2288, 2285, + 86, 32, 31, 30, 188, 70, 10, 108, 170, 89, + 2284, 2283, 2282, 140, 103, 2281, 166, 160, 142, 130, + 2280, 176, 159, 133, 2275, 331, 29, 2262, 2261, 2260, + 2257, 100, 2256, 2255, 2250, 2249, 165, 157, 138, 94, + 2244, 95, 123, 161, 158, 50, 2240, 47, 2239, 2233, + 21, 181, 26, 2231, 11, 59, 69, 17, 118, 121, + 2228, 0, 2227, 15, 177, 292, 162, 2226, 2225, 7, + 5, 9, 2221, 2220, 2217, 2216, 149, 2208, 2206, 2205, + 2203, 19, 46, 18, 24, 127, 91, 2200, 2199, 2196, + 5231, 2769, 146, 2193, 199, } -//line sql.y:7124 +//line sql.y:7136 type yySymType struct { union any empty struct{} @@ -6667,6 +6629,11 @@ func (st *yySymType) showFilterUnion() *ShowFilter { return v } +func (st *yySymType) starExprUnion() StarExpr { + v, _ := st.union.(StarExpr) + return v +} + func (st *yySymType) statementUnion() Statement { v, _ := st.union.(Statement) return v @@ -6783,7 +6750,7 @@ func (st *yySymType) withUnion() *With { } var yyR1 = [...]int{ - 0, 367, 368, 368, 7, 7, 7, 7, 7, 7, + 0, 368, 369, 369, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 341, 341, @@ -6792,7 +6759,7 @@ var yyR1 = [...]int{ 9, 9, 9, 10, 10, 10, 10, 10, 11, 11, 11, 11, 13, 13, 13, 13, 13, 19, 20, 12, 12, 21, 21, 84, 84, 22, 23, 23, 23, 23, - 371, 371, 154, 154, 152, 152, 153, 153, 222, 222, + 372, 372, 154, 154, 152, 152, 153, 153, 222, 222, 24, 25, 25, 232, 232, 231, 231, 231, 233, 233, 233, 233, 269, 269, 26, 26, 26, 26, 26, 104, 104, 343, 343, 342, 334, 334, 333, 333, 332, 340, @@ -6865,57 +6832,57 @@ var yyR1 = [...]int{ 65, 65, 72, 355, 355, 356, 357, 357, 357, 357, 73, 75, 31, 31, 31, 31, 31, 31, 110, 110, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, - 98, 98, 105, 105, 105, 99, 99, 372, 76, 77, + 98, 98, 105, 105, 105, 99, 99, 373, 76, 77, 77, 103, 103, 103, 96, 96, 96, 102, 102, 102, 16, 16, 17, 221, 221, 18, 18, 107, 107, 109, 109, 109, 109, 109, 111, 111, 111, 111, 111, 111, - 111, 106, 106, 108, 108, 108, 108, 255, 255, 255, - 254, 254, 136, 136, 138, 137, 137, 139, 139, 140, - 140, 140, 140, 184, 184, 162, 162, 219, 219, 217, - 217, 218, 218, 220, 220, 220, 220, 223, 223, 141, - 141, 141, 141, 149, 149, 150, 150, 151, 151, 263, - 263, 260, 260, 260, 259, 259, 155, 155, 155, 157, - 156, 156, 156, 156, 158, 158, 160, 160, 159, 159, - 161, 166, 166, 165, 165, 163, 163, 163, 163, 164, - 164, 164, 164, 167, 167, 120, 120, 120, 120, 120, - 120, 120, 131, 131, 131, 131, 134, 134, 134, 134, - 134, 134, 134, 134, 134, 134, 134, 125, 125, 125, + 111, 367, 106, 106, 108, 108, 108, 108, 255, 255, + 255, 254, 254, 136, 136, 138, 137, 137, 139, 139, + 140, 140, 140, 140, 184, 184, 162, 162, 219, 219, + 217, 217, 218, 218, 220, 220, 220, 220, 223, 223, + 141, 141, 141, 141, 149, 149, 150, 150, 151, 151, + 263, 263, 260, 260, 260, 259, 259, 155, 155, 155, + 157, 156, 156, 156, 156, 158, 158, 160, 160, 159, + 159, 161, 166, 166, 165, 165, 163, 163, 163, 163, + 164, 164, 164, 164, 167, 167, 120, 120, 120, 120, + 120, 120, 120, 131, 131, 131, 131, 134, 134, 134, + 134, 134, 134, 134, 134, 134, 134, 134, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, + 125, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, - 126, 126, 126, 83, 83, 83, 236, 236, 168, 168, - 176, 176, 176, 176, 169, 169, 169, 169, 169, 169, - 169, 177, 177, 177, 183, 178, 178, 174, 174, 174, - 174, 172, 172, 172, 172, 172, 172, 172, 172, 172, - 172, 173, 173, 173, 173, 173, 173, 173, 173, 173, + 126, 126, 126, 126, 83, 83, 83, 236, 236, 168, + 168, 176, 176, 176, 176, 169, 169, 169, 169, 169, + 169, 169, 177, 177, 177, 183, 178, 178, 174, 174, + 174, 174, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - 271, 271, 337, 337, 336, 336, 335, 335, 95, 95, + 173, 173, 271, 271, 337, 337, 336, 336, 335, 335, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 94, 94, 94, 94, 94, 94, 94, 94, 94, 373, - 373, 284, 284, 284, 284, 175, 175, 175, 175, 175, - 101, 101, 101, 101, 101, 268, 268, 268, 272, 272, - 272, 270, 270, 270, 270, 270, 270, 270, 270, 270, - 270, 270, 270, 270, 270, 270, 189, 189, 97, 97, - 187, 187, 188, 190, 190, 185, 185, 185, 171, 171, - 171, 191, 191, 192, 192, 193, 193, 195, 194, 194, - 196, 197, 197, 197, 198, 198, 199, 199, 199, 47, - 47, 47, 47, 47, 42, 42, 42, 42, 43, 43, - 43, 43, 112, 112, 112, 112, 114, 114, 113, 113, - 79, 79, 80, 80, 80, 118, 118, 119, 119, 119, - 116, 116, 117, 117, 215, 215, 200, 200, 200, 207, - 207, 207, 203, 203, 205, 205, 205, 206, 206, 206, - 204, 212, 212, 214, 214, 213, 213, 209, 209, 210, - 210, 211, 211, 211, 208, 208, 170, 170, 170, 170, - 170, 216, 216, 216, 216, 224, 224, 180, 180, 182, - 182, 181, 135, 225, 225, 229, 226, 226, 230, 230, - 230, 230, 230, 227, 227, 228, 228, 256, 256, 256, - 234, 234, 247, 247, 243, 243, 244, 244, 237, 237, - 249, 249, 249, 74, 179, 179, 322, 322, 319, 252, - 252, 253, 253, 257, 257, 261, 261, 258, 258, 250, - 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, + 95, 95, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 374, 374, 284, 284, 284, 284, 175, 175, 175, + 175, 175, 101, 101, 101, 101, 101, 268, 268, 268, + 272, 272, 272, 270, 270, 270, 270, 270, 270, 270, + 270, 270, 270, 270, 270, 270, 270, 270, 189, 189, + 97, 97, 187, 187, 188, 190, 190, 185, 185, 185, + 171, 171, 171, 191, 191, 192, 192, 193, 193, 195, + 194, 194, 196, 197, 197, 197, 198, 198, 199, 199, + 199, 47, 47, 47, 47, 47, 42, 42, 42, 42, + 43, 43, 43, 43, 112, 112, 112, 112, 114, 114, + 113, 113, 79, 79, 80, 80, 80, 118, 118, 119, + 119, 119, 116, 116, 117, 117, 215, 215, 200, 200, + 200, 207, 207, 207, 203, 203, 205, 205, 205, 206, + 206, 206, 204, 212, 212, 214, 214, 213, 213, 209, + 209, 210, 210, 211, 211, 211, 208, 208, 170, 170, + 170, 170, 170, 216, 216, 216, 216, 224, 224, 180, + 180, 182, 182, 181, 135, 225, 225, 229, 226, 226, + 230, 230, 230, 230, 230, 227, 227, 228, 228, 256, + 256, 256, 234, 234, 247, 247, 243, 243, 244, 244, + 237, 237, 249, 249, 249, 74, 179, 179, 322, 322, + 319, 252, 252, 253, 253, 257, 257, 261, 261, 258, + 258, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, @@ -6929,7 +6896,7 @@ var yyR1 = [...]int{ 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, - 250, 250, 250, 250, 250, 250, 251, 251, 251, 251, + 250, 250, 250, 250, 250, 250, 250, 250, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, @@ -6964,8 +6931,8 @@ var yyR1 = [...]int{ 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, - 251, 251, 251, 251, 251, 251, 251, 251, 251, 369, - 370, 266, 267, 267, 267, + 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, + 251, 370, 371, 266, 267, 267, 267, } var yyR2 = [...]int{ @@ -7055,53 +7022,52 @@ var yyR2 = [...]int{ 2, 1, 2, 2, 0, 1, 1, 0, 1, 1, 5, 5, 4, 0, 2, 4, 4, 0, 1, 0, 1, 2, 3, 4, 1, 1, 1, 1, 1, 1, - 1, 1, 3, 1, 2, 3, 5, 0, 1, 2, - 1, 1, 0, 1, 2, 1, 3, 1, 1, 1, - 4, 3, 1, 3, 4, 3, 7, 0, 3, 1, - 3, 1, 3, 1, 1, 3, 3, 1, 3, 4, - 4, 4, 3, 2, 4, 0, 1, 0, 2, 0, - 1, 0, 1, 2, 1, 1, 1, 2, 2, 1, - 2, 3, 2, 3, 2, 2, 2, 1, 1, 3, - 3, 0, 1, 1, 2, 6, 5, 6, 6, 0, - 2, 3, 3, 0, 2, 3, 3, 3, 2, 3, - 1, 6, 3, 4, 3, 1, 3, 4, 5, 6, - 3, 4, 5, 6, 3, 4, 1, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, - 1, 1, 1, 1, 3, 1, 1, 2, 2, 2, - 2, 1, 1, 2, 9, 6, 6, 6, 2, 2, - 3, 3, 3, 1, 1, 1, 0, 3, 1, 1, - 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 3, 4, 5, 5, - 6, 4, 4, 8, 6, 8, 6, 8, 5, 4, - 2, 2, 1, 2, 2, 2, 5, 8, 8, 6, - 5, 4, 4, 4, 4, 4, 7, 4, 6, 6, - 6, 4, 4, 4, 7, 8, 6, 5, 6, 8, - 11, 7, 8, 8, 9, 4, 4, 4, 4, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 4, - 0, 2, 0, 2, 1, 3, 1, 1, 1, 1, + 1, 1, 1, 3, 1, 2, 3, 5, 0, 1, + 2, 1, 1, 0, 1, 2, 1, 3, 1, 1, + 1, 4, 3, 1, 3, 4, 3, 7, 0, 3, + 1, 3, 1, 3, 1, 1, 3, 3, 1, 3, + 4, 4, 4, 3, 2, 4, 0, 1, 0, 2, + 0, 1, 0, 1, 2, 1, 1, 1, 2, 2, + 1, 2, 3, 2, 3, 2, 2, 2, 1, 1, + 3, 3, 0, 1, 1, 2, 6, 5, 6, 6, + 0, 2, 3, 3, 0, 2, 3, 3, 3, 2, + 3, 1, 6, 3, 4, 3, 1, 3, 4, 5, + 6, 3, 4, 5, 6, 3, 4, 1, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 1, 1, 1, 1, 1, 3, 1, 1, 2, 2, + 2, 2, 1, 1, 2, 9, 6, 6, 6, 2, + 2, 3, 3, 3, 1, 1, 1, 0, 3, 1, + 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 3, 4, 5, + 5, 6, 4, 4, 8, 6, 8, 6, 8, 5, + 4, 2, 2, 1, 2, 2, 2, 4, 5, 8, + 8, 6, 5, 4, 4, 4, 4, 4, 7, 4, + 6, 6, 6, 4, 4, 4, 7, 8, 6, 5, + 6, 8, 11, 7, 8, 8, 9, 4, 4, 4, + 4, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 4, 0, 2, 0, 2, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, - 2, 0, 2, 3, 3, 4, 4, 4, 4, 4, - 0, 3, 4, 7, 3, 1, 1, 1, 0, 5, - 5, 2, 3, 1, 2, 2, 1, 2, 1, 2, - 2, 1, 2, 2, 1, 1, 0, 1, 0, 2, - 1, 2, 4, 0, 2, 1, 3, 5, 1, 2, - 2, 0, 3, 0, 2, 0, 1, 3, 1, 3, - 2, 0, 1, 1, 0, 1, 2, 4, 4, 0, - 2, 2, 1, 1, 3, 3, 3, 3, 3, 3, - 3, 3, 0, 3, 3, 3, 0, 3, 1, 1, - 0, 4, 0, 1, 1, 0, 3, 1, 3, 2, - 1, 1, 0, 1, 2, 4, 9, 3, 5, 0, - 3, 3, 0, 1, 0, 2, 2, 0, 2, 2, - 2, 0, 2, 1, 2, 3, 3, 0, 2, 1, - 2, 3, 4, 3, 0, 1, 2, 1, 5, 4, - 4, 1, 3, 3, 5, 0, 5, 1, 3, 1, - 2, 3, 1, 1, 3, 3, 1, 3, 3, 3, - 3, 3, 2, 1, 2, 1, 1, 1, 1, 1, - 1, 1, 0, 1, 0, 2, 0, 3, 0, 1, - 0, 1, 1, 5, 0, 1, 0, 1, 2, 1, - 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 0, 2, 0, 2, 3, 3, 4, 4, 4, + 4, 4, 0, 3, 4, 7, 3, 1, 1, 1, + 0, 5, 5, 2, 3, 1, 2, 2, 1, 2, + 1, 2, 2, 1, 2, 2, 1, 1, 0, 1, + 0, 2, 1, 2, 4, 0, 2, 1, 3, 5, + 1, 2, 2, 0, 3, 0, 2, 0, 1, 3, + 1, 3, 2, 0, 1, 1, 0, 1, 2, 4, + 4, 0, 2, 2, 1, 1, 3, 3, 3, 3, + 3, 3, 3, 3, 0, 3, 3, 3, 0, 3, + 1, 1, 0, 4, 0, 1, 1, 0, 3, 1, + 3, 2, 1, 1, 0, 1, 2, 4, 9, 3, + 5, 0, 3, 3, 0, 1, 0, 2, 2, 0, + 2, 2, 2, 0, 2, 1, 2, 3, 3, 0, + 2, 1, 2, 3, 4, 3, 0, 1, 2, 1, + 5, 4, 4, 1, 3, 3, 5, 0, 5, 1, + 3, 1, 2, 3, 1, 1, 3, 3, 1, 3, + 3, 3, 3, 3, 2, 1, 2, 1, 1, 1, + 1, 1, 1, 1, 0, 1, 0, 2, 0, 3, + 0, 1, 0, 1, 1, 5, 0, 1, 0, 1, + 2, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -7151,21 +7117,22 @@ var yyR2 = [...]int{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 0, 0, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 0, 0, 1, 1, } var yyChk = [...]int{ - -1000, -367, -7, -11, -19, -20, -21, -22, -23, -24, + -1000, -368, -7, -11, -19, -20, -21, -22, -23, -24, -25, -26, -27, -28, -29, -30, -62, -63, -64, -66, -67, -68, -69, -70, -14, -65, -31, -32, -71, -72, -73, -74, -75, -16, -17, -18, -9, -8, -13, 9, 10, -84, -33, 32, -38, -48, 220, -49, -39, 221, -50, 223, 222, 259, 224, 252, 74, 305, 306, 308, 309, 310, 311, -85, 257, 258, 226, 36, 45, 33, - 34, 37, 230, 265, 266, 229, -10, -34, 8, -369, - 11, 436, 254, 253, 28, -12, 471, 86, -368, 612, + 34, 37, 230, 265, 266, 229, -10, -34, 8, -370, + 11, 436, 254, 253, 28, -12, 471, 86, -369, 612, -215, -200, 22, 33, 29, -199, -195, -103, -200, 20, - 18, 7, -76, -372, -76, -76, 12, 13, -76, -307, + 18, 7, -76, -373, -76, -76, 12, 13, -76, -307, -309, 86, 156, 86, -76, -55, -54, -52, -51, -53, -56, 31, -45, -46, -331, -44, -41, 225, 222, 269, 120, 121, 259, 260, 261, 224, 243, 258, 262, 257, @@ -7225,14 +7192,14 @@ var yyChk = [...]int{ 454, 456, 457, 458, 463, 464, 459, 460, 461, 462, 465, -252, -257, 237, 407, 231, 168, 436, -127, -123, -8, -181, 406, 411, 412, 416, 409, -341, -251, -129, - -128, -168, 92, 98, 103, 99, -364, 116, -369, 93, + -128, -168, 92, 98, 103, 99, -364, 116, -370, 93, 94, 95, 96, 97, 117, 118, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 44, 381, 381, -159, -76, -76, -76, -76, -193, -103, -195, -10, - -8, -369, 8, -76, -8, -9, -13, -34, -36, 498, + -8, -370, 8, -76, -8, -9, -13, -34, -36, 498, -35, -257, -200, -215, 12, 158, 42, 50, -198, -199, -12, -8, -120, 19, 23, 24, -108, 164, -120, -257, -77, -108, -237, 236, -76, -76, -226, -269, 307, -230, @@ -7252,7 +7219,7 @@ var yyChk = [...]int{ 500, 232, 145, 443, 444, 235, 129, 117, 7, 133, 34, 12, 74, 77, 414, 415, 416, 57, 125, 471, 144, 15, 501, 400, 138, 132, -308, 156, -294, -298, - -252, 247, -324, 243, -159, -317, -316, -252, -369, -104, + -252, 247, -324, 243, -159, -317, -316, -252, -370, -104, -247, 233, 241, 240, 133, -345, 136, 289, 407, 231, -51, -52, -53, -227, 172, 586, -86, 264, 268, 87, 87, -298, -297, -296, -346, 268, 247, -323, -315, 239, @@ -7270,26 +7237,26 @@ var yyChk = [...]int{ 244, 381, 279, 364, 279, 280, 279, 280, 374, 384, 279, -262, 14, 158, 407, 369, 373, 272, 232, 273, 234, 383, 280, -262, 93, -242, 156, 381, 275, -241, - -241, -267, -369, -253, 333, -341, 572, -267, -267, 32, + -241, -267, -370, -253, 333, -341, 572, -267, -267, 32, 90, 235, -252, -78, -252, 93, -15, -11, -22, -21, -23, 148, -110, 381, -98, 173, 587, 573, 574, 575, 572, 378, 580, 578, 576, 279, 577, 87, 136, 138, 139, 4, -120, 155, -169, 148, 149, 150, 151, 152, 153, 154, 158, 140, 142, 156, 157, 137, 159, 160, 161, 162, 163, 164, 165, 167, 166, 168, 169, 172, - 218, 219, -126, -126, -126, -126, -183, -369, -369, -369, - -126, -236, -369, -126, -369, -369, -369, -369, -189, -120, - -369, -373, -369, -373, -373, -284, -369, -284, -369, -369, - -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, - -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, - -369, -369, -369, -369, -369, -369, -369, -369, -369, -369, - -369, -369, -369, -369, -369, -369, 217, -369, -369, -369, - -369, -369, -284, -284, -284, -284, -284, 103, 98, 92, + 218, 219, -126, -126, -126, -126, -183, -370, -370, -370, + -126, -236, -370, -126, -370, -370, -370, -370, -189, -120, + -370, -374, -370, -374, -374, -284, -370, -284, -370, -370, + -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, + -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, + -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, + -370, -370, -370, -370, -370, -370, 217, -370, -370, -370, + -370, -370, -284, -284, -284, -284, -284, 103, 98, 92, -185, 99, 93, -252, -257, -8, -9, -178, -266, -355, - -356, -162, -159, -369, 296, -252, -252, 265, -198, -12, + -356, -162, -159, -370, 296, -252, -252, 265, -198, -12, -8, -193, -199, -195, -8, -76, -96, -109, 63, 64, - -111, 24, 38, 67, 65, 23, -370, 88, -370, -215, - -370, 87, -36, -219, 86, 61, 43, 93, 93, 87, + -111, 24, 38, 67, 65, 23, -371, 88, -371, -215, + -371, 87, -36, -219, 86, 61, 43, 93, 93, 87, 21, -194, -196, -120, 14, -255, 4, -254, 25, -252, 93, 217, 101, 14, -160, 29, -159, -237, -237, 87, 307, -230, -269, -232, -231, 397, 399, 148, -256, -252, @@ -7325,143 +7292,143 @@ var yyChk = [...]int{ -125, -125, -125, -125, -125, -125, -125, -125, -125, -268, -252, 93, 173, -130, -129, 99, -364, -130, -106, -108, -120, -120, -341, -252, -106, -106, -120, -102, 24, 38, - -187, -188, 144, -185, -370, -370, 95, 99, -102, -252, - -252, -95, -94, 418, 419, 420, 421, 423, 424, 425, - 428, 429, 433, 434, 417, 435, 422, 427, 430, 431, - 432, 426, 329, -120, -120, -120, -120, -120, -120, -83, - -120, 127, 128, 129, -120, -120, -179, -178, -340, -339, - -338, -120, -120, -120, -120, -120, -120, -120, -120, -120, + -187, -188, 144, -185, -371, -371, 95, 99, -367, -102, + 164, -252, -252, -95, -94, 418, 419, 420, 421, 423, + 424, 425, 428, 429, 433, 434, 417, 435, 422, 427, + 430, 431, 432, 426, 329, -120, -120, -120, -120, -120, + -120, -83, -120, 127, 128, 129, -120, -120, -179, -178, + -340, -339, -338, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, - -120, -120, -120, -120, -107, 24, 38, -106, -253, -258, - -250, -106, -107, -107, -106, -106, 217, -215, -370, 87, - -357, 399, 400, 570, -260, 268, -259, 25, -179, 93, - 14, -221, 77, -252, -198, -198, 63, 64, 59, -106, - -111, -370, -35, 25, -217, -252, 62, 93, -285, -227, - 356, 357, 173, -120, -120, 87, -197, 27, 28, -159, - -254, 164, -258, -159, -222, 268, -159, -137, -139, -140, - -141, -162, -184, -369, -142, 490, 487, 14, -152, -153, - -161, -257, -230, -232, 87, 398, 400, 401, 76, 119, - -120, -286, 172, -313, -312, -311, -294, -296, -297, -298, - 88, -286, -290, 362, 361, -280, -280, -280, -280, -280, - -285, -285, -285, -285, 86, 86, -280, -280, -280, -280, - -288, 86, -288, -288, -289, 86, -289, -324, -120, -321, - -320, -318, -319, 242, 102, 563, 519, 471, 511, 553, - 77, -316, -197, 95, -370, -118, -244, 237, -322, -319, - -341, -341, -341, -244, -341, 93, -341, 93, -341, 93, - -87, -58, -1, 606, 607, 608, 87, 19, -295, -294, - -57, 293, -327, -328, 268, -323, -317, -303, 134, -302, - -303, -303, -341, 87, 29, 124, 124, 124, 124, 471, - 222, 32, -245, 510, 140, 563, 519, -294, -57, -268, - 235, -268, -268, 93, 93, -240, 602, -152, -114, 285, - 148, 274, 274, 232, 232, 287, -159, 298, 300, 299, - 297, 301, 302, 23, 23, 23, 286, 288, 290, 276, - -159, -159, -243, 76, -154, -159, 26, -257, -159, -241, - -241, -159, -241, -241, -159, -252, -98, 399, 87, 471, - 22, -99, 22, -369, 116, 117, 118, -177, -125, -126, - -125, 139, 256, 87, -370, 25, 87, 77, -370, -370, - -370, 87, 14, -106, -190, -188, 146, -120, -370, -370, - -370, -120, 87, 87, 14, -272, 25, -370, -370, -370, - -370, -370, -189, -370, 14, 87, 87, -370, -370, 87, - 87, -370, 87, 87, 87, -337, 87, 87, 87, 87, - -370, -370, -370, -370, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, -370, -370, -106, -106, -369, 217, - -370, -370, -370, -370, -370, -253, -356, 569, 400, -166, - -165, -163, 74, 236, 75, -369, -259, -370, -130, 90, - -218, 90, -217, -171, -252, 95, 99, -200, -136, -138, - 14, -111, -183, 88, 87, -285, -204, -209, -238, -252, - 93, 173, -287, 173, -287, 356, 357, -196, 217, -167, - 15, -170, 32, 57, -11, -369, -369, 32, 87, -155, - -157, -156, -158, 66, 70, 72, 67, 68, 69, 73, - -263, 25, -137, -9, -8, -369, -369, -369, -159, -152, - -371, 14, 77, -371, 87, 217, -231, -233, 402, 399, - 405, -341, 93, -86, 87, -311, -298, -201, -115, 40, - -291, 363, -285, 478, -285, -293, 93, -293, 95, 95, - 88, -47, -42, -43, 33, 81, -318, -305, 93, 39, - -305, -305, -252, 88, -197, -114, -159, 140, 76, -322, - -322, -322, -257, -2, 605, 611, 134, 86, 366, 18, - -217, 87, 88, -186, 294, 88, -88, -252, 88, 86, - -303, -303, -252, -369, 232, 31, 31, 563, 519, 510, - -57, -186, -286, -341, 604, 603, 88, 234, 292, -119, - 413, -116, 93, 89, -159, -159, -159, -159, -159, 225, - 222, -365, 303, -365, 277, 235, -152, -159, 87, -81, - 251, 246, -262, -262, 33, -159, 399, 581, 579, -120, - 139, 256, -134, -126, -108, 468, -270, 173, 330, 255, - 328, 324, 344, 335, 361, 326, 362, 323, 322, 321, - -270, -268, -120, -120, -193, 147, -120, 145, -370, -120, - -120, -120, -370, 173, 330, 14, -120, -120, -120, -338, - -120, -120, -120, -336, -335, -130, -185, -370, -336, -120, - -120, -335, -335, -339, -339, -339, -339, -339, -178, -178, - -178, -178, -370, -370, -107, -253, -163, -299, -299, -299, - -223, 87, -234, 22, 14, 57, 57, -136, -167, -137, - -111, -252, -207, 565, -212, 46, -210, -211, 47, -208, - 48, 56, -287, -287, 164, -198, -120, -224, 76, -225, - -229, -185, -180, -182, -181, -369, -216, -370, -252, -223, - -225, -139, -140, -140, -139, -140, 66, 66, 66, 71, - 66, 71, 66, -156, -257, -370, -370, -9, -9, -120, - -260, 77, -137, -137, -161, -257, 164, 399, 403, 404, - -311, -363, 116, 140, 31, 76, 359, 102, -361, 172, - 507, 558, 563, 519, 511, 553, -362, 238, 133, 134, - 250, 25, 41, 88, 87, 88, 87, 88, 87, -246, - -245, -43, -42, -305, -305, 95, -341, 93, 93, 234, - 26, -159, 76, 76, 76, -89, 609, 95, 86, -3, - 81, -120, 86, 19, -294, -185, -329, -281, -330, -282, - -283, -5, -6, -306, -92, 57, 102, -61, 44, 233, - 589, 590, 124, -369, 602, -321, -217, -325, -327, -159, - -122, -369, -121, -123, -127, 162, 163, -186, -159, -113, - 283, 291, 86, -117, 90, -343, 77, 274, 359, 274, - -366, 304, 93, -366, -159, -81, -47, -159, -241, -241, - 33, -341, -370, -134, -126, -369, -370, -280, -280, -280, - -289, -280, 318, -280, 318, -280, -370, -370, 87, -370, - 22, -370, -97, 442, -120, 87, 87, -370, 86, 86, - -120, -370, -370, -370, -337, 87, -370, 87, -370, 87, - -271, 564, -370, -370, -370, -370, -370, -370, -370, -370, - -370, -370, -370, -164, 22, -164, -164, -370, 90, -159, - -167, -191, 16, -204, 51, 336, -214, -213, 55, 47, - -211, 19, 49, 19, 30, -224, 87, 148, 87, -370, - -370, 87, 57, 217, -370, -167, -150, -149, 76, 77, - -151, 76, -149, 66, 66, -219, -370, -370, 87, -222, - -137, -167, -167, 217, 116, -369, -124, -133, -122, 12, - 93, 93, -341, -360, 593, 594, 31, 95, -305, -305, - 134, 134, -159, 86, -285, 93, -285, 95, 95, 31, - 82, 83, 84, 31, 78, 79, 80, -159, -159, -159, - -159, -326, 86, 19, -120, 86, 148, 88, -217, -217, - 270, 158, -305, 587, 276, 276, -305, -305, -305, -91, - -90, 609, 88, -370, 87, -292, 471, 474, -120, -128, - -128, -219, 88, -334, 471, -342, -252, -252, -252, -252, - 95, 97, -125, -285, -120, -120, -198, 93, -120, -120, - 95, 95, -370, -370, -336, -335, -120, -370, -147, -146, - -148, 573, 116, 31, -270, -369, 66, 18, 16, -369, - -369, -260, -191, -192, 17, 19, -205, 53, -203, 52, - -203, -213, 19, 19, 93, 19, 93, 134, -229, -120, - -182, 57, -11, -252, -180, -252, -193, -120, 86, -120, - -130, -167, -167, -120, -173, 466, 445, 105, 107, 106, - 446, 447, 448, 345, 346, 449, 450, 451, 108, 109, - 110, 111, 112, 113, 114, 452, 455, 453, 456, 457, - 458, 463, 464, 459, 460, 461, 462, 465, 93, 93, - 86, -120, 88, 88, -219, -325, -58, 88, -217, 95, - 88, 271, -181, -369, 93, -305, -305, -305, 95, 95, - -259, -370, 87, -252, -362, -327, 475, 475, -370, 25, - -333, -332, -253, 86, 77, -101, 158, 471, -370, -370, - -370, -370, -370, 88, 88, -370, -370, 87, -370, -146, - -148, -370, 76, -130, -220, -370, -252, 238, 19, 19, - -220, -220, -166, -192, -120, -178, -206, 54, 76, 119, - 93, 93, 93, 12, -180, 217, -198, -217, -144, 366, - -193, -370, -217, 88, 25, 88, 611, 134, 88, -181, - -100, -369, 267, -259, 93, 93, -90, -93, -11, 87, - 148, -217, -159, -370, 469, 73, 472, -120, -370, 76, - 482, 573, 87, -370, -370, -370, 76, 119, -225, -252, - 88, -370, -369, -198, 88, -202, -11, 86, -3, 267, - -281, -330, -282, -283, -5, -6, -306, -79, 471, -332, - -310, -253, 93, 95, 88, 62, 470, 473, -337, -252, - 238, -260, -145, -143, -252, 525, -353, -352, 467, -363, - -359, 116, 140, 102, -361, 563, 519, 125, 126, -79, - -120, 86, -370, -80, 282, 569, -343, 62, -370, -370, - 87, 22, -273, -60, 536, -350, -351, 76, -354, 372, - 535, 556, 116, 93, 88, -217, 243, -334, 471, -143, - 532, -286, -130, -351, 76, -350, 76, 13, 12, -4, - 610, 88, 284, 472, -59, 26, -144, -349, 251, 246, - 249, 32, -349, 95, -4, 473, 536, 245, 31, 116, - -130, -147, -146, -146, + -120, -120, -120, -120, -120, -120, -107, 24, 38, -106, + -253, -258, -250, -106, -107, -107, -106, -106, 217, -215, + -371, 87, -357, 399, 400, 570, -260, 268, -259, 25, + -179, 93, 14, -221, 77, -252, -198, -198, 63, 64, + 59, -106, -111, -371, -35, 25, -217, -252, 62, 93, + -285, -227, 356, 357, 173, -120, -120, 87, -197, 27, + 28, -159, -254, 164, -258, -159, -222, 268, -159, -137, + -139, -140, -141, -162, -184, -370, -142, 490, 487, 14, + -152, -153, -161, -257, -230, -232, 87, 398, 400, 401, + 76, 119, -120, -286, 172, -313, -312, -311, -294, -296, + -297, -298, 88, -286, -290, 362, 361, -280, -280, -280, + -280, -280, -285, -285, -285, -285, 86, 86, -280, -280, + -280, -280, -288, 86, -288, -288, -289, 86, -289, -324, + -120, -321, -320, -318, -319, 242, 102, 563, 519, 471, + 511, 553, 77, -316, -197, 95, -371, -118, -244, 237, + -322, -319, -341, -341, -341, -244, -341, 93, -341, 93, + -341, 93, -87, -58, -1, 606, 607, 608, 87, 19, + -295, -294, -57, 293, -327, -328, 268, -323, -317, -303, + 134, -302, -303, -303, -341, 87, 29, 124, 124, 124, + 124, 471, 222, 32, -245, 510, 140, 563, 519, -294, + -57, -268, 235, -268, -268, 93, 93, -240, 602, -152, + -114, 285, 148, 274, 274, 232, 232, 287, -159, 298, + 300, 299, 297, 301, 302, 23, 23, 23, 286, 288, + 290, 276, -159, -159, -243, 76, -154, -159, 26, -257, + -159, -241, -241, -159, -241, -241, -159, -252, -98, 399, + 87, 471, 22, -99, 22, -370, 116, 117, 118, -177, + -125, -126, -125, 139, 256, 87, -371, 25, 87, 77, + -371, -371, -371, 87, 14, -106, -190, -188, 146, -120, + -371, -371, -371, -371, -120, 87, 87, 14, -272, 25, + -371, -371, -371, -371, -371, -189, -371, 14, 87, 87, + -371, -371, 87, 87, -371, 87, 87, 87, -337, 87, + 87, 87, 87, -371, -371, -371, -371, 87, 87, 87, + 87, 87, 87, 87, 87, 87, 87, -371, -371, -106, + -106, -370, 217, -371, -371, -371, -371, -371, -253, -356, + 569, 400, -166, -165, -163, 74, 236, 75, -370, -259, + -371, -130, 90, -218, 90, -217, -171, -252, 95, 99, + -200, -136, -138, 14, -111, -183, 88, 87, -285, -204, + -209, -238, -252, 93, 173, -287, 173, -287, 356, 357, + -196, 217, -167, 15, -170, 32, 57, -11, -370, -370, + 32, 87, -155, -157, -156, -158, 66, 70, 72, 67, + 68, 69, 73, -263, 25, -137, -9, -8, -370, -370, + -370, -159, -152, -372, 14, 77, -372, 87, 217, -231, + -233, 402, 399, 405, -341, 93, -86, 87, -311, -298, + -201, -115, 40, -291, 363, -285, 478, -285, -293, 93, + -293, 95, 95, 88, -47, -42, -43, 33, 81, -318, + -305, 93, 39, -305, -305, -252, 88, -197, -114, -159, + 140, 76, -322, -322, -322, -257, -2, 605, 611, 134, + 86, 366, 18, -217, 87, 88, -186, 294, 88, -88, + -252, 88, 86, -303, -303, -252, -370, 232, 31, 31, + 563, 519, 510, -57, -186, -286, -341, 604, 603, 88, + 234, 292, -119, 413, -116, 93, 89, -159, -159, -159, + -159, -159, 225, 222, -365, 303, -365, 277, 235, -152, + -159, 87, -81, 251, 246, -262, -262, 33, -159, 399, + 581, 579, -120, 139, 256, -134, -126, -108, 468, -270, + 173, 330, 255, 328, 324, 344, 335, 361, 326, 362, + 323, 322, 321, -270, -268, -120, -120, -193, 147, -120, + 145, -371, -120, -120, -120, -371, 173, 330, 14, -120, + -120, -120, -338, -120, -120, -120, -336, -335, -130, -185, + -371, -336, -120, -120, -335, -335, -339, -339, -339, -339, + -339, -178, -178, -178, -178, -371, -371, -107, -253, -163, + -299, -299, -299, -223, 87, -234, 22, 14, 57, 57, + -136, -167, -137, -111, -252, -207, 565, -212, 46, -210, + -211, 47, -208, 48, 56, -287, -287, 164, -198, -120, + -224, 76, -225, -229, -185, -180, -182, -181, -370, -216, + -371, -252, -223, -225, -139, -140, -140, -139, -140, 66, + 66, 66, 71, 66, 71, 66, -156, -257, -371, -371, + -9, -9, -120, -260, 77, -137, -137, -161, -257, 164, + 399, 403, 404, -311, -363, 116, 140, 31, 76, 359, + 102, -361, 172, 507, 558, 563, 519, 511, 553, -362, + 238, 133, 134, 250, 25, 41, 88, 87, 88, 87, + 88, 87, -246, -245, -43, -42, -305, -305, 95, -341, + 93, 93, 234, 26, -159, 76, 76, 76, -89, 609, + 95, 86, -3, 81, -120, 86, 19, -294, -185, -329, + -281, -330, -282, -283, -5, -6, -306, -92, 57, 102, + -61, 44, 233, 589, 590, 124, -370, 602, -321, -217, + -325, -327, -159, -122, -370, -121, -123, -127, 162, 163, + -186, -159, -113, 283, 291, 86, -117, 90, -343, 77, + 274, 359, 274, -366, 304, 93, -366, -159, -81, -47, + -159, -241, -241, 33, -341, -371, -134, -126, -370, -371, + -280, -280, -280, -289, -280, 318, -280, 318, -280, -371, + -371, 87, -371, 22, -371, -97, 442, -120, 87, 87, + -371, 86, 86, -120, -371, -371, -371, -337, 87, -371, + 87, -371, 87, -271, 564, -371, -371, -371, -371, -371, + -371, -371, -371, -371, -371, -371, -164, 22, -164, -164, + -371, 90, -159, -167, -191, 16, -204, 51, 336, -214, + -213, 55, 47, -211, 19, 49, 19, 30, -224, 87, + 148, 87, -371, -371, 87, 57, 217, -371, -167, -150, + -149, 76, 77, -151, 76, -149, 66, 66, -219, -371, + -371, 87, -222, -137, -167, -167, 217, 116, -370, -124, + -133, -122, 12, 93, 93, -341, -360, 593, 594, 31, + 95, -305, -305, 134, 134, -159, 86, -285, 93, -285, + 95, 95, 31, 82, 83, 84, 31, 78, 79, 80, + -159, -159, -159, -159, -326, 86, 19, -120, 86, 148, + 88, -217, -217, 270, 158, -305, 587, 276, 276, -305, + -305, -305, -91, -90, 609, 88, -371, 87, -292, 471, + 474, -120, -128, -128, -219, 88, -334, 471, -342, -252, + -252, -252, -252, 95, 97, -125, -285, -120, -120, -198, + 93, -120, -120, 95, 95, -371, -371, -336, -335, -120, + -371, -147, -146, -148, 573, 116, 31, -270, -370, 66, + 18, 16, -370, -370, -260, -191, -192, 17, 19, -205, + 53, -203, 52, -203, -213, 19, 19, 93, 19, 93, + 134, -229, -120, -182, 57, -11, -252, -180, -252, -193, + -120, 86, -120, -130, -167, -167, -120, -173, 466, 445, + 105, 107, 106, 446, 447, 448, 345, 346, 449, 450, + 451, 108, 109, 110, 111, 112, 113, 114, 452, 455, + 453, 456, 457, 458, 463, 464, 459, 460, 461, 462, + 465, 93, 93, 86, -120, 88, 88, -219, -325, -58, + 88, -217, 95, 88, 271, -181, -370, 93, -305, -305, + -305, 95, 95, -259, -371, 87, -252, -362, -327, 475, + 475, -371, 25, -333, -332, -253, 86, 77, -101, 158, + 471, -371, -371, -371, -371, -371, 88, 88, -371, -371, + 87, -371, -146, -148, -371, 76, -130, -220, -371, -252, + 238, 19, 19, -220, -220, -166, -192, -120, -178, -206, + 54, 76, 119, 93, 93, 93, 12, -180, 217, -198, + -217, -144, 366, -193, -371, -217, 88, 25, 88, 611, + 134, 88, -181, -100, -370, 267, -259, 93, 93, -90, + -93, -11, 87, 148, -217, -159, -371, 469, 73, 472, + -120, -371, 76, 482, 573, 87, -371, -371, -371, 76, + 119, -225, -252, 88, -371, -370, -198, 88, -202, -11, + 86, -3, 267, -281, -330, -282, -283, -5, -6, -306, + -79, 471, -332, -310, -253, 93, 95, 88, 62, 470, + 473, -337, -252, 238, -260, -145, -143, -252, 525, -353, + -352, 467, -363, -359, 116, 140, 102, -361, 563, 519, + 125, 126, -79, -120, 86, -371, -80, 282, 569, -343, + 62, -371, -371, 87, 22, -273, -60, 536, -350, -351, + 76, -354, 372, 535, 556, 116, 93, 88, -217, 243, + -334, 471, -143, 532, -286, -130, -351, 76, -350, 76, + 13, 12, -4, 610, 88, 284, 472, -59, 26, -144, + -349, 251, 246, 249, 32, -349, 95, -4, 473, 536, + 245, 31, 116, -130, -147, -146, -146, } var yyDef = [...]int{ @@ -7470,308 +7437,308 @@ var yyDef = [...]int{ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 68, 70, 71, 827, 827, 827, 0, 827, 0, 0, 827, -2, -2, 827, - 1315, 0, 827, 0, 0, -2, 759, 761, 0, 763, - -2, 0, 0, 772, 1821, 1821, 822, 0, 0, 0, - 0, 0, 827, 827, 827, 827, 1175, 48, 827, 0, - 83, 84, 778, 779, 780, 63, 0, 1819, 1, 3, - 69, 73, 0, 0, 0, 56, 1184, 0, 76, 0, - 0, 831, 0, 829, 0, 1298, 827, 827, 0, 114, + 1317, 0, 827, 0, 0, -2, 759, 761, 0, 763, + -2, 0, 0, 772, 1823, 1823, 822, 0, 0, 0, + 0, 0, 827, 827, 827, 827, 1177, 48, 827, 0, + 83, 84, 778, 779, 780, 63, 0, 1821, 1, 3, + 69, 73, 0, 0, 0, 56, 1186, 0, 76, 0, + 0, 831, 0, 829, 0, 1300, 827, 827, 0, 114, 115, 0, 0, 0, -2, 118, -2, 147, 148, 149, 0, 154, 573, 501, 552, 499, 537, -2, 487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 504, 377, 377, 0, 0, -2, 487, 487, 487, - 0, 0, 0, 534, 1300, 439, 377, 377, 377, 0, + 0, 0, 0, 534, 1302, 439, 377, 377, 377, 0, 377, 377, 377, 377, 0, 0, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, - 377, 377, 377, 1202, 153, 1316, 1313, 1314, 38, 39, - 40, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1473, 1474, - 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, - 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, - 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504, - 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514, - 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1524, - 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, - 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, - 1545, 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, - 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, - 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, - 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, - 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, - 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, - 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, - 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, - 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, - 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, - 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, - 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, - 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, - 1675, 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684, - 1685, 1686, 1687, 1688, 1689, 1690, 1691, 1692, 1693, 1694, - 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, - 1705, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1714, - 1715, 1716, 1717, 1718, 1719, 1720, 1721, 1722, 1723, 1724, - 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, - 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, - 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753, 1754, - 1755, 1756, 1757, 1758, 1759, 1760, 1761, 1762, 1763, 1764, - 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, - 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1782, 1783, 1784, - 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1794, - 1795, 1796, 1797, 1798, 1799, 1800, 1801, 1802, 1803, 1804, - 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1814, - 1815, 1816, 1817, 1818, 0, 1292, 0, 686, 928, 0, + 377, 377, 377, 1204, 153, 1318, 1315, 1316, 38, 39, + 40, 1468, 1469, 1470, 1471, 1472, 1473, 1474, 1475, 1476, + 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486, + 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, + 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, + 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1515, 1516, + 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1526, + 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, + 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, + 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, + 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566, + 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, + 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, + 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, + 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, + 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615, 1616, + 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, + 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636, + 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, + 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, + 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, + 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, + 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, + 1687, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, + 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706, + 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1714, 1715, 1716, + 1717, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, + 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, + 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, + 1747, 1748, 1749, 1750, 1751, 1752, 1753, 1754, 1755, 1756, + 1757, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, + 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, + 1777, 1778, 1779, 1780, 1781, 1782, 1783, 1784, 1785, 1786, + 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1794, 1795, 1796, + 1797, 1798, 1799, 1800, 1801, 1802, 1803, 1804, 1805, 1806, + 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1814, 1815, 1816, + 1817, 1818, 1819, 1820, 0, 1294, 0, 686, 929, 0, 748, 748, 0, 748, 748, 748, 748, 0, 0, 0, 698, 0, 0, 0, 0, 745, 0, 714, 715, 0, - 745, 0, 721, 751, 0, 726, 748, 748, 729, 1822, - 0, 1822, 1822, 1283, 0, 742, 740, 754, 755, 758, - 762, 0, 767, 770, 1309, 1310, 0, 785, 47, 1555, - 777, 790, 791, 0, 823, 824, 43, 1025, 0, 950, - 955, 966, 979, 980, 981, 982, 983, 985, 986, 0, - 0, 0, 0, 991, 992, 0, 0, 0, 0, 0, - 1006, 0, 0, 0, 0, 0, 1156, 0, 1119, 1119, - 1042, 1119, 1121, 1121, 1509, 0, 0, 0, 1818, 1596, - 1604, 1605, 1627, 1713, 1762, 1600, 1601, 1582, 1594, 1597, - 1585, 1586, 1588, 1590, 1595, 1602, 1608, 1587, 1607, 1606, - 0, 1583, 1584, 1589, 1599, 1603, 1591, 1592, 1593, 1598, - 1609, 1165, 0, 0, 0, 0, 0, 0, 273, 274, - 1024, 1272, 1121, 1121, 1121, 1121, 1121, -2, -2, 219, + 745, 0, 721, 751, 0, 726, 748, 748, 729, 1824, + 0, 1824, 1824, 1285, 0, 742, 740, 754, 755, 758, + 762, 0, 767, 770, 1311, 1312, 0, 785, 47, 1557, + 777, 790, 791, 0, 823, 824, 43, 1026, 0, 951, + 956, 967, 980, 981, 982, 983, 984, 986, 987, 0, + 0, 0, 0, 992, 993, 0, 0, 0, 0, 0, + 1007, 0, 0, 0, 0, 0, 1158, 0, 1121, 1121, + 1043, 1121, 1123, 1123, 1511, 0, 0, 0, 1820, 1598, + 1606, 1607, 1629, 1715, 1764, 1602, 1603, 1584, 1596, 1599, + 1587, 1588, 1590, 1592, 1597, 1604, 1610, 1589, 1609, 1608, + 0, 1585, 1586, 1591, 1601, 1605, 1593, 1594, 1595, 1600, + 1611, 1167, 0, 0, 0, 0, 0, 0, 273, 274, + 1025, 1274, 1123, 1123, 1123, 1123, 1123, -2, -2, 219, 220, 221, 222, 223, 224, 225, 0, 215, 0, 278, - 279, 275, 276, 277, 1008, 1009, 231, 232, 233, 234, + 279, 275, 276, 277, 1009, 1010, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 1821, 0, - 800, 0, 0, 0, 0, 0, 1184, 0, 1176, 1175, + 265, 266, 267, 268, 269, 270, 271, 272, 1823, 0, + 800, 0, 0, 0, 0, 0, 1186, 0, 1178, 1177, 61, 0, 827, -2, 0, 0, 0, 0, 45, 0, - 50, 887, 75, 74, 1224, 0, 0, 0, 57, 1185, - 65, 67, 1186, 0, 832, 833, 0, 863, 867, 0, - 828, 0, 0, 1299, 1298, 1298, 100, 0, 1758, 1276, - -2, -2, 0, 0, 1311, 1312, 1285, -2, 1319, 1320, - 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, - 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, - 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, - 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, - 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, - 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, - 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, - 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, - 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, - 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, - 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, - 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, - 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, - 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, - 1461, 1462, 1463, 1464, 1465, -2, 0, 0, 165, 166, - 0, 41, 404, 0, 161, 0, 397, 338, 0, 1202, - 0, 0, 0, 0, 0, 827, 0, 1293, 142, 143, + 50, 888, 75, 74, 1226, 0, 0, 0, 57, 1187, + 65, 67, 1188, 0, 832, 833, 0, 864, 868, 0, + 828, 0, 0, 1301, 1300, 1300, 100, 0, 1760, 1278, + -2, -2, 0, 0, 1313, 1314, 1287, -2, 1321, 1322, + 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, + 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, + 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, + 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, + 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, + 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, + 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, + 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, + 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, + 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422, + 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, + 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, + 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, + 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, + 1463, 1464, 1465, 1466, 1467, -2, 0, 0, 165, 166, + 0, 41, 404, 0, 161, 0, 397, 338, 0, 1204, + 0, 0, 0, 0, 0, 827, 0, 1295, 142, 143, 150, 151, 152, 377, 377, 377, 549, 0, 0, 153, 153, 508, 509, 510, 0, 0, -2, 402, 0, 488, 0, 0, 391, 391, 395, 393, 394, 0, 0, 0, 0, 0, 0, 0, 0, 526, 0, 527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 634, 0, 378, 0, 547, 548, 440, 0, 0, 0, 0, 0, 0, - 524, 525, 0, 0, 1301, 1302, 0, 0, 0, 377, + 524, 525, 0, 0, 1303, 1304, 0, 0, 0, 377, 377, 0, 0, 0, 0, 377, 377, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 141, 1215, 0, 0, 0, - -2, 0, 678, 0, 0, 0, 1294, 1294, 0, 685, + 0, 0, 0, 0, 0, 141, 1217, 0, 0, 0, + -2, 0, 678, 0, 0, 0, 1296, 1296, 0, 685, 0, 687, 688, 0, 0, 689, 0, 745, 745, 743, 744, 691, 692, 693, 694, 748, 0, 0, 386, 387, 388, 745, 748, 0, 748, 748, 748, 748, 745, 745, 745, 748, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1822, 751, 748, 0, 722, 0, 723, 724, 727, - 728, 730, 1823, 1824, 1332, 1822, 1822, 734, 738, 1284, + 0, 1824, 751, 748, 0, 722, 0, 723, 724, 727, + 728, 730, 1825, 1826, 1334, 1824, 1824, 734, 738, 1286, 760, 768, 771, 788, 786, 787, 789, 781, 782, 783, 784, 0, 802, 803, 808, 0, 0, 0, 0, 814, 815, 816, 0, 0, 819, 820, 821, 0, 0, 0, - 0, 0, 948, 0, 0, 1014, 1015, 1016, 1017, 1018, - 1019, 1020, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 949, 0, 0, 1015, 1016, 1017, 1018, 1019, + 1020, 1021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 987, 988, 989, 990, 993, 0, 0, 0, - 998, 999, 0, 0, 0, 0, 0, 837, 0, 1157, - 0, 1040, 0, 1041, 1043, 1044, 0, 1045, 837, 0, + 0, 0, 988, 989, 990, 991, 994, 0, 0, 0, + 999, 1000, 0, 0, 0, 0, 0, 837, 0, 1159, + 0, 1041, 0, 1042, 1044, 1045, 0, 1046, 837, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1304, 129, 0, 0, 0, 0, 0, 0, 0, + 0, 1306, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 847, 0, 0, 847, 847, 0, 0, 208, 209, 210, 211, 212, 226, 227, 228, - 229, 230, 280, 1165, 0, 1024, 0, 0, 44, 792, - 793, 0, 911, 1304, 0, 0, 843, 0, 55, 64, - 66, 1184, 59, 1184, 0, 849, 0, 0, -2, -2, - 850, 856, 857, 858, 859, 860, 52, 1820, 53, 0, - 72, 0, 46, 0, 0, 0, 0, 350, 1227, 0, - 0, 1177, 1178, 1181, 0, 864, 1638, 868, 0, 870, - 871, 0, 830, 0, 98, 0, 927, 0, 0, 0, - 1758, 1282, 0, 102, 103, 0, 0, 0, 361, 1287, - 1288, 1289, -2, 384, 0, 361, 345, 288, 289, 290, + 229, 230, 280, 1167, 0, 1025, 0, 0, 44, 792, + 793, 0, 912, 1306, 0, 0, 843, 0, 55, 64, + 66, 1186, 59, 1186, 0, 849, 0, 0, -2, -2, + 850, 856, 857, 858, 859, 860, 52, 1822, 53, 0, + 72, 0, 46, 0, 0, 0, 0, 350, 1229, 0, + 0, 1179, 1180, 1183, 0, 865, 1640, 869, 0, 871, + 872, 0, 830, 0, 98, 0, 928, 0, 0, 0, + 1760, 1284, 0, 102, 103, 0, 0, 0, 361, 1289, + 1290, 1291, -2, 384, 0, 361, 345, 288, 289, 290, 338, 292, 338, 338, 338, 338, 350, 350, 350, 350, 321, 322, 323, 324, 325, 0, 0, 307, 338, 338, 338, 338, 328, 329, 330, 331, 332, 333, 334, 335, 293, 294, 295, 296, 297, 298, 299, 300, 301, 340, - 340, 340, 342, 342, 0, 42, 0, 365, 0, 1181, - 0, 0, 1215, 1296, 1306, 0, 0, 0, 1296, 120, + 340, 340, 342, 342, 0, 42, 0, 365, 0, 1183, + 0, 0, 1217, 1298, 1308, 0, 0, 0, 1298, 120, 0, 0, 0, 550, 584, 502, 538, 551, 0, 505, 506, -2, 0, 0, 487, 0, 489, 0, 385, 0, -2, 0, 395, 0, 391, 395, 392, 395, 383, 396, - 528, 529, 530, 0, 532, 533, 614, 897, 0, 0, + 528, 529, 530, 0, 532, 533, 614, 898, 0, 0, 0, 0, 0, 620, 621, 622, 0, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 539, 540, 541, 542, 543, 544, 545, 546, 0, 0, 0, 0, 489, 0, 535, 0, 441, 442, 443, 0, 0, 446, 447, - 448, 449, 0, 0, 452, 453, 454, 914, 915, 455, + 448, 449, 0, 0, 452, 453, 454, 915, 916, 455, 456, 481, 482, 483, 457, 458, 459, 460, 461, 462, 463, 475, 476, 477, 478, 479, 480, 464, 465, 466, - 467, 468, 469, 472, 0, 135, 1206, 0, 0, 0, + 467, 468, 469, 472, 0, 135, 1208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1294, 0, 0, 0, 0, 846, 929, 1317, 1318, 749, + 1296, 0, 0, 0, 0, 846, 930, 1319, 1320, 749, 750, 0, 389, 390, 748, 748, 695, 735, 0, 748, 699, 736, 700, 702, 701, 703, 716, 717, 748, 706, 746, 747, 707, 708, 709, 710, 711, 712, 713, 731, 718, 719, 720, 752, 0, 756, 757, 732, 733, 0, 769, 773, 774, 775, 776, 0, 0, 805, 94, 810, - 811, 812, 813, 825, 818, 1026, 945, 946, 947, 0, - 949, 952, 0, 1010, 1012, 954, 956, 1021, 1022, 1023, - 0, 0, 0, 0, 0, 960, 964, 967, 968, 969, - 970, 971, 972, 973, 974, 975, 976, 977, 978, 984, - 1135, 1136, 1137, 1001, 281, 282, 0, 1002, 0, 861, - 0, 0, 0, 1000, 0, 0, 0, 0, 838, 839, - 1163, 1160, 0, 0, 1120, 1122, 0, 0, 0, 0, - 0, 0, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, + 811, 812, 813, 825, 818, 1027, 946, 947, 948, 0, + 950, 953, 0, 1011, 1013, 955, 957, 1022, 1023, 1024, + 0, 0, 0, 0, 0, 961, 965, 968, 969, 970, + 971, 972, 973, 974, 975, 976, 977, 978, 979, 985, + 1137, 1138, 1139, 1002, 281, 282, 0, 1003, 0, 862, + 0, 0, 0, 1001, 0, 0, 0, 0, 838, 839, + 1165, 1162, 0, 0, 1122, 1124, 0, 0, 0, 0, + 861, 0, 0, 0, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, - 1116, 1117, 1118, 1138, 0, 0, 0, 0, 0, 1156, - 0, 1003, 1004, 1005, 0, 0, 0, 1305, 0, 130, - 131, 0, 0, 0, 0, 0, 1092, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 848, 1166, 0, - -2, 0, 0, 0, 0, 0, 0, 0, 1271, 0, - 795, 796, 798, 0, 931, 0, 912, 0, 0, 801, - 0, 842, 0, 845, 58, 60, 854, 855, 0, 872, - 851, 54, 49, 0, 0, 889, 1225, 350, 1247, 0, - 359, 359, 356, 1187, 1188, 0, 1180, 1182, 1183, 77, - 869, 865, 0, 943, 0, 0, 926, 0, 875, 877, - 878, 879, 909, 0, 882, 0, 0, 0, 0, 0, - 96, 928, 1277, 101, 0, 0, 106, 107, 1278, 1279, - 1280, 1281, 0, 573, -2, 436, 167, 169, 170, 171, - 162, -2, 348, 346, 347, 291, 350, 350, 315, 316, - 317, 318, 319, 320, 0, 0, 308, 309, 310, 311, - 302, 0, 303, 304, 305, 0, 306, 403, 0, 1189, - 366, 367, 369, 377, 0, 372, 373, 0, 377, 377, - 0, 398, 399, 0, 1181, 1206, 0, 0, 0, 1307, - 1306, 1306, 1306, 0, 155, 156, 157, 158, 159, 160, - 609, 0, 0, 585, 607, 608, 153, 0, 0, 163, - 491, 490, 0, 641, 0, 401, 0, 0, 395, 395, - 380, 381, 531, 0, 0, 616, 617, 618, 619, 0, - 0, 0, 518, 430, 0, 519, 520, 489, 491, 361, - 0, 444, 445, 450, 451, 470, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 564, 565, 566, - 567, 493, 571, 568, 493, 572, 1203, 1204, 1205, 0, - 0, 679, 0, 0, 427, 92, 1295, 684, 745, 705, - 737, 745, 697, 704, 725, 765, 809, 0, 0, 0, - 0, 817, 0, 0, 953, 1011, 1013, 957, 0, 961, - 965, 0, 0, 0, 0, 0, 0, 0, 1007, 1031, - 1032, 0, 0, 1175, 0, 1161, 0, 0, 1039, 1123, - 1124, 0, 0, 0, 0, 0, 0, 1051, 1052, 1053, - 1054, 1055, 0, 1057, 0, 0, 0, 1061, 1062, 0, - 0, 1063, 0, 0, 0, 0, 0, 0, 0, 0, - 1075, 1076, 1077, 1078, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1089, 1027, 0, 0, 847, 0, - 1125, 1126, 1127, 1128, 1129, 1166, 794, 797, 799, 885, - 932, 933, 0, 0, 0, 0, 913, 1303, 840, 841, - 844, -2, 0, 0, 1168, 0, 0, 872, 943, 873, - 0, 852, 51, 888, 0, 1229, 1228, 1241, 1254, 359, - 359, 353, 354, 360, 355, 357, 358, 1179, 0, 1184, - 0, 1265, 0, 0, 1257, 0, 0, 0, 0, 0, - 0, 0, 0, 916, 0, 0, 919, 0, 0, 0, - 0, 910, 0, 0, 0, 0, 0, 0, -2, 0, - 0, 90, 91, 0, 0, 0, 104, 105, 0, 0, - 111, 362, 363, 144, 153, 438, 168, 411, 0, 0, - 287, 349, 312, 313, 314, 0, 336, 0, 0, 0, - 432, 116, 1193, 1192, 377, 377, 368, 0, 371, 0, - 0, 0, 1308, 339, 400, 0, 134, 0, 0, 0, - 0, 0, 140, 579, 0, 0, 586, 0, 0, 0, - 500, 0, 511, 512, 0, 613, -2, 675, 365, 0, - 379, 382, 898, 0, 0, 513, 0, 516, 517, 431, - 491, 522, 523, 536, 473, 474, 471, 0, 0, 1216, - 1217, 1222, 1220, 1221, 121, 557, 559, 558, 562, 0, - 0, 495, 0, 495, 555, 0, 427, 1189, 0, 683, - 428, 429, 748, 748, 804, 95, 0, 807, 0, 0, - 0, 0, 958, 962, 862, 0, 0, 338, 338, 1143, - 338, 342, 1146, 338, 1148, 338, 1151, 338, 1154, 1155, - 0, 0, 0, 0, 1158, 1038, 1164, 0, 1046, 0, - 0, 0, 1050, 0, 0, 0, 0, 0, 0, 132, - 133, 1092, 0, 0, 1094, 1096, 1097, 1067, 1093, 0, - 0, 1090, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1028, 1029, 0, 1167, 934, 939, 939, 939, - 0, 0, 0, 1290, 1291, 1169, 1170, 943, 1171, 874, - 853, 890, 1247, 0, 1240, 0, -2, 1249, 0, 0, - 0, 1255, 351, 352, 866, 78, 944, 81, 0, 1265, - 1273, 0, 1256, 1267, 1269, 0, 0, 0, 1261, 0, - 943, 876, 905, 907, 0, 902, 917, 918, 920, 0, - 922, 0, 924, 925, 887, 881, 883, 0, 0, 0, - 98, 0, 943, 943, 97, 0, 930, 108, 109, 110, - 437, 172, 177, 0, 0, 0, 182, 0, 184, 0, - 0, 0, 189, 190, 377, 377, 412, 0, 284, 286, - 0, 0, 175, 350, 0, 350, 0, 343, 0, 413, - 433, 1190, 1191, 0, 0, 370, 374, 375, 376, 0, - 1297, 136, 0, 0, 0, 582, 0, 610, 0, 0, - 0, 0, 0, 0, 164, 492, 642, 643, 644, 645, - 646, 647, 648, 649, 650, 0, 377, 0, 0, 0, - 377, 377, 377, 0, 667, 364, 0, 0, 638, 635, - 514, 0, 213, 214, 216, 0, 0, 521, 887, 1207, - 1208, 1209, 0, 1219, 1223, 124, 0, 0, 0, 0, - 569, 0, 494, 570, 680, 681, 682, 93, 690, 696, - 806, 826, 951, 959, 963, 0, 995, 1141, 350, 1144, - 1145, 1147, 1149, 1150, 1152, 1153, 996, 997, 0, 1034, - 0, 1036, 1184, 0, 1162, 0, 0, 1049, 0, 0, - 0, 1058, 1059, 1060, 0, 0, 1066, 0, 1068, 0, - 0, 0, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, - 1087, 1088, 1030, 0, 0, 0, 0, 911, -2, 62, - 1171, 1173, 0, 1234, 1232, 1232, 1242, 1243, 0, 0, - 1250, 0, 0, 0, 0, 82, 0, 0, 0, 1270, - 0, 0, 0, 0, 99, 1175, 899, 906, 0, 0, - 900, 0, 901, 921, 923, 880, -2, 884, 0, 943, - 943, 88, 89, 0, 178, 0, 180, 206, 207, 0, - 183, 185, 186, 187, 193, 194, 195, 188, 0, 0, - 283, 285, 0, 0, 326, 337, 327, 0, 0, 1194, - 1195, 1196, 1197, 1198, 1199, 1200, 1201, 887, 137, 138, - 139, 574, 0, 584, 0, 0, 0, 577, 0, 503, - 0, 0, 0, 377, 377, 377, 0, 0, 0, 0, - 652, 0, 0, 615, 0, 623, 0, 0, 0, 217, - 218, 0, 1218, 556, 0, 122, 123, 0, 0, 561, - 496, 497, 1130, 1142, 0, 0, 0, 1159, 0, 0, - 0, 0, 1056, 1064, 0, 1095, 0, 1071, 0, 0, - 0, 604, 605, 0, 1091, 0, 940, 0, 0, 0, - 0, 931, 1173, 80, 0, 0, 1237, 0, 1230, 1233, - 1231, 1244, 0, 0, 1251, 0, 1253, 0, 1274, 1275, - 1268, 0, 1260, 1263, 1259, 1262, 1184, 903, 0, 908, - 0, 1175, 87, 0, 181, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, - 0, 0, 341, 344, 0, 0, 0, 575, 0, 587, - 578, 0, 665, 0, 669, 0, 0, 0, 672, 673, - 674, 651, 0, 655, 405, 639, 636, 637, 515, 0, - 125, 126, 0, 0, 0, 0, 0, 0, 1033, 1035, - 1037, 1047, 1048, 1139, 1140, 1065, 1069, 0, 1072, 0, - 0, 1073, 0, 606, 0, 936, 893, 894, 941, 942, - 0, 0, 886, 79, 1174, 1172, 1226, 0, 1235, 1236, - 1245, 1246, 1252, 0, 1258, 0, 85, 0, 0, 0, - 1184, 179, 0, 198, 0, 583, 0, 586, 576, 663, - 664, 0, 676, 668, 670, 671, 653, -2, 1210, 0, - 0, 0, 563, 994, 0, 0, 0, 1092, 1074, 0, - 602, 603, 0, 935, 937, 938, 1238, 1239, 1266, 1264, - 904, 911, 0, 86, 418, 411, 1210, 0, 0, 0, - 656, 657, 658, 659, 660, 661, 662, 553, 1212, 127, - 128, 484, 485, 486, 121, 1131, 0, 1134, 0, 895, - 896, 588, 0, 590, 0, -2, 406, 419, 0, 173, - 199, 200, 0, 0, 203, 204, 205, 196, 197, 117, - 0, 0, 677, 0, 1213, 1214, 124, 1132, 1070, 589, - 0, 0, 361, 0, 599, 407, 408, 0, 414, 415, - 416, 417, 201, 202, 611, 0, 0, 560, 0, 591, - 592, 600, 0, 409, 0, 410, 0, 0, 0, 580, - 0, 611, 1211, 0, 0, 601, 597, 420, 422, 423, - 0, 0, 421, 612, 581, 1133, 0, 424, 425, 426, - 593, 594, 595, 596, + 1116, 1117, 1118, 1119, 1120, 1140, 0, 0, 0, 0, + 0, 1158, 0, 1004, 1005, 1006, 0, 0, 0, 1307, + 0, 130, 131, 0, 0, 0, 0, 0, 1094, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 848, + 1168, 0, -2, 0, 0, 0, 0, 0, 0, 0, + 1273, 0, 795, 796, 798, 0, 932, 0, 913, 0, + 0, 801, 0, 842, 0, 845, 58, 60, 854, 855, + 0, 873, 851, 54, 49, 0, 0, 890, 1227, 350, + 1249, 0, 359, 359, 356, 1189, 1190, 0, 1182, 1184, + 1185, 77, 870, 866, 0, 944, 0, 0, 927, 0, + 876, 878, 879, 880, 910, 0, 883, 0, 0, 0, + 0, 0, 96, 929, 1279, 101, 0, 0, 106, 107, + 1280, 1281, 1282, 1283, 0, 573, -2, 436, 167, 169, + 170, 171, 162, -2, 348, 346, 347, 291, 350, 350, + 315, 316, 317, 318, 319, 320, 0, 0, 308, 309, + 310, 311, 302, 0, 303, 304, 305, 0, 306, 403, + 0, 1191, 366, 367, 369, 377, 0, 372, 373, 0, + 377, 377, 0, 398, 399, 0, 1183, 1208, 0, 0, + 0, 1309, 1308, 1308, 1308, 0, 155, 156, 157, 158, + 159, 160, 609, 0, 0, 585, 607, 608, 153, 0, + 0, 163, 491, 490, 0, 641, 0, 401, 0, 0, + 395, 395, 380, 381, 531, 0, 0, 616, 617, 618, + 619, 0, 0, 0, 518, 430, 0, 519, 520, 489, + 491, 361, 0, 444, 445, 450, 451, 470, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 564, + 565, 566, 567, 493, 571, 568, 493, 572, 1205, 1206, + 1207, 0, 0, 679, 0, 0, 427, 92, 1297, 684, + 745, 705, 737, 745, 697, 704, 725, 765, 809, 0, + 0, 0, 0, 817, 0, 0, 954, 1012, 1014, 958, + 0, 962, 966, 0, 0, 0, 0, 0, 0, 0, + 1008, 1032, 1033, 0, 0, 1177, 0, 1163, 0, 0, + 1040, 1125, 1126, 1047, 0, 0, 0, 0, 0, 0, + 1053, 1054, 1055, 1056, 1057, 0, 1059, 0, 0, 0, + 1063, 1064, 0, 0, 1065, 0, 0, 0, 0, 0, + 0, 0, 0, 1077, 1078, 1079, 1080, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1091, 1028, 0, + 0, 847, 0, 1127, 1128, 1129, 1130, 1131, 1168, 794, + 797, 799, 886, 933, 934, 0, 0, 0, 0, 914, + 1305, 840, 841, 844, -2, 0, 0, 1170, 0, 0, + 873, 944, 874, 0, 852, 51, 889, 0, 1231, 1230, + 1243, 1256, 359, 359, 353, 354, 360, 355, 357, 358, + 1181, 0, 1186, 0, 1267, 0, 0, 1259, 0, 0, + 0, 0, 0, 0, 0, 0, 917, 0, 0, 920, + 0, 0, 0, 0, 911, 0, 0, 0, 0, 0, + 0, -2, 0, 0, 90, 91, 0, 0, 0, 104, + 105, 0, 0, 111, 362, 363, 144, 153, 438, 168, + 411, 0, 0, 287, 349, 312, 313, 314, 0, 336, + 0, 0, 0, 432, 116, 1195, 1194, 377, 377, 368, + 0, 371, 0, 0, 0, 1310, 339, 400, 0, 134, + 0, 0, 0, 0, 0, 140, 579, 0, 0, 586, + 0, 0, 0, 500, 0, 511, 512, 0, 613, -2, + 675, 365, 0, 379, 382, 899, 0, 0, 513, 0, + 516, 517, 431, 491, 522, 523, 536, 473, 474, 471, + 0, 0, 1218, 1219, 1224, 1222, 1223, 121, 557, 559, + 558, 562, 0, 0, 495, 0, 495, 555, 0, 427, + 1191, 0, 683, 428, 429, 748, 748, 804, 95, 0, + 807, 0, 0, 0, 0, 959, 963, 863, 0, 0, + 338, 338, 1145, 338, 342, 1148, 338, 1150, 338, 1153, + 338, 1156, 1157, 0, 0, 0, 0, 1160, 1039, 1166, + 0, 1048, 0, 0, 0, 1052, 0, 0, 0, 0, + 0, 0, 132, 133, 1094, 0, 0, 1096, 1098, 1099, + 1069, 1095, 0, 0, 1092, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1029, 1030, 0, 1169, 935, + 940, 940, 940, 0, 0, 0, 1292, 1293, 1171, 1172, + 944, 1173, 875, 853, 891, 1249, 0, 1242, 0, -2, + 1251, 0, 0, 0, 1257, 351, 352, 867, 78, 945, + 81, 0, 1267, 1275, 0, 1258, 1269, 1271, 0, 0, + 0, 1263, 0, 944, 877, 906, 908, 0, 903, 918, + 919, 921, 0, 923, 0, 925, 926, 888, 882, 884, + 0, 0, 0, 98, 0, 944, 944, 97, 0, 931, + 108, 109, 110, 437, 172, 177, 0, 0, 0, 182, + 0, 184, 0, 0, 0, 189, 190, 377, 377, 412, + 0, 284, 286, 0, 0, 175, 350, 0, 350, 0, + 343, 0, 413, 433, 1192, 1193, 0, 0, 370, 374, + 375, 376, 0, 1299, 136, 0, 0, 0, 582, 0, + 610, 0, 0, 0, 0, 0, 0, 164, 492, 642, + 643, 644, 645, 646, 647, 648, 649, 650, 0, 377, + 0, 0, 0, 377, 377, 377, 0, 667, 364, 0, + 0, 638, 635, 514, 0, 213, 214, 216, 0, 0, + 521, 888, 1209, 1210, 1211, 0, 1221, 1225, 124, 0, + 0, 0, 0, 569, 0, 494, 570, 680, 681, 682, + 93, 690, 696, 806, 826, 952, 960, 964, 0, 996, + 1143, 350, 1146, 1147, 1149, 1151, 1152, 1154, 1155, 997, + 998, 0, 1035, 0, 1037, 1186, 0, 1164, 0, 0, + 1051, 0, 0, 0, 1060, 1061, 1062, 0, 0, 1068, + 0, 1070, 0, 0, 0, 1081, 1082, 1083, 1084, 1085, + 1086, 1087, 1088, 1089, 1090, 1031, 0, 0, 0, 0, + 912, -2, 62, 1173, 1175, 0, 1236, 1234, 1234, 1244, + 1245, 0, 0, 1252, 0, 0, 0, 0, 82, 0, + 0, 0, 1272, 0, 0, 0, 0, 99, 1177, 900, + 907, 0, 0, 901, 0, 902, 922, 924, 881, -2, + 885, 0, 944, 944, 88, 89, 0, 178, 0, 180, + 206, 207, 0, 183, 185, 186, 187, 193, 194, 195, + 188, 0, 0, 283, 285, 0, 0, 326, 337, 327, + 0, 0, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, + 888, 137, 138, 139, 574, 0, 584, 0, 0, 0, + 577, 0, 503, 0, 0, 0, 377, 377, 377, 0, + 0, 0, 0, 652, 0, 0, 615, 0, 623, 0, + 0, 0, 217, 218, 0, 1220, 556, 0, 122, 123, + 0, 0, 561, 496, 497, 1132, 1144, 0, 0, 0, + 1161, 0, 0, 0, 0, 1058, 1066, 0, 1097, 0, + 1073, 0, 0, 0, 604, 605, 0, 1093, 0, 941, + 0, 0, 0, 0, 932, 1175, 80, 0, 0, 1239, + 0, 1232, 1235, 1233, 1246, 0, 0, 1253, 0, 1255, + 0, 1276, 1277, 1270, 0, 1262, 1265, 1261, 1264, 1186, + 904, 0, 909, 0, 1177, 87, 0, 181, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 191, 192, 0, 0, 341, 344, 0, 0, 0, + 575, 0, 587, 578, 0, 665, 0, 669, 0, 0, + 0, 672, 673, 674, 651, 0, 655, 405, 639, 636, + 637, 515, 0, 125, 126, 0, 0, 0, 0, 0, + 0, 1034, 1036, 1038, 1049, 1050, 1141, 1142, 1067, 1071, + 0, 1074, 0, 0, 1075, 0, 606, 0, 937, 894, + 895, 942, 943, 0, 0, 887, 79, 1176, 1174, 1228, + 0, 1237, 1238, 1247, 1248, 1254, 0, 1260, 0, 85, + 0, 0, 0, 1186, 179, 0, 198, 0, 583, 0, + 586, 576, 663, 664, 0, 676, 668, 670, 671, 653, + -2, 1212, 0, 0, 0, 563, 995, 0, 0, 0, + 1094, 1076, 0, 602, 603, 0, 936, 938, 939, 1240, + 1241, 1268, 1266, 905, 912, 0, 86, 418, 411, 1212, + 0, 0, 0, 656, 657, 658, 659, 660, 661, 662, + 553, 1214, 127, 128, 484, 485, 486, 121, 1133, 0, + 1136, 0, 896, 897, 588, 0, 590, 0, -2, 406, + 419, 0, 173, 199, 200, 0, 0, 203, 204, 205, + 196, 197, 117, 0, 0, 677, 0, 1215, 1216, 124, + 1134, 1072, 589, 0, 0, 361, 0, 599, 407, 408, + 0, 414, 415, 416, 417, 201, 202, 611, 0, 0, + 560, 0, 591, 592, 600, 0, 409, 0, 410, 0, + 0, 0, 580, 0, 611, 1213, 0, 0, 601, 597, + 420, 422, 423, 0, 0, 421, 612, 581, 1135, 0, + 424, 425, 426, 593, 594, 595, 596, } var yyTok1 = [...]int{ @@ -8237,68 +8204,68 @@ yydefault: case 1: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:533 +//line sql.y:535 { setParseTree(yylex, yyDollar[1].statementUnion()) } case 2: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:538 +//line sql.y:540 { } case 3: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:539 +//line sql.y:541 { } case 4: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:543 +//line sql.y:545 { yyLOCAL = yyDollar[1].selStmtUnion() } yyVAL.union = yyLOCAL case 37: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:579 +//line sql.y:581 { setParseTree(yylex, nil) } case 38: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:585 +//line sql.y:587 { yyVAL.colIdent = NewColIdentWithAt(string(yyDollar[1].str), NoAt) } case 39: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:589 +//line sql.y:591 { yyVAL.colIdent = NewColIdentWithAt(string(yyDollar[1].str), SingleAt) } case 40: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:593 +//line sql.y:595 { yyVAL.colIdent = NewColIdentWithAt(string(yyDollar[1].str), DoubleAt) } case 41: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:598 +//line sql.y:600 { yyVAL.colIdent = NewColIdentWithAt("", NoAt) } case 42: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:602 +//line sql.y:604 { yyVAL.colIdent = yyDollar[1].colIdent } case 43: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:608 +//line sql.y:610 { yyLOCAL = &OtherAdmin{} } @@ -8306,7 +8273,7 @@ yydefault: case 44: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:614 +//line sql.y:616 { yyLOCAL = &Load{} } @@ -8314,7 +8281,7 @@ yydefault: case 45: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *With -//line sql.y:620 +//line sql.y:622 { yyLOCAL = &With{ctes: yyDollar[2].ctesUnion(), Recursive: false} } @@ -8322,7 +8289,7 @@ yydefault: case 46: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *With -//line sql.y:624 +//line sql.y:626 { yyLOCAL = &With{ctes: yyDollar[3].ctesUnion(), Recursive: true} } @@ -8330,7 +8297,7 @@ yydefault: case 47: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *With -//line sql.y:629 +//line sql.y:631 { yyLOCAL = nil } @@ -8338,14 +8305,14 @@ yydefault: case 48: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *With -//line sql.y:633 +//line sql.y:635 { yyLOCAL = yyDollar[1].withUnion() } yyVAL.union = yyLOCAL case 49: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:639 +//line sql.y:641 { yySLICE := (*[]*CommonTableExpr)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].cteUnion()) @@ -8353,7 +8320,7 @@ yydefault: case 50: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*CommonTableExpr -//line sql.y:643 +//line sql.y:645 { yyLOCAL = []*CommonTableExpr{yyDollar[1].cteUnion()} } @@ -8361,7 +8328,7 @@ yydefault: case 51: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *CommonTableExpr -//line sql.y:649 +//line sql.y:651 { yyLOCAL = &CommonTableExpr{TableID: yyDollar[1].tableIdent, Columns: yyDollar[2].columnsUnion(), Subquery: yyDollar[4].subqueryUnion()} } @@ -8369,7 +8336,7 @@ yydefault: case 52: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:655 +//line sql.y:657 { yyLOCAL = yyDollar[2].selStmtUnion() } @@ -8377,7 +8344,7 @@ yydefault: case 53: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:659 +//line sql.y:661 { yyLOCAL = yyDollar[2].selStmtUnion() } @@ -8385,7 +8352,7 @@ yydefault: case 54: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:663 +//line sql.y:665 { setLockInSelect(yyDollar[2].selStmtUnion(), yyDollar[3].lockUnion()) yyLOCAL = yyDollar[2].selStmtUnion() @@ -8394,7 +8361,7 @@ yydefault: case 55: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:686 +//line sql.y:688 { yyDollar[1].selStmtUnion().SetOrderBy(yyDollar[2].orderByUnion()) yyDollar[1].selStmtUnion().SetLimit(yyDollar[3].limitUnion()) @@ -8404,7 +8371,7 @@ yydefault: case 56: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:692 +//line sql.y:694 { yyDollar[1].selStmtUnion().SetLimit(yyDollar[2].limitUnion()) yyLOCAL = yyDollar[1].selStmtUnion() @@ -8413,7 +8380,7 @@ yydefault: case 57: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:697 +//line sql.y:699 { yyDollar[1].selStmtUnion().SetOrderBy(yyDollar[2].orderByUnion()) yyDollar[1].selStmtUnion().SetLimit(yyDollar[3].limitUnion()) @@ -8423,7 +8390,7 @@ yydefault: case 58: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:703 +//line sql.y:705 { yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion()) yyDollar[2].selStmtUnion().SetOrderBy(yyDollar[3].orderByUnion()) @@ -8434,7 +8401,7 @@ yydefault: case 59: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:710 +//line sql.y:712 { yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion()) yyDollar[2].selStmtUnion().SetLimit(yyDollar[3].limitUnion()) @@ -8444,7 +8411,7 @@ yydefault: case 60: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:716 +//line sql.y:718 { yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion()) yyDollar[2].selStmtUnion().SetOrderBy(yyDollar[3].orderByUnion()) @@ -8454,14 +8421,14 @@ yydefault: yyVAL.union = yyLOCAL case 61: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:723 +//line sql.y:725 { yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion()) } case 62: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:727 +//line sql.y:729 { 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*/) } @@ -8469,7 +8436,7 @@ yydefault: case 63: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:733 +//line sql.y:735 { yyLOCAL = yyDollar[1].selStmtUnion() } @@ -8477,7 +8444,7 @@ yydefault: case 64: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:737 +//line sql.y:739 { yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()} } @@ -8485,7 +8452,7 @@ yydefault: case 65: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:741 +//line sql.y:743 { yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()} } @@ -8493,7 +8460,7 @@ yydefault: case 66: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:745 +//line sql.y:747 { yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()} } @@ -8501,7 +8468,7 @@ yydefault: case 67: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:749 +//line sql.y:751 { yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()} } @@ -8509,7 +8476,7 @@ yydefault: case 68: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:755 +//line sql.y:757 { yyLOCAL = yyDollar[1].selStmtUnion() } @@ -8517,7 +8484,7 @@ yydefault: case 69: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:759 +//line sql.y:761 { setLockInSelect(yyDollar[1].selStmtUnion(), yyDollar[2].lockUnion()) yyLOCAL = yyDollar[1].selStmtUnion() @@ -8526,7 +8493,7 @@ yydefault: case 70: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:764 +//line sql.y:766 { yyLOCAL = yyDollar[1].selStmtUnion() } @@ -8534,7 +8501,7 @@ yydefault: case 71: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:768 +//line sql.y:770 { yyLOCAL = yyDollar[1].selStmtUnion() } @@ -8542,7 +8509,7 @@ yydefault: case 72: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:774 +//line sql.y:776 { yyLOCAL = yyDollar[2].selStmtUnion() } @@ -8550,7 +8517,7 @@ yydefault: case 73: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:778 +//line sql.y:780 { yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion()) yyLOCAL = yyDollar[1].selStmtUnion() @@ -8559,7 +8526,7 @@ yydefault: case 74: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:783 +//line sql.y:785 { yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion()) yyDollar[1].selStmtUnion().SetLock(yyDollar[3].lockUnion()) @@ -8569,7 +8536,7 @@ yydefault: case 75: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:789 +//line sql.y:791 { yyDollar[1].selStmtUnion().SetInto(yyDollar[3].selectIntoUnion()) yyDollar[1].selStmtUnion().SetLock(yyDollar[2].lockUnion()) @@ -8579,7 +8546,7 @@ yydefault: case 76: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:795 +//line sql.y:797 { yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion()) yyLOCAL = yyDollar[1].selStmtUnion() @@ -8588,7 +8555,7 @@ yydefault: case 77: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:802 +//line sql.y:804 { yyLOCAL = &Stream{Comments: Comments(yyDollar[2].strs).Parsed(), SelectExpr: yyDollar[3].selectExprUnion(), Table: yyDollar[5].tableName} } @@ -8596,7 +8563,7 @@ yydefault: case 78: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:808 +//line sql.y:810 { yyLOCAL = &VStream{Comments: Comments(yyDollar[2].strs).Parsed(), SelectExpr: yyDollar[3].selectExprUnion(), Table: yyDollar[5].tableName, Where: NewWhere(WhereClause, yyDollar[6].exprUnion()), Limit: yyDollar[7].limitUnion()} } @@ -8604,7 +8571,7 @@ yydefault: case 79: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:816 +//line sql.y:818 { 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())) } @@ -8612,7 +8579,7 @@ yydefault: case 80: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:820 +//line sql.y:822 { 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())) } @@ -8620,7 +8587,7 @@ yydefault: case 81: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:826 +//line sql.y:828 { // insert_data returns a *Insert pre-filled with Columns & Values ins := yyDollar[6].insUnion() @@ -8636,7 +8603,7 @@ yydefault: case 82: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Statement -//line sql.y:838 +//line sql.y:840 { cols := make(Columns, 0, len(yyDollar[7].updateExprsUnion())) vals := make(ValTuple, 0, len(yyDollar[8].updateExprsUnion())) @@ -8650,7 +8617,7 @@ yydefault: case 83: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL InsertAction -//line sql.y:850 +//line sql.y:852 { yyLOCAL = InsertAct } @@ -8658,7 +8625,7 @@ yydefault: case 84: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL InsertAction -//line sql.y:854 +//line sql.y:856 { yyLOCAL = ReplaceAct } @@ -8666,7 +8633,7 @@ yydefault: case 85: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL Statement -//line sql.y:860 +//line sql.y:862 { yyLOCAL = &Update{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), 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()} } @@ -8674,7 +8641,7 @@ yydefault: case 86: yyDollar = yyS[yypt-11 : yypt+1] var yyLOCAL Statement -//line sql.y:866 +//line sql.y:868 { yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), 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()} } @@ -8682,7 +8649,7 @@ yydefault: case 87: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL Statement -//line sql.y:870 +//line sql.y:872 { yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), Targets: yyDollar[6].tableNamesUnion(), TableExprs: yyDollar[8].tableExprsUnion(), Where: NewWhere(WhereClause, yyDollar[9].exprUnion())} } @@ -8690,7 +8657,7 @@ yydefault: case 88: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Statement -//line sql.y:874 +//line sql.y:876 { yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), Targets: yyDollar[5].tableNamesUnion(), TableExprs: yyDollar[7].tableExprsUnion(), Where: NewWhere(WhereClause, yyDollar[8].exprUnion())} } @@ -8698,32 +8665,32 @@ yydefault: case 89: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Statement -//line sql.y:878 +//line sql.y:880 { yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), Targets: yyDollar[5].tableNamesUnion(), TableExprs: yyDollar[7].tableExprsUnion(), Where: NewWhere(WhereClause, yyDollar[8].exprUnion())} } yyVAL.union = yyLOCAL case 90: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:883 +//line sql.y:885 { } case 91: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:884 +//line sql.y:886 { } case 92: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableNames -//line sql.y:888 +//line sql.y:890 { yyLOCAL = TableNames{yyDollar[1].tableName.ToViewName()} } yyVAL.union = yyLOCAL case 93: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:892 +//line sql.y:894 { yySLICE := (*TableNames)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableName.ToViewName()) @@ -8731,14 +8698,14 @@ yydefault: case 94: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableNames -//line sql.y:898 +//line sql.y:900 { yyLOCAL = TableNames{yyDollar[1].tableName} } yyVAL.union = yyLOCAL case 95: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:902 +//line sql.y:904 { yySLICE := (*TableNames)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableName) @@ -8746,14 +8713,14 @@ yydefault: case 96: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableNames -//line sql.y:908 +//line sql.y:910 { yyLOCAL = TableNames{yyDollar[1].tableName} } yyVAL.union = yyLOCAL case 97: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:912 +//line sql.y:914 { yySLICE := (*TableNames)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableName) @@ -8761,7 +8728,7 @@ yydefault: case 98: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Partitions -//line sql.y:917 +//line sql.y:919 { yyLOCAL = nil } @@ -8769,7 +8736,7 @@ yydefault: case 99: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Partitions -//line sql.y:921 +//line sql.y:923 { yyLOCAL = yyDollar[3].partitionsUnion() } @@ -8777,7 +8744,7 @@ yydefault: case 100: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:927 +//line sql.y:929 { yyLOCAL = &Set{Comments: Comments(yyDollar[2].strs).Parsed(), Exprs: yyDollar[3].setExprsUnion()} } @@ -8785,7 +8752,7 @@ yydefault: case 101: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:933 +//line sql.y:935 { yyLOCAL = &SetTransaction{Comments: Comments(yyDollar[2].strs).Parsed(), Scope: yyDollar[3].scopeUnion(), Characteristics: yyDollar[5].characteristicsUnion()} } @@ -8793,7 +8760,7 @@ yydefault: case 102: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:937 +//line sql.y:939 { yyLOCAL = &SetTransaction{Comments: Comments(yyDollar[2].strs).Parsed(), Characteristics: yyDollar[4].characteristicsUnion(), Scope: ImplicitScope} } @@ -8801,14 +8768,14 @@ yydefault: case 103: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []Characteristic -//line sql.y:943 +//line sql.y:945 { yyLOCAL = []Characteristic{yyDollar[1].characteristicUnion()} } yyVAL.union = yyLOCAL case 104: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:947 +//line sql.y:949 { yySLICE := (*[]Characteristic)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].characteristicUnion()) @@ -8816,7 +8783,7 @@ yydefault: case 105: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Characteristic -//line sql.y:953 +//line sql.y:955 { yyLOCAL = yyDollar[3].isolationLevelUnion() } @@ -8824,7 +8791,7 @@ yydefault: case 106: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Characteristic -//line sql.y:957 +//line sql.y:959 { yyLOCAL = ReadWrite } @@ -8832,7 +8799,7 @@ yydefault: case 107: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Characteristic -//line sql.y:961 +//line sql.y:963 { yyLOCAL = ReadOnly } @@ -8840,7 +8807,7 @@ yydefault: case 108: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IsolationLevel -//line sql.y:967 +//line sql.y:969 { yyLOCAL = RepeatableRead } @@ -8848,7 +8815,7 @@ yydefault: case 109: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IsolationLevel -//line sql.y:971 +//line sql.y:973 { yyLOCAL = ReadCommitted } @@ -8856,7 +8823,7 @@ yydefault: case 110: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IsolationLevel -//line sql.y:975 +//line sql.y:977 { yyLOCAL = ReadUncommitted } @@ -8864,7 +8831,7 @@ yydefault: case 111: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IsolationLevel -//line sql.y:979 +//line sql.y:981 { yyLOCAL = Serializable } @@ -8872,7 +8839,7 @@ yydefault: case 112: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Scope -//line sql.y:985 +//line sql.y:987 { yyLOCAL = SessionScope } @@ -8880,7 +8847,7 @@ yydefault: case 113: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Scope -//line sql.y:989 +//line sql.y:991 { yyLOCAL = GlobalScope } @@ -8888,7 +8855,7 @@ yydefault: case 114: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:995 +//line sql.y:997 { yyDollar[1].createTableUnion().TableSpec = yyDollar[2].tableSpecUnion() yyDollar[1].createTableUnion().FullyParsed = true @@ -8898,7 +8865,7 @@ yydefault: case 115: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:1001 +//line sql.y:1003 { // Create table [name] like [name] yyDollar[1].createTableUnion().OptLike = yyDollar[2].optLikeUnion() @@ -8909,7 +8876,7 @@ yydefault: case 116: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:1008 +//line sql.y:1010 { indexDef := yyDollar[1].alterTableUnion().AlterOptions[0].(*AddIndexDefinition).IndexDefinition indexDef.Columns = yyDollar[3].indexColumnsUnion() @@ -8922,7 +8889,7 @@ yydefault: case 117: yyDollar = yyS[yypt-12 : yypt+1] var yyLOCAL Statement -//line sql.y:1017 +//line sql.y:1019 { yyLOCAL = &CreateView{ViewName: yyDollar[8].tableName.ToViewName(), Comments: Comments(yyDollar[2].strs).Parsed(), IsReplace: yyDollar[3].booleanUnion(), Algorithm: yyDollar[4].str, Definer: yyDollar[5].definerUnion(), Security: yyDollar[6].str, Columns: yyDollar[9].columnsUnion(), Select: yyDollar[11].selStmtUnion(), CheckOption: yyDollar[12].str} } @@ -8930,7 +8897,7 @@ yydefault: case 118: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:1021 +//line sql.y:1023 { yyDollar[1].createDatabaseUnion().FullyParsed = true yyDollar[1].createDatabaseUnion().CreateOptions = yyDollar[2].databaseOptionsUnion() @@ -8940,7 +8907,7 @@ yydefault: case 119: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:1028 +//line sql.y:1030 { yyLOCAL = false } @@ -8948,33 +8915,33 @@ yydefault: case 120: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:1032 +//line sql.y:1034 { yyLOCAL = true } yyVAL.union = yyLOCAL case 121: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1037 +//line sql.y:1039 { yyVAL.colIdent = NewColIdent("") } case 122: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1041 +//line sql.y:1043 { yyVAL.colIdent = yyDollar[2].colIdent } case 123: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1047 +//line sql.y:1049 { yyVAL.colIdent = yyDollar[1].colIdent } case 124: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []VindexParam -//line sql.y:1052 +//line sql.y:1054 { var v []VindexParam yyLOCAL = v @@ -8983,7 +8950,7 @@ yydefault: case 125: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []VindexParam -//line sql.y:1057 +//line sql.y:1059 { yyLOCAL = yyDollar[2].vindexParamsUnion() } @@ -8991,7 +8958,7 @@ yydefault: case 126: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []VindexParam -//line sql.y:1063 +//line sql.y:1065 { yyLOCAL = make([]VindexParam, 0, 4) yyLOCAL = append(yyLOCAL, yyDollar[1].vindexParam) @@ -8999,21 +8966,21 @@ yydefault: yyVAL.union = yyLOCAL case 127: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1068 +//line sql.y:1070 { yySLICE := (*[]VindexParam)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].vindexParam) } case 128: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1074 +//line sql.y:1076 { yyVAL.vindexParam = VindexParam{Key: yyDollar[1].colIdent, Val: yyDollar[3].str} } case 129: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*JSONObjectParam -//line sql.y:1079 +//line sql.y:1081 { yyLOCAL = nil } @@ -9021,7 +8988,7 @@ yydefault: case 130: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*JSONObjectParam -//line sql.y:1083 +//line sql.y:1085 { yyLOCAL = yyDollar[1].jsonObjectParamsUnion() } @@ -9029,28 +8996,28 @@ yydefault: case 131: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*JSONObjectParam -//line sql.y:1089 +//line sql.y:1091 { yyLOCAL = []*JSONObjectParam{yyDollar[1].jsonObjectParam} } yyVAL.union = yyLOCAL case 132: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1093 +//line sql.y:1095 { yySLICE := (*[]*JSONObjectParam)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].jsonObjectParam) } case 133: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1099 +//line sql.y:1101 { yyVAL.jsonObjectParam = &JSONObjectParam{Key: yyDollar[1].exprUnion(), Value: yyDollar[3].exprUnion()} } case 134: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *CreateTable -//line sql.y:1105 +//line sql.y:1107 { yyLOCAL = &CreateTable{Comments: Comments(yyDollar[2].strs).Parsed(), Table: yyDollar[6].tableName, IfNotExists: yyDollar[5].booleanUnion(), Temp: yyDollar[3].booleanUnion()} setDDL(yylex, yyLOCAL) @@ -9059,7 +9026,7 @@ yydefault: case 135: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *AlterTable -//line sql.y:1112 +//line sql.y:1114 { yyLOCAL = &AlterTable{Comments: Comments(yyDollar[2].strs).Parsed(), Table: yyDollar[4].tableName} setDDL(yylex, yyLOCAL) @@ -9068,7 +9035,7 @@ yydefault: case 136: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *AlterTable -//line sql.y:1119 +//line sql.y:1121 { 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()}}}} setDDL(yylex, yyLOCAL) @@ -9077,7 +9044,7 @@ yydefault: case 137: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *AlterTable -//line sql.y:1124 +//line sql.y:1126 { 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()}}}} setDDL(yylex, yyLOCAL) @@ -9086,7 +9053,7 @@ yydefault: case 138: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *AlterTable -//line sql.y:1129 +//line sql.y:1131 { 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()}}}} setDDL(yylex, yyLOCAL) @@ -9095,7 +9062,7 @@ yydefault: case 139: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *AlterTable -//line sql.y:1134 +//line sql.y:1136 { 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()}}}} setDDL(yylex, yyLOCAL) @@ -9104,7 +9071,7 @@ yydefault: case 140: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *CreateDatabase -//line sql.y:1141 +//line sql.y:1143 { yyLOCAL = &CreateDatabase{Comments: Comments(yyDollar[4].strs).Parsed(), DBName: yyDollar[6].tableIdent, IfNotExists: yyDollar[5].booleanUnion()} setDDL(yylex, yyLOCAL) @@ -9113,7 +9080,7 @@ yydefault: case 141: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *AlterDatabase -//line sql.y:1148 +//line sql.y:1150 { yyLOCAL = &AlterDatabase{} setDDL(yylex, yyLOCAL) @@ -9122,7 +9089,7 @@ yydefault: case 144: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *TableSpec -//line sql.y:1159 +//line sql.y:1161 { yyLOCAL = yyDollar[2].tableSpecUnion() yyLOCAL.Options = yyDollar[4].tableOptionsUnion() @@ -9132,7 +9099,7 @@ yydefault: case 145: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []DatabaseOption -//line sql.y:1166 +//line sql.y:1168 { yyLOCAL = nil } @@ -9140,7 +9107,7 @@ yydefault: case 146: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []DatabaseOption -//line sql.y:1170 +//line sql.y:1172 { yyLOCAL = yyDollar[1].databaseOptionsUnion() } @@ -9148,7 +9115,7 @@ yydefault: case 147: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []DatabaseOption -//line sql.y:1176 +//line sql.y:1178 { yyLOCAL = []DatabaseOption{yyDollar[1].databaseOption} } @@ -9156,7 +9123,7 @@ yydefault: case 148: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []DatabaseOption -//line sql.y:1180 +//line sql.y:1182 { yyLOCAL = []DatabaseOption{yyDollar[1].databaseOption} } @@ -9164,28 +9131,28 @@ yydefault: case 149: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []DatabaseOption -//line sql.y:1184 +//line sql.y:1186 { yyLOCAL = []DatabaseOption{yyDollar[1].databaseOption} } yyVAL.union = yyLOCAL case 150: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1188 +//line sql.y:1190 { yySLICE := (*[]DatabaseOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].databaseOption) } case 151: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1192 +//line sql.y:1194 { yySLICE := (*[]DatabaseOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].databaseOption) } case 152: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1196 +//line sql.y:1198 { yySLICE := (*[]DatabaseOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].databaseOption) @@ -9193,7 +9160,7 @@ yydefault: case 153: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:1202 +//line sql.y:1204 { yyLOCAL = false } @@ -9201,51 +9168,51 @@ yydefault: case 154: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:1206 +//line sql.y:1208 { yyLOCAL = true } yyVAL.union = yyLOCAL case 155: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1212 +//line sql.y:1214 { yyVAL.databaseOption = DatabaseOption{Type: CharacterSetType, Value: (yyDollar[4].colIdent.String()), IsDefault: yyDollar[1].booleanUnion()} } case 156: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1216 +//line sql.y:1218 { yyVAL.databaseOption = DatabaseOption{Type: CharacterSetType, Value: (encodeSQLString(yyDollar[4].str)), IsDefault: yyDollar[1].booleanUnion()} } case 157: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1222 +//line sql.y:1224 { yyVAL.databaseOption = DatabaseOption{Type: CollateType, Value: (yyDollar[4].colIdent.String()), IsDefault: yyDollar[1].booleanUnion()} } case 158: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1226 +//line sql.y:1228 { yyVAL.databaseOption = DatabaseOption{Type: CollateType, Value: (encodeSQLString(yyDollar[4].str)), IsDefault: yyDollar[1].booleanUnion()} } case 159: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1232 +//line sql.y:1234 { yyVAL.databaseOption = DatabaseOption{Type: EncryptionType, Value: (yyDollar[4].colIdent.String()), IsDefault: yyDollar[1].booleanUnion()} } case 160: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1236 +//line sql.y:1238 { yyVAL.databaseOption = DatabaseOption{Type: EncryptionType, Value: (encodeSQLString(yyDollar[4].str)), IsDefault: yyDollar[1].booleanUnion()} } case 161: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *OptLike -//line sql.y:1242 +//line sql.y:1244 { yyLOCAL = &OptLike{LikeTable: yyDollar[2].tableName} } @@ -9253,7 +9220,7 @@ yydefault: case 162: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *OptLike -//line sql.y:1246 +//line sql.y:1248 { yyLOCAL = &OptLike{LikeTable: yyDollar[3].tableName} } @@ -9261,14 +9228,14 @@ yydefault: case 163: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*ColumnDefinition -//line sql.y:1252 +//line sql.y:1254 { yyLOCAL = []*ColumnDefinition{yyDollar[1].columnDefinitionUnion()} } yyVAL.union = yyLOCAL case 164: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1256 +//line sql.y:1258 { yySLICE := (*[]*ColumnDefinition)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].columnDefinitionUnion()) @@ -9276,7 +9243,7 @@ yydefault: case 165: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *TableSpec -//line sql.y:1262 +//line sql.y:1264 { yyLOCAL = &TableSpec{} yyLOCAL.AddColumn(yyDollar[1].columnDefinitionUnion()) @@ -9285,7 +9252,7 @@ yydefault: case 166: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *TableSpec -//line sql.y:1267 +//line sql.y:1269 { yyLOCAL = &TableSpec{} yyLOCAL.AddConstraint(yyDollar[1].constraintDefinitionUnion()) @@ -9293,39 +9260,39 @@ yydefault: yyVAL.union = yyLOCAL case 167: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1272 +//line sql.y:1274 { yyVAL.tableSpecUnion().AddColumn(yyDollar[3].columnDefinitionUnion()) } case 168: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1276 +//line sql.y:1278 { yyVAL.tableSpecUnion().AddColumn(yyDollar[3].columnDefinitionUnion()) yyVAL.tableSpecUnion().AddConstraint(yyDollar[4].constraintDefinitionUnion()) } case 169: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1281 +//line sql.y:1283 { yyVAL.tableSpecUnion().AddIndex(yyDollar[3].indexDefinitionUnion()) } case 170: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1285 +//line sql.y:1287 { yyVAL.tableSpecUnion().AddConstraint(yyDollar[3].constraintDefinitionUnion()) } case 171: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1289 +//line sql.y:1291 { yyVAL.tableSpecUnion().AddConstraint(yyDollar[3].constraintDefinitionUnion()) } case 172: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ColumnDefinition -//line sql.y:1300 +//line sql.y:1302 { yyDollar[2].columnType.Options = yyDollar[4].columnTypeOptionsUnion() if yyDollar[2].columnType.Options.Collate == "" { @@ -9338,7 +9305,7 @@ yydefault: case 173: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL *ColumnDefinition -//line sql.y:1309 +//line sql.y:1311 { yyDollar[2].columnType.Options = yyDollar[9].columnTypeOptionsUnion() yyDollar[2].columnType.Options.As = yyDollar[7].exprUnion() @@ -9349,20 +9316,20 @@ yydefault: yyVAL.union = yyLOCAL case 174: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1318 +//line sql.y:1320 { yyVAL.str = "" } case 175: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1322 +//line sql.y:1324 { yyVAL.str = "" } case 176: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1331 +//line sql.y:1333 { yyLOCAL = &ColumnTypeOptions{Null: nil, Default: nil, OnUpdate: nil, Autoincrement: false, KeyOpt: colKeyNone, Comment: nil, As: nil, Invisible: nil, Format: UnspecifiedFormat, EngineAttribute: nil, SecondaryEngineAttribute: nil} } @@ -9370,7 +9337,7 @@ yydefault: case 177: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1335 +//line sql.y:1337 { val := true yyDollar[1].columnTypeOptionsUnion().Null = &val @@ -9380,7 +9347,7 @@ yydefault: case 178: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1341 +//line sql.y:1343 { val := false yyDollar[1].columnTypeOptionsUnion().Null = &val @@ -9390,7 +9357,7 @@ yydefault: case 179: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1347 +//line sql.y:1349 { yyDollar[1].columnTypeOptionsUnion().Default = yyDollar[4].exprUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9399,7 +9366,7 @@ yydefault: case 180: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1352 +//line sql.y:1354 { yyDollar[1].columnTypeOptionsUnion().Default = yyDollar[3].exprUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9408,7 +9375,7 @@ yydefault: case 181: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1357 +//line sql.y:1359 { yyDollar[1].columnTypeOptionsUnion().OnUpdate = yyDollar[4].exprUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9417,7 +9384,7 @@ yydefault: case 182: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1362 +//line sql.y:1364 { yyDollar[1].columnTypeOptionsUnion().Autoincrement = true yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9426,7 +9393,7 @@ yydefault: case 183: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1367 +//line sql.y:1369 { yyDollar[1].columnTypeOptionsUnion().Comment = NewStrLiteral(yyDollar[3].str) yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9435,7 +9402,7 @@ yydefault: case 184: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1372 +//line sql.y:1374 { yyDollar[1].columnTypeOptionsUnion().KeyOpt = yyDollar[2].colKeyOptUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9443,14 +9410,14 @@ yydefault: yyVAL.union = yyLOCAL case 185: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1377 +//line sql.y:1379 { yyDollar[1].columnTypeOptionsUnion().Collate = encodeSQLString(yyDollar[3].str) } case 186: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1381 +//line sql.y:1383 { yyDollar[1].columnTypeOptionsUnion().Collate = string(yyDollar[3].colIdent.String()) yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9458,14 +9425,14 @@ yydefault: yyVAL.union = yyLOCAL case 187: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1386 +//line sql.y:1388 { yyDollar[1].columnTypeOptionsUnion().Format = yyDollar[3].columnFormatUnion() } case 188: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1390 +//line sql.y:1392 { yyDollar[1].columnTypeOptionsUnion().SRID = NewIntLiteral(yyDollar[3].str) yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9474,7 +9441,7 @@ yydefault: case 189: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1395 +//line sql.y:1397 { val := false yyDollar[1].columnTypeOptionsUnion().Invisible = &val @@ -9484,7 +9451,7 @@ yydefault: case 190: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1401 +//line sql.y:1403 { val := true yyDollar[1].columnTypeOptionsUnion().Invisible = &val @@ -9493,20 +9460,20 @@ yydefault: yyVAL.union = yyLOCAL case 191: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1407 +//line sql.y:1409 { yyDollar[1].columnTypeOptionsUnion().EngineAttribute = NewStrLiteral(yyDollar[4].str) } case 192: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1411 +//line sql.y:1413 { yyDollar[1].columnTypeOptionsUnion().SecondaryEngineAttribute = NewStrLiteral(yyDollar[4].str) } case 193: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnFormat -//line sql.y:1417 +//line sql.y:1419 { yyLOCAL = FixedFormat } @@ -9514,7 +9481,7 @@ yydefault: case 194: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnFormat -//line sql.y:1421 +//line sql.y:1423 { yyLOCAL = DynamicFormat } @@ -9522,7 +9489,7 @@ yydefault: case 195: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnFormat -//line sql.y:1425 +//line sql.y:1427 { yyLOCAL = DefaultFormat } @@ -9530,7 +9497,7 @@ yydefault: case 196: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnStorage -//line sql.y:1431 +//line sql.y:1433 { yyLOCAL = VirtualStorage } @@ -9538,7 +9505,7 @@ yydefault: case 197: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnStorage -//line sql.y:1435 +//line sql.y:1437 { yyLOCAL = StoredStorage } @@ -9546,7 +9513,7 @@ yydefault: case 198: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1440 +//line sql.y:1442 { yyLOCAL = &ColumnTypeOptions{} } @@ -9554,7 +9521,7 @@ yydefault: case 199: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1444 +//line sql.y:1446 { yyDollar[1].columnTypeOptionsUnion().Storage = yyDollar[2].columnStorageUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9563,7 +9530,7 @@ yydefault: case 200: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1449 +//line sql.y:1451 { val := true yyDollar[1].columnTypeOptionsUnion().Null = &val @@ -9573,7 +9540,7 @@ yydefault: case 201: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1455 +//line sql.y:1457 { val := false yyDollar[1].columnTypeOptionsUnion().Null = &val @@ -9583,7 +9550,7 @@ yydefault: case 202: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1461 +//line sql.y:1463 { yyDollar[1].columnTypeOptionsUnion().Comment = NewStrLiteral(yyDollar[3].str) yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9592,7 +9559,7 @@ yydefault: case 203: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1466 +//line sql.y:1468 { yyDollar[1].columnTypeOptionsUnion().KeyOpt = yyDollar[2].colKeyOptUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9601,7 +9568,7 @@ yydefault: case 204: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1471 +//line sql.y:1473 { val := false yyDollar[1].columnTypeOptionsUnion().Invisible = &val @@ -9611,7 +9578,7 @@ yydefault: case 205: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1477 +//line sql.y:1479 { val := true yyDollar[1].columnTypeOptionsUnion().Invisible = &val @@ -9621,7 +9588,7 @@ yydefault: case 206: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1485 +//line sql.y:1487 { yyLOCAL = yyDollar[1].exprUnion() } @@ -9629,7 +9596,7 @@ yydefault: case 208: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1492 +//line sql.y:1494 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("current_timestamp"), Fsp: yyDollar[2].exprUnion()} } @@ -9637,7 +9604,7 @@ yydefault: case 209: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1496 +//line sql.y:1498 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("localtime"), Fsp: yyDollar[2].exprUnion()} } @@ -9645,7 +9612,7 @@ yydefault: case 210: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1500 +//line sql.y:1502 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("localtimestamp"), Fsp: yyDollar[2].exprUnion()} } @@ -9653,7 +9620,7 @@ yydefault: case 211: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1504 +//line sql.y:1506 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("utc_timestamp"), Fsp: yyDollar[2].exprUnion()} } @@ -9661,7 +9628,7 @@ yydefault: case 212: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1508 +//line sql.y:1510 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("now"), Fsp: yyDollar[2].exprUnion()} } @@ -9669,7 +9636,7 @@ yydefault: case 215: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1518 +//line sql.y:1520 { yyLOCAL = &NullVal{} } @@ -9677,7 +9644,7 @@ yydefault: case 217: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1525 +//line sql.y:1527 { yyLOCAL = yyDollar[2].exprUnion() } @@ -9685,7 +9652,7 @@ yydefault: case 218: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1529 +//line sql.y:1531 { yyLOCAL = &UnaryExpr{Operator: UMinusOp, Expr: yyDollar[2].exprUnion()} } @@ -9693,7 +9660,7 @@ yydefault: case 219: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1535 +//line sql.y:1537 { yyLOCAL = yyDollar[1].exprUnion() } @@ -9701,7 +9668,7 @@ yydefault: case 220: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1539 +//line sql.y:1541 { yyLOCAL = yyDollar[1].exprUnion() } @@ -9709,7 +9676,7 @@ yydefault: case 221: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1543 +//line sql.y:1545 { yyLOCAL = yyDollar[1].boolValUnion() } @@ -9717,7 +9684,7 @@ yydefault: case 222: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1547 +//line sql.y:1549 { yyLOCAL = NewHexLiteral(yyDollar[1].str) } @@ -9725,7 +9692,7 @@ yydefault: case 223: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1551 +//line sql.y:1553 { yyLOCAL = NewHexNumLiteral(yyDollar[1].str) } @@ -9733,7 +9700,7 @@ yydefault: case 224: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1555 +//line sql.y:1557 { yyLOCAL = NewBitLiteral(yyDollar[1].str) } @@ -9741,7 +9708,7 @@ yydefault: case 225: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1559 +//line sql.y:1561 { yyLOCAL = NewArgument(yyDollar[1].str[1:]) bindVariable(yylex, yyDollar[1].str[1:]) @@ -9750,7 +9717,7 @@ yydefault: case 226: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1564 +//line sql.y:1566 { yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewBitLiteral(yyDollar[2].str)} } @@ -9758,7 +9725,7 @@ yydefault: case 227: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1568 +//line sql.y:1570 { yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewHexNumLiteral(yyDollar[2].str)} } @@ -9766,7 +9733,7 @@ yydefault: case 228: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1572 +//line sql.y:1574 { yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewHexLiteral(yyDollar[2].str)} } @@ -9774,7 +9741,7 @@ yydefault: case 229: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1576 +//line sql.y:1578 { yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: yyDollar[2].colNameUnion()} } @@ -9782,7 +9749,7 @@ yydefault: case 230: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1580 +//line sql.y:1582 { bindVariable(yylex, yyDollar[2].str[1:]) yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewArgument(yyDollar[2].str[1:])} @@ -9790,260 +9757,260 @@ yydefault: yyVAL.union = yyLOCAL case 231: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1587 +//line sql.y:1589 { yyVAL.str = Armscii8Str } case 232: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1591 +//line sql.y:1593 { yyVAL.str = ASCIIStr } case 233: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1595 +//line sql.y:1597 { yyVAL.str = Big5Str } case 234: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1599 +//line sql.y:1601 { yyVAL.str = UBinaryStr } case 235: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1603 +//line sql.y:1605 { yyVAL.str = Cp1250Str } case 236: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1607 +//line sql.y:1609 { yyVAL.str = Cp1251Str } case 237: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1611 +//line sql.y:1613 { yyVAL.str = Cp1256Str } case 238: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1615 +//line sql.y:1617 { yyVAL.str = Cp1257Str } case 239: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1619 +//line sql.y:1621 { yyVAL.str = Cp850Str } case 240: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1623 +//line sql.y:1625 { yyVAL.str = Cp852Str } case 241: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1627 +//line sql.y:1629 { yyVAL.str = Cp866Str } case 242: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1631 +//line sql.y:1633 { yyVAL.str = Cp932Str } case 243: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1635 +//line sql.y:1637 { yyVAL.str = Dec8Str } case 244: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1639 +//line sql.y:1641 { yyVAL.str = EucjpmsStr } case 245: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1643 +//line sql.y:1645 { yyVAL.str = EuckrStr } case 246: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1647 +//line sql.y:1649 { yyVAL.str = Gb18030Str } case 247: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1651 +//line sql.y:1653 { yyVAL.str = Gb2312Str } case 248: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1655 +//line sql.y:1657 { yyVAL.str = GbkStr } case 249: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1659 +//line sql.y:1661 { yyVAL.str = Geostd8Str } case 250: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1663 +//line sql.y:1665 { yyVAL.str = GreekStr } case 251: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1667 +//line sql.y:1669 { yyVAL.str = HebrewStr } case 252: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1671 +//line sql.y:1673 { yyVAL.str = Hp8Str } case 253: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1675 +//line sql.y:1677 { yyVAL.str = Keybcs2Str } case 254: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1679 +//line sql.y:1681 { yyVAL.str = Koi8rStr } case 255: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1683 +//line sql.y:1685 { yyVAL.str = Koi8uStr } case 256: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1687 +//line sql.y:1689 { yyVAL.str = Latin1Str } case 257: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1691 +//line sql.y:1693 { yyVAL.str = Latin2Str } case 258: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1695 +//line sql.y:1697 { yyVAL.str = Latin5Str } case 259: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1699 +//line sql.y:1701 { yyVAL.str = Latin7Str } case 260: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1703 +//line sql.y:1705 { yyVAL.str = MacceStr } case 261: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1707 +//line sql.y:1709 { yyVAL.str = MacromanStr } case 262: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1711 +//line sql.y:1713 { yyVAL.str = SjisStr } case 263: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1715 +//line sql.y:1717 { yyVAL.str = Swe7Str } case 264: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1719 +//line sql.y:1721 { yyVAL.str = Tis620Str } case 265: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1723 +//line sql.y:1725 { yyVAL.str = Ucs2Str } case 266: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1727 +//line sql.y:1729 { yyVAL.str = UjisStr } case 267: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1731 +//line sql.y:1733 { yyVAL.str = Utf16Str } case 268: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1735 +//line sql.y:1737 { yyVAL.str = Utf16leStr } case 269: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1739 +//line sql.y:1741 { yyVAL.str = Utf32Str } case 270: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1743 +//line sql.y:1745 { yyVAL.str = Utf8Str } case 271: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1747 +//line sql.y:1749 { yyVAL.str = Utf8mb4Str } case 272: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1751 +//line sql.y:1753 { yyVAL.str = Utf8Str } case 275: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1761 +//line sql.y:1763 { yyLOCAL = NewIntLiteral(yyDollar[1].str) } @@ -10051,7 +10018,7 @@ yydefault: case 276: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1765 +//line sql.y:1767 { yyLOCAL = NewFloatLiteral(yyDollar[1].str) } @@ -10059,7 +10026,7 @@ yydefault: case 277: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1769 +//line sql.y:1771 { yyLOCAL = NewDecimalLiteral(yyDollar[1].str) } @@ -10067,7 +10034,7 @@ yydefault: case 278: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1775 +//line sql.y:1777 { yyLOCAL = NewStrLiteral(yyDollar[1].str) } @@ -10075,7 +10042,7 @@ yydefault: case 279: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1779 +//line sql.y:1781 { yyLOCAL = &UnaryExpr{Operator: NStringOp, Expr: NewStrLiteral(yyDollar[1].str)} } @@ -10083,7 +10050,7 @@ yydefault: case 280: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1783 +//line sql.y:1785 { yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewStrLiteral(yyDollar[2].str)} } @@ -10091,7 +10058,7 @@ yydefault: case 281: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1789 +//line sql.y:1791 { yyLOCAL = yyDollar[1].exprUnion() } @@ -10099,7 +10066,7 @@ yydefault: case 282: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1793 +//line sql.y:1795 { yyLOCAL = NewArgument(yyDollar[1].str[1:]) bindVariable(yylex, yyDollar[1].str[1:]) @@ -10108,7 +10075,7 @@ yydefault: case 283: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ColumnKeyOption -//line sql.y:1800 +//line sql.y:1802 { yyLOCAL = colKeyPrimary } @@ -10116,7 +10083,7 @@ yydefault: case 284: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnKeyOption -//line sql.y:1804 +//line sql.y:1806 { yyLOCAL = colKeyUnique } @@ -10124,7 +10091,7 @@ yydefault: case 285: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ColumnKeyOption -//line sql.y:1808 +//line sql.y:1810 { yyLOCAL = colKeyUniqueKey } @@ -10132,14 +10099,14 @@ yydefault: case 286: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnKeyOption -//line sql.y:1812 +//line sql.y:1814 { yyLOCAL = colKey } yyVAL.union = yyLOCAL case 287: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1818 +//line sql.y:1820 { yyVAL.columnType = yyDollar[1].columnType yyVAL.columnType.Unsigned = yyDollar[2].booleanUnion() @@ -10147,74 +10114,74 @@ yydefault: } case 291: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1829 +//line sql.y:1831 { yyVAL.columnType = yyDollar[1].columnType yyVAL.columnType.Length = yyDollar[2].literalUnion() } case 292: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1834 +//line sql.y:1836 { yyVAL.columnType = yyDollar[1].columnType } case 293: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1840 +//line sql.y:1842 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 294: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1844 +//line sql.y:1846 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 295: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1848 +//line sql.y:1850 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 296: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1852 +//line sql.y:1854 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 297: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1856 +//line sql.y:1858 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 298: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1860 +//line sql.y:1862 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 299: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1864 +//line sql.y:1866 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 300: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1868 +//line sql.y:1870 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 301: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1872 +//line sql.y:1874 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 302: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1878 +//line sql.y:1880 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -10222,7 +10189,7 @@ yydefault: } case 303: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1884 +//line sql.y:1886 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -10230,7 +10197,7 @@ yydefault: } case 304: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1890 +//line sql.y:1892 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -10238,7 +10205,7 @@ yydefault: } case 305: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1896 +//line sql.y:1898 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -10246,7 +10213,7 @@ yydefault: } case 306: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1902 +//line sql.y:1904 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -10254,43 +10221,43 @@ yydefault: } case 307: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1910 +//line sql.y:1912 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 308: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1914 +//line sql.y:1916 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 309: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1918 +//line sql.y:1920 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 310: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1922 +//line sql.y:1924 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 311: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1926 +//line sql.y:1928 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 312: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1932 +//line sql.y:1934 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion(), Charset: yyDollar[3].columnCharset} } case 313: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1936 +//line sql.y:1938 { // CHAR BYTE is an alias for binary. See also: // https://dev.mysql.com/doc/refman/8.0/en/string-type-syntax.html @@ -10298,153 +10265,153 @@ yydefault: } case 314: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1942 +//line sql.y:1944 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion(), Charset: yyDollar[3].columnCharset} } case 315: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1946 +//line sql.y:1948 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 316: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1950 +//line sql.y:1952 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 317: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1954 +//line sql.y:1956 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset} } case 318: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1958 +//line sql.y:1960 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset} } case 319: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1962 +//line sql.y:1964 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset} } case 320: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1966 +//line sql.y:1968 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset} } case 321: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1970 +//line sql.y:1972 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 322: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1974 +//line sql.y:1976 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 323: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1978 +//line sql.y:1980 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 324: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1982 +//line sql.y:1984 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 325: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1986 +//line sql.y:1988 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 326: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1990 +//line sql.y:1992 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].columnCharset} } case 327: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1995 +//line sql.y:1997 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].columnCharset} } case 328: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2001 +//line sql.y:2003 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 329: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2005 +//line sql.y:2007 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 330: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2009 +//line sql.y:2011 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 331: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2013 +//line sql.y:2015 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 332: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2017 +//line sql.y:2019 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 333: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2021 +//line sql.y:2023 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 334: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2025 +//line sql.y:2027 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 335: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2029 +//line sql.y:2031 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 336: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2035 +//line sql.y:2037 { yyVAL.strs = make([]string, 0, 4) yyVAL.strs = append(yyVAL.strs, encodeSQLString(yyDollar[1].str)) } case 337: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2040 +//line sql.y:2042 { yyVAL.strs = append(yyDollar[1].strs, encodeSQLString(yyDollar[3].str)) } case 338: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *Literal -//line sql.y:2045 +//line sql.y:2047 { yyLOCAL = nil } @@ -10452,20 +10419,20 @@ yydefault: case 339: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *Literal -//line sql.y:2049 +//line sql.y:2051 { yyLOCAL = NewIntLiteral(yyDollar[2].str) } yyVAL.union = yyLOCAL case 340: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2054 +//line sql.y:2056 { yyVAL.LengthScaleOption = LengthScaleOption{} } case 341: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2058 +//line sql.y:2060 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: NewIntLiteral(yyDollar[2].str), @@ -10474,13 +10441,13 @@ yydefault: } case 342: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2066 +//line sql.y:2068 { yyVAL.LengthScaleOption = LengthScaleOption{} } case 343: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2070 +//line sql.y:2072 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: NewIntLiteral(yyDollar[2].str), @@ -10488,7 +10455,7 @@ yydefault: } case 344: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2076 +//line sql.y:2078 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: NewIntLiteral(yyDollar[2].str), @@ -10498,7 +10465,7 @@ yydefault: case 345: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:2084 +//line sql.y:2086 { yyLOCAL = false } @@ -10506,7 +10473,7 @@ yydefault: case 346: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2088 +//line sql.y:2090 { yyLOCAL = true } @@ -10514,7 +10481,7 @@ yydefault: case 347: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2092 +//line sql.y:2094 { yyLOCAL = false } @@ -10522,7 +10489,7 @@ yydefault: case 348: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:2097 +//line sql.y:2099 { yyLOCAL = false } @@ -10530,66 +10497,66 @@ yydefault: case 349: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2101 +//line sql.y:2103 { yyLOCAL = true } yyVAL.union = yyLOCAL case 350: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2106 +//line sql.y:2108 { yyVAL.columnCharset = ColumnCharset{} } case 351: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2110 +//line sql.y:2112 { yyVAL.columnCharset = ColumnCharset{Name: string(yyDollar[2].colIdent.String()), Binary: yyDollar[3].booleanUnion()} } case 352: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2114 +//line sql.y:2116 { yyVAL.columnCharset = ColumnCharset{Name: encodeSQLString(yyDollar[2].str), Binary: yyDollar[3].booleanUnion()} } case 353: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2118 +//line sql.y:2120 { yyVAL.columnCharset = ColumnCharset{Name: string(yyDollar[2].str)} } case 354: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2122 +//line sql.y:2124 { // ASCII: Shorthand for CHARACTER SET latin1. yyVAL.columnCharset = ColumnCharset{Name: "latin1", Binary: yyDollar[2].booleanUnion()} } case 355: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2127 +//line sql.y:2129 { // UNICODE: Shorthand for CHARACTER SET ucs2. yyVAL.columnCharset = ColumnCharset{Name: "ucs2", Binary: yyDollar[2].booleanUnion()} } case 356: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2132 +//line sql.y:2134 { // BINARY: Shorthand for default CHARACTER SET but with binary collation yyVAL.columnCharset = ColumnCharset{Name: "", Binary: true} } case 357: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2137 +//line sql.y:2139 { // BINARY ASCII: Shorthand for CHARACTER SET latin1 with binary collation yyVAL.columnCharset = ColumnCharset{Name: "latin1", Binary: true} } case 358: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2142 +//line sql.y:2144 { // BINARY UNICODE: Shorthand for CHARACTER SET ucs2 with binary collation yyVAL.columnCharset = ColumnCharset{Name: "ucs2", Binary: true} @@ -10597,7 +10564,7 @@ yydefault: case 359: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:2148 +//line sql.y:2150 { yyLOCAL = false } @@ -10605,33 +10572,33 @@ yydefault: case 360: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2152 +//line sql.y:2154 { yyLOCAL = true } yyVAL.union = yyLOCAL case 361: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2157 +//line sql.y:2159 { yyVAL.str = "" } case 362: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2161 +//line sql.y:2163 { yyVAL.str = string(yyDollar[2].colIdent.String()) } case 363: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2165 +//line sql.y:2167 { yyVAL.str = encodeSQLString(yyDollar[2].str) } case 364: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *IndexDefinition -//line sql.y:2171 +//line sql.y:2173 { yyLOCAL = &IndexDefinition{Info: yyDollar[1].indexInfoUnion(), Columns: yyDollar[3].indexColumnsUnion(), Options: yyDollar[5].indexOptionsUnion()} } @@ -10639,7 +10606,7 @@ yydefault: case 365: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:2176 +//line sql.y:2178 { yyLOCAL = nil } @@ -10647,7 +10614,7 @@ yydefault: case 366: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:2180 +//line sql.y:2182 { yyLOCAL = yyDollar[1].indexOptionsUnion() } @@ -10655,14 +10622,14 @@ yydefault: case 367: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:2186 +//line sql.y:2188 { yyLOCAL = []*IndexOption{yyDollar[1].indexOptionUnion()} } yyVAL.union = yyLOCAL case 368: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2190 +//line sql.y:2192 { yySLICE := (*[]*IndexOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].indexOptionUnion()) @@ -10670,7 +10637,7 @@ yydefault: case 369: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2196 +//line sql.y:2198 { yyLOCAL = yyDollar[1].indexOptionUnion() } @@ -10678,7 +10645,7 @@ yydefault: case 370: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2200 +//line sql.y:2202 { // should not be string yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} @@ -10687,7 +10654,7 @@ yydefault: case 371: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2205 +//line sql.y:2207 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[2].str)} } @@ -10695,7 +10662,7 @@ yydefault: case 372: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2209 +//line sql.y:2211 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str)} } @@ -10703,7 +10670,7 @@ yydefault: case 373: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2213 +//line sql.y:2215 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str)} } @@ -10711,7 +10678,7 @@ yydefault: case 374: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2217 +//line sql.y:2219 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str) + " " + string(yyDollar[2].str), String: yyDollar[3].colIdent.String()} } @@ -10719,7 +10686,7 @@ yydefault: case 375: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2221 +//line sql.y:2223 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -10727,27 +10694,27 @@ yydefault: case 376: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2225 +//line sql.y:2227 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } yyVAL.union = yyLOCAL case 377: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2231 +//line sql.y:2233 { yyVAL.str = "" } case 378: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2235 +//line sql.y:2237 { yyVAL.str = string(yyDollar[1].str) } case 379: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *IndexInfo -//line sql.y:2241 +//line sql.y:2243 { yyLOCAL = &IndexInfo{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), ConstraintName: NewColIdent(yyDollar[1].str), Name: NewColIdent("PRIMARY"), Primary: true, Unique: true} } @@ -10755,7 +10722,7 @@ yydefault: case 380: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexInfo -//line sql.y:2245 +//line sql.y:2247 { yyLOCAL = &IndexInfo{Type: string(yyDollar[1].str) + " " + string(yyDollar[2].str), Name: NewColIdent(yyDollar[3].str), Spatial: true, Unique: false} } @@ -10763,7 +10730,7 @@ yydefault: case 381: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexInfo -//line sql.y:2249 +//line sql.y:2251 { yyLOCAL = &IndexInfo{Type: string(yyDollar[1].str) + " " + string(yyDollar[2].str), Name: NewColIdent(yyDollar[3].str), Fulltext: true, Unique: false} } @@ -10771,7 +10738,7 @@ yydefault: case 382: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *IndexInfo -//line sql.y:2253 +//line sql.y:2255 { yyLOCAL = &IndexInfo{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), ConstraintName: NewColIdent(yyDollar[1].str), Name: NewColIdent(yyDollar[4].str), Unique: true} } @@ -10779,100 +10746,100 @@ yydefault: case 383: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *IndexInfo -//line sql.y:2257 +//line sql.y:2259 { yyLOCAL = &IndexInfo{Type: string(yyDollar[1].str), Name: NewColIdent(yyDollar[2].str), Unique: false} } yyVAL.union = yyLOCAL case 384: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2262 +//line sql.y:2264 { yyVAL.str = "" } case 385: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2266 +//line sql.y:2268 { yyVAL.str = yyDollar[2].str } case 386: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2272 +//line sql.y:2274 { yyVAL.str = string(yyDollar[1].str) } case 387: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2276 +//line sql.y:2278 { yyVAL.str = string(yyDollar[1].str) } case 388: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2280 +//line sql.y:2282 { yyVAL.str = string(yyDollar[1].str) } case 389: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2286 +//line sql.y:2288 { yyVAL.str = string(yyDollar[1].str) } case 390: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2290 +//line sql.y:2292 { yyVAL.str = string(yyDollar[1].str) } case 391: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2295 +//line sql.y:2297 { yyVAL.str = "key" } case 392: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2299 +//line sql.y:2301 { yyVAL.str = yyDollar[1].str } case 393: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2305 +//line sql.y:2307 { yyVAL.str = string(yyDollar[1].str) } case 394: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2309 +//line sql.y:2311 { yyVAL.str = string(yyDollar[1].str) } case 395: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2314 +//line sql.y:2316 { yyVAL.str = "" } case 396: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2318 +//line sql.y:2320 { yyVAL.str = string(yyDollar[1].colIdent.String()) } case 397: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*IndexColumn -//line sql.y:2324 +//line sql.y:2326 { yyLOCAL = []*IndexColumn{yyDollar[1].indexColumnUnion()} } yyVAL.union = yyLOCAL case 398: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2328 +//line sql.y:2330 { yySLICE := (*[]*IndexColumn)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].indexColumnUnion()) @@ -10880,7 +10847,7 @@ yydefault: case 399: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexColumn -//line sql.y:2334 +//line sql.y:2336 { yyLOCAL = &IndexColumn{Column: yyDollar[1].colIdent, Length: yyDollar[2].literalUnion(), Direction: yyDollar[3].orderDirectionUnion()} } @@ -10888,7 +10855,7 @@ yydefault: case 400: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *IndexColumn -//line sql.y:2338 +//line sql.y:2340 { yyLOCAL = &IndexColumn{Expression: yyDollar[2].exprUnion(), Direction: yyDollar[4].orderDirectionUnion()} } @@ -10896,7 +10863,7 @@ yydefault: case 401: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ConstraintDefinition -//line sql.y:2344 +//line sql.y:2346 { yyLOCAL = &ConstraintDefinition{Name: yyDollar[2].colIdent, Details: yyDollar[3].constraintInfoUnion()} } @@ -10904,7 +10871,7 @@ yydefault: case 402: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConstraintDefinition -//line sql.y:2348 +//line sql.y:2350 { yyLOCAL = &ConstraintDefinition{Details: yyDollar[1].constraintInfoUnion()} } @@ -10912,7 +10879,7 @@ yydefault: case 403: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ConstraintDefinition -//line sql.y:2354 +//line sql.y:2356 { yyLOCAL = &ConstraintDefinition{Name: yyDollar[2].colIdent, Details: yyDollar[3].constraintInfoUnion()} } @@ -10920,7 +10887,7 @@ yydefault: case 404: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConstraintDefinition -//line sql.y:2358 +//line sql.y:2360 { yyLOCAL = &ConstraintDefinition{Details: yyDollar[1].constraintInfoUnion()} } @@ -10928,7 +10895,7 @@ yydefault: case 405: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL ConstraintInfo -//line sql.y:2364 +//line sql.y:2366 { yyLOCAL = &ForeignKeyDefinition{IndexName: NewColIdent(yyDollar[3].str), Source: yyDollar[5].columnsUnion(), ReferenceDefinition: yyDollar[7].referenceDefinitionUnion()} } @@ -10936,7 +10903,7 @@ yydefault: case 406: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2370 +//line sql.y:2372 { yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion()} } @@ -10944,7 +10911,7 @@ yydefault: case 407: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2374 +//line sql.y:2376 { yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnDelete: yyDollar[7].referenceActionUnion()} } @@ -10952,7 +10919,7 @@ yydefault: case 408: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2378 +//line sql.y:2380 { yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnUpdate: yyDollar[7].referenceActionUnion()} } @@ -10960,7 +10927,7 @@ yydefault: case 409: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2382 +//line sql.y:2384 { yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnDelete: yyDollar[7].referenceActionUnion(), OnUpdate: yyDollar[8].referenceActionUnion()} } @@ -10968,7 +10935,7 @@ yydefault: case 410: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2386 +//line sql.y:2388 { yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnUpdate: yyDollar[7].referenceActionUnion(), OnDelete: yyDollar[8].referenceActionUnion()} } @@ -10976,7 +10943,7 @@ yydefault: case 411: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2391 +//line sql.y:2393 { yyLOCAL = nil } @@ -10984,7 +10951,7 @@ yydefault: case 412: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2395 +//line sql.y:2397 { yyLOCAL = yyDollar[1].referenceDefinitionUnion() } @@ -10992,7 +10959,7 @@ yydefault: case 413: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL ConstraintInfo -//line sql.y:2401 +//line sql.y:2403 { yyLOCAL = &CheckConstraintDefinition{Expr: yyDollar[3].exprUnion(), Enforced: yyDollar[5].booleanUnion()} } @@ -11000,7 +10967,7 @@ yydefault: case 414: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2407 +//line sql.y:2409 { yyLOCAL = yyDollar[2].matchActionUnion() } @@ -11008,7 +10975,7 @@ yydefault: case 415: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2413 +//line sql.y:2415 { yyLOCAL = Full } @@ -11016,7 +10983,7 @@ yydefault: case 416: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2417 +//line sql.y:2419 { yyLOCAL = Partial } @@ -11024,7 +10991,7 @@ yydefault: case 417: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2421 +//line sql.y:2423 { yyLOCAL = Simple } @@ -11032,7 +10999,7 @@ yydefault: case 418: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2426 +//line sql.y:2428 { yyLOCAL = DefaultMatch } @@ -11040,7 +11007,7 @@ yydefault: case 419: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2430 +//line sql.y:2432 { yyLOCAL = yyDollar[1].matchActionUnion() } @@ -11048,7 +11015,7 @@ yydefault: case 420: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2436 +//line sql.y:2438 { yyLOCAL = yyDollar[3].referenceActionUnion() } @@ -11056,7 +11023,7 @@ yydefault: case 421: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2442 +//line sql.y:2444 { yyLOCAL = yyDollar[3].referenceActionUnion() } @@ -11064,7 +11031,7 @@ yydefault: case 422: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2448 +//line sql.y:2450 { yyLOCAL = Restrict } @@ -11072,7 +11039,7 @@ yydefault: case 423: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2452 +//line sql.y:2454 { yyLOCAL = Cascade } @@ -11080,7 +11047,7 @@ yydefault: case 424: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2456 +//line sql.y:2458 { yyLOCAL = NoAction } @@ -11088,7 +11055,7 @@ yydefault: case 425: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2460 +//line sql.y:2462 { yyLOCAL = SetDefault } @@ -11096,33 +11063,33 @@ yydefault: case 426: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2464 +//line sql.y:2466 { yyLOCAL = SetNull } yyVAL.union = yyLOCAL case 427: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2469 +//line sql.y:2471 { yyVAL.str = "" } case 428: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2473 +//line sql.y:2475 { yyVAL.str = string(yyDollar[1].str) } case 429: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2477 +//line sql.y:2479 { yyVAL.str = string(yyDollar[1].str) } case 430: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2483 +//line sql.y:2485 { yyLOCAL = true } @@ -11130,7 +11097,7 @@ yydefault: case 431: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:2487 +//line sql.y:2489 { yyLOCAL = false } @@ -11138,7 +11105,7 @@ yydefault: case 432: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:2492 +//line sql.y:2494 { yyLOCAL = true } @@ -11146,7 +11113,7 @@ yydefault: case 433: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2496 +//line sql.y:2498 { yyLOCAL = yyDollar[1].booleanUnion() } @@ -11154,7 +11121,7 @@ yydefault: case 434: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL TableOptions -//line sql.y:2501 +//line sql.y:2503 { yyLOCAL = nil } @@ -11162,7 +11129,7 @@ yydefault: case 435: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableOptions -//line sql.y:2505 +//line sql.y:2507 { yyLOCAL = yyDollar[1].tableOptionsUnion() } @@ -11170,21 +11137,21 @@ yydefault: case 436: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableOptions -//line sql.y:2511 +//line sql.y:2513 { yyLOCAL = TableOptions{yyDollar[1].tableOptionUnion()} } yyVAL.union = yyLOCAL case 437: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2515 +//line sql.y:2517 { yySLICE := (*TableOptions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableOptionUnion()) } case 438: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2519 +//line sql.y:2521 { yySLICE := (*TableOptions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].tableOptionUnion()) @@ -11192,14 +11159,14 @@ yydefault: case 439: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableOptions -//line sql.y:2525 +//line sql.y:2527 { yyLOCAL = TableOptions{yyDollar[1].tableOptionUnion()} } yyVAL.union = yyLOCAL case 440: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2529 +//line sql.y:2531 { yySLICE := (*TableOptions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].tableOptionUnion()) @@ -11207,7 +11174,7 @@ yydefault: case 441: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2535 +//line sql.y:2537 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11215,7 +11182,7 @@ yydefault: case 442: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2539 +//line sql.y:2541 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11223,7 +11190,7 @@ yydefault: case 443: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2543 +//line sql.y:2545 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11231,7 +11198,7 @@ yydefault: case 444: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2547 +//line sql.y:2549 { yyLOCAL = &TableOption{Name: (string(yyDollar[2].str)), String: yyDollar[4].str, CaseSensitive: true} } @@ -11239,7 +11206,7 @@ yydefault: case 445: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2551 +//line sql.y:2553 { yyLOCAL = &TableOption{Name: string(yyDollar[2].str), String: yyDollar[4].str, CaseSensitive: true} } @@ -11247,7 +11214,7 @@ yydefault: case 446: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2555 +//line sql.y:2557 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11255,7 +11222,7 @@ yydefault: case 447: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2559 +//line sql.y:2561 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11263,7 +11230,7 @@ yydefault: case 448: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2563 +//line sql.y:2565 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11271,7 +11238,7 @@ yydefault: case 449: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2567 +//line sql.y:2569 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11279,7 +11246,7 @@ yydefault: case 450: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2571 +//line sql.y:2573 { yyLOCAL = &TableOption{Name: (string(yyDollar[1].str) + " " + string(yyDollar[2].str)), Value: NewStrLiteral(yyDollar[4].str)} } @@ -11287,7 +11254,7 @@ yydefault: case 451: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2575 +//line sql.y:2577 { yyLOCAL = &TableOption{Name: (string(yyDollar[1].str) + " " + string(yyDollar[2].str)), Value: NewStrLiteral(yyDollar[4].str)} } @@ -11295,7 +11262,7 @@ yydefault: case 452: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2579 +//line sql.y:2581 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11303,7 +11270,7 @@ yydefault: case 453: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2583 +//line sql.y:2585 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11311,7 +11278,7 @@ yydefault: case 454: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2587 +//line sql.y:2589 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: yyDollar[3].tableIdent.String(), CaseSensitive: true} } @@ -11319,7 +11286,7 @@ yydefault: case 455: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2591 +//line sql.y:2593 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11327,7 +11294,7 @@ yydefault: case 456: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2595 +//line sql.y:2597 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} } @@ -11335,7 +11302,7 @@ yydefault: case 457: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2599 +//line sql.y:2601 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11343,7 +11310,7 @@ yydefault: case 458: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2603 +//line sql.y:2605 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11351,7 +11318,7 @@ yydefault: case 459: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2607 +//line sql.y:2609 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11359,7 +11326,7 @@ yydefault: case 460: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2611 +//line sql.y:2613 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11367,7 +11334,7 @@ yydefault: case 461: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2615 +//line sql.y:2617 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} } @@ -11375,7 +11342,7 @@ yydefault: case 462: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2619 +//line sql.y:2621 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11383,7 +11350,7 @@ yydefault: case 463: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2623 +//line sql.y:2625 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} } @@ -11391,7 +11358,7 @@ yydefault: case 464: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2627 +//line sql.y:2629 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11399,7 +11366,7 @@ yydefault: case 465: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2631 +//line sql.y:2633 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11407,7 +11374,7 @@ yydefault: case 466: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2635 +//line sql.y:2637 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} } @@ -11415,7 +11382,7 @@ yydefault: case 467: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2639 +//line sql.y:2641 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11423,7 +11390,7 @@ yydefault: case 468: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2643 +//line sql.y:2645 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} } @@ -11431,7 +11398,7 @@ yydefault: case 469: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2647 +//line sql.y:2649 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11439,7 +11406,7 @@ yydefault: case 470: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2651 +//line sql.y:2653 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: (yyDollar[3].colIdent.String() + yyDollar[4].str)} } @@ -11447,57 +11414,57 @@ yydefault: case 471: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2655 +//line sql.y:2657 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Tables: yyDollar[4].tableNamesUnion()} } yyVAL.union = yyLOCAL case 472: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2660 +//line sql.y:2662 { yyVAL.str = "" } case 473: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2664 +//line sql.y:2666 { yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 474: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2668 +//line sql.y:2670 { yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 484: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2687 +//line sql.y:2689 { yyVAL.str = yyDollar[1].colIdent.String() } case 485: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2691 +//line sql.y:2693 { yyVAL.str = encodeSQLString(yyDollar[1].str) } case 486: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2695 +//line sql.y:2697 { yyVAL.str = string(yyDollar[1].str) } case 487: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2700 +//line sql.y:2702 { yyVAL.str = "" } case 489: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:2706 +//line sql.y:2708 { yyLOCAL = false } @@ -11505,7 +11472,7 @@ yydefault: case 490: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2710 +//line sql.y:2712 { yyLOCAL = true } @@ -11513,7 +11480,7 @@ yydefault: case 491: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ColName -//line sql.y:2715 +//line sql.y:2717 { yyLOCAL = nil } @@ -11521,27 +11488,27 @@ yydefault: case 492: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColName -//line sql.y:2719 +//line sql.y:2721 { yyLOCAL = yyDollar[2].colNameUnion() } yyVAL.union = yyLOCAL case 493: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2724 +//line sql.y:2726 { yyVAL.str = "" } case 494: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2728 +//line sql.y:2730 { yyVAL.str = string(yyDollar[2].str) } case 495: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *Literal -//line sql.y:2733 +//line sql.y:2735 { yyLOCAL = nil } @@ -11549,7 +11516,7 @@ yydefault: case 496: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Literal -//line sql.y:2737 +//line sql.y:2739 { yyLOCAL = NewIntLiteral(yyDollar[2].str) } @@ -11557,7 +11524,7 @@ yydefault: case 497: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Literal -//line sql.y:2741 +//line sql.y:2743 { yyLOCAL = NewDecimalLiteral(yyDollar[2].str) } @@ -11565,7 +11532,7 @@ yydefault: case 498: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2746 +//line sql.y:2748 { yyLOCAL = nil } @@ -11573,14 +11540,14 @@ yydefault: case 499: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2750 +//line sql.y:2752 { yyLOCAL = yyDollar[1].alterOptionsUnion() } yyVAL.union = yyLOCAL case 500: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2754 +//line sql.y:2756 { yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, &OrderByOption{Cols: yyDollar[5].columnsUnion()}) @@ -11588,14 +11555,14 @@ yydefault: case 501: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2758 +//line sql.y:2760 { yyLOCAL = yyDollar[1].alterOptionsUnion() } yyVAL.union = yyLOCAL case 502: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2762 +//line sql.y:2764 { yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].alterOptionsUnion()...) @@ -11603,7 +11570,7 @@ yydefault: case 503: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2766 +//line sql.y:2768 { yyLOCAL = append(append(yyDollar[1].alterOptionsUnion(), yyDollar[3].alterOptionsUnion()...), &OrderByOption{Cols: yyDollar[7].columnsUnion()}) } @@ -11611,21 +11578,21 @@ yydefault: case 504: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2772 +//line sql.y:2774 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} } yyVAL.union = yyLOCAL case 505: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2776 +//line sql.y:2778 { yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion()) } case 506: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2780 +//line sql.y:2782 { yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion()) @@ -11633,7 +11600,7 @@ yydefault: case 507: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2786 +//line sql.y:2788 { yyLOCAL = yyDollar[1].tableOptionsUnion() } @@ -11641,7 +11608,7 @@ yydefault: case 508: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2790 +//line sql.y:2792 { yyLOCAL = &AddConstraintDefinition{ConstraintDefinition: yyDollar[2].constraintDefinitionUnion()} } @@ -11649,7 +11616,7 @@ yydefault: case 509: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2794 +//line sql.y:2796 { yyLOCAL = &AddConstraintDefinition{ConstraintDefinition: yyDollar[2].constraintDefinitionUnion()} } @@ -11657,7 +11624,7 @@ yydefault: case 510: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2798 +//line sql.y:2800 { yyLOCAL = &AddIndexDefinition{IndexDefinition: yyDollar[2].indexDefinitionUnion()} } @@ -11665,7 +11632,7 @@ yydefault: case 511: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2802 +//line sql.y:2804 { yyLOCAL = &AddColumns{Columns: yyDollar[4].columnDefinitionsUnion()} } @@ -11673,7 +11640,7 @@ yydefault: case 512: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2806 +//line sql.y:2808 { yyLOCAL = &AddColumns{Columns: []*ColumnDefinition{yyDollar[3].columnDefinitionUnion()}, First: yyDollar[4].booleanUnion(), After: yyDollar[5].colNameUnion()} } @@ -11681,7 +11648,7 @@ yydefault: case 513: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2810 +//line sql.y:2812 { yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: true} } @@ -11689,7 +11656,7 @@ yydefault: case 514: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2814 +//line sql.y:2816 { yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: false, DefaultVal: yyDollar[6].exprUnion()} } @@ -11697,7 +11664,7 @@ yydefault: case 515: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2818 +//line sql.y:2820 { yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: false, DefaultVal: yyDollar[7].exprUnion()} } @@ -11705,7 +11672,7 @@ yydefault: case 516: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2822 +//line sql.y:2824 { val := false yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), Invisible: &val} @@ -11714,7 +11681,7 @@ yydefault: case 517: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2827 +//line sql.y:2829 { val := true yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), Invisible: &val} @@ -11723,7 +11690,7 @@ yydefault: case 518: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2832 +//line sql.y:2834 { yyLOCAL = &AlterCheck{Name: yyDollar[3].colIdent, Enforced: yyDollar[4].booleanUnion()} } @@ -11731,7 +11698,7 @@ yydefault: case 519: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2836 +//line sql.y:2838 { yyLOCAL = &AlterIndex{Name: yyDollar[3].colIdent, Invisible: false} } @@ -11739,7 +11706,7 @@ yydefault: case 520: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2840 +//line sql.y:2842 { yyLOCAL = &AlterIndex{Name: yyDollar[3].colIdent, Invisible: true} } @@ -11747,7 +11714,7 @@ yydefault: case 521: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2844 +//line sql.y:2846 { yyLOCAL = &ChangeColumn{OldColumn: yyDollar[3].colNameUnion(), NewColDefinition: yyDollar[4].columnDefinitionUnion(), First: yyDollar[5].booleanUnion(), After: yyDollar[6].colNameUnion()} } @@ -11755,7 +11722,7 @@ yydefault: case 522: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2848 +//line sql.y:2850 { yyLOCAL = &ModifyColumn{NewColDefinition: yyDollar[3].columnDefinitionUnion(), First: yyDollar[4].booleanUnion(), After: yyDollar[5].colNameUnion()} } @@ -11763,7 +11730,7 @@ yydefault: case 523: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2852 +//line sql.y:2854 { yyLOCAL = &AlterCharset{CharacterSet: yyDollar[4].str, Collate: yyDollar[5].str} } @@ -11771,7 +11738,7 @@ yydefault: case 524: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2856 +//line sql.y:2858 { yyLOCAL = &KeyState{Enable: false} } @@ -11779,7 +11746,7 @@ yydefault: case 525: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2860 +//line sql.y:2862 { yyLOCAL = &KeyState{Enable: true} } @@ -11787,7 +11754,7 @@ yydefault: case 526: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2864 +//line sql.y:2866 { yyLOCAL = &TablespaceOperation{Import: false} } @@ -11795,7 +11762,7 @@ yydefault: case 527: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2868 +//line sql.y:2870 { yyLOCAL = &TablespaceOperation{Import: true} } @@ -11803,7 +11770,7 @@ yydefault: case 528: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2872 +//line sql.y:2874 { yyLOCAL = &DropColumn{Name: yyDollar[3].colNameUnion()} } @@ -11811,7 +11778,7 @@ yydefault: case 529: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2876 +//line sql.y:2878 { yyLOCAL = &DropKey{Type: NormalKeyType, Name: yyDollar[3].colIdent} } @@ -11819,7 +11786,7 @@ yydefault: case 530: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2880 +//line sql.y:2882 { yyLOCAL = &DropKey{Type: PrimaryKeyType} } @@ -11827,7 +11794,7 @@ yydefault: case 531: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2884 +//line sql.y:2886 { yyLOCAL = &DropKey{Type: ForeignKeyType, Name: yyDollar[4].colIdent} } @@ -11835,7 +11802,7 @@ yydefault: case 532: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2888 +//line sql.y:2890 { yyLOCAL = &DropKey{Type: CheckKeyType, Name: yyDollar[3].colIdent} } @@ -11843,7 +11810,7 @@ yydefault: case 533: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2892 +//line sql.y:2894 { yyLOCAL = &DropKey{Type: CheckKeyType, Name: yyDollar[3].colIdent} } @@ -11851,7 +11818,7 @@ yydefault: case 534: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2896 +//line sql.y:2898 { yyLOCAL = &Force{} } @@ -11859,7 +11826,7 @@ yydefault: case 535: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2900 +//line sql.y:2902 { yyLOCAL = &RenameTableName{Table: yyDollar[3].tableName} } @@ -11867,7 +11834,7 @@ yydefault: case 536: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2904 +//line sql.y:2906 { yyLOCAL = &RenameIndex{OldName: yyDollar[3].colIdent, NewName: yyDollar[5].colIdent} } @@ -11875,14 +11842,14 @@ yydefault: case 537: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2910 +//line sql.y:2912 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} } yyVAL.union = yyLOCAL case 538: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2914 +//line sql.y:2916 { yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion()) @@ -11890,7 +11857,7 @@ yydefault: case 539: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2920 +//line sql.y:2922 { yyLOCAL = AlgorithmValue(string(yyDollar[3].str)) } @@ -11898,7 +11865,7 @@ yydefault: case 540: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2924 +//line sql.y:2926 { yyLOCAL = AlgorithmValue(string(yyDollar[3].str)) } @@ -11906,7 +11873,7 @@ yydefault: case 541: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2928 +//line sql.y:2930 { yyLOCAL = AlgorithmValue(string(yyDollar[3].str)) } @@ -11914,7 +11881,7 @@ yydefault: case 542: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2932 +//line sql.y:2934 { yyLOCAL = AlgorithmValue(string(yyDollar[3].str)) } @@ -11922,7 +11889,7 @@ yydefault: case 543: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2936 +//line sql.y:2938 { yyLOCAL = &LockOption{Type: DefaultType} } @@ -11930,7 +11897,7 @@ yydefault: case 544: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2940 +//line sql.y:2942 { yyLOCAL = &LockOption{Type: NoneType} } @@ -11938,7 +11905,7 @@ yydefault: case 545: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2944 +//line sql.y:2946 { yyLOCAL = &LockOption{Type: SharedType} } @@ -11946,7 +11913,7 @@ yydefault: case 546: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2948 +//line sql.y:2950 { yyLOCAL = &LockOption{Type: ExclusiveType} } @@ -11954,7 +11921,7 @@ yydefault: case 547: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2952 +//line sql.y:2954 { yyLOCAL = &Validation{With: true} } @@ -11962,7 +11929,7 @@ yydefault: case 548: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2956 +//line sql.y:2958 { yyLOCAL = &Validation{With: false} } @@ -11970,7 +11937,7 @@ yydefault: case 549: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:2962 +//line sql.y:2964 { yyDollar[1].alterTableUnion().FullyParsed = true yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion() @@ -11981,7 +11948,7 @@ yydefault: case 550: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:2969 +//line sql.y:2971 { yyDollar[1].alterTableUnion().FullyParsed = true yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion() @@ -11992,7 +11959,7 @@ yydefault: case 551: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:2976 +//line sql.y:2978 { yyDollar[1].alterTableUnion().FullyParsed = true yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion() @@ -12003,7 +11970,7 @@ yydefault: case 552: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:2983 +//line sql.y:2985 { yyDollar[1].alterTableUnion().FullyParsed = true yyDollar[1].alterTableUnion().PartitionSpec = yyDollar[2].partSpecUnion() @@ -12013,7 +11980,7 @@ yydefault: case 553: yyDollar = yyS[yypt-11 : yypt+1] var yyLOCAL Statement -//line sql.y:2989 +//line sql.y:2991 { yyLOCAL = &AlterView{ViewName: yyDollar[7].tableName.ToViewName(), Comments: Comments(yyDollar[2].strs).Parsed(), Algorithm: yyDollar[3].str, Definer: yyDollar[4].definerUnion(), Security: yyDollar[5].str, Columns: yyDollar[8].columnsUnion(), Select: yyDollar[10].selStmtUnion(), CheckOption: yyDollar[11].str} } @@ -12021,7 +11988,7 @@ yydefault: case 554: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:2999 +//line sql.y:3001 { yyDollar[1].alterDatabaseUnion().FullyParsed = true yyDollar[1].alterDatabaseUnion().DBName = yyDollar[2].tableIdent @@ -12032,7 +11999,7 @@ yydefault: case 555: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3006 +//line sql.y:3008 { yyDollar[1].alterDatabaseUnion().FullyParsed = true yyDollar[1].alterDatabaseUnion().DBName = yyDollar[2].tableIdent @@ -12043,7 +12010,7 @@ yydefault: case 556: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Statement -//line sql.y:3013 +//line sql.y:3015 { yyLOCAL = &AlterVschema{ Action: CreateVindexDDLAction, @@ -12059,7 +12026,7 @@ yydefault: case 557: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3025 +//line sql.y:3027 { yyLOCAL = &AlterVschema{ Action: DropVindexDDLAction, @@ -12073,7 +12040,7 @@ yydefault: case 558: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3035 +//line sql.y:3037 { yyLOCAL = &AlterVschema{Action: AddVschemaTableDDLAction, Table: yyDollar[6].tableName} } @@ -12081,7 +12048,7 @@ yydefault: case 559: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3039 +//line sql.y:3041 { yyLOCAL = &AlterVschema{Action: DropVschemaTableDDLAction, Table: yyDollar[6].tableName} } @@ -12089,7 +12056,7 @@ yydefault: case 560: yyDollar = yyS[yypt-13 : yypt+1] var yyLOCAL Statement -//line sql.y:3043 +//line sql.y:3045 { yyLOCAL = &AlterVschema{ Action: AddColVindexDDLAction, @@ -12106,7 +12073,7 @@ yydefault: case 561: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Statement -//line sql.y:3056 +//line sql.y:3058 { yyLOCAL = &AlterVschema{ Action: DropColVindexDDLAction, @@ -12120,7 +12087,7 @@ yydefault: case 562: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3066 +//line sql.y:3068 { yyLOCAL = &AlterVschema{Action: AddSequenceDDLAction, Table: yyDollar[6].tableName} } @@ -12128,7 +12095,7 @@ yydefault: case 563: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL Statement -//line sql.y:3070 +//line sql.y:3072 { yyLOCAL = &AlterVschema{ Action: AddAutoIncDDLAction, @@ -12143,7 +12110,7 @@ yydefault: case 564: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3081 +//line sql.y:3083 { yyLOCAL = &AlterMigration{ Type: RetryMigrationType, @@ -12154,7 +12121,7 @@ yydefault: case 565: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3088 +//line sql.y:3090 { yyLOCAL = &AlterMigration{ Type: CleanupMigrationType, @@ -12165,7 +12132,7 @@ yydefault: case 566: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3095 +//line sql.y:3097 { yyLOCAL = &AlterMigration{ Type: CompleteMigrationType, @@ -12176,7 +12143,7 @@ yydefault: case 567: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3102 +//line sql.y:3104 { yyLOCAL = &AlterMigration{ Type: CancelMigrationType, @@ -12187,7 +12154,7 @@ yydefault: case 568: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3109 +//line sql.y:3111 { yyLOCAL = &AlterMigration{ Type: CancelAllMigrationType, @@ -12197,7 +12164,7 @@ yydefault: case 569: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3115 +//line sql.y:3117 { yyLOCAL = &AlterMigration{ Type: ThrottleMigrationType, @@ -12210,7 +12177,7 @@ yydefault: case 570: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3124 +//line sql.y:3126 { yyLOCAL = &AlterMigration{ Type: ThrottleAllMigrationType, @@ -12222,7 +12189,7 @@ yydefault: case 571: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3132 +//line sql.y:3134 { yyLOCAL = &AlterMigration{ Type: UnthrottleMigrationType, @@ -12233,7 +12200,7 @@ yydefault: case 572: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3139 +//line sql.y:3141 { yyLOCAL = &AlterMigration{ Type: UnthrottleAllMigrationType, @@ -12243,7 +12210,7 @@ yydefault: case 573: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3146 +//line sql.y:3148 { yyLOCAL = nil } @@ -12251,7 +12218,7 @@ yydefault: case 574: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3150 +//line sql.y:3152 { yyDollar[3].partitionOptionUnion().Partitions = yyDollar[4].integerUnion() yyDollar[3].partitionOptionUnion().SubPartition = yyDollar[5].subPartitionUnion() @@ -12262,7 +12229,7 @@ yydefault: case 575: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3159 +//line sql.y:3161 { yyLOCAL = &PartitionOption{ IsLinear: yyDollar[1].booleanUnion(), @@ -12274,7 +12241,7 @@ yydefault: case 576: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3167 +//line sql.y:3169 { yyLOCAL = &PartitionOption{ IsLinear: yyDollar[1].booleanUnion(), @@ -12287,7 +12254,7 @@ yydefault: case 577: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3176 +//line sql.y:3178 { yyLOCAL = &PartitionOption{ Type: yyDollar[1].partitionByTypeUnion(), @@ -12298,7 +12265,7 @@ yydefault: case 578: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3183 +//line sql.y:3185 { yyLOCAL = &PartitionOption{ Type: yyDollar[1].partitionByTypeUnion(), @@ -12309,7 +12276,7 @@ yydefault: case 579: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *SubPartition -//line sql.y:3191 +//line sql.y:3193 { yyLOCAL = nil } @@ -12317,7 +12284,7 @@ yydefault: case 580: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *SubPartition -//line sql.y:3195 +//line sql.y:3197 { yyLOCAL = &SubPartition{ IsLinear: yyDollar[3].booleanUnion(), @@ -12330,7 +12297,7 @@ yydefault: case 581: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL *SubPartition -//line sql.y:3204 +//line sql.y:3206 { yyLOCAL = &SubPartition{ IsLinear: yyDollar[3].booleanUnion(), @@ -12344,7 +12311,7 @@ yydefault: case 582: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*PartitionDefinition -//line sql.y:3215 +//line sql.y:3217 { yyLOCAL = nil } @@ -12352,7 +12319,7 @@ yydefault: case 583: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*PartitionDefinition -//line sql.y:3219 +//line sql.y:3221 { yyLOCAL = yyDollar[2].partDefsUnion() } @@ -12360,7 +12327,7 @@ yydefault: case 584: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3224 +//line sql.y:3226 { yyLOCAL = false } @@ -12368,7 +12335,7 @@ yydefault: case 585: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3228 +//line sql.y:3230 { yyLOCAL = true } @@ -12376,7 +12343,7 @@ yydefault: case 586: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int -//line sql.y:3233 +//line sql.y:3235 { yyLOCAL = 0 } @@ -12384,7 +12351,7 @@ yydefault: case 587: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int -//line sql.y:3237 +//line sql.y:3239 { yyLOCAL = convertStringToInt(yyDollar[3].str) } @@ -12392,7 +12359,7 @@ yydefault: case 588: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL TableExpr -//line sql.y:3243 +//line sql.y:3245 { yyLOCAL = &JSONTableExpr{Expr: yyDollar[3].exprUnion(), Filter: yyDollar[5].exprUnion(), Columns: yyDollar[6].jtColumnListUnion(), Alias: yyDollar[8].tableIdent} } @@ -12400,7 +12367,7 @@ yydefault: case 589: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL []*JtColumnDefinition -//line sql.y:3249 +//line sql.y:3251 { yyLOCAL = yyDollar[3].jtColumnListUnion() } @@ -12408,14 +12375,14 @@ yydefault: case 590: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*JtColumnDefinition -//line sql.y:3255 +//line sql.y:3257 { yyLOCAL = []*JtColumnDefinition{yyDollar[1].jtColumnDefinitionUnion()} } yyVAL.union = yyLOCAL case 591: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3259 +//line sql.y:3261 { yySLICE := (*[]*JtColumnDefinition)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].jtColumnDefinitionUnion()) @@ -12423,7 +12390,7 @@ yydefault: case 592: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3265 +//line sql.y:3267 { yyLOCAL = &JtColumnDefinition{JtOrdinal: &JtOrdinalColDef{Name: yyDollar[1].colIdent}} } @@ -12431,7 +12398,7 @@ yydefault: case 593: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3269 +//line sql.y:3271 { yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str} jtPath := &JtPathColDef{Name: yyDollar[1].colIdent, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion()} @@ -12441,7 +12408,7 @@ yydefault: case 594: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3275 +//line sql.y:3277 { yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str} jtPath := &JtPathColDef{Name: yyDollar[1].colIdent, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion()} @@ -12451,7 +12418,7 @@ yydefault: case 595: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3281 +//line sql.y:3283 { yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str} jtPath := &JtPathColDef{Name: yyDollar[1].colIdent, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion(), ErrorOnResponse: yyDollar[7].jtOnResponseUnion()} @@ -12461,7 +12428,7 @@ yydefault: case 596: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3287 +//line sql.y:3289 { yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str} jtPath := &JtPathColDef{Name: yyDollar[1].colIdent, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion(), ErrorOnResponse: yyDollar[8].jtOnResponseUnion()} @@ -12471,7 +12438,7 @@ yydefault: case 597: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3293 +//line sql.y:3295 { jtNestedPath := &JtNestedPathColDef{Path: yyDollar[3].exprUnion(), Columns: yyDollar[4].jtColumnListUnion()} yyLOCAL = &JtColumnDefinition{JtNestedPath: jtNestedPath} @@ -12480,7 +12447,7 @@ yydefault: case 598: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3299 +//line sql.y:3301 { yyLOCAL = false } @@ -12488,7 +12455,7 @@ yydefault: case 599: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3303 +//line sql.y:3305 { yyLOCAL = true } @@ -12496,7 +12463,7 @@ yydefault: case 600: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3307 +//line sql.y:3309 { yyLOCAL = false } @@ -12504,7 +12471,7 @@ yydefault: case 601: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3311 +//line sql.y:3313 { yyLOCAL = true } @@ -12512,7 +12479,7 @@ yydefault: case 602: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3317 +//line sql.y:3319 { yyLOCAL = yyDollar[1].jtOnResponseUnion() } @@ -12520,7 +12487,7 @@ yydefault: case 603: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3323 +//line sql.y:3325 { yyLOCAL = yyDollar[1].jtOnResponseUnion() } @@ -12528,7 +12495,7 @@ yydefault: case 604: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3329 +//line sql.y:3331 { yyLOCAL = &JtOnResponse{ResponseType: ErrorJSONType} } @@ -12536,7 +12503,7 @@ yydefault: case 605: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3333 +//line sql.y:3335 { yyLOCAL = &JtOnResponse{ResponseType: NullJSONType} } @@ -12544,7 +12511,7 @@ yydefault: case 606: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3337 +//line sql.y:3339 { yyLOCAL = &JtOnResponse{ResponseType: DefaultJSONType, Expr: yyDollar[2].exprUnion()} } @@ -12552,7 +12519,7 @@ yydefault: case 607: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL PartitionByType -//line sql.y:3343 +//line sql.y:3345 { yyLOCAL = RangeType } @@ -12560,7 +12527,7 @@ yydefault: case 608: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL PartitionByType -//line sql.y:3347 +//line sql.y:3349 { yyLOCAL = ListType } @@ -12568,7 +12535,7 @@ yydefault: case 609: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int -//line sql.y:3352 +//line sql.y:3354 { yyLOCAL = -1 } @@ -12576,7 +12543,7 @@ yydefault: case 610: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL int -//line sql.y:3356 +//line sql.y:3358 { yyLOCAL = convertStringToInt(yyDollar[2].str) } @@ -12584,7 +12551,7 @@ yydefault: case 611: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int -//line sql.y:3361 +//line sql.y:3363 { yyLOCAL = -1 } @@ -12592,7 +12559,7 @@ yydefault: case 612: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL int -//line sql.y:3365 +//line sql.y:3367 { yyLOCAL = convertStringToInt(yyDollar[2].str) } @@ -12600,7 +12567,7 @@ yydefault: case 613: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3371 +//line sql.y:3373 { yyLOCAL = &PartitionSpec{Action: AddAction, Definitions: []*PartitionDefinition{yyDollar[4].partDefUnion()}} } @@ -12608,7 +12575,7 @@ yydefault: case 614: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3375 +//line sql.y:3377 { yyLOCAL = &PartitionSpec{Action: DropAction, Names: yyDollar[3].partitionsUnion()} } @@ -12616,7 +12583,7 @@ yydefault: case 615: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3379 +//line sql.y:3381 { yyLOCAL = &PartitionSpec{Action: ReorganizeAction, Names: yyDollar[3].partitionsUnion(), Definitions: yyDollar[6].partDefsUnion()} } @@ -12624,7 +12591,7 @@ yydefault: case 616: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3383 +//line sql.y:3385 { yyLOCAL = &PartitionSpec{Action: DiscardAction, Names: yyDollar[3].partitionsUnion()} } @@ -12632,7 +12599,7 @@ yydefault: case 617: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3387 +//line sql.y:3389 { yyLOCAL = &PartitionSpec{Action: DiscardAction, IsAll: true} } @@ -12640,7 +12607,7 @@ yydefault: case 618: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3391 +//line sql.y:3393 { yyLOCAL = &PartitionSpec{Action: ImportAction, Names: yyDollar[3].partitionsUnion()} } @@ -12648,7 +12615,7 @@ yydefault: case 619: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3395 +//line sql.y:3397 { yyLOCAL = &PartitionSpec{Action: ImportAction, IsAll: true} } @@ -12656,7 +12623,7 @@ yydefault: case 620: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3399 +//line sql.y:3401 { yyLOCAL = &PartitionSpec{Action: TruncateAction, Names: yyDollar[3].partitionsUnion()} } @@ -12664,7 +12631,7 @@ yydefault: case 621: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3403 +//line sql.y:3405 { yyLOCAL = &PartitionSpec{Action: TruncateAction, IsAll: true} } @@ -12672,7 +12639,7 @@ yydefault: case 622: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3407 +//line sql.y:3409 { yyLOCAL = &PartitionSpec{Action: CoalesceAction, Number: NewIntLiteral(yyDollar[3].str)} } @@ -12680,7 +12647,7 @@ yydefault: case 623: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3411 +//line sql.y:3413 { yyLOCAL = &PartitionSpec{Action: ExchangeAction, Names: Partitions{yyDollar[3].colIdent}, TableName: yyDollar[6].tableName, WithoutValidation: yyDollar[7].booleanUnion()} } @@ -12688,7 +12655,7 @@ yydefault: case 624: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3415 +//line sql.y:3417 { yyLOCAL = &PartitionSpec{Action: AnalyzeAction, Names: yyDollar[3].partitionsUnion()} } @@ -12696,7 +12663,7 @@ yydefault: case 625: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3419 +//line sql.y:3421 { yyLOCAL = &PartitionSpec{Action: AnalyzeAction, IsAll: true} } @@ -12704,7 +12671,7 @@ yydefault: case 626: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3423 +//line sql.y:3425 { yyLOCAL = &PartitionSpec{Action: CheckAction, Names: yyDollar[3].partitionsUnion()} } @@ -12712,7 +12679,7 @@ yydefault: case 627: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3427 +//line sql.y:3429 { yyLOCAL = &PartitionSpec{Action: CheckAction, IsAll: true} } @@ -12720,7 +12687,7 @@ yydefault: case 628: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3431 +//line sql.y:3433 { yyLOCAL = &PartitionSpec{Action: OptimizeAction, Names: yyDollar[3].partitionsUnion()} } @@ -12728,7 +12695,7 @@ yydefault: case 629: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3435 +//line sql.y:3437 { yyLOCAL = &PartitionSpec{Action: OptimizeAction, IsAll: true} } @@ -12736,7 +12703,7 @@ yydefault: case 630: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3439 +//line sql.y:3441 { yyLOCAL = &PartitionSpec{Action: RebuildAction, Names: yyDollar[3].partitionsUnion()} } @@ -12744,7 +12711,7 @@ yydefault: case 631: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3443 +//line sql.y:3445 { yyLOCAL = &PartitionSpec{Action: RebuildAction, IsAll: true} } @@ -12752,7 +12719,7 @@ yydefault: case 632: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3447 +//line sql.y:3449 { yyLOCAL = &PartitionSpec{Action: RepairAction, Names: yyDollar[3].partitionsUnion()} } @@ -12760,7 +12727,7 @@ yydefault: case 633: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3451 +//line sql.y:3453 { yyLOCAL = &PartitionSpec{Action: RepairAction, IsAll: true} } @@ -12768,7 +12735,7 @@ yydefault: case 634: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3455 +//line sql.y:3457 { yyLOCAL = &PartitionSpec{Action: UpgradeAction} } @@ -12776,7 +12743,7 @@ yydefault: case 635: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3460 +//line sql.y:3462 { yyLOCAL = false } @@ -12784,7 +12751,7 @@ yydefault: case 636: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:3464 +//line sql.y:3466 { yyLOCAL = false } @@ -12792,7 +12759,7 @@ yydefault: case 637: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:3468 +//line sql.y:3470 { yyLOCAL = true } @@ -12800,28 +12767,28 @@ yydefault: case 638: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*PartitionDefinition -//line sql.y:3474 +//line sql.y:3476 { yyLOCAL = []*PartitionDefinition{yyDollar[1].partDefUnion()} } yyVAL.union = yyLOCAL case 639: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3478 +//line sql.y:3480 { yySLICE := (*[]*PartitionDefinition)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].partDefUnion()) } case 640: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3484 +//line sql.y:3486 { yyVAL.partDefUnion().Options = yyDollar[2].partitionDefinitionOptionsUnion() } case 641: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3489 +//line sql.y:3491 { yyLOCAL = &PartitionDefinitionOptions{} } @@ -12829,7 +12796,7 @@ yydefault: case 642: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3493 +//line sql.y:3495 { yyDollar[1].partitionDefinitionOptionsUnion().ValueRange = yyDollar[2].partitionValueRangeUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -12838,7 +12805,7 @@ yydefault: case 643: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3498 +//line sql.y:3500 { yyDollar[1].partitionDefinitionOptionsUnion().Comment = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -12847,7 +12814,7 @@ yydefault: case 644: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3503 +//line sql.y:3505 { yyDollar[1].partitionDefinitionOptionsUnion().Engine = yyDollar[2].partitionEngineUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -12856,7 +12823,7 @@ yydefault: case 645: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3508 +//line sql.y:3510 { yyDollar[1].partitionDefinitionOptionsUnion().DataDirectory = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -12865,7 +12832,7 @@ yydefault: case 646: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3513 +//line sql.y:3515 { yyDollar[1].partitionDefinitionOptionsUnion().IndexDirectory = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -12874,7 +12841,7 @@ yydefault: case 647: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3518 +//line sql.y:3520 { val := yyDollar[2].integerUnion() yyDollar[1].partitionDefinitionOptionsUnion().MaxRows = &val @@ -12884,7 +12851,7 @@ yydefault: case 648: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3524 +//line sql.y:3526 { val := yyDollar[2].integerUnion() yyDollar[1].partitionDefinitionOptionsUnion().MinRows = &val @@ -12894,7 +12861,7 @@ yydefault: case 649: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3530 +//line sql.y:3532 { yyDollar[1].partitionDefinitionOptionsUnion().TableSpace = yyDollar[2].str yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -12903,7 +12870,7 @@ yydefault: case 650: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3535 +//line sql.y:3537 { yyDollar[1].partitionDefinitionOptionsUnion().SubPartitionDefinitions = yyDollar[2].subPartitionDefinitionsUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -12912,7 +12879,7 @@ yydefault: case 651: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SubPartitionDefinitions -//line sql.y:3541 +//line sql.y:3543 { yyLOCAL = yyDollar[2].subPartitionDefinitionsUnion() } @@ -12920,14 +12887,14 @@ yydefault: case 652: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SubPartitionDefinitions -//line sql.y:3547 +//line sql.y:3549 { yyLOCAL = SubPartitionDefinitions{yyDollar[1].subPartitionDefinitionUnion()} } yyVAL.union = yyLOCAL case 653: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3551 +//line sql.y:3553 { yySLICE := (*SubPartitionDefinitions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].subPartitionDefinitionUnion()) @@ -12935,7 +12902,7 @@ yydefault: case 654: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SubPartitionDefinition -//line sql.y:3557 +//line sql.y:3559 { yyLOCAL = &SubPartitionDefinition{Name: yyDollar[2].colIdent, Options: yyDollar[3].subPartitionDefinitionOptionsUnion()} } @@ -12943,7 +12910,7 @@ yydefault: case 655: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3562 +//line sql.y:3564 { yyLOCAL = &SubPartitionDefinitionOptions{} } @@ -12951,7 +12918,7 @@ yydefault: case 656: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3566 +//line sql.y:3568 { yyDollar[1].subPartitionDefinitionOptionsUnion().Comment = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() @@ -12960,7 +12927,7 @@ yydefault: case 657: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3571 +//line sql.y:3573 { yyDollar[1].subPartitionDefinitionOptionsUnion().Engine = yyDollar[2].partitionEngineUnion() yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() @@ -12969,7 +12936,7 @@ yydefault: case 658: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3576 +//line sql.y:3578 { yyDollar[1].subPartitionDefinitionOptionsUnion().DataDirectory = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() @@ -12978,7 +12945,7 @@ yydefault: case 659: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3581 +//line sql.y:3583 { yyDollar[1].subPartitionDefinitionOptionsUnion().IndexDirectory = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() @@ -12987,7 +12954,7 @@ yydefault: case 660: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3586 +//line sql.y:3588 { val := yyDollar[2].integerUnion() yyDollar[1].subPartitionDefinitionOptionsUnion().MaxRows = &val @@ -12997,7 +12964,7 @@ yydefault: case 661: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3592 +//line sql.y:3594 { val := yyDollar[2].integerUnion() yyDollar[1].subPartitionDefinitionOptionsUnion().MinRows = &val @@ -13007,7 +12974,7 @@ yydefault: case 662: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3598 +//line sql.y:3600 { yyDollar[1].subPartitionDefinitionOptionsUnion().TableSpace = yyDollar[2].str yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() @@ -13016,7 +12983,7 @@ yydefault: case 663: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionValueRange -//line sql.y:3605 +//line sql.y:3607 { yyLOCAL = &PartitionValueRange{ Type: LessThanType, @@ -13027,7 +12994,7 @@ yydefault: case 664: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionValueRange -//line sql.y:3612 +//line sql.y:3614 { yyLOCAL = &PartitionValueRange{ Type: LessThanType, @@ -13038,7 +13005,7 @@ yydefault: case 665: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionValueRange -//line sql.y:3619 +//line sql.y:3621 { yyLOCAL = &PartitionValueRange{ Type: InType, @@ -13049,7 +13016,7 @@ yydefault: case 666: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3627 +//line sql.y:3629 { yyLOCAL = false } @@ -13057,7 +13024,7 @@ yydefault: case 667: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3631 +//line sql.y:3633 { yyLOCAL = true } @@ -13065,7 +13032,7 @@ yydefault: case 668: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionEngine -//line sql.y:3637 +//line sql.y:3639 { yyLOCAL = &PartitionEngine{Storage: yyDollar[1].booleanUnion(), Name: yyDollar[4].tableIdent.String()} } @@ -13073,7 +13040,7 @@ yydefault: case 669: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *Literal -//line sql.y:3643 +//line sql.y:3645 { yyLOCAL = NewStrLiteral(yyDollar[3].str) } @@ -13081,7 +13048,7 @@ yydefault: case 670: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Literal -//line sql.y:3649 +//line sql.y:3651 { yyLOCAL = NewStrLiteral(yyDollar[4].str) } @@ -13089,7 +13056,7 @@ yydefault: case 671: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Literal -//line sql.y:3655 +//line sql.y:3657 { yyLOCAL = NewStrLiteral(yyDollar[4].str) } @@ -13097,7 +13064,7 @@ yydefault: case 672: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int -//line sql.y:3661 +//line sql.y:3663 { yyLOCAL = convertStringToInt(yyDollar[3].str) } @@ -13105,41 +13072,41 @@ yydefault: case 673: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int -//line sql.y:3667 +//line sql.y:3669 { yyLOCAL = convertStringToInt(yyDollar[3].str) } yyVAL.union = yyLOCAL case 674: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3673 +//line sql.y:3675 { yyVAL.str = yyDollar[3].tableIdent.String() } case 675: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinition -//line sql.y:3679 +//line sql.y:3681 { yyLOCAL = &PartitionDefinition{Name: yyDollar[2].colIdent} } yyVAL.union = yyLOCAL case 676: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3685 +//line sql.y:3687 { yyVAL.str = "" } case 677: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3689 +//line sql.y:3691 { yyVAL.str = "" } case 678: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3695 +//line sql.y:3697 { yyLOCAL = &RenameTable{TablePairs: yyDollar[3].renameTablePairsUnion()} } @@ -13147,14 +13114,14 @@ yydefault: case 679: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*RenameTablePair -//line sql.y:3701 +//line sql.y:3703 { yyLOCAL = []*RenameTablePair{{FromTable: yyDollar[1].tableName, ToTable: yyDollar[3].tableName}} } yyVAL.union = yyLOCAL case 680: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3705 +//line sql.y:3707 { yySLICE := (*[]*RenameTablePair)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, &RenameTablePair{FromTable: yyDollar[3].tableName, ToTable: yyDollar[5].tableName}) @@ -13162,7 +13129,7 @@ yydefault: case 681: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3711 +//line sql.y:3713 { yyLOCAL = &DropTable{FromTables: yyDollar[6].tableNamesUnion(), IfExists: yyDollar[5].booleanUnion(), Comments: Comments(yyDollar[2].strs).Parsed(), Temp: yyDollar[3].booleanUnion()} } @@ -13170,7 +13137,7 @@ yydefault: case 682: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3715 +//line sql.y:3717 { // Change this to an alter statement if yyDollar[4].colIdent.Lowered() == "primary" { @@ -13183,7 +13150,7 @@ yydefault: case 683: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3724 +//line sql.y:3726 { yyLOCAL = &DropView{FromTables: yyDollar[5].tableNamesUnion(), Comments: Comments(yyDollar[2].strs).Parsed(), IfExists: yyDollar[4].booleanUnion()} } @@ -13191,7 +13158,7 @@ yydefault: case 684: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3728 +//line sql.y:3730 { yyLOCAL = &DropDatabase{Comments: Comments(yyDollar[2].strs).Parsed(), DBName: yyDollar[5].tableIdent, IfExists: yyDollar[4].booleanUnion()} } @@ -13199,7 +13166,7 @@ yydefault: case 685: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3734 +//line sql.y:3736 { yyLOCAL = &TruncateTable{Table: yyDollar[3].tableName} } @@ -13207,7 +13174,7 @@ yydefault: case 686: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3738 +//line sql.y:3740 { yyLOCAL = &TruncateTable{Table: yyDollar[2].tableName} } @@ -13215,7 +13182,7 @@ yydefault: case 687: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3744 +//line sql.y:3746 { yyLOCAL = &OtherRead{} } @@ -13223,7 +13190,7 @@ yydefault: case 688: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3750 +//line sql.y:3752 { yyLOCAL = &Show{&ShowBasic{Command: Charset, Filter: yyDollar[3].showFilterUnion()}} } @@ -13231,7 +13198,7 @@ yydefault: case 689: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3754 +//line sql.y:3756 { yyLOCAL = &Show{&ShowBasic{Command: Collation, Filter: yyDollar[3].showFilterUnion()}} } @@ -13239,7 +13206,7 @@ yydefault: case 690: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3758 +//line sql.y:3760 { yyLOCAL = &Show{&ShowBasic{Full: yyDollar[2].booleanUnion(), Command: Column, Tbl: yyDollar[5].tableName, DbName: yyDollar[6].tableIdent, Filter: yyDollar[7].showFilterUnion()}} } @@ -13247,7 +13214,7 @@ yydefault: case 691: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3762 +//line sql.y:3764 { yyLOCAL = &Show{&ShowBasic{Command: Database, Filter: yyDollar[3].showFilterUnion()}} } @@ -13255,7 +13222,7 @@ yydefault: case 692: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3766 +//line sql.y:3768 { yyLOCAL = &Show{&ShowBasic{Command: Database, Filter: yyDollar[3].showFilterUnion()}} } @@ -13263,7 +13230,7 @@ yydefault: case 693: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3770 +//line sql.y:3772 { yyLOCAL = &Show{&ShowBasic{Command: Keyspace, Filter: yyDollar[3].showFilterUnion()}} } @@ -13271,7 +13238,7 @@ yydefault: case 694: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3774 +//line sql.y:3776 { yyLOCAL = &Show{&ShowBasic{Command: Keyspace, Filter: yyDollar[3].showFilterUnion()}} } @@ -13279,7 +13246,7 @@ yydefault: case 695: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3778 +//line sql.y:3780 { yyLOCAL = &Show{&ShowBasic{Command: Function, Filter: yyDollar[4].showFilterUnion()}} } @@ -13287,7 +13254,7 @@ yydefault: case 696: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3782 +//line sql.y:3784 { yyLOCAL = &Show{&ShowBasic{Command: Index, Tbl: yyDollar[5].tableName, DbName: yyDollar[6].tableIdent, Filter: yyDollar[7].showFilterUnion()}} } @@ -13295,7 +13262,7 @@ yydefault: case 697: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3786 +//line sql.y:3788 { yyLOCAL = &Show{&ShowBasic{Command: OpenTable, DbName: yyDollar[4].tableIdent, Filter: yyDollar[5].showFilterUnion()}} } @@ -13303,7 +13270,7 @@ yydefault: case 698: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3790 +//line sql.y:3792 { yyLOCAL = &Show{&ShowBasic{Command: Privilege}} } @@ -13311,7 +13278,7 @@ yydefault: case 699: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3794 +//line sql.y:3796 { yyLOCAL = &Show{&ShowBasic{Command: Procedure, Filter: yyDollar[4].showFilterUnion()}} } @@ -13319,7 +13286,7 @@ yydefault: case 700: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3798 +//line sql.y:3800 { yyLOCAL = &Show{&ShowBasic{Command: StatusSession, Filter: yyDollar[4].showFilterUnion()}} } @@ -13327,7 +13294,7 @@ yydefault: case 701: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3802 +//line sql.y:3804 { yyLOCAL = &Show{&ShowBasic{Command: StatusGlobal, Filter: yyDollar[4].showFilterUnion()}} } @@ -13335,7 +13302,7 @@ yydefault: case 702: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3806 +//line sql.y:3808 { yyLOCAL = &Show{&ShowBasic{Command: VariableSession, Filter: yyDollar[4].showFilterUnion()}} } @@ -13343,7 +13310,7 @@ yydefault: case 703: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3810 +//line sql.y:3812 { yyLOCAL = &Show{&ShowBasic{Command: VariableGlobal, Filter: yyDollar[4].showFilterUnion()}} } @@ -13351,7 +13318,7 @@ yydefault: case 704: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3814 +//line sql.y:3816 { yyLOCAL = &Show{&ShowBasic{Command: TableStatus, DbName: yyDollar[4].tableIdent, Filter: yyDollar[5].showFilterUnion()}} } @@ -13359,7 +13326,7 @@ yydefault: case 705: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3818 +//line sql.y:3820 { yyLOCAL = &Show{&ShowBasic{Command: Table, Full: yyDollar[2].booleanUnion(), DbName: yyDollar[4].tableIdent, Filter: yyDollar[5].showFilterUnion()}} } @@ -13367,7 +13334,7 @@ yydefault: case 706: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3822 +//line sql.y:3824 { yyLOCAL = &Show{&ShowBasic{Command: Trigger, DbName: yyDollar[3].tableIdent, Filter: yyDollar[4].showFilterUnion()}} } @@ -13375,7 +13342,7 @@ yydefault: case 707: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3826 +//line sql.y:3828 { yyLOCAL = &Show{&ShowCreate{Command: CreateDb, Op: yyDollar[4].tableName}} } @@ -13383,7 +13350,7 @@ yydefault: case 708: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3830 +//line sql.y:3832 { yyLOCAL = &Show{&ShowCreate{Command: CreateE, Op: yyDollar[4].tableName}} } @@ -13391,7 +13358,7 @@ yydefault: case 709: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3834 +//line sql.y:3836 { yyLOCAL = &Show{&ShowCreate{Command: CreateF, Op: yyDollar[4].tableName}} } @@ -13399,7 +13366,7 @@ yydefault: case 710: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3838 +//line sql.y:3840 { yyLOCAL = &Show{&ShowCreate{Command: CreateProc, Op: yyDollar[4].tableName}} } @@ -13407,7 +13374,7 @@ yydefault: case 711: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3842 +//line sql.y:3844 { yyLOCAL = &Show{&ShowCreate{Command: CreateTbl, Op: yyDollar[4].tableName}} } @@ -13415,7 +13382,7 @@ yydefault: case 712: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3846 +//line sql.y:3848 { yyLOCAL = &Show{&ShowCreate{Command: CreateTr, Op: yyDollar[4].tableName}} } @@ -13423,7 +13390,7 @@ yydefault: case 713: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3850 +//line sql.y:3852 { yyLOCAL = &Show{&ShowCreate{Command: CreateV, Op: yyDollar[4].tableName}} } @@ -13431,7 +13398,7 @@ yydefault: case 714: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3854 +//line sql.y:3856 { yyLOCAL = &Show{&ShowBasic{Command: Engines}} } @@ -13439,7 +13406,7 @@ yydefault: case 715: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3858 +//line sql.y:3860 { yyLOCAL = &Show{&ShowBasic{Command: Plugins}} } @@ -13447,7 +13414,7 @@ yydefault: case 716: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3862 +//line sql.y:3864 { yyLOCAL = &Show{&ShowBasic{Command: GtidExecGlobal, DbName: yyDollar[4].tableIdent}} } @@ -13455,7 +13422,7 @@ yydefault: case 717: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3866 +//line sql.y:3868 { yyLOCAL = &Show{&ShowBasic{Command: VGtidExecGlobal, DbName: yyDollar[4].tableIdent}} } @@ -13463,7 +13430,7 @@ yydefault: case 718: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3870 +//line sql.y:3872 { yyLOCAL = &Show{&ShowBasic{Command: VitessVariables, Filter: yyDollar[4].showFilterUnion()}} } @@ -13471,7 +13438,7 @@ yydefault: case 719: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3874 +//line sql.y:3876 { yyLOCAL = &Show{&ShowBasic{Command: VitessMigrations, Filter: yyDollar[4].showFilterUnion(), DbName: yyDollar[3].tableIdent}} } @@ -13479,7 +13446,7 @@ yydefault: case 720: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3878 +//line sql.y:3880 { yyLOCAL = &ShowMigrationLogs{UUID: string(yyDollar[3].str)} } @@ -13487,7 +13454,7 @@ yydefault: case 721: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3882 +//line sql.y:3884 { yyLOCAL = &ShowThrottledApps{} } @@ -13495,7 +13462,7 @@ yydefault: case 722: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3886 +//line sql.y:3888 { yyLOCAL = &Show{&ShowBasic{Command: VitessReplicationStatus, Filter: yyDollar[3].showFilterUnion()}} } @@ -13503,7 +13470,7 @@ yydefault: case 723: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3890 +//line sql.y:3892 { yyLOCAL = &Show{&ShowBasic{Command: VschemaTables}} } @@ -13511,7 +13478,7 @@ yydefault: case 724: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3894 +//line sql.y:3896 { yyLOCAL = &Show{&ShowBasic{Command: VschemaVindexes}} } @@ -13519,7 +13486,7 @@ yydefault: case 725: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3898 +//line sql.y:3900 { yyLOCAL = &Show{&ShowBasic{Command: VschemaVindexes, Tbl: yyDollar[5].tableName}} } @@ -13527,7 +13494,7 @@ yydefault: case 726: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3902 +//line sql.y:3904 { yyLOCAL = &Show{&ShowBasic{Command: Warnings}} } @@ -13535,7 +13502,7 @@ yydefault: case 727: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3906 +//line sql.y:3908 { yyLOCAL = &Show{&ShowBasic{Command: VitessShards, Filter: yyDollar[3].showFilterUnion()}} } @@ -13543,7 +13510,7 @@ yydefault: case 728: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3910 +//line sql.y:3912 { yyLOCAL = &Show{&ShowBasic{Command: VitessTablets, Filter: yyDollar[3].showFilterUnion()}} } @@ -13551,7 +13518,7 @@ yydefault: case 729: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3914 +//line sql.y:3916 { yyLOCAL = &Show{&ShowBasic{Command: VitessTarget}} } @@ -13559,7 +13526,7 @@ yydefault: case 730: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3921 +//line sql.y:3923 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].colIdent.String())}} } @@ -13567,7 +13534,7 @@ yydefault: case 731: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3925 +//line sql.y:3927 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str)}} } @@ -13575,7 +13542,7 @@ yydefault: case 732: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3929 +//line sql.y:3931 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + yyDollar[3].colIdent.String()}} } @@ -13583,7 +13550,7 @@ yydefault: case 733: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3933 +//line sql.y:3935 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str)}} } @@ -13591,7 +13558,7 @@ yydefault: case 734: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3937 +//line sql.y:3939 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str)}} } @@ -13599,7 +13566,7 @@ yydefault: case 735: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3941 +//line sql.y:3943 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str) + " " + String(yyDollar[4].tableName)}} } @@ -13607,7 +13574,7 @@ yydefault: case 736: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3945 +//line sql.y:3947 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str) + " " + String(yyDollar[4].tableName)}} } @@ -13615,7 +13582,7 @@ yydefault: case 737: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3949 +//line sql.y:3951 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[3].str)}} } @@ -13623,27 +13590,27 @@ yydefault: case 738: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3953 +//line sql.y:3955 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str)}} } yyVAL.union = yyLOCAL case 739: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3959 +//line sql.y:3961 { yyVAL.str = "" } case 740: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3963 +//line sql.y:3965 { yyVAL.str = "extended " } case 741: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3969 +//line sql.y:3971 { yyLOCAL = false } @@ -13651,45 +13618,45 @@ yydefault: case 742: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3973 +//line sql.y:3975 { yyLOCAL = true } yyVAL.union = yyLOCAL case 743: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3979 +//line sql.y:3981 { yyVAL.str = string(yyDollar[1].str) } case 744: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3983 +//line sql.y:3985 { yyVAL.str = string(yyDollar[1].str) } case 745: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3989 +//line sql.y:3991 { yyVAL.tableIdent = NewTableIdent("") } case 746: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3993 +//line sql.y:3995 { yyVAL.tableIdent = yyDollar[2].tableIdent } case 747: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3997 +//line sql.y:3999 { yyVAL.tableIdent = yyDollar[2].tableIdent } case 748: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:4003 +//line sql.y:4005 { yyLOCAL = nil } @@ -13697,7 +13664,7 @@ yydefault: case 749: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:4007 +//line sql.y:4009 { yyLOCAL = &ShowFilter{Like: string(yyDollar[2].str)} } @@ -13705,7 +13672,7 @@ yydefault: case 750: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:4011 +//line sql.y:4013 { yyLOCAL = &ShowFilter{Filter: yyDollar[2].exprUnion()} } @@ -13713,7 +13680,7 @@ yydefault: case 751: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:4017 +//line sql.y:4019 { yyLOCAL = nil } @@ -13721,45 +13688,45 @@ yydefault: case 752: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:4021 +//line sql.y:4023 { yyLOCAL = &ShowFilter{Like: string(yyDollar[2].str)} } yyVAL.union = yyLOCAL case 753: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4027 +//line sql.y:4029 { yyVAL.empty = struct{}{} } case 754: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4031 +//line sql.y:4033 { yyVAL.empty = struct{}{} } case 755: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4035 +//line sql.y:4037 { yyVAL.empty = struct{}{} } case 756: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4041 +//line sql.y:4043 { yyVAL.str = string(yyDollar[1].str) } case 757: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4045 +//line sql.y:4047 { yyVAL.str = string(yyDollar[1].str) } case 758: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4051 +//line sql.y:4053 { yyLOCAL = &Use{DBName: yyDollar[2].tableIdent} } @@ -13767,7 +13734,7 @@ yydefault: case 759: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4055 +//line sql.y:4057 { yyLOCAL = &Use{DBName: TableIdent{v: ""}} } @@ -13775,7 +13742,7 @@ yydefault: case 760: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4059 +//line sql.y:4061 { yyLOCAL = &Use{DBName: NewTableIdent(yyDollar[2].tableIdent.String() + "@" + string(yyDollar[3].str))} } @@ -13783,7 +13750,7 @@ yydefault: case 761: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4065 +//line sql.y:4067 { yyLOCAL = &Begin{} } @@ -13791,7 +13758,7 @@ yydefault: case 762: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4069 +//line sql.y:4071 { yyLOCAL = &Begin{} } @@ -13799,7 +13766,7 @@ yydefault: case 763: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4075 +//line sql.y:4077 { yyLOCAL = &Commit{} } @@ -13807,7 +13774,7 @@ yydefault: case 764: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4081 +//line sql.y:4083 { yyLOCAL = &Rollback{} } @@ -13815,39 +13782,39 @@ yydefault: case 765: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:4085 +//line sql.y:4087 { yyLOCAL = &SRollback{Name: yyDollar[5].colIdent} } yyVAL.union = yyLOCAL case 766: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4090 +//line sql.y:4092 { yyVAL.empty = struct{}{} } case 767: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4092 +//line sql.y:4094 { yyVAL.empty = struct{}{} } case 768: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4095 +//line sql.y:4097 { yyVAL.empty = struct{}{} } case 769: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4097 +//line sql.y:4099 { yyVAL.empty = struct{}{} } case 770: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4101 +//line sql.y:4103 { yyLOCAL = &Savepoint{Name: yyDollar[2].colIdent} } @@ -13855,7 +13822,7 @@ yydefault: case 771: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4107 +//line sql.y:4109 { yyLOCAL = &Release{Name: yyDollar[3].colIdent} } @@ -13863,7 +13830,7 @@ yydefault: case 772: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4112 +//line sql.y:4114 { yyLOCAL = EmptyType } @@ -13871,7 +13838,7 @@ yydefault: case 773: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4116 +//line sql.y:4118 { yyLOCAL = JSONType } @@ -13879,7 +13846,7 @@ yydefault: case 774: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4120 +//line sql.y:4122 { yyLOCAL = TreeType } @@ -13887,7 +13854,7 @@ yydefault: case 775: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4124 +//line sql.y:4126 { yyLOCAL = VitessType } @@ -13895,7 +13862,7 @@ yydefault: case 776: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4128 +//line sql.y:4130 { yyLOCAL = TraditionalType } @@ -13903,33 +13870,33 @@ yydefault: case 777: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4132 +//line sql.y:4134 { yyLOCAL = AnalyzeType } yyVAL.union = yyLOCAL case 778: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4138 +//line sql.y:4140 { yyVAL.str = yyDollar[1].str } case 779: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4142 +//line sql.y:4144 { yyVAL.str = yyDollar[1].str } case 780: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4146 +//line sql.y:4148 { yyVAL.str = yyDollar[1].str } case 781: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4152 +//line sql.y:4154 { yyLOCAL = yyDollar[1].selStmtUnion() } @@ -13937,7 +13904,7 @@ yydefault: case 782: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4156 +//line sql.y:4158 { yyLOCAL = yyDollar[1].statementUnion() } @@ -13945,7 +13912,7 @@ yydefault: case 783: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4160 +//line sql.y:4162 { yyLOCAL = yyDollar[1].statementUnion() } @@ -13953,33 +13920,33 @@ yydefault: case 784: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4164 +//line sql.y:4166 { yyLOCAL = yyDollar[1].statementUnion() } yyVAL.union = yyLOCAL case 785: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4169 +//line sql.y:4171 { yyVAL.str = "" } case 786: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4173 +//line sql.y:4175 { yyVAL.str = yyDollar[1].colIdent.val } case 787: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4177 +//line sql.y:4179 { yyVAL.str = encodeSQLString(yyDollar[1].str) } case 788: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4183 +//line sql.y:4185 { yyLOCAL = &ExplainTab{Table: yyDollar[2].tableName, Wild: yyDollar[3].str} } @@ -13987,7 +13954,7 @@ yydefault: case 789: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4187 +//line sql.y:4189 { yyLOCAL = &ExplainStmt{Type: yyDollar[2].explainTypeUnion(), Statement: yyDollar[3].statementUnion()} } @@ -13995,7 +13962,7 @@ yydefault: case 790: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4193 +//line sql.y:4195 { yyLOCAL = &OtherAdmin{} } @@ -14003,7 +13970,7 @@ yydefault: case 791: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4197 +//line sql.y:4199 { yyLOCAL = &OtherAdmin{} } @@ -14011,7 +13978,7 @@ yydefault: case 792: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4203 +//line sql.y:4205 { yyLOCAL = &LockTables{Tables: yyDollar[3].tableAndLockTypesUnion()} } @@ -14019,14 +13986,14 @@ yydefault: case 793: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableAndLockTypes -//line sql.y:4209 +//line sql.y:4211 { yyLOCAL = TableAndLockTypes{yyDollar[1].tableAndLockTypeUnion()} } yyVAL.union = yyLOCAL case 794: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4213 +//line sql.y:4215 { yySLICE := (*TableAndLockTypes)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableAndLockTypeUnion()) @@ -14034,7 +14001,7 @@ yydefault: case 795: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *TableAndLockType -//line sql.y:4219 +//line sql.y:4221 { yyLOCAL = &TableAndLockType{Table: yyDollar[1].aliasedTableNameUnion(), Lock: yyDollar[2].lockTypeUnion()} } @@ -14042,7 +14009,7 @@ yydefault: case 796: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL LockType -//line sql.y:4225 +//line sql.y:4227 { yyLOCAL = Read } @@ -14050,7 +14017,7 @@ yydefault: case 797: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL LockType -//line sql.y:4229 +//line sql.y:4231 { yyLOCAL = ReadLocal } @@ -14058,7 +14025,7 @@ yydefault: case 798: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL LockType -//line sql.y:4233 +//line sql.y:4235 { yyLOCAL = Write } @@ -14066,7 +14033,7 @@ yydefault: case 799: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL LockType -//line sql.y:4237 +//line sql.y:4239 { yyLOCAL = LowPriorityWrite } @@ -14074,7 +14041,7 @@ yydefault: case 800: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4243 +//line sql.y:4245 { yyLOCAL = &UnlockTables{} } @@ -14082,7 +14049,7 @@ yydefault: case 801: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4249 +//line sql.y:4251 { yyLOCAL = &RevertMigration{Comments: Comments(yyDollar[2].strs).Parsed(), UUID: string(yyDollar[4].str)} } @@ -14090,7 +14057,7 @@ yydefault: case 802: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4255 +//line sql.y:4257 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), FlushOptions: yyDollar[3].strs} } @@ -14098,7 +14065,7 @@ yydefault: case 803: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4259 +//line sql.y:4261 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion()} } @@ -14106,7 +14073,7 @@ yydefault: case 804: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:4263 +//line sql.y:4265 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), WithLock: true} } @@ -14114,7 +14081,7 @@ yydefault: case 805: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4267 +//line sql.y:4269 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion()} } @@ -14122,7 +14089,7 @@ yydefault: case 806: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:4271 +//line sql.y:4273 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion(), WithLock: true} } @@ -14130,99 +14097,99 @@ yydefault: case 807: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:4275 +//line sql.y:4277 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion(), ForExport: true} } yyVAL.union = yyLOCAL case 808: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4281 +//line sql.y:4283 { yyVAL.strs = []string{yyDollar[1].str} } case 809: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4285 +//line sql.y:4287 { yyVAL.strs = append(yyDollar[1].strs, yyDollar[3].str) } case 810: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4291 +//line sql.y:4293 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 811: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4295 +//line sql.y:4297 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 812: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4299 +//line sql.y:4301 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 813: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4303 +//line sql.y:4305 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 814: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4307 +//line sql.y:4309 { yyVAL.str = string(yyDollar[1].str) } case 815: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4311 +//line sql.y:4313 { yyVAL.str = string(yyDollar[1].str) } case 816: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4315 +//line sql.y:4317 { yyVAL.str = string(yyDollar[1].str) } case 817: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4319 +//line sql.y:4321 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) + yyDollar[3].str } case 818: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4323 +//line sql.y:4325 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 819: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4327 +//line sql.y:4329 { yyVAL.str = string(yyDollar[1].str) } case 820: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4331 +//line sql.y:4333 { yyVAL.str = string(yyDollar[1].str) } case 821: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4335 +//line sql.y:4337 { yyVAL.str = string(yyDollar[1].str) } case 822: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:4340 +//line sql.y:4342 { yyLOCAL = false } @@ -14230,7 +14197,7 @@ yydefault: case 823: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4344 +//line sql.y:4346 { yyLOCAL = true } @@ -14238,52 +14205,52 @@ yydefault: case 824: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4348 +//line sql.y:4350 { yyLOCAL = true } yyVAL.union = yyLOCAL case 825: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4353 +//line sql.y:4355 { yyVAL.str = "" } case 826: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4357 +//line sql.y:4359 { yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str) + " " + yyDollar[3].colIdent.String() } case 827: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4362 +//line sql.y:4364 { setAllowComments(yylex, true) } case 828: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4366 +//line sql.y:4368 { yyVAL.strs = yyDollar[2].strs setAllowComments(yylex, false) } case 829: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4372 +//line sql.y:4374 { yyVAL.strs = nil } case 830: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4376 +//line sql.y:4378 { yyVAL.strs = append(yyDollar[1].strs, yyDollar[2].str) } case 831: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4382 +//line sql.y:4384 { yyLOCAL = true } @@ -14291,7 +14258,7 @@ yydefault: case 832: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:4386 +//line sql.y:4388 { yyLOCAL = false } @@ -14299,33 +14266,33 @@ yydefault: case 833: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:4390 +//line sql.y:4392 { yyLOCAL = true } yyVAL.union = yyLOCAL case 834: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4395 +//line sql.y:4397 { yyVAL.str = "" } case 835: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4399 +//line sql.y:4401 { yyVAL.str = SQLNoCacheStr } case 836: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4403 +//line sql.y:4405 { yyVAL.str = SQLCacheStr } case 837: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:4408 +//line sql.y:4410 { yyLOCAL = false } @@ -14333,7 +14300,7 @@ yydefault: case 838: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4412 +//line sql.y:4414 { yyLOCAL = true } @@ -14341,7 +14308,7 @@ yydefault: case 839: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4416 +//line sql.y:4418 { yyLOCAL = true } @@ -14349,7 +14316,7 @@ yydefault: case 840: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:4422 +//line sql.y:4424 { yyLOCAL = &PrepareStmt{Name: yyDollar[3].colIdent, Comments: Comments(yyDollar[2].strs).Parsed(), Statement: yyDollar[5].exprUnion()} } @@ -14357,7 +14324,7 @@ yydefault: case 841: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:4426 +//line sql.y:4428 { yyLOCAL = &PrepareStmt{ Name: yyDollar[3].colIdent, @@ -14371,7 +14338,7 @@ yydefault: case 842: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4438 +//line sql.y:4440 { yyLOCAL = &ExecuteStmt{Name: yyDollar[3].colIdent, Comments: Comments(yyDollar[2].strs).Parsed(), Arguments: yyDollar[4].columnsUnion()} } @@ -14379,7 +14346,7 @@ yydefault: case 843: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Columns -//line sql.y:4443 +//line sql.y:4445 { yyLOCAL = nil } @@ -14387,7 +14354,7 @@ yydefault: case 844: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Columns -//line sql.y:4447 +//line sql.y:4449 { yyLOCAL = yyDollar[2].columnsUnion() } @@ -14395,7 +14362,7 @@ yydefault: case 845: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4453 +//line sql.y:4455 { yyLOCAL = &DeallocateStmt{Type: DeallocateType, Comments: Comments(yyDollar[2].strs).Parsed(), Name: yyDollar[4].colIdent} } @@ -14403,7 +14370,7 @@ yydefault: case 846: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4457 +//line sql.y:4459 { yyLOCAL = &DeallocateStmt{Type: DropType, Comments: Comments(yyDollar[2].strs).Parsed(), Name: yyDollar[4].colIdent} } @@ -14411,7 +14378,7 @@ yydefault: case 847: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL SelectExprs -//line sql.y:4462 +//line sql.y:4464 { yyLOCAL = nil } @@ -14419,528 +14386,536 @@ yydefault: case 848: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectExprs -//line sql.y:4466 +//line sql.y:4468 { yyLOCAL = yyDollar[1].selectExprsUnion() } yyVAL.union = yyLOCAL case 849: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4471 +//line sql.y:4473 { yyVAL.strs = nil } case 850: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4475 +//line sql.y:4477 { yyVAL.strs = []string{yyDollar[1].str} } case 851: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4479 +//line sql.y:4481 { // TODO: This is a hack since I couldn't get it to work in a nicer way. I got 'conflicts: 8 shift/reduce' yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str} } case 852: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4483 +//line sql.y:4485 { yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str, yyDollar[3].str} } case 853: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4487 +//line sql.y:4489 { yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str, yyDollar[3].str, yyDollar[4].str} } case 854: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4493 +//line sql.y:4495 { yyVAL.str = SQLNoCacheStr } case 855: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4497 +//line sql.y:4499 { yyVAL.str = SQLCacheStr } case 856: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4501 +//line sql.y:4503 { yyVAL.str = DistinctStr } case 857: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4505 +//line sql.y:4507 { yyVAL.str = DistinctStr } case 858: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4509 +//line sql.y:4511 { yyVAL.str = StraightJoinHint } case 859: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4513 +//line sql.y:4515 { yyVAL.str = SQLCalcFoundRowsStr } case 860: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4517 +//line sql.y:4519 { 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 } case 861: + yyDollar = yyS[yypt-1 : yypt+1] + var yyLOCAL StarExpr +//line sql.y:4525 + { + yyLOCAL = StarExpr{} + } + yyVAL.union = yyLOCAL + case 862: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectExprs -//line sql.y:4523 +//line sql.y:4531 { yyLOCAL = SelectExprs{yyDollar[1].selectExprUnion()} } yyVAL.union = yyLOCAL - case 862: + case 863: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4527 +//line sql.y:4535 { yySLICE := (*SelectExprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].selectExprUnion()) } - case 863: + case 864: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectExpr -//line sql.y:4533 +//line sql.y:4541 { yyLOCAL = &StarExpr{} } yyVAL.union = yyLOCAL - case 864: + case 865: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectExpr -//line sql.y:4537 +//line sql.y:4545 { yyLOCAL = &AliasedExpr{Expr: yyDollar[1].exprUnion(), As: yyDollar[2].colIdent} } yyVAL.union = yyLOCAL - case 865: + case 866: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectExpr -//line sql.y:4541 +//line sql.y:4549 { yyLOCAL = &StarExpr{TableName: TableName{Name: yyDollar[1].tableIdent}} } yyVAL.union = yyLOCAL - case 866: + case 867: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL SelectExpr -//line sql.y:4545 +//line sql.y:4553 { yyLOCAL = &StarExpr{TableName: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}} } yyVAL.union = yyLOCAL - case 867: + case 868: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4550 +//line sql.y:4558 { yyVAL.colIdent = ColIdent{} } - case 868: + case 869: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4554 +//line sql.y:4562 { yyVAL.colIdent = yyDollar[1].colIdent } - case 869: + case 870: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4558 +//line sql.y:4566 { yyVAL.colIdent = yyDollar[2].colIdent } - case 871: + case 872: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4565 +//line sql.y:4573 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].str)) } - case 872: + case 873: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL TableExprs -//line sql.y:4570 +//line sql.y:4578 { yyLOCAL = TableExprs{&AliasedTableExpr{Expr: TableName{Name: NewTableIdent("dual")}}} } yyVAL.union = yyLOCAL - case 873: + case 874: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableExprs -//line sql.y:4574 +//line sql.y:4582 { yyLOCAL = yyDollar[1].tableExprsUnion() } yyVAL.union = yyLOCAL - case 874: + case 875: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL TableExprs -//line sql.y:4580 +//line sql.y:4588 { yyLOCAL = yyDollar[2].tableExprsUnion() } yyVAL.union = yyLOCAL - case 875: + case 876: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableExprs -//line sql.y:4586 +//line sql.y:4594 { yyLOCAL = TableExprs{yyDollar[1].tableExprUnion()} } yyVAL.union = yyLOCAL - case 876: + case 877: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4590 +//line sql.y:4598 { yySLICE := (*TableExprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableExprUnion()) } - case 879: + case 880: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4600 +//line sql.y:4608 { yyLOCAL = yyDollar[1].aliasedTableNameUnion() } yyVAL.union = yyLOCAL - case 880: + case 881: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4604 +//line sql.y:4612 { yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].derivedTableUnion(), As: yyDollar[3].tableIdent, Columns: yyDollar[4].columnsUnion()} } yyVAL.union = yyLOCAL - case 881: + case 882: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4608 +//line sql.y:4616 { yyLOCAL = &ParenTableExpr{Exprs: yyDollar[2].tableExprsUnion()} } yyVAL.union = yyLOCAL - case 882: + case 883: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4612 +//line sql.y:4620 { yyLOCAL = yyDollar[1].tableExprUnion() } yyVAL.union = yyLOCAL - case 883: + case 884: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *DerivedTable -//line sql.y:4618 +//line sql.y:4626 { yyLOCAL = &DerivedTable{Lateral: false, Select: yyDollar[2].selStmtUnion()} } yyVAL.union = yyLOCAL - case 884: + case 885: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *DerivedTable -//line sql.y:4622 +//line sql.y:4630 { yyLOCAL = &DerivedTable{Lateral: true, Select: yyDollar[3].selStmtUnion()} } yyVAL.union = yyLOCAL - case 885: + case 886: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *AliasedTableExpr -//line sql.y:4628 +//line sql.y:4636 { yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].tableName, As: yyDollar[2].tableIdent, Hints: yyDollar[3].indexHintsUnion()} } yyVAL.union = yyLOCAL - case 886: + case 887: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *AliasedTableExpr -//line sql.y:4632 +//line sql.y:4640 { yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].tableName, Partitions: yyDollar[4].partitionsUnion(), As: yyDollar[6].tableIdent, Hints: yyDollar[7].indexHintsUnion()} } yyVAL.union = yyLOCAL - case 887: + case 888: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Columns -//line sql.y:4637 +//line sql.y:4645 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 888: + case 889: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Columns -//line sql.y:4641 +//line sql.y:4649 { yyLOCAL = yyDollar[2].columnsUnion() } yyVAL.union = yyLOCAL - case 889: + case 890: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:4647 +//line sql.y:4655 { yyLOCAL = Columns{yyDollar[1].colIdent} } yyVAL.union = yyLOCAL - case 890: + case 891: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4651 +//line sql.y:4659 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].colIdent) } - case 891: + case 892: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:4657 +//line sql.y:4665 { yyLOCAL = Columns{NewColIdentWithAt(string(yyDollar[1].str), SingleAt)} } yyVAL.union = yyLOCAL - case 892: + case 893: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4661 +//line sql.y:4669 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, NewColIdentWithAt(string(yyDollar[3].str), SingleAt)) } - case 893: + case 894: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:4667 +//line sql.y:4675 { yyLOCAL = Columns{yyDollar[1].colIdent} } yyVAL.union = yyLOCAL - case 894: + case 895: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:4671 +//line sql.y:4679 { yyLOCAL = Columns{NewColIdent(string(yyDollar[1].str))} } yyVAL.union = yyLOCAL - case 895: + case 896: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4675 +//line sql.y:4683 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].colIdent) } - case 896: + case 897: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4679 +//line sql.y:4687 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, NewColIdent(string(yyDollar[3].str))) } - case 897: + case 898: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Partitions -//line sql.y:4685 +//line sql.y:4693 { yyLOCAL = Partitions{yyDollar[1].colIdent} } yyVAL.union = yyLOCAL - case 898: + case 899: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4689 +//line sql.y:4697 { yySLICE := (*Partitions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].colIdent) } - case 899: + case 900: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4702 +//line sql.y:4710 { yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition} } yyVAL.union = yyLOCAL - case 900: + case 901: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4706 +//line sql.y:4714 { yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition} } yyVAL.union = yyLOCAL - case 901: + case 902: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4710 +//line sql.y:4718 { yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition} } yyVAL.union = yyLOCAL - case 902: + case 903: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4714 +//line sql.y:4722 { yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion()} } yyVAL.union = yyLOCAL - case 903: + case 904: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4720 +//line sql.y:4728 { yyVAL.joinCondition = &JoinCondition{On: yyDollar[2].exprUnion()} } - case 904: + case 905: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4722 +//line sql.y:4730 { yyVAL.joinCondition = &JoinCondition{Using: yyDollar[3].columnsUnion()} } - case 905: + case 906: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4726 +//line sql.y:4734 { yyVAL.joinCondition = &JoinCondition{} } - case 906: + case 907: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4728 +//line sql.y:4736 { yyVAL.joinCondition = yyDollar[1].joinCondition } - case 907: + case 908: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4732 +//line sql.y:4740 { yyVAL.joinCondition = &JoinCondition{} } - case 908: + case 909: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4734 +//line sql.y:4742 { yyVAL.joinCondition = &JoinCondition{On: yyDollar[2].exprUnion()} } - case 909: + case 910: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4737 +//line sql.y:4745 { yyVAL.empty = struct{}{} } - case 910: + case 911: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4739 +//line sql.y:4747 { yyVAL.empty = struct{}{} } - case 911: + case 912: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4742 +//line sql.y:4750 { yyVAL.tableIdent = NewTableIdent("") } - case 912: + case 913: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4746 +//line sql.y:4754 { yyVAL.tableIdent = yyDollar[1].tableIdent } - case 913: + case 914: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4750 +//line sql.y:4758 { yyVAL.tableIdent = yyDollar[2].tableIdent } - case 915: + case 916: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4757 +//line sql.y:4765 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].str)) } - case 916: + case 917: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL JoinType -//line sql.y:4763 +//line sql.y:4771 { yyLOCAL = NormalJoinType } yyVAL.union = yyLOCAL - case 917: + case 918: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4767 +//line sql.y:4775 { yyLOCAL = NormalJoinType } yyVAL.union = yyLOCAL - case 918: + case 919: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4771 +//line sql.y:4779 { yyLOCAL = NormalJoinType } yyVAL.union = yyLOCAL - case 919: + case 920: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL JoinType -//line sql.y:4777 +//line sql.y:4785 { yyLOCAL = StraightJoinType } yyVAL.union = yyLOCAL - case 920: + case 921: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4783 +//line sql.y:4791 { yyLOCAL = LeftJoinType } yyVAL.union = yyLOCAL - case 921: + case 922: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL JoinType -//line sql.y:4787 +//line sql.y:4795 { yyLOCAL = LeftJoinType } yyVAL.union = yyLOCAL - case 922: + case 923: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4791 +//line sql.y:4799 { yyLOCAL = RightJoinType } yyVAL.union = yyLOCAL - case 923: + case 924: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL JoinType -//line sql.y:4795 +//line sql.y:4803 { yyLOCAL = RightJoinType } yyVAL.union = yyLOCAL - case 924: + case 925: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4801 +//line sql.y:4809 { yyLOCAL = NaturalJoinType } yyVAL.union = yyLOCAL - case 925: + case 926: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4805 +//line sql.y:4813 { if yyDollar[2].joinTypeUnion() == LeftJoinType { yyLOCAL = NaturalLeftJoinType @@ -14949,575 +14924,575 @@ yydefault: } } yyVAL.union = yyLOCAL - case 926: + case 927: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4815 +//line sql.y:4823 { yyVAL.tableName = yyDollar[2].tableName } - case 927: + case 928: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4819 +//line sql.y:4827 { yyVAL.tableName = yyDollar[1].tableName } - case 928: + case 929: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4825 +//line sql.y:4833 { yyVAL.tableName = TableName{Name: yyDollar[1].tableIdent} } - case 929: + case 930: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4829 +//line sql.y:4837 { yyVAL.tableName = TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent} } - case 930: + case 931: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4835 +//line sql.y:4843 { yyVAL.tableName = TableName{Name: yyDollar[1].tableIdent} } - case 931: + case 932: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL IndexHints -//line sql.y:4840 +//line sql.y:4848 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 932: + case 933: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IndexHints -//line sql.y:4844 +//line sql.y:4852 { yyLOCAL = yyDollar[1].indexHintsUnion() } yyVAL.union = yyLOCAL - case 933: + case 934: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IndexHints -//line sql.y:4850 +//line sql.y:4858 { yyLOCAL = IndexHints{yyDollar[1].indexHintUnion()} } yyVAL.union = yyLOCAL - case 934: + case 935: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4854 +//line sql.y:4862 { yySLICE := (*IndexHints)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].indexHintUnion()) } - case 935: + case 936: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *IndexHint -//line sql.y:4860 +//line sql.y:4868 { yyLOCAL = &IndexHint{Type: UseOp, ForType: yyDollar[3].indexHintForTypeUnion(), Indexes: yyDollar[5].columnsUnion()} } yyVAL.union = yyLOCAL - case 936: + case 937: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *IndexHint -//line sql.y:4864 +//line sql.y:4872 { yyLOCAL = &IndexHint{Type: UseOp, ForType: yyDollar[3].indexHintForTypeUnion()} } yyVAL.union = yyLOCAL - case 937: + case 938: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *IndexHint -//line sql.y:4868 +//line sql.y:4876 { yyLOCAL = &IndexHint{Type: IgnoreOp, ForType: yyDollar[3].indexHintForTypeUnion(), Indexes: yyDollar[5].columnsUnion()} } yyVAL.union = yyLOCAL - case 938: + case 939: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *IndexHint -//line sql.y:4872 +//line sql.y:4880 { yyLOCAL = &IndexHint{Type: ForceOp, ForType: yyDollar[3].indexHintForTypeUnion(), Indexes: yyDollar[5].columnsUnion()} } yyVAL.union = yyLOCAL - case 939: + case 940: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL IndexHintForType -//line sql.y:4877 +//line sql.y:4885 { yyLOCAL = NoForType } yyVAL.union = yyLOCAL - case 940: + case 941: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IndexHintForType -//line sql.y:4881 +//line sql.y:4889 { yyLOCAL = JoinForType } yyVAL.union = yyLOCAL - case 941: + case 942: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL IndexHintForType -//line sql.y:4885 +//line sql.y:4893 { yyLOCAL = OrderByForType } yyVAL.union = yyLOCAL - case 942: + case 943: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL IndexHintForType -//line sql.y:4889 +//line sql.y:4897 { yyLOCAL = GroupByForType } yyVAL.union = yyLOCAL - case 943: + case 944: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:4895 +//line sql.y:4903 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 944: + case 945: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:4899 +//line sql.y:4907 { yyLOCAL = yyDollar[2].exprUnion() } yyVAL.union = yyLOCAL - case 945: + case 946: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4906 +//line sql.y:4914 { yyLOCAL = &OrExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 946: + case 947: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4910 +//line sql.y:4918 { yyLOCAL = &XorExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 947: + case 948: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4914 +//line sql.y:4922 { yyLOCAL = &AndExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 948: + case 949: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:4918 +//line sql.y:4926 { yyLOCAL = &NotExpr{Expr: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 949: + case 950: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4922 +//line sql.y:4930 { yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].isExprOperatorUnion()} } yyVAL.union = yyLOCAL - case 950: + case 951: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:4926 +//line sql.y:4934 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 951: + case 952: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:4930 +//line sql.y:4938 { yyLOCAL = &MemberOfExpr{Value: yyDollar[1].exprUnion(), JSONArr: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 952: + case 953: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4937 +//line sql.y:4945 { yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: IsNullOp} } yyVAL.union = yyLOCAL - case 953: + case 954: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:4941 +//line sql.y:4949 { yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: IsNotNullOp} } yyVAL.union = yyLOCAL - case 954: + case 955: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4945 +//line sql.y:4953 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: yyDollar[2].comparisonExprOperatorUnion(), Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 955: + case 956: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:4949 +//line sql.y:4957 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 956: + case 957: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4955 +//line sql.y:4963 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: InOp, Right: yyDollar[3].colTupleUnion()} } yyVAL.union = yyLOCAL - case 957: + case 958: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:4959 +//line sql.y:4967 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotInOp, Right: yyDollar[4].colTupleUnion()} } yyVAL.union = yyLOCAL - case 958: + case 959: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:4963 +//line sql.y:4971 { yyLOCAL = &BetweenExpr{Left: yyDollar[1].exprUnion(), IsBetween: true, From: yyDollar[3].exprUnion(), To: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 959: + case 960: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:4967 +//line sql.y:4975 { yyLOCAL = &BetweenExpr{Left: yyDollar[1].exprUnion(), IsBetween: false, From: yyDollar[4].exprUnion(), To: yyDollar[6].exprUnion()} } yyVAL.union = yyLOCAL - case 960: + case 961: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4971 +//line sql.y:4979 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: LikeOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 961: + case 962: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:4975 +//line sql.y:4983 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotLikeOp, Right: yyDollar[4].exprUnion()} } yyVAL.union = yyLOCAL - case 962: + case 963: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:4979 +//line sql.y:4987 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: LikeOp, Right: yyDollar[3].exprUnion(), Escape: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 963: + case 964: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:4983 +//line sql.y:4991 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotLikeOp, Right: yyDollar[4].exprUnion(), Escape: yyDollar[6].exprUnion()} } yyVAL.union = yyLOCAL - case 964: + case 965: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4987 +//line sql.y:4995 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: RegexpOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 965: + case 966: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:4991 +//line sql.y:4999 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotRegexpOp, Right: yyDollar[4].exprUnion()} } yyVAL.union = yyLOCAL - case 966: + case 967: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:4995 +//line sql.y:5003 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 967: + case 968: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5001 +//line sql.y:5009 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitOrOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 968: + case 969: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5005 +//line sql.y:5013 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitAndOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 969: + case 970: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5009 +//line sql.y:5017 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ShiftLeftOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 970: + case 971: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5013 +//line sql.y:5021 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ShiftRightOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 971: + case 972: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5017 +//line sql.y:5025 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: PlusOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 972: + case 973: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5021 +//line sql.y:5029 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: MinusOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 973: + case 974: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5025 +//line sql.y:5033 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: MultOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 974: + case 975: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5029 +//line sql.y:5037 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: DivOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 975: + case 976: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5033 +//line sql.y:5041 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ModOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 976: + case 977: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5037 +//line sql.y:5045 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: IntDivOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 977: + case 978: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5041 +//line sql.y:5049 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ModOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 978: + case 979: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5045 +//line sql.y:5053 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitXorOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 979: + case 980: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5049 +//line sql.y:5057 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 980: + case 981: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5055 +//line sql.y:5063 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 981: + case 982: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5059 +//line sql.y:5067 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 982: + case 983: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5063 +//line sql.y:5071 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 983: + case 984: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5067 +//line sql.y:5075 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 984: + case 985: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5071 +//line sql.y:5079 { yyLOCAL = &CollateExpr{Expr: yyDollar[1].exprUnion(), Collation: yyDollar[3].str} } yyVAL.union = yyLOCAL - case 985: + case 986: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5075 +//line sql.y:5083 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 986: + case 987: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5079 +//line sql.y:5087 { yyLOCAL = yyDollar[1].colNameUnion() } yyVAL.union = yyLOCAL - case 987: + case 988: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5083 +//line sql.y:5091 { yyLOCAL = yyDollar[2].exprUnion() // TODO: do we really want to ignore unary '+' before any kind of literals? } yyVAL.union = yyLOCAL - case 988: + case 989: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5087 +//line sql.y:5095 { yyLOCAL = &UnaryExpr{Operator: UMinusOp, Expr: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 989: + case 990: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5091 +//line sql.y:5099 { yyLOCAL = &UnaryExpr{Operator: TildaOp, Expr: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 990: + case 991: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5095 +//line sql.y:5103 { yyLOCAL = &UnaryExpr{Operator: BangOp, Expr: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 991: + case 992: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5099 +//line sql.y:5107 { yyLOCAL = yyDollar[1].subqueryUnion() } yyVAL.union = yyLOCAL - case 992: + case 993: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5103 +//line sql.y:5111 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 993: + case 994: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5107 +//line sql.y:5115 { yyLOCAL = &ExistsExpr{Subquery: yyDollar[2].subqueryUnion()} } yyVAL.union = yyLOCAL - case 994: + case 995: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL Expr -//line sql.y:5111 +//line sql.y:5119 { yyLOCAL = &MatchExpr{Columns: yyDollar[3].selectExprsUnion(), Expr: yyDollar[7].exprUnion(), Option: yyDollar[8].matchExprOptionUnion()} } yyVAL.union = yyLOCAL - case 995: + case 996: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5115 +//line sql.y:5123 { yyLOCAL = &ConvertExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].convertTypeUnion()} } yyVAL.union = yyLOCAL - case 996: + case 997: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5119 +//line sql.y:5127 { yyLOCAL = &ConvertExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].convertTypeUnion()} } yyVAL.union = yyLOCAL - case 997: + case 998: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5123 +//line sql.y:5131 { yyLOCAL = &ConvertUsingExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].str} } yyVAL.union = yyLOCAL - case 998: + case 999: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5127 +//line sql.y:5135 { // From: https://dev.mysql.com/doc/refman/8.0/en/cast-functions.html#operator_binary // To convert a string expression to a binary string, these constructs are equivalent: @@ -15526,18 +15501,18 @@ yydefault: yyLOCAL = &ConvertExpr{Expr: yyDollar[2].exprUnion(), Type: &ConvertType{Type: yyDollar[1].str}} } yyVAL.union = yyLOCAL - case 999: + case 1000: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5135 +//line sql.y:5143 { yyLOCAL = &Default{ColName: yyDollar[2].str} } yyVAL.union = yyLOCAL - case 1000: + case 1001: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5139 +//line sql.y:5147 { // This rule prevents the usage of INTERVAL // as a function. If support is needed for that, @@ -15546,1310 +15521,1318 @@ yydefault: yyLOCAL = &IntervalExpr{Expr: yyDollar[2].exprUnion(), Unit: yyDollar[3].colIdent.String()} } yyVAL.union = yyLOCAL - case 1001: + case 1002: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5147 +//line sql.y:5155 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].colNameUnion(), Operator: JSONExtractOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1002: + case 1003: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5151 +//line sql.y:5159 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].colNameUnion(), Operator: JSONUnquoteExtractOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1003: + case 1004: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TrimType -//line sql.y:5157 +//line sql.y:5165 { yyLOCAL = BothTrimType } yyVAL.union = yyLOCAL - case 1004: + case 1005: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TrimType -//line sql.y:5161 +//line sql.y:5169 { yyLOCAL = LeadingTrimType } yyVAL.union = yyLOCAL - case 1005: + case 1006: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TrimType -//line sql.y:5165 +//line sql.y:5173 { yyLOCAL = TrailingTrimType } yyVAL.union = yyLOCAL - case 1006: + case 1007: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5171 +//line sql.y:5179 { yyVAL.str = "" } - case 1007: + case 1008: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5175 +//line sql.y:5183 { yyVAL.str = string(yyDollar[2].colIdent.String()) } - case 1008: + case 1009: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL BoolVal -//line sql.y:5181 +//line sql.y:5189 { yyLOCAL = BoolVal(true) } yyVAL.union = yyLOCAL - case 1009: + case 1010: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL BoolVal -//line sql.y:5185 +//line sql.y:5193 { yyLOCAL = BoolVal(false) } yyVAL.union = yyLOCAL - case 1010: + case 1011: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IsExprOperator -//line sql.y:5192 +//line sql.y:5200 { yyLOCAL = IsTrueOp } yyVAL.union = yyLOCAL - case 1011: + case 1012: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IsExprOperator -//line sql.y:5196 +//line sql.y:5204 { yyLOCAL = IsNotTrueOp } yyVAL.union = yyLOCAL - case 1012: + case 1013: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IsExprOperator -//line sql.y:5200 +//line sql.y:5208 { yyLOCAL = IsFalseOp } yyVAL.union = yyLOCAL - case 1013: + case 1014: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IsExprOperator -//line sql.y:5204 +//line sql.y:5212 { yyLOCAL = IsNotFalseOp } yyVAL.union = yyLOCAL - case 1014: + case 1015: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5210 +//line sql.y:5218 { yyLOCAL = EqualOp } yyVAL.union = yyLOCAL - case 1015: + case 1016: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5214 +//line sql.y:5222 { yyLOCAL = LessThanOp } yyVAL.union = yyLOCAL - case 1016: + case 1017: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5218 +//line sql.y:5226 { yyLOCAL = GreaterThanOp } yyVAL.union = yyLOCAL - case 1017: + case 1018: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5222 +//line sql.y:5230 { yyLOCAL = LessEqualOp } yyVAL.union = yyLOCAL - case 1018: + case 1019: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5226 +//line sql.y:5234 { yyLOCAL = GreaterEqualOp } yyVAL.union = yyLOCAL - case 1019: + case 1020: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5230 +//line sql.y:5238 { yyLOCAL = NotEqualOp } yyVAL.union = yyLOCAL - case 1020: + case 1021: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5234 +//line sql.y:5242 { yyLOCAL = NullSafeEqualOp } yyVAL.union = yyLOCAL - case 1021: + case 1022: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColTuple -//line sql.y:5240 +//line sql.y:5248 { yyLOCAL = yyDollar[1].valTupleUnion() } yyVAL.union = yyLOCAL - case 1022: + case 1023: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColTuple -//line sql.y:5244 +//line sql.y:5252 { yyLOCAL = yyDollar[1].subqueryUnion() } yyVAL.union = yyLOCAL - case 1023: + case 1024: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColTuple -//line sql.y:5248 +//line sql.y:5256 { yyLOCAL = ListArg(yyDollar[1].str[2:]) bindVariable(yylex, yyDollar[1].str[2:]) } yyVAL.union = yyLOCAL - case 1024: + case 1025: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Subquery -//line sql.y:5255 +//line sql.y:5263 { yyLOCAL = &Subquery{yyDollar[1].selStmtUnion()} } yyVAL.union = yyLOCAL - case 1025: + case 1026: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Exprs -//line sql.y:5261 +//line sql.y:5269 { yyLOCAL = Exprs{yyDollar[1].exprUnion()} } yyVAL.union = yyLOCAL - case 1026: + case 1027: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5265 +//line sql.y:5273 { yySLICE := (*Exprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].exprUnion()) } - case 1027: + case 1028: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5275 +//line sql.y:5283 { yyLOCAL = &FuncExpr{Name: yyDollar[1].colIdent, Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1028: + case 1029: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5279 +//line sql.y:5287 { yyLOCAL = &FuncExpr{Name: yyDollar[1].colIdent, Distinct: true, Exprs: yyDollar[4].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1029: + case 1030: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5283 +//line sql.y:5291 { yyLOCAL = &FuncExpr{Name: yyDollar[1].colIdent, Distinct: true, Exprs: yyDollar[4].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1030: + case 1031: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5287 +//line sql.y:5295 { yyLOCAL = &FuncExpr{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].colIdent, Exprs: yyDollar[5].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1031: + case 1032: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5297 +//line sql.y:5305 { yyLOCAL = &FuncExpr{Name: NewColIdent("left"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1032: + case 1033: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5301 +//line sql.y:5309 { yyLOCAL = &FuncExpr{Name: NewColIdent("right"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1033: + case 1034: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5305 +//line sql.y:5313 { yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion(), To: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1034: + case 1035: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5309 +//line sql.y:5317 { yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1035: + case 1036: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5313 +//line sql.y:5321 { yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion(), To: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1036: + case 1037: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5317 +//line sql.y:5325 { yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1037: + case 1038: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5321 +//line sql.y:5329 { yyLOCAL = &GroupConcatExpr{Distinct: yyDollar[3].booleanUnion(), Exprs: yyDollar[4].selectExprsUnion(), OrderBy: yyDollar[5].orderByUnion(), Separator: yyDollar[6].str, Limit: yyDollar[7].limitUnion()} } yyVAL.union = yyLOCAL - case 1038: + case 1039: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5325 +//line sql.y:5333 { yyLOCAL = &CaseExpr{Expr: yyDollar[2].exprUnion(), Whens: yyDollar[3].whensUnion(), Else: yyDollar[4].exprUnion()} } yyVAL.union = yyLOCAL - case 1039: + case 1040: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5329 +//line sql.y:5337 { yyLOCAL = &ValuesFuncExpr{Name: yyDollar[3].colNameUnion()} } yyVAL.union = yyLOCAL - case 1040: + case 1041: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5333 +//line sql.y:5341 { yyLOCAL = &FuncExpr{Name: NewColIdent(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1041: + case 1042: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5344 +//line sql.y:5352 { yyLOCAL = &FuncExpr{Name: NewColIdent("utc_date")} } yyVAL.union = yyLOCAL - case 1042: + case 1043: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5348 +//line sql.y:5356 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 1043: + case 1044: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5354 +//line sql.y:5362 { yyLOCAL = &FuncExpr{Name: NewColIdent("current_date")} } yyVAL.union = yyLOCAL - case 1044: + case 1045: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5358 +//line sql.y:5366 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("utc_time"), Fsp: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 1045: + case 1046: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5363 +//line sql.y:5371 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("current_time"), Fsp: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 1046: + case 1047: + yyDollar = yyS[yypt-4 : yypt+1] + var yyLOCAL Expr +//line sql.y:5375 + { + yyLOCAL = &CountStar{Star: yyDollar[3].starExprUnion()} + } + yyVAL.union = yyLOCAL + case 1048: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5367 +//line sql.y:5379 { yyLOCAL = &Count{Arg: yyDollar[4].exprUnion(), Distinct: yyDollar[3].booleanUnion()} } yyVAL.union = yyLOCAL - case 1047: + case 1049: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5371 +//line sql.y:5383 { yyLOCAL = &TimestampFuncExpr{Name: string("timestampadd"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].exprUnion(), Expr2: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1048: + case 1050: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5375 +//line sql.y:5387 { yyLOCAL = &TimestampFuncExpr{Name: string("timestampdiff"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].exprUnion(), Expr2: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1049: + case 1051: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5379 +//line sql.y:5391 { yyLOCAL = &ExtractFuncExpr{IntervalTypes: yyDollar[3].intervalTypeUnion(), Expr: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1050: + case 1052: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5383 +//line sql.y:5395 { yyLOCAL = &WeightStringFuncExpr{Expr: yyDollar[3].exprUnion(), As: yyDollar[4].convertTypeUnion()} } yyVAL.union = yyLOCAL - case 1051: + case 1053: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5387 +//line sql.y:5399 { yyLOCAL = &JSONPrettyExpr{JSONVal: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1052: + case 1054: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5391 +//line sql.y:5403 { yyLOCAL = &JSONStorageFreeExpr{JSONVal: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1053: + case 1055: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5395 +//line sql.y:5407 { yyLOCAL = &JSONStorageSizeExpr{JSONVal: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1054: + case 1056: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5399 +//line sql.y:5411 { yyLOCAL = &TrimFuncExpr{TrimFuncType: LTrimType, StringArg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1055: + case 1057: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5403 +//line sql.y:5415 { yyLOCAL = &TrimFuncExpr{TrimFuncType: RTrimType, StringArg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1056: + case 1058: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Expr -//line sql.y:5407 +//line sql.y:5419 { yyLOCAL = &TrimFuncExpr{Type: yyDollar[3].trimTypeUnion(), TrimArg: yyDollar[4].exprUnion(), StringArg: yyDollar[6].exprUnion()} } yyVAL.union = yyLOCAL - case 1057: + case 1059: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5411 +//line sql.y:5423 { yyLOCAL = &TrimFuncExpr{StringArg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1058: + case 1060: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5415 +//line sql.y:5427 { yyLOCAL = &TrimFuncExpr{TrimArg: yyDollar[3].exprUnion(), StringArg: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1059: + case 1061: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5419 +//line sql.y:5431 { yyLOCAL = &JSONSchemaValidFuncExpr{Schema: yyDollar[3].exprUnion(), Document: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1060: + case 1062: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5423 +//line sql.y:5435 { yyLOCAL = &JSONSchemaValidationReportFuncExpr{Schema: yyDollar[3].exprUnion(), Document: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1061: + case 1063: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5427 +//line sql.y:5439 { yyLOCAL = &JSONArrayExpr{Params: yyDollar[3].exprsUnion()} } yyVAL.union = yyLOCAL - case 1062: + case 1064: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5431 +//line sql.y:5443 { yyLOCAL = &JSONObjectExpr{Params: yyDollar[3].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1063: + case 1065: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5435 +//line sql.y:5447 { yyLOCAL = &JSONQuoteExpr{StringArg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1064: + case 1066: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Expr -//line sql.y:5439 +//line sql.y:5451 { yyLOCAL = &JSONContainsExpr{Target: yyDollar[3].exprUnion(), Candidate: yyDollar[5].exprUnion(), PathList: yyDollar[6].jsonPathParamsUnion()} } yyVAL.union = yyLOCAL - case 1065: + case 1067: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5443 +//line sql.y:5455 { yyLOCAL = &JSONContainsPathExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), PathList: yyDollar[7].jsonPathParamsUnion()} } yyVAL.union = yyLOCAL - case 1066: + case 1068: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5447 +//line sql.y:5459 { yyLOCAL = &JSONExtractExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[5].jsonPathParamsUnion()} } yyVAL.union = yyLOCAL - case 1067: + case 1069: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5451 +//line sql.y:5463 { yyLOCAL = &JSONKeysExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[4].jsonPathParamsUnion()} } yyVAL.union = yyLOCAL - case 1068: + case 1070: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5455 +//line sql.y:5467 { yyLOCAL = &JSONOverlapsExpr{JSONDoc1: yyDollar[3].exprUnion(), JSONDoc2: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1069: + case 1071: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5459 +//line sql.y:5471 { yyLOCAL = &JSONSearchExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), SearchStr: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1070: + case 1072: yyDollar = yyS[yypt-11 : yypt+1] var yyLOCAL Expr -//line sql.y:5463 +//line sql.y:5475 { yyLOCAL = &JSONSearchExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), SearchStr: yyDollar[7].exprUnion(), EscapeChar: yyDollar[9].exprUnion(), PathList: yyDollar[10].jsonPathParamsUnion()} } yyVAL.union = yyLOCAL - case 1071: + case 1073: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Expr -//line sql.y:5467 +//line sql.y:5479 { yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam, ReturningType: yyDollar[6].convertTypeUnion()} } yyVAL.union = yyLOCAL - case 1072: + case 1074: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5471 +//line sql.y:5483 { yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam, ReturningType: yyDollar[6].convertTypeUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion()} } yyVAL.union = yyLOCAL - case 1073: + case 1075: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5475 +//line sql.y:5487 { yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam, ReturningType: yyDollar[6].convertTypeUnion(), ErrorOnResponse: yyDollar[7].jtOnResponseUnion()} } yyVAL.union = yyLOCAL - case 1074: + case 1076: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL Expr -//line sql.y:5479 +//line sql.y:5491 { yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam, ReturningType: yyDollar[6].convertTypeUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion(), ErrorOnResponse: yyDollar[8].jtOnResponseUnion()} } yyVAL.union = yyLOCAL - case 1075: + case 1077: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5483 +//line sql.y:5495 { yyLOCAL = &JSONAttributesExpr{Type: DepthAttributeType, JSONDoc: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1076: + case 1078: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5487 +//line sql.y:5499 { yyLOCAL = &JSONAttributesExpr{Type: ValidAttributeType, JSONDoc: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1077: + case 1079: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5491 +//line sql.y:5503 { yyLOCAL = &JSONAttributesExpr{Type: TypeAttributeType, JSONDoc: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1078: + case 1080: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5495 +//line sql.y:5507 { yyLOCAL = &JSONAttributesExpr{Type: LengthAttributeType, JSONDoc: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1079: + case 1081: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5499 +//line sql.y:5511 { yyLOCAL = &JSONAttributesExpr{Type: LengthAttributeType, JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam} } yyVAL.union = yyLOCAL - case 1080: + case 1082: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5503 +//line sql.y:5515 { yyLOCAL = &JSONValueModifierExpr{Type: JSONArrayAppendType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1081: + case 1083: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5507 +//line sql.y:5519 { yyLOCAL = &JSONValueModifierExpr{Type: JSONArrayInsertType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1082: + case 1084: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5511 +//line sql.y:5523 { yyLOCAL = &JSONValueModifierExpr{Type: JSONInsertType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1083: + case 1085: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5515 +//line sql.y:5527 { yyLOCAL = &JSONValueModifierExpr{Type: JSONReplaceType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1084: + case 1086: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5519 +//line sql.y:5531 { yyLOCAL = &JSONValueModifierExpr{Type: JSONSetType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1085: + case 1087: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5523 +//line sql.y:5535 { yyLOCAL = &JSONValueMergeExpr{Type: JSONMergeType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()} } yyVAL.union = yyLOCAL - case 1086: + case 1088: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5527 +//line sql.y:5539 { yyLOCAL = &JSONValueMergeExpr{Type: JSONMergePatchType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()} } yyVAL.union = yyLOCAL - case 1087: + case 1089: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5531 +//line sql.y:5543 { yyLOCAL = &JSONValueMergeExpr{Type: JSONMergePreserveType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()} } yyVAL.union = yyLOCAL - case 1088: + case 1090: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5535 +//line sql.y:5547 { yyLOCAL = &JSONRemoveExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[5].exprsUnion()} } yyVAL.union = yyLOCAL - case 1089: + case 1091: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5539 +//line sql.y:5551 { yyLOCAL = &JSONUnquoteExpr{JSONValue: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1090: + case 1092: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5544 +//line sql.y:5556 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1091: + case 1093: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5548 +//line sql.y:5560 { yyLOCAL = yyDollar[2].convertTypeUnion() } yyVAL.union = yyLOCAL - case 1092: + case 1094: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []JSONPathParam -//line sql.y:5553 +//line sql.y:5565 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1093: + case 1095: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []JSONPathParam -//line sql.y:5557 +//line sql.y:5569 { yyLOCAL = yyDollar[2].jsonPathParamsUnion() } yyVAL.union = yyLOCAL - case 1094: + case 1096: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []JSONPathParam -//line sql.y:5563 +//line sql.y:5575 { yyLOCAL = []JSONPathParam{yyDollar[1].jsonPathParam} } yyVAL.union = yyLOCAL - case 1095: + case 1097: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5567 +//line sql.y:5579 { yySLICE := (*[]JSONPathParam)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].jsonPathParam) } - case 1096: + case 1098: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5573 +//line sql.y:5585 { yyVAL.jsonPathParam = JSONPathParam(yyDollar[1].exprUnion()) } - case 1097: + case 1099: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5577 +//line sql.y:5589 { yyVAL.jsonPathParam = JSONPathParam(yyDollar[1].colNameUnion()) } - case 1098: + case 1100: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5583 +//line sql.y:5595 { } - case 1099: + case 1101: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5585 +//line sql.y:5597 { yyLOCAL = IntervalDayHour } yyVAL.union = yyLOCAL - case 1100: + case 1102: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5589 +//line sql.y:5601 { yyLOCAL = IntervalDayMicrosecond } yyVAL.union = yyLOCAL - case 1101: + case 1103: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5593 +//line sql.y:5605 { yyLOCAL = IntervalDayMinute } yyVAL.union = yyLOCAL - case 1102: + case 1104: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5597 +//line sql.y:5609 { yyLOCAL = IntervalDaySecond } yyVAL.union = yyLOCAL - case 1103: + case 1105: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5601 +//line sql.y:5613 { yyLOCAL = IntervalHourMicrosecond } yyVAL.union = yyLOCAL - case 1104: + case 1106: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5605 +//line sql.y:5617 { yyLOCAL = IntervalHourMinute } yyVAL.union = yyLOCAL - case 1105: + case 1107: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5609 +//line sql.y:5621 { yyLOCAL = IntervalHourSecond } yyVAL.union = yyLOCAL - case 1106: + case 1108: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5613 +//line sql.y:5625 { yyLOCAL = IntervalMinuteMicrosecond } yyVAL.union = yyLOCAL - case 1107: + case 1109: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5617 +//line sql.y:5629 { yyLOCAL = IntervalMinuteSecond } yyVAL.union = yyLOCAL - case 1108: + case 1110: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5621 +//line sql.y:5633 { yyLOCAL = IntervalSecondMicrosecond } yyVAL.union = yyLOCAL - case 1109: + case 1111: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5625 +//line sql.y:5637 { yyLOCAL = IntervalYearMonth } yyVAL.union = yyLOCAL - case 1110: + case 1112: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5631 +//line sql.y:5643 { yyLOCAL = IntervalDay } yyVAL.union = yyLOCAL - case 1111: + case 1113: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5635 +//line sql.y:5647 { yyLOCAL = IntervalWeek } yyVAL.union = yyLOCAL - case 1112: + case 1114: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5639 +//line sql.y:5651 { yyLOCAL = IntervalHour } yyVAL.union = yyLOCAL - case 1113: + case 1115: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5643 +//line sql.y:5655 { yyLOCAL = IntervalMinute } yyVAL.union = yyLOCAL - case 1114: + case 1116: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5647 +//line sql.y:5659 { yyLOCAL = IntervalMonth } yyVAL.union = yyLOCAL - case 1115: + case 1117: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5651 +//line sql.y:5663 { yyLOCAL = IntervalQuarter } yyVAL.union = yyLOCAL - case 1116: + case 1118: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5655 +//line sql.y:5667 { yyLOCAL = IntervalSecond } yyVAL.union = yyLOCAL - case 1117: + case 1119: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5659 +//line sql.y:5671 { yyLOCAL = IntervalMicrosecond } yyVAL.union = yyLOCAL - case 1118: + case 1120: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5663 +//line sql.y:5675 { yyLOCAL = IntervalYear } yyVAL.union = yyLOCAL - case 1121: + case 1123: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:5673 +//line sql.y:5685 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1122: + case 1124: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5677 +//line sql.y:5689 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1123: + case 1125: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5681 +//line sql.y:5693 { yyLOCAL = NewIntLiteral(yyDollar[2].str) } yyVAL.union = yyLOCAL - case 1124: + case 1126: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5685 +//line sql.y:5697 { yyLOCAL = NewArgument(yyDollar[2].str[1:]) bindVariable(yylex, yyDollar[2].str[1:]) } yyVAL.union = yyLOCAL - case 1125: + case 1127: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5696 +//line sql.y:5708 { yyLOCAL = &FuncExpr{Name: NewColIdent("if"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1126: + case 1128: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5700 +//line sql.y:5712 { yyLOCAL = &FuncExpr{Name: NewColIdent("database"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1127: + case 1129: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5704 +//line sql.y:5716 { yyLOCAL = &FuncExpr{Name: NewColIdent("schema"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1128: + case 1130: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5708 +//line sql.y:5720 { yyLOCAL = &FuncExpr{Name: NewColIdent("mod"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1129: + case 1131: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5712 +//line sql.y:5724 { yyLOCAL = &FuncExpr{Name: NewColIdent("replace"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1130: + case 1132: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:5718 +//line sql.y:5730 { yyLOCAL = NoOption } yyVAL.union = yyLOCAL - case 1131: + case 1133: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:5722 +//line sql.y:5734 { yyLOCAL = BooleanModeOpt } yyVAL.union = yyLOCAL - case 1132: + case 1134: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:5726 +//line sql.y:5738 { yyLOCAL = NaturalLanguageModeOpt } yyVAL.union = yyLOCAL - case 1133: + case 1135: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:5730 +//line sql.y:5742 { yyLOCAL = NaturalLanguageModeWithQueryExpansionOpt } yyVAL.union = yyLOCAL - case 1134: + case 1136: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:5734 +//line sql.y:5746 { yyLOCAL = QueryExpansionOpt } yyVAL.union = yyLOCAL - case 1135: + case 1137: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5740 +//line sql.y:5752 { yyVAL.str = string(yyDollar[1].colIdent.String()) } - case 1136: + case 1138: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5744 +//line sql.y:5756 { yyVAL.str = string(yyDollar[1].str) } - case 1137: + case 1139: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5748 +//line sql.y:5760 { yyVAL.str = string(yyDollar[1].str) } - case 1138: + case 1140: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5754 +//line sql.y:5766 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1139: + case 1141: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5758 +//line sql.y:5770 { yyLOCAL = &ConvertType{Type: string(yyDollar[2].str), Length: NewIntLiteral(yyDollar[4].str)} } yyVAL.union = yyLOCAL - case 1140: + case 1142: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5762 +//line sql.y:5774 { yyLOCAL = &ConvertType{Type: string(yyDollar[2].str), Length: NewIntLiteral(yyDollar[4].str)} } yyVAL.union = yyLOCAL - case 1141: + case 1143: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5768 +//line sql.y:5780 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } yyVAL.union = yyLOCAL - case 1142: + case 1144: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5772 +//line sql.y:5784 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion(), Charset: yyDollar[3].columnCharset} } yyVAL.union = yyLOCAL - case 1143: + case 1145: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5776 +//line sql.y:5788 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1144: + case 1146: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5780 +//line sql.y:5792 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } yyVAL.union = yyLOCAL - case 1145: + case 1147: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5784 +//line sql.y:5796 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} yyLOCAL.Length = yyDollar[2].LengthScaleOption.Length yyLOCAL.Scale = yyDollar[2].LengthScaleOption.Scale } yyVAL.union = yyLOCAL - case 1146: + case 1148: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5790 +//line sql.y:5802 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1147: + case 1149: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5794 +//line sql.y:5806 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } yyVAL.union = yyLOCAL - case 1148: + case 1150: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5798 +//line sql.y:5810 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1149: + case 1151: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5802 +//line sql.y:5814 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1150: + case 1152: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5806 +//line sql.y:5818 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } yyVAL.union = yyLOCAL - case 1151: + case 1153: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5810 +//line sql.y:5822 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1152: + case 1154: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5814 +//line sql.y:5826 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1153: + case 1155: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5818 +//line sql.y:5830 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } yyVAL.union = yyLOCAL - case 1154: + case 1156: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5822 +//line sql.y:5834 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1155: + case 1157: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5826 +//line sql.y:5838 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1156: + case 1158: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:5832 +//line sql.y:5844 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1157: + case 1159: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5836 +//line sql.y:5848 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 1158: + case 1160: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5841 +//line sql.y:5853 { yyVAL.str = string("") } - case 1159: + case 1161: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5845 +//line sql.y:5857 { yyVAL.str = " separator " + encodeSQLString(yyDollar[2].str) } - case 1160: + case 1162: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*When -//line sql.y:5851 +//line sql.y:5863 { yyLOCAL = []*When{yyDollar[1].whenUnion()} } yyVAL.union = yyLOCAL - case 1161: + case 1163: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5855 +//line sql.y:5867 { yySLICE := (*[]*When)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].whenUnion()) } - case 1162: + case 1164: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *When -//line sql.y:5861 +//line sql.y:5873 { yyLOCAL = &When{Cond: yyDollar[2].exprUnion(), Val: yyDollar[4].exprUnion()} } yyVAL.union = yyLOCAL - case 1163: + case 1165: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:5866 +//line sql.y:5878 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1164: + case 1166: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5870 +//line sql.y:5882 { yyLOCAL = yyDollar[2].exprUnion() } yyVAL.union = yyLOCAL - case 1165: + case 1167: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ColName -//line sql.y:5876 +//line sql.y:5888 { yyLOCAL = &ColName{Name: yyDollar[1].colIdent} } yyVAL.union = yyLOCAL - case 1166: + case 1168: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColName -//line sql.y:5880 +//line sql.y:5892 { yyLOCAL = &ColName{Qualifier: TableName{Name: yyDollar[1].tableIdent}, Name: yyDollar[3].colIdent} } yyVAL.union = yyLOCAL - case 1167: + case 1169: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ColName -//line sql.y:5884 +//line sql.y:5896 { yyLOCAL = &ColName{Qualifier: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}, Name: yyDollar[5].colIdent} } yyVAL.union = yyLOCAL - case 1168: + case 1170: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5890 +//line sql.y:5902 { // TODO(sougou): Deprecate this construct. if yyDollar[1].colIdent.Lowered() != "value" { @@ -16859,388 +16842,388 @@ yydefault: yyLOCAL = NewIntLiteral("1") } yyVAL.union = yyLOCAL - case 1169: + case 1171: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5899 +//line sql.y:5911 { yyLOCAL = NewIntLiteral(yyDollar[1].str) } yyVAL.union = yyLOCAL - case 1170: + case 1172: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5903 +//line sql.y:5915 { yyLOCAL = NewArgument(yyDollar[1].str[1:]) bindVariable(yylex, yyDollar[1].str[1:]) } yyVAL.union = yyLOCAL - case 1171: + case 1173: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Exprs -//line sql.y:5909 +//line sql.y:5921 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1172: + case 1174: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Exprs -//line sql.y:5913 +//line sql.y:5925 { yyLOCAL = yyDollar[3].exprsUnion() } yyVAL.union = yyLOCAL - case 1173: + case 1175: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:5918 +//line sql.y:5930 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1174: + case 1176: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5922 +//line sql.y:5934 { yyLOCAL = yyDollar[2].exprUnion() } yyVAL.union = yyLOCAL - case 1175: + case 1177: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL OrderBy -//line sql.y:5927 +//line sql.y:5939 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1176: + case 1178: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL OrderBy -//line sql.y:5931 +//line sql.y:5943 { yyLOCAL = yyDollar[1].orderByUnion() } yyVAL.union = yyLOCAL - case 1177: + case 1179: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL OrderBy -//line sql.y:5937 +//line sql.y:5949 { yyLOCAL = yyDollar[3].orderByUnion() } yyVAL.union = yyLOCAL - case 1178: + case 1180: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL OrderBy -//line sql.y:5943 +//line sql.y:5955 { yyLOCAL = OrderBy{yyDollar[1].orderUnion()} } yyVAL.union = yyLOCAL - case 1179: + case 1181: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5947 +//line sql.y:5959 { yySLICE := (*OrderBy)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].orderUnion()) } - case 1180: + case 1182: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Order -//line sql.y:5953 +//line sql.y:5965 { yyLOCAL = &Order{Expr: yyDollar[1].exprUnion(), Direction: yyDollar[2].orderDirectionUnion()} } yyVAL.union = yyLOCAL - case 1181: + case 1183: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL OrderDirection -//line sql.y:5958 +//line sql.y:5970 { yyLOCAL = AscOrder } yyVAL.union = yyLOCAL - case 1182: + case 1184: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL OrderDirection -//line sql.y:5962 +//line sql.y:5974 { yyLOCAL = AscOrder } yyVAL.union = yyLOCAL - case 1183: + case 1185: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL OrderDirection -//line sql.y:5966 +//line sql.y:5978 { yyLOCAL = DescOrder } yyVAL.union = yyLOCAL - case 1184: + case 1186: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *Limit -//line sql.y:5971 +//line sql.y:5983 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1185: + case 1187: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Limit -//line sql.y:5975 +//line sql.y:5987 { yyLOCAL = yyDollar[1].limitUnion() } yyVAL.union = yyLOCAL - case 1186: + case 1188: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Limit -//line sql.y:5981 +//line sql.y:5993 { yyLOCAL = &Limit{Rowcount: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 1187: + case 1189: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Limit -//line sql.y:5985 +//line sql.y:5997 { yyLOCAL = &Limit{Offset: yyDollar[2].exprUnion(), Rowcount: yyDollar[4].exprUnion()} } yyVAL.union = yyLOCAL - case 1188: + case 1190: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Limit -//line sql.y:5989 +//line sql.y:6001 { yyLOCAL = &Limit{Offset: yyDollar[4].exprUnion(), Rowcount: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 1189: + case 1191: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:5994 +//line sql.y:6006 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1190: + case 1192: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:5998 +//line sql.y:6010 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion(), yyDollar[2].alterOptionUnion()} } yyVAL.union = yyLOCAL - case 1191: + case 1193: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:6002 +//line sql.y:6014 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion(), yyDollar[2].alterOptionUnion()} } yyVAL.union = yyLOCAL - case 1192: + case 1194: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:6006 +//line sql.y:6018 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} } yyVAL.union = yyLOCAL - case 1193: + case 1195: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:6010 +//line sql.y:6022 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} } yyVAL.union = yyLOCAL - case 1194: + case 1196: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6017 +//line sql.y:6029 { yyLOCAL = &LockOption{Type: DefaultType} } yyVAL.union = yyLOCAL - case 1195: + case 1197: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6021 +//line sql.y:6033 { yyLOCAL = &LockOption{Type: NoneType} } yyVAL.union = yyLOCAL - case 1196: + case 1198: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6025 +//line sql.y:6037 { yyLOCAL = &LockOption{Type: SharedType} } yyVAL.union = yyLOCAL - case 1197: + case 1199: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6029 +//line sql.y:6041 { yyLOCAL = &LockOption{Type: ExclusiveType} } yyVAL.union = yyLOCAL - case 1198: + case 1200: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6035 +//line sql.y:6047 { yyLOCAL = AlgorithmValue(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1199: + case 1201: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6039 +//line sql.y:6051 { yyLOCAL = AlgorithmValue(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1200: + case 1202: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6043 +//line sql.y:6055 { yyLOCAL = AlgorithmValue(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1201: + case 1203: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6047 +//line sql.y:6059 { yyLOCAL = AlgorithmValue(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1202: + case 1204: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6052 +//line sql.y:6064 { yyVAL.str = "" } - case 1203: + case 1205: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6056 +//line sql.y:6068 { yyVAL.str = string(yyDollar[3].str) } - case 1204: + case 1206: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6060 +//line sql.y:6072 { yyVAL.str = string(yyDollar[3].str) } - case 1205: + case 1207: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6064 +//line sql.y:6076 { yyVAL.str = string(yyDollar[3].str) } - case 1206: + case 1208: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6069 +//line sql.y:6081 { yyVAL.str = "" } - case 1207: + case 1209: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6073 +//line sql.y:6085 { yyVAL.str = yyDollar[3].str } - case 1208: + case 1210: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6079 +//line sql.y:6091 { yyVAL.str = string(yyDollar[1].str) } - case 1209: + case 1211: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6083 +//line sql.y:6095 { yyVAL.str = string(yyDollar[1].str) } - case 1210: + case 1212: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6088 +//line sql.y:6100 { yyVAL.str = "" } - case 1211: + case 1213: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:6092 +//line sql.y:6104 { yyVAL.str = yyDollar[2].str } - case 1212: + case 1214: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6097 +//line sql.y:6109 { yyVAL.str = "cascaded" } - case 1213: + case 1215: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6101 +//line sql.y:6113 { yyVAL.str = string(yyDollar[1].str) } - case 1214: + case 1216: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6105 +//line sql.y:6117 { yyVAL.str = string(yyDollar[1].str) } - case 1215: + case 1217: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *Definer -//line sql.y:6110 +//line sql.y:6122 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1216: + case 1218: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *Definer -//line sql.y:6114 +//line sql.y:6126 { yyLOCAL = yyDollar[3].definerUnion() } yyVAL.union = yyLOCAL - case 1217: + case 1219: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Definer -//line sql.y:6120 +//line sql.y:6132 { yyLOCAL = &Definer{ Name: string(yyDollar[1].str), } } yyVAL.union = yyLOCAL - case 1218: + case 1220: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *Definer -//line sql.y:6126 +//line sql.y:6138 { yyLOCAL = &Definer{ Name: string(yyDollar[1].str), } } yyVAL.union = yyLOCAL - case 1219: + case 1221: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Definer -//line sql.y:6132 +//line sql.y:6144 { yyLOCAL = &Definer{ Name: yyDollar[1].str, @@ -17248,361 +17231,361 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1220: + case 1222: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6141 +//line sql.y:6153 { yyVAL.str = encodeSQLString(yyDollar[1].str) } - case 1221: + case 1223: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6145 +//line sql.y:6157 { yyVAL.str = formatIdentifier(yyDollar[1].str) } - case 1222: + case 1224: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6150 +//line sql.y:6162 { yyVAL.str = "" } - case 1223: + case 1225: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6154 +//line sql.y:6166 { yyVAL.str = formatAddress(yyDollar[1].str) } - case 1224: + case 1226: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Lock -//line sql.y:6160 +//line sql.y:6172 { yyLOCAL = ForUpdateLock } yyVAL.union = yyLOCAL - case 1225: + case 1227: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Lock -//line sql.y:6164 +//line sql.y:6176 { yyLOCAL = ShareModeLock } yyVAL.union = yyLOCAL - case 1226: + case 1228: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL *SelectInto -//line sql.y:6170 +//line sql.y:6182 { yyLOCAL = &SelectInto{Type: IntoOutfileS3, FileName: encodeSQLString(yyDollar[4].str), Charset: yyDollar[5].columnCharset, FormatOption: yyDollar[6].str, ExportOption: yyDollar[7].str, Manifest: yyDollar[8].str, Overwrite: yyDollar[9].str} } yyVAL.union = yyLOCAL - case 1227: + case 1229: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SelectInto -//line sql.y:6174 +//line sql.y:6186 { yyLOCAL = &SelectInto{Type: IntoDumpfile, FileName: encodeSQLString(yyDollar[3].str), Charset: ColumnCharset{}, FormatOption: "", ExportOption: "", Manifest: "", Overwrite: ""} } yyVAL.union = yyLOCAL - case 1228: + case 1230: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *SelectInto -//line sql.y:6178 +//line sql.y:6190 { yyLOCAL = &SelectInto{Type: IntoOutfile, FileName: encodeSQLString(yyDollar[3].str), Charset: yyDollar[4].columnCharset, FormatOption: "", ExportOption: yyDollar[5].str, Manifest: "", Overwrite: ""} } yyVAL.union = yyLOCAL - case 1229: + case 1231: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6183 +//line sql.y:6195 { yyVAL.str = "" } - case 1230: + case 1232: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6187 +//line sql.y:6199 { yyVAL.str = " format csv" + yyDollar[3].str } - case 1231: + case 1233: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6191 +//line sql.y:6203 { yyVAL.str = " format text" + yyDollar[3].str } - case 1232: + case 1234: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6196 +//line sql.y:6208 { yyVAL.str = "" } - case 1233: + case 1235: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6200 +//line sql.y:6212 { yyVAL.str = " header" } - case 1234: + case 1236: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6205 +//line sql.y:6217 { yyVAL.str = "" } - case 1235: + case 1237: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6209 +//line sql.y:6221 { yyVAL.str = " manifest on" } - case 1236: + case 1238: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6213 +//line sql.y:6225 { yyVAL.str = " manifest off" } - case 1237: + case 1239: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6218 +//line sql.y:6230 { yyVAL.str = "" } - case 1238: + case 1240: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6222 +//line sql.y:6234 { yyVAL.str = " overwrite on" } - case 1239: + case 1241: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6226 +//line sql.y:6238 { yyVAL.str = " overwrite off" } - case 1240: + case 1242: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6232 +//line sql.y:6244 { yyVAL.str = yyDollar[1].str + yyDollar[2].str } - case 1241: + case 1243: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6237 +//line sql.y:6249 { yyVAL.str = "" } - case 1242: + case 1244: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6241 +//line sql.y:6253 { yyVAL.str = " lines" + yyDollar[2].str } - case 1243: + case 1245: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6247 +//line sql.y:6259 { yyVAL.str = yyDollar[1].str } - case 1244: + case 1246: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6251 +//line sql.y:6263 { yyVAL.str = yyDollar[1].str + yyDollar[2].str } - case 1245: + case 1247: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6257 +//line sql.y:6269 { yyVAL.str = " starting by " + encodeSQLString(yyDollar[3].str) } - case 1246: + case 1248: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6261 +//line sql.y:6273 { yyVAL.str = " terminated by " + encodeSQLString(yyDollar[3].str) } - case 1247: + case 1249: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6266 +//line sql.y:6278 { yyVAL.str = "" } - case 1248: + case 1250: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6270 +//line sql.y:6282 { yyVAL.str = " " + yyDollar[1].str + yyDollar[2].str } - case 1249: + case 1251: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6276 +//line sql.y:6288 { yyVAL.str = yyDollar[1].str } - case 1250: + case 1252: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6280 +//line sql.y:6292 { yyVAL.str = yyDollar[1].str + yyDollar[2].str } - case 1251: + case 1253: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6286 +//line sql.y:6298 { yyVAL.str = " terminated by " + encodeSQLString(yyDollar[3].str) } - case 1252: + case 1254: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:6290 +//line sql.y:6302 { yyVAL.str = yyDollar[1].str + " enclosed by " + encodeSQLString(yyDollar[4].str) } - case 1253: + case 1255: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6294 +//line sql.y:6306 { yyVAL.str = " escaped by " + encodeSQLString(yyDollar[3].str) } - case 1254: + case 1256: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6299 +//line sql.y:6311 { yyVAL.str = "" } - case 1255: + case 1257: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6303 +//line sql.y:6315 { yyVAL.str = " optionally" } - case 1256: + case 1258: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Insert -//line sql.y:6316 +//line sql.y:6328 { yyLOCAL = &Insert{Rows: yyDollar[2].valuesUnion()} } yyVAL.union = yyLOCAL - case 1257: + case 1259: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Insert -//line sql.y:6320 +//line sql.y:6332 { yyLOCAL = &Insert{Rows: yyDollar[1].selStmtUnion()} } yyVAL.union = yyLOCAL - case 1258: + case 1260: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *Insert -//line sql.y:6324 +//line sql.y:6336 { yyLOCAL = &Insert{Columns: yyDollar[2].columnsUnion(), Rows: yyDollar[5].valuesUnion()} } yyVAL.union = yyLOCAL - case 1259: + case 1261: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Insert -//line sql.y:6328 +//line sql.y:6340 { yyLOCAL = &Insert{Rows: yyDollar[4].valuesUnion()} } yyVAL.union = yyLOCAL - case 1260: + case 1262: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Insert -//line sql.y:6332 +//line sql.y:6344 { yyLOCAL = &Insert{Columns: yyDollar[2].columnsUnion(), Rows: yyDollar[4].selStmtUnion()} } yyVAL.union = yyLOCAL - case 1261: + case 1263: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:6338 +//line sql.y:6350 { yyLOCAL = Columns{yyDollar[1].colIdent} } yyVAL.union = yyLOCAL - case 1262: + case 1264: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Columns -//line sql.y:6342 +//line sql.y:6354 { yyLOCAL = Columns{yyDollar[3].colIdent} } yyVAL.union = yyLOCAL - case 1263: + case 1265: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6346 +//line sql.y:6358 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].colIdent) } - case 1264: + case 1266: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:6350 +//line sql.y:6362 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[5].colIdent) } - case 1265: + case 1267: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL UpdateExprs -//line sql.y:6355 +//line sql.y:6367 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1266: + case 1268: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL UpdateExprs -//line sql.y:6359 +//line sql.y:6371 { yyLOCAL = yyDollar[5].updateExprsUnion() } yyVAL.union = yyLOCAL - case 1267: + case 1269: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Values -//line sql.y:6365 +//line sql.y:6377 { yyLOCAL = Values{yyDollar[1].valTupleUnion()} } yyVAL.union = yyLOCAL - case 1268: + case 1270: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6369 +//line sql.y:6381 { yySLICE := (*Values)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].valTupleUnion()) } - case 1269: + case 1271: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ValTuple -//line sql.y:6375 +//line sql.y:6387 { yyLOCAL = yyDollar[1].valTupleUnion() } yyVAL.union = yyLOCAL - case 1270: + case 1272: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ValTuple -//line sql.y:6379 +//line sql.y:6391 { yyLOCAL = ValTuple{} } yyVAL.union = yyLOCAL - case 1271: + case 1273: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ValTuple -//line sql.y:6385 +//line sql.y:6397 { yyLOCAL = ValTuple(yyDollar[2].exprsUnion()) } yyVAL.union = yyLOCAL - case 1272: + case 1274: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:6390 +//line sql.y:6402 { if len(yyDollar[1].valTupleUnion()) == 1 { yyLOCAL = yyDollar[1].valTupleUnion()[0] @@ -17611,329 +17594,329 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1273: + case 1275: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL UpdateExprs -//line sql.y:6400 +//line sql.y:6412 { yyLOCAL = UpdateExprs{yyDollar[1].updateExprUnion()} } yyVAL.union = yyLOCAL - case 1274: + case 1276: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6404 +//line sql.y:6416 { yySLICE := (*UpdateExprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].updateExprUnion()) } - case 1275: + case 1277: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *UpdateExpr -//line sql.y:6410 +//line sql.y:6422 { yyLOCAL = &UpdateExpr{Name: yyDollar[1].colNameUnion(), Expr: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1276: + case 1278: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SetExprs -//line sql.y:6416 +//line sql.y:6428 { yyLOCAL = SetExprs{yyDollar[1].setExprUnion()} } yyVAL.union = yyLOCAL - case 1277: + case 1279: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6420 +//line sql.y:6432 { yySLICE := (*SetExprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].setExprUnion()) } - case 1278: + case 1280: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:6426 +//line sql.y:6438 { yyLOCAL = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: NewStrLiteral("on")} } yyVAL.union = yyLOCAL - case 1279: + case 1281: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:6430 +//line sql.y:6442 { yyLOCAL = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: NewStrLiteral("off")} } yyVAL.union = yyLOCAL - case 1280: + case 1282: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:6434 +//line sql.y:6446 { yyLOCAL = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1281: + case 1283: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:6438 +//line sql.y:6450 { yyLOCAL = &SetExpr{Name: NewColIdent(string(yyDollar[1].str)), Scope: ImplicitScope, Expr: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 1282: + case 1284: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:6442 +//line sql.y:6454 { yyDollar[2].setExprUnion().Scope = yyDollar[1].scopeUnion() yyLOCAL = yyDollar[2].setExprUnion() } yyVAL.union = yyLOCAL - case 1284: + case 1286: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6450 +//line sql.y:6462 { yyVAL.str = "charset" } - case 1287: + case 1289: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:6460 +//line sql.y:6472 { yyLOCAL = NewStrLiteral(yyDollar[1].colIdent.String()) } yyVAL.union = yyLOCAL - case 1288: + case 1290: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:6464 +//line sql.y:6476 { yyLOCAL = NewStrLiteral(yyDollar[1].str) } yyVAL.union = yyLOCAL - case 1289: + case 1291: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:6468 +//line sql.y:6480 { yyLOCAL = &Default{} } yyVAL.union = yyLOCAL - case 1292: + case 1294: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:6477 +//line sql.y:6489 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1293: + case 1295: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:6479 +//line sql.y:6491 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1294: + case 1296: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:6482 +//line sql.y:6494 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1295: + case 1297: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:6484 +//line sql.y:6496 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1296: + case 1298: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:6487 +//line sql.y:6499 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1297: + case 1299: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL bool -//line sql.y:6489 +//line sql.y:6501 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1298: + case 1300: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Ignore -//line sql.y:6492 +//line sql.y:6504 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1299: + case 1301: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Ignore -//line sql.y:6494 +//line sql.y:6506 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1300: + case 1302: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6497 +//line sql.y:6509 { yyVAL.empty = struct{}{} } - case 1301: + case 1303: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6499 +//line sql.y:6511 { yyVAL.empty = struct{}{} } - case 1302: + case 1304: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6501 +//line sql.y:6513 { yyVAL.empty = struct{}{} } - case 1303: + case 1305: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:6505 +//line sql.y:6517 { yyLOCAL = &CallProc{Name: yyDollar[2].tableName, Params: yyDollar[4].exprsUnion()} } yyVAL.union = yyLOCAL - case 1304: + case 1306: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Exprs -//line sql.y:6510 +//line sql.y:6522 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1305: + case 1307: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Exprs -//line sql.y:6514 +//line sql.y:6526 { yyLOCAL = yyDollar[1].exprsUnion() } yyVAL.union = yyLOCAL - case 1306: + case 1308: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:6519 +//line sql.y:6531 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1307: + case 1309: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:6521 +//line sql.y:6533 { yyLOCAL = []*IndexOption{yyDollar[1].indexOptionUnion()} } yyVAL.union = yyLOCAL - case 1308: + case 1310: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:6525 +//line sql.y:6537 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), String: string(yyDollar[2].colIdent.String())} } yyVAL.union = yyLOCAL - case 1309: + case 1311: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6531 +//line sql.y:6543 { yyVAL.colIdent = yyDollar[1].colIdent } - case 1310: + case 1312: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6535 +//line sql.y:6547 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].str)) } - case 1312: + case 1314: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6542 +//line sql.y:6554 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].str)) } - case 1313: + case 1315: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6548 +//line sql.y:6560 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].colIdent.String())) } - case 1314: + case 1316: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6552 +//line sql.y:6564 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].str)) } - case 1315: + case 1317: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6558 +//line sql.y:6570 { yyVAL.tableIdent = NewTableIdent("") } - case 1316: + case 1318: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6562 +//line sql.y:6574 { yyVAL.tableIdent = yyDollar[1].tableIdent } - case 1318: + case 1320: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6569 +//line sql.y:6581 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].str)) } - case 1819: + case 1821: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7094 +//line sql.y:7106 { if incNesting(yylex) { yylex.Error("max nesting level reached") return 1 } } - case 1820: + case 1822: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7103 +//line sql.y:7115 { decNesting(yylex) } - case 1821: + case 1823: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7108 +//line sql.y:7120 { skipToEnd(yylex) } - case 1822: + case 1824: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7113 +//line sql.y:7125 { skipToEnd(yylex) } - case 1823: + case 1825: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7117 +//line sql.y:7129 { skipToEnd(yylex) } - case 1824: + case 1826: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7121 +//line sql.y:7133 { skipToEnd(yylex) } diff --git a/go/vt/sqlparser/sql.y b/go/vt/sqlparser/sql.y index 882903f1c2b..c4af6760e2d 100644 --- a/go/vt/sqlparser/sql.y +++ b/go/vt/sqlparser/sql.y @@ -157,6 +157,7 @@ func bindVariable(yylex yyLexer, bvar string) { setExprs SetExprs selectExprs SelectExprs tableOptions TableOptions + starExpr StarExpr colKeyOpt ColumnKeyOption referenceAction ReferenceAction @@ -524,6 +525,7 @@ func bindVariable(yylex yyLexer, bvar string) { %type underscore_charsets %type expire_opt %type ratio_opt +%type star_count %start any_command %% @@ -4518,6 +4520,12 @@ select_option: $$ = AllStr // These are not picked up by NewSelect, and so ALL will be dropped. But this is OK, since it's redundant anyway } +star_count: + '*' + { + $$ = StarExpr{} + } + select_expression_list: select_expression { @@ -5363,6 +5371,10 @@ UTC_DATE func_paren_opt { $$ = &CurTimeFuncExpr{Name:NewColIdent("current_time"), Fsp: $2} } +| COUNT openb star_count closeb + { + $$ = &CountStar{Star:$3} + } | COUNT openb distinct_opt expression closeb { $$ = &Count{Arg:$4, Distinct:$3} From d96a6dfde4d27309dade1f09834205ccf4b9d349 Mon Sep 17 00:00:00 2001 From: Rameez Sajwani Date: Thu, 19 May 2022 16:57:32 -0700 Subject: [PATCH 03/22] SQLParser:Refactoring Add avg struct Signed-off-by: Rameez Sajwani --- go/vt/sqlparser/ast.go | 6 + go/vt/sqlparser/ast_clone.go | 16 + go/vt/sqlparser/ast_equals.go | 30 + go/vt/sqlparser/ast_format.go | 8 + go/vt/sqlparser/ast_format_fast.go | 9 + go/vt/sqlparser/ast_rewrite.go | 33 + go/vt/sqlparser/ast_visit.go | 18 + go/vt/sqlparser/cached_size.go | 14 + go/vt/sqlparser/keywords.go | 1 + go/vt/sqlparser/parse_test.go | 4 + go/vt/sqlparser/sql.go | 13829 ++++++++++++++------------- go/vt/sqlparser/sql.y | 6 + 12 files changed, 7067 insertions(+), 6907 deletions(-) diff --git a/go/vt/sqlparser/ast.go b/go/vt/sqlparser/ast.go index 0ecbb2bea3e..0d6b648780e 100644 --- a/go/vt/sqlparser/ast.go +++ b/go/vt/sqlparser/ast.go @@ -2565,9 +2565,15 @@ type ( CountStar struct { Star StarExpr } + + Avg struct { + Arg Expr + Distinct bool + } ) // iExpr ensures that only expressions nodes can be assigned to a Expr +func (*Avg) iExpr() {} func (*CountStar) iExpr() {} func (*Count) iExpr() {} func (*AndExpr) iExpr() {} diff --git a/go/vt/sqlparser/ast_clone.go b/go/vt/sqlparser/ast_clone.go index b12e030db5d..b2890c49a89 100644 --- a/go/vt/sqlparser/ast_clone.go +++ b/go/vt/sqlparser/ast_clone.go @@ -61,6 +61,8 @@ func CloneSQLNode(in SQLNode) SQLNode { return in case *AutoIncSpec: return CloneRefOfAutoIncSpec(in) + case *Avg: + return CloneRefOfAvg(in) case *Begin: return CloneRefOfBegin(in) case *BetweenExpr: @@ -608,6 +610,16 @@ func CloneRefOfAutoIncSpec(n *AutoIncSpec) *AutoIncSpec { return &out } +// CloneRefOfAvg creates a deep clone of the input. +func CloneRefOfAvg(n *Avg) *Avg { + if n == nil { + return nil + } + out := *n + out.Arg = CloneExpr(n.Arg) + return &out +} + // CloneRefOfBegin creates a deep clone of the input. func CloneRefOfBegin(n *Begin) *Begin { if n == nil { @@ -2749,6 +2761,8 @@ func CloneExpr(in Expr) Expr { return CloneRefOfAndExpr(in) case Argument: return in + case *Avg: + return CloneRefOfAvg(in) case *BetweenExpr: return CloneRefOfBetweenExpr(in) case *BinaryExpr: @@ -2899,6 +2913,8 @@ func CloneJSONPathParam(in JSONPathParam) JSONPathParam { return CloneRefOfAndExpr(in) case Argument: return in + case *Avg: + return CloneRefOfAvg(in) case *BetweenExpr: return CloneRefOfBetweenExpr(in) case *BinaryExpr: diff --git a/go/vt/sqlparser/ast_equals.go b/go/vt/sqlparser/ast_equals.go index e8c802935cf..dec115f2a16 100644 --- a/go/vt/sqlparser/ast_equals.go +++ b/go/vt/sqlparser/ast_equals.go @@ -140,6 +140,12 @@ func EqualsSQLNode(inA, inB SQLNode) bool { return false } return EqualsRefOfAutoIncSpec(a, b) + case *Avg: + b, ok := inB.(*Avg) + if !ok { + return false + } + return EqualsRefOfAvg(a, b) case *Begin: b, ok := inB.(*Begin) if !ok { @@ -1439,6 +1445,18 @@ func EqualsRefOfAutoIncSpec(a, b *AutoIncSpec) bool { EqualsTableName(a.Sequence, b.Sequence) } +// EqualsRefOfAvg does deep equals between the two objects. +func EqualsRefOfAvg(a, b *Avg) bool { + if a == b { + return true + } + if a == nil || b == nil { + return false + } + return a.Distinct == b.Distinct && + EqualsExpr(a.Arg, b.Arg) +} + // EqualsRefOfBegin does deep equals between the two objects. func EqualsRefOfBegin(a, b *Begin) bool { if a == b { @@ -4219,6 +4237,12 @@ func EqualsExpr(inA, inB Expr) bool { return false } return a == b + case *Avg: + b, ok := inB.(*Avg) + if !ok { + return false + } + return EqualsRefOfAvg(a, b) case *BetweenExpr: b, ok := inB.(*BetweenExpr) if !ok { @@ -4627,6 +4651,12 @@ func EqualsJSONPathParam(inA, inB JSONPathParam) bool { return false } return a == b + case *Avg: + b, ok := inB.(*Avg) + if !ok { + return false + } + return EqualsRefOfAvg(a, b) case *BetweenExpr: b, ok := inB.(*BetweenExpr) if !ok { diff --git a/go/vt/sqlparser/ast_format.go b/go/vt/sqlparser/ast_format.go index 93e48a540cf..49d56fc58b0 100644 --- a/go/vt/sqlparser/ast_format.go +++ b/go/vt/sqlparser/ast_format.go @@ -2356,3 +2356,11 @@ func (node *CountStar) Format(buf *TrackedBuffer) { buf.astPrintf(node, "%v", node.Star) buf.WriteString(")") } + +func (node *Avg) Format(buf *TrackedBuffer) { + buf.WriteString("avg(") + if node.Distinct { + buf.literal(DistinctStr) + } + buf.astPrintf(node, "%v)", node.Arg) +} diff --git a/go/vt/sqlparser/ast_format_fast.go b/go/vt/sqlparser/ast_format_fast.go index 67ded6ba903..37b5bc8a911 100644 --- a/go/vt/sqlparser/ast_format_fast.go +++ b/go/vt/sqlparser/ast_format_fast.go @@ -3071,3 +3071,12 @@ func (node *CountStar) formatFast(buf *TrackedBuffer) { node.Star.formatFast(buf) buf.WriteString(")") } + +func (node *Avg) formatFast(buf *TrackedBuffer) { + buf.WriteString("avg(") + if node.Distinct { + buf.WriteString(DistinctStr) + } + buf.printExpr(node, node.Arg, true) + buf.WriteByte(')') +} diff --git a/go/vt/sqlparser/ast_rewrite.go b/go/vt/sqlparser/ast_rewrite.go index cf4cd284b60..cf6fa0b66d8 100644 --- a/go/vt/sqlparser/ast_rewrite.go +++ b/go/vt/sqlparser/ast_rewrite.go @@ -60,6 +60,8 @@ func (a *application) rewriteSQLNode(parent SQLNode, node SQLNode, replacer repl return a.rewriteArgument(parent, node, replacer) case *AutoIncSpec: return a.rewriteRefOfAutoIncSpec(parent, node, replacer) + case *Avg: + return a.rewriteRefOfAvg(parent, node, replacer) case *Begin: return a.rewriteRefOfBegin(parent, node, replacer) case *BetweenExpr: @@ -966,6 +968,33 @@ func (a *application) rewriteRefOfAutoIncSpec(parent SQLNode, node *AutoIncSpec, } return true } +func (a *application) rewriteRefOfAvg(parent SQLNode, node *Avg, replacer replacerFunc) bool { + if node == nil { + return true + } + if a.pre != nil { + a.cur.replacer = replacer + a.cur.parent = parent + a.cur.node = node + if !a.pre(&a.cur) { + return true + } + } + if !a.rewriteExpr(node, node.Arg, func(newNode, parent SQLNode) { + parent.(*Avg).Arg = newNode.(Expr) + }) { + return false + } + if a.post != nil { + a.cur.replacer = replacer + a.cur.parent = parent + a.cur.node = node + if !a.post(&a.cur) { + return false + } + } + return true +} func (a *application) rewriteRefOfBegin(parent SQLNode, node *Begin, replacer replacerFunc) bool { if node == nil { return true @@ -6821,6 +6850,8 @@ func (a *application) rewriteExpr(parent SQLNode, node Expr, replacer replacerFu return a.rewriteRefOfAndExpr(parent, node, replacer) case Argument: return a.rewriteArgument(parent, node, replacer) + case *Avg: + return a.rewriteRefOfAvg(parent, node, replacer) case *BetweenExpr: return a.rewriteRefOfBetweenExpr(parent, node, replacer) case *BinaryExpr: @@ -6967,6 +6998,8 @@ func (a *application) rewriteJSONPathParam(parent SQLNode, node JSONPathParam, r return a.rewriteRefOfAndExpr(parent, node, replacer) case Argument: return a.rewriteArgument(parent, node, replacer) + case *Avg: + return a.rewriteRefOfAvg(parent, node, replacer) case *BetweenExpr: return a.rewriteRefOfBetweenExpr(parent, node, replacer) case *BinaryExpr: diff --git a/go/vt/sqlparser/ast_visit.go b/go/vt/sqlparser/ast_visit.go index 017a447312e..101b53b5f8e 100644 --- a/go/vt/sqlparser/ast_visit.go +++ b/go/vt/sqlparser/ast_visit.go @@ -60,6 +60,8 @@ func VisitSQLNode(in SQLNode, f Visit) error { return VisitArgument(in, f) case *AutoIncSpec: return VisitRefOfAutoIncSpec(in, f) + case *Avg: + return VisitRefOfAvg(in, f) case *Begin: return VisitRefOfBegin(in, f) case *BetweenExpr: @@ -680,6 +682,18 @@ func VisitRefOfAutoIncSpec(in *AutoIncSpec, f Visit) error { } return nil } +func VisitRefOfAvg(in *Avg, f Visit) error { + if in == nil { + return nil + } + if cont, err := f(in); err != nil || !cont { + return err + } + if err := VisitExpr(in.Arg, f); err != nil { + return err + } + return nil +} func VisitRefOfBegin(in *Begin, f Visit) error { if in == nil { return nil @@ -3440,6 +3454,8 @@ func VisitExpr(in Expr, f Visit) error { return VisitRefOfAndExpr(in, f) case Argument: return VisitArgument(in, f) + case *Avg: + return VisitRefOfAvg(in, f) case *BetweenExpr: return VisitRefOfBetweenExpr(in, f) case *BinaryExpr: @@ -3586,6 +3602,8 @@ func VisitJSONPathParam(in JSONPathParam, f Visit) error { return VisitRefOfAndExpr(in, f) case Argument: return VisitArgument(in, f) + case *Avg: + return VisitRefOfAvg(in, f) case *BetweenExpr: return VisitRefOfBetweenExpr(in, f) case *BinaryExpr: diff --git a/go/vt/sqlparser/cached_size.go b/go/vt/sqlparser/cached_size.go index 8121ee5b720..7c845cd9e20 100644 --- a/go/vt/sqlparser/cached_size.go +++ b/go/vt/sqlparser/cached_size.go @@ -331,6 +331,20 @@ func (cached *AutoIncSpec) CachedSize(alloc bool) int64 { size += cached.Sequence.CachedSize(false) return size } +func (cached *Avg) CachedSize(alloc bool) int64 { + if cached == nil { + return int64(0) + } + size := int64(0) + if alloc { + size += int64(24) + } + // field Arg vitess.io/vitess/go/vt/sqlparser.Expr + if cc, ok := cached.Arg.(cachedObject); ok { + size += cc.CachedSize(true) + } + return size +} func (cached *BetweenExpr) CachedSize(alloc bool) int64 { if cached == nil { return int64(0) diff --git a/go/vt/sqlparser/keywords.go b/go/vt/sqlparser/keywords.go index 6f90a578a5e..f52167f9fb4 100644 --- a/go/vt/sqlparser/keywords.go +++ b/go/vt/sqlparser/keywords.go @@ -131,6 +131,7 @@ var keywords = []keyword{ {"asensitive", UNUSED}, {"auto_increment", AUTO_INCREMENT}, {"autoextend_size", AUTOEXTEND_SIZE}, + {"avg", AVG}, {"avg_row_length", AVG_ROW_LENGTH}, {"before", UNUSED}, {"begin", BEGIN}, diff --git a/go/vt/sqlparser/parse_test.go b/go/vt/sqlparser/parse_test.go index 0963d6bc88f..e7e5576bb3b 100644 --- a/go/vt/sqlparser/parse_test.go +++ b/go/vt/sqlparser/parse_test.go @@ -45,6 +45,10 @@ var ( {input: "select /* function with distinct */ count(a) from t"}, {input: "select /* function with distinct */ count(distinct a) from t"}, {input: "select /* function with distinct */ count(*) from t"}, + {input: "select avg(a) from products"}, + {input: "select avg(distinct(a)) from products"}, + {input: "select avg(a) 'Avg Price' from products"}, + {input: "select format(avg(distinct a), 2) from products"}, } validSQL = []struct { input string diff --git a/go/vt/sqlparser/sql.go b/go/vt/sqlparser/sql.go index b972b10466d..1bcee2bf293 100644 --- a/go/vt/sqlparser/sql.go +++ b/go/vt/sqlparser/sql.go @@ -491,151 +491,152 @@ const JSON_REPLACE = 57788 const JSON_SET = 57789 const JSON_UNQUOTE = 57790 const COUNT = 57791 -const MATCH = 57792 -const AGAINST = 57793 -const BOOLEAN = 57794 -const LANGUAGE = 57795 -const WITH = 57796 -const QUERY = 57797 -const EXPANSION = 57798 -const WITHOUT = 57799 -const VALIDATION = 57800 -const UNUSED = 57801 -const ARRAY = 57802 -const BYTE = 57803 -const CUME_DIST = 57804 -const DESCRIPTION = 57805 -const DENSE_RANK = 57806 -const EMPTY = 57807 -const EXCEPT = 57808 -const FIRST_VALUE = 57809 -const GROUPING = 57810 -const GROUPS = 57811 -const JSON_TABLE = 57812 -const LAG = 57813 -const LAST_VALUE = 57814 -const LATERAL = 57815 -const LEAD = 57816 -const NTH_VALUE = 57817 -const NTILE = 57818 -const OF = 57819 -const OVER = 57820 -const PERCENT_RANK = 57821 -const RANK = 57822 -const RECURSIVE = 57823 -const ROW_NUMBER = 57824 -const SYSTEM = 57825 -const WINDOW = 57826 -const ACTIVE = 57827 -const ADMIN = 57828 -const AUTOEXTEND_SIZE = 57829 -const BUCKETS = 57830 -const CLONE = 57831 -const COLUMN_FORMAT = 57832 -const COMPONENT = 57833 -const DEFINITION = 57834 -const ENFORCED = 57835 -const ENGINE_ATTRIBUTE = 57836 -const EXCLUDE = 57837 -const FOLLOWING = 57838 -const GEOMCOLLECTION = 57839 -const GET_MASTER_PUBLIC_KEY = 57840 -const HISTOGRAM = 57841 -const HISTORY = 57842 -const INACTIVE = 57843 -const INVISIBLE = 57844 -const LOCKED = 57845 -const MASTER_COMPRESSION_ALGORITHMS = 57846 -const MASTER_PUBLIC_KEY_PATH = 57847 -const MASTER_TLS_CIPHERSUITES = 57848 -const MASTER_ZSTD_COMPRESSION_LEVEL = 57849 -const NESTED = 57850 -const NETWORK_NAMESPACE = 57851 -const NOWAIT = 57852 -const NULLS = 57853 -const OJ = 57854 -const OLD = 57855 -const OPTIONAL = 57856 -const ORDINALITY = 57857 -const ORGANIZATION = 57858 -const OTHERS = 57859 -const PARTIAL = 57860 -const PATH = 57861 -const PERSIST = 57862 -const PERSIST_ONLY = 57863 -const PRECEDING = 57864 -const PRIVILEGE_CHECKS_USER = 57865 -const PROCESS = 57866 -const RANDOM = 57867 -const REFERENCE = 57868 -const REQUIRE_ROW_FORMAT = 57869 -const RESOURCE = 57870 -const RESPECT = 57871 -const RESTART = 57872 -const RETAIN = 57873 -const REUSE = 57874 -const ROLE = 57875 -const SECONDARY = 57876 -const SECONDARY_ENGINE = 57877 -const SECONDARY_ENGINE_ATTRIBUTE = 57878 -const SECONDARY_LOAD = 57879 -const SECONDARY_UNLOAD = 57880 -const SIMPLE = 57881 -const SKIP = 57882 -const SRID = 57883 -const THREAD_PRIORITY = 57884 -const TIES = 57885 -const UNBOUNDED = 57886 -const VCPU = 57887 -const VISIBLE = 57888 -const RETURNING = 57889 -const FORMAT = 57890 -const TREE = 57891 -const VITESS = 57892 -const TRADITIONAL = 57893 -const LOCAL = 57894 -const LOW_PRIORITY = 57895 -const NO_WRITE_TO_BINLOG = 57896 -const LOGS = 57897 -const ERROR = 57898 -const GENERAL = 57899 -const HOSTS = 57900 -const OPTIMIZER_COSTS = 57901 -const USER_RESOURCES = 57902 -const SLOW = 57903 -const CHANNEL = 57904 -const RELAY = 57905 -const EXPORT = 57906 -const AVG_ROW_LENGTH = 57907 -const CONNECTION = 57908 -const CHECKSUM = 57909 -const DELAY_KEY_WRITE = 57910 -const ENCRYPTION = 57911 -const ENGINE = 57912 -const INSERT_METHOD = 57913 -const MAX_ROWS = 57914 -const MIN_ROWS = 57915 -const PACK_KEYS = 57916 -const PASSWORD = 57917 -const FIXED = 57918 -const DYNAMIC = 57919 -const COMPRESSED = 57920 -const REDUNDANT = 57921 -const COMPACT = 57922 -const ROW_FORMAT = 57923 -const STATS_AUTO_RECALC = 57924 -const STATS_PERSISTENT = 57925 -const STATS_SAMPLE_PAGES = 57926 -const STORAGE = 57927 -const MEMORY = 57928 -const DISK = 57929 -const PARTITIONS = 57930 -const LINEAR = 57931 -const RANGE = 57932 -const LIST = 57933 -const SUBPARTITION = 57934 -const SUBPARTITIONS = 57935 -const HASH = 57936 +const AVG = 57792 +const MATCH = 57793 +const AGAINST = 57794 +const BOOLEAN = 57795 +const LANGUAGE = 57796 +const WITH = 57797 +const QUERY = 57798 +const EXPANSION = 57799 +const WITHOUT = 57800 +const VALIDATION = 57801 +const UNUSED = 57802 +const ARRAY = 57803 +const BYTE = 57804 +const CUME_DIST = 57805 +const DESCRIPTION = 57806 +const DENSE_RANK = 57807 +const EMPTY = 57808 +const EXCEPT = 57809 +const FIRST_VALUE = 57810 +const GROUPING = 57811 +const GROUPS = 57812 +const JSON_TABLE = 57813 +const LAG = 57814 +const LAST_VALUE = 57815 +const LATERAL = 57816 +const LEAD = 57817 +const NTH_VALUE = 57818 +const NTILE = 57819 +const OF = 57820 +const OVER = 57821 +const PERCENT_RANK = 57822 +const RANK = 57823 +const RECURSIVE = 57824 +const ROW_NUMBER = 57825 +const SYSTEM = 57826 +const WINDOW = 57827 +const ACTIVE = 57828 +const ADMIN = 57829 +const AUTOEXTEND_SIZE = 57830 +const BUCKETS = 57831 +const CLONE = 57832 +const COLUMN_FORMAT = 57833 +const COMPONENT = 57834 +const DEFINITION = 57835 +const ENFORCED = 57836 +const ENGINE_ATTRIBUTE = 57837 +const EXCLUDE = 57838 +const FOLLOWING = 57839 +const GEOMCOLLECTION = 57840 +const GET_MASTER_PUBLIC_KEY = 57841 +const HISTOGRAM = 57842 +const HISTORY = 57843 +const INACTIVE = 57844 +const INVISIBLE = 57845 +const LOCKED = 57846 +const MASTER_COMPRESSION_ALGORITHMS = 57847 +const MASTER_PUBLIC_KEY_PATH = 57848 +const MASTER_TLS_CIPHERSUITES = 57849 +const MASTER_ZSTD_COMPRESSION_LEVEL = 57850 +const NESTED = 57851 +const NETWORK_NAMESPACE = 57852 +const NOWAIT = 57853 +const NULLS = 57854 +const OJ = 57855 +const OLD = 57856 +const OPTIONAL = 57857 +const ORDINALITY = 57858 +const ORGANIZATION = 57859 +const OTHERS = 57860 +const PARTIAL = 57861 +const PATH = 57862 +const PERSIST = 57863 +const PERSIST_ONLY = 57864 +const PRECEDING = 57865 +const PRIVILEGE_CHECKS_USER = 57866 +const PROCESS = 57867 +const RANDOM = 57868 +const REFERENCE = 57869 +const REQUIRE_ROW_FORMAT = 57870 +const RESOURCE = 57871 +const RESPECT = 57872 +const RESTART = 57873 +const RETAIN = 57874 +const REUSE = 57875 +const ROLE = 57876 +const SECONDARY = 57877 +const SECONDARY_ENGINE = 57878 +const SECONDARY_ENGINE_ATTRIBUTE = 57879 +const SECONDARY_LOAD = 57880 +const SECONDARY_UNLOAD = 57881 +const SIMPLE = 57882 +const SKIP = 57883 +const SRID = 57884 +const THREAD_PRIORITY = 57885 +const TIES = 57886 +const UNBOUNDED = 57887 +const VCPU = 57888 +const VISIBLE = 57889 +const RETURNING = 57890 +const FORMAT = 57891 +const TREE = 57892 +const VITESS = 57893 +const TRADITIONAL = 57894 +const LOCAL = 57895 +const LOW_PRIORITY = 57896 +const NO_WRITE_TO_BINLOG = 57897 +const LOGS = 57898 +const ERROR = 57899 +const GENERAL = 57900 +const HOSTS = 57901 +const OPTIMIZER_COSTS = 57902 +const USER_RESOURCES = 57903 +const SLOW = 57904 +const CHANNEL = 57905 +const RELAY = 57906 +const EXPORT = 57907 +const AVG_ROW_LENGTH = 57908 +const CONNECTION = 57909 +const CHECKSUM = 57910 +const DELAY_KEY_WRITE = 57911 +const ENCRYPTION = 57912 +const ENGINE = 57913 +const INSERT_METHOD = 57914 +const MAX_ROWS = 57915 +const MIN_ROWS = 57916 +const PACK_KEYS = 57917 +const PASSWORD = 57918 +const FIXED = 57919 +const DYNAMIC = 57920 +const COMPRESSED = 57921 +const REDUNDANT = 57922 +const COMPACT = 57923 +const ROW_FORMAT = 57924 +const STATS_AUTO_RECALC = 57925 +const STATS_PERSISTENT = 57926 +const STATS_SAMPLE_PAGES = 57927 +const STORAGE = 57928 +const MEMORY = 57929 +const DISK = 57930 +const PARTITIONS = 57931 +const LINEAR = 57932 +const RANGE = 57933 +const LIST = 57934 +const SUBPARTITION = 57935 +const SUBPARTITIONS = 57936 +const HASH = 57937 var yyToknames = [...]string{ "$end", @@ -1104,6 +1105,7 @@ var yyToknames = [...]string{ "JSON_SET", "JSON_UNQUOTE", "COUNT", + "AVG", "MATCH", "AGAINST", "BOOLEAN", @@ -1269,7 +1271,7 @@ var yyExca = [...]int{ -2, 0, -1, 47, 1, 145, - 612, 145, + 613, 145, -2, 153, -1, 48, 132, 153, @@ -1287,11 +1289,11 @@ var yyExca = [...]int{ 235, 766, -2, 764, -1, 114, - 232, 1294, + 232, 1295, -2, 119, -1, 116, 1, 146, - 612, 146, + 613, 146, -2, 153, -1, 127, 133, 384, @@ -1302,3203 +1304,3444 @@ var yyExca = [...]int{ 172, 153, 333, 153, -2, 507, - -1, 697, - 217, 1315, - -2, 1311, - -1, 698, + -1, 699, 217, 1316, -2, 1312, - -1, 773, + -1, 700, + 217, 1317, + -2, 1313, + -1, 775, 59, 834, -2, 849, - -1, 810, - 148, 1724, + -1, 812, + 148, 1726, -2, 112, - -1, 811, - 148, 1565, + -1, 813, + 148, 1567, -2, 113, - -1, 817, - 148, 1649, - -2, 1288, - -1, 965, - 148, 1492, - -2, 1285, - -1, 1006, + -1, 819, + 148, 1651, + -2, 1289, + -1, 967, + 148, 1494, + -2, 1286, + -1, 1008, 243, 41, 248, 41, -2, 395, - -1, 1090, + -1, 1092, 1, 554, - 612, 554, + 613, 554, -2, 153, - -1, 1328, + -1, 1331, 59, 835, -2, 854, - -1, 1329, + -1, 1332, 59, 836, -2, 855, - -1, 1382, + -1, 1385, 132, 153, 172, 153, 333, 153, -2, 434, - -1, 1461, + -1, 1464, 133, 384, 238, 384, -2, 487, - -1, 1470, + -1, 1473, 243, 42, 248, 42, -2, 396, - -1, 1782, - 217, 1320, - -2, 1314, - -1, 1866, + -1, 1786, + 217, 1321, + -2, 1315, + -1, 1870, 132, 153, 172, 153, 333, 153, -2, 435, - -1, 1873, + -1, 1877, 25, 174, -2, 176, - -1, 2124, + -1, 2129, 87, 39, -2, 892, - -1, 2181, + -1, 2186, 77, 94, 87, 94, -2, 912, - -1, 2249, - 587, 666, + -1, 2254, + 588, 666, -2, 640, - -1, 2389, - 49, 1256, - -2, 1250, - -1, 2611, + -1, 2395, + 49, 1257, + -2, 1251, + -1, 2617, 87, 39, -2, 893, - -1, 2649, + -1, 2655, 7, 53, 18, 53, 20, 53, 88, 53, -2, 884, - -1, 2930, - 587, 666, + -1, 2937, + 588, 666, -2, 654, - -1, 2988, - 22, 1651, - 32, 1651, - 173, 1651, - 255, 1651, - 313, 1651, - 314, 1651, - 315, 1651, - 316, 1651, - 317, 1651, - 318, 1651, - 319, 1651, - 321, 1651, - 322, 1651, - 323, 1651, - 324, 1651, - 325, 1651, - 326, 1651, - 327, 1651, - 328, 1651, - 329, 1651, - 330, 1651, - 331, 1651, - 332, 1651, - 334, 1651, - 336, 1651, - 337, 1651, - 338, 1651, - 339, 1651, - 340, 1651, - 341, 1651, - 342, 1651, - 343, 1651, - 344, 1651, - 347, 1651, - 348, 1651, - 349, 1651, - 350, 1651, - 351, 1651, - 352, 1651, - 353, 1651, - 354, 1651, - 355, 1651, - 469, 1651, + -1, 2995, + 22, 1653, + 32, 1653, + 173, 1653, + 255, 1653, + 313, 1653, + 314, 1653, + 315, 1653, + 316, 1653, + 317, 1653, + 318, 1653, + 319, 1653, + 321, 1653, + 322, 1653, + 323, 1653, + 324, 1653, + 325, 1653, + 326, 1653, + 327, 1653, + 328, 1653, + 329, 1653, + 330, 1653, + 331, 1653, + 332, 1653, + 334, 1653, + 336, 1653, + 337, 1653, + 338, 1653, + 339, 1653, + 340, 1653, + 341, 1653, + 342, 1653, + 343, 1653, + 344, 1653, + 347, 1653, + 348, 1653, + 349, 1653, + 350, 1653, + 351, 1653, + 352, 1653, + 353, 1653, + 354, 1653, + 355, 1653, + 470, 1653, -2, 598, } const yyPrivate = 57344 -const yyLast = 43730 +const yyLast = 43746 var yyAct = [...]int{ - 697, 2753, 3042, 2348, 2752, 3018, 2751, 3050, 2911, 3019, - 1863, 2726, 1385, 2986, 1816, 2538, 2970, 2078, 2444, 2451, - 1153, 2501, 2492, 1798, 706, 1796, 2864, 3, 788, 2506, - 2503, 2502, 2500, 2505, 2504, 691, 766, 699, 2713, 690, - 37, 2402, 2405, 2766, 2887, 2112, 2459, 2521, 1933, 2309, - 2520, 186, 1343, 614, 186, 96, 579, 186, 2406, 2347, - 2614, 2403, 594, 611, 186, 2152, 1836, 700, 618, 2346, - 1820, 688, 186, 1307, 2771, 2620, 689, 640, 2523, 2400, - 2640, 2175, 2390, 2139, 2606, 1102, 1439, 186, 610, 1896, - 2292, 2543, 2214, 2246, 1921, 1901, 612, 2215, 1964, 2216, - 155, 789, 815, 968, 2164, 1852, 1841, 36, 2145, 594, - 2131, 1840, 594, 186, 594, 38, 2114, 770, 1752, 774, - 1776, 1751, 1689, 1920, 1330, 1637, 141, 2284, 1942, 812, - 1014, 1980, 768, 1468, 1828, 1486, 1679, 791, 1903, 95, - 2208, 606, 1001, 996, 1374, 91, 2183, 1843, 1352, 1310, - 1238, 1701, 1656, 623, 1586, 1174, 1582, 975, 972, 1475, - 1002, 1007, 1004, 1918, 1566, 976, 1003, 1371, 1821, 1373, - 1892, 1357, 780, 1697, 1748, 1151, 1591, 1434, 159, 1145, - 1460, 124, 125, 98, 802, 778, 1086, 775, 1245, 85, - 1131, 102, 97, 76, 1789, 776, 119, 117, 118, 1241, - 2920, 1779, 601, 2239, 89, 3043, 1935, 1936, 1937, 1935, - 2714, 2489, 2268, 2267, 1978, 2237, 583, 2706, 2300, 2301, - 777, 77, 8, 7, 550, 796, 120, 801, 1551, 126, - 6, 90, 104, 105, 2944, 108, 782, 1644, 114, 2511, - 2756, 183, 2511, 2943, 545, 1643, 1175, 1043, 1642, 1641, - 2669, 1640, 2508, 1639, 969, 1622, 994, 1631, 2110, 1018, - 2756, 188, 189, 190, 762, 763, 764, 765, 602, 767, - 773, 769, 1793, 1794, 3007, 2386, 809, 816, 604, 2594, - 605, 87, 1968, 2141, 980, 1053, 783, 790, 2259, 993, - 3022, 1017, 985, 3059, 3017, 120, 3033, 2509, 804, 805, - 2509, 1966, 2262, 1649, 2860, 2859, 2719, 1042, 78, 2720, - 1044, 1047, 1048, 992, 991, 990, 1041, 1337, 583, 2515, - 3058, 2980, 2515, 78, 3046, 2755, 1967, 2939, 1059, 2022, - 3031, 1038, 2155, 78, 2944, 1175, 2727, 2971, 1961, 2979, - 2308, 2991, 2576, 1449, 2276, 2755, 78, 2938, 2275, 80, - 2192, 182, 1185, 2191, 1858, 1859, 2193, 2156, 2111, 1824, - 2441, 2442, 989, 120, 1095, 1096, 1375, 2440, 1376, 2299, - 2019, 1857, 2784, 2912, 1121, 121, 1148, 143, 1126, 1127, - 760, 759, 1109, 2204, 2996, 1089, 87, 1110, 164, 1912, - 1876, 1875, 2240, 2617, 2020, 1108, 1098, 1107, 2994, 1109, - 1122, 87, 1115, 2336, 1110, 2567, 2540, 3000, 3001, 583, - 2565, 87, 2148, 2149, 1906, 2461, 2462, 584, 583, 153, - 987, 592, 2995, 583, 87, 142, 1630, 596, 2512, 590, - 2544, 2512, 2285, 1314, 2247, 1943, 2533, 1138, 2271, 1140, - 1541, 1185, 1981, 1795, 2534, 1998, 161, 1999, 162, 2000, - 1824, 1181, 3045, 3023, 1173, 984, 1567, 1142, 986, 1130, - 1986, 1124, 1125, 1060, 130, 131, 152, 151, 181, 2708, - 1091, 2287, 2707, 1128, 3024, 1040, 1085, 1137, 1139, 1632, - 1633, 1634, 1147, 1129, 1542, 1123, 1543, 1116, 1056, 1057, - 1058, 2541, 1061, 1062, 1063, 1064, 1572, 182, 1067, 1068, - 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, - 1079, 1080, 1081, 1082, 1083, 1987, 2001, 1066, 1065, 584, - 2460, 121, 1992, 1989, 1991, 1990, 1993, 1994, 1985, 2844, - 2542, 2704, 2463, 1983, 164, 989, 1084, 1027, 988, 87, - 1181, 1946, 1822, 1823, 997, 186, 1837, 186, 998, 998, - 186, 1025, 1036, 989, 1905, 981, 1035, 1034, 1033, 1317, - 2337, 3008, 983, 982, 1453, 147, 128, 154, 135, 127, - 1984, 148, 149, 1032, 1135, 3060, 1031, 165, 1136, 1030, - 594, 1155, 594, 594, 1029, 1024, 171, 136, 1141, 1037, - 1219, 1219, 161, 2463, 162, 2020, 3029, 594, 594, 973, - 1088, 139, 137, 132, 133, 134, 138, 1474, 2291, 1009, - 584, 987, 1134, 129, 181, 973, 1583, 973, 1919, 584, - 1010, 971, 140, 3054, 584, 1046, 1167, 2115, 2117, 803, - 2288, 1009, 1972, 1822, 1823, 1045, 1055, 1105, 37, 1111, - 1112, 1113, 1114, 2703, 1579, 1180, 1177, 1178, 1179, 1184, - 1186, 1183, 1119, 1182, 2257, 1161, 1049, 2482, 2270, 1447, - 1176, 1207, 1149, 1150, 2206, 1446, 1445, 1016, 2273, 1580, - 995, 1965, 2241, 1443, 2304, 2034, 549, 2919, 2618, 544, - 2238, 1028, 2869, 1208, 1209, 1210, 1211, 1212, 1213, 1214, - 1216, 1215, 1217, 1218, 2283, 1026, 1087, 2282, 1963, 2908, - 1573, 1220, 1221, 156, 1574, 1575, 2656, 1571, 2636, 2188, - 2151, 988, 1473, 2102, 1788, 1361, 1222, 1223, 1224, 1225, - 2925, 1286, 1100, 165, 2146, 116, 1230, 1864, 1233, 988, - 1219, 1218, 171, 1698, 1180, 1177, 1178, 1179, 1184, 1186, - 1183, 2439, 1182, 2937, 1156, 1016, 785, 1699, 1305, 1176, - 1146, 2310, 2933, 1016, 2294, 1039, 2699, 1157, 1158, 2293, - 186, 1143, 1104, 2630, 594, 594, 1015, 2294, 1132, 1982, - 1592, 86, 2293, 111, 81, 1300, 2261, 1576, 2021, 1226, - 186, 150, 2754, 1909, 2513, 2514, 86, 2513, 2514, 2116, - 1553, 1552, 1554, 1555, 1556, 1318, 86, 2517, 1377, 594, - 2517, 2999, 2754, 186, 1171, 2328, 1321, 1320, 594, 86, - 1016, 1324, 2667, 2668, 594, 144, 1306, 770, 145, 77, - 2260, 1170, 1168, 1910, 1702, 768, 1323, 1190, 812, 1169, - 1094, 1908, 1247, 2312, 2230, 2780, 1106, 3052, 1097, 1243, - 3053, 1244, 3051, 112, 1015, 2998, 1054, 2674, 157, 156, - 1118, 1568, 1015, 1569, 2673, 169, 1570, 1950, 1009, 1012, - 1013, 1120, 973, 1483, 1482, 1911, 1006, 1010, 1191, 1702, - 1016, 2048, 1322, 1710, 1472, 1907, 95, 1189, 1190, 1306, - 3025, 1292, 1293, 1294, 1295, 1296, 1960, 1005, 1962, 1211, - 1212, 1213, 1214, 1216, 1215, 1217, 1218, 177, 1958, 2322, - 2321, 2320, 2314, 1103, 2318, 1027, 2313, 1311, 2311, 1015, - 1090, 3061, 1133, 2316, 1593, 1009, 1012, 1013, 1025, 973, - 98, 1955, 2315, 1006, 1010, 2657, 158, 163, 160, 166, - 167, 168, 170, 172, 173, 174, 175, 2949, 2901, 2317, - 2319, 1955, 176, 178, 179, 180, 1016, 1209, 1210, 1211, - 1212, 1213, 1214, 1216, 1215, 1217, 1218, 1319, 1959, 87, - 1372, 1308, 767, 1191, 1325, 1342, 1362, 3056, 186, 1015, - 1339, 769, 1435, 1659, 1019, 1009, 816, 1661, 1957, 1021, - 2950, 2902, 1444, 1022, 1020, 2026, 2027, 2028, 1191, 1367, - 1368, 1662, 1663, 1660, 157, 2870, 3062, 1191, 2044, 2852, - 1188, 169, 1189, 1190, 1023, 594, 2851, 1470, 1213, 1214, - 1216, 1215, 1217, 1218, 2842, 1479, 1651, 1653, 1654, 1481, - 1829, 1830, 1484, 1485, 594, 594, 2733, 594, 2734, 594, - 594, 1337, 594, 594, 594, 594, 594, 594, 1706, 1561, - 1652, 2744, 1707, 177, 1191, 1015, 1516, 1517, 2743, 594, - 1019, 1009, 2681, 186, 1522, 1021, 711, 712, 713, 1022, - 1020, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1193, 807, - 186, 2043, 158, 163, 160, 166, 167, 168, 170, 172, - 173, 174, 175, 594, 2680, 186, 1480, 2670, 176, 178, - 179, 180, 2490, 1536, 1559, 1188, 1581, 1189, 1190, 594, - 2478, 186, 2212, 1560, 2330, 1191, 2211, 1915, 1466, 1562, - 188, 189, 190, 1515, 2664, 1546, 1518, 186, 1545, 1548, - 1188, 1191, 1189, 1190, 186, 1544, 2059, 1459, 3027, 1188, - 1191, 1189, 1190, 186, 186, 186, 186, 186, 186, 186, - 186, 186, 594, 1476, 1476, 188, 189, 190, 1478, 2195, - 1534, 2037, 1519, 1528, 1525, 1524, 594, 594, 1558, 1523, - 1488, 1495, 1489, 1207, 1491, 1493, 1442, 3026, 1497, 1499, - 1501, 1503, 1505, 1477, 186, 2928, 1188, 1448, 1189, 1190, - 1456, 1457, 1455, 1547, 1469, 1208, 1209, 1210, 1211, 1212, - 1213, 1214, 1216, 1215, 1217, 1218, 188, 189, 190, 1346, - 1931, 1596, 1191, 1588, 2880, 1337, 2927, 2905, 1600, 1191, - 1602, 1603, 1604, 1605, 1191, 2904, 2903, 1609, 1520, 1191, - 594, 2447, 2847, 2832, 1683, 1687, 1191, 2573, 2831, 1621, - 2779, 1350, 2777, 1692, 594, 2740, 2067, 1188, 1657, 1189, - 1190, 2678, 2663, 2545, 1191, 1686, 1686, 2481, 2480, 1347, - 594, 594, 2221, 1188, 1584, 1189, 1190, 2209, 1684, 1684, - 1302, 1976, 1188, 1975, 1189, 1190, 2448, 1819, 1664, 120, - 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675, - 1676, 1677, 1678, 1655, 1801, 2571, 1337, 992, 991, 990, - 1623, 2537, 2450, 1337, 1598, 1589, 1557, 1349, 1594, 1595, - 1191, 1549, 1665, 2916, 1539, 1535, 2445, 1780, 1337, 1703, - 1337, 1531, 1599, 186, 188, 189, 190, 1619, 594, 1606, - 1607, 1608, 1620, 2461, 2462, 1450, 1451, 1452, 1337, 1530, - 2446, 1627, 1628, 1160, 1188, 1749, 1189, 1190, 1529, 1348, - 1144, 1188, 186, 1189, 1190, 594, 1188, 2877, 1189, 1190, - 1806, 1188, 1807, 1189, 1190, 186, 1658, 2876, 1188, 594, - 1189, 1190, 2452, 2836, 186, 2835, 186, 1191, 186, 186, - 594, 2137, 3044, 594, 1191, 2725, 1188, 2401, 1189, 1190, - 3013, 1337, 1780, 2079, 594, 2137, 2977, 1749, 2629, 1782, - 812, 1526, 1527, 812, 2137, 2957, 1873, 1532, 1533, 188, - 189, 190, 100, 1929, 188, 189, 190, 95, 1927, 1784, - 1785, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1216, 1215, - 1217, 1218, 1709, 2137, 2953, 2248, 95, 94, 2460, 1688, - 2226, 101, 1188, 2153, 1189, 1190, 1694, 1695, 2153, 594, - 2463, 1781, 100, 101, 99, 1872, 1922, 1923, 1924, 1839, - 2651, 1926, 1928, 1930, 100, 1812, 99, 2087, 1337, 2945, - 1337, 2137, 2921, 2629, 1782, 94, 594, 1882, 1883, 1884, - 1885, 2035, 594, 1479, 2717, 2918, 1479, 1877, 1479, 1878, - 1879, 1880, 1881, 1867, 1954, 782, 1337, 1868, 1800, 1783, - 2590, 1337, 1786, 1787, 1850, 1888, 1889, 1890, 1891, 1188, - 92, 1189, 1190, 2855, 1337, 2161, 1188, 94, 1189, 1190, - 2629, 93, 1337, 2631, 1814, 1944, 1834, 2137, 2843, 594, - 1187, 594, 2932, 1898, 1337, 92, 1871, 594, 594, 1811, - 1832, 1207, 1904, 2303, 2137, 1191, 93, 1854, 816, 1191, - 1855, 816, 2161, 1191, 1870, 2590, 698, 2717, 1337, 2449, - 1869, 2137, 2715, 1208, 1209, 1210, 1211, 1212, 1213, 1214, - 1216, 1215, 1217, 1218, 2469, 186, 1337, 2434, 1191, 1941, - 1955, 1337, 186, 1191, 1914, 2634, 1337, 2020, 1191, 186, - 186, 2374, 1191, 186, 1856, 186, 1187, 1337, 2072, 1337, - 3004, 1337, 186, 1899, 2035, 1018, 2072, 187, 1191, 186, - 187, 1894, 1895, 187, 1913, 1476, 1949, 1917, 595, 1952, - 187, 1953, 1925, 1207, 2056, 2033, 2039, 2055, 187, 2840, - 2471, 2470, 1969, 2700, 2160, 186, 2038, 1017, 1899, 1948, - 594, 1947, 1955, 187, 1951, 1208, 1209, 1210, 1211, 1212, - 1213, 1214, 1216, 1215, 1217, 1218, 2467, 2468, 1970, 2467, - 2466, 2592, 1191, 2161, 1337, 595, 2588, 1971, 595, 187, - 595, 2579, 1191, 1973, 1974, 2578, 2184, 1188, 2184, 1189, - 1190, 1188, 1734, 1189, 1190, 1188, 1938, 1189, 1190, 2161, - 2011, 2012, 2213, 2035, 1337, 2014, 2020, 2269, 1438, 2251, - 1979, 2244, 2245, 1956, 2015, 1827, 1657, 2453, 1191, 1341, - 1188, 2457, 1189, 1190, 1791, 1188, 1635, 1189, 1190, 2456, - 1188, 1578, 1189, 1190, 1188, 1369, 1189, 1190, 1000, 1191, - 2137, 2136, 1438, 1437, 1191, 2030, 772, 2032, 999, 2185, - 1188, 2185, 1189, 1190, 1191, 2096, 2960, 2004, 1191, 2187, - 2493, 2020, 2133, 2458, 2218, 2095, 1191, 87, 2454, 1383, - 1382, 1955, 1191, 2455, 2866, 1344, 2833, 94, 2791, 2031, - 1726, 1715, 1716, 1717, 1718, 1728, 1719, 1720, 1721, 1733, - 1729, 1722, 1723, 1730, 1731, 1732, 1724, 1725, 1727, 2698, - 1191, 2094, 2695, 2676, 1188, 2682, 1189, 1190, 1191, 2582, - 1511, 2018, 186, 2581, 1188, 1440, 1189, 1190, 1897, 1191, - 186, 2539, 2093, 2535, 87, 594, 2121, 2092, 2495, 2108, - 1191, 594, 2491, 2029, 1658, 2035, 1089, 2091, 2252, 2125, - 2867, 2090, 594, 2119, 1893, 1887, 1191, 1686, 1912, 2089, - 1188, 1886, 1189, 1190, 1804, 2088, 2683, 2684, 2685, 1564, - 1684, 1512, 1513, 1514, 1471, 1625, 186, 1467, 1436, 113, - 186, 1188, 2047, 1189, 1190, 2686, 1188, 3039, 1189, 1190, - 2217, 2641, 2642, 2082, 2157, 2194, 1188, 3037, 1189, 1190, - 1188, 2081, 1189, 1190, 3020, 2942, 37, 2885, 1188, 2644, - 1189, 1190, 2080, 1191, 1188, 2177, 1189, 1190, 1191, 2487, - 2138, 1782, 2065, 2077, 2486, 1191, 2485, 2401, 2647, 2045, - 1191, 2231, 2687, 2688, 2689, 2005, 2423, 1626, 2218, 2076, - 2646, 2424, 1188, 594, 1189, 1190, 1507, 2420, 2419, 186, - 1188, 1345, 1189, 1190, 2421, 2425, 186, 2170, 2171, 2422, - 3010, 1188, 2147, 1189, 1190, 2978, 1818, 2134, 2635, 1311, - 594, 2109, 1188, 1781, 1189, 1190, 1810, 594, 2900, 2205, - 2207, 1479, 1479, 2176, 2243, 2379, 594, 2130, 1188, 2378, - 1189, 1190, 2622, 1508, 1509, 1510, 2075, 2198, 2772, 2135, - 2621, 2073, 2770, 2266, 2625, 2182, 2150, 2388, 2069, 2099, - 2100, 1577, 2265, 2068, 186, 186, 186, 186, 186, 2166, - 2169, 2170, 2171, 2167, 786, 2168, 2172, 1904, 2186, 2641, - 2642, 2189, 787, 758, 2465, 186, 186, 2391, 2393, 2196, - 2761, 2199, 2760, 2202, 2222, 1188, 2394, 1189, 1190, 1698, - 1188, 186, 1189, 1190, 1051, 1050, 92, 1188, 2210, 1189, - 1190, 92, 1188, 1699, 1189, 1190, 2553, 93, 94, 2217, - 594, 2219, 93, 2297, 1159, 2258, 2232, 2233, 2234, 2228, - 101, 2227, 2166, 2169, 2170, 2171, 2167, 121, 2168, 2172, - 2759, 100, 2627, 99, 2264, 1459, 1829, 1830, 3048, 94, - 2483, 681, 94, 2008, 2917, 2862, 2464, 2174, 1815, 794, - 795, 2377, 2327, 1997, 2253, 2254, 1996, 1995, 2323, 2376, - 2607, 187, 2024, 187, 99, 101, 187, 2892, 2263, 2891, - 2778, 768, 1686, 594, 1686, 2776, 100, 1686, 99, 2775, - 2768, 2696, 1686, 2626, 2624, 1684, 2496, 1684, 1939, 594, - 1684, 1454, 2305, 2368, 2286, 1684, 595, 793, 595, 595, - 2289, 2306, 100, 593, 186, 2767, 2615, 2153, 594, 101, - 3041, 3040, 2354, 595, 595, 2133, 2349, 2355, 2349, 2351, - 100, 2349, 594, 2338, 2057, 1802, 2349, 1363, 2307, 594, - 594, 1354, 186, 186, 186, 186, 186, 2361, 2362, 2363, - 2364, 3040, 2368, 3041, 186, 2906, 2324, 106, 107, 186, - 814, 2398, 186, 970, 186, 977, 2662, 186, 186, 186, - 784, 2342, 2407, 103, 1335, 1331, 88, 2381, 774, 1, - 1708, 2295, 2413, 2666, 2296, 2993, 562, 2433, 1792, 1332, - 2356, 2357, 2358, 2359, 2360, 2382, 1309, 3021, 1324, 2177, - 2989, 2990, 2367, 2479, 2404, 1550, 1540, 2728, 1750, 2404, - 2369, 2863, 186, 2499, 1808, 1809, 1334, 2220, 1333, 1945, - 2694, 2380, 2223, 2224, 1902, 594, 2370, 2371, 2372, 1008, - 146, 2395, 2396, 594, 2373, 1865, 1866, 2973, 186, 2383, - 110, 966, 109, 1335, 1331, 2435, 775, 2519, 2436, 2415, - 2416, 186, 2418, 2414, 776, 1011, 2417, 2426, 1332, 95, - 1117, 1940, 2718, 2203, 1874, 1389, 2430, 2431, 1387, 186, - 1388, 1588, 186, 2437, 1386, 2412, 1391, 1390, 2443, 2058, - 2593, 1629, 2554, 1328, 1329, 1334, 187, 1333, 591, 2173, - 595, 595, 2473, 184, 2475, 2474, 2498, 1378, 1355, 1052, - 552, 2472, 1977, 558, 1231, 1624, 187, 2375, 2190, 813, - 806, 2527, 1803, 2123, 2409, 2619, 2526, 2387, 2389, 2140, - 2392, 2385, 2899, 2769, 2958, 595, 1904, 2518, 2497, 187, - 2200, 1351, 2046, 1700, 595, 1844, 1650, 2530, 616, 615, - 595, 613, 2587, 2126, 2154, 1194, 701, 2113, 1364, 2165, - 2163, 2162, 2006, 1851, 2643, 594, 186, 2639, 2546, 2985, - 2548, 2551, 2552, 2549, 1846, 1842, 2132, 624, 617, 609, - 1207, 2659, 2556, 1203, 2525, 1204, 2272, 2560, 2561, 2536, - 2562, 2557, 2274, 2564, 2563, 2566, 2201, 2568, 2532, 1205, - 1206, 1202, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1216, - 1215, 1217, 1218, 1172, 1327, 603, 979, 2868, 2923, 2023, - 2575, 1326, 1713, 1714, 2930, 186, 2507, 2712, 2488, 2249, - 1932, 63, 41, 1741, 598, 3006, 2613, 1163, 800, 32, - 31, 30, 29, 2665, 28, 23, 2608, 2609, 22, 21, - 20, 19, 25, 18, 186, 17, 16, 2510, 3016, 2616, - 3047, 115, 2623, 50, 47, 45, 123, 122, 48, 2638, - 2648, 44, 2628, 186, 1092, 42, 186, 186, 186, 27, - 26, 15, 14, 13, 12, 11, 594, 594, 2645, 10, - 2652, 2654, 2655, 9, 5, 4, 35, 34, 33, 1166, - 2701, 2702, 24, 2, 187, 2236, 2653, 1934, 0, 2527, - 0, 0, 0, 0, 2526, 2660, 2661, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2677, 0, 2679, - 594, 594, 594, 594, 0, 0, 0, 0, 0, 2476, - 2477, 595, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 595, 595, 0, 595, 0, 595, 595, 0, 595, 595, - 595, 595, 595, 595, 2724, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 595, 2722, 2723, 0, 187, - 0, 0, 0, 0, 2739, 0, 0, 0, 0, 0, - 0, 186, 0, 1686, 0, 1686, 187, 0, 0, 0, - 0, 0, 2735, 0, 0, 0, 1684, 0, 1684, 595, - 0, 187, 2736, 0, 0, 594, 2764, 594, 0, 0, - 0, 0, 0, 0, 2757, 595, 0, 187, 0, 0, - 2748, 814, 0, 814, 814, 2793, 0, 2349, 2747, 2349, - 0, 2785, 0, 187, 0, 0, 0, 2407, 1162, 1164, - 187, 2407, 0, 37, 2765, 2789, 1686, 0, 2787, 187, - 187, 187, 187, 187, 187, 187, 187, 187, 595, 1684, - 2783, 2781, 0, 2773, 768, 2774, 0, 0, 2404, 594, - 0, 0, 595, 595, 0, 182, 0, 0, 0, 0, - 0, 0, 186, 2841, 0, 594, 2797, 0, 2794, 2795, - 187, 0, 0, 0, 0, 0, 0, 0, 594, 121, - 0, 0, 0, 0, 0, 2853, 0, 0, 0, 0, - 2845, 0, 164, 2837, 0, 2839, 2838, 0, 2865, 0, - 0, 0, 0, 2883, 0, 0, 2882, 0, 0, 594, - 2886, 0, 2857, 594, 594, 2858, 595, 0, 0, 1336, - 0, 0, 0, 0, 0, 0, 0, 0, 1303, 1312, - 595, 1686, 0, 0, 0, 2197, 0, 0, 0, 2671, - 2672, 0, 594, 0, 1684, 0, 595, 595, 0, 0, - 161, 0, 162, 0, 0, 0, 2910, 2893, 2894, 2896, - 2895, 0, 0, 0, 0, 0, 0, 0, 2909, 0, - 2407, 0, 181, 0, 0, 0, 0, 2907, 0, 0, - 0, 2913, 0, 547, 594, 1315, 1316, 0, 0, 0, - 0, 2705, 2898, 597, 0, 2709, 2710, 2711, 2915, 186, - 768, 761, 0, 0, 0, 0, 0, 0, 0, 187, - 0, 0, 0, 0, 595, 0, 0, 594, 186, 0, - 1359, 0, 2926, 0, 0, 0, 0, 0, 0, 814, - 2922, 2934, 0, 0, 0, 1379, 0, 0, 187, 0, - 2931, 595, 974, 0, 2929, 0, 0, 0, 0, 0, - 0, 187, 37, 0, 0, 595, 0, 0, 0, 594, - 187, 0, 187, 0, 187, 187, 595, 0, 0, 595, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 595, 165, 0, 594, 594, 0, 0, 0, 0, 0, - 171, 0, 2956, 2961, 0, 2959, 594, 0, 2951, 0, - 0, 0, 2964, 2865, 2974, 186, 594, 37, 2981, 2972, - 2969, 2966, 2965, 2963, 2968, 2967, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2404, 3002, 2992, 2997, 0, - 2984, 0, 0, 0, 0, 595, 0, 0, 0, 0, - 0, 0, 0, 3009, 0, 0, 0, 0, 0, 0, - 3015, 0, 0, 0, 0, 594, 0, 0, 0, 0, - 0, 0, 595, 0, 594, 0, 0, 0, 595, 3028, - 3035, 3030, 0, 0, 0, 3038, 3034, 3032, 3036, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2848, 2849, - 2850, 1686, 0, 0, 3049, 0, 0, 3057, 0, 3055, - 0, 0, 0, 0, 1684, 0, 0, 156, 0, 0, - 0, 0, 0, 3063, 0, 595, 2883, 595, 3065, 3066, - 3064, 0, 0, 595, 595, 0, 970, 0, 0, 0, - 0, 0, 0, 0, 1686, 0, 0, 0, 0, 1303, - 0, 0, 0, 0, 0, 1487, 1487, 1684, 1487, 0, - 1487, 1487, 0, 1496, 1487, 1487, 1487, 1487, 1487, 0, - 0, 187, 0, 0, 0, 0, 1303, 0, 187, 1303, - 970, 188, 189, 190, 0, 187, 187, 0, 0, 187, + 699, 2758, 2759, 708, 2757, 3049, 3057, 2918, 3025, 1867, + 701, 3026, 2993, 2732, 1820, 1388, 2544, 2977, 1800, 2450, + 2457, 2507, 2083, 2354, 2871, 3, 692, 37, 1155, 2512, + 2498, 2408, 2772, 2509, 2508, 2506, 2511, 2510, 2719, 96, + 2411, 2894, 768, 1802, 2117, 2465, 1937, 2527, 2526, 2409, + 1346, 186, 2412, 615, 186, 2352, 580, 186, 790, 1824, + 2626, 690, 595, 619, 186, 2157, 2777, 2353, 693, 2620, + 691, 612, 186, 1310, 702, 641, 2529, 2646, 1840, 2406, + 2396, 2180, 2314, 2144, 2612, 2297, 1104, 186, 1900, 613, + 2219, 2549, 1925, 2251, 1905, 970, 2221, 2220, 155, 817, + 791, 1442, 1968, 611, 772, 38, 776, 1856, 2169, 595, + 1845, 36, 595, 186, 595, 1844, 770, 2150, 2136, 1333, + 2119, 1756, 1315, 1692, 793, 1489, 1780, 141, 2289, 1924, + 1946, 1040, 1682, 1640, 1832, 1907, 2213, 814, 95, 1984, + 1003, 607, 998, 1377, 2188, 1847, 1755, 1355, 624, 91, + 1471, 1313, 1240, 1704, 1659, 1589, 1176, 1585, 1478, 977, + 1922, 1569, 1009, 978, 1004, 974, 1005, 1376, 1153, 1700, + 1360, 1374, 782, 1752, 1147, 1896, 548, 1437, 1463, 1594, + 124, 125, 804, 1088, 780, 778, 598, 98, 76, 1006, + 1016, 777, 97, 1793, 763, 602, 1247, 2927, 2244, 1133, + 119, 1243, 89, 159, 3050, 1939, 1940, 1941, 117, 118, + 2720, 2495, 1939, 2273, 2272, 1982, 2242, 85, 2712, 8, + 1554, 779, 77, 1825, 7, 6, 798, 126, 803, 2675, + 90, 2305, 584, 2306, 2951, 976, 2950, 188, 189, 190, + 784, 1797, 1798, 1647, 1646, 1045, 2762, 1177, 1783, 1645, + 1644, 120, 971, 1643, 1642, 1625, 605, 1634, 606, 3014, + 2115, 603, 2392, 2600, 3029, 2762, 771, 3066, 982, 769, + 2264, 2517, 996, 987, 2146, 1042, 2453, 3024, 3040, 551, + 811, 2267, 1652, 1970, 2867, 785, 1972, 2866, 1058, 1059, + 1060, 1044, 1063, 1064, 1065, 1066, 1043, 78, 1069, 1070, + 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, + 1081, 1082, 1083, 1084, 1085, 792, 102, 994, 1019, 1020, + 120, 2454, 1340, 1177, 3065, 993, 992, 2951, 2517, 2515, + 1971, 2761, 818, 2725, 2987, 584, 2726, 1046, 1049, 1050, + 2026, 2514, 3053, 78, 995, 1055, 2790, 2456, 2946, 78, + 2761, 2521, 3038, 1187, 2733, 2978, 1965, 104, 105, 1916, + 108, 2451, 2986, 114, 2313, 2998, 183, 2945, 2582, 546, + 87, 1452, 2116, 2160, 2197, 87, 1828, 2196, 2467, 2468, + 2198, 1091, 2446, 1061, 1910, 2452, 2515, 2304, 120, 764, + 765, 766, 767, 2447, 2448, 775, 1862, 1863, 2161, 1378, + 2023, 1379, 188, 189, 190, 2024, 1861, 78, 2521, 1738, + 80, 2281, 1150, 1799, 1123, 2280, 3003, 2458, 762, 761, + 2919, 87, 2209, 806, 807, 1128, 1129, 87, 3030, 1187, + 3001, 1124, 1111, 585, 2245, 584, 1140, 1112, 1142, 3007, + 3008, 1209, 1117, 1880, 1879, 584, 2342, 2467, 2468, 3031, + 2546, 2623, 1183, 2573, 3002, 1175, 584, 1087, 986, 2571, + 2518, 988, 2876, 1210, 1211, 1212, 1213, 1214, 1215, 1216, + 1218, 1217, 1219, 1220, 1111, 1062, 1139, 1141, 593, 1112, + 1635, 1636, 1637, 2466, 1633, 87, 581, 1110, 597, 1109, + 591, 991, 2550, 1097, 1098, 2469, 2290, 1730, 1719, 1720, + 1721, 1722, 1732, 1723, 1724, 1725, 1737, 1733, 1726, 1727, + 1734, 1735, 1736, 1728, 1729, 1731, 1125, 2518, 1149, 1317, + 1130, 2153, 2154, 1544, 1909, 1100, 2252, 1118, 1183, 1947, + 1131, 991, 1086, 567, 2276, 2547, 585, 1996, 1993, 1995, + 1994, 1997, 1998, 1985, 1570, 565, 186, 3015, 186, 989, + 3052, 186, 2466, 2539, 584, 1990, 991, 1144, 983, 1826, + 1827, 2540, 1126, 1127, 2469, 985, 984, 1545, 1093, 1546, + 1132, 2714, 2002, 1137, 2003, 2292, 2004, 1138, 2713, 1989, + 2548, 595, 1157, 595, 595, 562, 2005, 1143, 1068, 87, + 1987, 1067, 2851, 999, 576, 1828, 1090, 1000, 595, 595, + 1029, 1027, 1950, 2343, 2455, 2710, 1841, 1000, 1038, 572, + 1991, 1136, 1037, 1036, 989, 2469, 1456, 1035, 1034, 1033, + 1032, 1988, 1031, 1026, 1320, 1169, 37, 1039, 975, 3067, + 3036, 1221, 1221, 1012, 1018, 975, 585, 1477, 805, 1107, + 1011, 1113, 1114, 1115, 1116, 1575, 585, 1182, 1179, 1180, + 1181, 1186, 1188, 1185, 1969, 1184, 975, 585, 1586, 1121, + 973, 1923, 1178, 2293, 1151, 1152, 1976, 990, 1095, 1582, + 1101, 1057, 1163, 1103, 1051, 2926, 2243, 2488, 552, 2275, + 554, 568, 2211, 587, 2024, 586, 558, 997, 556, 560, + 569, 561, 1089, 555, 1450, 566, 3061, 2296, 557, 570, + 571, 574, 577, 578, 579, 575, 573, 990, 564, 588, + 1224, 1225, 1226, 1227, 2246, 2309, 2038, 2709, 1449, 1448, + 1232, 1158, 1235, 1182, 1179, 1180, 1181, 1186, 1188, 1185, + 1018, 1184, 990, 1017, 2262, 2278, 2624, 1308, 1178, 1011, + 1014, 1015, 1476, 975, 1030, 1028, 1018, 1008, 1012, 2315, + 1048, 1159, 1160, 2459, 1913, 585, 1011, 2463, 1583, 2266, + 1047, 86, 186, 1446, 2944, 2462, 595, 595, 1007, 550, + 2932, 1145, 1303, 545, 2915, 1228, 2877, 2662, 1826, 1827, + 1018, 2642, 186, 1556, 1555, 1557, 1558, 1559, 2288, 2760, + 2025, 2287, 2673, 2674, 1914, 1967, 1323, 2120, 2122, 2464, + 1327, 595, 1912, 2265, 2460, 186, 772, 86, 2760, 2461, + 595, 770, 1326, 86, 1324, 1096, 595, 2519, 2520, 1172, + 1099, 77, 1309, 1574, 1170, 1171, 1018, 1321, 1108, 1017, + 2523, 2317, 1222, 1223, 3006, 81, 1915, 1018, 814, 2193, + 2156, 1249, 1245, 2299, 1246, 1017, 1911, 2107, 2298, 1576, + 1021, 1011, 1792, 1577, 1578, 1023, 2299, 1120, 1364, 1024, + 1022, 2298, 1289, 2151, 1102, 116, 1868, 1221, 1122, 1220, + 2445, 86, 787, 1325, 2519, 2520, 1701, 95, 3005, 1017, + 1025, 1056, 1106, 589, 1134, 1309, 1595, 2523, 111, 1148, + 1702, 1295, 1296, 1297, 1298, 1299, 2940, 2327, 2326, 2325, + 2319, 582, 2323, 1664, 2318, 1041, 2316, 1314, 2705, 2333, + 3059, 2321, 2636, 3060, 1986, 3058, 583, 1665, 1666, 1663, + 2320, 1579, 1380, 1173, 1705, 1017, 98, 1369, 1705, 2235, + 2052, 1011, 1014, 1015, 1192, 975, 1017, 2322, 2324, 1008, + 1012, 1021, 1011, 1191, 1192, 2786, 1023, 2680, 2679, 1954, + 1024, 1022, 1486, 1485, 1193, 1475, 1311, 1964, 112, 2121, + 3032, 1962, 1193, 1029, 769, 1027, 1345, 1571, 771, 1572, + 186, 1342, 1573, 1209, 1438, 2663, 1205, 2956, 1206, 2908, + 1365, 1959, 1959, 2064, 1447, 1966, 1193, 1322, 1564, 1370, + 1371, 1375, 1207, 1208, 1204, 1210, 1211, 1212, 1213, 1214, + 1215, 1216, 1218, 1217, 1219, 1220, 3063, 595, 3068, 1473, + 1215, 1216, 1218, 1217, 1219, 1220, 1714, 1482, 1963, 1961, + 2957, 1484, 2909, 1105, 1487, 1488, 595, 595, 1135, 595, + 1596, 595, 595, 818, 595, 595, 595, 595, 595, 595, + 1213, 1214, 1215, 1216, 1218, 1217, 1219, 1220, 1519, 1520, + 1092, 595, 1563, 1193, 87, 186, 1525, 1210, 1211, 1212, + 1213, 1214, 1215, 1216, 1218, 1217, 1219, 1220, 1662, 2887, + 1340, 2859, 186, 1211, 1212, 1213, 1214, 1215, 1216, 1218, + 1217, 1219, 1220, 1483, 2858, 595, 1190, 186, 1191, 1192, + 2849, 1328, 1387, 3069, 1190, 2335, 1191, 1192, 1584, 2750, + 809, 595, 1469, 186, 2739, 1193, 2740, 1654, 1656, 1657, + 1518, 2749, 2687, 1521, 1562, 1539, 2686, 1193, 1190, 186, + 1191, 1192, 2676, 2579, 2496, 2484, 186, 1453, 1454, 1455, + 1462, 1655, 2217, 2216, 1193, 186, 186, 186, 186, 186, + 186, 186, 186, 186, 595, 1919, 1522, 2030, 2031, 2032, + 1565, 1549, 1491, 1548, 1492, 1551, 1494, 1496, 595, 595, + 1500, 1502, 1504, 1506, 1508, 1445, 1547, 1481, 1340, 713, + 714, 715, 1537, 1193, 1480, 1709, 186, 1524, 1561, 1710, + 1459, 1531, 1460, 1458, 1528, 1190, 1472, 1191, 1192, 1340, + 1193, 1527, 1526, 1529, 1530, 1498, 1833, 1834, 3033, 1535, + 1536, 3034, 1591, 2935, 1599, 1479, 1479, 2934, 1349, 1568, + 2912, 1603, 2911, 1605, 1606, 1607, 1608, 2577, 1340, 1550, + 1612, 2910, 595, 2543, 2854, 2839, 1689, 1689, 2838, 2785, + 2783, 1193, 1624, 1687, 1687, 1695, 595, 1190, 2746, 1191, + 1192, 1600, 2684, 2669, 2551, 1193, 1686, 1690, 1604, 1190, + 2487, 1191, 1192, 595, 595, 2072, 2486, 1587, 1350, 1615, + 1616, 1617, 1618, 1619, 1620, 1621, 1190, 2226, 1191, 1192, + 2214, 1193, 1305, 1660, 2923, 1523, 1980, 1979, 1667, 1162, + 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678, + 1679, 1680, 1681, 994, 1823, 1805, 120, 1668, 1641, 1601, + 1658, 993, 992, 1626, 1451, 1190, 1706, 1191, 1192, 1597, + 1598, 1592, 1622, 1560, 2092, 1340, 186, 1552, 1784, 1623, + 1340, 595, 1190, 1602, 1191, 1192, 1630, 1631, 1542, 1340, + 1609, 1610, 1611, 1193, 188, 189, 190, 1538, 1753, 1193, + 1534, 1533, 1532, 2048, 2043, 186, 1351, 1146, 595, 2142, + 3051, 3020, 1340, 1661, 2042, 94, 1353, 2884, 186, 2142, + 2984, 2883, 595, 1190, 2843, 1191, 1192, 186, 2842, 186, + 2731, 186, 186, 595, 1193, 92, 595, 1190, 2440, 1191, + 1192, 92, 94, 1810, 2253, 1811, 93, 595, 2024, 1786, + 1753, 2407, 93, 1784, 1193, 188, 189, 190, 1877, 2670, + 2158, 814, 2635, 1190, 814, 1191, 1192, 2231, 1209, 95, + 2308, 188, 189, 190, 1340, 2200, 2047, 2635, 1788, 1789, + 1711, 1713, 1352, 188, 189, 190, 1876, 1935, 95, 2637, + 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1218, 1217, 1219, + 1220, 1340, 595, 2142, 2964, 1785, 3011, 1340, 2138, 1926, + 1927, 1928, 1843, 1816, 1930, 1932, 1934, 2084, 1189, 1886, + 1887, 1888, 1889, 94, 1786, 1190, 2939, 1191, 1192, 595, + 2142, 1190, 2166, 1191, 1192, 595, 1482, 2657, 1691, 1482, + 1835, 1482, 1872, 100, 1871, 1697, 1698, 1958, 2166, 1839, + 1804, 1842, 784, 2967, 1641, 1881, 2596, 1882, 1883, 1884, + 1885, 2142, 2960, 2952, 1340, 1854, 1190, 1193, 1191, 1192, + 2142, 2928, 2475, 1892, 1893, 1894, 1895, 1818, 1948, 2380, + 1838, 2039, 595, 2165, 595, 1902, 1190, 1875, 1191, 1192, + 595, 595, 1836, 1908, 2723, 2925, 700, 2596, 1340, 1787, + 1860, 1859, 1790, 1791, 1858, 188, 189, 190, 1193, 1933, + 2158, 1874, 2039, 1873, 1197, 1198, 1199, 1200, 1201, 1202, + 1203, 1195, 2039, 101, 1945, 188, 189, 190, 186, 1931, + 2862, 1340, 2142, 2850, 100, 186, 99, 1918, 2166, 1815, + 1193, 2077, 186, 186, 1193, 94, 186, 187, 186, 2061, + 187, 1340, 2060, 187, 1960, 186, 818, 87, 596, 818, + 187, 1959, 186, 1903, 1942, 1917, 1831, 1921, 187, 1898, + 1899, 1193, 1929, 2723, 1340, 2142, 2721, 1973, 1344, 1193, + 1959, 1340, 2635, 187, 2640, 1340, 1953, 1795, 186, 1956, + 1638, 1957, 2847, 595, 1952, 1951, 1955, 1193, 1903, 1190, + 2189, 1191, 1192, 1193, 1340, 596, 1581, 1209, 596, 187, + 596, 1193, 1959, 1974, 1189, 1340, 1975, 1019, 1020, 1193, + 2077, 1340, 1977, 1978, 2706, 1193, 1372, 2598, 1479, 1210, + 1211, 1212, 1213, 1214, 1215, 1216, 1218, 1217, 1219, 1220, + 1190, 1002, 1191, 1192, 2015, 2016, 2477, 2476, 1001, 2018, + 1641, 2473, 2474, 1193, 2594, 2473, 2472, 1992, 2019, 1193, + 2873, 1983, 2585, 2190, 2006, 2007, 1193, 1347, 2011, 2840, + 1193, 2189, 1190, 2192, 1191, 1192, 1190, 2014, 1191, 1192, + 2584, 2166, 1340, 2797, 2017, 2039, 1340, 2218, 1193, 2024, + 2274, 2041, 1660, 2499, 2101, 1209, 2034, 2037, 2036, 1193, + 2704, 2008, 2100, 1190, 2701, 1191, 1192, 2223, 2099, 2682, + 2020, 1190, 1193, 1191, 1192, 2035, 1193, 1210, 1211, 1212, + 1213, 1214, 1215, 1216, 1218, 1217, 1219, 1220, 1193, 1190, + 774, 1191, 1192, 1193, 2190, 1190, 2098, 1191, 1192, 1441, + 2256, 1193, 2097, 1190, 2024, 1191, 1192, 1193, 1091, 2096, + 2588, 1190, 1193, 1191, 1192, 2022, 186, 1190, 2587, 1191, + 1192, 2249, 2250, 1443, 186, 2142, 2141, 1441, 1440, 595, + 1689, 2095, 1661, 1386, 1385, 595, 1901, 1687, 2033, 2541, + 2501, 2113, 2094, 2130, 2497, 1190, 595, 1191, 1192, 2257, + 2126, 1190, 1897, 1191, 1192, 2093, 1891, 1890, 1190, 2087, + 1191, 1192, 1190, 1567, 1191, 1192, 1193, 2124, 87, 1474, + 186, 2086, 1470, 1439, 186, 2545, 2085, 2051, 2688, 113, + 1190, 2874, 1191, 1192, 2082, 3046, 2162, 37, 1916, 2199, + 2081, 1190, 2222, 1191, 1192, 2080, 2182, 2647, 2648, 1808, + 1514, 3044, 101, 2143, 1190, 3027, 1191, 1192, 1190, 1193, + 1191, 1192, 1786, 100, 2949, 99, 2892, 1628, 2070, 2650, + 1190, 1193, 1191, 1192, 2493, 1190, 2492, 1191, 1192, 2689, + 2690, 2691, 2491, 1190, 2407, 1191, 1192, 595, 3017, 1190, + 2223, 1191, 1192, 186, 1190, 2653, 1191, 1192, 2236, 2078, + 186, 1515, 1516, 1517, 2009, 2429, 2139, 2652, 2426, 2425, + 2430, 1314, 2210, 2212, 595, 2152, 2692, 2114, 1785, 2049, + 2985, 595, 2427, 1822, 1510, 1482, 1482, 2428, 2248, 1629, + 595, 2181, 1348, 1340, 2431, 2135, 2175, 2176, 2140, 2203, + 1814, 2641, 2074, 2397, 2399, 2385, 2186, 2271, 1190, 2155, + 1191, 1192, 2400, 2776, 2073, 2270, 2384, 2187, 186, 186, + 186, 186, 186, 2693, 2694, 2695, 2907, 2628, 2778, 1908, + 2191, 1511, 1512, 1513, 2194, 2627, 2631, 788, 2394, 186, + 186, 1580, 2201, 2204, 2767, 789, 2766, 760, 2471, 2207, + 2227, 1190, 1053, 1191, 1192, 186, 1052, 2559, 2215, 2222, + 2104, 2105, 2302, 1190, 1701, 1191, 1192, 2633, 1161, 1338, + 1334, 2225, 2224, 2263, 595, 2234, 2228, 2229, 1702, 92, + 121, 94, 92, 2924, 1335, 2232, 2237, 2238, 2239, 94, + 93, 2233, 3055, 93, 2765, 1833, 1834, 2489, 2269, 2012, + 1462, 2171, 2174, 2175, 2176, 2172, 2869, 2173, 2177, 1812, + 1813, 1337, 187, 1336, 187, 2470, 1689, 187, 1689, 770, + 2179, 1689, 2332, 1687, 1819, 1687, 1689, 2001, 1687, 796, + 797, 2383, 2000, 1687, 2268, 2258, 2259, 1999, 595, 2382, + 2282, 2283, 2284, 2285, 2286, 2613, 2028, 596, 99, 596, + 596, 2899, 2898, 2784, 595, 2328, 2782, 2781, 2311, 2291, + 2774, 1641, 2295, 2702, 596, 596, 2374, 2632, 2630, 186, + 2357, 2310, 2294, 595, 2502, 1943, 2355, 2303, 2355, 1457, + 101, 2355, 795, 100, 2773, 2360, 2355, 595, 2621, 2158, + 2361, 100, 2138, 2312, 595, 595, 2344, 186, 186, 186, + 186, 186, 2367, 2368, 2369, 2370, 2329, 3048, 3047, 186, + 2062, 1338, 1334, 1806, 186, 2374, 1366, 186, 1357, 186, + 776, 3047, 186, 186, 186, 101, 1335, 2419, 3048, 2348, + 103, 2913, 2387, 106, 107, 2439, 100, 2668, 99, 786, + 1327, 2182, 88, 1, 2300, 1712, 2404, 2301, 2672, 3000, + 2388, 1331, 1332, 1337, 2410, 1336, 563, 1796, 2485, 2410, + 2413, 1312, 3028, 2373, 101, 2996, 2997, 186, 1553, 2375, + 2362, 2363, 2364, 2365, 2366, 100, 1543, 99, 2734, 2379, + 595, 1754, 683, 2870, 2386, 2505, 94, 1949, 595, 2389, + 2700, 1906, 1010, 186, 146, 2401, 2402, 1869, 1870, 778, + 2441, 2980, 2525, 2442, 110, 777, 186, 968, 2421, 2422, + 109, 2424, 2420, 95, 1013, 2423, 2432, 1119, 1944, 2724, + 2418, 2208, 1878, 1591, 186, 2436, 2437, 186, 187, 1392, + 2443, 2449, 596, 596, 1390, 1391, 1389, 2560, 1394, 1393, + 2063, 2376, 2377, 2378, 594, 2599, 2504, 2480, 187, 2481, + 1632, 2479, 592, 2178, 184, 1381, 2533, 1358, 1054, 553, + 2478, 1981, 559, 1233, 1627, 2532, 2381, 596, 2195, 815, + 808, 187, 1807, 2128, 2415, 2503, 596, 2625, 2393, 1908, + 2395, 2524, 596, 2145, 2482, 2483, 2398, 2391, 2906, 2490, + 2775, 816, 2536, 2965, 972, 2205, 979, 1354, 2171, 2174, + 2175, 2176, 2172, 2593, 2173, 2177, 2050, 1703, 2647, 2648, + 2554, 595, 186, 2552, 1848, 2528, 2555, 2557, 2558, 1653, + 617, 616, 614, 2131, 2159, 1196, 703, 2118, 2537, 2563, + 1367, 2170, 2168, 2167, 2010, 1855, 2649, 2645, 2569, 2992, + 1850, 1846, 2562, 2137, 625, 618, 2553, 2566, 2567, 2556, + 2568, 610, 2665, 2570, 2531, 2572, 2277, 2574, 2542, 2279, + 2206, 2538, 1174, 1330, 604, 981, 2875, 2930, 2027, 2581, + 1329, 186, 1717, 1718, 2937, 2513, 2718, 2494, 2254, 1936, + 63, 41, 2619, 1745, 599, 3013, 1165, 802, 32, 2671, + 31, 30, 2614, 2615, 29, 28, 23, 22, 21, 20, + 186, 19, 25, 18, 17, 2622, 2629, 16, 2516, 3023, + 3054, 115, 50, 47, 2654, 2644, 45, 123, 2634, 186, + 122, 48, 186, 186, 186, 44, 1094, 42, 27, 26, + 15, 2651, 595, 595, 2618, 14, 187, 2660, 2661, 13, + 12, 11, 10, 9, 5, 2533, 2707, 2708, 2658, 4, + 35, 34, 2659, 33, 2532, 1168, 24, 2, 2241, 2666, + 2667, 1938, 2683, 0, 2685, 0, 0, 0, 0, 0, + 0, 0, 0, 596, 0, 0, 595, 595, 595, 595, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 596, 596, 0, 596, 0, 596, 596, 0, + 596, 596, 596, 596, 596, 596, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 596, 2730, 0, + 0, 187, 2681, 0, 0, 2677, 2678, 0, 1689, 0, + 1689, 0, 0, 0, 0, 1687, 0, 1687, 187, 2728, + 2729, 2696, 0, 0, 2697, 2698, 2699, 186, 0, 0, + 0, 596, 0, 187, 0, 0, 0, 2742, 0, 0, + 0, 0, 0, 0, 0, 2770, 2741, 596, 0, 187, + 2745, 595, 0, 595, 0, 0, 0, 2711, 0, 0, + 2753, 2715, 2716, 2717, 0, 187, 0, 0, 2355, 0, + 2355, 1689, 187, 0, 2754, 2791, 37, 0, 1687, 0, + 0, 187, 187, 187, 187, 187, 187, 187, 187, 187, + 596, 2799, 2793, 2763, 770, 2787, 2780, 2795, 0, 2771, + 2789, 2779, 0, 0, 596, 596, 0, 0, 0, 2410, + 0, 0, 0, 0, 0, 595, 2413, 0, 0, 0, + 2413, 0, 187, 0, 0, 0, 0, 0, 186, 2848, + 0, 595, 2803, 0, 2800, 2801, 0, 0, 0, 0, + 0, 0, 0, 0, 595, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2844, 0, 2846, + 2845, 0, 0, 0, 0, 0, 0, 0, 596, 2889, + 2890, 2860, 2872, 0, 0, 595, 1689, 2864, 0, 595, + 595, 2865, 596, 1687, 0, 0, 0, 0, 0, 2852, + 0, 0, 0, 0, 0, 0, 2893, 0, 0, 596, + 596, 0, 0, 0, 0, 0, 0, 0, 595, 0, + 0, 0, 0, 0, 2903, 0, 0, 0, 1339, 0, + 2900, 2901, 2917, 0, 0, 2902, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2914, 0, 816, 0, 816, 816, 0, 0, 0, + 770, 595, 0, 2920, 2855, 2856, 2857, 0, 2905, 0, + 1164, 1166, 187, 0, 2916, 2922, 186, 596, 0, 2413, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 595, 186, 0, 0, 0, 0, + 0, 187, 0, 0, 596, 0, 0, 0, 2941, 0, + 3021, 0, 0, 0, 187, 2938, 37, 0, 596, 2933, + 1409, 2936, 0, 187, 0, 187, 0, 187, 187, 596, + 0, 0, 596, 0, 0, 0, 595, 0, 0, 0, + 2929, 0, 0, 596, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 595, 595, 0, 0, 0, 2958, 0, 0, 0, 0, + 2966, 37, 0, 595, 0, 0, 0, 0, 2968, 2971, + 0, 1306, 186, 595, 2979, 0, 0, 2976, 2872, 2981, + 2988, 2973, 2972, 2970, 2975, 2974, 0, 2410, 596, 2963, + 2991, 0, 0, 0, 3009, 2999, 3004, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2942, 0, 0, + 0, 3016, 0, 0, 0, 596, 0, 0, 0, 0, + 3022, 596, 595, 0, 0, 0, 0, 0, 1318, 1319, + 0, 595, 0, 0, 0, 0, 3035, 1689, 0, 0, + 3037, 0, 3041, 3039, 1687, 3045, 0, 3043, 0, 0, + 0, 1397, 0, 0, 0, 0, 0, 3042, 0, 0, + 3056, 0, 0, 1362, 0, 3062, 0, 3064, 596, 0, + 596, 0, 816, 0, 0, 0, 596, 596, 1382, 0, + 1689, 182, 3072, 3073, 2890, 3071, 0, 1687, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3070, 0, 0, 0, 0, 121, 0, 0, 0, 0, + 0, 0, 0, 0, 187, 0, 0, 0, 164, 0, + 0, 187, 0, 0, 0, 0, 0, 0, 187, 187, + 0, 0, 187, 1410, 187, 0, 0, 0, 0, 0, 0, 187, 0, 0, 0, 0, 0, 0, 187, 0, - 0, 0, 0, 0, 0, 187, 0, 0, 0, 0, - 0, 0, 0, 0, 1563, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 583, 0, 0, 0, 0, 0, - 1585, 187, 0, 0, 0, 0, 595, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 157, 0, 0, 580, 0, 0, 0, 169, - 0, 0, 0, 814, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 814, 814, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 177, 566, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 564, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2202, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 187, 0, 161, 0, 162, 596, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1423, 1426, 1427, 1428, 1429, 1430, 1431, 181, 1432, + 1433, 1434, 1435, 1436, 1411, 1412, 1413, 1414, 1395, 1396, + 1424, 0, 1398, 0, 1399, 1400, 1401, 1402, 1403, 1404, + 1405, 1406, 1407, 0, 0, 1408, 1415, 1416, 1417, 1418, + 1419, 1420, 1421, 1422, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 972, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1306, 0, 0, 0, 0, 0, 1490, 1490, + 0, 1490, 0, 1490, 1490, 0, 1499, 1490, 1490, 1490, + 1490, 1490, 0, 0, 0, 0, 0, 165, 0, 1306, + 0, 0, 1306, 972, 0, 0, 171, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 187, 0, 0, 0, 0, 1566, 1425, 0, + 187, 0, 0, 0, 182, 596, 0, 0, 0, 0, + 0, 596, 0, 1588, 0, 0, 0, 0, 0, 0, + 0, 0, 596, 0, 0, 0, 0, 0, 121, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 164, 0, 0, 0, 0, 187, 0, 0, 0, + 187, 0, 0, 0, 0, 0, 816, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 816, 816, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 156, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 161, + 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 596, 0, 0, 0, 0, 0, 187, + 0, 181, 0, 0, 0, 0, 187, 0, 0, 0, + 0, 0, 0, 0, 1683, 0, 0, 0, 0, 0, + 596, 0, 0, 0, 0, 0, 0, 596, 1696, 0, + 0, 0, 0, 0, 0, 1306, 596, 0, 0, 0, + 0, 0, 0, 0, 0, 1715, 1716, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 187, 187, 187, 187, 187, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 816, 0, 0, 187, 187, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 187, 0, 0, 0, 0, 0, 0, 0, 157, + 165, 0, 0, 1809, 0, 0, 169, 0, 0, 171, + 596, 0, 0, 0, 0, 0, 1341, 1343, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1821, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1362, 0, 0, 816, 177, 0, + 0, 0, 0, 0, 0, 816, 0, 0, 816, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 972, + 0, 0, 0, 182, 596, 0, 0, 158, 163, 160, + 166, 167, 168, 170, 172, 173, 174, 175, 0, 0, + 596, 0, 0, 176, 178, 179, 180, 121, 0, 143, + 0, 0, 0, 0, 0, 187, 0, 0, 0, 596, + 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 596, 979, 0, 156, 0, 0, 0, + 596, 596, 0, 187, 187, 187, 187, 187, 0, 0, + 0, 153, 0, 0, 0, 187, 0, 142, 0, 0, + 187, 972, 0, 187, 0, 187, 0, 979, 187, 187, + 187, 0, 0, 0, 0, 0, 0, 0, 161, 0, + 162, 684, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 130, 131, 152, 151, + 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 187, 972, 0, 1683, 0, 0, 0, + 0, 0, 1683, 1683, 0, 0, 596, 0, 0, 0, + 0, 0, 185, 0, 596, 549, 0, 0, 590, 187, + 0, 0, 0, 0, 0, 549, 0, 0, 0, 0, + 0, 0, 187, 549, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 783, 0, + 187, 0, 0, 187, 0, 0, 0, 0, 0, 0, + 0, 0, 157, 0, 801, 0, 801, 0, 0, 169, + 0, 0, 0, 0, 549, 0, 0, 147, 128, 154, + 135, 127, 0, 148, 149, 0, 0, 0, 0, 165, + 0, 0, 0, 0, 0, 0, 0, 0, 171, 136, + 0, 0, 0, 0, 0, 2021, 0, 0, 0, 0, + 0, 177, 0, 139, 137, 132, 133, 134, 138, 0, + 0, 0, 0, 0, 0, 129, 0, 0, 0, 0, + 0, 0, 0, 0, 140, 0, 0, 596, 187, 0, 158, 163, 160, 166, 167, 168, 170, 172, 173, 174, - 175, 1680, 0, 0, 0, 0, 176, 178, 179, 180, - 0, 0, 0, 0, 561, 1693, 0, 0, 0, 0, - 0, 0, 1303, 575, 0, 0, 0, 0, 0, 0, - 0, 1711, 1712, 0, 1093, 0, 1099, 0, 571, 1101, - 0, 0, 0, 0, 0, 0, 0, 0, 187, 0, - 0, 0, 0, 0, 0, 0, 187, 0, 0, 0, - 0, 595, 0, 0, 0, 0, 0, 595, 814, 0, - 0, 0, 0, 0, 0, 584, 0, 0, 595, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1805, - 0, 0, 187, 0, 0, 0, 187, 551, 0, 553, - 567, 0, 586, 0, 585, 557, 0, 555, 559, 568, - 560, 0, 554, 0, 565, 0, 1817, 556, 569, 570, - 573, 576, 577, 578, 574, 572, 0, 563, 587, 0, - 1359, 0, 0, 814, 0, 0, 0, 0, 0, 0, - 0, 814, 0, 0, 814, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 970, 0, 0, 0, 595, - 0, 0, 0, 0, 0, 187, 0, 0, 0, 0, - 0, 0, 187, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 595, 0, 0, 0, - 0, 0, 0, 595, 0, 0, 0, 0, 0, 0, - 0, 0, 595, 0, 0, 0, 0, 0, 0, 0, - 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 187, 187, 187, 187, 187, 0, 0, 970, 0, 0, - 0, 0, 0, 977, 0, 1338, 1340, 0, 0, 0, - 0, 187, 187, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 187, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1366, 0, 0, 0, 595, 0, 0, 0, - 970, 0, 1680, 0, 0, 0, 0, 0, 1680, 1680, - 0, 588, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 581, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 582, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 595, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 595, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 187, 0, 0, 0, 595, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 595, 0, - 0, 2017, 0, 0, 0, 595, 595, 0, 187, 187, - 187, 187, 187, 0, 0, 0, 0, 0, 0, 0, - 187, 0, 0, 0, 0, 187, 0, 0, 187, 0, - 187, 0, 0, 187, 187, 187, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1384, 0, 0, - 0, 0, 0, 0, 0, 0, 78, 39, 40, 80, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 84, 0, 187, 0, - 43, 69, 70, 0, 67, 71, 0, 0, 0, 0, - 0, 595, 0, 68, 0, 0, 0, 0, 0, 595, - 0, 0, 0, 0, 187, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 187, 0, 0, - 0, 0, 56, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1521, 0, 87, 187, 0, 0, 187, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 814, 0, 0, 0, 1565, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1817, 0, 0, 0, - 0, 0, 2127, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2142, 0, 0, 1597, 0, 0, 0, - 0, 0, 0, 1601, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1612, 1613, 1614, 1615, 1616, 1617, - 1618, 595, 187, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1638, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 46, 49, - 52, 51, 54, 0, 66, 0, 0, 75, 72, 0, - 0, 187, 0, 0, 2225, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 55, 83, 82, 0, 0, 64, 65, 53, 0, 0, - 187, 1817, 1704, 73, 74, 0, 1705, 0, 2250, 0, - 0, 0, 0, 0, 0, 0, 0, 2255, 0, 187, - 0, 0, 187, 187, 187, 0, 0, 0, 0, 0, - 0, 0, 595, 595, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 57, 58, 0, 59, 60, 61, 62, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1338, 1790, 0, 0, - 0, 0, 0, 0, 0, 0, 595, 595, 595, 595, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1813, - 0, 1680, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1831, 0, 0, 0, 0, 0, - 0, 0, 0, 1835, 0, 1838, 0, 0, 1638, 1303, - 0, 1303, 0, 0, 1303, 0, 0, 187, 0, 1303, - 0, 0, 0, 0, 0, 0, 0, 182, 0, 0, - 0, 0, 0, 0, 814, 0, 0, 0, 2242, 0, - 0, 595, 0, 595, 81, 0, 0, 0, 0, 0, - 1487, 121, 0, 143, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 164, 0, 0, 0, 0, 2384, - 0, 1916, 0, 0, 0, 0, 0, 0, 0, 86, - 0, 0, 0, 814, 0, 0, 0, 1303, 0, 0, - 2411, 1487, 1303, 0, 0, 153, 0, 0, 0, 0, - 0, 142, 0, 682, 0, 595, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 187, 0, - 0, 595, 161, 0, 162, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 595, 0, 0, 0, 0, 0, - 1462, 1463, 152, 151, 181, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 185, 0, 0, 548, 0, 0, - 589, 0, 0, 0, 0, 595, 0, 548, 0, 595, - 595, 0, 0, 0, 0, 548, 970, 0, 0, 1303, - 0, 0, 0, 0, 1817, 0, 0, 0, 0, 0, - 781, 0, 0, 0, 0, 0, 0, 0, 595, 0, - 0, 0, 0, 0, 1638, 0, 799, 0, 799, 0, - 0, 1988, 0, 0, 0, 0, 548, 0, 2002, 2003, - 0, 0, 2007, 0, 0, 0, 0, 0, 0, 0, - 0, 2010, 0, 0, 0, 0, 0, 0, 2013, 0, - 595, 147, 1464, 154, 0, 1461, 0, 148, 149, 0, - 0, 0, 0, 165, 0, 187, 0, 0, 0, 0, - 0, 0, 171, 0, 2016, 0, 0, 0, 0, 0, - 0, 0, 0, 595, 187, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2384, 0, 0, 0, - 0, 0, 0, 0, 0, 595, 0, 0, 2036, 0, - 0, 0, 2040, 0, 2041, 2042, 0, 0, 0, 0, - 0, 0, 0, 2050, 0, 0, 2051, 2052, 2053, 595, - 595, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 595, 0, 0, 0, 0, 0, 0, 0, - 0, 187, 595, 0, 0, 0, 2060, 2061, 2062, 2063, - 2064, 0, 2066, 0, 0, 0, 0, 0, 2070, 156, - 2071, 0, 0, 0, 2074, 0, 0, 0, 0, 0, - 0, 0, 2083, 2084, 2085, 2086, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2097, 2098, 0, 0, 0, - 0, 595, 0, 2103, 2104, 2105, 2106, 2107, 0, 1813, - 595, 0, 0, 0, 0, 0, 0, 1817, 1817, 0, - 2120, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 150, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2729, 2730, 2731, 2732, 0, 2800, 2802, 2801, 2811, - 2812, 2813, 2814, 2815, 2816, 2817, 647, 0, 0, 2181, - 0, 144, 0, 0, 145, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1303, 0, 1303, 0, 157, 0, 0, 0, 0, 0, - 0, 169, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2229, 0, - 0, 1303, 0, 0, 0, 0, 2786, 0, 2788, 0, - 0, 0, 0, 177, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 158, 163, 160, 166, 167, 168, 170, 172, - 173, 174, 175, 0, 0, 0, 0, 0, 176, 178, - 179, 180, 0, 2277, 2278, 2279, 2280, 2281, 0, 0, - 1817, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1638, 2290, 2856, 0, 548, 0, - 548, 0, 0, 548, 0, 0, 0, 0, 0, 814, - 2298, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 182, 0, - 0, 0, 0, 0, 2331, 0, 0, 0, 2335, 1458, - 2889, 0, 0, 0, 2889, 2889, 0, 0, 0, 0, - 0, 0, 121, 0, 143, 0, 0, 0, 2350, 0, - 0, 0, 0, 0, 0, 164, 2806, 2807, 0, 0, - 0, 0, 0, 1817, 0, 0, 0, 0, 0, 2365, - 2366, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 153, 0, 0, 0, - 0, 0, 142, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1817, 0, 0, 0, 0, - 0, 0, 0, 161, 0, 162, 0, 692, 0, 641, - 696, 643, 693, 694, 0, 639, 642, 695, 2410, 0, - 0, 1462, 1463, 152, 151, 181, 0, 0, 1817, 0, - 0, 798, 0, 0, 0, 2428, 2429, 0, 0, 0, - 1304, 0, 0, 0, 645, 646, 2799, 2803, 2804, 2805, - 2808, 2809, 2810, 2818, 2820, 670, 2819, 2821, 2822, 2823, - 2826, 2827, 2828, 2829, 2824, 2825, 2830, 2798, 1303, 0, - 2952, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 548, 814, 814, 0, 0, 0, 607, - 0, 2484, 0, 0, 0, 0, 0, 2982, 0, 0, - 0, 0, 0, 781, 0, 0, 0, 2987, 0, 0, - 0, 0, 147, 1464, 154, 0, 1461, 2522, 148, 149, - 0, 792, 0, 0, 165, 0, 548, 0, 0, 0, - 2531, 0, 0, 171, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2547, 0, - 0, 2550, 2555, 0, 0, 0, 1817, 0, 0, 2559, - 0, 0, 0, 0, 0, 2987, 0, 0, 0, 0, - 0, 0, 0, 2569, 2570, 2572, 2574, 0, 0, 0, - 0, 0, 0, 0, 2580, 0, 0, 0, 0, 2584, - 2585, 2586, 0, 0, 0, 0, 2589, 0, 0, 0, - 0, 0, 2591, 0, 0, 2595, 2596, 2597, 2598, 2599, - 2600, 2601, 2602, 2603, 2604, 3014, 0, 2605, 0, 0, - 0, 0, 0, 2610, 0, 1406, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2612, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 156, 0, 0, 0, 0, 0, 0, 0, 2632, 2633, - 0, 0, 2637, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2649, 2650, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 548, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 708, 79, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2675, 0, 0, 0, 0, 150, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1304, 2690, 0, 0, 2691, 2692, 2693, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 144, 0, 0, 145, 1394, 0, 1304, 0, - 2716, 1304, 0, 0, 0, 0, 548, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 771, - 0, 79, 0, 1537, 0, 157, 0, 0, 0, 0, - 0, 0, 169, 0, 0, 0, 0, 0, 548, 771, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1587, 978, 0, 0, 0, 0, - 0, 0, 0, 2745, 0, 0, 0, 2746, 0, 0, - 548, 0, 0, 2750, 177, 0, 0, 548, 1407, 0, - 0, 0, 0, 0, 0, 0, 1610, 1611, 548, 548, - 548, 548, 548, 548, 548, 0, 0, 0, 0, 0, - 0, 0, 0, 158, 163, 160, 166, 167, 168, 170, - 172, 173, 174, 175, 1406, 0, 0, 0, 0, 176, - 178, 179, 180, 0, 0, 0, 0, 548, 0, 0, - 0, 0, 0, 0, 0, 0, 1420, 1423, 1424, 1425, - 1426, 1427, 1428, 0, 1429, 1430, 1431, 1432, 1433, 1408, - 1409, 1410, 1411, 1392, 1393, 1421, 0, 1395, 0, 1396, - 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 0, 0, - 1405, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 0, - 0, 799, 0, 0, 0, 0, 0, 0, 799, 799, - 0, 0, 2854, 0, 1304, 0, 0, 0, 0, 0, - 0, 2861, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2871, 2872, 2873, - 0, 2874, 2875, 0, 0, 0, 0, 2878, 0, 2879, - 0, 2881, 2884, 0, 0, 0, 0, 0, 2888, 799, - 1587, 799, 799, 799, 799, 799, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1394, 0, 0, 0, 0, - 1192, 0, 0, 0, 0, 0, 1537, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2914, 0, 0, 0, - 0, 799, 0, 0, 0, 0, 0, 0, 1239, 0, - 0, 0, 1422, 0, 0, 781, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 548, 0, - 0, 0, 0, 0, 0, 1587, 0, 548, 0, 548, - 0, 548, 1853, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1407, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2936, 0, - 0, 0, 0, 0, 0, 0, 0, 2935, 0, 0, - 607, 0, 2941, 0, 0, 0, 0, 2946, 0, 0, - 0, 0, 0, 2947, 2948, 0, 0, 0, 0, 0, - 0, 0, 0, 2122, 0, 0, 709, 710, 0, 0, - 0, 2954, 1685, 0, 0, 1420, 1423, 1424, 1425, 1426, - 1427, 1428, 0, 1429, 1430, 1431, 1432, 1433, 1408, 1409, - 1410, 1411, 1392, 1393, 1421, 0, 1395, 0, 1396, 1397, - 1398, 1399, 1400, 1401, 1402, 1403, 1404, 0, 0, 1405, - 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 0, 0, - 0, 0, 3005, 0, 0, 1353, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3011, 0, 0, 0, 3012, 0, 716, 717, 718, - 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, - 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, - 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, - 749, 750, 751, 752, 753, 754, 755, 756, 757, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 548, 0, - 0, 1152, 0, 1152, 1152, 548, 0, 0, 0, 0, - 0, 0, 548, 548, 0, 0, 548, 0, 2009, 0, - 79, 0, 0, 0, 0, 548, 0, 0, 0, 0, - 0, 1422, 548, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 771, 1227, 1228, - 1229, 0, 1232, 0, 1234, 1235, 1236, 1237, 548, 1240, - 1242, 1242, 0, 1242, 1246, 1246, 1248, 1249, 1250, 1251, + 175, 0, 0, 0, 0, 0, 176, 178, 179, 180, + 0, 0, 78, 39, 40, 80, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 84, 0, 0, 0, 43, 69, 70, 0, + 67, 71, 0, 0, 0, 0, 0, 187, 0, 68, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 156, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 187, 0, 56, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 87, 0, 0, 0, 0, 187, 0, 0, 187, 187, + 187, 0, 0, 0, 0, 0, 0, 0, 596, 596, + 0, 0, 0, 0, 0, 816, 0, 0, 0, 0, + 0, 0, 0, 1707, 0, 0, 0, 1708, 0, 0, + 0, 1821, 0, 0, 0, 0, 0, 2132, 0, 0, + 0, 0, 0, 150, 0, 0, 0, 0, 2147, 0, + 0, 0, 596, 596, 596, 596, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 144, 0, + 0, 145, 0, 0, 0, 0, 0, 0, 1341, 1794, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 157, 0, 0, 0, 0, 0, 0, 169, 1409, + 0, 1817, 0, 187, 46, 49, 52, 51, 54, 0, + 66, 0, 0, 75, 72, 0, 0, 0, 0, 2230, + 0, 0, 0, 0, 0, 0, 0, 596, 0, 596, + 0, 0, 0, 0, 0, 0, 55, 83, 82, 0, + 177, 64, 65, 53, 0, 0, 1821, 0, 0, 73, + 74, 0, 0, 2255, 0, 0, 0, 0, 0, 0, + 0, 0, 2260, 0, 0, 0, 0, 0, 0, 158, + 163, 160, 166, 167, 168, 170, 172, 173, 174, 175, + 0, 0, 0, 0, 0, 176, 178, 179, 180, 57, + 58, 596, 59, 60, 61, 62, 0, 0, 0, 0, + 0, 0, 0, 1920, 187, 0, 0, 596, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 596, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 549, 0, 549, + 1397, 0, 549, 0, 0, 0, 1683, 0, 0, 0, + 0, 596, 0, 0, 0, 596, 596, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2807, 2809, + 2808, 2818, 2819, 2820, 2821, 2822, 2823, 2824, 649, 0, + 0, 0, 0, 0, 596, 1306, 0, 1306, 0, 0, + 1306, 0, 0, 0, 0, 1306, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 816, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 81, 0, 1410, 0, 0, 0, 1490, 596, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 187, 0, 0, 2390, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 86, 0, 0, 816, + 596, 187, 0, 1306, 0, 0, 2417, 1490, 1306, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1423, 1426, 1427, 1428, 1429, 1430, 1431, 0, 1432, 1433, + 1434, 1435, 1436, 1411, 1412, 1413, 1414, 1395, 1396, 1424, + 1307, 1398, 596, 1399, 1400, 1401, 1402, 1403, 1404, 1405, + 1406, 1407, 0, 0, 1408, 1415, 1416, 1417, 1418, 1419, + 1420, 1421, 1422, 0, 0, 0, 596, 596, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 596, + 0, 0, 0, 0, 0, 0, 0, 0, 187, 596, + 2040, 0, 972, 549, 2044, 1306, 2045, 2046, 0, 0, + 1821, 0, 0, 0, 0, 2054, 0, 0, 2055, 2056, + 0, 2058, 0, 783, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 549, 0, 596, 2065, + 2066, 2067, 2068, 2069, 0, 2071, 0, 596, 2813, 2814, + 0, 2075, 0, 2076, 0, 0, 0, 2079, 0, 0, + 0, 0, 0, 0, 0, 2088, 2089, 2090, 2091, 0, + 0, 0, 0, 0, 0, 0, 0, 1425, 2102, 2103, + 0, 0, 0, 0, 0, 0, 2108, 2109, 2110, 2111, + 2112, 0, 1817, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2125, 0, 0, 0, 0, 0, 694, + 0, 642, 698, 644, 695, 696, 0, 640, 643, 697, + 0, 711, 712, 2390, 0, 0, 0, 1688, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 647, 648, 2806, 2810, + 2811, 2812, 2815, 2816, 2817, 2825, 2827, 672, 2826, 2828, + 2829, 2830, 2833, 2834, 2835, 2836, 2831, 2832, 2837, 2805, + 2804, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 549, 718, 719, 720, 721, 722, 723, 724, 725, + 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, + 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, + 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, + 756, 757, 758, 759, 1821, 1821, 0, 0, 0, 0, + 0, 1307, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1307, 0, + 0, 1307, 0, 0, 0, 0, 549, 0, 2735, 2736, + 2737, 2738, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1540, 0, 0, 0, 0, 0, 0, + 0, 0, 710, 79, 0, 0, 0, 0, 549, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1590, 0, 0, 1306, 0, 1306, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 549, 0, 0, 0, 0, 0, 2336, 549, 2337, 0, + 0, 0, 2341, 0, 0, 0, 1613, 1614, 549, 549, + 549, 549, 549, 549, 549, 0, 0, 0, 1306, 0, + 0, 0, 2356, 2792, 0, 2794, 0, 0, 0, 0, + 773, 0, 79, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2371, 2372, 0, 0, 549, 0, 0, + 773, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 980, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1821, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 801, 2416, 2863, 0, 0, 0, 0, 801, 801, + 0, 0, 0, 0, 1307, 0, 816, 0, 0, 2434, + 2435, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2896, 0, 0, + 0, 2896, 2896, 0, 0, 0, 0, 0, 0, 0, + 801, 1590, 801, 801, 801, 801, 801, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1821, 0, 0, 0, 0, 0, 0, 1540, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 801, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 783, 0, 0, 0, + 0, 0, 0, 1821, 0, 0, 0, 0, 0, 549, + 0, 0, 0, 0, 0, 0, 1590, 0, 549, 0, + 549, 0, 549, 1857, 0, 0, 2561, 0, 0, 0, + 0, 0, 0, 2565, 0, 0, 1821, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2575, 2576, 2578, + 2580, 0, 0, 0, 0, 0, 0, 0, 0, 2586, + 0, 0, 0, 0, 2590, 2591, 2592, 0, 0, 0, + 0, 2595, 0, 0, 0, 0, 1306, 2597, 2959, 0, + 2601, 2602, 2603, 2604, 2605, 2606, 2607, 2608, 2609, 2610, + 0, 0, 2611, 0, 0, 0, 0, 0, 2616, 0, + 0, 0, 816, 816, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2989, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2994, 0, 0, 0, 0, + 0, 0, 0, 2638, 2639, 0, 0, 2643, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2655, 2656, 0, 0, 0, + 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1821, 0, 0, 0, 0, 0, + 0, 0, 0, 2994, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 549, + 0, 0, 0, 0, 0, 0, 549, 0, 608, 0, + 0, 0, 0, 549, 549, 0, 0, 549, 0, 2013, + 0, 0, 0, 0, 0, 2722, 549, 0, 0, 0, + 0, 0, 0, 549, 0, 0, 0, 0, 0, 0, + 794, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 549, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2751, 0, + 0, 0, 2752, 1154, 0, 1154, 1154, 0, 2756, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 801, 0, 0, 0, 0, 0, 0, 773, + 1229, 1230, 1231, 0, 1234, 0, 1236, 1237, 1238, 1239, + 0, 1242, 1244, 1244, 0, 1244, 1248, 1248, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, - 1282, 1283, 1284, 1285, 0, 1287, 1288, 1289, 1290, 1291, - 1441, 0, 0, 0, 1246, 1246, 1246, 1246, 1246, 0, + 1282, 1283, 1284, 1285, 1286, 1287, 1288, 0, 1290, 1291, + 1292, 1293, 1294, 0, 0, 0, 0, 1248, 1248, 1248, + 1248, 1248, 0, 801, 801, 0, 0, 2861, 0, 0, + 0, 0, 0, 0, 1590, 0, 2868, 549, 0, 0, + 0, 0, 0, 0, 0, 1540, 0, 0, 0, 0, + 0, 0, 2878, 2879, 2880, 0, 2881, 2882, 0, 0, + 0, 0, 2885, 0, 2886, 0, 2888, 2891, 0, 0, + 0, 0, 0, 2895, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1316, 0, 0, 0, + 0, 549, 773, 0, 0, 549, 773, 0, 0, 0, + 0, 0, 773, 0, 0, 0, 0, 0, 0, 0, + 0, 2921, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 182, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2247, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 121, 0, 143, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 164, 0, + 0, 0, 0, 0, 549, 0, 0, 0, 0, 0, + 0, 2240, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2943, 0, 0, 0, 0, 153, + 0, 0, 0, 0, 0, 142, 0, 0, 2948, 0, + 0, 0, 0, 2953, 0, 0, 0, 0, 0, 2954, + 2955, 0, 0, 0, 0, 0, 161, 0, 162, 0, + 0, 0, 0, 0, 0, 0, 0, 2961, 0, 549, + 549, 549, 549, 549, 1465, 1466, 152, 151, 181, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 549, 549, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 549, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 3012, 0, + 0, 801, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3018, 0, 0, + 0, 3019, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1307, 0, 1307, 182, 0, 1307, + 0, 0, 0, 0, 1307, 147, 1467, 154, 1461, 1464, + 0, 148, 149, 0, 0, 0, 0, 165, 801, 0, + 0, 121, 0, 143, 0, 0, 171, 0, 0, 0, + 1194, 0, 0, 0, 164, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 549, 0, 0, 0, 0, 0, 0, 0, 1241, 0, + 0, 0, 0, 0, 0, 153, 0, 0, 0, 0, + 0, 142, 1307, 0, 0, 0, 0, 1307, 549, 549, + 549, 549, 549, 0, 0, 0, 0, 0, 0, 0, + 2433, 0, 161, 0, 162, 549, 0, 0, 1540, 0, + 549, 0, 0, 549, 2444, 1590, 0, 0, 0, 0, + 1465, 1466, 152, 151, 181, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 608, 0, 0, 0, 0, 1154, 0, 0, 0, + 0, 0, 0, 156, 0, 0, 0, 0, 549, 0, + 1154, 1154, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1307, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 549, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 549, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 549, 0, 0, 549, 0, + 0, 147, 1467, 154, 0, 1464, 1356, 148, 149, 0, + 0, 150, 0, 165, 0, 0, 0, 0, 0, 0, + 0, 0, 171, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 144, 0, 0, 145, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 157, + 0, 0, 0, 549, 0, 0, 169, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 177, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 156, + 0, 0, 549, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1849, 0, 0, 0, 158, 163, 160, + 166, 167, 168, 170, 172, 173, 174, 175, 0, 0, + 0, 549, 0, 176, 178, 179, 180, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 549, 1444, 0, 549, 549, 549, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 799, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 150, 0, 0, + 0, 0, 0, 0, 980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 709, 710, 0, 0, - 0, 0, 1685, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1313, 0, 0, 0, 0, 0, 771, - 0, 0, 0, 771, 0, 0, 0, 0, 0, 771, + 0, 0, 144, 0, 0, 145, 0, 980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 799, 799, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1587, 0, 0, 548, 0, 0, 0, 0, - 0, 0, 0, 1537, 0, 0, 1590, 716, 717, 718, - 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, - 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, - 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, - 749, 750, 751, 752, 753, 754, 755, 756, 757, 548, - 0, 0, 0, 548, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1645, - 1646, 1647, 1648, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 548, 0, 0, 0, 0, 0, 0, 2235, - 1690, 1691, 0, 0, 0, 0, 0, 0, 1696, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1735, 1736, 1737, 1738, 1739, 1740, - 1742, 1746, 1747, 607, 1753, 1754, 1755, 1756, 1757, 1758, - 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, - 1769, 1770, 1771, 1772, 1773, 1774, 1775, 548, 548, 548, - 548, 548, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 548, 548, - 0, 0, 0, 0, 0, 607, 0, 0, 0, 0, - 0, 0, 0, 0, 548, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 799, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1825, 1826, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1862, - 0, 1304, 0, 1304, 0, 0, 1304, 0, 0, 0, - 0, 1304, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 799, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1152, 0, 0, 0, 548, 1900, 0, - 0, 0, 0, 0, 0, 0, 0, 1152, 1152, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1304, - 0, 0, 0, 0, 1304, 548, 548, 548, 548, 548, - 0, 0, 0, 0, 0, 0, 0, 2427, 0, 0, - 0, 0, 548, 0, 0, 1537, 0, 548, 0, 0, - 548, 2438, 1587, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 87, 0, - 0, 0, 0, 0, 702, 709, 710, 711, 712, 713, - 703, 705, 0, 0, 0, 704, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 548, 0, 0, 707, 714, - 715, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1304, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 548, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 548, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2528, 2529, 0, 0, 0, 0, - 0, 0, 548, 0, 0, 548, 716, 717, 718, 719, - 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, - 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, - 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, - 750, 751, 752, 753, 754, 755, 756, 757, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1845, + 0, 0, 0, 0, 0, 157, 0, 0, 0, 0, + 0, 0, 169, 0, 0, 0, 1307, 0, 1307, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1593, 1540, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 548, + 0, 0, 0, 0, 177, 0, 0, 1307, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2049, 0, 0, 0, 0, 0, - 0, 2054, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 158, 163, 160, 166, 167, 168, 170, + 172, 173, 174, 175, 0, 0, 0, 0, 0, 176, + 178, 179, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 978, 0, 0, 0, 0, 0, 0, 0, 548, 0, - 0, 0, 0, 1239, 0, 0, 0, 0, 0, 0, + 1648, 1649, 1650, 1651, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1540, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 978, 0, 0, 0, 548, 0, 0, + 0, 0, 0, 0, 0, 2029, 0, 0, 0, 0, + 0, 1693, 1694, 0, 0, 0, 0, 0, 0, 1699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 548, 0, 0, 548, - 548, 548, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1739, 1740, 1741, 1742, + 1743, 1744, 1746, 1750, 1751, 608, 1757, 1758, 1759, 1760, + 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, + 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 692, 1353, - 0, 696, 0, 693, 694, 0, 0, 0, 695, 0, + 0, 0, 0, 0, 0, 0, 0, 608, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 87, 0, 0, 0, 0, 0, - 702, 709, 710, 711, 712, 713, 703, 705, 0, 0, - 0, 704, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 707, 714, 715, 0, 0, 0, - 0, 0, 1304, 0, 1304, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1537, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1540, 0, 0, + 0, 0, 0, 1829, 1830, 0, 0, 2106, 0, 0, + 0, 0, 0, 0, 0, 0, 549, 0, 0, 0, + 0, 0, 0, 0, 2123, 0, 0, 0, 87, 0, + 0, 1866, 0, 0, 704, 711, 712, 713, 714, 715, + 705, 707, 773, 0, 0, 706, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1307, 0, 0, 709, 716, + 717, 0, 0, 2163, 2164, 0, 0, 0, 0, 0, + 0, 0, 2183, 0, 2184, 2185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2528, 2529, 0, 1304, 0, 0, 0, 0, 0, 0, - 0, 2025, 716, 717, 718, 719, 720, 721, 722, 723, - 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, - 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, - 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, - 754, 755, 756, 757, 0, 0, 0, 0, 0, 0, + 1904, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1540, 2534, 2535, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 718, 719, 720, 721, + 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, + 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, + 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, + 752, 753, 754, 755, 756, 757, 758, 759, 87, 0, + 0, 0, 0, 0, 704, 711, 712, 713, 714, 715, + 705, 707, 0, 0, 0, 706, 0, 0, 0, 0, + 0, 0, 0, 2261, 0, 0, 0, 0, 709, 716, + 717, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2127, 0, 0, 711, 712, 0, + 0, 0, 0, 1688, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2534, 2535, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 718, 719, 720, 721, + 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, + 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, + 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, + 752, 753, 754, 755, 756, 757, 758, 759, 718, 719, + 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, + 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, + 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, + 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 694, 0, + 0, 698, 0, 695, 696, 0, 2053, 0, 697, 0, + 0, 1849, 2057, 0, 2059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1537, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2302, 0, 0, + 0, 0, 0, 0, 2414, 0, 79, 0, 0, 1849, + 1849, 1849, 1849, 1849, 0, 0, 1241, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2183, 773, 0, 0, + 0, 1849, 0, 0, 1849, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2325, 2326, 0, 0, 0, - 2329, 0, 0, 0, 0, 0, 0, 2332, 2333, 2334, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2339, - 2340, 2341, 2101, 0, 1753, 2343, 0, 2344, 2345, 0, - 0, 0, 2352, 2353, 0, 0, 0, 0, 0, 2118, - 1753, 1753, 1753, 1753, 1753, 607, 607, 607, 607, 0, - 0, 0, 0, 0, 0, 0, 0, 771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2158, 2159, - 0, 0, 0, 0, 0, 0, 0, 2178, 0, 2179, - 2180, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1537, 0, 0, 2399, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 548, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1304, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2522, 0, 0, + 0, 0, 1356, 0, 0, 0, 0, 2530, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2494, 0, 0, 0, 0, 0, 2256, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2564, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2577, 0, 0, 0, 0, 0, 0, 0, - 2583, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 607, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2408, 0, - 79, 0, 0, 1845, 1845, 1845, 1845, 1845, 0, 0, + 0, 0, 0, 1849, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2664, 0, 0, 0, + 2307, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2330, 2331, + 0, 0, 0, 2334, 0, 0, 0, 0, 0, 0, + 0, 2338, 2339, 2340, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2345, 2346, 2347, 0, 0, 1757, 2349, + 0, 2350, 2351, 0, 0, 0, 2358, 2359, 0, 0, + 0, 0, 0, 0, 1757, 1757, 1757, 1757, 1757, 608, + 608, 608, 608, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2178, 771, 0, 0, 0, 1845, 0, 0, 1845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2697, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2721, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2405, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2516, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2524, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2737, 0, 2738, 0, 0, 0, 0, - 2741, 2742, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2749, 0, 0, 0, 0, 0, - 2558, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2764, 2438, 2768, 2769, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2782, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2790, 0, 0, 2792, 0, 0, 0, + 2414, 0, 79, 0, 2414, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2796, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2834, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1845, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2658, + 0, 0, 0, 2853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2897, - 607, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2583, 0, 0, 0, + 0, 0, 0, 0, 0, 2589, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2414, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1250, 1251, 1255, + 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, + 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, + 1276, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, + 1287, 0, 0, 0, 0, 608, 0, 0, 0, 0, + 0, 0, 0, 0, 2931, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 607, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2962, 0, 0, 0, 0, 79, 2703, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2940, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2758, 0, - 2762, 2763, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2408, 0, 79, 607, 2408, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2727, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3003, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2743, 0, + 2744, 0, 0, 0, 0, 2747, 2748, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2755, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2846, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2788, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2796, 0, + 0, 2798, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2802, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2841, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2408, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1248, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260, - 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, - 1271, 1272, 1273, 1275, 1276, 1277, 1278, 1279, 1280, 1281, - 1282, 1283, 1284, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2924, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 363, 0, - 0, 948, 933, 465, 79, 879, 951, 848, 867, 961, - 870, 873, 915, 827, 893, 381, 864, 819, 852, 822, - 859, 823, 850, 881, 252, 847, 935, 897, 950, 336, - 249, 829, 853, 395, 869, 197, 917, 439, 236, 346, - 343, 472, 264, 255, 251, 235, 291, 353, 393, 459, - 387, 957, 340, 903, 2955, 449, 366, 0, 0, 79, - 883, 939, 891, 929, 878, 916, 837, 902, 952, 865, - 912, 953, 297, 233, 299, 196, 378, 450, 268, 0, - 0, 0, 0, 188, 189, 190, 0, 2975, 0, 2976, - 0, 0, 0, 0, 0, 0, 224, 0, 231, 321, - 330, 329, 310, 311, 313, 315, 320, 327, 333, 861, - 909, 947, 862, 911, 247, 295, 254, 246, 469, 958, - 938, 826, 890, 946, 0, 0, 215, 949, 885, 0, - 914, 0, 964, 821, 905, 0, 824, 828, 960, 942, - 856, 257, 0, 0, 0, 0, 0, 0, 0, 882, - 892, 926, 876, 0, 0, 0, 0, 0, 0, 0, - 854, 0, 901, 0, 0, 0, 833, 825, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2904, 608, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 880, 0, 0, 0, 836, 0, 855, 927, 0, 818, - 278, 830, 367, 239, 0, 931, 941, 877, 505, 945, - 875, 874, 921, 834, 937, 868, 335, 832, 304, 192, - 211, 0, 866, 377, 420, 426, 936, 851, 860, 237, - 858, 424, 391, 488, 219, 266, 417, 397, 422, 404, - 269, 900, 919, 423, 341, 474, 411, 485, 506, 507, - 245, 371, 496, 463, 502, 520, 212, 242, 385, 456, - 491, 446, 364, 470, 471, 303, 445, 276, 195, 339, - 512, 210, 432, 228, 217, 476, 494, 271, 415, 202, - 458, 483, 225, 436, 0, 0, 522, 204, 481, 455, - 360, 300, 301, 203, 0, 416, 250, 274, 240, 380, - 478, 479, 238, 523, 214, 501, 206, 1154, 500, 373, - 473, 482, 361, 351, 205, 480, 359, 350, 306, 325, - 326, 262, 285, 409, 344, 410, 286, 369, 368, 370, - 198, 492, 0, 199, 0, 451, 493, 524, 220, 221, - 223, 846, 261, 265, 273, 275, 281, 282, 289, 337, - 384, 408, 406, 412, 932, 468, 486, 497, 504, 510, - 511, 513, 514, 515, 516, 517, 519, 518, 372, 288, - 447, 305, 342, 924, 963, 390, 425, 226, 490, 448, - 841, 845, 839, 906, 840, 895, 896, 842, 954, 955, - 956, 525, 526, 527, 528, 529, 530, 531, 532, 533, - 534, 535, 536, 537, 538, 539, 540, 541, 542, 0, - 928, 835, 0, 843, 844, 0, 934, 943, 944, 543, - 352, 438, 487, 307, 319, 322, 312, 331, 0, 332, - 308, 309, 314, 316, 317, 318, 323, 324, 328, 334, - 234, 899, 191, 207, 338, 959, 413, 270, 521, 499, - 495, 820, 209, 838, 244, 849, 857, 0, 863, 871, - 872, 884, 886, 887, 888, 889, 907, 908, 910, 918, - 920, 923, 925, 930, 940, 962, 193, 194, 200, 208, - 218, 222, 229, 243, 258, 260, 267, 279, 284, 287, - 292, 293, 296, 302, 348, 354, 355, 356, 357, 374, - 375, 376, 379, 382, 383, 386, 388, 389, 392, 396, - 400, 401, 402, 403, 405, 407, 414, 419, 427, 428, - 429, 430, 431, 434, 435, 440, 441, 442, 443, 444, - 452, 453, 457, 475, 477, 489, 503, 508, 433, 280, - 484, 509, 0, 347, 898, 904, 349, 263, 283, 294, - 913, 498, 454, 213, 421, 272, 201, 232, 216, 241, - 256, 259, 298, 358, 365, 394, 399, 277, 253, 230, - 418, 227, 437, 460, 461, 462, 464, 362, 248, 398, - 894, 922, 345, 466, 467, 290, 363, 0, 0, 948, - 933, 465, 0, 879, 951, 848, 867, 961, 870, 873, - 915, 827, 893, 381, 864, 819, 852, 822, 859, 823, - 850, 881, 252, 847, 935, 897, 950, 336, 249, 829, - 853, 395, 869, 197, 917, 439, 236, 346, 343, 472, - 264, 255, 251, 235, 291, 353, 393, 459, 387, 957, - 340, 903, 0, 449, 366, 0, 0, 0, 883, 939, - 891, 929, 878, 916, 837, 902, 952, 865, 912, 953, - 297, 233, 299, 196, 378, 450, 268, 0, 0, 0, - 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 224, 0, 231, 321, 330, 329, - 310, 311, 313, 315, 320, 327, 333, 861, 909, 947, - 862, 911, 247, 295, 254, 246, 469, 958, 938, 826, - 890, 946, 0, 0, 215, 949, 885, 0, 914, 0, - 964, 821, 905, 0, 824, 828, 960, 942, 856, 257, - 0, 0, 0, 0, 0, 0, 0, 882, 892, 926, - 876, 0, 0, 0, 0, 0, 2439, 0, 854, 0, - 901, 0, 0, 0, 833, 825, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 880, 0, - 0, 0, 836, 0, 855, 927, 0, 818, 278, 830, - 367, 239, 0, 931, 941, 877, 505, 945, 875, 874, - 921, 834, 937, 868, 335, 832, 304, 192, 211, 0, - 866, 377, 420, 426, 936, 851, 860, 237, 858, 424, - 391, 488, 219, 266, 417, 397, 422, 404, 269, 900, - 919, 423, 341, 474, 411, 485, 506, 507, 245, 371, - 496, 463, 502, 520, 212, 242, 385, 456, 491, 446, - 364, 470, 471, 303, 445, 276, 195, 339, 512, 210, - 432, 228, 217, 476, 494, 271, 415, 202, 458, 483, - 225, 436, 0, 0, 522, 204, 481, 455, 360, 300, - 301, 203, 0, 416, 250, 274, 240, 380, 478, 479, - 238, 523, 214, 501, 206, 1154, 500, 373, 473, 482, - 361, 351, 205, 480, 359, 350, 306, 325, 326, 262, - 285, 409, 344, 410, 286, 369, 368, 370, 198, 492, - 0, 199, 0, 451, 493, 524, 220, 221, 223, 846, - 261, 265, 273, 275, 281, 282, 289, 337, 384, 408, - 406, 412, 932, 468, 486, 497, 504, 510, 511, 513, - 514, 515, 516, 517, 519, 518, 372, 288, 447, 305, - 342, 924, 963, 390, 425, 226, 490, 448, 841, 845, - 839, 906, 840, 895, 896, 842, 954, 955, 956, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, - 536, 537, 538, 539, 540, 541, 542, 0, 928, 835, - 0, 843, 844, 0, 934, 943, 944, 543, 352, 438, - 487, 307, 319, 322, 312, 331, 0, 332, 308, 309, - 314, 316, 317, 318, 323, 324, 328, 334, 234, 899, - 191, 207, 338, 959, 413, 270, 521, 499, 495, 820, - 209, 838, 244, 849, 857, 0, 863, 871, 872, 884, - 886, 887, 888, 889, 907, 908, 910, 918, 920, 923, - 925, 930, 940, 962, 193, 194, 200, 208, 218, 222, - 229, 243, 258, 260, 267, 279, 284, 287, 292, 293, - 296, 302, 348, 354, 355, 356, 357, 374, 375, 376, - 379, 382, 383, 386, 388, 389, 392, 396, 400, 401, - 402, 403, 405, 407, 414, 419, 427, 428, 429, 430, - 431, 434, 435, 440, 441, 442, 443, 444, 452, 453, - 457, 475, 477, 489, 503, 508, 433, 280, 484, 509, - 0, 347, 898, 904, 349, 263, 283, 294, 913, 498, - 454, 213, 421, 272, 201, 232, 216, 241, 256, 259, - 298, 358, 365, 394, 399, 277, 253, 230, 418, 227, - 437, 460, 461, 462, 464, 362, 248, 398, 894, 922, - 345, 466, 467, 290, 363, 0, 0, 948, 933, 465, - 0, 879, 951, 848, 867, 961, 870, 873, 915, 827, - 893, 381, 864, 819, 852, 822, 859, 823, 850, 881, - 252, 847, 935, 897, 950, 336, 249, 829, 853, 395, - 869, 197, 917, 439, 236, 346, 343, 472, 264, 255, - 251, 235, 291, 353, 393, 459, 387, 957, 340, 903, - 0, 449, 366, 0, 0, 0, 883, 939, 891, 929, - 878, 916, 837, 902, 952, 865, 912, 953, 297, 233, - 299, 196, 378, 450, 268, 0, 0, 0, 0, 188, - 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 224, 0, 231, 321, 330, 329, 310, 311, - 313, 315, 320, 327, 333, 861, 909, 947, 862, 911, - 247, 295, 254, 246, 469, 958, 938, 826, 890, 946, - 0, 0, 215, 949, 885, 0, 914, 0, 964, 821, - 905, 0, 824, 828, 960, 942, 856, 257, 0, 0, - 0, 0, 0, 0, 0, 882, 892, 926, 876, 0, - 0, 0, 0, 0, 2397, 0, 854, 0, 901, 0, - 0, 0, 833, 825, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 880, 0, 0, 0, - 836, 0, 855, 927, 0, 818, 278, 830, 367, 239, - 0, 931, 941, 877, 505, 945, 875, 874, 921, 834, - 937, 868, 335, 832, 304, 192, 211, 0, 866, 377, - 420, 426, 936, 851, 860, 237, 858, 424, 391, 488, - 219, 266, 417, 397, 422, 404, 269, 900, 919, 423, - 341, 474, 411, 485, 506, 507, 245, 371, 496, 463, - 502, 520, 212, 242, 385, 456, 491, 446, 364, 470, - 471, 303, 445, 276, 195, 339, 512, 210, 432, 228, - 217, 476, 494, 271, 415, 202, 458, 483, 225, 436, - 0, 0, 522, 204, 481, 455, 360, 300, 301, 203, - 0, 416, 250, 274, 240, 380, 478, 479, 238, 523, - 214, 501, 206, 1154, 500, 373, 473, 482, 361, 351, - 205, 480, 359, 350, 306, 325, 326, 262, 285, 409, - 344, 410, 286, 369, 368, 370, 198, 492, 0, 199, - 0, 451, 493, 524, 220, 221, 223, 846, 261, 265, - 273, 275, 281, 282, 289, 337, 384, 408, 406, 412, - 932, 468, 486, 497, 504, 510, 511, 513, 514, 515, - 516, 517, 519, 518, 372, 288, 447, 305, 342, 924, - 963, 390, 425, 226, 490, 448, 841, 845, 839, 906, - 840, 895, 896, 842, 954, 955, 956, 525, 526, 527, + 0, 0, 0, 0, 0, 364, 0, 0, 950, 935, + 466, 0, 881, 953, 850, 869, 963, 872, 875, 917, + 829, 895, 382, 866, 821, 854, 824, 861, 825, 852, + 883, 253, 849, 937, 899, 952, 337, 250, 831, 855, + 396, 871, 197, 919, 440, 237, 347, 344, 473, 265, + 256, 252, 236, 292, 354, 394, 460, 388, 959, 341, + 905, 0, 450, 367, 608, 0, 0, 885, 941, 893, + 931, 880, 918, 839, 904, 954, 867, 914, 955, 298, + 234, 300, 196, 379, 451, 269, 0, 0, 0, 0, + 188, 189, 190, 0, 2982, 0, 2983, 0, 2947, 0, + 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, + 312, 314, 316, 321, 328, 334, 863, 911, 949, 864, + 913, 248, 296, 255, 247, 470, 960, 940, 828, 892, + 948, 0, 0, 216, 951, 887, 0, 916, 0, 966, + 823, 907, 608, 826, 830, 962, 944, 858, 258, 0, + 0, 0, 0, 0, 0, 0, 884, 894, 928, 878, + 0, 0, 0, 0, 0, 0, 0, 856, 0, 903, + 0, 0, 0, 835, 827, 0, 0, 0, 3010, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 882, 0, 0, + 0, 838, 0, 857, 929, 0, 820, 279, 832, 368, + 240, 0, 933, 943, 879, 506, 947, 877, 876, 923, + 836, 939, 870, 336, 834, 305, 192, 212, 0, 868, + 378, 421, 427, 938, 853, 862, 238, 860, 425, 392, + 489, 220, 267, 418, 398, 423, 405, 270, 902, 921, + 424, 342, 475, 412, 486, 507, 508, 246, 372, 497, + 464, 503, 521, 213, 243, 386, 457, 492, 447, 365, + 471, 472, 304, 446, 277, 195, 340, 513, 211, 433, + 229, 218, 477, 495, 272, 416, 203, 459, 484, 226, + 437, 0, 0, 523, 205, 482, 456, 361, 301, 302, + 204, 0, 417, 251, 275, 241, 381, 479, 480, 239, + 524, 215, 502, 207, 1156, 501, 374, 474, 483, 362, + 352, 206, 481, 360, 351, 307, 326, 327, 263, 286, + 410, 345, 411, 287, 370, 369, 371, 198, 493, 0, + 199, 0, 452, 494, 525, 221, 222, 224, 848, 262, + 266, 274, 276, 282, 283, 290, 338, 385, 409, 407, + 413, 934, 469, 487, 498, 505, 511, 512, 514, 515, + 516, 517, 518, 520, 519, 373, 289, 448, 306, 343, + 926, 965, 391, 426, 227, 491, 449, 843, 847, 841, + 908, 842, 897, 898, 844, 956, 957, 958, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, - 538, 539, 540, 541, 542, 0, 928, 835, 0, 843, - 844, 0, 934, 943, 944, 543, 352, 438, 487, 307, - 319, 322, 312, 331, 0, 332, 308, 309, 314, 316, - 317, 318, 323, 324, 328, 334, 234, 899, 191, 207, - 338, 959, 413, 270, 521, 499, 495, 820, 209, 838, - 244, 849, 857, 0, 863, 871, 872, 884, 886, 887, - 888, 889, 907, 908, 910, 918, 920, 923, 925, 930, - 940, 962, 193, 194, 200, 208, 218, 222, 229, 243, - 258, 260, 267, 279, 284, 287, 292, 293, 296, 302, - 348, 354, 355, 356, 357, 374, 375, 376, 379, 382, - 383, 386, 388, 389, 392, 396, 400, 401, 402, 403, - 405, 407, 414, 419, 427, 428, 429, 430, 431, 434, - 435, 440, 441, 442, 443, 444, 452, 453, 457, 475, - 477, 489, 503, 508, 433, 280, 484, 509, 0, 347, - 898, 904, 349, 263, 283, 294, 913, 498, 454, 213, - 421, 272, 201, 232, 216, 241, 256, 259, 298, 358, - 365, 394, 399, 277, 253, 230, 418, 227, 437, 460, - 461, 462, 464, 362, 248, 398, 894, 922, 345, 466, - 467, 290, 363, 0, 0, 948, 933, 465, 0, 879, - 951, 848, 867, 961, 870, 873, 915, 827, 893, 381, - 864, 819, 852, 822, 859, 823, 850, 881, 252, 847, - 935, 897, 950, 336, 249, 829, 853, 395, 869, 197, - 917, 439, 236, 346, 343, 472, 264, 255, 251, 235, - 291, 353, 393, 459, 387, 957, 340, 903, 0, 449, - 366, 0, 0, 0, 883, 939, 891, 929, 878, 916, - 837, 902, 952, 865, 912, 953, 297, 233, 299, 196, - 378, 450, 268, 0, 0, 0, 0, 188, 189, 190, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 224, 0, 231, 321, 330, 329, 310, 311, 313, 315, - 320, 327, 333, 861, 909, 947, 862, 911, 247, 295, - 254, 246, 469, 958, 938, 826, 890, 946, 0, 0, - 215, 949, 885, 0, 914, 0, 964, 821, 905, 0, - 824, 828, 960, 942, 856, 257, 0, 0, 0, 0, - 0, 0, 0, 882, 892, 926, 876, 0, 0, 0, - 0, 0, 1833, 0, 854, 0, 901, 0, 0, 0, - 833, 825, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 880, 0, 0, 0, 836, 0, - 855, 927, 0, 818, 278, 830, 367, 239, 0, 931, - 941, 877, 505, 945, 875, 874, 921, 834, 937, 868, - 335, 832, 304, 192, 211, 0, 866, 377, 420, 426, - 936, 851, 860, 237, 858, 424, 391, 488, 219, 266, - 417, 397, 422, 404, 269, 900, 919, 423, 341, 474, - 411, 485, 506, 507, 245, 371, 496, 463, 502, 520, - 212, 242, 385, 456, 491, 446, 364, 470, 471, 303, - 445, 276, 195, 339, 512, 210, 432, 228, 217, 476, - 494, 271, 415, 202, 458, 483, 225, 436, 0, 0, - 522, 204, 481, 455, 360, 300, 301, 203, 0, 416, - 250, 274, 240, 380, 478, 479, 238, 523, 214, 501, - 206, 1154, 500, 373, 473, 482, 361, 351, 205, 480, - 359, 350, 306, 325, 326, 262, 285, 409, 344, 410, - 286, 369, 368, 370, 198, 492, 0, 199, 0, 451, - 493, 524, 220, 221, 223, 846, 261, 265, 273, 275, - 281, 282, 289, 337, 384, 408, 406, 412, 932, 468, - 486, 497, 504, 510, 511, 513, 514, 515, 516, 517, - 519, 518, 372, 288, 447, 305, 342, 924, 963, 390, - 425, 226, 490, 448, 841, 845, 839, 906, 840, 895, - 896, 842, 954, 955, 956, 525, 526, 527, 528, 529, + 538, 539, 540, 541, 542, 543, 0, 930, 837, 0, + 845, 846, 0, 936, 945, 946, 544, 353, 439, 488, + 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, + 317, 318, 319, 324, 325, 329, 335, 235, 201, 901, + 191, 208, 339, 961, 414, 271, 522, 500, 496, 822, + 210, 840, 245, 851, 859, 0, 865, 873, 874, 886, + 888, 889, 890, 891, 909, 910, 912, 920, 922, 925, + 927, 932, 942, 964, 193, 194, 200, 209, 219, 223, + 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, + 297, 303, 349, 355, 356, 357, 358, 375, 376, 377, + 380, 383, 384, 387, 389, 390, 393, 397, 401, 402, + 403, 404, 406, 408, 415, 420, 428, 429, 430, 431, + 432, 435, 436, 441, 442, 443, 444, 445, 453, 454, + 458, 476, 478, 490, 504, 509, 434, 281, 485, 510, + 0, 348, 900, 906, 350, 264, 284, 295, 915, 499, + 455, 214, 422, 273, 202, 233, 217, 242, 257, 260, + 299, 359, 366, 395, 400, 278, 254, 231, 419, 228, + 438, 461, 462, 463, 465, 363, 249, 399, 896, 924, + 346, 467, 468, 291, 364, 0, 0, 950, 935, 466, + 0, 881, 953, 850, 869, 963, 872, 875, 917, 829, + 895, 382, 866, 821, 854, 824, 861, 825, 852, 883, + 253, 849, 937, 899, 952, 337, 250, 831, 855, 396, + 871, 197, 919, 440, 237, 347, 344, 473, 265, 256, + 252, 236, 292, 354, 394, 460, 388, 959, 341, 905, + 0, 450, 367, 0, 0, 0, 885, 941, 893, 931, + 880, 918, 839, 904, 954, 867, 914, 955, 298, 234, + 300, 196, 379, 451, 269, 0, 0, 0, 0, 188, + 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, + 314, 316, 321, 328, 334, 863, 911, 949, 864, 913, + 248, 296, 255, 247, 470, 960, 940, 828, 892, 948, + 0, 0, 216, 951, 887, 0, 916, 0, 966, 823, + 907, 0, 826, 830, 962, 944, 858, 258, 0, 0, + 0, 0, 0, 0, 0, 884, 894, 928, 878, 0, + 0, 0, 0, 0, 2445, 0, 856, 0, 903, 0, + 0, 0, 835, 827, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 882, 0, 0, 0, + 838, 0, 857, 929, 0, 820, 279, 832, 368, 240, + 0, 933, 943, 879, 506, 947, 877, 876, 923, 836, + 939, 870, 336, 834, 305, 192, 212, 0, 868, 378, + 421, 427, 938, 853, 862, 238, 860, 425, 392, 489, + 220, 267, 418, 398, 423, 405, 270, 902, 921, 424, + 342, 475, 412, 486, 507, 508, 246, 372, 497, 464, + 503, 521, 213, 243, 386, 457, 492, 447, 365, 471, + 472, 304, 446, 277, 195, 340, 513, 211, 433, 229, + 218, 477, 495, 272, 416, 203, 459, 484, 226, 437, + 0, 0, 523, 205, 482, 456, 361, 301, 302, 204, + 0, 417, 251, 275, 241, 381, 479, 480, 239, 524, + 215, 502, 207, 1156, 501, 374, 474, 483, 362, 352, + 206, 481, 360, 351, 307, 326, 327, 263, 286, 410, + 345, 411, 287, 370, 369, 371, 198, 493, 0, 199, + 0, 452, 494, 525, 221, 222, 224, 848, 262, 266, + 274, 276, 282, 283, 290, 338, 385, 409, 407, 413, + 934, 469, 487, 498, 505, 511, 512, 514, 515, 516, + 517, 518, 520, 519, 373, 289, 448, 306, 343, 926, + 965, 391, 426, 227, 491, 449, 843, 847, 841, 908, + 842, 897, 898, 844, 956, 957, 958, 526, 527, 528, + 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, + 539, 540, 541, 542, 543, 0, 930, 837, 0, 845, + 846, 0, 936, 945, 946, 544, 353, 439, 488, 308, + 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, + 318, 319, 324, 325, 329, 335, 235, 201, 901, 191, + 208, 339, 961, 414, 271, 522, 500, 496, 822, 210, + 840, 245, 851, 859, 0, 865, 873, 874, 886, 888, + 889, 890, 891, 909, 910, 912, 920, 922, 925, 927, + 932, 942, 964, 193, 194, 200, 209, 219, 223, 230, + 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, + 303, 349, 355, 356, 357, 358, 375, 376, 377, 380, + 383, 384, 387, 389, 390, 393, 397, 401, 402, 403, + 404, 406, 408, 415, 420, 428, 429, 430, 431, 432, + 435, 436, 441, 442, 443, 444, 445, 453, 454, 458, + 476, 478, 490, 504, 509, 434, 281, 485, 510, 0, + 348, 900, 906, 350, 264, 284, 295, 915, 499, 455, + 214, 422, 273, 202, 233, 217, 242, 257, 260, 299, + 359, 366, 395, 400, 278, 254, 231, 419, 228, 438, + 461, 462, 463, 465, 363, 249, 399, 896, 924, 346, + 467, 468, 291, 364, 0, 0, 950, 935, 466, 0, + 881, 953, 850, 869, 963, 872, 875, 917, 829, 895, + 382, 866, 821, 854, 824, 861, 825, 852, 883, 253, + 849, 937, 899, 952, 337, 250, 831, 855, 396, 871, + 197, 919, 440, 237, 347, 344, 473, 265, 256, 252, + 236, 292, 354, 394, 460, 388, 959, 341, 905, 0, + 450, 367, 0, 0, 0, 885, 941, 893, 931, 880, + 918, 839, 904, 954, 867, 914, 955, 298, 234, 300, + 196, 379, 451, 269, 0, 0, 0, 0, 188, 189, + 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, + 316, 321, 328, 334, 863, 911, 949, 864, 913, 248, + 296, 255, 247, 470, 960, 940, 828, 892, 948, 0, + 0, 216, 951, 887, 0, 916, 0, 966, 823, 907, + 0, 826, 830, 962, 944, 858, 258, 0, 0, 0, + 0, 0, 0, 0, 884, 894, 928, 878, 0, 0, + 0, 0, 0, 2403, 0, 856, 0, 903, 0, 0, + 0, 835, 827, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 882, 0, 0, 0, 838, + 0, 857, 929, 0, 820, 279, 832, 368, 240, 0, + 933, 943, 879, 506, 947, 877, 876, 923, 836, 939, + 870, 336, 834, 305, 192, 212, 0, 868, 378, 421, + 427, 938, 853, 862, 238, 860, 425, 392, 489, 220, + 267, 418, 398, 423, 405, 270, 902, 921, 424, 342, + 475, 412, 486, 507, 508, 246, 372, 497, 464, 503, + 521, 213, 243, 386, 457, 492, 447, 365, 471, 472, + 304, 446, 277, 195, 340, 513, 211, 433, 229, 218, + 477, 495, 272, 416, 203, 459, 484, 226, 437, 0, + 0, 523, 205, 482, 456, 361, 301, 302, 204, 0, + 417, 251, 275, 241, 381, 479, 480, 239, 524, 215, + 502, 207, 1156, 501, 374, 474, 483, 362, 352, 206, + 481, 360, 351, 307, 326, 327, 263, 286, 410, 345, + 411, 287, 370, 369, 371, 198, 493, 0, 199, 0, + 452, 494, 525, 221, 222, 224, 848, 262, 266, 274, + 276, 282, 283, 290, 338, 385, 409, 407, 413, 934, + 469, 487, 498, 505, 511, 512, 514, 515, 516, 517, + 518, 520, 519, 373, 289, 448, 306, 343, 926, 965, + 391, 426, 227, 491, 449, 843, 847, 841, 908, 842, + 897, 898, 844, 956, 957, 958, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 0, 928, 835, 0, 843, 844, 0, - 934, 943, 944, 543, 352, 438, 487, 307, 319, 322, - 312, 331, 0, 332, 308, 309, 314, 316, 317, 318, - 323, 324, 328, 334, 234, 899, 191, 207, 338, 959, - 413, 270, 521, 499, 495, 820, 209, 838, 244, 849, - 857, 0, 863, 871, 872, 884, 886, 887, 888, 889, - 907, 908, 910, 918, 920, 923, 925, 930, 940, 962, - 193, 194, 200, 208, 218, 222, 229, 243, 258, 260, - 267, 279, 284, 287, 292, 293, 296, 302, 348, 354, - 355, 356, 357, 374, 375, 376, 379, 382, 383, 386, - 388, 389, 392, 396, 400, 401, 402, 403, 405, 407, - 414, 419, 427, 428, 429, 430, 431, 434, 435, 440, - 441, 442, 443, 444, 452, 453, 457, 475, 477, 489, - 503, 508, 433, 280, 484, 509, 0, 347, 898, 904, - 349, 263, 283, 294, 913, 498, 454, 213, 421, 272, - 201, 232, 216, 241, 256, 259, 298, 358, 365, 394, - 399, 277, 253, 230, 418, 227, 437, 460, 461, 462, - 464, 362, 248, 398, 894, 922, 345, 466, 467, 290, - 363, 0, 0, 948, 933, 465, 0, 879, 951, 848, - 867, 961, 870, 873, 915, 827, 893, 381, 864, 819, - 852, 822, 859, 823, 850, 881, 252, 847, 935, 897, - 950, 336, 249, 829, 853, 395, 869, 197, 917, 439, - 236, 346, 343, 472, 264, 255, 251, 235, 291, 353, - 393, 459, 387, 957, 340, 903, 0, 449, 366, 0, - 0, 0, 883, 939, 891, 929, 878, 916, 837, 902, - 952, 865, 912, 953, 297, 233, 299, 196, 378, 450, - 268, 0, 87, 0, 0, 188, 189, 190, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, - 231, 321, 330, 329, 310, 311, 313, 315, 320, 327, - 333, 861, 909, 947, 862, 911, 247, 295, 254, 246, - 469, 958, 938, 826, 890, 946, 0, 0, 215, 949, - 885, 0, 914, 0, 964, 821, 905, 0, 824, 828, - 960, 942, 856, 257, 0, 0, 0, 0, 0, 0, - 0, 882, 892, 926, 876, 0, 0, 0, 0, 0, - 0, 0, 854, 0, 901, 0, 0, 0, 833, 825, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 880, 0, 0, 0, 836, 0, 855, 927, - 0, 818, 278, 830, 367, 239, 0, 931, 941, 877, - 505, 945, 875, 874, 921, 834, 937, 868, 335, 832, - 304, 192, 211, 0, 866, 377, 420, 426, 936, 851, - 860, 237, 858, 424, 391, 488, 219, 266, 417, 397, - 422, 404, 269, 900, 919, 423, 341, 474, 411, 485, - 506, 507, 245, 371, 496, 463, 502, 520, 212, 242, - 385, 456, 491, 446, 364, 470, 471, 303, 445, 276, - 195, 339, 512, 210, 432, 228, 217, 476, 494, 271, - 415, 202, 458, 483, 225, 436, 0, 0, 522, 204, - 481, 455, 360, 300, 301, 203, 0, 416, 250, 274, - 240, 380, 478, 479, 238, 523, 214, 501, 206, 1154, - 500, 373, 473, 482, 361, 351, 205, 480, 359, 350, - 306, 325, 326, 262, 285, 409, 344, 410, 286, 369, - 368, 370, 198, 492, 0, 199, 0, 451, 493, 524, - 220, 221, 223, 846, 261, 265, 273, 275, 281, 282, - 289, 337, 384, 408, 406, 412, 932, 468, 486, 497, - 504, 510, 511, 513, 514, 515, 516, 517, 519, 518, - 372, 288, 447, 305, 342, 924, 963, 390, 425, 226, - 490, 448, 841, 845, 839, 906, 840, 895, 896, 842, - 954, 955, 956, 525, 526, 527, 528, 529, 530, 531, + 540, 541, 542, 543, 0, 930, 837, 0, 845, 846, + 0, 936, 945, 946, 544, 353, 439, 488, 308, 320, + 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, + 319, 324, 325, 329, 335, 235, 201, 901, 191, 208, + 339, 961, 414, 271, 522, 500, 496, 822, 210, 840, + 245, 851, 859, 0, 865, 873, 874, 886, 888, 889, + 890, 891, 909, 910, 912, 920, 922, 925, 927, 932, + 942, 964, 193, 194, 200, 209, 219, 223, 230, 244, + 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, + 349, 355, 356, 357, 358, 375, 376, 377, 380, 383, + 384, 387, 389, 390, 393, 397, 401, 402, 403, 404, + 406, 408, 415, 420, 428, 429, 430, 431, 432, 435, + 436, 441, 442, 443, 444, 445, 453, 454, 458, 476, + 478, 490, 504, 509, 434, 281, 485, 510, 0, 348, + 900, 906, 350, 264, 284, 295, 915, 499, 455, 214, + 422, 273, 202, 233, 217, 242, 257, 260, 299, 359, + 366, 395, 400, 278, 254, 231, 419, 228, 438, 461, + 462, 463, 465, 363, 249, 399, 896, 924, 346, 467, + 468, 291, 364, 0, 0, 950, 935, 466, 0, 881, + 953, 850, 869, 963, 872, 875, 917, 829, 895, 382, + 866, 821, 854, 824, 861, 825, 852, 883, 253, 849, + 937, 899, 952, 337, 250, 831, 855, 396, 871, 197, + 919, 440, 237, 347, 344, 473, 265, 256, 252, 236, + 292, 354, 394, 460, 388, 959, 341, 905, 0, 450, + 367, 0, 0, 0, 885, 941, 893, 931, 880, 918, + 839, 904, 954, 867, 914, 955, 298, 234, 300, 196, + 379, 451, 269, 0, 0, 0, 0, 188, 189, 190, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, + 321, 328, 334, 863, 911, 949, 864, 913, 248, 296, + 255, 247, 470, 960, 940, 828, 892, 948, 0, 0, + 216, 951, 887, 0, 916, 0, 966, 823, 907, 0, + 826, 830, 962, 944, 858, 258, 0, 0, 0, 0, + 0, 0, 0, 884, 894, 928, 878, 0, 0, 0, + 0, 0, 1837, 0, 856, 0, 903, 0, 0, 0, + 835, 827, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 882, 0, 0, 0, 838, 0, + 857, 929, 0, 820, 279, 832, 368, 240, 0, 933, + 943, 879, 506, 947, 877, 876, 923, 836, 939, 870, + 336, 834, 305, 192, 212, 0, 868, 378, 421, 427, + 938, 853, 862, 238, 860, 425, 392, 489, 220, 267, + 418, 398, 423, 405, 270, 902, 921, 424, 342, 475, + 412, 486, 507, 508, 246, 372, 497, 464, 503, 521, + 213, 243, 386, 457, 492, 447, 365, 471, 472, 304, + 446, 277, 195, 340, 513, 211, 433, 229, 218, 477, + 495, 272, 416, 203, 459, 484, 226, 437, 0, 0, + 523, 205, 482, 456, 361, 301, 302, 204, 0, 417, + 251, 275, 241, 381, 479, 480, 239, 524, 215, 502, + 207, 1156, 501, 374, 474, 483, 362, 352, 206, 481, + 360, 351, 307, 326, 327, 263, 286, 410, 345, 411, + 287, 370, 369, 371, 198, 493, 0, 199, 0, 452, + 494, 525, 221, 222, 224, 848, 262, 266, 274, 276, + 282, 283, 290, 338, 385, 409, 407, 413, 934, 469, + 487, 498, 505, 511, 512, 514, 515, 516, 517, 518, + 520, 519, 373, 289, 448, 306, 343, 926, 965, 391, + 426, 227, 491, 449, 843, 847, 841, 908, 842, 897, + 898, 844, 956, 957, 958, 526, 527, 528, 529, 530, + 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, + 541, 542, 543, 0, 930, 837, 0, 845, 846, 0, + 936, 945, 946, 544, 353, 439, 488, 308, 320, 323, + 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, + 324, 325, 329, 335, 235, 201, 901, 191, 208, 339, + 961, 414, 271, 522, 500, 496, 822, 210, 840, 245, + 851, 859, 0, 865, 873, 874, 886, 888, 889, 890, + 891, 909, 910, 912, 920, 922, 925, 927, 932, 942, + 964, 193, 194, 200, 209, 219, 223, 230, 244, 259, + 261, 268, 280, 285, 288, 293, 294, 297, 303, 349, + 355, 356, 357, 358, 375, 376, 377, 380, 383, 384, + 387, 389, 390, 393, 397, 401, 402, 403, 404, 406, + 408, 415, 420, 428, 429, 430, 431, 432, 435, 436, + 441, 442, 443, 444, 445, 453, 454, 458, 476, 478, + 490, 504, 509, 434, 281, 485, 510, 0, 348, 900, + 906, 350, 264, 284, 295, 915, 499, 455, 214, 422, + 273, 202, 233, 217, 242, 257, 260, 299, 359, 366, + 395, 400, 278, 254, 231, 419, 228, 438, 461, 462, + 463, 465, 363, 249, 399, 896, 924, 346, 467, 468, + 291, 364, 0, 0, 950, 935, 466, 0, 881, 953, + 850, 869, 963, 872, 875, 917, 829, 895, 382, 866, + 821, 854, 824, 861, 825, 852, 883, 253, 849, 937, + 899, 952, 337, 250, 831, 855, 396, 871, 197, 919, + 440, 237, 347, 344, 473, 265, 256, 252, 236, 292, + 354, 394, 460, 388, 959, 341, 905, 0, 450, 367, + 0, 0, 0, 885, 941, 893, 931, 880, 918, 839, + 904, 954, 867, 914, 955, 298, 234, 300, 196, 379, + 451, 269, 0, 87, 0, 0, 188, 189, 190, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, + 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, + 328, 334, 863, 911, 949, 864, 913, 248, 296, 255, + 247, 470, 960, 940, 828, 892, 948, 0, 0, 216, + 951, 887, 0, 916, 0, 966, 823, 907, 0, 826, + 830, 962, 944, 858, 258, 0, 0, 0, 0, 0, + 0, 0, 884, 894, 928, 878, 0, 0, 0, 0, + 0, 0, 0, 856, 0, 903, 0, 0, 0, 835, + 827, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 882, 0, 0, 0, 838, 0, 857, + 929, 0, 820, 279, 832, 368, 240, 0, 933, 943, + 879, 506, 947, 877, 876, 923, 836, 939, 870, 336, + 834, 305, 192, 212, 0, 868, 378, 421, 427, 938, + 853, 862, 238, 860, 425, 392, 489, 220, 267, 418, + 398, 423, 405, 270, 902, 921, 424, 342, 475, 412, + 486, 507, 508, 246, 372, 497, 464, 503, 521, 213, + 243, 386, 457, 492, 447, 365, 471, 472, 304, 446, + 277, 195, 340, 513, 211, 433, 229, 218, 477, 495, + 272, 416, 203, 459, 484, 226, 437, 0, 0, 523, + 205, 482, 456, 361, 301, 302, 204, 0, 417, 251, + 275, 241, 381, 479, 480, 239, 524, 215, 502, 207, + 1156, 501, 374, 474, 483, 362, 352, 206, 481, 360, + 351, 307, 326, 327, 263, 286, 410, 345, 411, 287, + 370, 369, 371, 198, 493, 0, 199, 0, 452, 494, + 525, 221, 222, 224, 848, 262, 266, 274, 276, 282, + 283, 290, 338, 385, 409, 407, 413, 934, 469, 487, + 498, 505, 511, 512, 514, 515, 516, 517, 518, 520, + 519, 373, 289, 448, 306, 343, 926, 965, 391, 426, + 227, 491, 449, 843, 847, 841, 908, 842, 897, 898, + 844, 956, 957, 958, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, - 542, 0, 928, 835, 0, 843, 844, 0, 934, 943, - 944, 543, 352, 438, 487, 307, 319, 322, 312, 331, - 0, 332, 308, 309, 314, 316, 317, 318, 323, 324, - 328, 334, 234, 899, 191, 207, 338, 959, 413, 270, - 521, 499, 495, 820, 209, 838, 244, 849, 857, 0, - 863, 871, 872, 884, 886, 887, 888, 889, 907, 908, - 910, 918, 920, 923, 925, 930, 940, 962, 193, 194, - 200, 208, 218, 222, 229, 243, 258, 260, 267, 279, - 284, 287, 292, 293, 296, 302, 348, 354, 355, 356, - 357, 374, 375, 376, 379, 382, 383, 386, 388, 389, - 392, 396, 400, 401, 402, 403, 405, 407, 414, 419, - 427, 428, 429, 430, 431, 434, 435, 440, 441, 442, - 443, 444, 452, 453, 457, 475, 477, 489, 503, 508, - 433, 280, 484, 509, 0, 347, 898, 904, 349, 263, - 283, 294, 913, 498, 454, 213, 421, 272, 201, 232, - 216, 241, 256, 259, 298, 358, 365, 394, 399, 277, - 253, 230, 418, 227, 437, 460, 461, 462, 464, 362, - 248, 398, 894, 922, 345, 466, 467, 290, 363, 0, - 0, 948, 933, 465, 0, 879, 951, 848, 867, 961, - 870, 873, 915, 827, 893, 381, 864, 819, 852, 822, - 859, 823, 850, 881, 252, 847, 935, 897, 950, 336, - 249, 829, 853, 395, 869, 197, 917, 439, 236, 346, - 343, 472, 264, 255, 251, 235, 291, 353, 393, 459, - 387, 957, 340, 903, 0, 449, 366, 0, 0, 0, - 883, 939, 891, 929, 878, 916, 837, 902, 952, 865, - 912, 953, 297, 233, 299, 196, 378, 450, 268, 0, + 542, 543, 0, 930, 837, 0, 845, 846, 0, 936, + 945, 946, 544, 353, 439, 488, 308, 320, 323, 313, + 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, + 325, 329, 335, 235, 201, 901, 191, 208, 339, 961, + 414, 271, 522, 500, 496, 822, 210, 840, 245, 851, + 859, 0, 865, 873, 874, 886, 888, 889, 890, 891, + 909, 910, 912, 920, 922, 925, 927, 932, 942, 964, + 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, + 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, + 356, 357, 358, 375, 376, 377, 380, 383, 384, 387, + 389, 390, 393, 397, 401, 402, 403, 404, 406, 408, + 415, 420, 428, 429, 430, 431, 432, 435, 436, 441, + 442, 443, 444, 445, 453, 454, 458, 476, 478, 490, + 504, 509, 434, 281, 485, 510, 0, 348, 900, 906, + 350, 264, 284, 295, 915, 499, 455, 214, 422, 273, + 202, 233, 217, 242, 257, 260, 299, 359, 366, 395, + 400, 278, 254, 231, 419, 228, 438, 461, 462, 463, + 465, 363, 249, 399, 896, 924, 346, 467, 468, 291, + 364, 0, 0, 950, 935, 466, 0, 881, 953, 850, + 869, 963, 872, 875, 917, 829, 895, 382, 866, 821, + 854, 824, 861, 825, 852, 883, 253, 849, 937, 899, + 952, 337, 250, 831, 855, 396, 871, 197, 919, 440, + 237, 347, 344, 473, 265, 256, 252, 236, 292, 354, + 394, 460, 388, 959, 341, 905, 0, 450, 367, 0, + 0, 0, 885, 941, 893, 931, 880, 918, 839, 904, + 954, 867, 914, 955, 298, 234, 300, 196, 379, 451, + 269, 0, 0, 0, 0, 188, 189, 190, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, + 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, + 334, 863, 911, 949, 864, 913, 248, 296, 255, 247, + 470, 960, 940, 828, 892, 948, 0, 0, 216, 951, + 887, 0, 916, 0, 966, 823, 907, 0, 826, 830, + 962, 944, 858, 258, 0, 0, 0, 0, 0, 0, + 0, 884, 894, 928, 878, 0, 0, 0, 0, 0, + 0, 0, 856, 0, 903, 0, 0, 0, 835, 827, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 882, 0, 0, 0, 838, 0, 857, 929, + 0, 820, 279, 832, 368, 240, 0, 933, 943, 879, + 506, 947, 877, 876, 923, 836, 939, 870, 336, 834, + 305, 192, 212, 0, 868, 378, 421, 427, 938, 853, + 862, 238, 860, 425, 392, 489, 220, 267, 418, 398, + 423, 405, 270, 902, 921, 424, 342, 475, 412, 486, + 507, 508, 246, 372, 497, 464, 503, 521, 213, 243, + 386, 457, 492, 447, 365, 471, 472, 304, 446, 277, + 195, 340, 513, 211, 433, 229, 218, 477, 495, 272, + 416, 203, 459, 484, 226, 437, 0, 0, 523, 205, + 482, 456, 361, 301, 302, 204, 0, 417, 251, 275, + 241, 381, 479, 480, 239, 524, 215, 502, 207, 1156, + 501, 374, 474, 483, 362, 352, 206, 481, 360, 351, + 307, 326, 327, 263, 286, 410, 345, 411, 287, 370, + 369, 371, 198, 493, 0, 199, 0, 452, 494, 525, + 221, 222, 224, 848, 262, 266, 274, 276, 282, 283, + 290, 338, 385, 409, 407, 413, 934, 469, 487, 498, + 505, 511, 512, 514, 515, 516, 517, 518, 520, 519, + 373, 289, 448, 306, 343, 926, 965, 391, 426, 227, + 491, 449, 843, 847, 841, 908, 842, 897, 898, 844, + 956, 957, 958, 526, 527, 528, 529, 530, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 0, 930, 837, 0, 845, 846, 0, 936, 945, + 946, 544, 353, 439, 488, 308, 320, 323, 313, 332, + 0, 333, 309, 310, 315, 317, 318, 319, 324, 325, + 329, 335, 235, 201, 901, 191, 208, 339, 961, 414, + 271, 522, 500, 496, 822, 210, 840, 245, 851, 859, + 0, 865, 873, 874, 886, 888, 889, 890, 891, 909, + 910, 912, 920, 922, 925, 927, 932, 942, 964, 193, + 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, + 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, + 357, 358, 375, 376, 377, 380, 383, 384, 387, 389, + 390, 393, 397, 401, 402, 403, 404, 406, 408, 415, + 420, 428, 429, 430, 431, 432, 435, 436, 441, 442, + 443, 444, 445, 453, 454, 458, 476, 478, 490, 504, + 509, 434, 281, 485, 510, 0, 348, 900, 906, 350, + 264, 284, 295, 915, 499, 455, 214, 422, 273, 202, + 233, 217, 242, 257, 260, 299, 359, 366, 395, 400, + 278, 254, 231, 419, 228, 438, 461, 462, 463, 465, + 363, 249, 399, 896, 924, 346, 467, 468, 291, 364, + 0, 0, 950, 935, 466, 0, 881, 953, 850, 869, + 963, 872, 875, 917, 829, 895, 382, 866, 821, 854, + 824, 861, 825, 852, 883, 253, 849, 937, 899, 952, + 337, 250, 831, 855, 396, 871, 197, 919, 440, 237, + 347, 344, 473, 265, 256, 252, 236, 292, 354, 394, + 460, 388, 959, 341, 905, 0, 450, 367, 0, 0, + 0, 885, 941, 893, 931, 880, 918, 839, 904, 954, + 867, 914, 955, 298, 234, 300, 196, 379, 451, 269, + 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, + 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, + 863, 911, 949, 864, 913, 248, 296, 255, 247, 470, + 960, 940, 828, 892, 948, 0, 0, 967, 951, 887, + 0, 916, 0, 966, 823, 907, 0, 826, 830, 962, + 944, 858, 258, 0, 0, 0, 0, 0, 0, 0, + 884, 894, 928, 878, 0, 0, 0, 0, 0, 0, + 0, 856, 0, 903, 0, 0, 0, 835, 827, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 882, 0, 0, 0, 838, 0, 857, 929, 0, + 820, 279, 832, 368, 240, 0, 933, 943, 879, 506, + 947, 877, 876, 923, 836, 939, 870, 336, 834, 305, + 192, 212, 0, 868, 378, 421, 427, 938, 853, 862, + 238, 860, 425, 392, 489, 220, 267, 418, 398, 423, + 405, 270, 902, 921, 424, 342, 475, 412, 486, 507, + 508, 246, 372, 497, 464, 503, 521, 213, 243, 386, + 457, 492, 447, 365, 471, 472, 304, 446, 277, 195, + 340, 513, 211, 433, 229, 218, 477, 495, 272, 416, + 203, 459, 484, 226, 437, 0, 0, 523, 205, 482, + 456, 361, 301, 302, 204, 0, 417, 251, 275, 241, + 381, 479, 480, 239, 524, 215, 502, 207, 833, 501, + 374, 474, 483, 362, 352, 206, 481, 360, 351, 307, + 326, 327, 263, 286, 410, 345, 411, 287, 370, 369, + 371, 198, 493, 0, 199, 0, 452, 494, 525, 221, + 222, 224, 848, 262, 266, 274, 276, 282, 283, 290, + 338, 385, 409, 407, 413, 934, 469, 487, 498, 505, + 511, 512, 514, 515, 516, 517, 518, 520, 519, 819, + 813, 812, 306, 343, 926, 965, 391, 426, 227, 491, + 449, 843, 847, 841, 908, 842, 897, 898, 844, 956, + 957, 958, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 0, 930, 837, 0, 845, 846, 0, 936, 945, 946, + 544, 353, 439, 488, 308, 320, 323, 313, 332, 0, + 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, + 335, 235, 201, 901, 191, 208, 339, 961, 414, 271, + 522, 500, 496, 822, 210, 840, 245, 851, 859, 0, + 865, 873, 874, 886, 888, 889, 890, 891, 909, 910, + 912, 920, 922, 925, 927, 932, 942, 964, 193, 194, + 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, + 285, 288, 293, 294, 297, 303, 349, 355, 356, 357, + 358, 375, 376, 377, 380, 383, 384, 387, 389, 390, + 393, 397, 401, 402, 403, 404, 406, 408, 415, 420, + 428, 429, 430, 431, 432, 435, 436, 441, 442, 443, + 444, 445, 453, 454, 458, 476, 478, 490, 504, 509, + 434, 281, 485, 510, 0, 348, 900, 906, 350, 264, + 284, 295, 915, 499, 455, 214, 422, 273, 202, 233, + 217, 242, 257, 260, 299, 359, 366, 395, 400, 278, + 254, 231, 419, 228, 438, 461, 462, 463, 465, 363, + 249, 399, 896, 924, 346, 467, 468, 291, 364, 0, + 0, 950, 935, 466, 0, 881, 953, 850, 869, 963, + 872, 875, 917, 829, 895, 382, 866, 821, 854, 824, + 861, 825, 852, 883, 253, 849, 937, 899, 952, 337, + 250, 831, 855, 396, 871, 197, 919, 440, 237, 347, + 344, 473, 265, 256, 252, 236, 292, 354, 394, 460, + 388, 959, 341, 905, 0, 450, 367, 0, 0, 0, + 885, 941, 893, 931, 880, 918, 839, 904, 954, 867, + 914, 955, 298, 234, 300, 196, 379, 451, 269, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 224, 0, 231, 321, - 330, 329, 310, 311, 313, 315, 320, 327, 333, 861, - 909, 947, 862, 911, 247, 295, 254, 246, 469, 958, - 938, 826, 890, 946, 0, 0, 215, 949, 885, 0, - 914, 0, 964, 821, 905, 0, 824, 828, 960, 942, - 856, 257, 0, 0, 0, 0, 0, 0, 0, 882, - 892, 926, 876, 0, 0, 0, 0, 0, 0, 0, - 854, 0, 901, 0, 0, 0, 833, 825, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 880, 0, 0, 0, 836, 0, 855, 927, 0, 818, - 278, 830, 367, 239, 0, 931, 941, 877, 505, 945, - 875, 874, 921, 834, 937, 868, 335, 832, 304, 192, - 211, 0, 866, 377, 420, 426, 936, 851, 860, 237, - 858, 424, 391, 488, 219, 266, 417, 397, 422, 404, - 269, 900, 919, 423, 341, 474, 411, 485, 506, 507, - 245, 371, 496, 463, 502, 520, 212, 242, 385, 456, - 491, 446, 364, 470, 471, 303, 445, 276, 195, 339, - 512, 210, 432, 228, 217, 476, 494, 271, 415, 202, - 458, 483, 225, 436, 0, 0, 522, 204, 481, 455, - 360, 300, 301, 203, 0, 416, 250, 274, 240, 380, - 478, 479, 238, 523, 214, 501, 206, 1154, 500, 373, - 473, 482, 361, 351, 205, 480, 359, 350, 306, 325, - 326, 262, 285, 409, 344, 410, 286, 369, 368, 370, - 198, 492, 0, 199, 0, 451, 493, 524, 220, 221, - 223, 846, 261, 265, 273, 275, 281, 282, 289, 337, - 384, 408, 406, 412, 932, 468, 486, 497, 504, 510, - 511, 513, 514, 515, 516, 517, 519, 518, 372, 288, - 447, 305, 342, 924, 963, 390, 425, 226, 490, 448, - 841, 845, 839, 906, 840, 895, 896, 842, 954, 955, - 956, 525, 526, 527, 528, 529, 530, 531, 532, 533, - 534, 535, 536, 537, 538, 539, 540, 541, 542, 0, - 928, 835, 0, 843, 844, 0, 934, 943, 944, 543, - 352, 438, 487, 307, 319, 322, 312, 331, 0, 332, - 308, 309, 314, 316, 317, 318, 323, 324, 328, 334, - 234, 899, 191, 207, 338, 959, 413, 270, 521, 499, - 495, 820, 209, 838, 244, 849, 857, 0, 863, 871, - 872, 884, 886, 887, 888, 889, 907, 908, 910, 918, - 920, 923, 925, 930, 940, 962, 193, 194, 200, 208, - 218, 222, 229, 243, 258, 260, 267, 279, 284, 287, - 292, 293, 296, 302, 348, 354, 355, 356, 357, 374, - 375, 376, 379, 382, 383, 386, 388, 389, 392, 396, - 400, 401, 402, 403, 405, 407, 414, 419, 427, 428, - 429, 430, 431, 434, 435, 440, 441, 442, 443, 444, - 452, 453, 457, 475, 477, 489, 503, 508, 433, 280, - 484, 509, 0, 347, 898, 904, 349, 263, 283, 294, - 913, 498, 454, 213, 421, 272, 201, 232, 216, 241, - 256, 259, 298, 358, 365, 394, 399, 277, 253, 230, - 418, 227, 437, 460, 461, 462, 464, 362, 248, 398, - 894, 922, 345, 466, 467, 290, 363, 0, 0, 948, - 933, 465, 0, 879, 951, 848, 867, 961, 870, 873, - 915, 827, 893, 381, 864, 819, 852, 822, 859, 823, - 850, 881, 252, 847, 935, 897, 950, 336, 249, 829, - 853, 395, 869, 197, 917, 439, 236, 346, 343, 472, - 264, 255, 251, 235, 291, 353, 393, 459, 387, 957, - 340, 903, 0, 449, 366, 0, 0, 0, 883, 939, - 891, 929, 878, 916, 837, 902, 952, 865, 912, 953, - 297, 233, 299, 196, 378, 450, 268, 0, 0, 0, - 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 224, 0, 231, 321, 330, 329, - 310, 311, 313, 315, 320, 327, 333, 861, 909, 947, - 862, 911, 247, 295, 254, 246, 469, 958, 938, 826, - 890, 946, 0, 0, 965, 949, 885, 0, 914, 0, - 964, 821, 905, 0, 824, 828, 960, 942, 856, 257, - 0, 0, 0, 0, 0, 0, 0, 882, 892, 926, - 876, 0, 0, 0, 0, 0, 0, 0, 854, 0, - 901, 0, 0, 0, 833, 825, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 880, 0, - 0, 0, 836, 0, 855, 927, 0, 818, 278, 830, - 367, 239, 0, 931, 941, 877, 505, 945, 875, 874, - 921, 834, 937, 868, 335, 832, 304, 192, 211, 0, - 866, 377, 420, 426, 936, 851, 860, 237, 858, 424, - 391, 488, 219, 266, 417, 397, 422, 404, 269, 900, - 919, 423, 341, 474, 411, 485, 506, 507, 245, 371, - 496, 463, 502, 520, 212, 242, 385, 456, 491, 446, - 364, 470, 471, 303, 445, 276, 195, 339, 512, 210, - 432, 228, 217, 476, 494, 271, 415, 202, 458, 483, - 225, 436, 0, 0, 522, 204, 481, 455, 360, 300, - 301, 203, 0, 416, 250, 274, 240, 380, 478, 479, - 238, 523, 214, 501, 206, 831, 500, 373, 473, 482, - 361, 351, 205, 480, 359, 350, 306, 325, 326, 262, - 285, 409, 344, 410, 286, 369, 368, 370, 198, 492, - 0, 199, 0, 451, 493, 524, 220, 221, 223, 846, - 261, 265, 273, 275, 281, 282, 289, 337, 384, 408, - 406, 412, 932, 468, 486, 497, 504, 510, 511, 513, - 514, 515, 516, 517, 519, 518, 817, 811, 810, 305, - 342, 924, 963, 390, 425, 226, 490, 448, 841, 845, - 839, 906, 840, 895, 896, 842, 954, 955, 956, 525, + 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, + 331, 330, 311, 312, 314, 316, 321, 328, 334, 863, + 911, 949, 864, 913, 248, 296, 255, 247, 470, 960, + 940, 828, 892, 948, 0, 0, 967, 951, 887, 0, + 916, 0, 966, 823, 907, 0, 826, 830, 962, 944, + 858, 258, 0, 0, 0, 0, 0, 0, 0, 884, + 894, 928, 878, 0, 0, 0, 0, 0, 0, 0, + 856, 0, 903, 0, 0, 0, 835, 827, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 882, 0, 0, 0, 838, 0, 857, 929, 0, 820, + 279, 832, 368, 240, 0, 933, 943, 879, 506, 947, + 877, 876, 923, 836, 939, 870, 336, 834, 305, 192, + 212, 0, 868, 378, 421, 427, 938, 853, 862, 238, + 860, 425, 392, 489, 220, 267, 418, 398, 423, 405, + 270, 902, 921, 424, 342, 475, 412, 486, 507, 508, + 246, 372, 497, 464, 503, 521, 213, 243, 386, 457, + 492, 447, 365, 471, 472, 304, 446, 277, 195, 340, + 513, 211, 433, 229, 218, 477, 495, 272, 416, 203, + 459, 1373, 226, 437, 0, 0, 523, 205, 482, 456, + 361, 301, 302, 204, 0, 417, 251, 275, 241, 381, + 479, 480, 239, 524, 215, 502, 207, 833, 501, 374, + 474, 483, 362, 352, 206, 481, 360, 351, 307, 326, + 327, 263, 286, 410, 345, 411, 287, 370, 369, 371, + 198, 493, 0, 199, 0, 452, 494, 525, 221, 222, + 224, 848, 262, 266, 274, 276, 282, 283, 290, 338, + 385, 409, 407, 413, 934, 469, 487, 498, 505, 511, + 512, 514, 515, 516, 517, 518, 520, 519, 819, 813, + 812, 306, 343, 926, 965, 391, 426, 227, 491, 449, + 843, 847, 841, 908, 842, 897, 898, 844, 956, 957, + 958, 526, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 0, + 930, 837, 0, 845, 846, 0, 936, 945, 946, 544, + 353, 439, 488, 308, 320, 323, 313, 332, 0, 333, + 309, 310, 315, 317, 318, 319, 324, 325, 329, 335, + 235, 201, 901, 191, 208, 339, 961, 414, 271, 522, + 500, 496, 822, 210, 840, 245, 851, 859, 0, 865, + 873, 874, 886, 888, 889, 890, 891, 909, 910, 912, + 920, 922, 925, 927, 932, 942, 964, 193, 194, 200, + 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, + 288, 293, 294, 297, 303, 349, 355, 356, 357, 358, + 375, 376, 377, 380, 383, 384, 387, 389, 390, 393, + 397, 401, 402, 403, 404, 406, 408, 415, 420, 428, + 429, 430, 431, 432, 435, 436, 441, 442, 443, 444, + 445, 453, 454, 458, 476, 478, 490, 504, 509, 434, + 281, 485, 510, 0, 348, 900, 906, 350, 264, 284, + 295, 915, 499, 455, 214, 422, 273, 202, 233, 217, + 242, 257, 260, 299, 359, 366, 395, 400, 278, 254, + 231, 419, 228, 438, 461, 462, 463, 465, 363, 249, + 399, 896, 924, 346, 467, 468, 291, 364, 0, 0, + 950, 935, 466, 0, 881, 953, 850, 869, 963, 872, + 875, 917, 829, 895, 382, 866, 821, 854, 824, 861, + 825, 852, 883, 253, 849, 937, 899, 952, 337, 250, + 831, 855, 396, 871, 197, 919, 440, 237, 347, 344, + 473, 265, 256, 252, 236, 292, 354, 394, 460, 388, + 959, 341, 905, 0, 450, 367, 0, 0, 0, 885, + 941, 893, 931, 880, 918, 839, 904, 954, 867, 914, + 955, 298, 234, 300, 196, 379, 451, 269, 0, 0, + 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, + 330, 311, 312, 314, 316, 321, 328, 334, 863, 911, + 949, 864, 913, 248, 296, 255, 247, 470, 960, 940, + 828, 892, 948, 0, 0, 967, 951, 887, 0, 916, + 0, 966, 823, 907, 0, 826, 830, 962, 944, 858, + 258, 0, 0, 0, 0, 0, 0, 0, 884, 894, + 928, 878, 0, 0, 0, 0, 0, 0, 0, 856, + 0, 903, 0, 0, 0, 835, 827, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 882, + 0, 0, 0, 838, 0, 857, 929, 0, 820, 279, + 832, 368, 240, 0, 933, 943, 879, 506, 947, 877, + 876, 923, 836, 939, 870, 336, 834, 305, 192, 212, + 0, 868, 378, 421, 427, 938, 853, 862, 238, 860, + 425, 392, 489, 220, 267, 418, 398, 423, 405, 270, + 902, 921, 424, 342, 475, 412, 486, 507, 508, 246, + 372, 497, 464, 503, 521, 213, 243, 386, 457, 492, + 447, 365, 471, 472, 304, 446, 277, 195, 340, 513, + 211, 433, 229, 218, 477, 495, 272, 416, 203, 459, + 810, 226, 437, 0, 0, 523, 205, 482, 456, 361, + 301, 302, 204, 0, 417, 251, 275, 241, 381, 479, + 480, 239, 524, 215, 502, 207, 833, 501, 374, 474, + 483, 362, 352, 206, 481, 360, 351, 307, 326, 327, + 263, 286, 410, 345, 411, 287, 370, 369, 371, 198, + 493, 0, 199, 0, 452, 494, 525, 221, 222, 224, + 848, 262, 266, 274, 276, 282, 283, 290, 338, 385, + 409, 407, 413, 934, 469, 487, 498, 505, 511, 512, + 514, 515, 516, 517, 518, 520, 519, 819, 813, 812, + 306, 343, 926, 965, 391, 426, 227, 491, 449, 843, + 847, 841, 908, 842, 897, 898, 844, 956, 957, 958, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, - 536, 537, 538, 539, 540, 541, 542, 0, 928, 835, - 0, 843, 844, 0, 934, 943, 944, 543, 352, 438, - 487, 307, 319, 322, 312, 331, 0, 332, 308, 309, - 314, 316, 317, 318, 323, 324, 328, 334, 234, 899, - 191, 207, 338, 959, 413, 270, 521, 499, 495, 820, - 209, 838, 244, 849, 857, 0, 863, 871, 872, 884, - 886, 887, 888, 889, 907, 908, 910, 918, 920, 923, - 925, 930, 940, 962, 193, 194, 200, 208, 218, 222, - 229, 243, 258, 260, 267, 279, 284, 287, 292, 293, - 296, 302, 348, 354, 355, 356, 357, 374, 375, 376, - 379, 382, 383, 386, 388, 389, 392, 396, 400, 401, - 402, 403, 405, 407, 414, 419, 427, 428, 429, 430, - 431, 434, 435, 440, 441, 442, 443, 444, 452, 453, - 457, 475, 477, 489, 503, 508, 433, 280, 484, 509, - 0, 347, 898, 904, 349, 263, 283, 294, 913, 498, - 454, 213, 421, 272, 201, 232, 216, 241, 256, 259, - 298, 358, 365, 394, 399, 277, 253, 230, 418, 227, - 437, 460, 461, 462, 464, 362, 248, 398, 894, 922, - 345, 466, 467, 290, 363, 0, 0, 948, 933, 465, - 0, 879, 951, 848, 867, 961, 870, 873, 915, 827, - 893, 381, 864, 819, 852, 822, 859, 823, 850, 881, - 252, 847, 935, 897, 950, 336, 249, 829, 853, 395, - 869, 197, 917, 439, 236, 346, 343, 472, 264, 255, - 251, 235, 291, 353, 393, 459, 387, 957, 340, 903, - 0, 449, 366, 0, 0, 0, 883, 939, 891, 929, - 878, 916, 837, 902, 952, 865, 912, 953, 297, 233, - 299, 196, 378, 450, 268, 0, 0, 0, 0, 188, - 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 224, 0, 231, 321, 330, 329, 310, 311, - 313, 315, 320, 327, 333, 861, 909, 947, 862, 911, - 247, 295, 254, 246, 469, 958, 938, 826, 890, 946, - 0, 0, 965, 949, 885, 0, 914, 0, 964, 821, - 905, 0, 824, 828, 960, 942, 856, 257, 0, 0, - 0, 0, 0, 0, 0, 882, 892, 926, 876, 0, - 0, 0, 0, 0, 0, 0, 854, 0, 901, 0, - 0, 0, 833, 825, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 880, 0, 0, 0, - 836, 0, 855, 927, 0, 818, 278, 830, 367, 239, - 0, 931, 941, 877, 505, 945, 875, 874, 921, 834, - 937, 868, 335, 832, 304, 192, 211, 0, 866, 377, - 420, 426, 936, 851, 860, 237, 858, 424, 391, 488, - 219, 266, 417, 397, 422, 404, 269, 900, 919, 423, - 341, 474, 411, 485, 506, 507, 245, 371, 496, 463, - 502, 520, 212, 242, 385, 456, 491, 446, 364, 470, - 471, 303, 445, 276, 195, 339, 512, 210, 432, 228, - 217, 476, 494, 271, 415, 202, 458, 1370, 225, 436, - 0, 0, 522, 204, 481, 455, 360, 300, 301, 203, - 0, 416, 250, 274, 240, 380, 478, 479, 238, 523, - 214, 501, 206, 831, 500, 373, 473, 482, 361, 351, - 205, 480, 359, 350, 306, 325, 326, 262, 285, 409, - 344, 410, 286, 369, 368, 370, 198, 492, 0, 199, - 0, 451, 493, 524, 220, 221, 223, 846, 261, 265, - 273, 275, 281, 282, 289, 337, 384, 408, 406, 412, - 932, 468, 486, 497, 504, 510, 511, 513, 514, 515, - 516, 517, 519, 518, 817, 811, 810, 305, 342, 924, - 963, 390, 425, 226, 490, 448, 841, 845, 839, 906, - 840, 895, 896, 842, 954, 955, 956, 525, 526, 527, - 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, - 538, 539, 540, 541, 542, 0, 928, 835, 0, 843, - 844, 0, 934, 943, 944, 543, 352, 438, 487, 307, - 319, 322, 312, 331, 0, 332, 308, 309, 314, 316, - 317, 318, 323, 324, 328, 334, 234, 899, 191, 207, - 338, 959, 413, 270, 521, 499, 495, 820, 209, 838, - 244, 849, 857, 0, 863, 871, 872, 884, 886, 887, - 888, 889, 907, 908, 910, 918, 920, 923, 925, 930, - 940, 962, 193, 194, 200, 208, 218, 222, 229, 243, - 258, 260, 267, 279, 284, 287, 292, 293, 296, 302, - 348, 354, 355, 356, 357, 374, 375, 376, 379, 382, - 383, 386, 388, 389, 392, 396, 400, 401, 402, 403, - 405, 407, 414, 419, 427, 428, 429, 430, 431, 434, - 435, 440, 441, 442, 443, 444, 452, 453, 457, 475, - 477, 489, 503, 508, 433, 280, 484, 509, 0, 347, - 898, 904, 349, 263, 283, 294, 913, 498, 454, 213, - 421, 272, 201, 232, 216, 241, 256, 259, 298, 358, - 365, 394, 399, 277, 253, 230, 418, 227, 437, 460, - 461, 462, 464, 362, 248, 398, 894, 922, 345, 466, - 467, 290, 363, 0, 0, 948, 933, 465, 0, 879, - 951, 848, 867, 961, 870, 873, 915, 827, 893, 381, - 864, 819, 852, 822, 859, 823, 850, 881, 252, 847, - 935, 897, 950, 336, 249, 829, 853, 395, 869, 197, - 917, 439, 236, 346, 343, 472, 264, 255, 251, 235, - 291, 353, 393, 459, 387, 957, 340, 903, 0, 449, - 366, 0, 0, 0, 883, 939, 891, 929, 878, 916, - 837, 902, 952, 865, 912, 953, 297, 233, 299, 196, - 378, 450, 268, 0, 0, 0, 0, 188, 189, 190, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 224, 0, 231, 321, 330, 329, 310, 311, 313, 315, - 320, 327, 333, 861, 909, 947, 862, 911, 247, 295, - 254, 246, 469, 958, 938, 826, 890, 946, 0, 0, - 965, 949, 885, 0, 914, 0, 964, 821, 905, 0, - 824, 828, 960, 942, 856, 257, 0, 0, 0, 0, - 0, 0, 0, 882, 892, 926, 876, 0, 0, 0, - 0, 0, 0, 0, 854, 0, 901, 0, 0, 0, - 833, 825, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 880, 0, 0, 0, 836, 0, - 855, 927, 0, 818, 278, 830, 367, 239, 0, 931, - 941, 877, 505, 945, 875, 874, 921, 834, 937, 868, - 335, 832, 304, 192, 211, 0, 866, 377, 420, 426, - 936, 851, 860, 237, 858, 424, 391, 488, 219, 266, - 417, 397, 422, 404, 269, 900, 919, 423, 341, 474, - 411, 485, 506, 507, 245, 371, 496, 463, 502, 520, - 212, 242, 385, 456, 491, 446, 364, 470, 471, 303, - 445, 276, 195, 339, 512, 210, 432, 228, 217, 476, - 494, 271, 415, 202, 458, 808, 225, 436, 0, 0, - 522, 204, 481, 455, 360, 300, 301, 203, 0, 416, - 250, 274, 240, 380, 478, 479, 238, 523, 214, 501, - 206, 831, 500, 373, 473, 482, 361, 351, 205, 480, - 359, 350, 306, 325, 326, 262, 285, 409, 344, 410, - 286, 369, 368, 370, 198, 492, 0, 199, 0, 451, - 493, 524, 220, 221, 223, 846, 261, 265, 273, 275, - 281, 282, 289, 337, 384, 408, 406, 412, 932, 468, - 486, 497, 504, 510, 511, 513, 514, 515, 516, 517, - 519, 518, 817, 811, 810, 305, 342, 924, 963, 390, - 425, 226, 490, 448, 841, 845, 839, 906, 840, 895, - 896, 842, 954, 955, 956, 525, 526, 527, 528, 529, + 536, 537, 538, 539, 540, 541, 542, 543, 0, 930, + 837, 0, 845, 846, 0, 936, 945, 946, 544, 353, + 439, 488, 308, 320, 323, 313, 332, 0, 333, 309, + 310, 315, 317, 318, 319, 324, 325, 329, 335, 235, + 201, 901, 191, 208, 339, 961, 414, 271, 522, 500, + 496, 822, 210, 840, 245, 851, 859, 0, 865, 873, + 874, 886, 888, 889, 890, 891, 909, 910, 912, 920, + 922, 925, 927, 932, 942, 964, 193, 194, 200, 209, + 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, + 293, 294, 297, 303, 349, 355, 356, 357, 358, 375, + 376, 377, 380, 383, 384, 387, 389, 390, 393, 397, + 401, 402, 403, 404, 406, 408, 415, 420, 428, 429, + 430, 431, 432, 435, 436, 441, 442, 443, 444, 445, + 453, 454, 458, 476, 478, 490, 504, 509, 434, 281, + 485, 510, 0, 348, 900, 906, 350, 264, 284, 295, + 915, 499, 455, 214, 422, 273, 202, 233, 217, 242, + 257, 260, 299, 359, 366, 395, 400, 278, 254, 231, + 419, 228, 438, 461, 462, 463, 465, 363, 249, 399, + 896, 924, 346, 467, 468, 291, 364, 0, 0, 0, + 0, 466, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 382, 0, 0, 1781, 0, 626, 0, + 0, 0, 253, 631, 0, 0, 0, 337, 250, 0, + 1782, 396, 0, 197, 0, 440, 237, 347, 344, 473, + 265, 256, 252, 236, 292, 354, 394, 460, 388, 638, + 341, 0, 0, 450, 367, 0, 0, 0, 0, 0, + 633, 634, 0, 0, 0, 0, 0, 0, 0, 0, + 298, 234, 300, 196, 379, 451, 269, 0, 87, 0, + 0, 188, 189, 190, 704, 711, 712, 713, 714, 715, + 705, 707, 0, 0, 225, 706, 232, 651, 653, 652, + 662, 663, 664, 665, 666, 667, 668, 649, 709, 716, + 717, 0, 248, 296, 255, 247, 470, 0, 0, 0, + 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, + 0, 0, 609, 623, 0, 637, 0, 0, 0, 258, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 620, 621, 799, 0, 0, 0, + 688, 0, 622, 0, 0, 630, 718, 719, 720, 721, + 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, + 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, + 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, + 752, 753, 754, 755, 756, 757, 758, 759, 632, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, + 368, 240, 0, 687, 0, 0, 506, 0, 0, 685, + 0, 0, 0, 0, 336, 0, 305, 192, 212, 0, + 0, 378, 421, 427, 0, 0, 0, 238, 0, 425, + 392, 489, 220, 267, 418, 398, 423, 405, 270, 0, + 0, 424, 342, 475, 412, 486, 507, 508, 246, 372, + 497, 464, 503, 521, 213, 243, 386, 457, 492, 447, + 365, 471, 472, 304, 446, 277, 195, 340, 513, 211, + 433, 229, 218, 477, 495, 272, 416, 203, 459, 484, + 226, 437, 0, 0, 523, 205, 482, 456, 361, 301, + 302, 204, 0, 417, 251, 275, 241, 381, 479, 480, + 239, 524, 215, 502, 207, 0, 501, 374, 474, 483, + 362, 352, 206, 481, 360, 351, 307, 657, 658, 263, + 286, 410, 345, 411, 287, 370, 369, 371, 198, 493, + 0, 199, 0, 452, 494, 525, 221, 222, 224, 0, + 262, 266, 274, 276, 282, 283, 290, 338, 385, 409, + 407, 413, 0, 469, 487, 498, 505, 511, 512, 514, + 515, 516, 517, 518, 520, 519, 373, 289, 448, 306, + 343, 0, 0, 391, 426, 227, 491, 449, 694, 686, + 642, 698, 644, 695, 696, 639, 640, 643, 697, 526, + 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 543, 0, 689, 629, + 628, 0, 635, 636, 0, 647, 648, 650, 654, 655, + 656, 659, 660, 661, 669, 671, 672, 670, 673, 674, + 675, 678, 679, 680, 681, 676, 677, 682, 646, 645, + 627, 191, 208, 339, 0, 414, 271, 522, 500, 496, + 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, + 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, + 294, 297, 303, 349, 355, 356, 357, 358, 375, 376, + 377, 380, 383, 384, 387, 389, 390, 393, 397, 401, + 402, 403, 404, 406, 408, 415, 420, 428, 429, 430, + 431, 432, 435, 436, 441, 442, 443, 444, 445, 453, + 454, 458, 476, 478, 490, 504, 509, 434, 281, 485, + 510, 0, 348, 0, 0, 350, 264, 284, 295, 0, + 499, 455, 214, 422, 273, 202, 233, 217, 242, 257, + 260, 299, 359, 366, 395, 400, 278, 254, 231, 419, + 228, 438, 461, 462, 463, 465, 363, 249, 399, 0, + 364, 346, 467, 468, 291, 466, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 382, 0, 0, + 0, 0, 626, 0, 0, 0, 253, 631, 0, 0, + 0, 337, 250, 0, 0, 396, 0, 197, 0, 440, + 237, 347, 344, 473, 265, 256, 252, 236, 292, 354, + 394, 460, 388, 638, 341, 0, 0, 450, 367, 0, + 0, 0, 0, 0, 633, 634, 0, 0, 0, 0, + 0, 0, 0, 0, 298, 234, 300, 196, 379, 451, + 269, 0, 87, 0, 0, 188, 189, 190, 704, 711, + 712, 713, 714, 715, 705, 707, 0, 0, 225, 706, + 232, 651, 653, 652, 662, 663, 664, 665, 666, 667, + 668, 649, 709, 716, 717, 0, 248, 296, 255, 247, + 470, 0, 0, 1747, 1748, 1749, 0, 0, 216, 0, + 0, 0, 0, 0, 0, 0, 609, 623, 0, 637, + 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 620, 621, + 0, 0, 0, 0, 688, 0, 622, 0, 0, 630, + 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, + 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, + 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, + 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, + 758, 759, 632, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 279, 0, 368, 240, 0, 687, 0, 0, + 506, 0, 0, 685, 0, 0, 0, 0, 336, 0, + 305, 192, 212, 0, 0, 378, 421, 427, 0, 0, + 0, 238, 0, 425, 392, 489, 220, 267, 418, 398, + 423, 405, 270, 0, 0, 424, 342, 475, 412, 486, + 507, 508, 246, 372, 497, 464, 503, 521, 213, 243, + 386, 457, 492, 447, 365, 471, 472, 304, 446, 277, + 195, 340, 513, 211, 433, 229, 218, 477, 495, 272, + 416, 203, 459, 484, 226, 437, 0, 0, 523, 205, + 482, 456, 361, 301, 302, 204, 0, 417, 251, 275, + 241, 381, 479, 480, 239, 524, 215, 502, 207, 0, + 501, 374, 474, 483, 362, 352, 206, 481, 360, 351, + 307, 657, 658, 263, 286, 410, 345, 411, 287, 370, + 369, 371, 198, 493, 0, 199, 0, 452, 494, 525, + 221, 222, 224, 0, 262, 266, 274, 276, 282, 283, + 290, 338, 385, 409, 407, 413, 0, 469, 487, 498, + 505, 511, 512, 514, 515, 516, 517, 518, 520, 519, + 373, 289, 448, 306, 343, 0, 0, 391, 426, 227, + 491, 449, 694, 686, 642, 698, 644, 695, 696, 639, + 640, 643, 697, 526, 527, 528, 529, 530, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 0, 689, 629, 628, 0, 635, 636, 0, 647, + 648, 650, 654, 655, 656, 659, 660, 661, 669, 671, + 672, 670, 673, 674, 675, 678, 679, 680, 681, 676, + 677, 682, 646, 645, 627, 191, 208, 339, 0, 414, + 271, 522, 500, 496, 0, 210, 0, 245, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, + 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, + 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, + 357, 358, 375, 376, 377, 380, 383, 384, 387, 389, + 390, 393, 397, 401, 402, 403, 404, 406, 408, 415, + 420, 428, 429, 430, 431, 432, 435, 436, 441, 442, + 443, 444, 445, 453, 454, 458, 476, 478, 490, 504, + 509, 434, 281, 485, 510, 0, 348, 0, 0, 350, + 264, 284, 295, 0, 499, 455, 214, 422, 273, 202, + 233, 217, 242, 257, 260, 299, 359, 366, 395, 400, + 278, 254, 231, 419, 228, 438, 461, 462, 463, 465, + 363, 249, 399, 0, 364, 346, 467, 468, 291, 466, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 382, 0, 0, 0, 0, 626, 0, 0, 0, + 253, 631, 0, 0, 0, 337, 250, 0, 0, 396, + 0, 197, 0, 440, 237, 347, 344, 473, 265, 256, + 252, 236, 292, 354, 394, 460, 388, 638, 341, 0, + 0, 450, 367, 0, 0, 0, 0, 0, 633, 634, + 0, 0, 0, 0, 0, 0, 1864, 0, 298, 234, + 300, 196, 379, 451, 269, 0, 87, 0, 0, 188, + 189, 190, 704, 711, 712, 713, 714, 715, 705, 707, + 0, 0, 225, 706, 232, 651, 653, 652, 662, 663, + 664, 665, 666, 667, 668, 649, 709, 716, 717, 1865, + 248, 296, 255, 247, 470, 0, 0, 0, 0, 0, + 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, + 609, 623, 0, 637, 0, 0, 0, 258, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 620, 621, 0, 0, 0, 0, 688, 0, + 622, 0, 0, 630, 718, 719, 720, 721, 722, 723, + 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, + 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, + 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, + 754, 755, 756, 757, 758, 759, 632, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 279, 0, 368, 240, + 0, 687, 0, 0, 506, 0, 0, 685, 0, 0, + 0, 0, 336, 0, 305, 192, 212, 0, 0, 378, + 421, 427, 0, 0, 0, 238, 0, 425, 392, 489, + 220, 267, 418, 398, 423, 405, 270, 0, 0, 424, + 342, 475, 412, 486, 507, 508, 246, 372, 497, 464, + 503, 521, 213, 243, 386, 457, 492, 447, 365, 471, + 472, 304, 446, 277, 195, 340, 513, 211, 433, 229, + 218, 477, 495, 272, 416, 203, 459, 484, 226, 437, + 0, 0, 523, 205, 482, 456, 361, 301, 302, 204, + 0, 417, 251, 275, 241, 381, 479, 480, 239, 524, + 215, 502, 207, 0, 501, 374, 474, 483, 362, 352, + 206, 481, 360, 351, 307, 657, 658, 263, 286, 410, + 345, 411, 287, 370, 369, 371, 198, 493, 0, 199, + 0, 452, 494, 525, 221, 222, 224, 0, 262, 266, + 274, 276, 282, 283, 290, 338, 385, 409, 407, 413, + 0, 469, 487, 498, 505, 511, 512, 514, 515, 516, + 517, 518, 520, 519, 373, 289, 448, 306, 343, 0, + 0, 391, 426, 227, 491, 449, 694, 686, 642, 698, + 644, 695, 696, 639, 640, 643, 697, 526, 527, 528, + 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, + 539, 540, 541, 542, 543, 0, 689, 629, 628, 0, + 635, 636, 0, 647, 648, 650, 654, 655, 656, 659, + 660, 661, 669, 671, 672, 670, 673, 674, 675, 678, + 679, 680, 681, 676, 677, 682, 646, 645, 627, 191, + 208, 339, 0, 414, 271, 522, 500, 496, 0, 210, + 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, + 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, + 303, 349, 355, 356, 357, 358, 375, 376, 377, 380, + 383, 384, 387, 389, 390, 393, 397, 401, 402, 403, + 404, 406, 408, 415, 420, 428, 429, 430, 431, 432, + 435, 436, 441, 442, 443, 444, 445, 453, 454, 458, + 476, 478, 490, 504, 509, 434, 281, 485, 510, 0, + 348, 0, 0, 350, 264, 284, 295, 0, 499, 455, + 214, 422, 273, 202, 233, 217, 242, 257, 260, 299, + 359, 366, 395, 400, 278, 254, 231, 419, 228, 438, + 461, 462, 463, 465, 363, 249, 399, 0, 0, 346, + 467, 468, 291, 364, 0, 0, 0, 78, 466, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 382, 0, 0, 0, 0, 626, 0, 0, 0, 253, + 631, 0, 0, 0, 337, 250, 0, 0, 396, 0, + 197, 0, 440, 237, 347, 344, 473, 265, 256, 252, + 236, 292, 354, 394, 460, 388, 638, 341, 0, 0, + 450, 367, 0, 0, 0, 0, 0, 633, 634, 0, + 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, + 196, 379, 451, 269, 0, 87, 0, 0, 188, 189, + 190, 704, 711, 712, 713, 714, 715, 705, 707, 0, + 0, 225, 706, 232, 651, 653, 652, 662, 663, 664, + 665, 666, 667, 668, 649, 709, 716, 717, 0, 248, + 296, 255, 247, 470, 0, 0, 0, 0, 0, 0, + 0, 216, 0, 0, 0, 0, 0, 0, 0, 609, + 623, 0, 637, 0, 0, 0, 258, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 620, 621, 0, 0, 0, 0, 688, 0, 622, + 0, 0, 630, 718, 719, 720, 721, 722, 723, 724, + 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, + 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, + 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, + 755, 756, 757, 758, 759, 632, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 279, 0, 368, 240, 0, + 687, 0, 0, 506, 0, 0, 685, 0, 0, 0, + 0, 336, 0, 305, 192, 212, 0, 0, 378, 421, + 427, 0, 0, 0, 238, 0, 425, 392, 489, 220, + 267, 418, 398, 423, 405, 270, 0, 0, 424, 342, + 475, 412, 486, 507, 508, 246, 372, 497, 464, 503, + 521, 213, 243, 386, 457, 492, 447, 365, 471, 472, + 304, 446, 277, 195, 340, 513, 211, 433, 229, 218, + 477, 495, 272, 416, 203, 459, 484, 226, 437, 0, + 0, 523, 205, 482, 456, 361, 301, 302, 204, 0, + 417, 251, 275, 241, 381, 479, 480, 239, 524, 215, + 502, 207, 0, 501, 374, 474, 483, 362, 352, 206, + 481, 360, 351, 307, 657, 658, 263, 286, 410, 345, + 411, 287, 370, 369, 371, 198, 493, 0, 199, 0, + 452, 494, 525, 221, 222, 224, 0, 262, 266, 274, + 276, 282, 283, 290, 338, 385, 409, 407, 413, 0, + 469, 487, 498, 505, 511, 512, 514, 515, 516, 517, + 518, 520, 519, 373, 289, 448, 306, 343, 0, 0, + 391, 426, 227, 491, 449, 694, 686, 642, 698, 644, + 695, 696, 639, 640, 643, 697, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 0, 928, 835, 0, 843, 844, 0, - 934, 943, 944, 543, 352, 438, 487, 307, 319, 322, - 312, 331, 0, 332, 308, 309, 314, 316, 317, 318, - 323, 324, 328, 334, 234, 899, 191, 207, 338, 959, - 413, 270, 521, 499, 495, 820, 209, 838, 244, 849, - 857, 0, 863, 871, 872, 884, 886, 887, 888, 889, - 907, 908, 910, 918, 920, 923, 925, 930, 940, 962, - 193, 194, 200, 208, 218, 222, 229, 243, 258, 260, - 267, 279, 284, 287, 292, 293, 296, 302, 348, 354, - 355, 356, 357, 374, 375, 376, 379, 382, 383, 386, - 388, 389, 392, 396, 400, 401, 402, 403, 405, 407, - 414, 419, 427, 428, 429, 430, 431, 434, 435, 440, - 441, 442, 443, 444, 452, 453, 457, 475, 477, 489, - 503, 508, 433, 280, 484, 509, 0, 347, 898, 904, - 349, 263, 283, 294, 913, 498, 454, 213, 421, 272, - 201, 232, 216, 241, 256, 259, 298, 358, 365, 394, - 399, 277, 253, 230, 418, 227, 437, 460, 461, 462, - 464, 362, 248, 398, 894, 922, 345, 466, 467, 290, - 363, 0, 0, 0, 0, 465, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, - 1777, 0, 625, 0, 0, 0, 252, 630, 0, 0, - 0, 336, 249, 0, 1778, 395, 0, 197, 0, 439, - 236, 346, 343, 472, 264, 255, 251, 235, 291, 353, - 393, 459, 387, 637, 340, 0, 0, 449, 366, 0, - 0, 0, 0, 0, 632, 633, 0, 0, 0, 0, - 0, 0, 0, 0, 297, 233, 299, 196, 378, 450, - 268, 0, 87, 0, 0, 188, 189, 190, 702, 709, - 710, 711, 712, 713, 703, 705, 0, 0, 224, 704, - 231, 649, 651, 650, 660, 661, 662, 663, 664, 665, - 666, 647, 707, 714, 715, 0, 247, 295, 254, 246, - 469, 0, 0, 0, 0, 0, 0, 0, 215, 0, - 0, 0, 0, 0, 0, 0, 608, 622, 0, 636, - 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 619, 620, - 797, 0, 0, 0, 686, 0, 621, 0, 0, 629, - 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, - 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, - 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, - 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, - 756, 757, 631, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 278, 0, 367, 239, 0, 685, 0, 0, - 505, 0, 0, 683, 0, 0, 0, 0, 335, 0, - 304, 192, 211, 0, 0, 377, 420, 426, 0, 0, - 0, 237, 0, 424, 391, 488, 219, 266, 417, 397, - 422, 404, 269, 0, 0, 423, 341, 474, 411, 485, - 506, 507, 245, 371, 496, 463, 502, 520, 212, 242, - 385, 456, 491, 446, 364, 470, 471, 303, 445, 276, - 195, 339, 512, 210, 432, 228, 217, 476, 494, 271, - 415, 202, 458, 483, 225, 436, 0, 0, 522, 204, - 481, 455, 360, 300, 301, 203, 0, 416, 250, 274, - 240, 380, 478, 479, 238, 523, 214, 501, 206, 0, - 500, 373, 473, 482, 361, 351, 205, 480, 359, 350, - 306, 655, 656, 262, 285, 409, 344, 410, 286, 369, - 368, 370, 198, 492, 0, 199, 0, 451, 493, 524, - 220, 221, 223, 0, 261, 265, 273, 275, 281, 282, - 289, 337, 384, 408, 406, 412, 0, 468, 486, 497, - 504, 510, 511, 513, 514, 515, 516, 517, 519, 518, - 372, 288, 447, 305, 342, 0, 0, 390, 425, 226, - 490, 448, 692, 684, 641, 696, 643, 693, 694, 638, - 639, 642, 695, 525, 526, 527, 528, 529, 530, 531, + 540, 541, 542, 543, 0, 689, 629, 628, 0, 635, + 636, 0, 647, 648, 650, 654, 655, 656, 659, 660, + 661, 669, 671, 672, 670, 673, 674, 675, 678, 679, + 680, 681, 676, 677, 682, 646, 645, 627, 191, 208, + 339, 86, 414, 271, 522, 500, 496, 0, 210, 0, + 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, + 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, + 349, 355, 356, 357, 358, 375, 376, 377, 380, 383, + 384, 387, 389, 390, 393, 397, 401, 402, 403, 404, + 406, 408, 415, 420, 428, 429, 430, 431, 432, 435, + 436, 441, 442, 443, 444, 445, 453, 454, 458, 476, + 478, 490, 504, 509, 434, 281, 485, 510, 0, 348, + 0, 0, 350, 264, 284, 295, 0, 499, 455, 214, + 422, 273, 202, 233, 217, 242, 257, 260, 299, 359, + 366, 395, 400, 278, 254, 231, 419, 228, 438, 461, + 462, 463, 465, 363, 249, 399, 0, 364, 346, 467, + 468, 291, 466, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 382, 0, 0, 0, 0, 626, + 0, 0, 0, 253, 631, 0, 0, 0, 337, 250, + 0, 0, 396, 0, 197, 0, 440, 237, 347, 344, + 473, 265, 256, 252, 236, 292, 354, 394, 460, 388, + 638, 341, 0, 0, 450, 367, 0, 0, 0, 0, + 0, 633, 634, 0, 0, 0, 0, 0, 0, 0, + 0, 298, 234, 300, 196, 379, 451, 269, 0, 87, + 0, 0, 188, 189, 190, 704, 711, 712, 713, 714, + 715, 705, 707, 0, 0, 225, 706, 232, 651, 653, + 652, 662, 663, 664, 665, 666, 667, 668, 649, 709, + 716, 717, 0, 248, 296, 255, 247, 470, 0, 0, + 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, + 0, 0, 0, 609, 623, 0, 637, 0, 0, 0, + 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 620, 621, 0, 0, 0, + 0, 688, 0, 622, 0, 0, 630, 718, 719, 720, + 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, + 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, + 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, + 751, 752, 753, 754, 755, 756, 757, 758, 759, 632, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, + 0, 368, 240, 0, 687, 0, 0, 506, 0, 0, + 685, 0, 0, 0, 0, 336, 0, 305, 192, 212, + 0, 0, 378, 421, 427, 0, 0, 0, 238, 0, + 425, 392, 489, 220, 267, 418, 398, 423, 405, 270, + 2969, 0, 424, 342, 475, 412, 486, 507, 508, 246, + 372, 497, 464, 503, 521, 213, 243, 386, 457, 492, + 447, 365, 471, 472, 304, 446, 277, 195, 340, 513, + 211, 433, 229, 218, 477, 495, 272, 416, 203, 459, + 484, 226, 437, 0, 0, 523, 205, 482, 456, 361, + 301, 302, 204, 0, 417, 251, 275, 241, 381, 479, + 480, 239, 524, 215, 502, 207, 0, 501, 374, 474, + 483, 362, 352, 206, 481, 360, 351, 307, 657, 658, + 263, 286, 410, 345, 411, 287, 370, 369, 371, 198, + 493, 0, 199, 0, 452, 494, 525, 221, 222, 224, + 0, 262, 266, 274, 276, 282, 283, 290, 338, 385, + 409, 407, 413, 0, 469, 487, 498, 505, 511, 512, + 514, 515, 516, 517, 518, 520, 519, 373, 289, 448, + 306, 343, 0, 0, 391, 426, 227, 491, 449, 694, + 686, 642, 698, 644, 695, 696, 639, 640, 643, 697, + 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, + 536, 537, 538, 539, 540, 541, 542, 543, 0, 689, + 629, 628, 0, 635, 636, 0, 647, 648, 650, 654, + 655, 656, 659, 660, 661, 669, 671, 672, 670, 673, + 674, 675, 678, 679, 680, 681, 676, 677, 682, 646, + 645, 627, 191, 208, 339, 0, 414, 271, 522, 500, + 496, 0, 210, 0, 245, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, + 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, + 293, 294, 297, 303, 349, 355, 356, 357, 358, 375, + 376, 377, 380, 383, 384, 387, 389, 390, 393, 397, + 401, 402, 403, 404, 406, 408, 415, 420, 428, 429, + 430, 431, 432, 435, 436, 441, 442, 443, 444, 445, + 453, 454, 458, 476, 478, 490, 504, 509, 434, 281, + 485, 510, 0, 348, 0, 0, 350, 264, 284, 295, + 0, 499, 455, 214, 422, 273, 202, 233, 217, 242, + 257, 260, 299, 359, 366, 395, 400, 278, 254, 231, + 419, 228, 438, 461, 462, 463, 465, 363, 249, 399, + 0, 364, 346, 467, 468, 291, 466, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 382, 0, + 0, 0, 0, 626, 0, 0, 0, 253, 631, 0, + 0, 0, 337, 250, 0, 0, 396, 0, 197, 0, + 440, 237, 347, 344, 473, 265, 256, 252, 236, 292, + 354, 394, 460, 388, 638, 341, 0, 0, 450, 367, + 0, 0, 0, 0, 0, 633, 634, 0, 0, 0, + 0, 0, 0, 0, 0, 298, 234, 300, 196, 379, + 451, 269, 0, 87, 0, 1340, 188, 189, 190, 704, + 711, 712, 713, 714, 715, 705, 707, 0, 0, 225, + 706, 232, 651, 653, 652, 662, 663, 664, 665, 666, + 667, 668, 649, 709, 716, 717, 0, 248, 296, 255, + 247, 470, 0, 0, 0, 0, 0, 0, 0, 216, + 0, 0, 0, 0, 0, 0, 0, 609, 623, 0, + 637, 0, 0, 0, 258, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 620, + 621, 0, 0, 0, 0, 688, 0, 622, 0, 0, + 630, 718, 719, 720, 721, 722, 723, 724, 725, 726, + 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, + 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, + 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, + 757, 758, 759, 632, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 279, 0, 368, 240, 0, 687, 0, + 0, 506, 0, 0, 685, 0, 0, 0, 0, 336, + 0, 305, 192, 212, 0, 0, 378, 421, 427, 0, + 0, 0, 238, 0, 425, 392, 489, 220, 267, 418, + 398, 423, 405, 270, 0, 0, 424, 342, 475, 412, + 486, 507, 508, 246, 372, 497, 464, 503, 521, 213, + 243, 386, 457, 492, 447, 365, 471, 472, 304, 446, + 277, 195, 340, 513, 211, 433, 229, 218, 477, 495, + 272, 416, 203, 459, 484, 226, 437, 0, 0, 523, + 205, 482, 456, 361, 301, 302, 204, 0, 417, 251, + 275, 241, 381, 479, 480, 239, 524, 215, 502, 207, + 0, 501, 374, 474, 483, 362, 352, 206, 481, 360, + 351, 307, 657, 658, 263, 286, 410, 345, 411, 287, + 370, 369, 371, 198, 493, 0, 199, 0, 452, 494, + 525, 221, 222, 224, 0, 262, 266, 274, 276, 282, + 283, 290, 338, 385, 409, 407, 413, 0, 469, 487, + 498, 505, 511, 512, 514, 515, 516, 517, 518, 520, + 519, 373, 289, 448, 306, 343, 0, 0, 391, 426, + 227, 491, 449, 694, 686, 642, 698, 644, 695, 696, + 639, 640, 643, 697, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, - 542, 0, 687, 628, 627, 0, 634, 635, 0, 645, - 646, 648, 652, 653, 654, 657, 658, 659, 667, 669, - 670, 668, 671, 672, 673, 676, 677, 678, 679, 674, - 675, 680, 644, 626, 191, 207, 338, 0, 413, 270, - 521, 499, 495, 0, 209, 0, 244, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, - 200, 208, 218, 222, 229, 243, 258, 260, 267, 279, - 284, 287, 292, 293, 296, 302, 348, 354, 355, 356, - 357, 374, 375, 376, 379, 382, 383, 386, 388, 389, - 392, 396, 400, 401, 402, 403, 405, 407, 414, 419, - 427, 428, 429, 430, 431, 434, 435, 440, 441, 442, - 443, 444, 452, 453, 457, 475, 477, 489, 503, 508, - 433, 280, 484, 509, 0, 347, 0, 0, 349, 263, - 283, 294, 0, 498, 454, 213, 421, 272, 201, 232, - 216, 241, 256, 259, 298, 358, 365, 394, 399, 277, - 253, 230, 418, 227, 437, 460, 461, 462, 464, 362, - 248, 398, 0, 363, 345, 466, 467, 290, 465, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 381, 0, 0, 0, 0, 625, 0, 0, 0, 252, - 630, 0, 0, 0, 336, 249, 0, 0, 395, 0, - 197, 0, 439, 236, 346, 343, 472, 264, 255, 251, - 235, 291, 353, 393, 459, 387, 637, 340, 0, 0, - 449, 366, 0, 0, 0, 0, 0, 632, 633, 0, - 0, 0, 0, 0, 0, 0, 0, 297, 233, 299, - 196, 378, 450, 268, 0, 87, 0, 0, 188, 189, - 190, 702, 709, 710, 711, 712, 713, 703, 705, 0, - 0, 224, 704, 231, 649, 651, 650, 660, 661, 662, - 663, 664, 665, 666, 647, 707, 714, 715, 0, 247, - 295, 254, 246, 469, 0, 0, 1743, 1744, 1745, 0, - 0, 215, 0, 0, 0, 0, 0, 0, 0, 608, - 622, 0, 636, 0, 0, 0, 257, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 619, 620, 0, 0, 0, 0, 686, 0, 621, - 0, 0, 629, 716, 717, 718, 719, 720, 721, 722, + 542, 543, 0, 689, 629, 628, 0, 635, 636, 0, + 647, 648, 650, 654, 655, 656, 659, 660, 661, 669, + 671, 672, 670, 673, 674, 675, 678, 679, 680, 681, + 676, 677, 682, 646, 645, 627, 191, 208, 339, 0, + 414, 271, 522, 500, 496, 0, 210, 0, 245, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, + 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, + 356, 357, 358, 375, 376, 377, 380, 383, 384, 387, + 389, 390, 393, 397, 401, 402, 403, 404, 406, 408, + 415, 420, 428, 429, 430, 431, 432, 435, 436, 441, + 442, 443, 444, 445, 453, 454, 458, 476, 478, 490, + 504, 509, 434, 281, 485, 510, 0, 348, 0, 0, + 350, 264, 284, 295, 0, 499, 455, 214, 422, 273, + 202, 233, 217, 242, 257, 260, 299, 359, 366, 395, + 400, 278, 254, 231, 419, 228, 438, 461, 462, 463, + 465, 363, 249, 399, 0, 364, 346, 467, 468, 291, + 466, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 382, 0, 0, 0, 0, 626, 0, 0, + 0, 253, 631, 0, 0, 0, 337, 250, 0, 0, + 396, 0, 197, 0, 440, 237, 347, 344, 473, 265, + 256, 252, 236, 292, 354, 394, 460, 388, 638, 341, + 0, 0, 450, 367, 0, 0, 0, 0, 0, 633, + 634, 0, 0, 0, 0, 0, 0, 0, 0, 298, + 234, 300, 196, 379, 451, 269, 0, 87, 0, 0, + 188, 189, 190, 704, 711, 712, 713, 714, 715, 705, + 707, 0, 0, 225, 706, 232, 651, 653, 652, 662, + 663, 664, 665, 666, 667, 668, 649, 709, 716, 717, + 0, 248, 296, 255, 247, 470, 0, 0, 0, 0, + 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, + 0, 609, 623, 0, 637, 0, 0, 0, 258, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 620, 621, 799, 0, 0, 0, 688, + 0, 622, 0, 0, 630, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, - 753, 754, 755, 756, 757, 631, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 278, 0, 367, 239, 0, - 685, 0, 0, 505, 0, 0, 683, 0, 0, 0, - 0, 335, 0, 304, 192, 211, 0, 0, 377, 420, - 426, 0, 0, 0, 237, 0, 424, 391, 488, 219, - 266, 417, 397, 422, 404, 269, 0, 0, 423, 341, - 474, 411, 485, 506, 507, 245, 371, 496, 463, 502, - 520, 212, 242, 385, 456, 491, 446, 364, 470, 471, - 303, 445, 276, 195, 339, 512, 210, 432, 228, 217, - 476, 494, 271, 415, 202, 458, 483, 225, 436, 0, - 0, 522, 204, 481, 455, 360, 300, 301, 203, 0, - 416, 250, 274, 240, 380, 478, 479, 238, 523, 214, - 501, 206, 0, 500, 373, 473, 482, 361, 351, 205, - 480, 359, 350, 306, 655, 656, 262, 285, 409, 344, - 410, 286, 369, 368, 370, 198, 492, 0, 199, 0, - 451, 493, 524, 220, 221, 223, 0, 261, 265, 273, - 275, 281, 282, 289, 337, 384, 408, 406, 412, 0, - 468, 486, 497, 504, 510, 511, 513, 514, 515, 516, - 517, 519, 518, 372, 288, 447, 305, 342, 0, 0, - 390, 425, 226, 490, 448, 692, 684, 641, 696, 643, - 693, 694, 638, 639, 642, 695, 525, 526, 527, 528, - 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, - 539, 540, 541, 542, 0, 687, 628, 627, 0, 634, - 635, 0, 645, 646, 648, 652, 653, 654, 657, 658, - 659, 667, 669, 670, 668, 671, 672, 673, 676, 677, - 678, 679, 674, 675, 680, 644, 626, 191, 207, 338, - 0, 413, 270, 521, 499, 495, 0, 209, 0, 244, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 193, 194, 200, 208, 218, 222, 229, 243, 258, - 260, 267, 279, 284, 287, 292, 293, 296, 302, 348, - 354, 355, 356, 357, 374, 375, 376, 379, 382, 383, - 386, 388, 389, 392, 396, 400, 401, 402, 403, 405, - 407, 414, 419, 427, 428, 429, 430, 431, 434, 435, - 440, 441, 442, 443, 444, 452, 453, 457, 475, 477, - 489, 503, 508, 433, 280, 484, 509, 0, 347, 0, - 0, 349, 263, 283, 294, 0, 498, 454, 213, 421, - 272, 201, 232, 216, 241, 256, 259, 298, 358, 365, - 394, 399, 277, 253, 230, 418, 227, 437, 460, 461, - 462, 464, 362, 248, 398, 0, 363, 345, 466, 467, - 290, 465, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 381, 0, 0, 0, 0, 625, 0, - 0, 0, 252, 630, 0, 0, 0, 336, 249, 0, - 0, 395, 0, 197, 0, 439, 236, 346, 343, 472, - 264, 255, 251, 235, 291, 353, 393, 459, 387, 637, - 340, 0, 0, 449, 366, 0, 0, 0, 0, 0, - 632, 633, 0, 0, 0, 0, 0, 0, 1860, 0, - 297, 233, 299, 196, 378, 450, 268, 0, 87, 0, - 0, 188, 189, 190, 702, 709, 710, 711, 712, 713, - 703, 705, 0, 0, 224, 704, 231, 649, 651, 650, - 660, 661, 662, 663, 664, 665, 666, 647, 707, 714, - 715, 1861, 247, 295, 254, 246, 469, 0, 0, 0, - 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, - 0, 0, 608, 622, 0, 636, 0, 0, 0, 257, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 619, 620, 0, 0, 0, 0, - 686, 0, 621, 0, 0, 629, 716, 717, 718, 719, - 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, - 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, - 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, - 750, 751, 752, 753, 754, 755, 756, 757, 631, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 278, 0, - 367, 239, 0, 685, 0, 0, 505, 0, 0, 683, - 0, 0, 0, 0, 335, 0, 304, 192, 211, 0, - 0, 377, 420, 426, 0, 0, 0, 237, 0, 424, - 391, 488, 219, 266, 417, 397, 422, 404, 269, 0, - 0, 423, 341, 474, 411, 485, 506, 507, 245, 371, - 496, 463, 502, 520, 212, 242, 385, 456, 491, 446, - 364, 470, 471, 303, 445, 276, 195, 339, 512, 210, - 432, 228, 217, 476, 494, 271, 415, 202, 458, 483, - 225, 436, 0, 0, 522, 204, 481, 455, 360, 300, - 301, 203, 0, 416, 250, 274, 240, 380, 478, 479, - 238, 523, 214, 501, 206, 0, 500, 373, 473, 482, - 361, 351, 205, 480, 359, 350, 306, 655, 656, 262, - 285, 409, 344, 410, 286, 369, 368, 370, 198, 492, - 0, 199, 0, 451, 493, 524, 220, 221, 223, 0, - 261, 265, 273, 275, 281, 282, 289, 337, 384, 408, - 406, 412, 0, 468, 486, 497, 504, 510, 511, 513, - 514, 515, 516, 517, 519, 518, 372, 288, 447, 305, - 342, 0, 0, 390, 425, 226, 490, 448, 692, 684, - 641, 696, 643, 693, 694, 638, 639, 642, 695, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, - 536, 537, 538, 539, 540, 541, 542, 0, 687, 628, - 627, 0, 634, 635, 0, 645, 646, 648, 652, 653, - 654, 657, 658, 659, 667, 669, 670, 668, 671, 672, - 673, 676, 677, 678, 679, 674, 675, 680, 644, 626, - 191, 207, 338, 0, 413, 270, 521, 499, 495, 0, - 209, 0, 244, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 193, 194, 200, 208, 218, 222, - 229, 243, 258, 260, 267, 279, 284, 287, 292, 293, - 296, 302, 348, 354, 355, 356, 357, 374, 375, 376, - 379, 382, 383, 386, 388, 389, 392, 396, 400, 401, - 402, 403, 405, 407, 414, 419, 427, 428, 429, 430, - 431, 434, 435, 440, 441, 442, 443, 444, 452, 453, - 457, 475, 477, 489, 503, 508, 433, 280, 484, 509, - 0, 347, 0, 0, 349, 263, 283, 294, 0, 498, - 454, 213, 421, 272, 201, 232, 216, 241, 256, 259, - 298, 358, 365, 394, 399, 277, 253, 230, 418, 227, - 437, 460, 461, 462, 464, 362, 248, 398, 0, 0, - 345, 466, 467, 290, 363, 0, 0, 0, 78, 465, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 381, 0, 0, 0, 0, 625, 0, 0, 0, - 252, 630, 0, 0, 0, 336, 249, 0, 0, 395, - 0, 197, 0, 439, 236, 346, 343, 472, 264, 255, - 251, 235, 291, 353, 393, 459, 387, 637, 340, 0, - 0, 449, 366, 0, 0, 0, 0, 0, 632, 633, - 0, 0, 0, 0, 0, 0, 0, 0, 297, 233, - 299, 196, 378, 450, 268, 0, 87, 0, 0, 188, - 189, 190, 702, 709, 710, 711, 712, 713, 703, 705, - 0, 0, 224, 704, 231, 649, 651, 650, 660, 661, - 662, 663, 664, 665, 666, 647, 707, 714, 715, 0, - 247, 295, 254, 246, 469, 0, 0, 0, 0, 0, - 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, - 608, 622, 0, 636, 0, 0, 0, 257, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 619, 620, 0, 0, 0, 0, 686, 0, - 621, 0, 0, 629, 716, 717, 718, 719, 720, 721, - 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, - 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, - 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, - 752, 753, 754, 755, 756, 757, 631, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 278, 0, 367, 239, - 0, 685, 0, 0, 505, 0, 0, 683, 0, 0, - 0, 0, 335, 0, 304, 192, 211, 0, 0, 377, - 420, 426, 0, 0, 0, 237, 0, 424, 391, 488, - 219, 266, 417, 397, 422, 404, 269, 0, 0, 423, - 341, 474, 411, 485, 506, 507, 245, 371, 496, 463, - 502, 520, 212, 242, 385, 456, 491, 446, 364, 470, - 471, 303, 445, 276, 195, 339, 512, 210, 432, 228, - 217, 476, 494, 271, 415, 202, 458, 483, 225, 436, - 0, 0, 522, 204, 481, 455, 360, 300, 301, 203, - 0, 416, 250, 274, 240, 380, 478, 479, 238, 523, - 214, 501, 206, 0, 500, 373, 473, 482, 361, 351, - 205, 480, 359, 350, 306, 655, 656, 262, 285, 409, - 344, 410, 286, 369, 368, 370, 198, 492, 0, 199, - 0, 451, 493, 524, 220, 221, 223, 0, 261, 265, - 273, 275, 281, 282, 289, 337, 384, 408, 406, 412, - 0, 468, 486, 497, 504, 510, 511, 513, 514, 515, - 516, 517, 519, 518, 372, 288, 447, 305, 342, 0, - 0, 390, 425, 226, 490, 448, 692, 684, 641, 696, - 643, 693, 694, 638, 639, 642, 695, 525, 526, 527, + 753, 754, 755, 756, 757, 758, 759, 632, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 279, 0, 368, + 240, 0, 687, 0, 0, 506, 0, 0, 685, 0, + 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, + 378, 421, 427, 0, 0, 0, 238, 0, 425, 392, + 489, 220, 267, 418, 398, 423, 405, 270, 0, 0, + 424, 342, 475, 412, 486, 507, 508, 246, 372, 497, + 464, 503, 521, 213, 243, 386, 457, 492, 447, 365, + 471, 472, 304, 446, 277, 195, 340, 513, 211, 433, + 229, 218, 477, 495, 272, 416, 203, 459, 484, 226, + 437, 0, 0, 523, 205, 482, 456, 361, 301, 302, + 204, 0, 417, 251, 275, 241, 381, 479, 480, 239, + 524, 215, 502, 207, 0, 501, 374, 474, 483, 362, + 352, 206, 481, 360, 351, 307, 657, 658, 263, 286, + 410, 345, 411, 287, 370, 369, 371, 198, 493, 0, + 199, 0, 452, 494, 525, 221, 222, 224, 0, 262, + 266, 274, 276, 282, 283, 290, 338, 385, 409, 407, + 413, 0, 469, 487, 498, 505, 511, 512, 514, 515, + 516, 517, 518, 520, 519, 373, 289, 448, 306, 343, + 0, 0, 391, 426, 227, 491, 449, 694, 686, 642, + 698, 644, 695, 696, 639, 640, 643, 697, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, - 538, 539, 540, 541, 542, 0, 687, 628, 627, 0, - 634, 635, 0, 645, 646, 648, 652, 653, 654, 657, - 658, 659, 667, 669, 670, 668, 671, 672, 673, 676, - 677, 678, 679, 674, 675, 680, 644, 626, 191, 207, - 338, 86, 413, 270, 521, 499, 495, 0, 209, 0, - 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 193, 194, 200, 208, 218, 222, 229, 243, - 258, 260, 267, 279, 284, 287, 292, 293, 296, 302, - 348, 354, 355, 356, 357, 374, 375, 376, 379, 382, - 383, 386, 388, 389, 392, 396, 400, 401, 402, 403, - 405, 407, 414, 419, 427, 428, 429, 430, 431, 434, - 435, 440, 441, 442, 443, 444, 452, 453, 457, 475, - 477, 489, 503, 508, 433, 280, 484, 509, 0, 347, - 0, 0, 349, 263, 283, 294, 0, 498, 454, 213, - 421, 272, 201, 232, 216, 241, 256, 259, 298, 358, - 365, 394, 399, 277, 253, 230, 418, 227, 437, 460, - 461, 462, 464, 362, 248, 398, 0, 363, 345, 466, - 467, 290, 465, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 381, 0, 0, 0, 0, 625, - 0, 0, 0, 252, 630, 0, 0, 0, 336, 249, - 0, 0, 395, 0, 197, 0, 439, 236, 346, 343, - 472, 264, 255, 251, 235, 291, 353, 393, 459, 387, - 637, 340, 0, 0, 449, 366, 0, 0, 0, 0, - 0, 632, 633, 0, 0, 0, 0, 0, 0, 0, - 0, 297, 233, 299, 196, 378, 450, 268, 0, 87, - 0, 0, 188, 189, 190, 702, 709, 710, 711, 712, - 713, 703, 705, 0, 0, 224, 704, 231, 649, 651, - 650, 660, 661, 662, 663, 664, 665, 666, 647, 707, - 714, 715, 0, 247, 295, 254, 246, 469, 0, 0, - 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, - 0, 0, 0, 608, 622, 0, 636, 0, 0, 0, - 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 619, 620, 0, 0, 0, - 0, 686, 0, 621, 0, 0, 629, 716, 717, 718, + 538, 539, 540, 541, 542, 543, 0, 689, 629, 628, + 0, 635, 636, 0, 647, 648, 650, 654, 655, 656, + 659, 660, 661, 669, 671, 672, 670, 673, 674, 675, + 678, 679, 680, 681, 676, 677, 682, 646, 645, 627, + 191, 208, 339, 0, 414, 271, 522, 500, 496, 0, + 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, + 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, + 297, 303, 349, 355, 356, 357, 358, 375, 376, 377, + 380, 383, 384, 387, 389, 390, 393, 397, 401, 402, + 403, 404, 406, 408, 415, 420, 428, 429, 430, 431, + 432, 435, 436, 441, 442, 443, 444, 445, 453, 454, + 458, 476, 478, 490, 504, 509, 434, 281, 485, 510, + 0, 348, 0, 0, 350, 264, 284, 295, 0, 499, + 455, 214, 422, 273, 202, 233, 217, 242, 257, 260, + 299, 359, 366, 395, 400, 278, 254, 231, 419, 228, + 438, 461, 462, 463, 465, 363, 249, 399, 0, 364, + 346, 467, 468, 291, 466, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 382, 0, 0, 0, + 0, 626, 0, 0, 0, 253, 631, 0, 0, 0, + 337, 250, 0, 0, 396, 0, 197, 0, 440, 237, + 347, 344, 473, 265, 256, 252, 236, 292, 354, 394, + 460, 388, 638, 341, 0, 0, 450, 367, 0, 0, + 0, 0, 0, 633, 634, 0, 0, 0, 0, 0, + 0, 0, 0, 298, 234, 300, 196, 379, 451, 269, + 0, 87, 0, 0, 188, 189, 190, 704, 711, 712, + 713, 714, 715, 705, 707, 0, 0, 225, 706, 232, + 651, 653, 652, 662, 663, 664, 665, 666, 667, 668, + 649, 709, 716, 717, 0, 248, 296, 255, 247, 470, + 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, + 0, 0, 0, 0, 0, 609, 623, 0, 637, 0, + 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 620, 621, 0, + 0, 0, 0, 688, 0, 622, 0, 0, 630, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, - 749, 750, 751, 752, 753, 754, 755, 756, 757, 631, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, - 0, 367, 239, 0, 685, 0, 0, 505, 0, 0, - 683, 0, 0, 0, 0, 335, 0, 304, 192, 211, - 0, 0, 377, 420, 426, 0, 0, 0, 237, 0, - 424, 391, 488, 219, 266, 417, 397, 422, 404, 269, - 2962, 0, 423, 341, 474, 411, 485, 506, 507, 245, - 371, 496, 463, 502, 520, 212, 242, 385, 456, 491, - 446, 364, 470, 471, 303, 445, 276, 195, 339, 512, - 210, 432, 228, 217, 476, 494, 271, 415, 202, 458, - 483, 225, 436, 0, 0, 522, 204, 481, 455, 360, - 300, 301, 203, 0, 416, 250, 274, 240, 380, 478, - 479, 238, 523, 214, 501, 206, 0, 500, 373, 473, - 482, 361, 351, 205, 480, 359, 350, 306, 655, 656, - 262, 285, 409, 344, 410, 286, 369, 368, 370, 198, - 492, 0, 199, 0, 451, 493, 524, 220, 221, 223, - 0, 261, 265, 273, 275, 281, 282, 289, 337, 384, - 408, 406, 412, 0, 468, 486, 497, 504, 510, 511, - 513, 514, 515, 516, 517, 519, 518, 372, 288, 447, - 305, 342, 0, 0, 390, 425, 226, 490, 448, 692, - 684, 641, 696, 643, 693, 694, 638, 639, 642, 695, - 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 0, 687, - 628, 627, 0, 634, 635, 0, 645, 646, 648, 652, - 653, 654, 657, 658, 659, 667, 669, 670, 668, 671, - 672, 673, 676, 677, 678, 679, 674, 675, 680, 644, - 626, 191, 207, 338, 0, 413, 270, 521, 499, 495, - 0, 209, 0, 244, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 193, 194, 200, 208, 218, - 222, 229, 243, 258, 260, 267, 279, 284, 287, 292, - 293, 296, 302, 348, 354, 355, 356, 357, 374, 375, - 376, 379, 382, 383, 386, 388, 389, 392, 396, 400, - 401, 402, 403, 405, 407, 414, 419, 427, 428, 429, - 430, 431, 434, 435, 440, 441, 442, 443, 444, 452, - 453, 457, 475, 477, 489, 503, 508, 433, 280, 484, - 509, 0, 347, 0, 0, 349, 263, 283, 294, 0, - 498, 454, 213, 421, 272, 201, 232, 216, 241, 256, - 259, 298, 358, 365, 394, 399, 277, 253, 230, 418, - 227, 437, 460, 461, 462, 464, 362, 248, 398, 0, - 363, 345, 466, 467, 290, 465, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, - 0, 0, 625, 0, 0, 0, 252, 630, 0, 0, - 0, 336, 249, 0, 0, 395, 0, 197, 0, 439, - 236, 346, 343, 472, 264, 255, 251, 235, 291, 353, - 393, 459, 387, 637, 340, 0, 0, 449, 366, 0, - 0, 0, 0, 0, 632, 633, 0, 0, 0, 0, - 0, 0, 0, 0, 297, 233, 299, 196, 378, 450, - 268, 0, 87, 0, 1337, 188, 189, 190, 702, 709, - 710, 711, 712, 713, 703, 705, 0, 0, 224, 704, - 231, 649, 651, 650, 660, 661, 662, 663, 664, 665, - 666, 647, 707, 714, 715, 0, 247, 295, 254, 246, - 469, 0, 0, 0, 0, 0, 0, 0, 215, 0, - 0, 0, 0, 0, 0, 0, 608, 622, 0, 636, - 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 619, 620, - 0, 0, 0, 0, 686, 0, 621, 0, 0, 629, - 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, - 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, - 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, - 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, - 756, 757, 631, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 278, 0, 367, 239, 0, 685, 0, 0, - 505, 0, 0, 683, 0, 0, 0, 0, 335, 0, - 304, 192, 211, 0, 0, 377, 420, 426, 0, 0, - 0, 237, 0, 424, 391, 488, 219, 266, 417, 397, - 422, 404, 269, 0, 0, 423, 341, 474, 411, 485, - 506, 507, 245, 371, 496, 463, 502, 520, 212, 242, - 385, 456, 491, 446, 364, 470, 471, 303, 445, 276, - 195, 339, 512, 210, 432, 228, 217, 476, 494, 271, - 415, 202, 458, 483, 225, 436, 0, 0, 522, 204, - 481, 455, 360, 300, 301, 203, 0, 416, 250, 274, - 240, 380, 478, 479, 238, 523, 214, 501, 206, 0, - 500, 373, 473, 482, 361, 351, 205, 480, 359, 350, - 306, 655, 656, 262, 285, 409, 344, 410, 286, 369, - 368, 370, 198, 492, 0, 199, 0, 451, 493, 524, - 220, 221, 223, 0, 261, 265, 273, 275, 281, 282, - 289, 337, 384, 408, 406, 412, 0, 468, 486, 497, - 504, 510, 511, 513, 514, 515, 516, 517, 519, 518, - 372, 288, 447, 305, 342, 0, 0, 390, 425, 226, - 490, 448, 692, 684, 641, 696, 643, 693, 694, 638, - 639, 642, 695, 525, 526, 527, 528, 529, 530, 531, - 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, - 542, 0, 687, 628, 627, 0, 634, 635, 0, 645, - 646, 648, 652, 653, 654, 657, 658, 659, 667, 669, - 670, 668, 671, 672, 673, 676, 677, 678, 679, 674, - 675, 680, 644, 626, 191, 207, 338, 0, 413, 270, - 521, 499, 495, 0, 209, 0, 244, 0, 0, 0, + 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, + 759, 632, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 279, 0, 368, 240, 0, 687, 0, 0, 506, + 0, 0, 685, 0, 0, 0, 0, 336, 0, 305, + 192, 212, 0, 0, 378, 421, 427, 0, 0, 0, + 238, 0, 425, 392, 489, 220, 267, 418, 398, 423, + 405, 270, 0, 0, 424, 342, 475, 412, 486, 507, + 508, 246, 372, 497, 464, 503, 521, 213, 243, 386, + 457, 492, 447, 365, 471, 472, 304, 446, 277, 195, + 340, 513, 211, 433, 229, 218, 477, 495, 272, 416, + 203, 459, 484, 226, 437, 0, 0, 523, 205, 482, + 456, 361, 301, 302, 204, 0, 417, 251, 275, 241, + 381, 479, 480, 239, 524, 215, 502, 207, 0, 501, + 374, 474, 483, 362, 352, 206, 481, 360, 351, 307, + 657, 658, 263, 286, 410, 345, 411, 287, 370, 369, + 371, 198, 493, 0, 199, 0, 452, 494, 525, 221, + 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, + 338, 385, 409, 407, 413, 0, 469, 487, 498, 505, + 511, 512, 514, 515, 516, 517, 518, 520, 519, 373, + 289, 448, 306, 343, 0, 0, 391, 426, 227, 491, + 449, 694, 686, 642, 698, 644, 695, 696, 639, 640, + 643, 697, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 0, 689, 629, 628, 0, 635, 636, 0, 647, 648, + 650, 654, 655, 656, 659, 660, 661, 669, 671, 672, + 670, 673, 674, 675, 678, 679, 680, 681, 676, 677, + 682, 646, 645, 627, 191, 208, 339, 0, 414, 271, + 522, 500, 496, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, - 200, 208, 218, 222, 229, 243, 258, 260, 267, 279, - 284, 287, 292, 293, 296, 302, 348, 354, 355, 356, - 357, 374, 375, 376, 379, 382, 383, 386, 388, 389, - 392, 396, 400, 401, 402, 403, 405, 407, 414, 419, - 427, 428, 429, 430, 431, 434, 435, 440, 441, 442, - 443, 444, 452, 453, 457, 475, 477, 489, 503, 508, - 433, 280, 484, 509, 0, 347, 0, 0, 349, 263, - 283, 294, 0, 498, 454, 213, 421, 272, 201, 232, - 216, 241, 256, 259, 298, 358, 365, 394, 399, 277, - 253, 230, 418, 227, 437, 460, 461, 462, 464, 362, - 248, 398, 0, 363, 345, 466, 467, 290, 465, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 381, 0, 0, 0, 0, 625, 0, 0, 0, 252, - 630, 0, 0, 0, 336, 249, 0, 0, 395, 0, - 197, 0, 439, 236, 346, 343, 472, 264, 255, 251, - 235, 291, 353, 393, 459, 387, 637, 340, 0, 0, - 449, 366, 0, 0, 0, 0, 0, 632, 633, 0, - 0, 0, 0, 0, 0, 0, 0, 297, 233, 299, - 196, 378, 450, 268, 0, 87, 0, 0, 188, 189, - 190, 702, 709, 710, 711, 712, 713, 703, 705, 0, - 0, 224, 704, 231, 649, 651, 650, 660, 661, 662, - 663, 664, 665, 666, 647, 707, 714, 715, 0, 247, - 295, 254, 246, 469, 0, 0, 0, 0, 0, 0, - 0, 215, 0, 0, 0, 0, 0, 0, 0, 608, - 622, 0, 636, 0, 0, 0, 257, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 619, 620, 797, 0, 0, 0, 686, 0, 621, - 0, 0, 629, 716, 717, 718, 719, 720, 721, 722, - 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, - 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, - 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, - 753, 754, 755, 756, 757, 631, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 278, 0, 367, 239, 0, - 685, 0, 0, 505, 0, 0, 683, 0, 0, 0, - 0, 335, 0, 304, 192, 211, 0, 0, 377, 420, - 426, 0, 0, 0, 237, 0, 424, 391, 488, 219, - 266, 417, 397, 422, 404, 269, 0, 0, 423, 341, - 474, 411, 485, 506, 507, 245, 371, 496, 463, 502, - 520, 212, 242, 385, 456, 491, 446, 364, 470, 471, - 303, 445, 276, 195, 339, 512, 210, 432, 228, 217, - 476, 494, 271, 415, 202, 458, 483, 225, 436, 0, - 0, 522, 204, 481, 455, 360, 300, 301, 203, 0, - 416, 250, 274, 240, 380, 478, 479, 238, 523, 214, - 501, 206, 0, 500, 373, 473, 482, 361, 351, 205, - 480, 359, 350, 306, 655, 656, 262, 285, 409, 344, - 410, 286, 369, 368, 370, 198, 492, 0, 199, 0, - 451, 493, 524, 220, 221, 223, 0, 261, 265, 273, - 275, 281, 282, 289, 337, 384, 408, 406, 412, 0, - 468, 486, 497, 504, 510, 511, 513, 514, 515, 516, - 517, 519, 518, 372, 288, 447, 305, 342, 0, 0, - 390, 425, 226, 490, 448, 692, 684, 641, 696, 643, - 693, 694, 638, 639, 642, 695, 525, 526, 527, 528, - 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, - 539, 540, 541, 542, 0, 687, 628, 627, 0, 634, - 635, 0, 645, 646, 648, 652, 653, 654, 657, 658, - 659, 667, 669, 670, 668, 671, 672, 673, 676, 677, - 678, 679, 674, 675, 680, 644, 626, 191, 207, 338, - 0, 413, 270, 521, 499, 495, 0, 209, 0, 244, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 193, 194, 200, 208, 218, 222, 229, 243, 258, - 260, 267, 279, 284, 287, 292, 293, 296, 302, 348, - 354, 355, 356, 357, 374, 375, 376, 379, 382, 383, - 386, 388, 389, 392, 396, 400, 401, 402, 403, 405, - 407, 414, 419, 427, 428, 429, 430, 431, 434, 435, - 440, 441, 442, 443, 444, 452, 453, 457, 475, 477, - 489, 503, 508, 433, 280, 484, 509, 0, 347, 0, - 0, 349, 263, 283, 294, 0, 498, 454, 213, 421, - 272, 201, 232, 216, 241, 256, 259, 298, 358, 365, - 394, 399, 277, 253, 230, 418, 227, 437, 460, 461, - 462, 464, 362, 248, 398, 0, 363, 345, 466, 467, - 290, 465, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 381, 0, 0, 0, 0, 625, 0, - 0, 0, 252, 630, 0, 0, 0, 336, 249, 0, - 0, 395, 0, 197, 0, 439, 236, 346, 343, 472, - 264, 255, 251, 235, 291, 353, 393, 459, 387, 637, - 340, 0, 0, 449, 366, 0, 0, 0, 0, 0, - 632, 633, 0, 0, 0, 0, 0, 0, 0, 0, - 297, 233, 299, 196, 378, 450, 268, 0, 87, 0, - 0, 188, 189, 190, 702, 709, 710, 711, 712, 713, - 703, 705, 0, 0, 224, 704, 231, 649, 651, 650, - 660, 661, 662, 663, 664, 665, 666, 647, 707, 714, - 715, 0, 247, 295, 254, 246, 469, 0, 0, 0, - 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, - 0, 0, 608, 622, 0, 636, 0, 0, 0, 257, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 619, 620, 0, 0, 0, 0, - 686, 0, 621, 0, 0, 629, 716, 717, 718, 719, - 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, - 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, - 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, - 750, 751, 752, 753, 754, 755, 756, 757, 631, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 278, 0, - 367, 239, 0, 685, 0, 0, 505, 0, 0, 683, - 0, 0, 0, 0, 335, 0, 304, 192, 211, 0, - 0, 377, 420, 426, 0, 0, 0, 237, 0, 424, - 391, 488, 219, 266, 417, 397, 422, 404, 269, 0, - 0, 423, 341, 474, 411, 485, 506, 507, 245, 371, - 496, 463, 502, 520, 212, 242, 385, 456, 491, 446, - 364, 470, 471, 303, 445, 276, 195, 339, 512, 210, - 432, 228, 217, 476, 494, 271, 415, 202, 458, 483, - 225, 436, 0, 0, 522, 204, 481, 455, 360, 300, - 301, 203, 0, 416, 250, 274, 240, 380, 478, 479, - 238, 523, 214, 501, 206, 0, 500, 373, 473, 482, - 361, 351, 205, 480, 359, 350, 306, 655, 656, 262, - 285, 409, 344, 410, 286, 369, 368, 370, 198, 492, - 0, 199, 0, 451, 493, 524, 220, 221, 223, 0, - 261, 265, 273, 275, 281, 282, 289, 337, 384, 408, - 406, 412, 0, 468, 486, 497, 504, 510, 511, 513, - 514, 515, 516, 517, 519, 518, 372, 288, 447, 305, - 342, 0, 0, 390, 425, 226, 490, 448, 692, 684, - 641, 696, 643, 693, 694, 638, 639, 642, 695, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, - 536, 537, 538, 539, 540, 541, 542, 0, 687, 628, - 627, 0, 634, 635, 0, 645, 646, 648, 652, 653, - 654, 657, 658, 659, 667, 669, 670, 668, 671, 672, - 673, 676, 677, 678, 679, 674, 675, 680, 644, 626, - 191, 207, 338, 0, 413, 270, 521, 499, 495, 0, - 209, 0, 244, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 193, 194, 200, 208, 218, 222, - 229, 243, 258, 260, 267, 279, 284, 287, 292, 293, - 296, 302, 348, 354, 355, 356, 357, 374, 375, 376, - 379, 382, 383, 386, 388, 389, 392, 396, 400, 401, - 402, 403, 405, 407, 414, 419, 427, 428, 429, 430, - 431, 434, 435, 440, 441, 442, 443, 444, 452, 453, - 457, 475, 477, 489, 503, 508, 433, 280, 484, 509, - 0, 347, 0, 0, 349, 263, 283, 294, 0, 498, - 454, 213, 421, 272, 201, 232, 216, 241, 256, 259, - 298, 358, 365, 394, 399, 277, 253, 230, 418, 227, - 437, 460, 461, 462, 464, 362, 248, 398, 0, 363, - 345, 466, 467, 290, 465, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 381, 0, 0, 0, - 0, 625, 0, 0, 0, 252, 630, 0, 0, 0, - 336, 249, 0, 0, 395, 0, 197, 0, 439, 236, - 346, 343, 472, 264, 255, 251, 235, 291, 353, 393, - 459, 387, 637, 340, 0, 0, 449, 366, 0, 0, - 0, 0, 0, 632, 633, 0, 0, 0, 0, 0, - 0, 0, 0, 297, 233, 299, 196, 378, 450, 268, - 0, 87, 0, 0, 188, 189, 190, 702, 709, 710, - 711, 712, 713, 703, 705, 0, 0, 224, 704, 231, - 649, 651, 650, 660, 661, 662, 663, 664, 665, 666, - 647, 707, 714, 715, 0, 247, 295, 254, 246, 469, - 0, 0, 0, 0, 0, 0, 0, 215, 0, 0, - 0, 0, 0, 0, 0, 0, 622, 0, 636, 0, - 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 619, 620, 0, - 0, 0, 0, 686, 0, 621, 0, 0, 629, 716, - 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, - 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, - 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, - 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, - 757, 631, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 278, 0, 367, 239, 0, 685, 0, 0, 505, - 0, 0, 683, 0, 0, 0, 0, 335, 0, 304, - 192, 211, 0, 0, 377, 420, 426, 0, 0, 0, - 237, 0, 424, 391, 488, 219, 266, 417, 397, 422, - 404, 269, 0, 0, 423, 341, 474, 411, 485, 506, - 507, 245, 371, 496, 463, 502, 520, 212, 242, 385, - 456, 491, 446, 364, 470, 471, 303, 445, 276, 195, - 339, 512, 210, 432, 228, 217, 476, 494, 271, 415, - 202, 458, 483, 225, 436, 0, 0, 522, 204, 481, - 455, 360, 300, 301, 203, 0, 416, 250, 274, 240, - 380, 478, 479, 238, 523, 214, 501, 206, 0, 500, - 373, 473, 482, 361, 351, 205, 480, 359, 350, 306, - 655, 656, 262, 285, 409, 344, 410, 286, 369, 368, - 370, 198, 492, 0, 199, 0, 451, 493, 524, 220, - 221, 223, 0, 261, 265, 273, 275, 281, 282, 289, - 337, 384, 408, 406, 412, 0, 468, 486, 497, 504, - 510, 511, 513, 514, 515, 516, 517, 519, 518, 372, - 288, 447, 305, 342, 0, 0, 390, 425, 226, 490, - 448, 692, 684, 641, 696, 643, 693, 694, 638, 639, - 642, 695, 525, 526, 527, 528, 529, 530, 531, 532, - 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, - 0, 687, 628, 627, 0, 634, 635, 0, 645, 646, - 648, 652, 653, 654, 657, 658, 659, 667, 669, 670, - 668, 671, 672, 673, 676, 677, 678, 679, 674, 675, - 680, 644, 626, 191, 207, 338, 0, 413, 270, 521, - 499, 495, 0, 209, 0, 244, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, - 208, 218, 222, 229, 243, 258, 260, 267, 279, 284, - 287, 292, 293, 296, 302, 348, 354, 355, 356, 357, - 374, 375, 376, 379, 382, 383, 386, 388, 389, 392, - 396, 400, 401, 402, 403, 405, 407, 414, 419, 427, - 428, 429, 430, 431, 434, 435, 440, 441, 442, 443, - 444, 452, 453, 457, 475, 477, 489, 503, 508, 433, - 280, 484, 509, 0, 347, 0, 0, 349, 263, 283, - 294, 0, 498, 454, 213, 421, 272, 201, 232, 216, - 241, 256, 259, 298, 358, 365, 394, 399, 277, 253, - 230, 418, 227, 437, 460, 461, 462, 464, 362, 248, - 398, 0, 363, 345, 466, 467, 290, 465, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, - 0, 0, 0, 0, 0, 0, 0, 0, 252, 0, - 0, 0, 0, 336, 249, 0, 0, 395, 0, 197, - 0, 439, 236, 346, 343, 472, 264, 255, 251, 235, - 291, 353, 393, 459, 387, 0, 340, 0, 0, 449, - 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 297, 233, 299, 196, - 378, 450, 268, 0, 0, 0, 0, 188, 189, 190, - 0, 709, 710, 0, 0, 0, 0, 1685, 0, 0, - 224, 0, 231, 321, 330, 329, 310, 311, 313, 315, - 320, 327, 333, 0, 0, 0, 0, 0, 247, 295, - 254, 246, 469, 0, 0, 0, 0, 0, 0, 0, - 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 257, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 716, 717, 718, 719, 720, 721, 722, 723, - 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, - 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, - 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, - 754, 755, 756, 757, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 278, 0, 367, 239, 0, 0, - 0, 0, 505, 0, 0, 0, 0, 0, 0, 0, - 335, 0, 304, 192, 211, 0, 0, 377, 420, 426, - 0, 0, 0, 237, 0, 424, 391, 488, 219, 266, - 417, 397, 422, 404, 269, 0, 0, 423, 341, 474, - 411, 485, 506, 507, 245, 371, 496, 463, 502, 520, - 212, 242, 385, 456, 491, 446, 364, 470, 471, 303, - 445, 276, 195, 339, 512, 210, 432, 228, 217, 476, - 494, 271, 415, 202, 458, 483, 225, 436, 0, 0, - 522, 204, 481, 455, 360, 300, 301, 203, 0, 416, - 250, 274, 240, 380, 478, 479, 238, 523, 214, 501, - 206, 0, 500, 373, 473, 482, 361, 351, 205, 480, - 359, 350, 306, 325, 326, 262, 285, 409, 344, 410, - 286, 369, 368, 370, 198, 492, 0, 199, 0, 451, - 493, 524, 220, 221, 223, 0, 261, 265, 273, 275, - 281, 282, 289, 337, 384, 408, 406, 412, 0, 468, - 486, 497, 504, 510, 511, 513, 514, 515, 516, 517, - 519, 518, 372, 288, 447, 305, 342, 0, 0, 390, - 425, 226, 490, 448, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 525, 526, 527, 528, 529, + 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, + 285, 288, 293, 294, 297, 303, 349, 355, 356, 357, + 358, 375, 376, 377, 380, 383, 384, 387, 389, 390, + 393, 397, 401, 402, 403, 404, 406, 408, 415, 420, + 428, 429, 430, 431, 432, 435, 436, 441, 442, 443, + 444, 445, 453, 454, 458, 476, 478, 490, 504, 509, + 434, 281, 485, 510, 0, 348, 0, 0, 350, 264, + 284, 295, 0, 499, 455, 214, 422, 273, 202, 233, + 217, 242, 257, 260, 299, 359, 366, 395, 400, 278, + 254, 231, 419, 228, 438, 461, 462, 463, 465, 363, + 249, 399, 0, 364, 346, 467, 468, 291, 466, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 382, 0, 0, 0, 0, 626, 0, 0, 0, 253, + 631, 0, 0, 0, 337, 250, 0, 0, 396, 0, + 197, 0, 440, 237, 347, 344, 473, 265, 256, 252, + 236, 292, 354, 394, 460, 388, 638, 341, 0, 0, + 450, 367, 0, 0, 0, 0, 0, 633, 634, 0, + 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, + 196, 379, 451, 269, 0, 87, 0, 0, 188, 189, + 190, 704, 711, 712, 713, 714, 715, 705, 707, 0, + 0, 225, 706, 232, 651, 653, 652, 662, 663, 664, + 665, 666, 667, 668, 649, 709, 716, 717, 0, 248, + 296, 255, 247, 470, 0, 0, 0, 0, 0, 0, + 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, + 623, 0, 637, 0, 0, 0, 258, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 620, 621, 0, 0, 0, 0, 688, 0, 622, + 0, 0, 630, 718, 719, 720, 721, 722, 723, 724, + 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, + 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, + 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, + 755, 756, 757, 758, 759, 632, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 279, 0, 368, 240, 0, + 687, 0, 0, 506, 0, 0, 685, 0, 0, 0, + 0, 336, 0, 305, 192, 212, 0, 0, 378, 421, + 427, 0, 0, 0, 238, 0, 425, 392, 489, 220, + 267, 418, 398, 423, 405, 270, 0, 0, 424, 342, + 475, 412, 486, 507, 508, 246, 372, 497, 464, 503, + 521, 213, 243, 386, 457, 492, 447, 365, 471, 472, + 304, 446, 277, 195, 340, 513, 211, 433, 229, 218, + 477, 495, 272, 416, 203, 459, 484, 226, 437, 0, + 0, 523, 205, 482, 456, 361, 301, 302, 204, 0, + 417, 251, 275, 241, 381, 479, 480, 239, 524, 215, + 502, 207, 0, 501, 374, 474, 483, 362, 352, 206, + 481, 360, 351, 307, 657, 658, 263, 286, 410, 345, + 411, 287, 370, 369, 371, 198, 493, 0, 199, 0, + 452, 494, 525, 221, 222, 224, 0, 262, 266, 274, + 276, 282, 283, 290, 338, 385, 409, 407, 413, 0, + 469, 487, 498, 505, 511, 512, 514, 515, 516, 517, + 518, 520, 519, 373, 289, 448, 306, 343, 0, 0, + 391, 426, 227, 491, 449, 694, 686, 642, 698, 644, + 695, 696, 639, 640, 643, 697, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 543, 352, 438, 487, 307, 319, 322, - 312, 331, 0, 332, 308, 309, 314, 316, 317, 318, - 323, 324, 328, 334, 234, 0, 191, 207, 338, 0, - 413, 270, 521, 499, 495, 0, 209, 0, 244, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 193, 194, 200, 208, 218, 222, 229, 243, 258, 260, - 267, 279, 284, 287, 292, 293, 296, 302, 348, 354, - 355, 356, 357, 374, 375, 376, 379, 382, 383, 386, - 388, 389, 392, 396, 400, 401, 402, 403, 405, 407, - 414, 419, 427, 428, 429, 430, 431, 434, 435, 440, - 441, 442, 443, 444, 452, 453, 457, 475, 477, 489, - 503, 508, 433, 280, 484, 509, 0, 347, 0, 0, - 349, 263, 283, 294, 0, 498, 454, 213, 421, 272, - 201, 232, 216, 241, 256, 259, 298, 358, 365, 394, - 399, 277, 253, 230, 418, 227, 437, 460, 461, 462, - 464, 362, 248, 398, 0, 363, 345, 466, 467, 290, - 465, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 381, 0, 0, 0, 0, 0, 0, 0, - 0, 252, 0, 0, 0, 0, 336, 249, 0, 0, - 395, 0, 197, 0, 439, 236, 346, 343, 472, 264, - 255, 251, 235, 291, 353, 393, 459, 387, 0, 340, - 0, 0, 449, 366, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, - 233, 299, 196, 378, 450, 268, 0, 0, 0, 0, - 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 224, 0, 231, 321, 330, 329, 310, - 311, 313, 315, 320, 327, 333, 0, 0, 0, 0, - 0, 247, 295, 254, 246, 469, 0, 0, 0, 0, - 0, 0, 0, 215, 0, 1016, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 257, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 278, 0, 367, - 239, 0, 0, 0, 1015, 505, 0, 0, 0, 0, - 0, 1012, 1013, 335, 973, 304, 192, 211, 1006, 1010, - 377, 420, 426, 0, 0, 0, 237, 0, 424, 391, - 488, 219, 266, 417, 397, 422, 404, 269, 0, 0, - 423, 341, 474, 411, 485, 506, 507, 245, 371, 496, - 463, 502, 520, 212, 242, 385, 456, 491, 446, 364, - 470, 471, 303, 445, 276, 195, 339, 512, 210, 432, - 228, 217, 476, 494, 271, 415, 202, 458, 483, 225, - 436, 0, 0, 522, 204, 481, 455, 360, 300, 301, - 203, 0, 416, 250, 274, 240, 380, 478, 479, 238, - 523, 214, 501, 206, 0, 500, 373, 473, 482, 361, - 351, 205, 480, 359, 350, 306, 325, 326, 262, 285, - 409, 344, 410, 286, 369, 368, 370, 198, 492, 0, - 199, 0, 451, 493, 524, 220, 221, 223, 0, 261, - 265, 273, 275, 281, 282, 289, 337, 384, 408, 406, - 412, 0, 468, 486, 497, 504, 510, 511, 513, 514, - 515, 516, 517, 519, 518, 372, 288, 447, 305, 342, - 0, 0, 390, 425, 226, 490, 448, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 525, 526, - 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, - 537, 538, 539, 540, 541, 542, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 543, 352, 438, 487, - 307, 319, 322, 312, 331, 0, 332, 308, 309, 314, - 316, 317, 318, 323, 324, 328, 334, 234, 0, 191, - 207, 338, 0, 413, 270, 521, 499, 495, 0, 209, - 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 193, 194, 200, 208, 218, 222, 229, - 243, 258, 260, 267, 279, 284, 287, 292, 293, 296, - 302, 348, 354, 355, 356, 357, 374, 375, 376, 379, - 382, 383, 386, 388, 389, 392, 396, 400, 401, 402, - 403, 405, 407, 414, 419, 427, 428, 429, 430, 431, - 434, 435, 440, 441, 442, 443, 444, 452, 453, 457, - 475, 477, 489, 503, 508, 433, 280, 484, 509, 0, - 347, 0, 0, 349, 263, 283, 294, 0, 498, 454, - 213, 421, 272, 201, 232, 216, 241, 256, 259, 298, - 358, 365, 394, 399, 277, 253, 230, 418, 227, 437, - 460, 461, 462, 464, 362, 248, 398, 0, 0, 345, - 466, 467, 290, 363, 0, 0, 0, 78, 465, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 381, 0, 0, 0, 0, 0, 0, 0, 0, 252, - 0, 0, 0, 0, 336, 249, 0, 0, 395, 0, - 197, 0, 439, 236, 346, 343, 472, 264, 255, 251, - 235, 291, 353, 393, 459, 387, 0, 340, 0, 0, - 449, 366, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 297, 233, 299, - 196, 378, 450, 268, 0, 87, 0, 0, 188, 189, - 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 224, 0, 231, 321, 330, 329, 310, 311, 313, - 315, 320, 327, 333, 0, 0, 0, 0, 0, 247, - 295, 254, 246, 469, 0, 0, 0, 0, 0, 0, - 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 257, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 278, 0, 367, 239, 0, - 0, 0, 0, 505, 0, 0, 0, 0, 0, 0, - 0, 335, 0, 304, 192, 211, 0, 0, 377, 420, - 426, 0, 0, 0, 237, 0, 424, 391, 488, 219, - 266, 417, 397, 422, 404, 269, 0, 0, 423, 341, - 474, 411, 485, 506, 507, 245, 371, 496, 463, 502, - 520, 212, 242, 385, 456, 491, 446, 364, 470, 471, - 303, 445, 276, 195, 339, 512, 210, 432, 228, 217, - 476, 494, 271, 415, 202, 458, 483, 225, 436, 0, - 0, 522, 204, 481, 455, 360, 300, 301, 203, 0, - 416, 250, 274, 240, 380, 478, 479, 238, 523, 214, - 501, 206, 0, 500, 373, 473, 482, 361, 351, 205, - 480, 359, 350, 306, 325, 326, 262, 285, 409, 344, - 410, 286, 369, 368, 370, 198, 492, 0, 199, 0, - 451, 493, 524, 220, 221, 223, 0, 261, 265, 273, - 275, 281, 282, 289, 337, 384, 408, 406, 412, 0, - 468, 486, 497, 504, 510, 511, 513, 514, 515, 516, - 517, 519, 518, 372, 288, 447, 305, 342, 0, 0, - 390, 425, 226, 490, 448, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 525, 526, 527, 528, - 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, - 539, 540, 541, 542, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 543, 352, 438, 487, 307, 319, - 322, 312, 331, 0, 332, 308, 309, 314, 316, 317, - 318, 323, 324, 328, 334, 234, 0, 191, 207, 338, - 86, 413, 270, 521, 499, 495, 0, 209, 0, 244, - 0, 0, 0, 0, 0, 0, 1848, 0, 0, 1847, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 193, 194, 200, 208, 218, 222, 229, 243, 258, - 260, 267, 279, 284, 287, 292, 293, 296, 302, 348, - 354, 355, 356, 357, 374, 375, 376, 379, 382, 383, - 386, 388, 389, 392, 396, 400, 401, 402, 403, 405, - 407, 414, 419, 427, 428, 429, 430, 431, 434, 435, - 440, 441, 442, 443, 444, 452, 453, 457, 475, 477, - 489, 503, 508, 433, 280, 484, 509, 0, 347, 0, - 0, 349, 263, 283, 294, 0, 498, 454, 213, 421, - 272, 201, 232, 216, 241, 256, 259, 298, 358, 365, - 394, 399, 277, 253, 230, 418, 227, 437, 460, 461, - 462, 464, 362, 248, 398, 0, 1356, 345, 466, 467, - 290, 465, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 381, 0, 0, 0, 1358, 0, 0, - 0, 0, 252, 0, 0, 0, 0, 336, 249, 0, - 0, 395, 0, 197, 0, 439, 236, 346, 343, 472, - 264, 255, 251, 235, 291, 353, 393, 459, 387, 0, - 340, 0, 0, 449, 366, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 297, 233, 299, 196, 378, 450, 268, 0, 0, 0, - 0, 188, 189, 190, 0, 1360, 0, 0, 0, 0, - 0, 0, 0, 0, 224, 0, 231, 321, 330, 329, - 310, 311, 313, 315, 320, 327, 333, 0, 0, 0, - 0, 0, 247, 295, 254, 246, 469, 0, 0, 0, - 0, 0, 0, 0, 215, 0, 0, 0, 1188, 0, - 1189, 1190, 0, 0, 0, 0, 0, 0, 0, 257, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 278, 0, - 367, 239, 0, 0, 0, 0, 505, 0, 0, 0, - 0, 0, 0, 0, 335, 0, 304, 192, 211, 0, - 0, 377, 420, 426, 0, 0, 0, 237, 0, 424, - 391, 488, 219, 266, 417, 397, 422, 404, 269, 0, - 0, 423, 341, 474, 411, 485, 506, 507, 245, 371, - 496, 463, 502, 520, 212, 242, 385, 456, 491, 446, - 364, 470, 471, 303, 445, 276, 195, 339, 512, 210, - 432, 228, 217, 476, 494, 271, 415, 202, 458, 483, - 225, 436, 0, 0, 522, 204, 481, 455, 360, 300, - 301, 203, 0, 416, 250, 274, 240, 380, 478, 479, - 238, 523, 214, 501, 206, 0, 500, 373, 473, 482, - 361, 351, 205, 480, 359, 350, 306, 325, 326, 262, - 285, 409, 344, 410, 286, 369, 368, 370, 198, 492, - 0, 199, 0, 451, 493, 524, 220, 221, 223, 0, - 261, 265, 273, 275, 281, 282, 289, 337, 384, 408, - 406, 412, 0, 468, 486, 497, 504, 510, 511, 513, - 514, 515, 516, 517, 519, 518, 372, 288, 447, 305, - 342, 0, 0, 390, 425, 226, 490, 448, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 525, + 540, 541, 542, 543, 0, 689, 629, 628, 0, 635, + 636, 0, 647, 648, 650, 654, 655, 656, 659, 660, + 661, 669, 671, 672, 670, 673, 674, 675, 678, 679, + 680, 681, 676, 677, 682, 646, 645, 627, 191, 208, + 339, 0, 414, 271, 522, 500, 496, 0, 210, 0, + 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, + 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, + 349, 355, 356, 357, 358, 375, 376, 377, 380, 383, + 384, 387, 389, 390, 393, 397, 401, 402, 403, 404, + 406, 408, 415, 420, 428, 429, 430, 431, 432, 435, + 436, 441, 442, 443, 444, 445, 453, 454, 458, 476, + 478, 490, 504, 509, 434, 281, 485, 510, 0, 348, + 0, 0, 350, 264, 284, 295, 0, 499, 455, 214, + 422, 273, 202, 233, 217, 242, 257, 260, 299, 359, + 366, 395, 400, 278, 254, 231, 419, 228, 438, 461, + 462, 463, 465, 363, 249, 399, 0, 364, 346, 467, + 468, 291, 466, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 382, 0, 0, 0, 0, 0, + 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, + 0, 0, 396, 0, 197, 0, 440, 237, 347, 344, + 473, 265, 256, 252, 236, 292, 354, 394, 460, 388, + 0, 341, 0, 0, 450, 367, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 298, 234, 300, 196, 379, 451, 269, 0, 0, + 0, 0, 188, 189, 190, 0, 711, 712, 0, 0, + 0, 0, 1688, 0, 0, 225, 0, 232, 322, 331, + 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, + 0, 0, 0, 248, 296, 255, 247, 470, 0, 0, + 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 718, 719, 720, + 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, + 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, + 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, + 751, 752, 753, 754, 755, 756, 757, 758, 759, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, + 0, 368, 240, 0, 0, 0, 0, 506, 0, 0, + 0, 0, 0, 0, 0, 336, 0, 305, 192, 212, + 0, 0, 378, 421, 427, 0, 0, 0, 238, 0, + 425, 392, 489, 220, 267, 418, 398, 423, 405, 270, + 0, 0, 424, 342, 475, 412, 486, 507, 508, 246, + 372, 497, 464, 503, 521, 213, 243, 386, 457, 492, + 447, 365, 471, 472, 304, 446, 277, 195, 340, 513, + 211, 433, 229, 218, 477, 495, 272, 416, 203, 459, + 484, 226, 437, 0, 0, 523, 205, 482, 456, 361, + 301, 302, 204, 0, 417, 251, 275, 241, 381, 479, + 480, 239, 524, 215, 502, 207, 0, 501, 374, 474, + 483, 362, 352, 206, 481, 360, 351, 307, 326, 327, + 263, 286, 410, 345, 411, 287, 370, 369, 371, 198, + 493, 0, 199, 0, 452, 494, 525, 221, 222, 224, + 0, 262, 266, 274, 276, 282, 283, 290, 338, 385, + 409, 407, 413, 0, 469, 487, 498, 505, 511, 512, + 514, 515, 516, 517, 518, 520, 519, 373, 289, 448, + 306, 343, 0, 0, 391, 426, 227, 491, 449, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, - 536, 537, 538, 539, 540, 541, 542, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 543, 352, 438, - 487, 307, 319, 322, 312, 331, 0, 332, 308, 309, - 314, 316, 317, 318, 323, 324, 328, 334, 234, 0, - 191, 207, 338, 0, 413, 270, 521, 499, 495, 0, - 209, 0, 244, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 193, 194, 200, 208, 218, 222, - 229, 243, 258, 260, 267, 279, 284, 287, 292, 293, - 296, 302, 348, 354, 355, 356, 357, 374, 375, 376, - 379, 382, 383, 386, 388, 389, 392, 396, 400, 401, - 402, 403, 405, 407, 414, 419, 427, 428, 429, 430, - 431, 434, 435, 440, 441, 442, 443, 444, 452, 453, - 457, 475, 477, 489, 503, 508, 433, 280, 484, 509, - 0, 347, 0, 0, 349, 263, 283, 294, 0, 498, - 454, 213, 421, 272, 201, 232, 216, 241, 256, 259, - 298, 358, 365, 394, 399, 277, 253, 230, 418, 227, - 437, 460, 461, 462, 464, 362, 248, 398, 0, 363, - 345, 466, 467, 290, 465, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 381, 0, 0, 0, - 0, 0, 0, 0, 0, 252, 0, 0, 0, 0, - 336, 249, 0, 0, 395, 0, 197, 0, 439, 236, - 346, 343, 472, 264, 255, 251, 235, 291, 353, 393, - 459, 387, 0, 340, 0, 0, 449, 366, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 297, 233, 299, 196, 378, 450, 268, - 0, 0, 0, 0, 188, 189, 190, 1299, 1302, 0, - 0, 0, 0, 1298, 1301, 0, 0, 224, 1297, 231, - 321, 330, 329, 310, 311, 313, 315, 320, 327, 333, - 0, 0, 0, 0, 0, 247, 295, 254, 246, 469, - 0, 0, 0, 0, 0, 0, 0, 215, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 278, 0, 367, 239, 0, 0, 0, 0, 505, - 0, 0, 0, 0, 0, 0, 0, 335, 0, 304, - 192, 211, 0, 0, 377, 420, 426, 0, 0, 0, - 237, 0, 424, 391, 488, 219, 266, 417, 397, 422, - 404, 269, 0, 0, 423, 341, 474, 411, 485, 506, - 507, 245, 371, 496, 463, 502, 520, 212, 242, 385, - 456, 491, 446, 364, 470, 471, 303, 445, 276, 195, - 339, 512, 210, 432, 228, 217, 476, 494, 271, 415, - 202, 458, 483, 225, 436, 0, 0, 522, 204, 481, - 455, 360, 300, 301, 203, 0, 416, 250, 274, 240, - 380, 478, 479, 238, 523, 214, 501, 206, 0, 500, - 373, 473, 482, 361, 351, 205, 480, 359, 350, 306, - 325, 326, 262, 285, 409, 344, 410, 286, 369, 368, - 370, 198, 492, 0, 199, 0, 451, 493, 524, 220, - 221, 223, 0, 261, 265, 273, 275, 281, 282, 289, - 337, 384, 408, 406, 412, 0, 468, 486, 497, 504, - 510, 511, 513, 514, 515, 516, 517, 519, 518, 372, - 288, 447, 305, 342, 0, 0, 390, 425, 226, 490, - 448, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 525, 526, 527, 528, 529, 530, 531, 532, + 536, 537, 538, 539, 540, 541, 542, 543, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 544, 353, + 439, 488, 308, 320, 323, 313, 332, 0, 333, 309, + 310, 315, 317, 318, 319, 324, 325, 329, 335, 235, + 201, 0, 191, 208, 339, 0, 414, 271, 522, 500, + 496, 0, 210, 0, 245, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, + 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, + 293, 294, 297, 303, 349, 355, 356, 357, 358, 375, + 376, 377, 380, 383, 384, 387, 389, 390, 393, 397, + 401, 402, 403, 404, 406, 408, 415, 420, 428, 429, + 430, 431, 432, 435, 436, 441, 442, 443, 444, 445, + 453, 454, 458, 476, 478, 490, 504, 509, 434, 281, + 485, 510, 0, 348, 0, 0, 350, 264, 284, 295, + 0, 499, 455, 214, 422, 273, 202, 233, 217, 242, + 257, 260, 299, 359, 366, 395, 400, 278, 254, 231, + 419, 228, 438, 461, 462, 463, 465, 363, 249, 399, + 0, 364, 346, 467, 468, 291, 466, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 382, 0, + 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, + 0, 0, 337, 250, 0, 0, 396, 0, 197, 0, + 440, 237, 347, 344, 473, 265, 256, 252, 236, 292, + 354, 394, 460, 388, 0, 341, 0, 0, 450, 367, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 298, 234, 300, 196, 379, + 451, 269, 0, 0, 0, 0, 188, 189, 190, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, + 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, + 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, + 247, 470, 0, 0, 0, 0, 0, 0, 0, 216, + 0, 1018, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 279, 0, 368, 240, 0, 0, 0, + 1017, 506, 0, 0, 0, 0, 0, 1014, 1015, 336, + 975, 305, 192, 212, 1008, 1012, 378, 421, 427, 0, + 0, 0, 238, 0, 425, 392, 489, 220, 267, 418, + 398, 423, 405, 270, 0, 0, 424, 342, 475, 412, + 486, 507, 508, 246, 372, 497, 464, 503, 521, 213, + 243, 386, 457, 492, 447, 365, 471, 472, 304, 446, + 277, 195, 340, 513, 211, 433, 229, 218, 477, 495, + 272, 416, 203, 459, 484, 226, 437, 0, 0, 523, + 205, 482, 456, 361, 301, 302, 204, 0, 417, 251, + 275, 241, 381, 479, 480, 239, 524, 215, 502, 207, + 0, 501, 374, 474, 483, 362, 352, 206, 481, 360, + 351, 307, 326, 327, 263, 286, 410, 345, 411, 287, + 370, 369, 371, 198, 493, 0, 199, 0, 452, 494, + 525, 221, 222, 224, 0, 262, 266, 274, 276, 282, + 283, 290, 338, 385, 409, 407, 413, 0, 469, 487, + 498, 505, 511, 512, 514, 515, 516, 517, 518, 520, + 519, 373, 289, 448, 306, 343, 0, 0, 391, 426, + 227, 491, 449, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 526, 527, 528, 529, 530, 531, + 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, + 542, 543, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 544, 353, 439, 488, 308, 320, 323, 313, + 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, + 325, 329, 335, 235, 201, 0, 191, 208, 339, 0, + 414, 271, 522, 500, 496, 0, 210, 0, 245, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, + 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, + 356, 357, 358, 375, 376, 377, 380, 383, 384, 387, + 389, 390, 393, 397, 401, 402, 403, 404, 406, 408, + 415, 420, 428, 429, 430, 431, 432, 435, 436, 441, + 442, 443, 444, 445, 453, 454, 458, 476, 478, 490, + 504, 509, 434, 281, 485, 510, 0, 348, 0, 0, + 350, 264, 284, 295, 0, 499, 455, 214, 422, 273, + 202, 233, 217, 242, 257, 260, 299, 359, 366, 395, + 400, 278, 254, 231, 419, 228, 438, 461, 462, 463, + 465, 363, 249, 399, 0, 0, 346, 467, 468, 291, + 364, 0, 0, 0, 78, 466, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 382, 0, 0, + 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, + 0, 337, 250, 0, 0, 396, 0, 197, 0, 440, + 237, 347, 344, 473, 265, 256, 252, 236, 292, 354, + 394, 460, 388, 0, 341, 0, 0, 450, 367, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 298, 234, 300, 196, 379, 451, + 269, 0, 87, 0, 0, 188, 189, 190, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, + 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, + 334, 0, 0, 0, 0, 0, 248, 296, 255, 247, + 470, 0, 0, 0, 0, 0, 0, 0, 216, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 279, 0, 368, 240, 0, 0, 0, 0, + 506, 0, 0, 0, 0, 0, 0, 0, 336, 0, + 305, 192, 212, 0, 0, 378, 421, 427, 0, 0, + 0, 238, 0, 425, 392, 489, 220, 267, 418, 398, + 423, 405, 270, 0, 0, 424, 342, 475, 412, 486, + 507, 508, 246, 372, 497, 464, 503, 521, 213, 243, + 386, 457, 492, 447, 365, 471, 472, 304, 446, 277, + 195, 340, 513, 211, 433, 229, 218, 477, 495, 272, + 416, 203, 459, 484, 226, 437, 0, 0, 523, 205, + 482, 456, 361, 301, 302, 204, 0, 417, 251, 275, + 241, 381, 479, 480, 239, 524, 215, 502, 207, 0, + 501, 374, 474, 483, 362, 352, 206, 481, 360, 351, + 307, 326, 327, 263, 286, 410, 345, 411, 287, 370, + 369, 371, 198, 493, 0, 199, 0, 452, 494, 525, + 221, 222, 224, 0, 262, 266, 274, 276, 282, 283, + 290, 338, 385, 409, 407, 413, 0, 469, 487, 498, + 505, 511, 512, 514, 515, 516, 517, 518, 520, 519, + 373, 289, 448, 306, 343, 0, 0, 391, 426, 227, + 491, 449, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 543, 352, 438, 487, 307, 319, 322, 312, 331, 0, - 332, 308, 309, 314, 316, 317, 318, 323, 324, 328, - 334, 234, 0, 191, 207, 338, 0, 413, 270, 521, - 499, 495, 0, 209, 0, 244, 0, 0, 0, 0, + 543, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 544, 353, 439, 488, 308, 320, 323, 313, 332, + 0, 333, 309, 310, 315, 317, 318, 319, 324, 325, + 329, 335, 235, 201, 0, 191, 208, 339, 86, 414, + 271, 522, 500, 496, 0, 210, 0, 245, 0, 0, + 0, 0, 0, 0, 1852, 0, 0, 1851, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, + 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, + 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, + 357, 358, 375, 376, 377, 380, 383, 384, 387, 389, + 390, 393, 397, 401, 402, 403, 404, 406, 408, 415, + 420, 428, 429, 430, 431, 432, 435, 436, 441, 442, + 443, 444, 445, 453, 454, 458, 476, 478, 490, 504, + 509, 434, 281, 485, 510, 0, 348, 0, 0, 350, + 264, 284, 295, 0, 499, 455, 214, 422, 273, 202, + 233, 217, 242, 257, 260, 299, 359, 366, 395, 400, + 278, 254, 231, 419, 228, 438, 461, 462, 463, 465, + 363, 249, 399, 0, 1359, 346, 467, 468, 291, 466, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 382, 0, 0, 0, 1361, 0, 0, 0, 0, + 253, 0, 0, 0, 0, 337, 250, 0, 0, 396, + 0, 197, 0, 440, 237, 347, 344, 473, 265, 256, + 252, 236, 292, 354, 394, 460, 388, 0, 341, 0, + 0, 450, 367, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, + 300, 196, 379, 451, 269, 0, 0, 0, 0, 188, + 189, 190, 0, 1363, 0, 0, 0, 0, 0, 0, + 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, + 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, + 248, 296, 255, 247, 470, 0, 0, 0, 0, 0, + 0, 0, 216, 0, 0, 0, 1190, 0, 1191, 1192, + 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 279, 0, 368, 240, + 0, 0, 0, 0, 506, 0, 0, 0, 0, 0, + 0, 0, 336, 0, 305, 192, 212, 0, 0, 378, + 421, 427, 0, 0, 0, 238, 0, 425, 392, 489, + 220, 267, 418, 398, 423, 405, 270, 0, 0, 424, + 342, 475, 412, 486, 507, 508, 246, 372, 497, 464, + 503, 521, 213, 243, 386, 457, 492, 447, 365, 471, + 472, 304, 446, 277, 195, 340, 513, 211, 433, 229, + 218, 477, 495, 272, 416, 203, 459, 484, 226, 437, + 0, 0, 523, 205, 482, 456, 361, 301, 302, 204, + 0, 417, 251, 275, 241, 381, 479, 480, 239, 524, + 215, 502, 207, 0, 501, 374, 474, 483, 362, 352, + 206, 481, 360, 351, 307, 326, 327, 263, 286, 410, + 345, 411, 287, 370, 369, 371, 198, 493, 0, 199, + 0, 452, 494, 525, 221, 222, 224, 0, 262, 266, + 274, 276, 282, 283, 290, 338, 385, 409, 407, 413, + 0, 469, 487, 498, 505, 511, 512, 514, 515, 516, + 517, 518, 520, 519, 373, 289, 448, 306, 343, 0, + 0, 391, 426, 227, 491, 449, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, + 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, + 539, 540, 541, 542, 543, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 544, 353, 439, 488, 308, + 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, + 318, 319, 324, 325, 329, 335, 235, 201, 0, 191, + 208, 339, 0, 414, 271, 522, 500, 496, 0, 210, + 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, + 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, + 303, 349, 355, 356, 357, 358, 375, 376, 377, 380, + 383, 384, 387, 389, 390, 393, 397, 401, 402, 403, + 404, 406, 408, 415, 420, 428, 429, 430, 431, 432, + 435, 436, 441, 442, 443, 444, 445, 453, 454, 458, + 476, 478, 490, 504, 509, 434, 281, 485, 510, 0, + 348, 0, 0, 350, 264, 284, 295, 0, 499, 455, + 214, 422, 273, 202, 233, 217, 242, 257, 260, 299, + 359, 366, 395, 400, 278, 254, 231, 419, 228, 438, + 461, 462, 463, 465, 363, 249, 399, 0, 364, 346, + 467, 468, 291, 466, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 382, 0, 0, 0, 0, + 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, + 250, 0, 0, 396, 0, 197, 0, 440, 237, 347, + 344, 473, 265, 256, 252, 236, 292, 354, 394, 460, + 388, 0, 341, 0, 0, 450, 367, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 298, 234, 300, 196, 379, 451, 269, 0, + 0, 0, 0, 188, 189, 190, 1302, 1305, 0, 0, + 0, 0, 1301, 1304, 0, 0, 225, 1300, 232, 322, + 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, + 0, 0, 0, 0, 248, 296, 255, 247, 470, 0, + 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 279, 0, 368, 240, 0, 0, 0, 0, 506, 0, + 0, 0, 0, 0, 0, 0, 336, 0, 305, 192, + 212, 0, 0, 378, 421, 427, 0, 0, 0, 238, + 0, 425, 392, 489, 220, 267, 418, 398, 423, 405, + 270, 0, 0, 424, 342, 475, 412, 486, 507, 508, + 246, 372, 497, 464, 503, 521, 213, 243, 386, 457, + 492, 447, 365, 471, 472, 304, 446, 277, 195, 340, + 513, 211, 433, 229, 218, 477, 495, 272, 416, 203, + 459, 484, 226, 437, 0, 0, 523, 205, 482, 456, + 361, 301, 302, 204, 0, 417, 251, 275, 241, 381, + 479, 480, 239, 524, 215, 502, 207, 0, 501, 374, + 474, 483, 362, 352, 206, 481, 360, 351, 307, 326, + 327, 263, 286, 410, 345, 411, 287, 370, 369, 371, + 198, 493, 0, 199, 0, 452, 494, 525, 221, 222, + 224, 0, 262, 266, 274, 276, 282, 283, 290, 338, + 385, 409, 407, 413, 0, 469, 487, 498, 505, 511, + 512, 514, 515, 516, 517, 518, 520, 519, 373, 289, + 448, 306, 343, 0, 0, 391, 426, 227, 491, 449, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 526, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 544, + 353, 439, 488, 308, 320, 323, 313, 332, 0, 333, + 309, 310, 315, 317, 318, 319, 324, 325, 329, 335, + 235, 201, 0, 191, 208, 339, 0, 414, 271, 522, + 500, 496, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, - 208, 218, 222, 229, 243, 258, 260, 267, 279, 284, - 287, 292, 293, 296, 302, 348, 354, 355, 356, 357, - 374, 375, 376, 379, 382, 383, 386, 388, 389, 392, - 396, 400, 401, 402, 403, 405, 407, 414, 419, 427, - 428, 429, 430, 431, 434, 435, 440, 441, 442, 443, - 444, 452, 453, 457, 475, 477, 489, 503, 508, 433, - 280, 484, 509, 0, 347, 0, 0, 349, 263, 283, - 294, 0, 498, 454, 213, 421, 272, 201, 232, 216, - 241, 256, 259, 298, 358, 365, 394, 399, 277, 253, - 230, 418, 227, 437, 460, 461, 462, 464, 362, 248, - 398, 0, 0, 345, 466, 467, 290, 363, 0, 0, - 0, 78, 465, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 381, 0, 0, 0, 0, 0, - 0, 0, 0, 252, 0, 0, 0, 0, 336, 249, - 0, 0, 395, 0, 197, 0, 439, 236, 346, 343, - 472, 264, 255, 251, 235, 291, 353, 393, 459, 387, - 0, 340, 0, 0, 449, 366, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 297, 233, 299, 196, 378, 450, 268, 0, 87, - 0, 1337, 188, 189, 190, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 224, 0, 231, 321, 330, - 329, 310, 311, 313, 315, 320, 327, 333, 0, 0, - 0, 0, 0, 247, 295, 254, 246, 469, 0, 0, - 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, - 0, 367, 239, 0, 0, 0, 0, 505, 0, 0, - 0, 0, 0, 0, 0, 335, 0, 304, 192, 211, - 0, 0, 377, 420, 426, 0, 0, 0, 237, 0, - 424, 391, 488, 219, 266, 417, 397, 422, 404, 269, - 0, 0, 423, 341, 474, 411, 485, 506, 507, 245, - 371, 496, 463, 502, 520, 212, 242, 385, 456, 491, - 446, 364, 470, 471, 303, 445, 276, 195, 339, 512, - 210, 432, 228, 217, 476, 494, 271, 415, 202, 458, - 483, 225, 436, 0, 0, 522, 204, 481, 455, 360, - 300, 301, 203, 0, 416, 250, 274, 240, 380, 478, - 479, 238, 523, 214, 501, 206, 0, 500, 373, 473, - 482, 361, 351, 205, 480, 359, 350, 306, 325, 326, - 262, 285, 409, 344, 410, 286, 369, 368, 370, 198, - 492, 0, 199, 0, 451, 493, 524, 220, 221, 223, - 0, 261, 265, 273, 275, 281, 282, 289, 337, 384, - 408, 406, 412, 0, 468, 486, 497, 504, 510, 511, - 513, 514, 515, 516, 517, 519, 518, 372, 288, 447, - 305, 342, 0, 0, 390, 425, 226, 490, 448, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 543, 352, - 438, 487, 307, 319, 322, 312, 331, 0, 332, 308, - 309, 314, 316, 317, 318, 323, 324, 328, 334, 234, - 0, 191, 207, 338, 86, 413, 270, 521, 499, 495, - 0, 209, 0, 244, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 193, 194, 200, 208, 218, - 222, 229, 243, 258, 260, 267, 279, 284, 287, 292, - 293, 296, 302, 348, 354, 355, 356, 357, 374, 375, - 376, 379, 382, 383, 386, 388, 389, 392, 396, 400, - 401, 402, 403, 405, 407, 414, 419, 427, 428, 429, - 430, 431, 434, 435, 440, 441, 442, 443, 444, 452, - 453, 457, 475, 477, 489, 503, 508, 433, 280, 484, - 509, 0, 347, 0, 0, 349, 263, 283, 294, 0, - 498, 454, 213, 421, 272, 201, 232, 216, 241, 256, - 259, 298, 358, 365, 394, 399, 277, 253, 230, 418, - 227, 437, 460, 461, 462, 464, 362, 248, 398, 0, - 363, 345, 466, 467, 290, 465, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, - 0, 0, 0, 0, 0, 0, 252, 0, 0, 0, - 0, 336, 249, 0, 0, 395, 0, 197, 0, 439, - 236, 346, 343, 472, 264, 255, 251, 235, 291, 353, - 393, 459, 387, 0, 340, 0, 0, 449, 366, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 297, 233, 299, 196, 378, 450, - 268, 0, 87, 0, 0, 188, 189, 190, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, - 231, 321, 330, 329, 310, 311, 313, 315, 320, 327, - 333, 0, 0, 0, 0, 0, 247, 295, 254, 246, - 469, 0, 0, 0, 0, 0, 0, 0, 215, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 278, 0, 367, 239, 0, 0, 0, 0, - 505, 0, 0, 0, 0, 0, 0, 0, 335, 0, - 304, 192, 211, 0, 0, 377, 420, 426, 0, 0, - 0, 237, 0, 424, 391, 488, 219, 266, 417, 397, - 422, 404, 269, 0, 0, 423, 341, 474, 411, 485, - 506, 507, 245, 371, 496, 463, 502, 520, 212, 242, - 385, 456, 491, 446, 364, 470, 471, 303, 445, 276, - 195, 339, 512, 210, 432, 228, 217, 476, 494, 271, - 415, 202, 458, 483, 225, 436, 0, 0, 522, 204, - 481, 455, 360, 300, 301, 203, 0, 416, 250, 274, - 240, 380, 478, 479, 238, 523, 214, 501, 206, 0, - 500, 373, 473, 482, 361, 351, 205, 480, 359, 350, - 306, 325, 326, 262, 285, 409, 344, 410, 286, 369, - 368, 370, 198, 492, 0, 199, 0, 451, 493, 524, - 220, 221, 223, 0, 261, 265, 273, 275, 281, 282, - 289, 337, 384, 408, 406, 412, 0, 468, 486, 497, - 504, 510, 511, 513, 514, 515, 516, 517, 519, 518, - 372, 288, 447, 305, 342, 0, 0, 390, 425, 226, - 490, 448, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 525, 526, 527, 528, 529, 530, 531, + 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, + 288, 293, 294, 297, 303, 349, 355, 356, 357, 358, + 375, 376, 377, 380, 383, 384, 387, 389, 390, 393, + 397, 401, 402, 403, 404, 406, 408, 415, 420, 428, + 429, 430, 431, 432, 435, 436, 441, 442, 443, 444, + 445, 453, 454, 458, 476, 478, 490, 504, 509, 434, + 281, 485, 510, 0, 348, 0, 0, 350, 264, 284, + 295, 0, 499, 455, 214, 422, 273, 202, 233, 217, + 242, 257, 260, 299, 359, 366, 395, 400, 278, 254, + 231, 419, 228, 438, 461, 462, 463, 465, 363, 249, + 399, 0, 0, 346, 467, 468, 291, 364, 0, 0, + 0, 78, 466, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 382, 0, 0, 0, 0, 0, + 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, + 0, 0, 396, 0, 197, 0, 440, 237, 347, 344, + 473, 265, 256, 252, 236, 292, 354, 394, 460, 388, + 0, 341, 0, 0, 450, 367, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 298, 234, 300, 196, 379, 451, 269, 0, 87, + 0, 1340, 188, 189, 190, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, + 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, + 0, 0, 0, 248, 296, 255, 247, 470, 0, 0, + 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, + 0, 368, 240, 0, 0, 0, 0, 506, 0, 0, + 0, 0, 0, 0, 0, 336, 0, 305, 192, 212, + 0, 0, 378, 421, 427, 0, 0, 0, 238, 0, + 425, 392, 489, 220, 267, 418, 398, 423, 405, 270, + 0, 0, 424, 342, 475, 412, 486, 507, 508, 246, + 372, 497, 464, 503, 521, 213, 243, 386, 457, 492, + 447, 365, 471, 472, 304, 446, 277, 195, 340, 513, + 211, 433, 229, 218, 477, 495, 272, 416, 203, 459, + 484, 226, 437, 0, 0, 523, 205, 482, 456, 361, + 301, 302, 204, 0, 417, 251, 275, 241, 381, 479, + 480, 239, 524, 215, 502, 207, 0, 501, 374, 474, + 483, 362, 352, 206, 481, 360, 351, 307, 326, 327, + 263, 286, 410, 345, 411, 287, 370, 369, 371, 198, + 493, 0, 199, 0, 452, 494, 525, 221, 222, 224, + 0, 262, 266, 274, 276, 282, 283, 290, 338, 385, + 409, 407, 413, 0, 469, 487, 498, 505, 511, 512, + 514, 515, 516, 517, 518, 520, 519, 373, 289, 448, + 306, 343, 0, 0, 391, 426, 227, 491, 449, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, + 536, 537, 538, 539, 540, 541, 542, 543, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 544, 353, + 439, 488, 308, 320, 323, 313, 332, 0, 333, 309, + 310, 315, 317, 318, 319, 324, 325, 329, 335, 235, + 201, 0, 191, 208, 339, 86, 414, 271, 522, 500, + 496, 0, 210, 0, 245, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, + 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, + 293, 294, 297, 303, 349, 355, 356, 357, 358, 375, + 376, 377, 380, 383, 384, 387, 389, 390, 393, 397, + 401, 402, 403, 404, 406, 408, 415, 420, 428, 429, + 430, 431, 432, 435, 436, 441, 442, 443, 444, 445, + 453, 454, 458, 476, 478, 490, 504, 509, 434, 281, + 485, 510, 0, 348, 0, 0, 350, 264, 284, 295, + 0, 499, 455, 214, 422, 273, 202, 233, 217, 242, + 257, 260, 299, 359, 366, 395, 400, 278, 254, 231, + 419, 228, 438, 461, 462, 463, 465, 363, 249, 399, + 0, 364, 346, 467, 468, 291, 466, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 382, 0, + 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, + 0, 0, 337, 250, 0, 0, 396, 0, 197, 0, + 440, 237, 347, 344, 473, 265, 256, 252, 236, 292, + 354, 394, 460, 388, 0, 341, 0, 0, 450, 367, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 298, 234, 300, 196, 379, + 451, 269, 0, 87, 0, 0, 188, 189, 190, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, + 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, + 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, + 247, 470, 0, 0, 0, 0, 0, 0, 0, 216, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 279, 0, 368, 240, 0, 0, 0, + 0, 506, 0, 0, 0, 0, 0, 0, 0, 336, + 0, 305, 192, 212, 0, 0, 378, 421, 427, 0, + 0, 0, 238, 0, 425, 392, 489, 220, 267, 418, + 398, 423, 405, 270, 0, 0, 424, 342, 475, 412, + 486, 507, 508, 246, 372, 497, 464, 503, 521, 213, + 243, 386, 457, 492, 447, 365, 471, 472, 304, 446, + 277, 195, 340, 513, 211, 433, 229, 218, 477, 495, + 272, 416, 203, 459, 484, 226, 437, 0, 0, 523, + 205, 482, 456, 361, 301, 302, 204, 0, 417, 251, + 275, 241, 381, 479, 480, 239, 524, 215, 502, 207, + 0, 501, 374, 474, 483, 362, 352, 206, 481, 360, + 351, 307, 326, 327, 263, 286, 410, 345, 411, 287, + 370, 369, 371, 198, 493, 0, 199, 0, 452, 494, + 525, 221, 222, 224, 0, 262, 266, 274, 276, 282, + 283, 290, 338, 385, 409, 407, 413, 0, 469, 487, + 498, 505, 511, 512, 514, 515, 516, 517, 518, 520, + 519, 373, 289, 448, 306, 343, 0, 0, 391, 426, + 227, 491, 449, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, - 542, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 543, 352, 438, 487, 307, 319, 322, 312, 331, - 0, 332, 308, 309, 314, 316, 317, 318, 323, 324, - 328, 334, 234, 0, 191, 207, 338, 0, 413, 270, - 521, 499, 495, 0, 209, 0, 244, 0, 0, 0, - 0, 0, 0, 1848, 0, 0, 1847, 0, 0, 0, + 542, 543, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 544, 353, 439, 488, 308, 320, 323, 313, + 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, + 325, 329, 335, 235, 201, 0, 191, 208, 339, 0, + 414, 271, 522, 500, 496, 0, 210, 0, 245, 0, + 0, 0, 0, 0, 0, 1852, 0, 0, 1851, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, + 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, + 356, 357, 358, 375, 376, 377, 380, 383, 384, 387, + 389, 390, 393, 397, 401, 402, 403, 404, 406, 408, + 415, 420, 428, 429, 430, 431, 432, 435, 436, 441, + 442, 443, 444, 445, 453, 454, 458, 476, 478, 490, + 504, 509, 434, 281, 485, 510, 0, 348, 0, 0, + 350, 264, 284, 295, 0, 499, 455, 214, 422, 273, + 202, 233, 217, 242, 257, 260, 299, 359, 366, 395, + 400, 278, 254, 231, 419, 228, 438, 461, 462, 463, + 465, 363, 249, 399, 0, 364, 346, 467, 468, 291, + 466, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 382, 0, 0, 0, 1803, 0, 0, 0, + 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, + 396, 0, 197, 0, 440, 237, 347, 344, 473, 265, + 256, 252, 236, 292, 354, 394, 460, 388, 0, 341, + 0, 0, 450, 367, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, + 234, 300, 196, 379, 451, 269, 0, 0, 0, 0, + 188, 189, 190, 0, 1541, 0, 0, 0, 0, 0, + 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, + 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, + 0, 248, 296, 255, 247, 470, 0, 0, 0, 0, + 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 279, 0, 368, + 240, 0, 0, 0, 0, 506, 0, 0, 0, 0, + 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, + 378, 421, 427, 0, 0, 0, 238, 0, 425, 392, + 489, 220, 267, 418, 398, 423, 405, 270, 0, 1801, + 424, 342, 475, 412, 486, 507, 508, 246, 372, 497, + 464, 503, 521, 213, 243, 386, 457, 492, 447, 365, + 471, 472, 304, 446, 277, 195, 340, 513, 211, 433, + 229, 218, 477, 495, 272, 416, 203, 459, 484, 226, + 437, 0, 0, 523, 205, 482, 456, 361, 301, 302, + 204, 0, 417, 251, 275, 241, 381, 479, 480, 239, + 524, 215, 502, 207, 0, 501, 374, 474, 483, 362, + 352, 206, 481, 360, 351, 307, 326, 327, 263, 286, + 410, 345, 411, 287, 370, 369, 371, 198, 493, 0, + 199, 0, 452, 494, 525, 221, 222, 224, 0, 262, + 266, 274, 276, 282, 283, 290, 338, 385, 409, 407, + 413, 0, 469, 487, 498, 505, 511, 512, 514, 515, + 516, 517, 518, 520, 519, 373, 289, 448, 306, 343, + 0, 0, 391, 426, 227, 491, 449, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, + 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 544, 353, 439, 488, + 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, + 317, 318, 319, 324, 325, 329, 335, 235, 201, 0, + 191, 208, 339, 0, 414, 271, 522, 500, 496, 0, + 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, + 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, + 297, 303, 349, 355, 356, 357, 358, 375, 376, 377, + 380, 383, 384, 387, 389, 390, 393, 397, 401, 402, + 403, 404, 406, 408, 415, 420, 428, 429, 430, 431, + 432, 435, 436, 441, 442, 443, 444, 445, 453, 454, + 458, 476, 478, 490, 504, 509, 434, 281, 485, 510, + 0, 348, 0, 0, 350, 264, 284, 295, 0, 499, + 455, 214, 422, 273, 202, 233, 217, 242, 257, 260, + 299, 359, 366, 395, 400, 278, 254, 231, 419, 228, + 438, 461, 462, 463, 465, 363, 249, 399, 0, 364, + 346, 467, 468, 291, 466, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 382, 0, 0, 0, + 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, + 337, 250, 0, 0, 396, 0, 197, 0, 440, 237, + 347, 344, 473, 265, 256, 252, 236, 292, 354, 394, + 460, 388, 0, 341, 0, 0, 450, 367, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 298, 234, 300, 196, 379, 451, 269, + 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, + 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, + 0, 0, 0, 0, 0, 248, 296, 255, 247, 470, + 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, + 0, 969, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 279, 0, 368, 240, 0, 0, 0, 0, 506, + 0, 0, 0, 0, 0, 0, 0, 336, 975, 305, + 192, 212, 973, 0, 378, 421, 427, 0, 0, 0, + 238, 0, 425, 392, 489, 220, 267, 418, 398, 423, + 405, 270, 0, 0, 424, 342, 475, 412, 486, 507, + 508, 246, 372, 497, 464, 503, 521, 213, 243, 386, + 457, 492, 447, 365, 471, 472, 304, 446, 277, 195, + 340, 513, 211, 433, 229, 218, 477, 495, 272, 416, + 203, 459, 484, 226, 437, 0, 0, 523, 205, 482, + 456, 361, 301, 302, 204, 0, 417, 251, 275, 241, + 381, 479, 480, 239, 524, 215, 502, 207, 0, 501, + 374, 474, 483, 362, 352, 206, 481, 360, 351, 307, + 326, 327, 263, 286, 410, 345, 411, 287, 370, 369, + 371, 198, 493, 0, 199, 0, 452, 494, 525, 221, + 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, + 338, 385, 409, 407, 413, 0, 469, 487, 498, 505, + 511, 512, 514, 515, 516, 517, 518, 520, 519, 373, + 289, 448, 306, 343, 0, 0, 391, 426, 227, 491, + 449, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 544, 353, 439, 488, 308, 320, 323, 313, 332, 0, + 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, + 335, 235, 201, 0, 191, 208, 339, 0, 414, 271, + 522, 500, 496, 0, 210, 0, 245, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, - 200, 208, 218, 222, 229, 243, 258, 260, 267, 279, - 284, 287, 292, 293, 296, 302, 348, 354, 355, 356, - 357, 374, 375, 376, 379, 382, 383, 386, 388, 389, - 392, 396, 400, 401, 402, 403, 405, 407, 414, 419, - 427, 428, 429, 430, 431, 434, 435, 440, 441, 442, - 443, 444, 452, 453, 457, 475, 477, 489, 503, 508, - 433, 280, 484, 509, 0, 347, 0, 0, 349, 263, - 283, 294, 0, 498, 454, 213, 421, 272, 201, 232, - 216, 241, 256, 259, 298, 358, 365, 394, 399, 277, - 253, 230, 418, 227, 437, 460, 461, 462, 464, 362, - 248, 398, 0, 363, 345, 466, 467, 290, 465, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 381, 0, 0, 0, 1799, 0, 0, 0, 0, 252, - 0, 0, 0, 0, 336, 249, 0, 0, 395, 0, - 197, 0, 439, 236, 346, 343, 472, 264, 255, 251, - 235, 291, 353, 393, 459, 387, 0, 340, 0, 0, - 449, 366, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 297, 233, 299, - 196, 378, 450, 268, 0, 0, 0, 0, 188, 189, - 190, 0, 1538, 0, 0, 0, 0, 0, 0, 0, - 0, 224, 0, 231, 321, 330, 329, 310, 311, 313, - 315, 320, 327, 333, 0, 0, 0, 0, 0, 247, - 295, 254, 246, 469, 0, 0, 0, 0, 0, 0, - 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 257, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 278, 0, 367, 239, 0, - 0, 0, 0, 505, 0, 0, 0, 0, 0, 0, - 0, 335, 0, 304, 192, 211, 0, 0, 377, 420, - 426, 0, 0, 0, 237, 0, 424, 391, 488, 219, - 266, 417, 397, 422, 404, 269, 0, 1797, 423, 341, - 474, 411, 485, 506, 507, 245, 371, 496, 463, 502, - 520, 212, 242, 385, 456, 491, 446, 364, 470, 471, - 303, 445, 276, 195, 339, 512, 210, 432, 228, 217, - 476, 494, 271, 415, 202, 458, 483, 225, 436, 0, - 0, 522, 204, 481, 455, 360, 300, 301, 203, 0, - 416, 250, 274, 240, 380, 478, 479, 238, 523, 214, - 501, 206, 0, 500, 373, 473, 482, 361, 351, 205, - 480, 359, 350, 306, 325, 326, 262, 285, 409, 344, - 410, 286, 369, 368, 370, 198, 492, 0, 199, 0, - 451, 493, 524, 220, 221, 223, 0, 261, 265, 273, - 275, 281, 282, 289, 337, 384, 408, 406, 412, 0, - 468, 486, 497, 504, 510, 511, 513, 514, 515, 516, - 517, 519, 518, 372, 288, 447, 305, 342, 0, 0, - 390, 425, 226, 490, 448, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 525, 526, 527, 528, - 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, - 539, 540, 541, 542, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 543, 352, 438, 487, 307, 319, - 322, 312, 331, 0, 332, 308, 309, 314, 316, 317, - 318, 323, 324, 328, 334, 234, 0, 191, 207, 338, - 0, 413, 270, 521, 499, 495, 0, 209, 0, 244, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 193, 194, 200, 208, 218, 222, 229, 243, 258, - 260, 267, 279, 284, 287, 292, 293, 296, 302, 348, - 354, 355, 356, 357, 374, 375, 376, 379, 382, 383, - 386, 388, 389, 392, 396, 400, 401, 402, 403, 405, - 407, 414, 419, 427, 428, 429, 430, 431, 434, 435, - 440, 441, 442, 443, 444, 452, 453, 457, 475, 477, - 489, 503, 508, 433, 280, 484, 509, 0, 347, 0, - 0, 349, 263, 283, 294, 0, 498, 454, 213, 421, - 272, 201, 232, 216, 241, 256, 259, 298, 358, 365, - 394, 399, 277, 253, 230, 418, 227, 437, 460, 461, - 462, 464, 362, 248, 398, 0, 363, 345, 466, 467, - 290, 465, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 381, 0, 0, 0, 0, 0, 0, - 0, 0, 252, 0, 0, 0, 0, 336, 249, 0, - 0, 395, 0, 197, 0, 439, 236, 346, 343, 472, - 264, 255, 251, 235, 291, 353, 393, 459, 387, 0, - 340, 0, 0, 449, 366, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 297, 233, 299, 196, 378, 450, 268, 0, 0, 0, - 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 224, 0, 231, 321, 330, 329, - 310, 311, 313, 315, 320, 327, 333, 0, 0, 0, - 0, 0, 247, 295, 254, 246, 469, 0, 0, 0, - 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 257, - 0, 0, 0, 0, 0, 0, 0, 0, 967, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 278, 0, - 367, 239, 0, 0, 0, 0, 505, 0, 0, 0, - 0, 0, 0, 0, 335, 973, 304, 192, 211, 971, - 0, 377, 420, 426, 0, 0, 0, 237, 0, 424, - 391, 488, 219, 266, 417, 397, 422, 404, 269, 0, - 0, 423, 341, 474, 411, 485, 506, 507, 245, 371, - 496, 463, 502, 520, 212, 242, 385, 456, 491, 446, - 364, 470, 471, 303, 445, 276, 195, 339, 512, 210, - 432, 228, 217, 476, 494, 271, 415, 202, 458, 483, - 225, 436, 0, 0, 522, 204, 481, 455, 360, 300, - 301, 203, 0, 416, 250, 274, 240, 380, 478, 479, - 238, 523, 214, 501, 206, 0, 500, 373, 473, 482, - 361, 351, 205, 480, 359, 350, 306, 325, 326, 262, - 285, 409, 344, 410, 286, 369, 368, 370, 198, 492, - 0, 199, 0, 451, 493, 524, 220, 221, 223, 0, - 261, 265, 273, 275, 281, 282, 289, 337, 384, 408, - 406, 412, 0, 468, 486, 497, 504, 510, 511, 513, - 514, 515, 516, 517, 519, 518, 372, 288, 447, 305, - 342, 0, 0, 390, 425, 226, 490, 448, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 525, + 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, + 285, 288, 293, 294, 297, 303, 349, 355, 356, 357, + 358, 375, 376, 377, 380, 383, 384, 387, 389, 390, + 393, 397, 401, 402, 403, 404, 406, 408, 415, 420, + 428, 429, 430, 431, 432, 435, 436, 441, 442, 443, + 444, 445, 453, 454, 458, 476, 478, 490, 504, 509, + 434, 281, 485, 510, 0, 348, 0, 0, 350, 264, + 284, 295, 0, 499, 455, 214, 422, 273, 202, 233, + 217, 242, 257, 260, 299, 359, 366, 395, 400, 278, + 254, 231, 419, 228, 438, 461, 462, 463, 465, 363, + 249, 399, 0, 364, 346, 467, 468, 291, 466, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 382, 0, 0, 0, 1803, 0, 0, 0, 0, 253, + 0, 0, 0, 0, 337, 250, 0, 0, 396, 0, + 197, 0, 440, 237, 347, 344, 473, 265, 256, 252, + 236, 292, 354, 394, 460, 388, 0, 341, 0, 0, + 450, 367, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, + 196, 379, 451, 269, 0, 0, 0, 0, 188, 189, + 190, 0, 1541, 0, 0, 0, 0, 0, 0, 0, + 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, + 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, + 296, 255, 247, 470, 0, 0, 0, 0, 0, 0, + 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 279, 0, 368, 240, 0, + 0, 0, 0, 506, 0, 0, 0, 0, 0, 0, + 0, 336, 0, 305, 192, 212, 0, 0, 378, 421, + 427, 0, 0, 0, 238, 0, 425, 392, 489, 220, + 267, 418, 398, 423, 405, 270, 0, 0, 424, 342, + 475, 412, 486, 507, 508, 246, 372, 497, 464, 503, + 521, 213, 243, 386, 457, 492, 447, 365, 471, 472, + 304, 446, 277, 195, 340, 513, 211, 433, 229, 218, + 477, 495, 272, 416, 203, 459, 484, 226, 437, 0, + 0, 523, 205, 482, 456, 361, 301, 302, 204, 0, + 417, 251, 275, 241, 381, 479, 480, 239, 524, 215, + 502, 207, 0, 501, 374, 474, 483, 362, 352, 206, + 481, 360, 351, 307, 326, 327, 263, 286, 410, 345, + 411, 287, 370, 369, 371, 198, 493, 0, 199, 0, + 452, 494, 525, 221, 222, 224, 0, 262, 266, 274, + 276, 282, 283, 290, 338, 385, 409, 407, 413, 0, + 469, 487, 498, 505, 511, 512, 514, 515, 516, 517, + 518, 520, 519, 373, 289, 448, 306, 343, 0, 0, + 391, 426, 227, 491, 449, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 544, 353, 439, 488, 308, 320, + 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, + 319, 324, 325, 329, 335, 235, 201, 0, 191, 208, + 339, 0, 414, 271, 522, 500, 496, 0, 210, 0, + 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, + 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, + 349, 355, 356, 357, 358, 375, 376, 377, 380, 383, + 384, 387, 389, 390, 393, 397, 401, 402, 403, 404, + 406, 408, 415, 420, 428, 429, 430, 431, 432, 435, + 436, 441, 442, 443, 444, 445, 453, 454, 458, 476, + 478, 490, 504, 509, 434, 281, 485, 510, 0, 348, + 0, 0, 350, 264, 284, 295, 0, 499, 455, 214, + 422, 273, 202, 233, 217, 242, 257, 260, 299, 359, + 366, 395, 400, 278, 254, 231, 419, 228, 438, 461, + 462, 463, 465, 363, 249, 399, 0, 364, 346, 467, + 468, 291, 466, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 382, 0, 0, 0, 0, 0, + 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, + 0, 0, 396, 0, 197, 0, 440, 237, 347, 344, + 473, 265, 256, 252, 236, 292, 354, 394, 460, 388, + 0, 341, 0, 0, 450, 367, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 298, 234, 300, 196, 379, 451, 269, 0, 0, + 0, 1340, 188, 189, 190, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, + 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, + 0, 0, 0, 248, 296, 255, 247, 470, 0, 0, + 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, + 0, 368, 240, 0, 0, 0, 0, 506, 0, 0, + 0, 2897, 0, 0, 0, 336, 0, 305, 192, 212, + 0, 0, 378, 421, 427, 0, 0, 0, 238, 0, + 425, 392, 489, 220, 267, 418, 398, 423, 405, 270, + 0, 0, 424, 342, 475, 412, 486, 507, 508, 246, + 372, 497, 464, 503, 521, 213, 243, 386, 457, 492, + 447, 365, 471, 472, 304, 446, 277, 195, 340, 513, + 211, 433, 229, 218, 477, 495, 272, 416, 203, 459, + 484, 226, 437, 0, 0, 523, 205, 482, 456, 361, + 301, 302, 204, 0, 417, 251, 275, 241, 381, 479, + 480, 239, 524, 215, 502, 207, 0, 501, 374, 474, + 483, 362, 352, 206, 481, 360, 351, 307, 326, 327, + 263, 286, 410, 345, 411, 287, 370, 369, 371, 198, + 493, 0, 199, 0, 452, 494, 525, 221, 222, 224, + 0, 262, 266, 274, 276, 282, 283, 290, 338, 385, + 409, 407, 413, 0, 469, 487, 498, 505, 511, 512, + 514, 515, 516, 517, 518, 520, 519, 373, 289, 448, + 306, 343, 0, 0, 391, 426, 227, 491, 449, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, - 536, 537, 538, 539, 540, 541, 542, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 543, 352, 438, - 487, 307, 319, 322, 312, 331, 0, 332, 308, 309, - 314, 316, 317, 318, 323, 324, 328, 334, 234, 0, - 191, 207, 338, 0, 413, 270, 521, 499, 495, 0, - 209, 0, 244, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 193, 194, 200, 208, 218, 222, - 229, 243, 258, 260, 267, 279, 284, 287, 292, 293, - 296, 302, 348, 354, 355, 356, 357, 374, 375, 376, - 379, 382, 383, 386, 388, 389, 392, 396, 400, 401, - 402, 403, 405, 407, 414, 419, 427, 428, 429, 430, - 431, 434, 435, 440, 441, 442, 443, 444, 452, 453, - 457, 475, 477, 489, 503, 508, 433, 280, 484, 509, - 0, 347, 0, 0, 349, 263, 283, 294, 0, 498, - 454, 213, 421, 272, 201, 232, 216, 241, 256, 259, - 298, 358, 365, 394, 399, 277, 253, 230, 418, 227, - 437, 460, 461, 462, 464, 362, 248, 398, 0, 363, - 345, 466, 467, 290, 465, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 381, 0, 0, 0, - 1799, 0, 0, 0, 0, 252, 0, 0, 0, 0, - 336, 249, 0, 0, 395, 0, 197, 0, 439, 236, - 346, 343, 472, 264, 255, 251, 235, 291, 353, 393, - 459, 387, 0, 340, 0, 0, 449, 366, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 297, 233, 299, 196, 378, 450, 268, - 0, 0, 0, 0, 188, 189, 190, 0, 1538, 0, - 0, 0, 0, 0, 0, 0, 0, 224, 0, 231, - 321, 330, 329, 310, 311, 313, 315, 320, 327, 333, - 0, 0, 0, 0, 0, 247, 295, 254, 246, 469, - 0, 0, 0, 0, 0, 0, 0, 215, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 278, 0, 367, 239, 0, 0, 0, 0, 505, - 0, 0, 0, 0, 0, 0, 0, 335, 0, 304, - 192, 211, 0, 0, 377, 420, 426, 0, 0, 0, - 237, 0, 424, 391, 488, 219, 266, 417, 397, 422, - 404, 269, 0, 0, 423, 341, 474, 411, 485, 506, - 507, 245, 371, 496, 463, 502, 520, 212, 242, 385, - 456, 491, 446, 364, 470, 471, 303, 445, 276, 195, - 339, 512, 210, 432, 228, 217, 476, 494, 271, 415, - 202, 458, 483, 225, 436, 0, 0, 522, 204, 481, - 455, 360, 300, 301, 203, 0, 416, 250, 274, 240, - 380, 478, 479, 238, 523, 214, 501, 206, 0, 500, - 373, 473, 482, 361, 351, 205, 480, 359, 350, 306, - 325, 326, 262, 285, 409, 344, 410, 286, 369, 368, - 370, 198, 492, 0, 199, 0, 451, 493, 524, 220, - 221, 223, 0, 261, 265, 273, 275, 281, 282, 289, - 337, 384, 408, 406, 412, 0, 468, 486, 497, 504, - 510, 511, 513, 514, 515, 516, 517, 519, 518, 372, - 288, 447, 305, 342, 0, 0, 390, 425, 226, 490, - 448, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 525, 526, 527, 528, 529, 530, 531, 532, - 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 536, 537, 538, 539, 540, 541, 542, 543, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 544, 353, + 439, 488, 308, 320, 323, 313, 332, 0, 333, 309, + 310, 315, 317, 318, 319, 324, 325, 329, 335, 235, + 201, 0, 191, 208, 339, 0, 414, 271, 522, 500, + 496, 0, 210, 0, 245, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, + 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, + 293, 294, 297, 303, 349, 355, 356, 357, 358, 375, + 376, 377, 380, 383, 384, 387, 389, 390, 393, 397, + 401, 402, 403, 404, 406, 408, 415, 420, 428, 429, + 430, 431, 432, 435, 436, 441, 442, 443, 444, 445, + 453, 454, 458, 476, 478, 490, 504, 509, 434, 281, + 485, 510, 0, 348, 0, 0, 350, 264, 284, 295, + 0, 499, 455, 214, 422, 273, 202, 233, 217, 242, + 257, 260, 299, 359, 366, 395, 400, 278, 254, 231, + 419, 228, 438, 461, 462, 463, 465, 363, 249, 399, + 0, 364, 346, 467, 468, 291, 466, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 382, 0, + 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, + 0, 0, 337, 250, 0, 0, 396, 0, 197, 0, + 440, 237, 347, 344, 473, 265, 256, 252, 236, 292, + 354, 394, 460, 388, 0, 341, 0, 0, 450, 367, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 298, 234, 300, 196, 379, + 451, 269, 0, 0, 0, 0, 188, 189, 190, 0, + 1684, 0, 0, 0, 0, 0, 0, 0, 0, 225, + 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, + 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, + 247, 470, 0, 0, 0, 0, 0, 0, 0, 216, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1685, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 279, 0, 368, 240, 0, 0, 0, + 0, 506, 0, 0, 0, 0, 0, 0, 0, 336, + 0, 305, 192, 212, 0, 0, 378, 421, 427, 0, + 0, 0, 238, 0, 425, 392, 489, 220, 267, 418, + 398, 423, 405, 270, 0, 0, 424, 342, 475, 412, + 486, 507, 508, 246, 372, 497, 464, 503, 521, 213, + 243, 386, 457, 492, 447, 365, 471, 472, 304, 446, + 277, 195, 340, 513, 211, 433, 229, 218, 477, 495, + 272, 416, 203, 459, 484, 226, 437, 0, 0, 523, + 205, 482, 456, 361, 301, 302, 204, 0, 417, 251, + 275, 241, 381, 479, 480, 239, 524, 215, 502, 207, + 0, 501, 374, 474, 483, 362, 352, 206, 481, 360, + 351, 307, 326, 327, 263, 286, 410, 345, 411, 287, + 370, 369, 371, 198, 493, 0, 199, 0, 452, 494, + 525, 221, 222, 224, 0, 262, 266, 274, 276, 282, + 283, 290, 338, 385, 409, 407, 413, 0, 469, 487, + 498, 505, 511, 512, 514, 515, 516, 517, 518, 520, + 519, 373, 289, 448, 306, 343, 0, 0, 391, 426, + 227, 491, 449, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 526, 527, 528, 529, 530, 531, + 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, + 542, 543, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 544, 353, 439, 488, 308, 320, 323, 313, + 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, + 325, 329, 335, 235, 201, 0, 191, 208, 339, 0, + 414, 271, 522, 500, 496, 0, 210, 0, 245, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, + 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, + 356, 357, 358, 375, 376, 377, 380, 383, 384, 387, + 389, 390, 393, 397, 401, 402, 403, 404, 406, 408, + 415, 420, 428, 429, 430, 431, 432, 435, 436, 441, + 442, 443, 444, 445, 453, 454, 458, 476, 478, 490, + 504, 509, 434, 281, 485, 510, 0, 348, 0, 0, + 350, 264, 284, 295, 0, 499, 455, 214, 422, 273, + 202, 233, 217, 242, 257, 260, 299, 359, 366, 395, + 400, 278, 254, 231, 419, 228, 438, 461, 462, 463, + 465, 363, 249, 399, 0, 364, 346, 467, 468, 291, + 466, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, + 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, + 396, 0, 197, 0, 440, 237, 347, 344, 473, 265, + 256, 252, 236, 292, 354, 394, 460, 388, 0, 341, + 0, 0, 450, 367, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, + 234, 300, 196, 379, 451, 269, 0, 0, 0, 0, + 188, 189, 190, 0, 2148, 0, 0, 0, 0, 0, + 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, + 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, + 0, 248, 296, 255, 247, 470, 0, 0, 0, 0, + 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2149, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 279, 0, 368, + 240, 0, 0, 0, 0, 506, 0, 0, 0, 0, + 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, + 378, 421, 427, 0, 0, 0, 238, 0, 425, 392, + 489, 220, 267, 418, 398, 423, 405, 270, 0, 0, + 424, 342, 475, 412, 486, 507, 508, 246, 372, 497, + 464, 503, 521, 213, 243, 386, 457, 492, 447, 365, + 471, 472, 304, 446, 277, 195, 340, 513, 211, 433, + 229, 218, 477, 495, 272, 416, 203, 459, 484, 226, + 437, 0, 0, 523, 205, 482, 456, 361, 301, 302, + 204, 0, 417, 251, 275, 241, 381, 479, 480, 239, + 524, 215, 502, 207, 0, 501, 374, 474, 483, 362, + 352, 206, 481, 360, 351, 307, 326, 327, 263, 286, + 410, 345, 411, 287, 370, 369, 371, 198, 493, 0, + 199, 0, 452, 494, 525, 221, 222, 224, 0, 262, + 266, 274, 276, 282, 283, 290, 338, 385, 409, 407, + 413, 0, 469, 487, 498, 505, 511, 512, 514, 515, + 516, 517, 518, 520, 519, 373, 289, 448, 306, 343, + 0, 0, 391, 426, 227, 491, 449, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, + 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 544, 353, 439, 488, + 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, + 317, 318, 319, 324, 325, 329, 335, 235, 201, 0, + 191, 208, 339, 0, 414, 271, 522, 500, 496, 0, + 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, + 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, + 297, 303, 349, 355, 356, 357, 358, 375, 376, 377, + 380, 383, 384, 387, 389, 390, 393, 397, 401, 402, + 403, 404, 406, 408, 415, 420, 428, 429, 430, 431, + 432, 435, 436, 441, 442, 443, 444, 445, 453, 454, + 458, 476, 478, 490, 504, 509, 434, 281, 485, 510, + 0, 348, 0, 0, 350, 264, 284, 295, 0, 499, + 455, 214, 422, 273, 202, 233, 217, 242, 257, 260, + 299, 359, 366, 395, 400, 278, 254, 231, 419, 228, + 438, 461, 462, 463, 465, 363, 249, 399, 0, 364, + 346, 467, 468, 291, 466, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 382, 0, 0, 0, + 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, + 337, 250, 0, 0, 396, 0, 197, 0, 440, 237, + 347, 344, 473, 265, 256, 252, 236, 292, 354, 394, + 460, 388, 0, 341, 0, 0, 450, 367, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 298, 234, 300, 196, 379, 451, 269, + 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, + 2133, 0, 0, 0, 2134, 0, 0, 225, 0, 232, + 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, + 0, 0, 0, 0, 0, 248, 296, 255, 247, 470, + 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 543, 352, 438, 487, 307, 319, 322, 312, 331, 0, - 332, 308, 309, 314, 316, 317, 318, 323, 324, 328, - 334, 234, 0, 191, 207, 338, 0, 413, 270, 521, - 499, 495, 0, 209, 0, 244, 0, 0, 0, 0, + 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, - 208, 218, 222, 229, 243, 258, 260, 267, 279, 284, - 287, 292, 293, 296, 302, 348, 354, 355, 356, 357, - 374, 375, 376, 379, 382, 383, 386, 388, 389, 392, - 396, 400, 401, 402, 403, 405, 407, 414, 419, 427, - 428, 429, 430, 431, 434, 435, 440, 441, 442, 443, - 444, 452, 453, 457, 475, 477, 489, 503, 508, 433, - 280, 484, 509, 0, 347, 0, 0, 349, 263, 283, - 294, 0, 498, 454, 213, 421, 272, 201, 232, 216, - 241, 256, 259, 298, 358, 365, 394, 399, 277, 253, - 230, 418, 227, 437, 460, 461, 462, 464, 362, 248, - 398, 0, 363, 345, 466, 467, 290, 465, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, - 0, 0, 0, 0, 0, 0, 0, 0, 252, 0, - 0, 0, 0, 336, 249, 0, 0, 395, 0, 197, - 0, 439, 236, 346, 343, 472, 264, 255, 251, 235, - 291, 353, 393, 459, 387, 0, 340, 0, 0, 449, - 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 297, 233, 299, 196, - 378, 450, 268, 0, 0, 0, 1337, 188, 189, 190, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 224, 0, 231, 321, 330, 329, 310, 311, 313, 315, - 320, 327, 333, 0, 0, 0, 0, 0, 247, 295, - 254, 246, 469, 0, 0, 0, 0, 0, 0, 0, - 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 257, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 278, 0, 367, 239, 0, 0, - 0, 0, 505, 0, 0, 0, 2890, 0, 0, 0, - 335, 0, 304, 192, 211, 0, 0, 377, 420, 426, - 0, 0, 0, 237, 0, 424, 391, 488, 219, 266, - 417, 397, 422, 404, 269, 0, 0, 423, 341, 474, - 411, 485, 506, 507, 245, 371, 496, 463, 502, 520, - 212, 242, 385, 456, 491, 446, 364, 470, 471, 303, - 445, 276, 195, 339, 512, 210, 432, 228, 217, 476, - 494, 271, 415, 202, 458, 483, 225, 436, 0, 0, - 522, 204, 481, 455, 360, 300, 301, 203, 0, 416, - 250, 274, 240, 380, 478, 479, 238, 523, 214, 501, - 206, 0, 500, 373, 473, 482, 361, 351, 205, 480, - 359, 350, 306, 325, 326, 262, 285, 409, 344, 410, - 286, 369, 368, 370, 198, 492, 0, 199, 0, 451, - 493, 524, 220, 221, 223, 0, 261, 265, 273, 275, - 281, 282, 289, 337, 384, 408, 406, 412, 0, 468, - 486, 497, 504, 510, 511, 513, 514, 515, 516, 517, - 519, 518, 372, 288, 447, 305, 342, 0, 0, 390, - 425, 226, 490, 448, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 525, 526, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 543, 352, 438, 487, 307, 319, 322, - 312, 331, 0, 332, 308, 309, 314, 316, 317, 318, - 323, 324, 328, 334, 234, 0, 191, 207, 338, 0, - 413, 270, 521, 499, 495, 0, 209, 0, 244, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 193, 194, 200, 208, 218, 222, 229, 243, 258, 260, - 267, 279, 284, 287, 292, 293, 296, 302, 348, 354, - 355, 356, 357, 374, 375, 376, 379, 382, 383, 386, - 388, 389, 392, 396, 400, 401, 402, 403, 405, 407, - 414, 419, 427, 428, 429, 430, 431, 434, 435, 440, - 441, 442, 443, 444, 452, 453, 457, 475, 477, 489, - 503, 508, 433, 280, 484, 509, 0, 347, 0, 0, - 349, 263, 283, 294, 0, 498, 454, 213, 421, 272, - 201, 232, 216, 241, 256, 259, 298, 358, 365, 394, - 399, 277, 253, 230, 418, 227, 437, 460, 461, 462, - 464, 362, 248, 398, 0, 363, 345, 466, 467, 290, - 465, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 381, 0, 0, 0, 0, 0, 0, 0, - 0, 252, 0, 0, 0, 0, 336, 249, 0, 0, - 395, 0, 197, 0, 439, 236, 346, 343, 472, 264, - 255, 251, 235, 291, 353, 393, 459, 387, 0, 340, - 0, 0, 449, 366, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, - 233, 299, 196, 378, 450, 268, 0, 0, 0, 0, - 188, 189, 190, 0, 1681, 0, 0, 0, 0, 0, - 0, 0, 0, 224, 0, 231, 321, 330, 329, 310, - 311, 313, 315, 320, 327, 333, 0, 0, 0, 0, - 0, 247, 295, 254, 246, 469, 0, 0, 0, 0, - 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 257, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1682, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 278, 0, 367, - 239, 0, 0, 0, 0, 505, 0, 0, 0, 0, - 0, 0, 0, 335, 0, 304, 192, 211, 0, 0, - 377, 420, 426, 0, 0, 0, 237, 0, 424, 391, - 488, 219, 266, 417, 397, 422, 404, 269, 0, 0, - 423, 341, 474, 411, 485, 506, 507, 245, 371, 496, - 463, 502, 520, 212, 242, 385, 456, 491, 446, 364, - 470, 471, 303, 445, 276, 195, 339, 512, 210, 432, - 228, 217, 476, 494, 271, 415, 202, 458, 483, 225, - 436, 0, 0, 522, 204, 481, 455, 360, 300, 301, - 203, 0, 416, 250, 274, 240, 380, 478, 479, 238, - 523, 214, 501, 206, 0, 500, 373, 473, 482, 361, - 351, 205, 480, 359, 350, 306, 325, 326, 262, 285, - 409, 344, 410, 286, 369, 368, 370, 198, 492, 0, - 199, 0, 451, 493, 524, 220, 221, 223, 0, 261, - 265, 273, 275, 281, 282, 289, 337, 384, 408, 406, - 412, 0, 468, 486, 497, 504, 510, 511, 513, 514, - 515, 516, 517, 519, 518, 372, 288, 447, 305, 342, - 0, 0, 390, 425, 226, 490, 448, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 525, 526, - 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, - 537, 538, 539, 540, 541, 542, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 543, 352, 438, 487, - 307, 319, 322, 312, 331, 0, 332, 308, 309, 314, - 316, 317, 318, 323, 324, 328, 334, 234, 0, 191, - 207, 338, 0, 413, 270, 521, 499, 495, 0, 209, - 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 193, 194, 200, 208, 218, 222, 229, - 243, 258, 260, 267, 279, 284, 287, 292, 293, 296, - 302, 348, 354, 355, 356, 357, 374, 375, 376, 379, - 382, 383, 386, 388, 389, 392, 396, 400, 401, 402, - 403, 405, 407, 414, 419, 427, 428, 429, 430, 431, - 434, 435, 440, 441, 442, 443, 444, 452, 453, 457, - 475, 477, 489, 503, 508, 433, 280, 484, 509, 0, - 347, 0, 0, 349, 263, 283, 294, 0, 498, 454, - 213, 421, 272, 201, 232, 216, 241, 256, 259, 298, - 358, 365, 394, 399, 277, 253, 230, 418, 227, 437, - 460, 461, 462, 464, 362, 248, 398, 0, 363, 345, - 466, 467, 290, 465, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 381, 0, 0, 0, 0, - 0, 0, 0, 0, 252, 0, 0, 0, 0, 336, - 249, 0, 0, 395, 0, 197, 0, 439, 236, 346, - 343, 472, 264, 255, 251, 235, 291, 353, 393, 459, - 387, 0, 340, 0, 0, 449, 366, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 297, 233, 299, 196, 378, 450, 268, 0, - 0, 0, 0, 188, 189, 190, 0, 2143, 0, 0, - 0, 0, 0, 0, 0, 0, 224, 0, 231, 321, - 330, 329, 310, 311, 313, 315, 320, 327, 333, 0, - 0, 0, 0, 0, 247, 295, 254, 246, 469, 0, - 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2144, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 278, 0, 367, 239, 0, 0, 0, 0, 505, 0, - 0, 0, 0, 0, 0, 0, 335, 0, 304, 192, - 211, 0, 0, 377, 420, 426, 0, 0, 0, 237, - 0, 424, 391, 488, 219, 266, 417, 397, 422, 404, - 269, 0, 0, 423, 341, 474, 411, 485, 506, 507, - 245, 371, 496, 463, 502, 520, 212, 242, 385, 456, - 491, 446, 364, 470, 471, 303, 445, 276, 195, 339, - 512, 210, 432, 228, 217, 476, 494, 271, 415, 202, - 458, 483, 225, 436, 0, 0, 522, 204, 481, 455, - 360, 300, 301, 203, 0, 416, 250, 274, 240, 380, - 478, 479, 238, 523, 214, 501, 206, 0, 500, 373, - 473, 482, 361, 351, 205, 480, 359, 350, 306, 325, - 326, 262, 285, 409, 344, 410, 286, 369, 368, 370, - 198, 492, 0, 199, 0, 451, 493, 524, 220, 221, - 223, 0, 261, 265, 273, 275, 281, 282, 289, 337, - 384, 408, 406, 412, 0, 468, 486, 497, 504, 510, - 511, 513, 514, 515, 516, 517, 519, 518, 372, 288, - 447, 305, 342, 0, 0, 390, 425, 226, 490, 448, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 525, 526, 527, 528, 529, 530, 531, 532, 533, - 534, 535, 536, 537, 538, 539, 540, 541, 542, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 543, - 352, 438, 487, 307, 319, 322, 312, 331, 0, 332, - 308, 309, 314, 316, 317, 318, 323, 324, 328, 334, - 234, 0, 191, 207, 338, 0, 413, 270, 521, 499, - 495, 0, 209, 0, 244, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 193, 194, 200, 208, - 218, 222, 229, 243, 258, 260, 267, 279, 284, 287, - 292, 293, 296, 302, 348, 354, 355, 356, 357, 374, - 375, 376, 379, 382, 383, 386, 388, 389, 392, 396, - 400, 401, 402, 403, 405, 407, 414, 419, 427, 428, - 429, 430, 431, 434, 435, 440, 441, 442, 443, 444, - 452, 453, 457, 475, 477, 489, 503, 508, 433, 280, - 484, 509, 0, 347, 0, 0, 349, 263, 283, 294, - 0, 498, 454, 213, 421, 272, 201, 232, 216, 241, - 256, 259, 298, 358, 365, 394, 399, 277, 253, 230, - 418, 227, 437, 460, 461, 462, 464, 362, 248, 398, - 0, 363, 345, 466, 467, 290, 465, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, - 0, 0, 0, 0, 0, 0, 0, 252, 0, 0, - 0, 0, 336, 249, 0, 0, 395, 0, 197, 0, - 439, 236, 346, 343, 472, 264, 255, 251, 235, 291, - 353, 393, 459, 387, 0, 340, 0, 0, 449, 366, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 297, 233, 299, 196, 378, - 450, 268, 0, 0, 0, 0, 188, 189, 190, 0, - 0, 0, 2128, 0, 0, 0, 2129, 0, 0, 224, - 0, 231, 321, 330, 329, 310, 311, 313, 315, 320, - 327, 333, 0, 0, 0, 0, 0, 247, 295, 254, - 246, 469, 0, 0, 0, 0, 0, 0, 0, 215, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 257, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 278, 0, 367, 239, 0, 0, 0, - 0, 505, 0, 0, 0, 0, 0, 0, 0, 335, - 0, 304, 192, 211, 0, 0, 377, 420, 426, 0, - 0, 0, 237, 0, 424, 391, 488, 219, 266, 417, - 397, 422, 404, 269, 0, 0, 423, 341, 474, 411, - 485, 506, 507, 245, 371, 496, 463, 502, 520, 212, - 242, 385, 456, 491, 446, 364, 470, 471, 303, 445, - 276, 195, 339, 512, 210, 432, 228, 217, 476, 494, - 271, 415, 202, 458, 483, 225, 436, 0, 0, 522, - 204, 481, 455, 360, 300, 301, 203, 0, 416, 250, - 274, 240, 380, 478, 479, 238, 523, 214, 501, 206, - 0, 500, 373, 473, 482, 361, 351, 205, 480, 359, - 350, 306, 325, 326, 262, 285, 409, 344, 410, 286, - 369, 368, 370, 198, 492, 0, 199, 0, 451, 493, - 524, 220, 221, 223, 0, 261, 265, 273, 275, 281, - 282, 289, 337, 384, 408, 406, 412, 0, 468, 486, - 497, 504, 510, 511, 513, 514, 515, 516, 517, 519, - 518, 372, 288, 447, 305, 342, 0, 0, 390, 425, - 226, 490, 448, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 525, 526, 527, 528, 529, 530, - 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, - 541, 542, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 543, 352, 438, 487, 307, 319, 322, 312, - 331, 0, 332, 308, 309, 314, 316, 317, 318, 323, - 324, 328, 334, 234, 0, 191, 207, 338, 0, 413, - 270, 521, 499, 495, 0, 209, 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 194, 200, 208, 218, 222, 229, 243, 258, 260, 267, - 279, 284, 287, 292, 293, 296, 302, 348, 354, 355, - 356, 357, 374, 375, 376, 379, 382, 383, 386, 388, - 389, 392, 396, 400, 401, 402, 403, 405, 407, 414, - 419, 427, 428, 429, 430, 431, 434, 435, 440, 441, - 442, 443, 444, 452, 453, 457, 475, 477, 489, 503, - 508, 433, 280, 484, 509, 0, 347, 0, 0, 349, - 263, 283, 294, 0, 498, 454, 213, 421, 272, 201, - 232, 216, 241, 256, 259, 298, 358, 365, 394, 399, - 277, 253, 230, 418, 227, 437, 460, 461, 462, 464, - 362, 248, 398, 0, 363, 345, 466, 467, 290, 465, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 381, 0, 0, 0, 0, 0, 0, 0, 0, - 252, 1381, 0, 0, 0, 336, 249, 0, 0, 395, - 0, 197, 0, 439, 236, 346, 343, 472, 264, 255, - 251, 235, 291, 353, 393, 459, 387, 0, 340, 0, - 0, 449, 366, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 297, 233, - 299, 196, 378, 450, 268, 0, 0, 0, 0, 188, - 189, 190, 0, 1380, 0, 0, 0, 0, 0, 0, - 0, 0, 224, 0, 231, 321, 330, 329, 310, 311, - 313, 315, 320, 327, 333, 0, 0, 0, 0, 0, - 247, 295, 254, 246, 469, 0, 0, 0, 0, 0, - 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 257, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 278, 0, 367, 239, - 0, 0, 0, 0, 505, 0, 0, 0, 0, 0, - 0, 0, 335, 0, 304, 192, 211, 0, 0, 377, - 420, 426, 0, 0, 0, 237, 0, 424, 391, 488, - 219, 266, 417, 397, 422, 404, 269, 0, 0, 423, - 341, 474, 411, 485, 506, 507, 245, 371, 496, 463, - 502, 520, 212, 242, 385, 456, 491, 446, 364, 470, - 471, 303, 445, 276, 195, 339, 512, 210, 432, 228, - 217, 476, 494, 271, 415, 202, 458, 483, 225, 436, - 0, 0, 522, 204, 481, 455, 360, 300, 301, 203, - 0, 416, 250, 274, 240, 380, 478, 479, 238, 523, - 214, 501, 206, 0, 500, 373, 473, 482, 361, 351, - 205, 480, 359, 350, 306, 325, 326, 262, 285, 409, - 344, 410, 286, 369, 368, 370, 198, 492, 0, 199, - 0, 451, 493, 524, 220, 221, 223, 0, 261, 265, - 273, 275, 281, 282, 289, 337, 384, 408, 406, 412, - 0, 468, 486, 497, 504, 510, 511, 513, 514, 515, - 516, 517, 519, 518, 372, 288, 447, 305, 342, 0, - 0, 390, 425, 226, 490, 448, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 525, 526, 527, - 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, - 538, 539, 540, 541, 542, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 543, 352, 438, 487, 307, - 319, 322, 312, 331, 0, 332, 308, 309, 314, 316, - 317, 318, 323, 324, 328, 334, 234, 0, 191, 207, - 338, 0, 413, 270, 521, 499, 495, 0, 209, 0, - 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 193, 194, 200, 208, 218, 222, 229, 243, - 258, 260, 267, 279, 284, 287, 292, 293, 296, 302, - 348, 354, 355, 356, 357, 374, 375, 376, 379, 382, - 383, 386, 388, 389, 392, 396, 400, 401, 402, 403, - 405, 407, 414, 419, 427, 428, 429, 430, 431, 434, - 435, 440, 441, 442, 443, 444, 452, 453, 457, 475, - 477, 489, 503, 508, 433, 280, 484, 509, 0, 347, - 0, 0, 349, 263, 283, 294, 0, 498, 454, 213, - 421, 272, 201, 232, 216, 241, 256, 259, 298, 358, - 365, 394, 399, 277, 253, 230, 418, 227, 437, 460, - 461, 462, 464, 362, 248, 398, 0, 363, 345, 466, - 467, 290, 465, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 381, 0, 0, 0, 0, 0, - 0, 0, 0, 252, 0, 0, 0, 0, 336, 249, - 0, 0, 395, 0, 197, 0, 439, 236, 346, 343, - 472, 264, 255, 251, 235, 291, 353, 393, 459, 387, - 0, 340, 0, 0, 449, 366, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 297, 233, 299, 196, 378, 450, 268, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 279, 0, 368, 240, 0, 0, 0, 0, 506, + 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, + 192, 212, 0, 0, 378, 421, 427, 0, 0, 0, + 238, 0, 425, 392, 489, 220, 267, 418, 398, 423, + 405, 270, 0, 0, 424, 342, 475, 412, 486, 507, + 508, 246, 372, 497, 464, 503, 521, 213, 243, 386, + 457, 492, 447, 365, 471, 472, 304, 446, 277, 195, + 340, 513, 211, 433, 229, 218, 477, 495, 272, 416, + 203, 459, 484, 226, 437, 0, 0, 523, 205, 482, + 456, 361, 301, 302, 204, 0, 417, 251, 275, 241, + 381, 479, 480, 239, 524, 215, 502, 207, 0, 501, + 374, 474, 483, 362, 352, 206, 481, 360, 351, 307, + 326, 327, 263, 286, 410, 345, 411, 287, 370, 369, + 371, 198, 493, 0, 199, 0, 452, 494, 525, 221, + 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, + 338, 385, 409, 407, 413, 0, 469, 487, 498, 505, + 511, 512, 514, 515, 516, 517, 518, 520, 519, 373, + 289, 448, 306, 343, 0, 0, 391, 426, 227, 491, + 449, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 544, 353, 439, 488, 308, 320, 323, 313, 332, 0, + 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, + 335, 235, 201, 0, 191, 208, 339, 0, 414, 271, + 522, 500, 496, 0, 210, 0, 245, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, + 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, + 285, 288, 293, 294, 297, 303, 349, 355, 356, 357, + 358, 375, 376, 377, 380, 383, 384, 387, 389, 390, + 393, 397, 401, 402, 403, 404, 406, 408, 415, 420, + 428, 429, 430, 431, 432, 435, 436, 441, 442, 443, + 444, 445, 453, 454, 458, 476, 478, 490, 504, 509, + 434, 281, 485, 510, 0, 348, 0, 0, 350, 264, + 284, 295, 0, 499, 455, 214, 422, 273, 202, 233, + 217, 242, 257, 260, 299, 359, 366, 395, 400, 278, + 254, 231, 419, 228, 438, 461, 462, 463, 465, 363, + 249, 399, 0, 364, 346, 467, 468, 291, 466, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 382, 0, 0, 0, 0, 0, 0, 0, 0, 253, + 1384, 0, 0, 0, 337, 250, 0, 0, 396, 0, + 197, 0, 440, 237, 347, 344, 473, 265, 256, 252, + 236, 292, 354, 394, 460, 388, 0, 341, 0, 0, + 450, 367, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, + 196, 379, 451, 269, 0, 0, 0, 0, 188, 189, + 190, 0, 1383, 0, 0, 0, 0, 0, 0, 0, + 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, + 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, + 296, 255, 247, 470, 0, 0, 0, 0, 0, 0, + 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 279, 0, 368, 240, 0, + 0, 0, 0, 506, 0, 0, 0, 0, 0, 0, + 0, 336, 0, 305, 192, 212, 0, 0, 378, 421, + 427, 0, 0, 0, 238, 0, 425, 392, 489, 220, + 267, 418, 398, 423, 405, 270, 0, 0, 424, 342, + 475, 412, 486, 507, 508, 246, 372, 497, 464, 503, + 521, 213, 243, 386, 457, 492, 447, 365, 471, 472, + 304, 446, 277, 195, 340, 513, 211, 433, 229, 218, + 477, 495, 272, 416, 203, 459, 484, 226, 437, 0, + 0, 523, 205, 482, 456, 361, 301, 302, 204, 0, + 417, 251, 275, 241, 381, 479, 480, 239, 524, 215, + 502, 207, 0, 501, 374, 474, 483, 362, 352, 206, + 481, 360, 351, 307, 326, 327, 263, 286, 410, 345, + 411, 287, 370, 369, 371, 198, 493, 0, 199, 0, + 452, 494, 525, 221, 222, 224, 0, 262, 266, 274, + 276, 282, 283, 290, 338, 385, 409, 407, 413, 0, + 469, 487, 498, 505, 511, 512, 514, 515, 516, 517, + 518, 520, 519, 373, 289, 448, 306, 343, 0, 0, + 391, 426, 227, 491, 449, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 544, 353, 439, 488, 308, 320, + 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, + 319, 324, 325, 329, 335, 235, 201, 0, 191, 208, + 339, 0, 414, 271, 522, 500, 496, 0, 210, 0, + 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, + 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, + 349, 355, 356, 357, 358, 375, 376, 377, 380, 383, + 384, 387, 389, 390, 393, 397, 401, 402, 403, 404, + 406, 408, 415, 420, 428, 429, 430, 431, 432, 435, + 436, 441, 442, 443, 444, 445, 453, 454, 458, 476, + 478, 490, 504, 509, 434, 281, 485, 510, 0, 348, + 0, 0, 350, 264, 284, 295, 0, 499, 455, 214, + 422, 273, 202, 233, 217, 242, 257, 260, 299, 359, + 366, 395, 400, 278, 254, 231, 419, 228, 438, 461, + 462, 463, 465, 363, 249, 399, 0, 364, 346, 467, + 468, 291, 466, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 382, 0, 0, 0, 0, 0, + 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, + 0, 0, 396, 0, 197, 0, 440, 237, 347, 344, + 473, 265, 256, 252, 236, 292, 354, 394, 460, 388, + 0, 341, 0, 0, 450, 367, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 298, 234, 300, 196, 379, 451, 269, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 224, 0, 231, 321, 330, - 329, 310, 311, 313, 315, 320, 327, 333, 0, 0, - 0, 0, 0, 247, 295, 254, 246, 469, 0, 0, - 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, - 0, 367, 239, 0, 0, 0, 0, 505, 0, 0, - 0, 2983, 0, 0, 0, 335, 0, 304, 192, 211, - 0, 0, 377, 420, 426, 0, 0, 0, 237, 0, - 424, 391, 488, 219, 266, 417, 397, 422, 404, 269, - 0, 0, 423, 341, 474, 411, 485, 506, 507, 245, - 371, 496, 463, 502, 520, 212, 242, 385, 456, 491, - 446, 364, 470, 471, 303, 445, 276, 195, 339, 512, - 210, 432, 228, 217, 476, 494, 271, 415, 202, 458, - 483, 225, 436, 0, 0, 522, 204, 481, 455, 360, - 300, 301, 203, 0, 416, 250, 274, 240, 380, 478, - 479, 238, 523, 214, 501, 206, 0, 500, 373, 473, - 482, 361, 351, 205, 480, 359, 350, 306, 325, 326, - 262, 285, 409, 344, 410, 286, 369, 368, 370, 198, - 492, 0, 199, 0, 451, 493, 524, 220, 221, 223, - 0, 261, 265, 273, 275, 281, 282, 289, 337, 384, - 408, 406, 412, 0, 468, 486, 497, 504, 510, 511, - 513, 514, 515, 516, 517, 519, 518, 372, 288, 447, - 305, 342, 0, 0, 390, 425, 226, 490, 448, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 543, 352, - 438, 487, 307, 319, 322, 312, 331, 0, 332, 308, - 309, 314, 316, 317, 318, 323, 324, 328, 334, 234, - 0, 191, 207, 338, 0, 413, 270, 521, 499, 495, - 0, 209, 0, 244, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 193, 194, 200, 208, 218, - 222, 229, 243, 258, 260, 267, 279, 284, 287, 292, - 293, 296, 302, 348, 354, 355, 356, 357, 374, 375, - 376, 379, 382, 383, 386, 388, 389, 392, 396, 400, - 401, 402, 403, 405, 407, 414, 419, 427, 428, 429, - 430, 431, 434, 435, 440, 441, 442, 443, 444, 452, - 453, 457, 475, 477, 489, 503, 508, 433, 280, 484, - 509, 0, 347, 0, 0, 349, 263, 283, 294, 0, - 498, 454, 213, 421, 272, 201, 232, 216, 241, 256, - 259, 298, 358, 365, 394, 399, 277, 253, 230, 418, - 227, 437, 460, 461, 462, 464, 362, 248, 398, 0, - 363, 345, 466, 467, 290, 465, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, - 0, 0, 0, 0, 0, 0, 252, 0, 0, 0, - 0, 336, 249, 0, 0, 395, 0, 197, 0, 439, - 236, 346, 343, 472, 264, 255, 251, 235, 291, 353, - 393, 459, 387, 0, 340, 0, 0, 449, 366, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 297, 233, 299, 196, 378, 450, - 268, 0, 0, 0, 0, 188, 189, 190, 0, 1538, - 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, - 231, 321, 330, 329, 310, 311, 313, 315, 320, 327, - 333, 0, 0, 0, 0, 0, 247, 295, 254, 246, - 469, 0, 0, 0, 0, 0, 0, 0, 215, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 278, 0, 367, 239, 0, 0, 0, 0, - 505, 0, 0, 0, 0, 0, 0, 0, 335, 0, - 304, 192, 211, 0, 0, 377, 420, 426, 0, 0, - 0, 237, 0, 424, 391, 488, 219, 266, 417, 397, - 422, 404, 269, 0, 0, 423, 341, 474, 411, 485, - 506, 507, 245, 371, 496, 463, 502, 520, 212, 242, - 385, 456, 491, 446, 364, 470, 471, 303, 445, 276, - 195, 339, 512, 210, 432, 228, 217, 476, 494, 271, - 415, 202, 458, 483, 225, 436, 0, 0, 522, 204, - 481, 455, 360, 300, 301, 203, 0, 416, 250, 274, - 240, 380, 478, 479, 238, 523, 214, 501, 206, 0, - 500, 373, 473, 482, 361, 351, 205, 480, 359, 350, - 306, 325, 326, 262, 285, 409, 344, 410, 286, 369, - 368, 370, 198, 492, 0, 199, 0, 451, 493, 524, - 220, 221, 223, 0, 261, 265, 273, 275, 281, 282, - 289, 337, 384, 408, 406, 412, 0, 468, 486, 497, - 504, 510, 511, 513, 514, 515, 516, 517, 519, 518, - 372, 288, 447, 305, 342, 0, 0, 390, 425, 226, - 490, 448, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 525, 526, 527, 528, 529, 530, 531, + 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, + 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, + 0, 0, 0, 248, 296, 255, 247, 470, 0, 0, + 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, + 0, 368, 240, 0, 0, 0, 0, 506, 0, 0, + 0, 2990, 0, 0, 0, 336, 0, 305, 192, 212, + 0, 0, 378, 421, 427, 0, 0, 0, 238, 0, + 425, 392, 489, 220, 267, 418, 398, 423, 405, 270, + 0, 0, 424, 342, 475, 412, 486, 507, 508, 246, + 372, 497, 464, 503, 521, 213, 243, 386, 457, 492, + 447, 365, 471, 472, 304, 446, 277, 195, 340, 513, + 211, 433, 229, 218, 477, 495, 272, 416, 203, 459, + 484, 226, 437, 0, 0, 523, 205, 482, 456, 361, + 301, 302, 204, 0, 417, 251, 275, 241, 381, 479, + 480, 239, 524, 215, 502, 207, 0, 501, 374, 474, + 483, 362, 352, 206, 481, 360, 351, 307, 326, 327, + 263, 286, 410, 345, 411, 287, 370, 369, 371, 198, + 493, 0, 199, 0, 452, 494, 525, 221, 222, 224, + 0, 262, 266, 274, 276, 282, 283, 290, 338, 385, + 409, 407, 413, 0, 469, 487, 498, 505, 511, 512, + 514, 515, 516, 517, 518, 520, 519, 373, 289, 448, + 306, 343, 0, 0, 391, 426, 227, 491, 449, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, + 536, 537, 538, 539, 540, 541, 542, 543, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 544, 353, + 439, 488, 308, 320, 323, 313, 332, 0, 333, 309, + 310, 315, 317, 318, 319, 324, 325, 329, 335, 235, + 201, 0, 191, 208, 339, 0, 414, 271, 522, 500, + 496, 0, 210, 0, 245, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, + 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, + 293, 294, 297, 303, 349, 355, 356, 357, 358, 375, + 376, 377, 380, 383, 384, 387, 389, 390, 393, 397, + 401, 402, 403, 404, 406, 408, 415, 420, 428, 429, + 430, 431, 432, 435, 436, 441, 442, 443, 444, 445, + 453, 454, 458, 476, 478, 490, 504, 509, 434, 281, + 485, 510, 0, 348, 0, 0, 350, 264, 284, 295, + 0, 499, 455, 214, 422, 273, 202, 233, 217, 242, + 257, 260, 299, 359, 366, 395, 400, 278, 254, 231, + 419, 228, 438, 461, 462, 463, 465, 363, 249, 399, + 0, 364, 346, 467, 468, 291, 466, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 382, 0, + 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, + 0, 0, 337, 250, 0, 0, 396, 0, 197, 0, + 440, 237, 347, 344, 473, 265, 256, 252, 236, 292, + 354, 394, 460, 388, 0, 341, 0, 0, 450, 367, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 298, 234, 300, 196, 379, + 451, 269, 0, 0, 0, 0, 188, 189, 190, 0, + 1541, 0, 0, 0, 0, 0, 0, 0, 0, 225, + 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, + 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, + 247, 470, 0, 0, 0, 0, 0, 0, 0, 216, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 279, 0, 368, 240, 0, 0, 0, + 0, 506, 0, 0, 0, 0, 0, 0, 0, 336, + 0, 305, 192, 212, 0, 0, 378, 421, 427, 0, + 0, 0, 238, 0, 425, 392, 489, 220, 267, 418, + 398, 423, 405, 270, 0, 0, 424, 342, 475, 412, + 486, 507, 508, 246, 372, 497, 464, 503, 521, 213, + 243, 386, 457, 492, 447, 365, 471, 472, 304, 446, + 277, 195, 340, 513, 211, 433, 229, 218, 477, 495, + 272, 416, 203, 459, 484, 226, 437, 0, 0, 523, + 205, 482, 456, 361, 301, 302, 204, 0, 417, 251, + 275, 241, 381, 479, 480, 239, 524, 215, 502, 207, + 0, 501, 374, 474, 483, 362, 352, 206, 481, 360, + 351, 307, 326, 327, 263, 286, 410, 345, 411, 287, + 370, 369, 371, 198, 493, 0, 199, 0, 452, 494, + 525, 221, 222, 224, 0, 262, 266, 274, 276, 282, + 283, 290, 338, 385, 409, 407, 413, 0, 469, 487, + 498, 505, 511, 512, 514, 515, 516, 517, 518, 520, + 519, 373, 289, 448, 306, 343, 0, 0, 391, 426, + 227, 491, 449, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, - 542, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 543, 352, 438, 487, 307, 319, 322, 312, 331, - 0, 332, 308, 309, 314, 316, 317, 318, 323, 324, - 328, 334, 234, 0, 191, 207, 338, 0, 413, 270, - 521, 499, 495, 0, 209, 0, 244, 0, 0, 0, + 542, 543, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 544, 353, 439, 488, 308, 320, 323, 313, + 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, + 325, 329, 335, 235, 201, 0, 191, 208, 339, 0, + 414, 271, 522, 500, 496, 0, 210, 0, 245, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, + 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, + 356, 357, 358, 375, 376, 377, 380, 383, 384, 387, + 389, 390, 393, 397, 401, 402, 403, 404, 406, 408, + 415, 420, 428, 429, 430, 431, 432, 435, 436, 441, + 442, 443, 444, 445, 453, 454, 458, 476, 478, 490, + 504, 509, 434, 281, 485, 510, 0, 348, 0, 0, + 350, 264, 284, 295, 0, 499, 455, 214, 422, 273, + 202, 233, 217, 242, 257, 260, 299, 359, 366, 395, + 400, 278, 254, 231, 419, 228, 438, 461, 462, 463, + 465, 363, 249, 399, 0, 364, 346, 467, 468, 291, + 466, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, + 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, + 396, 0, 197, 0, 440, 237, 347, 344, 473, 265, + 256, 252, 236, 292, 354, 394, 460, 388, 0, 341, + 0, 0, 450, 367, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, + 234, 300, 196, 379, 451, 269, 0, 0, 0, 0, + 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, + 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, + 0, 248, 296, 255, 247, 470, 0, 0, 0, 0, + 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 279, 0, 368, + 240, 0, 0, 0, 0, 506, 0, 0, 0, 2897, + 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, + 378, 421, 427, 0, 0, 0, 238, 0, 425, 392, + 489, 220, 267, 418, 398, 423, 405, 270, 0, 0, + 424, 342, 475, 412, 486, 507, 508, 246, 372, 497, + 464, 503, 521, 213, 243, 386, 457, 492, 447, 365, + 471, 472, 304, 446, 277, 195, 340, 513, 211, 433, + 229, 218, 477, 495, 272, 416, 203, 459, 484, 226, + 437, 0, 0, 523, 205, 482, 456, 361, 301, 302, + 204, 0, 417, 251, 275, 241, 381, 479, 480, 239, + 524, 215, 502, 207, 0, 501, 374, 474, 483, 362, + 352, 206, 481, 360, 351, 307, 326, 327, 263, 286, + 410, 345, 411, 287, 370, 369, 371, 198, 493, 0, + 199, 0, 452, 494, 525, 221, 222, 224, 0, 262, + 266, 274, 276, 282, 283, 290, 338, 385, 409, 407, + 413, 0, 469, 487, 498, 505, 511, 512, 514, 515, + 516, 517, 518, 520, 519, 373, 289, 448, 306, 343, + 0, 0, 391, 426, 227, 491, 449, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, + 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 544, 353, 439, 488, + 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, + 317, 318, 319, 324, 325, 329, 335, 235, 201, 0, + 191, 208, 339, 0, 414, 271, 522, 500, 496, 0, + 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, + 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, + 297, 303, 349, 355, 356, 357, 358, 375, 376, 377, + 380, 383, 384, 387, 389, 390, 393, 397, 401, 402, + 403, 404, 406, 408, 415, 420, 428, 429, 430, 431, + 432, 435, 436, 441, 442, 443, 444, 445, 453, 454, + 458, 476, 478, 490, 504, 509, 434, 281, 485, 510, + 0, 348, 0, 0, 350, 264, 284, 295, 0, 499, + 455, 214, 422, 273, 202, 233, 217, 242, 257, 260, + 299, 359, 366, 395, 400, 278, 254, 231, 419, 228, + 438, 461, 462, 463, 465, 363, 249, 399, 0, 364, + 346, 467, 468, 291, 466, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 382, 0, 0, 0, + 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, + 337, 250, 0, 0, 396, 0, 197, 0, 440, 237, + 347, 344, 473, 265, 256, 252, 236, 292, 354, 394, + 460, 388, 0, 341, 0, 0, 450, 367, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 298, 234, 300, 196, 379, 451, 269, + 0, 87, 0, 0, 188, 189, 190, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, + 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, + 0, 0, 0, 0, 0, 248, 296, 255, 247, 470, + 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 279, 0, 368, 240, 0, 0, 0, 0, 506, + 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, + 192, 212, 0, 0, 378, 421, 427, 0, 0, 0, + 238, 0, 425, 392, 489, 220, 267, 418, 398, 423, + 405, 270, 0, 0, 424, 342, 475, 412, 486, 507, + 508, 246, 372, 497, 464, 503, 521, 213, 243, 386, + 457, 492, 447, 365, 471, 472, 304, 446, 277, 195, + 340, 513, 211, 433, 229, 218, 477, 495, 272, 416, + 203, 459, 484, 226, 437, 0, 0, 523, 205, 482, + 456, 361, 301, 302, 204, 0, 417, 251, 275, 241, + 381, 479, 480, 239, 524, 215, 502, 207, 0, 501, + 374, 474, 483, 362, 352, 206, 481, 360, 351, 307, + 326, 327, 263, 286, 410, 345, 411, 287, 370, 369, + 371, 198, 493, 0, 199, 0, 452, 494, 525, 221, + 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, + 338, 385, 409, 407, 413, 0, 469, 487, 498, 505, + 511, 512, 514, 515, 516, 517, 518, 520, 519, 373, + 289, 448, 306, 343, 0, 0, 391, 426, 227, 491, + 449, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 544, 353, 439, 488, 308, 320, 323, 313, 332, 0, + 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, + 335, 235, 201, 0, 191, 208, 339, 0, 414, 271, + 522, 500, 496, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, - 200, 208, 218, 222, 229, 243, 258, 260, 267, 279, - 284, 287, 292, 293, 296, 302, 348, 354, 355, 356, - 357, 374, 375, 376, 379, 382, 383, 386, 388, 389, - 392, 396, 400, 401, 402, 403, 405, 407, 414, 419, - 427, 428, 429, 430, 431, 434, 435, 440, 441, 442, - 443, 444, 452, 453, 457, 475, 477, 489, 503, 508, - 433, 280, 484, 509, 0, 347, 0, 0, 349, 263, - 283, 294, 0, 498, 454, 213, 421, 272, 201, 232, - 216, 241, 256, 259, 298, 358, 365, 394, 399, 277, - 253, 230, 418, 227, 437, 460, 461, 462, 464, 362, - 248, 398, 0, 363, 345, 466, 467, 290, 465, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 381, 0, 0, 0, 0, 0, 0, 0, 0, 252, - 0, 0, 0, 0, 336, 249, 0, 0, 395, 0, - 197, 0, 439, 236, 346, 343, 472, 264, 255, 251, - 235, 291, 353, 393, 459, 387, 0, 340, 0, 0, - 449, 366, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 297, 233, 299, - 196, 378, 450, 268, 0, 0, 0, 0, 188, 189, + 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, + 285, 288, 293, 294, 297, 303, 349, 355, 356, 357, + 358, 375, 376, 377, 380, 383, 384, 387, 389, 390, + 393, 397, 401, 402, 403, 404, 406, 408, 415, 420, + 428, 429, 430, 431, 432, 435, 436, 441, 442, 443, + 444, 445, 453, 454, 458, 476, 478, 490, 504, 509, + 434, 281, 485, 510, 0, 348, 0, 0, 350, 264, + 284, 295, 0, 499, 455, 214, 422, 273, 202, 233, + 217, 242, 257, 260, 299, 359, 366, 395, 400, 278, + 254, 231, 419, 228, 438, 461, 462, 463, 465, 363, + 249, 399, 0, 364, 346, 467, 468, 291, 466, 0, + 0, 0, 0, 1853, 0, 0, 0, 0, 0, 0, + 382, 0, 0, 0, 0, 0, 0, 0, 0, 253, + 0, 0, 0, 0, 337, 250, 0, 0, 396, 0, + 197, 0, 440, 237, 347, 344, 473, 265, 256, 252, + 236, 292, 354, 394, 460, 388, 0, 341, 0, 0, + 450, 367, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, + 196, 379, 451, 269, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 224, 0, 231, 321, 330, 329, 310, 311, 313, - 315, 320, 327, 333, 0, 0, 0, 0, 0, 247, - 295, 254, 246, 469, 0, 0, 0, 0, 0, 0, - 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 257, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 278, 0, 367, 239, 0, - 0, 0, 0, 505, 0, 0, 0, 2890, 0, 0, - 0, 335, 0, 304, 192, 211, 0, 0, 377, 420, - 426, 0, 0, 0, 237, 0, 424, 391, 488, 219, - 266, 417, 397, 422, 404, 269, 0, 0, 423, 341, - 474, 411, 485, 506, 507, 245, 371, 496, 463, 502, - 520, 212, 242, 385, 456, 491, 446, 364, 470, 471, - 303, 445, 276, 195, 339, 512, 210, 432, 228, 217, - 476, 494, 271, 415, 202, 458, 483, 225, 436, 0, - 0, 522, 204, 481, 455, 360, 300, 301, 203, 0, - 416, 250, 274, 240, 380, 478, 479, 238, 523, 214, - 501, 206, 0, 500, 373, 473, 482, 361, 351, 205, - 480, 359, 350, 306, 325, 326, 262, 285, 409, 344, - 410, 286, 369, 368, 370, 198, 492, 0, 199, 0, - 451, 493, 524, 220, 221, 223, 0, 261, 265, 273, - 275, 281, 282, 289, 337, 384, 408, 406, 412, 0, - 468, 486, 497, 504, 510, 511, 513, 514, 515, 516, - 517, 519, 518, 372, 288, 447, 305, 342, 0, 0, - 390, 425, 226, 490, 448, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 525, 526, 527, 528, - 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, - 539, 540, 541, 542, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 543, 352, 438, 487, 307, 319, - 322, 312, 331, 0, 332, 308, 309, 314, 316, 317, - 318, 323, 324, 328, 334, 234, 0, 191, 207, 338, - 0, 413, 270, 521, 499, 495, 0, 209, 0, 244, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 193, 194, 200, 208, 218, 222, 229, 243, 258, - 260, 267, 279, 284, 287, 292, 293, 296, 302, 348, - 354, 355, 356, 357, 374, 375, 376, 379, 382, 383, - 386, 388, 389, 392, 396, 400, 401, 402, 403, 405, - 407, 414, 419, 427, 428, 429, 430, 431, 434, 435, - 440, 441, 442, 443, 444, 452, 453, 457, 475, 477, - 489, 503, 508, 433, 280, 484, 509, 0, 347, 0, - 0, 349, 263, 283, 294, 0, 498, 454, 213, 421, - 272, 201, 232, 216, 241, 256, 259, 298, 358, 365, - 394, 399, 277, 253, 230, 418, 227, 437, 460, 461, - 462, 464, 362, 248, 398, 0, 363, 345, 466, 467, - 290, 465, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 381, 0, 0, 0, 0, 0, 0, - 0, 0, 252, 0, 0, 0, 0, 336, 249, 0, - 0, 395, 0, 197, 0, 439, 236, 346, 343, 472, - 264, 255, 251, 235, 291, 353, 393, 459, 387, 0, - 340, 0, 0, 449, 366, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 297, 233, 299, 196, 378, 450, 268, 0, 87, 0, - 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 224, 0, 231, 321, 330, 329, - 310, 311, 313, 315, 320, 327, 333, 0, 0, 0, - 0, 0, 247, 295, 254, 246, 469, 0, 0, 0, - 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 257, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 278, 0, - 367, 239, 0, 0, 0, 0, 505, 0, 0, 0, - 0, 0, 0, 0, 335, 0, 304, 192, 211, 0, - 0, 377, 420, 426, 0, 0, 0, 237, 0, 424, - 391, 488, 219, 266, 417, 397, 422, 404, 269, 0, - 0, 423, 341, 474, 411, 485, 506, 507, 245, 371, - 496, 463, 502, 520, 212, 242, 385, 456, 491, 446, - 364, 470, 471, 303, 445, 276, 195, 339, 512, 210, - 432, 228, 217, 476, 494, 271, 415, 202, 458, 483, - 225, 436, 0, 0, 522, 204, 481, 455, 360, 300, - 301, 203, 0, 416, 250, 274, 240, 380, 478, 479, - 238, 523, 214, 501, 206, 0, 500, 373, 473, 482, - 361, 351, 205, 480, 359, 350, 306, 325, 326, 262, - 285, 409, 344, 410, 286, 369, 368, 370, 198, 492, - 0, 199, 0, 451, 493, 524, 220, 221, 223, 0, - 261, 265, 273, 275, 281, 282, 289, 337, 384, 408, - 406, 412, 0, 468, 486, 497, 504, 510, 511, 513, - 514, 515, 516, 517, 519, 518, 372, 288, 447, 305, - 342, 0, 0, 390, 425, 226, 490, 448, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 525, + 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, + 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, + 296, 255, 247, 470, 0, 0, 0, 0, 0, 0, + 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 279, 0, 368, 240, 0, + 0, 0, 0, 506, 0, 0, 0, 0, 0, 0, + 0, 336, 0, 305, 192, 212, 0, 0, 378, 421, + 427, 0, 0, 0, 238, 0, 425, 392, 489, 220, + 267, 418, 398, 423, 405, 270, 0, 0, 424, 342, + 475, 412, 486, 507, 508, 246, 372, 497, 464, 503, + 521, 213, 243, 386, 457, 492, 447, 365, 471, 472, + 304, 446, 277, 195, 340, 513, 211, 433, 229, 218, + 477, 495, 272, 416, 203, 459, 484, 226, 437, 0, + 0, 523, 205, 482, 456, 361, 301, 302, 204, 0, + 417, 251, 275, 241, 381, 479, 480, 239, 524, 215, + 502, 207, 0, 501, 374, 474, 483, 362, 352, 206, + 481, 360, 351, 307, 326, 327, 263, 286, 410, 345, + 411, 287, 370, 369, 371, 198, 493, 0, 199, 0, + 452, 494, 525, 221, 222, 224, 0, 262, 266, 274, + 276, 282, 283, 290, 338, 385, 409, 407, 413, 0, + 469, 487, 498, 505, 511, 512, 514, 515, 516, 517, + 518, 520, 519, 373, 289, 448, 306, 343, 0, 0, + 391, 426, 227, 491, 449, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 544, 353, 439, 488, 308, 320, + 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, + 319, 324, 325, 329, 335, 235, 201, 0, 191, 208, + 339, 0, 414, 271, 522, 500, 496, 0, 210, 0, + 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, + 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, + 349, 355, 356, 357, 358, 375, 376, 377, 380, 383, + 384, 387, 389, 390, 393, 397, 401, 402, 403, 404, + 406, 408, 415, 420, 428, 429, 430, 431, 432, 435, + 436, 441, 442, 443, 444, 445, 453, 454, 458, 476, + 478, 490, 504, 509, 434, 281, 485, 510, 0, 348, + 0, 0, 350, 264, 284, 295, 0, 499, 455, 214, + 422, 273, 202, 233, 217, 242, 257, 260, 299, 359, + 366, 395, 400, 278, 254, 231, 419, 228, 438, 461, + 462, 463, 465, 363, 249, 399, 0, 364, 346, 467, + 468, 291, 466, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 382, 0, 0, 0, 0, 0, + 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, + 0, 0, 396, 0, 197, 0, 440, 237, 347, 344, + 473, 265, 256, 252, 236, 292, 354, 394, 460, 388, + 0, 341, 0, 0, 450, 367, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 298, 234, 300, 196, 379, 451, 269, 0, 0, + 0, 0, 188, 189, 190, 0, 1363, 0, 0, 0, + 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, + 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, + 0, 0, 0, 248, 296, 255, 247, 470, 0, 0, + 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, + 0, 368, 240, 0, 0, 0, 0, 506, 0, 0, + 0, 0, 0, 0, 0, 336, 0, 305, 192, 212, + 0, 0, 378, 421, 427, 0, 0, 0, 238, 0, + 425, 392, 489, 220, 267, 418, 398, 423, 405, 270, + 0, 0, 424, 342, 475, 412, 486, 507, 508, 246, + 372, 497, 464, 503, 521, 213, 243, 386, 457, 492, + 447, 365, 471, 472, 304, 446, 277, 195, 340, 513, + 211, 433, 229, 218, 477, 495, 272, 416, 203, 459, + 484, 226, 437, 0, 0, 523, 205, 482, 456, 361, + 301, 302, 204, 0, 417, 251, 275, 241, 381, 479, + 480, 239, 524, 215, 502, 207, 0, 501, 374, 474, + 483, 362, 352, 206, 481, 360, 351, 307, 326, 327, + 263, 286, 410, 345, 411, 287, 370, 369, 371, 198, + 493, 0, 199, 0, 452, 494, 525, 221, 222, 224, + 0, 262, 266, 274, 276, 282, 283, 290, 338, 385, + 409, 407, 413, 0, 469, 487, 498, 505, 511, 512, + 514, 515, 516, 517, 518, 520, 519, 373, 289, 448, + 306, 343, 0, 0, 391, 426, 227, 491, 449, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, - 536, 537, 538, 539, 540, 541, 542, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 543, 352, 438, - 487, 307, 319, 322, 312, 331, 0, 332, 308, 309, - 314, 316, 317, 318, 323, 324, 328, 334, 234, 0, - 191, 207, 338, 0, 413, 270, 521, 499, 495, 0, - 209, 0, 244, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 193, 194, 200, 208, 218, 222, - 229, 243, 258, 260, 267, 279, 284, 287, 292, 293, - 296, 302, 348, 354, 355, 356, 357, 374, 375, 376, - 379, 382, 383, 386, 388, 389, 392, 396, 400, 401, - 402, 403, 405, 407, 414, 419, 427, 428, 429, 430, - 431, 434, 435, 440, 441, 442, 443, 444, 452, 453, - 457, 475, 477, 489, 503, 508, 433, 280, 484, 509, - 0, 347, 0, 0, 349, 263, 283, 294, 0, 498, - 454, 213, 421, 272, 201, 232, 216, 241, 256, 259, - 298, 358, 365, 394, 399, 277, 253, 230, 418, 227, - 437, 460, 461, 462, 464, 362, 248, 398, 0, 363, - 345, 466, 467, 290, 465, 0, 0, 0, 0, 1849, - 0, 0, 0, 0, 0, 0, 381, 0, 0, 0, - 0, 0, 0, 0, 0, 252, 0, 0, 0, 0, - 336, 249, 0, 0, 395, 0, 197, 0, 439, 236, - 346, 343, 472, 264, 255, 251, 235, 291, 353, 393, - 459, 387, 0, 340, 0, 0, 449, 366, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 297, 233, 299, 196, 378, 450, 268, + 536, 537, 538, 539, 540, 541, 542, 543, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 544, 353, + 439, 488, 308, 320, 323, 313, 332, 0, 333, 309, + 310, 315, 317, 318, 319, 324, 325, 329, 335, 235, + 201, 0, 191, 208, 339, 0, 414, 271, 522, 500, + 496, 0, 210, 0, 245, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, + 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, + 293, 294, 297, 303, 349, 355, 356, 357, 358, 375, + 376, 377, 380, 383, 384, 387, 389, 390, 393, 397, + 401, 402, 403, 404, 406, 408, 415, 420, 428, 429, + 430, 431, 432, 435, 436, 441, 442, 443, 444, 445, + 453, 454, 458, 476, 478, 490, 504, 509, 434, 281, + 485, 510, 0, 348, 0, 0, 350, 264, 284, 295, + 0, 499, 455, 214, 422, 273, 202, 233, 217, 242, + 257, 260, 299, 359, 366, 395, 400, 278, 254, 231, + 419, 228, 438, 461, 462, 463, 465, 363, 249, 399, + 0, 364, 346, 467, 468, 291, 466, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 382, 0, + 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, + 0, 0, 337, 250, 0, 0, 396, 0, 197, 0, + 440, 237, 347, 344, 473, 265, 256, 252, 236, 292, + 354, 394, 460, 388, 0, 341, 0, 0, 450, 367, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 298, 234, 300, 196, 379, + 451, 269, 0, 0, 0, 0, 188, 189, 190, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, + 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, + 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, + 247, 470, 0, 0, 0, 0, 0, 0, 0, 216, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1221, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 279, 0, 368, 240, 0, 0, 0, + 0, 506, 0, 0, 0, 0, 0, 0, 0, 336, + 0, 305, 192, 212, 0, 0, 378, 421, 427, 0, + 0, 0, 238, 0, 425, 392, 489, 220, 267, 418, + 398, 423, 405, 270, 0, 0, 424, 342, 475, 412, + 486, 507, 508, 246, 372, 497, 464, 503, 521, 213, + 243, 386, 457, 492, 447, 365, 471, 472, 304, 446, + 277, 195, 340, 513, 211, 433, 229, 218, 477, 495, + 272, 416, 203, 459, 484, 226, 437, 0, 0, 523, + 205, 482, 456, 361, 301, 302, 204, 0, 417, 251, + 275, 241, 381, 479, 480, 239, 524, 215, 502, 207, + 0, 501, 374, 474, 483, 362, 352, 206, 481, 360, + 351, 307, 326, 327, 263, 286, 410, 345, 411, 287, + 370, 369, 371, 198, 493, 0, 199, 0, 452, 494, + 525, 221, 222, 224, 0, 262, 266, 274, 276, 282, + 283, 290, 338, 385, 409, 407, 413, 0, 469, 487, + 498, 505, 511, 512, 514, 515, 516, 517, 518, 520, + 519, 373, 289, 448, 306, 343, 0, 0, 391, 426, + 227, 491, 449, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 526, 527, 528, 529, 530, 531, + 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, + 542, 543, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 544, 353, 439, 488, 308, 320, 323, 313, + 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, + 325, 329, 335, 235, 201, 0, 191, 208, 339, 0, + 414, 271, 522, 500, 496, 0, 210, 0, 245, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, + 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, + 356, 357, 358, 375, 376, 377, 380, 383, 384, 387, + 389, 390, 393, 397, 401, 402, 403, 404, 406, 408, + 415, 420, 428, 429, 430, 431, 432, 435, 436, 441, + 442, 443, 444, 445, 453, 454, 458, 476, 478, 490, + 504, 509, 434, 281, 485, 510, 0, 348, 0, 0, + 350, 264, 284, 295, 0, 499, 455, 214, 422, 273, + 202, 233, 217, 242, 257, 260, 299, 359, 366, 395, + 400, 278, 254, 231, 419, 228, 438, 461, 462, 463, + 465, 363, 249, 399, 0, 364, 346, 467, 468, 291, + 466, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, + 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, + 396, 0, 197, 0, 440, 237, 347, 344, 473, 265, + 256, 252, 236, 292, 354, 394, 460, 388, 0, 341, + 0, 0, 450, 367, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, + 234, 300, 196, 379, 451, 269, 0, 0, 0, 0, + 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, + 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, + 0, 248, 296, 255, 247, 470, 0, 0, 0, 0, + 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 279, 0, 368, + 240, 0, 0, 0, 0, 506, 0, 0, 0, 0, + 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, + 378, 421, 427, 0, 0, 0, 238, 0, 425, 392, + 489, 220, 267, 418, 398, 423, 405, 270, 0, 0, + 424, 342, 475, 412, 486, 507, 508, 246, 372, 497, + 464, 503, 521, 213, 243, 386, 457, 492, 447, 365, + 471, 472, 304, 446, 277, 195, 340, 513, 211, 433, + 229, 218, 477, 495, 272, 416, 203, 459, 484, 226, + 437, 0, 0, 523, 205, 482, 456, 361, 301, 302, + 204, 0, 417, 251, 275, 241, 381, 479, 480, 239, + 524, 215, 502, 207, 0, 501, 374, 474, 483, 362, + 352, 206, 481, 360, 351, 307, 326, 327, 263, 286, + 410, 345, 411, 287, 370, 369, 371, 198, 493, 0, + 199, 0, 452, 494, 525, 221, 222, 224, 0, 262, + 266, 274, 276, 282, 283, 290, 338, 385, 409, 407, + 413, 0, 469, 487, 498, 505, 511, 512, 514, 515, + 516, 517, 518, 520, 519, 373, 289, 448, 306, 343, + 0, 0, 391, 426, 227, 491, 449, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, + 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 544, 353, 439, 488, + 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, + 317, 318, 319, 324, 325, 329, 335, 235, 201, 0, + 191, 208, 339, 1639, 414, 271, 522, 500, 496, 0, + 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, + 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, + 297, 303, 349, 355, 356, 357, 358, 375, 376, 377, + 380, 383, 384, 387, 389, 390, 393, 397, 401, 402, + 403, 404, 406, 408, 415, 420, 428, 429, 430, 431, + 432, 435, 436, 441, 442, 443, 444, 445, 453, 454, + 458, 476, 478, 490, 504, 509, 434, 281, 485, 510, + 0, 348, 0, 0, 350, 264, 284, 295, 0, 499, + 455, 214, 422, 273, 202, 233, 217, 242, 257, 260, + 299, 359, 366, 395, 400, 278, 254, 231, 419, 228, + 438, 461, 462, 463, 465, 363, 249, 399, 0, 364, + 346, 467, 468, 291, 466, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 382, 0, 1509, 0, + 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, + 337, 250, 0, 0, 396, 0, 197, 0, 440, 237, + 347, 344, 473, 265, 256, 252, 236, 292, 354, 394, + 460, 388, 0, 341, 0, 0, 450, 367, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 298, 234, 300, 196, 379, 451, 269, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 224, 0, 231, - 321, 330, 329, 310, 311, 313, 315, 320, 327, 333, - 0, 0, 0, 0, 0, 247, 295, 254, 246, 469, - 0, 0, 0, 0, 0, 0, 0, 215, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, + 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, + 0, 0, 0, 0, 0, 248, 296, 255, 247, 470, + 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4506,602 +4749,301 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 278, 0, 367, 239, 0, 0, 0, 0, 505, - 0, 0, 0, 0, 0, 0, 0, 335, 0, 304, - 192, 211, 0, 0, 377, 420, 426, 0, 0, 0, - 237, 0, 424, 391, 488, 219, 266, 417, 397, 422, - 404, 269, 0, 0, 423, 341, 474, 411, 485, 506, - 507, 245, 371, 496, 463, 502, 520, 212, 242, 385, - 456, 491, 446, 364, 470, 471, 303, 445, 276, 195, - 339, 512, 210, 432, 228, 217, 476, 494, 271, 415, - 202, 458, 483, 225, 436, 0, 0, 522, 204, 481, - 455, 360, 300, 301, 203, 0, 416, 250, 274, 240, - 380, 478, 479, 238, 523, 214, 501, 206, 0, 500, - 373, 473, 482, 361, 351, 205, 480, 359, 350, 306, - 325, 326, 262, 285, 409, 344, 410, 286, 369, 368, - 370, 198, 492, 0, 199, 0, 451, 493, 524, 220, - 221, 223, 0, 261, 265, 273, 275, 281, 282, 289, - 337, 384, 408, 406, 412, 0, 468, 486, 497, 504, - 510, 511, 513, 514, 515, 516, 517, 519, 518, 372, - 288, 447, 305, 342, 0, 0, 390, 425, 226, 490, - 448, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 525, 526, 527, 528, 529, 530, 531, 532, - 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 0, 279, 0, 368, 240, 0, 0, 0, 0, 506, + 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, + 192, 212, 0, 0, 378, 421, 427, 0, 0, 0, + 238, 0, 425, 392, 489, 220, 267, 418, 398, 423, + 405, 270, 0, 0, 424, 342, 475, 412, 486, 507, + 508, 246, 372, 497, 464, 503, 521, 213, 243, 386, + 457, 492, 447, 365, 471, 472, 304, 446, 277, 195, + 340, 513, 211, 433, 229, 218, 477, 495, 272, 416, + 203, 459, 484, 226, 437, 0, 0, 523, 205, 482, + 456, 361, 301, 302, 204, 0, 417, 251, 275, 241, + 381, 479, 480, 239, 524, 215, 502, 207, 0, 501, + 374, 474, 483, 362, 352, 206, 481, 360, 351, 307, + 326, 327, 263, 286, 410, 345, 411, 287, 370, 369, + 371, 198, 493, 0, 199, 0, 452, 494, 525, 221, + 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, + 338, 385, 409, 407, 413, 0, 469, 487, 498, 505, + 511, 512, 514, 515, 516, 517, 518, 520, 519, 373, + 289, 448, 306, 343, 0, 0, 391, 426, 227, 491, + 449, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 543, 352, 438, 487, 307, 319, 322, 312, 331, 0, - 332, 308, 309, 314, 316, 317, 318, 323, 324, 328, - 334, 234, 0, 191, 207, 338, 0, 413, 270, 521, - 499, 495, 0, 209, 0, 244, 0, 0, 0, 0, + 544, 353, 439, 488, 308, 320, 323, 313, 332, 0, + 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, + 335, 235, 201, 0, 191, 208, 339, 0, 414, 271, + 522, 500, 496, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, - 208, 218, 222, 229, 243, 258, 260, 267, 279, 284, - 287, 292, 293, 296, 302, 348, 354, 355, 356, 357, - 374, 375, 376, 379, 382, 383, 386, 388, 389, 392, - 396, 400, 401, 402, 403, 405, 407, 414, 419, 427, - 428, 429, 430, 431, 434, 435, 440, 441, 442, 443, - 444, 452, 453, 457, 475, 477, 489, 503, 508, 433, - 280, 484, 509, 0, 347, 0, 0, 349, 263, 283, - 294, 0, 498, 454, 213, 421, 272, 201, 232, 216, - 241, 256, 259, 298, 358, 365, 394, 399, 277, 253, - 230, 418, 227, 437, 460, 461, 462, 464, 362, 248, - 398, 0, 363, 345, 466, 467, 290, 465, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, - 0, 0, 0, 0, 0, 0, 0, 0, 252, 0, - 0, 0, 0, 336, 249, 0, 0, 395, 0, 197, - 0, 439, 236, 346, 343, 472, 264, 255, 251, 235, - 291, 353, 393, 459, 387, 0, 340, 0, 0, 449, - 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 297, 233, 299, 196, - 378, 450, 268, 0, 0, 0, 0, 188, 189, 190, - 0, 1360, 0, 0, 0, 0, 0, 0, 0, 0, - 224, 0, 231, 321, 330, 329, 310, 311, 313, 315, - 320, 327, 333, 0, 0, 0, 0, 0, 247, 295, - 254, 246, 469, 0, 0, 0, 0, 0, 0, 0, - 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 257, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 278, 0, 367, 239, 0, 0, - 0, 0, 505, 0, 0, 0, 0, 0, 0, 0, - 335, 0, 304, 192, 211, 0, 0, 377, 420, 426, - 0, 0, 0, 237, 0, 424, 391, 488, 219, 266, - 417, 397, 422, 404, 269, 0, 0, 423, 341, 474, - 411, 485, 506, 507, 245, 371, 496, 463, 502, 520, - 212, 242, 385, 456, 491, 446, 364, 470, 471, 303, - 445, 276, 195, 339, 512, 210, 432, 228, 217, 476, - 494, 271, 415, 202, 458, 483, 225, 436, 0, 0, - 522, 204, 481, 455, 360, 300, 301, 203, 0, 416, - 250, 274, 240, 380, 478, 479, 238, 523, 214, 501, - 206, 0, 500, 373, 473, 482, 361, 351, 205, 480, - 359, 350, 306, 325, 326, 262, 285, 409, 344, 410, - 286, 369, 368, 370, 198, 492, 0, 199, 0, 451, - 493, 524, 220, 221, 223, 0, 261, 265, 273, 275, - 281, 282, 289, 337, 384, 408, 406, 412, 0, 468, - 486, 497, 504, 510, 511, 513, 514, 515, 516, 517, - 519, 518, 372, 288, 447, 305, 342, 0, 0, 390, - 425, 226, 490, 448, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 525, 526, 527, 528, 529, + 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, + 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, + 285, 288, 293, 294, 297, 303, 349, 355, 356, 357, + 358, 375, 376, 377, 380, 383, 384, 387, 389, 390, + 393, 397, 401, 402, 403, 404, 406, 408, 415, 420, + 428, 429, 430, 431, 432, 435, 436, 441, 442, 443, + 444, 445, 453, 454, 458, 476, 478, 490, 504, 509, + 434, 281, 485, 510, 0, 348, 0, 0, 350, 264, + 284, 295, 0, 499, 455, 214, 422, 273, 202, 233, + 217, 242, 257, 260, 299, 359, 366, 395, 400, 278, + 254, 231, 419, 228, 438, 461, 462, 463, 465, 363, + 249, 399, 0, 364, 346, 467, 468, 291, 466, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 382, 0, 1507, 0, 0, 0, 0, 0, 0, 253, + 0, 0, 0, 0, 337, 250, 0, 0, 396, 0, + 197, 0, 440, 237, 347, 344, 473, 265, 256, 252, + 236, 292, 354, 394, 460, 388, 0, 341, 0, 0, + 450, 367, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, + 196, 379, 451, 269, 0, 0, 0, 0, 188, 189, + 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, + 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, + 296, 255, 247, 470, 0, 0, 0, 0, 0, 0, + 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 279, 0, 368, 240, 0, + 0, 0, 0, 506, 0, 0, 0, 0, 0, 0, + 0, 336, 0, 305, 192, 212, 0, 0, 378, 421, + 427, 0, 0, 0, 238, 0, 425, 392, 489, 220, + 267, 418, 398, 423, 405, 270, 0, 0, 424, 342, + 475, 412, 486, 507, 508, 246, 372, 497, 464, 503, + 521, 213, 243, 386, 457, 492, 447, 365, 471, 472, + 304, 446, 277, 195, 340, 513, 211, 433, 229, 218, + 477, 495, 272, 416, 203, 459, 484, 226, 437, 0, + 0, 523, 205, 482, 456, 361, 301, 302, 204, 0, + 417, 251, 275, 241, 381, 479, 480, 239, 524, 215, + 502, 207, 0, 501, 374, 474, 483, 362, 352, 206, + 481, 360, 351, 307, 326, 327, 263, 286, 410, 345, + 411, 287, 370, 369, 371, 198, 493, 0, 199, 0, + 452, 494, 525, 221, 222, 224, 0, 262, 266, 274, + 276, 282, 283, 290, 338, 385, 409, 407, 413, 0, + 469, 487, 498, 505, 511, 512, 514, 515, 516, 517, + 518, 520, 519, 373, 289, 448, 306, 343, 0, 0, + 391, 426, 227, 491, 449, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 543, 352, 438, 487, 307, 319, 322, - 312, 331, 0, 332, 308, 309, 314, 316, 317, 318, - 323, 324, 328, 334, 234, 0, 191, 207, 338, 0, - 413, 270, 521, 499, 495, 0, 209, 0, 244, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 193, 194, 200, 208, 218, 222, 229, 243, 258, 260, - 267, 279, 284, 287, 292, 293, 296, 302, 348, 354, - 355, 356, 357, 374, 375, 376, 379, 382, 383, 386, - 388, 389, 392, 396, 400, 401, 402, 403, 405, 407, - 414, 419, 427, 428, 429, 430, 431, 434, 435, 440, - 441, 442, 443, 444, 452, 453, 457, 475, 477, 489, - 503, 508, 433, 280, 484, 509, 0, 347, 0, 0, - 349, 263, 283, 294, 0, 498, 454, 213, 421, 272, - 201, 232, 216, 241, 256, 259, 298, 358, 365, 394, - 399, 277, 253, 230, 418, 227, 437, 460, 461, 462, - 464, 362, 248, 398, 0, 363, 345, 466, 467, 290, - 465, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 381, 0, 0, 0, 0, 0, 0, 0, - 0, 252, 0, 0, 0, 0, 336, 249, 0, 0, - 395, 0, 197, 0, 439, 236, 346, 343, 472, 264, - 255, 251, 235, 291, 353, 393, 459, 387, 0, 340, - 0, 0, 449, 366, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, - 233, 299, 196, 378, 450, 268, 0, 0, 0, 0, - 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 224, 0, 231, 321, 330, 329, 310, - 311, 313, 315, 320, 327, 333, 0, 0, 0, 0, - 0, 247, 295, 254, 246, 469, 0, 0, 0, 0, - 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 257, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1219, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 278, 0, 367, - 239, 0, 0, 0, 0, 505, 0, 0, 0, 0, - 0, 0, 0, 335, 0, 304, 192, 211, 0, 0, - 377, 420, 426, 0, 0, 0, 237, 0, 424, 391, - 488, 219, 266, 417, 397, 422, 404, 269, 0, 0, - 423, 341, 474, 411, 485, 506, 507, 245, 371, 496, - 463, 502, 520, 212, 242, 385, 456, 491, 446, 364, - 470, 471, 303, 445, 276, 195, 339, 512, 210, 432, - 228, 217, 476, 494, 271, 415, 202, 458, 483, 225, - 436, 0, 0, 522, 204, 481, 455, 360, 300, 301, - 203, 0, 416, 250, 274, 240, 380, 478, 479, 238, - 523, 214, 501, 206, 0, 500, 373, 473, 482, 361, - 351, 205, 480, 359, 350, 306, 325, 326, 262, 285, - 409, 344, 410, 286, 369, 368, 370, 198, 492, 0, - 199, 0, 451, 493, 524, 220, 221, 223, 0, 261, - 265, 273, 275, 281, 282, 289, 337, 384, 408, 406, - 412, 0, 468, 486, 497, 504, 510, 511, 513, 514, - 515, 516, 517, 519, 518, 372, 288, 447, 305, 342, - 0, 0, 390, 425, 226, 490, 448, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 525, 526, - 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, - 537, 538, 539, 540, 541, 542, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 543, 352, 438, 487, - 307, 319, 322, 312, 331, 0, 332, 308, 309, 314, - 316, 317, 318, 323, 324, 328, 334, 234, 0, 191, - 207, 338, 0, 413, 270, 521, 499, 495, 0, 209, - 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 193, 194, 200, 208, 218, 222, 229, - 243, 258, 260, 267, 279, 284, 287, 292, 293, 296, - 302, 348, 354, 355, 356, 357, 374, 375, 376, 379, - 382, 383, 386, 388, 389, 392, 396, 400, 401, 402, - 403, 405, 407, 414, 419, 427, 428, 429, 430, 431, - 434, 435, 440, 441, 442, 443, 444, 452, 453, 457, - 475, 477, 489, 503, 508, 433, 280, 484, 509, 0, - 347, 0, 0, 349, 263, 283, 294, 0, 498, 454, - 213, 421, 272, 201, 232, 216, 241, 256, 259, 298, - 358, 365, 394, 399, 277, 253, 230, 418, 227, 437, - 460, 461, 462, 464, 362, 248, 398, 0, 363, 345, - 466, 467, 290, 465, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 381, 0, 0, 0, 0, - 0, 0, 0, 0, 252, 0, 0, 0, 0, 336, - 249, 0, 0, 395, 0, 197, 0, 439, 236, 346, - 343, 472, 264, 255, 251, 235, 291, 353, 393, 459, - 387, 0, 340, 0, 0, 449, 366, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 297, 233, 299, 196, 378, 450, 268, 0, - 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 224, 0, 231, 321, - 330, 329, 310, 311, 313, 315, 320, 327, 333, 0, - 0, 0, 0, 0, 247, 295, 254, 246, 469, 0, - 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 278, 0, 367, 239, 0, 0, 0, 0, 505, 0, - 0, 0, 0, 0, 0, 0, 335, 0, 304, 192, - 211, 0, 0, 377, 420, 426, 0, 0, 0, 237, - 0, 424, 391, 488, 219, 266, 417, 397, 422, 404, - 269, 0, 0, 423, 341, 474, 411, 485, 506, 507, - 245, 371, 496, 463, 502, 520, 212, 242, 385, 456, - 491, 446, 364, 470, 471, 303, 445, 276, 195, 339, - 512, 210, 432, 228, 217, 476, 494, 271, 415, 202, - 458, 483, 225, 436, 0, 0, 522, 204, 481, 455, - 360, 300, 301, 203, 0, 416, 250, 274, 240, 380, - 478, 479, 238, 523, 214, 501, 206, 0, 500, 373, - 473, 482, 361, 351, 205, 480, 359, 350, 306, 325, - 326, 262, 285, 409, 344, 410, 286, 369, 368, 370, - 198, 492, 0, 199, 0, 451, 493, 524, 220, 221, - 223, 0, 261, 265, 273, 275, 281, 282, 289, 337, - 384, 408, 406, 412, 0, 468, 486, 497, 504, 510, - 511, 513, 514, 515, 516, 517, 519, 518, 372, 288, - 447, 305, 342, 0, 0, 390, 425, 226, 490, 448, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 525, 526, 527, 528, 529, 530, 531, 532, 533, - 534, 535, 536, 537, 538, 539, 540, 541, 542, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 543, - 352, 438, 487, 307, 319, 322, 312, 331, 0, 332, - 308, 309, 314, 316, 317, 318, 323, 324, 328, 334, - 234, 0, 191, 207, 338, 1636, 413, 270, 521, 499, - 495, 0, 209, 0, 244, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 193, 194, 200, 208, - 218, 222, 229, 243, 258, 260, 267, 279, 284, 287, - 292, 293, 296, 302, 348, 354, 355, 356, 357, 374, - 375, 376, 379, 382, 383, 386, 388, 389, 392, 396, - 400, 401, 402, 403, 405, 407, 414, 419, 427, 428, - 429, 430, 431, 434, 435, 440, 441, 442, 443, 444, - 452, 453, 457, 475, 477, 489, 503, 508, 433, 280, - 484, 509, 0, 347, 0, 0, 349, 263, 283, 294, - 0, 498, 454, 213, 421, 272, 201, 232, 216, 241, - 256, 259, 298, 358, 365, 394, 399, 277, 253, 230, - 418, 227, 437, 460, 461, 462, 464, 362, 248, 398, - 0, 363, 345, 466, 467, 290, 465, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, - 1506, 0, 0, 0, 0, 0, 0, 252, 0, 0, - 0, 0, 336, 249, 0, 0, 395, 0, 197, 0, - 439, 236, 346, 343, 472, 264, 255, 251, 235, 291, - 353, 393, 459, 387, 0, 340, 0, 0, 449, 366, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 297, 233, 299, 196, 378, - 450, 268, 0, 0, 0, 0, 188, 189, 190, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, - 0, 231, 321, 330, 329, 310, 311, 313, 315, 320, - 327, 333, 0, 0, 0, 0, 0, 247, 295, 254, - 246, 469, 0, 0, 0, 0, 0, 0, 0, 215, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 257, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 278, 0, 367, 239, 0, 0, 0, - 0, 505, 0, 0, 0, 0, 0, 0, 0, 335, - 0, 304, 192, 211, 0, 0, 377, 420, 426, 0, - 0, 0, 237, 0, 424, 391, 488, 219, 266, 417, - 397, 422, 404, 269, 0, 0, 423, 341, 474, 411, - 485, 506, 507, 245, 371, 496, 463, 502, 520, 212, - 242, 385, 456, 491, 446, 364, 470, 471, 303, 445, - 276, 195, 339, 512, 210, 432, 228, 217, 476, 494, - 271, 415, 202, 458, 483, 225, 436, 0, 0, 522, - 204, 481, 455, 360, 300, 301, 203, 0, 416, 250, - 274, 240, 380, 478, 479, 238, 523, 214, 501, 206, - 0, 500, 373, 473, 482, 361, 351, 205, 480, 359, - 350, 306, 325, 326, 262, 285, 409, 344, 410, 286, - 369, 368, 370, 198, 492, 0, 199, 0, 451, 493, - 524, 220, 221, 223, 0, 261, 265, 273, 275, 281, - 282, 289, 337, 384, 408, 406, 412, 0, 468, 486, - 497, 504, 510, 511, 513, 514, 515, 516, 517, 519, - 518, 372, 288, 447, 305, 342, 0, 0, 390, 425, - 226, 490, 448, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 525, 526, 527, 528, 529, 530, - 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, - 541, 542, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 543, 352, 438, 487, 307, 319, 322, 312, - 331, 0, 332, 308, 309, 314, 316, 317, 318, 323, - 324, 328, 334, 234, 0, 191, 207, 338, 0, 413, - 270, 521, 499, 495, 0, 209, 0, 244, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 194, 200, 208, 218, 222, 229, 243, 258, 260, 267, - 279, 284, 287, 292, 293, 296, 302, 348, 354, 355, - 356, 357, 374, 375, 376, 379, 382, 383, 386, 388, - 389, 392, 396, 400, 401, 402, 403, 405, 407, 414, - 419, 427, 428, 429, 430, 431, 434, 435, 440, 441, - 442, 443, 444, 452, 453, 457, 475, 477, 489, 503, - 508, 433, 280, 484, 509, 0, 347, 0, 0, 349, - 263, 283, 294, 0, 498, 454, 213, 421, 272, 201, - 232, 216, 241, 256, 259, 298, 358, 365, 394, 399, - 277, 253, 230, 418, 227, 437, 460, 461, 462, 464, - 362, 248, 398, 0, 363, 345, 466, 467, 290, 465, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 381, 0, 1504, 0, 0, 0, 0, 0, 0, - 252, 0, 0, 0, 0, 336, 249, 0, 0, 395, - 0, 197, 0, 439, 236, 346, 343, 472, 264, 255, - 251, 235, 291, 353, 393, 459, 387, 0, 340, 0, - 0, 449, 366, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 297, 233, - 299, 196, 378, 450, 268, 0, 0, 0, 0, 188, - 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 224, 0, 231, 321, 330, 329, 310, 311, - 313, 315, 320, 327, 333, 0, 0, 0, 0, 0, - 247, 295, 254, 246, 469, 0, 0, 0, 0, 0, - 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 257, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 278, 0, 367, 239, - 0, 0, 0, 0, 505, 0, 0, 0, 0, 0, - 0, 0, 335, 0, 304, 192, 211, 0, 0, 377, - 420, 426, 0, 0, 0, 237, 0, 424, 391, 488, - 219, 266, 417, 397, 422, 404, 269, 0, 0, 423, - 341, 474, 411, 485, 506, 507, 245, 371, 496, 463, - 502, 520, 212, 242, 385, 456, 491, 446, 364, 470, - 471, 303, 445, 276, 195, 339, 512, 210, 432, 228, - 217, 476, 494, 271, 415, 202, 458, 483, 225, 436, - 0, 0, 522, 204, 481, 455, 360, 300, 301, 203, - 0, 416, 250, 274, 240, 380, 478, 479, 238, 523, - 214, 501, 206, 0, 500, 373, 473, 482, 361, 351, - 205, 480, 359, 350, 306, 325, 326, 262, 285, 409, - 344, 410, 286, 369, 368, 370, 198, 492, 0, 199, - 0, 451, 493, 524, 220, 221, 223, 0, 261, 265, - 273, 275, 281, 282, 289, 337, 384, 408, 406, 412, - 0, 468, 486, 497, 504, 510, 511, 513, 514, 515, - 516, 517, 519, 518, 372, 288, 447, 305, 342, 0, - 0, 390, 425, 226, 490, 448, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 525, 526, 527, - 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, - 538, 539, 540, 541, 542, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 543, 352, 438, 487, 307, - 319, 322, 312, 331, 0, 332, 308, 309, 314, 316, - 317, 318, 323, 324, 328, 334, 234, 0, 191, 207, - 338, 0, 413, 270, 521, 499, 495, 0, 209, 0, - 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 193, 194, 200, 208, 218, 222, 229, 243, - 258, 260, 267, 279, 284, 287, 292, 293, 296, 302, - 348, 354, 355, 356, 357, 374, 375, 376, 379, 382, - 383, 386, 388, 389, 392, 396, 400, 401, 402, 403, - 405, 407, 414, 419, 427, 428, 429, 430, 431, 434, - 435, 440, 441, 442, 443, 444, 452, 453, 457, 475, - 477, 489, 503, 508, 433, 280, 484, 509, 0, 347, - 0, 0, 349, 263, 283, 294, 0, 498, 454, 213, - 421, 272, 201, 232, 216, 241, 256, 259, 298, 358, - 365, 394, 399, 277, 253, 230, 418, 227, 437, 460, - 461, 462, 464, 362, 248, 398, 0, 363, 345, 466, - 467, 290, 465, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 381, 0, 1502, 0, 0, 0, - 0, 0, 0, 252, 0, 0, 0, 0, 336, 249, - 0, 0, 395, 0, 197, 0, 439, 236, 346, 343, - 472, 264, 255, 251, 235, 291, 353, 393, 459, 387, - 0, 340, 0, 0, 449, 366, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 297, 233, 299, 196, 378, 450, 268, 0, 0, + 540, 541, 542, 543, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 544, 353, 439, 488, 308, 320, + 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, + 319, 324, 325, 329, 335, 235, 201, 0, 191, 208, + 339, 0, 414, 271, 522, 500, 496, 0, 210, 0, + 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, + 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, + 349, 355, 356, 357, 358, 375, 376, 377, 380, 383, + 384, 387, 389, 390, 393, 397, 401, 402, 403, 404, + 406, 408, 415, 420, 428, 429, 430, 431, 432, 435, + 436, 441, 442, 443, 444, 445, 453, 454, 458, 476, + 478, 490, 504, 509, 434, 281, 485, 510, 0, 348, + 0, 0, 350, 264, 284, 295, 0, 499, 455, 214, + 422, 273, 202, 233, 217, 242, 257, 260, 299, 359, + 366, 395, 400, 278, 254, 231, 419, 228, 438, 461, + 462, 463, 465, 363, 249, 399, 0, 364, 346, 467, + 468, 291, 466, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 382, 0, 1505, 0, 0, 0, + 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, + 0, 0, 396, 0, 197, 0, 440, 237, 347, 344, + 473, 265, 256, 252, 236, 292, 354, 394, 460, 388, + 0, 341, 0, 0, 450, 367, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 298, 234, 300, 196, 379, 451, 269, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 224, 0, 231, 321, 330, - 329, 310, 311, 313, 315, 320, 327, 333, 0, 0, - 0, 0, 0, 247, 295, 254, 246, 469, 0, 0, - 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, - 0, 367, 239, 0, 0, 0, 0, 505, 0, 0, - 0, 0, 0, 0, 0, 335, 0, 304, 192, 211, - 0, 0, 377, 420, 426, 0, 0, 0, 237, 0, - 424, 391, 488, 219, 266, 417, 397, 422, 404, 269, - 0, 0, 423, 341, 474, 411, 485, 506, 507, 245, - 371, 496, 463, 502, 520, 212, 242, 385, 456, 491, - 446, 364, 470, 471, 303, 445, 276, 195, 339, 512, - 210, 432, 228, 217, 476, 494, 271, 415, 202, 458, - 483, 225, 436, 0, 0, 522, 204, 481, 455, 360, - 300, 301, 203, 0, 416, 250, 274, 240, 380, 478, - 479, 238, 523, 214, 501, 206, 0, 500, 373, 473, - 482, 361, 351, 205, 480, 359, 350, 306, 325, 326, - 262, 285, 409, 344, 410, 286, 369, 368, 370, 198, - 492, 0, 199, 0, 451, 493, 524, 220, 221, 223, - 0, 261, 265, 273, 275, 281, 282, 289, 337, 384, - 408, 406, 412, 0, 468, 486, 497, 504, 510, 511, - 513, 514, 515, 516, 517, 519, 518, 372, 288, 447, - 305, 342, 0, 0, 390, 425, 226, 490, 448, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 543, 352, - 438, 487, 307, 319, 322, 312, 331, 0, 332, 308, - 309, 314, 316, 317, 318, 323, 324, 328, 334, 234, - 0, 191, 207, 338, 0, 413, 270, 521, 499, 495, - 0, 209, 0, 244, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 193, 194, 200, 208, 218, - 222, 229, 243, 258, 260, 267, 279, 284, 287, 292, - 293, 296, 302, 348, 354, 355, 356, 357, 374, 375, - 376, 379, 382, 383, 386, 388, 389, 392, 396, 400, - 401, 402, 403, 405, 407, 414, 419, 427, 428, 429, - 430, 431, 434, 435, 440, 441, 442, 443, 444, 452, - 453, 457, 475, 477, 489, 503, 508, 433, 280, 484, - 509, 0, 347, 0, 0, 349, 263, 283, 294, 0, - 498, 454, 213, 421, 272, 201, 232, 216, 241, 256, - 259, 298, 358, 365, 394, 399, 277, 253, 230, 418, - 227, 437, 460, 461, 462, 464, 362, 248, 398, 0, - 363, 345, 466, 467, 290, 465, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 381, 0, 1500, - 0, 0, 0, 0, 0, 0, 252, 0, 0, 0, - 0, 336, 249, 0, 0, 395, 0, 197, 0, 439, - 236, 346, 343, 472, 264, 255, 251, 235, 291, 353, - 393, 459, 387, 0, 340, 0, 0, 449, 366, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 297, 233, 299, 196, 378, 450, - 268, 0, 0, 0, 0, 188, 189, 190, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, - 231, 321, 330, 329, 310, 311, 313, 315, 320, 327, - 333, 0, 0, 0, 0, 0, 247, 295, 254, 246, - 469, 0, 0, 0, 0, 0, 0, 0, 215, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 278, 0, 367, 239, 0, 0, 0, 0, - 505, 0, 0, 0, 0, 0, 0, 0, 335, 0, - 304, 192, 211, 0, 0, 377, 420, 426, 0, 0, - 0, 237, 0, 424, 391, 488, 219, 266, 417, 397, - 422, 404, 269, 0, 0, 423, 341, 474, 411, 485, - 506, 507, 245, 371, 496, 463, 502, 520, 212, 242, - 385, 456, 491, 446, 364, 470, 471, 303, 445, 276, - 195, 339, 512, 210, 432, 228, 217, 476, 494, 271, - 415, 202, 458, 483, 225, 436, 0, 0, 522, 204, - 481, 455, 360, 300, 301, 203, 0, 416, 250, 274, - 240, 380, 478, 479, 238, 523, 214, 501, 206, 0, - 500, 373, 473, 482, 361, 351, 205, 480, 359, 350, - 306, 325, 326, 262, 285, 409, 344, 410, 286, 369, - 368, 370, 198, 492, 0, 199, 0, 451, 493, 524, - 220, 221, 223, 0, 261, 265, 273, 275, 281, 282, - 289, 337, 384, 408, 406, 412, 0, 468, 486, 497, - 504, 510, 511, 513, 514, 515, 516, 517, 519, 518, - 372, 288, 447, 305, 342, 0, 0, 390, 425, 226, - 490, 448, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 525, 526, 527, 528, 529, 530, 531, - 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, - 542, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 543, 352, 438, 487, 307, 319, 322, 312, 331, - 0, 332, 308, 309, 314, 316, 317, 318, 323, 324, - 328, 334, 234, 0, 191, 207, 338, 0, 413, 270, - 521, 499, 495, 0, 209, 0, 244, 0, 0, 0, + 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, + 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, + 0, 0, 0, 248, 296, 255, 247, 470, 0, 0, + 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, + 0, 368, 240, 0, 0, 0, 0, 506, 0, 0, + 0, 0, 0, 0, 0, 336, 0, 305, 192, 212, + 0, 0, 378, 421, 427, 0, 0, 0, 238, 0, + 425, 392, 489, 220, 267, 418, 398, 423, 405, 270, + 0, 0, 424, 342, 475, 412, 486, 507, 508, 246, + 372, 497, 464, 503, 521, 213, 243, 386, 457, 492, + 447, 365, 471, 472, 304, 446, 277, 195, 340, 513, + 211, 433, 229, 218, 477, 495, 272, 416, 203, 459, + 484, 226, 437, 0, 0, 523, 205, 482, 456, 361, + 301, 302, 204, 0, 417, 251, 275, 241, 381, 479, + 480, 239, 524, 215, 502, 207, 0, 501, 374, 474, + 483, 362, 352, 206, 481, 360, 351, 307, 326, 327, + 263, 286, 410, 345, 411, 287, 370, 369, 371, 198, + 493, 0, 199, 0, 452, 494, 525, 221, 222, 224, + 0, 262, 266, 274, 276, 282, 283, 290, 338, 385, + 409, 407, 413, 0, 469, 487, 498, 505, 511, 512, + 514, 515, 516, 517, 518, 520, 519, 373, 289, 448, + 306, 343, 0, 0, 391, 426, 227, 491, 449, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, - 200, 208, 218, 222, 229, 243, 258, 260, 267, 279, - 284, 287, 292, 293, 296, 302, 348, 354, 355, 356, - 357, 374, 375, 376, 379, 382, 383, 386, 388, 389, - 392, 396, 400, 401, 402, 403, 405, 407, 414, 419, - 427, 428, 429, 430, 431, 434, 435, 440, 441, 442, - 443, 444, 452, 453, 457, 475, 477, 489, 503, 508, - 433, 280, 484, 509, 0, 347, 0, 0, 349, 263, - 283, 294, 0, 498, 454, 213, 421, 272, 201, 232, - 216, 241, 256, 259, 298, 358, 365, 394, 399, 277, - 253, 230, 418, 227, 437, 460, 461, 462, 464, 362, - 248, 398, 0, 363, 345, 466, 467, 290, 465, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 381, 0, 1498, 0, 0, 0, 0, 0, 0, 252, - 0, 0, 0, 0, 336, 249, 0, 0, 395, 0, - 197, 0, 439, 236, 346, 343, 472, 264, 255, 251, - 235, 291, 353, 393, 459, 387, 0, 340, 0, 0, - 449, 366, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 297, 233, 299, - 196, 378, 450, 268, 0, 0, 0, 0, 188, 189, - 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 224, 0, 231, 321, 330, 329, 310, 311, 313, - 315, 320, 327, 333, 0, 0, 0, 0, 0, 247, - 295, 254, 246, 469, 0, 0, 0, 0, 0, 0, - 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 257, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 278, 0, 367, 239, 0, - 0, 0, 0, 505, 0, 0, 0, 0, 0, 0, - 0, 335, 0, 304, 192, 211, 0, 0, 377, 420, - 426, 0, 0, 0, 237, 0, 424, 391, 488, 219, - 266, 417, 397, 422, 404, 269, 0, 0, 423, 341, - 474, 411, 485, 506, 507, 245, 371, 496, 463, 502, - 520, 212, 242, 385, 456, 491, 446, 364, 470, 471, - 303, 445, 276, 195, 339, 512, 210, 432, 228, 217, - 476, 494, 271, 415, 202, 458, 483, 225, 436, 0, - 0, 522, 204, 481, 455, 360, 300, 301, 203, 0, - 416, 250, 274, 240, 380, 478, 479, 238, 523, 214, - 501, 206, 0, 500, 373, 473, 482, 361, 351, 205, - 480, 359, 350, 306, 325, 326, 262, 285, 409, 344, - 410, 286, 369, 368, 370, 198, 492, 0, 199, 0, - 451, 493, 524, 220, 221, 223, 0, 261, 265, 273, - 275, 281, 282, 289, 337, 384, 408, 406, 412, 0, - 468, 486, 497, 504, 510, 511, 513, 514, 515, 516, - 517, 519, 518, 372, 288, 447, 305, 342, 0, 0, - 390, 425, 226, 490, 448, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 525, 526, 527, 528, - 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, - 539, 540, 541, 542, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 543, 352, 438, 487, 307, 319, - 322, 312, 331, 0, 332, 308, 309, 314, 316, 317, - 318, 323, 324, 328, 334, 234, 0, 191, 207, 338, - 0, 413, 270, 521, 499, 495, 0, 209, 0, 244, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 193, 194, 200, 208, 218, 222, 229, 243, 258, - 260, 267, 279, 284, 287, 292, 293, 296, 302, 348, - 354, 355, 356, 357, 374, 375, 376, 379, 382, 383, - 386, 388, 389, 392, 396, 400, 401, 402, 403, 405, - 407, 414, 419, 427, 428, 429, 430, 431, 434, 435, - 440, 441, 442, 443, 444, 452, 453, 457, 475, 477, - 489, 503, 508, 433, 280, 484, 509, 0, 347, 0, - 0, 349, 263, 283, 294, 0, 498, 454, 213, 421, - 272, 201, 232, 216, 241, 256, 259, 298, 358, 365, - 394, 399, 277, 253, 230, 418, 227, 437, 460, 461, - 462, 464, 362, 248, 398, 0, 363, 345, 466, 467, - 290, 465, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 381, 0, 1494, 0, 0, 0, 0, - 0, 0, 252, 0, 0, 0, 0, 336, 249, 0, - 0, 395, 0, 197, 0, 439, 236, 346, 343, 472, - 264, 255, 251, 235, 291, 353, 393, 459, 387, 0, - 340, 0, 0, 449, 366, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 297, 233, 299, 196, 378, 450, 268, 0, 0, 0, - 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 224, 0, 231, 321, 330, 329, - 310, 311, 313, 315, 320, 327, 333, 0, 0, 0, - 0, 0, 247, 295, 254, 246, 469, 0, 0, 0, - 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 257, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 278, 0, - 367, 239, 0, 0, 0, 0, 505, 0, 0, 0, - 0, 0, 0, 0, 335, 0, 304, 192, 211, 0, - 0, 377, 420, 426, 0, 0, 0, 237, 0, 424, - 391, 488, 219, 266, 417, 397, 422, 404, 269, 0, - 0, 423, 341, 474, 411, 485, 506, 507, 245, 371, - 496, 463, 502, 520, 212, 242, 385, 456, 491, 446, - 364, 470, 471, 303, 445, 276, 195, 339, 512, 210, - 432, 228, 217, 476, 494, 271, 415, 202, 458, 483, - 225, 436, 0, 0, 522, 204, 481, 455, 360, 300, - 301, 203, 0, 416, 250, 274, 240, 380, 478, 479, - 238, 523, 214, 501, 206, 0, 500, 373, 473, 482, - 361, 351, 205, 480, 359, 350, 306, 325, 326, 262, - 285, 409, 344, 410, 286, 369, 368, 370, 198, 492, - 0, 199, 0, 451, 493, 524, 220, 221, 223, 0, - 261, 265, 273, 275, 281, 282, 289, 337, 384, 408, - 406, 412, 0, 468, 486, 497, 504, 510, 511, 513, - 514, 515, 516, 517, 519, 518, 372, 288, 447, 305, - 342, 0, 0, 390, 425, 226, 490, 448, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, - 536, 537, 538, 539, 540, 541, 542, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 543, 352, 438, - 487, 307, 319, 322, 312, 331, 0, 332, 308, 309, - 314, 316, 317, 318, 323, 324, 328, 334, 234, 0, - 191, 207, 338, 0, 413, 270, 521, 499, 495, 0, - 209, 0, 244, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 193, 194, 200, 208, 218, 222, - 229, 243, 258, 260, 267, 279, 284, 287, 292, 293, - 296, 302, 348, 354, 355, 356, 357, 374, 375, 376, - 379, 382, 383, 386, 388, 389, 392, 396, 400, 401, - 402, 403, 405, 407, 414, 419, 427, 428, 429, 430, - 431, 434, 435, 440, 441, 442, 443, 444, 452, 453, - 457, 475, 477, 489, 503, 508, 433, 280, 484, 509, - 0, 347, 0, 0, 349, 263, 283, 294, 0, 498, - 454, 213, 421, 272, 201, 232, 216, 241, 256, 259, - 298, 358, 365, 394, 399, 277, 253, 230, 418, 227, - 437, 460, 461, 462, 464, 362, 248, 398, 0, 363, - 345, 466, 467, 290, 465, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 381, 0, 1492, 0, - 0, 0, 0, 0, 0, 252, 0, 0, 0, 0, - 336, 249, 0, 0, 395, 0, 197, 0, 439, 236, - 346, 343, 472, 264, 255, 251, 235, 291, 353, 393, - 459, 387, 0, 340, 0, 0, 449, 366, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 297, 233, 299, 196, 378, 450, 268, + 536, 537, 538, 539, 540, 541, 542, 543, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 544, 353, + 439, 488, 308, 320, 323, 313, 332, 0, 333, 309, + 310, 315, 317, 318, 319, 324, 325, 329, 335, 235, + 201, 0, 191, 208, 339, 0, 414, 271, 522, 500, + 496, 0, 210, 0, 245, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, + 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, + 293, 294, 297, 303, 349, 355, 356, 357, 358, 375, + 376, 377, 380, 383, 384, 387, 389, 390, 393, 397, + 401, 402, 403, 404, 406, 408, 415, 420, 428, 429, + 430, 431, 432, 435, 436, 441, 442, 443, 444, 445, + 453, 454, 458, 476, 478, 490, 504, 509, 434, 281, + 485, 510, 0, 348, 0, 0, 350, 264, 284, 295, + 0, 499, 455, 214, 422, 273, 202, 233, 217, 242, + 257, 260, 299, 359, 366, 395, 400, 278, 254, 231, + 419, 228, 438, 461, 462, 463, 465, 363, 249, 399, + 0, 364, 346, 467, 468, 291, 466, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 382, 0, + 1503, 0, 0, 0, 0, 0, 0, 253, 0, 0, + 0, 0, 337, 250, 0, 0, 396, 0, 197, 0, + 440, 237, 347, 344, 473, 265, 256, 252, 236, 292, + 354, 394, 460, 388, 0, 341, 0, 0, 450, 367, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 298, 234, 300, 196, 379, + 451, 269, 0, 0, 0, 0, 188, 189, 190, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, + 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, + 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, + 247, 470, 0, 0, 0, 0, 0, 0, 0, 216, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 279, 0, 368, 240, 0, 0, 0, + 0, 506, 0, 0, 0, 0, 0, 0, 0, 336, + 0, 305, 192, 212, 0, 0, 378, 421, 427, 0, + 0, 0, 238, 0, 425, 392, 489, 220, 267, 418, + 398, 423, 405, 270, 0, 0, 424, 342, 475, 412, + 486, 507, 508, 246, 372, 497, 464, 503, 521, 213, + 243, 386, 457, 492, 447, 365, 471, 472, 304, 446, + 277, 195, 340, 513, 211, 433, 229, 218, 477, 495, + 272, 416, 203, 459, 484, 226, 437, 0, 0, 523, + 205, 482, 456, 361, 301, 302, 204, 0, 417, 251, + 275, 241, 381, 479, 480, 239, 524, 215, 502, 207, + 0, 501, 374, 474, 483, 362, 352, 206, 481, 360, + 351, 307, 326, 327, 263, 286, 410, 345, 411, 287, + 370, 369, 371, 198, 493, 0, 199, 0, 452, 494, + 525, 221, 222, 224, 0, 262, 266, 274, 276, 282, + 283, 290, 338, 385, 409, 407, 413, 0, 469, 487, + 498, 505, 511, 512, 514, 515, 516, 517, 518, 520, + 519, 373, 289, 448, 306, 343, 0, 0, 391, 426, + 227, 491, 449, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 526, 527, 528, 529, 530, 531, + 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, + 542, 543, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 544, 353, 439, 488, 308, 320, 323, 313, + 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, + 325, 329, 335, 235, 201, 0, 191, 208, 339, 0, + 414, 271, 522, 500, 496, 0, 210, 0, 245, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, + 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, + 356, 357, 358, 375, 376, 377, 380, 383, 384, 387, + 389, 390, 393, 397, 401, 402, 403, 404, 406, 408, + 415, 420, 428, 429, 430, 431, 432, 435, 436, 441, + 442, 443, 444, 445, 453, 454, 458, 476, 478, 490, + 504, 509, 434, 281, 485, 510, 0, 348, 0, 0, + 350, 264, 284, 295, 0, 499, 455, 214, 422, 273, + 202, 233, 217, 242, 257, 260, 299, 359, 366, 395, + 400, 278, 254, 231, 419, 228, 438, 461, 462, 463, + 465, 363, 249, 399, 0, 364, 346, 467, 468, 291, + 466, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 382, 0, 1501, 0, 0, 0, 0, 0, + 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, + 396, 0, 197, 0, 440, 237, 347, 344, 473, 265, + 256, 252, 236, 292, 354, 394, 460, 388, 0, 341, + 0, 0, 450, 367, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, + 234, 300, 196, 379, 451, 269, 0, 0, 0, 0, + 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, + 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, + 0, 248, 296, 255, 247, 470, 0, 0, 0, 0, + 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 279, 0, 368, + 240, 0, 0, 0, 0, 506, 0, 0, 0, 0, + 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, + 378, 421, 427, 0, 0, 0, 238, 0, 425, 392, + 489, 220, 267, 418, 398, 423, 405, 270, 0, 0, + 424, 342, 475, 412, 486, 507, 508, 246, 372, 497, + 464, 503, 521, 213, 243, 386, 457, 492, 447, 365, + 471, 472, 304, 446, 277, 195, 340, 513, 211, 433, + 229, 218, 477, 495, 272, 416, 203, 459, 484, 226, + 437, 0, 0, 523, 205, 482, 456, 361, 301, 302, + 204, 0, 417, 251, 275, 241, 381, 479, 480, 239, + 524, 215, 502, 207, 0, 501, 374, 474, 483, 362, + 352, 206, 481, 360, 351, 307, 326, 327, 263, 286, + 410, 345, 411, 287, 370, 369, 371, 198, 493, 0, + 199, 0, 452, 494, 525, 221, 222, 224, 0, 262, + 266, 274, 276, 282, 283, 290, 338, 385, 409, 407, + 413, 0, 469, 487, 498, 505, 511, 512, 514, 515, + 516, 517, 518, 520, 519, 373, 289, 448, 306, 343, + 0, 0, 391, 426, 227, 491, 449, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, + 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 544, 353, 439, 488, + 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, + 317, 318, 319, 324, 325, 329, 335, 235, 201, 0, + 191, 208, 339, 0, 414, 271, 522, 500, 496, 0, + 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, + 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, + 297, 303, 349, 355, 356, 357, 358, 375, 376, 377, + 380, 383, 384, 387, 389, 390, 393, 397, 401, 402, + 403, 404, 406, 408, 415, 420, 428, 429, 430, 431, + 432, 435, 436, 441, 442, 443, 444, 445, 453, 454, + 458, 476, 478, 490, 504, 509, 434, 281, 485, 510, + 0, 348, 0, 0, 350, 264, 284, 295, 0, 499, + 455, 214, 422, 273, 202, 233, 217, 242, 257, 260, + 299, 359, 366, 395, 400, 278, 254, 231, 419, 228, + 438, 461, 462, 463, 465, 363, 249, 399, 0, 364, + 346, 467, 468, 291, 466, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 382, 0, 1497, 0, + 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, + 337, 250, 0, 0, 396, 0, 197, 0, 440, 237, + 347, 344, 473, 265, 256, 252, 236, 292, 354, 394, + 460, 388, 0, 341, 0, 0, 450, 367, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 298, 234, 300, 196, 379, 451, 269, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 224, 0, 231, - 321, 330, 329, 310, 311, 313, 315, 320, 327, 333, - 0, 0, 0, 0, 0, 247, 295, 254, 246, 469, - 0, 0, 0, 0, 0, 0, 0, 215, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, + 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, + 0, 0, 0, 0, 0, 248, 296, 255, 247, 470, + 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5109,730 +5051,792 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 278, 0, 367, 239, 0, 0, 0, 0, 505, - 0, 0, 0, 0, 0, 0, 0, 335, 0, 304, - 192, 211, 0, 0, 377, 420, 426, 0, 0, 0, - 237, 0, 424, 391, 488, 219, 266, 417, 397, 422, - 404, 269, 0, 0, 423, 341, 474, 411, 485, 506, - 507, 245, 371, 496, 463, 502, 520, 212, 242, 385, - 456, 491, 446, 364, 470, 471, 303, 445, 276, 195, - 339, 512, 210, 432, 228, 217, 476, 494, 271, 415, - 202, 458, 483, 225, 436, 0, 0, 522, 204, 481, - 455, 360, 300, 301, 203, 0, 416, 250, 274, 240, - 380, 478, 479, 238, 523, 214, 501, 206, 0, 500, - 373, 473, 482, 361, 351, 205, 480, 359, 350, 306, - 325, 326, 262, 285, 409, 344, 410, 286, 369, 368, - 370, 198, 492, 0, 199, 0, 451, 493, 524, 220, - 221, 223, 0, 261, 265, 273, 275, 281, 282, 289, - 337, 384, 408, 406, 412, 0, 468, 486, 497, 504, - 510, 511, 513, 514, 515, 516, 517, 519, 518, 372, - 288, 447, 305, 342, 0, 0, 390, 425, 226, 490, - 448, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 525, 526, 527, 528, 529, 530, 531, 532, - 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 0, 279, 0, 368, 240, 0, 0, 0, 0, 506, + 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, + 192, 212, 0, 0, 378, 421, 427, 0, 0, 0, + 238, 0, 425, 392, 489, 220, 267, 418, 398, 423, + 405, 270, 0, 0, 424, 342, 475, 412, 486, 507, + 508, 246, 372, 497, 464, 503, 521, 213, 243, 386, + 457, 492, 447, 365, 471, 472, 304, 446, 277, 195, + 340, 513, 211, 433, 229, 218, 477, 495, 272, 416, + 203, 459, 484, 226, 437, 0, 0, 523, 205, 482, + 456, 361, 301, 302, 204, 0, 417, 251, 275, 241, + 381, 479, 480, 239, 524, 215, 502, 207, 0, 501, + 374, 474, 483, 362, 352, 206, 481, 360, 351, 307, + 326, 327, 263, 286, 410, 345, 411, 287, 370, 369, + 371, 198, 493, 0, 199, 0, 452, 494, 525, 221, + 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, + 338, 385, 409, 407, 413, 0, 469, 487, 498, 505, + 511, 512, 514, 515, 516, 517, 518, 520, 519, 373, + 289, 448, 306, 343, 0, 0, 391, 426, 227, 491, + 449, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 543, 352, 438, 487, 307, 319, 322, 312, 331, 0, - 332, 308, 309, 314, 316, 317, 318, 323, 324, 328, - 334, 234, 0, 191, 207, 338, 0, 413, 270, 521, - 499, 495, 0, 209, 0, 244, 0, 0, 0, 0, + 544, 353, 439, 488, 308, 320, 323, 313, 332, 0, + 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, + 335, 235, 201, 0, 191, 208, 339, 0, 414, 271, + 522, 500, 496, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, - 208, 218, 222, 229, 243, 258, 260, 267, 279, 284, - 287, 292, 293, 296, 302, 348, 354, 355, 356, 357, - 374, 375, 376, 379, 382, 383, 386, 388, 389, 392, - 396, 400, 401, 402, 403, 405, 407, 414, 419, 427, - 428, 429, 430, 431, 434, 435, 440, 441, 442, 443, - 444, 452, 453, 457, 475, 477, 489, 503, 508, 433, - 280, 484, 509, 0, 347, 0, 0, 349, 263, 283, - 294, 0, 498, 454, 213, 421, 272, 201, 232, 216, - 241, 256, 259, 298, 358, 365, 394, 399, 277, 253, - 230, 418, 227, 437, 460, 461, 462, 464, 362, 248, - 398, 0, 363, 345, 466, 467, 290, 465, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, - 0, 1490, 0, 0, 0, 0, 0, 0, 252, 0, - 0, 0, 0, 336, 249, 0, 0, 395, 0, 197, - 0, 439, 236, 346, 343, 472, 264, 255, 251, 235, - 291, 353, 393, 459, 387, 0, 340, 0, 0, 449, - 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 297, 233, 299, 196, - 378, 450, 268, 0, 0, 0, 0, 188, 189, 190, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 224, 0, 231, 321, 330, 329, 310, 311, 313, 315, - 320, 327, 333, 0, 0, 0, 0, 0, 247, 295, - 254, 246, 469, 0, 0, 0, 0, 0, 0, 0, - 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 257, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 278, 0, 367, 239, 0, 0, - 0, 0, 505, 0, 0, 0, 0, 0, 0, 0, - 335, 0, 304, 192, 211, 0, 0, 377, 420, 426, - 0, 0, 0, 237, 0, 424, 391, 488, 219, 266, - 417, 397, 422, 404, 269, 0, 0, 423, 341, 474, - 411, 485, 506, 507, 245, 371, 496, 463, 502, 520, - 212, 242, 385, 456, 491, 446, 364, 470, 471, 303, - 445, 276, 195, 339, 512, 210, 432, 228, 217, 476, - 494, 271, 415, 202, 458, 483, 225, 436, 0, 0, - 522, 204, 481, 455, 360, 300, 301, 203, 0, 416, - 250, 274, 240, 380, 478, 479, 238, 523, 214, 501, - 206, 0, 500, 373, 473, 482, 361, 351, 205, 480, - 359, 350, 306, 325, 326, 262, 285, 409, 344, 410, - 286, 369, 368, 370, 198, 492, 0, 199, 0, 451, - 493, 524, 220, 221, 223, 0, 261, 265, 273, 275, - 281, 282, 289, 337, 384, 408, 406, 412, 0, 468, - 486, 497, 504, 510, 511, 513, 514, 515, 516, 517, - 519, 518, 372, 288, 447, 305, 342, 0, 0, 390, - 425, 226, 490, 448, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 525, 526, 527, 528, 529, + 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, + 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, + 285, 288, 293, 294, 297, 303, 349, 355, 356, 357, + 358, 375, 376, 377, 380, 383, 384, 387, 389, 390, + 393, 397, 401, 402, 403, 404, 406, 408, 415, 420, + 428, 429, 430, 431, 432, 435, 436, 441, 442, 443, + 444, 445, 453, 454, 458, 476, 478, 490, 504, 509, + 434, 281, 485, 510, 0, 348, 0, 0, 350, 264, + 284, 295, 0, 499, 455, 214, 422, 273, 202, 233, + 217, 242, 257, 260, 299, 359, 366, 395, 400, 278, + 254, 231, 419, 228, 438, 461, 462, 463, 465, 363, + 249, 399, 0, 364, 346, 467, 468, 291, 466, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 382, 0, 1495, 0, 0, 0, 0, 0, 0, 253, + 0, 0, 0, 0, 337, 250, 0, 0, 396, 0, + 197, 0, 440, 237, 347, 344, 473, 265, 256, 252, + 236, 292, 354, 394, 460, 388, 0, 341, 0, 0, + 450, 367, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, + 196, 379, 451, 269, 0, 0, 0, 0, 188, 189, + 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, + 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, + 296, 255, 247, 470, 0, 0, 0, 0, 0, 0, + 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 279, 0, 368, 240, 0, + 0, 0, 0, 506, 0, 0, 0, 0, 0, 0, + 0, 336, 0, 305, 192, 212, 0, 0, 378, 421, + 427, 0, 0, 0, 238, 0, 425, 392, 489, 220, + 267, 418, 398, 423, 405, 270, 0, 0, 424, 342, + 475, 412, 486, 507, 508, 246, 372, 497, 464, 503, + 521, 213, 243, 386, 457, 492, 447, 365, 471, 472, + 304, 446, 277, 195, 340, 513, 211, 433, 229, 218, + 477, 495, 272, 416, 203, 459, 484, 226, 437, 0, + 0, 523, 205, 482, 456, 361, 301, 302, 204, 0, + 417, 251, 275, 241, 381, 479, 480, 239, 524, 215, + 502, 207, 0, 501, 374, 474, 483, 362, 352, 206, + 481, 360, 351, 307, 326, 327, 263, 286, 410, 345, + 411, 287, 370, 369, 371, 198, 493, 0, 199, 0, + 452, 494, 525, 221, 222, 224, 0, 262, 266, 274, + 276, 282, 283, 290, 338, 385, 409, 407, 413, 0, + 469, 487, 498, 505, 511, 512, 514, 515, 516, 517, + 518, 520, 519, 373, 289, 448, 306, 343, 0, 0, + 391, 426, 227, 491, 449, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 543, 352, 438, 487, 307, 319, 322, - 312, 331, 0, 332, 308, 309, 314, 316, 317, 318, - 323, 324, 328, 334, 234, 0, 191, 207, 338, 0, - 413, 270, 521, 499, 495, 0, 209, 0, 244, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 193, 194, 200, 208, 218, 222, 229, 243, 258, 260, - 267, 279, 284, 287, 292, 293, 296, 302, 348, 354, - 355, 356, 357, 374, 375, 376, 379, 382, 383, 386, - 388, 389, 392, 396, 400, 401, 402, 403, 405, 407, - 414, 419, 427, 428, 429, 430, 431, 434, 435, 440, - 441, 442, 443, 444, 452, 453, 457, 475, 477, 489, - 503, 508, 433, 280, 484, 509, 0, 347, 0, 0, - 349, 263, 283, 294, 0, 498, 454, 213, 421, 272, - 201, 232, 216, 241, 256, 259, 298, 358, 365, 394, - 399, 277, 253, 230, 418, 227, 437, 460, 461, 462, - 464, 362, 248, 398, 0, 363, 345, 466, 467, 290, - 465, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 381, 0, 0, 0, 0, 0, 0, 0, - 0, 252, 0, 0, 0, 0, 336, 249, 0, 0, - 395, 0, 197, 0, 439, 236, 346, 343, 472, 264, - 255, 251, 235, 291, 353, 393, 459, 387, 0, 340, - 0, 0, 449, 366, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, - 233, 299, 196, 378, 450, 268, 0, 1465, 0, 0, - 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 224, 0, 231, 321, 330, 329, 310, - 311, 313, 315, 320, 327, 333, 0, 0, 0, 0, - 0, 247, 295, 254, 246, 469, 0, 0, 0, 0, - 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 257, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 278, 0, 367, - 239, 0, 0, 0, 0, 505, 0, 0, 0, 0, - 0, 0, 0, 335, 0, 304, 192, 211, 0, 0, - 377, 420, 426, 0, 0, 0, 237, 0, 424, 391, - 488, 219, 266, 417, 397, 422, 404, 269, 0, 0, - 423, 341, 474, 411, 485, 506, 507, 245, 371, 496, - 463, 502, 520, 212, 242, 385, 456, 491, 446, 364, - 470, 471, 303, 445, 276, 195, 339, 512, 210, 432, - 228, 217, 476, 494, 271, 415, 202, 458, 483, 225, - 436, 0, 0, 522, 204, 481, 455, 360, 300, 301, - 203, 0, 416, 250, 274, 240, 380, 478, 479, 238, - 523, 214, 501, 206, 0, 500, 373, 473, 482, 361, - 351, 205, 480, 359, 350, 306, 325, 326, 262, 285, - 409, 344, 410, 286, 369, 368, 370, 198, 492, 0, - 199, 0, 451, 493, 524, 220, 221, 223, 0, 261, - 265, 273, 275, 281, 282, 289, 337, 384, 408, 406, - 412, 0, 468, 486, 497, 504, 510, 511, 513, 514, - 515, 516, 517, 519, 518, 372, 288, 447, 305, 342, - 0, 0, 390, 425, 226, 490, 448, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 525, 526, - 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, - 537, 538, 539, 540, 541, 542, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 543, 352, 438, 487, - 307, 319, 322, 312, 331, 0, 332, 308, 309, 314, - 316, 317, 318, 323, 324, 328, 334, 234, 0, 191, - 207, 338, 0, 413, 270, 521, 499, 495, 0, 209, - 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 193, 194, 200, 208, 218, 222, 229, - 243, 258, 260, 267, 279, 284, 287, 292, 293, 296, - 302, 348, 354, 355, 356, 357, 374, 375, 376, 379, - 382, 383, 386, 388, 389, 392, 396, 400, 401, 402, - 403, 405, 407, 414, 419, 427, 428, 429, 430, 431, - 434, 435, 440, 441, 442, 443, 444, 452, 453, 457, - 475, 477, 489, 503, 508, 433, 280, 484, 509, 0, - 347, 0, 0, 349, 263, 283, 294, 0, 498, 454, - 213, 421, 272, 201, 232, 216, 241, 256, 259, 298, - 358, 365, 394, 399, 277, 253, 230, 418, 227, 437, - 460, 461, 462, 464, 362, 248, 398, 0, 363, 345, - 466, 467, 290, 465, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 381, 0, 0, 0, 0, - 0, 0, 0, 1365, 252, 0, 0, 0, 0, 336, - 249, 0, 0, 395, 0, 197, 0, 439, 236, 346, - 343, 472, 264, 255, 251, 235, 291, 353, 393, 459, - 387, 0, 340, 0, 0, 449, 366, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 297, 233, 299, 196, 378, 450, 268, 0, - 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 224, 0, 231, 321, - 330, 329, 310, 311, 313, 315, 320, 327, 333, 0, - 0, 0, 0, 0, 247, 295, 254, 246, 469, 0, - 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 278, 0, 367, 239, 0, 0, 0, 0, 505, 0, - 0, 0, 0, 0, 0, 0, 335, 0, 304, 192, - 211, 0, 0, 377, 420, 426, 0, 0, 0, 237, - 0, 424, 391, 488, 219, 266, 417, 397, 422, 404, - 269, 0, 0, 423, 341, 474, 411, 485, 506, 507, - 245, 371, 496, 463, 502, 520, 212, 242, 385, 456, - 491, 446, 364, 470, 471, 303, 445, 276, 195, 339, - 512, 210, 432, 228, 217, 476, 494, 271, 415, 202, - 458, 483, 225, 436, 0, 0, 522, 204, 481, 455, - 360, 300, 301, 203, 0, 416, 250, 274, 240, 380, - 478, 479, 238, 523, 214, 501, 206, 0, 500, 373, - 473, 482, 361, 351, 205, 480, 359, 350, 306, 325, - 326, 262, 285, 409, 344, 410, 286, 369, 368, 370, - 198, 492, 0, 199, 0, 451, 493, 524, 220, 221, - 223, 0, 261, 265, 273, 275, 281, 282, 289, 337, - 384, 408, 406, 412, 0, 468, 486, 497, 504, 510, - 511, 513, 514, 515, 516, 517, 519, 518, 372, 288, - 447, 305, 342, 0, 0, 390, 425, 226, 490, 448, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 525, 526, 527, 528, 529, 530, 531, 532, 533, - 534, 535, 536, 537, 538, 539, 540, 541, 542, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 543, - 352, 438, 487, 307, 319, 322, 312, 331, 0, 332, - 308, 309, 314, 316, 317, 318, 323, 324, 328, 334, - 234, 0, 191, 207, 338, 0, 413, 270, 521, 499, - 495, 0, 209, 0, 244, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 193, 194, 200, 208, - 218, 222, 229, 243, 258, 260, 267, 279, 284, 287, - 292, 293, 296, 302, 348, 354, 355, 356, 357, 374, - 375, 376, 379, 382, 383, 386, 388, 389, 392, 396, - 400, 401, 402, 403, 405, 407, 414, 419, 427, 428, - 429, 430, 431, 434, 435, 440, 441, 442, 443, 444, - 452, 453, 457, 475, 477, 489, 503, 508, 433, 280, - 484, 509, 0, 347, 0, 0, 349, 263, 283, 294, - 0, 498, 454, 213, 421, 272, 201, 232, 216, 241, - 256, 259, 298, 358, 365, 394, 399, 277, 253, 230, - 418, 227, 437, 460, 461, 462, 464, 362, 248, 398, - 0, 363, 345, 466, 467, 290, 465, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, - 0, 0, 0, 0, 0, 0, 0, 252, 0, 0, - 0, 0, 336, 249, 0, 0, 395, 0, 197, 0, - 439, 236, 346, 343, 472, 264, 255, 251, 235, 291, - 353, 393, 459, 387, 0, 340, 0, 0, 449, 366, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 297, 233, 299, 196, 378, - 450, 268, 0, 0, 0, 0, 188, 189, 190, 0, - 1165, 0, 0, 0, 0, 0, 0, 0, 0, 224, - 0, 231, 321, 330, 329, 310, 311, 313, 315, 320, - 327, 333, 0, 0, 0, 0, 0, 247, 295, 254, - 246, 469, 0, 0, 0, 0, 0, 0, 0, 215, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 257, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 278, 0, 367, 239, 0, 0, 0, - 0, 505, 0, 0, 0, 0, 0, 0, 0, 335, - 0, 304, 192, 211, 0, 0, 377, 420, 426, 0, - 0, 0, 237, 0, 424, 391, 488, 219, 266, 417, - 397, 422, 404, 269, 0, 0, 423, 341, 474, 411, - 485, 506, 507, 245, 371, 496, 463, 502, 520, 212, - 242, 385, 456, 491, 446, 364, 470, 471, 303, 445, - 276, 195, 339, 512, 210, 432, 228, 217, 476, 494, - 271, 415, 202, 458, 483, 225, 436, 0, 0, 522, - 204, 481, 455, 360, 300, 301, 203, 0, 416, 250, - 274, 240, 380, 478, 479, 238, 523, 214, 501, 206, - 0, 500, 373, 473, 482, 361, 351, 205, 480, 359, - 350, 306, 325, 326, 262, 285, 409, 344, 410, 286, - 369, 368, 370, 198, 492, 0, 199, 0, 451, 493, - 524, 220, 221, 223, 0, 261, 265, 273, 275, 281, - 282, 289, 337, 384, 408, 406, 412, 0, 468, 486, - 497, 504, 510, 511, 513, 514, 515, 516, 517, 519, - 518, 372, 288, 447, 305, 342, 0, 0, 390, 425, - 226, 490, 448, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 525, 526, 527, 528, 529, 530, - 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, - 541, 542, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 543, 352, 438, 487, 307, 319, 322, 312, - 331, 0, 332, 308, 309, 314, 316, 317, 318, 323, - 324, 328, 334, 234, 0, 191, 207, 338, 0, 413, - 270, 521, 499, 495, 0, 209, 0, 244, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 194, 200, 208, 218, 222, 229, 243, 258, 260, 267, - 279, 284, 287, 292, 293, 296, 302, 348, 354, 355, - 356, 357, 374, 375, 376, 379, 382, 383, 386, 388, - 389, 392, 396, 400, 401, 402, 403, 405, 407, 414, - 419, 427, 428, 429, 430, 431, 434, 435, 440, 441, - 442, 443, 444, 452, 453, 457, 475, 477, 489, 503, - 508, 433, 280, 484, 509, 0, 347, 0, 0, 349, - 263, 283, 294, 0, 498, 454, 213, 421, 272, 201, - 232, 216, 241, 256, 259, 298, 358, 365, 394, 399, - 277, 253, 230, 418, 227, 437, 460, 461, 462, 464, - 362, 248, 398, 0, 363, 345, 466, 467, 290, 465, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 381, 0, 0, 0, 0, 0, 0, 0, 0, - 252, 0, 0, 0, 0, 336, 249, 0, 0, 395, - 0, 197, 0, 439, 236, 346, 343, 472, 264, 255, - 251, 235, 291, 353, 393, 459, 387, 0, 340, 0, - 0, 449, 366, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 297, 233, - 299, 196, 378, 450, 268, 0, 0, 0, 0, 188, - 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 224, 0, 231, 321, 330, 329, 310, 311, - 313, 315, 320, 327, 333, 0, 0, 0, 0, 0, - 247, 295, 254, 246, 469, 0, 0, 0, 0, 0, - 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 257, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 278, 0, 367, 239, - 0, 0, 0, 0, 505, 0, 0, 0, 0, 0, - 0, 0, 335, 0, 304, 192, 211, 0, 0, 377, - 420, 426, 0, 0, 0, 237, 0, 424, 391, 488, - 219, 266, 417, 397, 422, 404, 269, 0, 0, 423, - 341, 474, 411, 485, 506, 507, 245, 371, 496, 463, - 502, 520, 212, 242, 385, 456, 491, 446, 364, 470, - 471, 303, 445, 276, 195, 339, 512, 210, 432, 228, - 217, 476, 494, 271, 415, 202, 458, 483, 225, 436, - 0, 0, 522, 204, 481, 455, 360, 300, 301, 203, - 0, 416, 250, 274, 240, 380, 478, 479, 238, 523, - 214, 501, 206, 0, 500, 373, 473, 482, 361, 351, - 205, 480, 359, 350, 306, 325, 326, 262, 285, 409, - 344, 410, 286, 369, 368, 370, 198, 492, 0, 199, - 0, 451, 493, 524, 220, 221, 223, 0, 261, 265, - 273, 275, 281, 282, 289, 337, 384, 408, 406, 412, - 0, 468, 486, 497, 504, 510, 511, 513, 514, 515, - 516, 517, 519, 518, 372, 288, 447, 305, 342, 0, - 0, 390, 425, 226, 490, 448, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 525, 526, 527, - 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, - 538, 539, 540, 541, 542, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 543, 352, 438, 487, 307, - 319, 322, 312, 331, 0, 332, 308, 309, 314, 316, - 317, 318, 323, 324, 328, 334, 234, 0, 191, 207, - 338, 0, 413, 270, 521, 499, 495, 0, 209, 0, - 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 779, 0, - 0, 0, 193, 194, 200, 208, 218, 222, 229, 243, - 258, 260, 267, 279, 284, 287, 292, 293, 296, 302, - 348, 354, 355, 356, 357, 374, 375, 376, 379, 382, - 383, 386, 388, 389, 392, 396, 400, 401, 402, 403, - 405, 407, 414, 419, 427, 428, 429, 430, 431, 434, - 435, 440, 441, 442, 443, 444, 452, 453, 457, 475, - 477, 489, 503, 508, 433, 280, 484, 509, 0, 347, - 0, 0, 349, 263, 283, 294, 0, 498, 454, 213, - 421, 272, 201, 232, 216, 241, 256, 259, 298, 358, - 365, 394, 399, 277, 253, 230, 418, 227, 437, 460, - 461, 462, 464, 362, 248, 398, 0, 363, 345, 466, - 467, 290, 465, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 381, 0, 0, 0, 0, 0, - 0, 0, 0, 252, 0, 0, 0, 0, 336, 249, - 0, 0, 395, 0, 197, 0, 439, 236, 346, 343, - 472, 264, 255, 251, 235, 291, 353, 393, 459, 387, - 0, 340, 0, 0, 449, 366, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 297, 233, 299, 196, 378, 450, 268, 0, 0, + 540, 541, 542, 543, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 544, 353, 439, 488, 308, 320, + 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, + 319, 324, 325, 329, 335, 235, 201, 0, 191, 208, + 339, 0, 414, 271, 522, 500, 496, 0, 210, 0, + 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, + 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, + 349, 355, 356, 357, 358, 375, 376, 377, 380, 383, + 384, 387, 389, 390, 393, 397, 401, 402, 403, 404, + 406, 408, 415, 420, 428, 429, 430, 431, 432, 435, + 436, 441, 442, 443, 444, 445, 453, 454, 458, 476, + 478, 490, 504, 509, 434, 281, 485, 510, 0, 348, + 0, 0, 350, 264, 284, 295, 0, 499, 455, 214, + 422, 273, 202, 233, 217, 242, 257, 260, 299, 359, + 366, 395, 400, 278, 254, 231, 419, 228, 438, 461, + 462, 463, 465, 363, 249, 399, 0, 364, 346, 467, + 468, 291, 466, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 382, 0, 1493, 0, 0, 0, + 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, + 0, 0, 396, 0, 197, 0, 440, 237, 347, 344, + 473, 265, 256, 252, 236, 292, 354, 394, 460, 388, + 0, 341, 0, 0, 450, 367, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 298, 234, 300, 196, 379, 451, 269, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 224, 0, 231, 321, 330, - 329, 310, 311, 313, 315, 320, 327, 333, 0, 0, - 0, 0, 0, 247, 295, 254, 246, 469, 0, 0, - 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 600, 0, 278, - 0, 367, 239, 0, 0, 0, 0, 505, 0, 0, - 0, 0, 0, 0, 0, 335, 0, 304, 192, 211, - 0, 0, 377, 420, 426, 0, 0, 0, 237, 0, - 424, 391, 488, 219, 266, 417, 397, 422, 404, 269, - 0, 0, 423, 341, 474, 411, 485, 506, 507, 245, - 371, 496, 463, 502, 520, 212, 242, 385, 456, 491, - 446, 364, 470, 471, 303, 445, 276, 195, 339, 512, - 210, 432, 228, 217, 476, 494, 271, 415, 202, 458, - 483, 225, 436, 0, 0, 522, 204, 481, 455, 360, - 300, 301, 203, 0, 416, 250, 274, 240, 380, 478, - 479, 238, 523, 214, 501, 206, 0, 500, 373, 473, - 482, 361, 351, 205, 480, 359, 350, 306, 325, 326, - 262, 285, 409, 344, 410, 286, 369, 368, 370, 198, - 492, 0, 199, 0, 451, 493, 524, 220, 221, 223, - 0, 261, 265, 273, 275, 281, 282, 289, 337, 384, - 408, 406, 412, 0, 468, 486, 497, 504, 510, 511, - 513, 514, 515, 516, 517, 519, 518, 372, 288, 447, - 305, 342, 0, 0, 390, 425, 226, 490, 448, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 543, 352, - 438, 487, 307, 319, 322, 312, 331, 0, 332, 308, - 309, 314, 316, 317, 318, 323, 324, 328, 334, 234, - 0, 191, 207, 338, 0, 413, 270, 521, 499, 495, - 0, 209, 0, 244, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 193, 194, 200, 208, 218, - 222, 229, 243, 258, 260, 267, 279, 284, 287, 292, - 293, 296, 302, 348, 354, 355, 356, 357, 374, 375, - 376, 379, 382, 383, 386, 388, 389, 392, 396, 400, - 401, 402, 403, 405, 407, 414, 419, 427, 428, 429, - 430, 431, 434, 435, 440, 441, 442, 443, 444, 452, - 453, 457, 475, 477, 489, 503, 508, 433, 599, 484, - 509, 0, 347, 0, 0, 349, 263, 283, 294, 0, - 498, 454, 213, 421, 272, 201, 232, 216, 241, 256, - 259, 298, 358, 365, 394, 399, 277, 253, 230, 418, - 227, 437, 460, 461, 462, 464, 362, 248, 398, 0, - 363, 345, 466, 467, 290, 465, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, - 0, 0, 0, 0, 0, 0, 252, 0, 0, 0, - 0, 336, 249, 0, 0, 395, 0, 197, 0, 439, - 236, 346, 343, 472, 264, 255, 251, 235, 291, 353, - 393, 459, 387, 0, 340, 0, 0, 449, 366, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 297, 233, 299, 196, 378, 450, - 268, 0, 0, 0, 0, 188, 189, 190, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, - 231, 321, 330, 329, 310, 311, 313, 315, 320, 327, - 333, 0, 0, 0, 0, 0, 247, 295, 254, 246, - 469, 0, 0, 0, 0, 0, 0, 0, 215, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 278, 0, 367, 239, 0, 0, 546, 0, - 505, 0, 0, 0, 0, 0, 0, 0, 335, 0, - 304, 192, 211, 0, 0, 377, 420, 426, 0, 0, - 0, 237, 0, 424, 391, 488, 219, 266, 417, 397, - 422, 404, 269, 0, 0, 423, 341, 474, 411, 485, - 506, 507, 245, 371, 496, 463, 502, 520, 212, 242, - 385, 456, 491, 446, 364, 470, 471, 303, 445, 276, - 195, 339, 512, 210, 432, 228, 217, 476, 494, 271, - 415, 202, 458, 483, 225, 436, 0, 0, 522, 204, - 481, 455, 360, 300, 301, 203, 0, 416, 250, 274, - 240, 380, 478, 479, 238, 523, 214, 501, 206, 0, - 500, 373, 473, 482, 361, 351, 205, 480, 359, 350, - 306, 325, 326, 262, 285, 409, 344, 410, 286, 369, - 368, 370, 198, 492, 0, 199, 0, 451, 493, 524, - 220, 221, 223, 0, 261, 265, 273, 275, 281, 282, - 289, 337, 384, 408, 406, 412, 0, 468, 486, 497, - 504, 510, 511, 513, 514, 515, 516, 517, 519, 518, - 372, 288, 447, 305, 342, 0, 0, 390, 425, 226, - 490, 448, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 525, 526, 527, 528, 529, 530, 531, + 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, + 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, + 0, 0, 0, 248, 296, 255, 247, 470, 0, 0, + 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, + 0, 368, 240, 0, 0, 0, 0, 506, 0, 0, + 0, 0, 0, 0, 0, 336, 0, 305, 192, 212, + 0, 0, 378, 421, 427, 0, 0, 0, 238, 0, + 425, 392, 489, 220, 267, 418, 398, 423, 405, 270, + 0, 0, 424, 342, 475, 412, 486, 507, 508, 246, + 372, 497, 464, 503, 521, 213, 243, 386, 457, 492, + 447, 365, 471, 472, 304, 446, 277, 195, 340, 513, + 211, 433, 229, 218, 477, 495, 272, 416, 203, 459, + 484, 226, 437, 0, 0, 523, 205, 482, 456, 361, + 301, 302, 204, 0, 417, 251, 275, 241, 381, 479, + 480, 239, 524, 215, 502, 207, 0, 501, 374, 474, + 483, 362, 352, 206, 481, 360, 351, 307, 326, 327, + 263, 286, 410, 345, 411, 287, 370, 369, 371, 198, + 493, 0, 199, 0, 452, 494, 525, 221, 222, 224, + 0, 262, 266, 274, 276, 282, 283, 290, 338, 385, + 409, 407, 413, 0, 469, 487, 498, 505, 511, 512, + 514, 515, 516, 517, 518, 520, 519, 373, 289, 448, + 306, 343, 0, 0, 391, 426, 227, 491, 449, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, + 536, 537, 538, 539, 540, 541, 542, 543, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 544, 353, + 439, 488, 308, 320, 323, 313, 332, 0, 333, 309, + 310, 315, 317, 318, 319, 324, 325, 329, 335, 235, + 201, 0, 191, 208, 339, 0, 414, 271, 522, 500, + 496, 0, 210, 0, 245, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, + 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, + 293, 294, 297, 303, 349, 355, 356, 357, 358, 375, + 376, 377, 380, 383, 384, 387, 389, 390, 393, 397, + 401, 402, 403, 404, 406, 408, 415, 420, 428, 429, + 430, 431, 432, 435, 436, 441, 442, 443, 444, 445, + 453, 454, 458, 476, 478, 490, 504, 509, 434, 281, + 485, 510, 0, 348, 0, 0, 350, 264, 284, 295, + 0, 499, 455, 214, 422, 273, 202, 233, 217, 242, + 257, 260, 299, 359, 366, 395, 400, 278, 254, 231, + 419, 228, 438, 461, 462, 463, 465, 363, 249, 399, + 0, 364, 346, 467, 468, 291, 466, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 382, 0, + 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, + 0, 0, 337, 250, 0, 0, 396, 0, 197, 0, + 440, 237, 347, 344, 473, 265, 256, 252, 236, 292, + 354, 394, 460, 388, 0, 341, 0, 0, 450, 367, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 298, 234, 300, 196, 379, + 451, 269, 0, 1468, 0, 0, 188, 189, 190, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, + 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, + 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, + 247, 470, 0, 0, 0, 0, 0, 0, 0, 216, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 279, 0, 368, 240, 0, 0, 0, + 0, 506, 0, 0, 0, 0, 0, 0, 0, 336, + 0, 305, 192, 212, 0, 0, 378, 421, 427, 0, + 0, 0, 238, 0, 425, 392, 489, 220, 267, 418, + 398, 423, 405, 270, 0, 0, 424, 342, 475, 412, + 486, 507, 508, 246, 372, 497, 464, 503, 521, 213, + 243, 386, 457, 492, 447, 365, 471, 472, 304, 446, + 277, 195, 340, 513, 211, 433, 229, 218, 477, 495, + 272, 416, 203, 459, 484, 226, 437, 0, 0, 523, + 205, 482, 456, 361, 301, 302, 204, 0, 417, 251, + 275, 241, 381, 479, 480, 239, 524, 215, 502, 207, + 0, 501, 374, 474, 483, 362, 352, 206, 481, 360, + 351, 307, 326, 327, 263, 286, 410, 345, 411, 287, + 370, 369, 371, 198, 493, 0, 199, 0, 452, 494, + 525, 221, 222, 224, 0, 262, 266, 274, 276, 282, + 283, 290, 338, 385, 409, 407, 413, 0, 469, 487, + 498, 505, 511, 512, 514, 515, 516, 517, 518, 520, + 519, 373, 289, 448, 306, 343, 0, 0, 391, 426, + 227, 491, 449, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, - 542, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 543, 352, 438, 487, 307, 319, 322, 312, 331, - 0, 332, 308, 309, 314, 316, 317, 318, 323, 324, - 328, 334, 234, 0, 191, 207, 338, 0, 413, 270, - 521, 499, 495, 0, 209, 0, 244, 0, 0, 0, + 542, 543, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 544, 353, 439, 488, 308, 320, 323, 313, + 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, + 325, 329, 335, 235, 201, 0, 191, 208, 339, 0, + 414, 271, 522, 500, 496, 0, 210, 0, 245, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, + 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, + 356, 357, 358, 375, 376, 377, 380, 383, 384, 387, + 389, 390, 393, 397, 401, 402, 403, 404, 406, 408, + 415, 420, 428, 429, 430, 431, 432, 435, 436, 441, + 442, 443, 444, 445, 453, 454, 458, 476, 478, 490, + 504, 509, 434, 281, 485, 510, 0, 348, 0, 0, + 350, 264, 284, 295, 0, 499, 455, 214, 422, 273, + 202, 233, 217, 242, 257, 260, 299, 359, 366, 395, + 400, 278, 254, 231, 419, 228, 438, 461, 462, 463, + 465, 363, 249, 399, 0, 364, 346, 467, 468, 291, + 466, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, + 1368, 253, 0, 0, 0, 0, 337, 250, 0, 0, + 396, 0, 197, 0, 440, 237, 347, 344, 473, 265, + 256, 252, 236, 292, 354, 394, 460, 388, 0, 341, + 0, 0, 450, 367, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, + 234, 300, 196, 379, 451, 269, 0, 0, 0, 0, + 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, + 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, + 0, 248, 296, 255, 247, 470, 0, 0, 0, 0, + 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 279, 0, 368, + 240, 0, 0, 0, 0, 506, 0, 0, 0, 0, + 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, + 378, 421, 427, 0, 0, 0, 238, 0, 425, 392, + 489, 220, 267, 418, 398, 423, 405, 270, 0, 0, + 424, 342, 475, 412, 486, 507, 508, 246, 372, 497, + 464, 503, 521, 213, 243, 386, 457, 492, 447, 365, + 471, 472, 304, 446, 277, 195, 340, 513, 211, 433, + 229, 218, 477, 495, 272, 416, 203, 459, 484, 226, + 437, 0, 0, 523, 205, 482, 456, 361, 301, 302, + 204, 0, 417, 251, 275, 241, 381, 479, 480, 239, + 524, 215, 502, 207, 0, 501, 374, 474, 483, 362, + 352, 206, 481, 360, 351, 307, 326, 327, 263, 286, + 410, 345, 411, 287, 370, 369, 371, 198, 493, 0, + 199, 0, 452, 494, 525, 221, 222, 224, 0, 262, + 266, 274, 276, 282, 283, 290, 338, 385, 409, 407, + 413, 0, 469, 487, 498, 505, 511, 512, 514, 515, + 516, 517, 518, 520, 519, 373, 289, 448, 306, 343, + 0, 0, 391, 426, 227, 491, 449, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, + 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 544, 353, 439, 488, + 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, + 317, 318, 319, 324, 325, 329, 335, 235, 201, 0, + 191, 208, 339, 0, 414, 271, 522, 500, 496, 0, + 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, + 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, + 297, 303, 349, 355, 356, 357, 358, 375, 376, 377, + 380, 383, 384, 387, 389, 390, 393, 397, 401, 402, + 403, 404, 406, 408, 415, 420, 428, 429, 430, 431, + 432, 435, 436, 441, 442, 443, 444, 445, 453, 454, + 458, 476, 478, 490, 504, 509, 434, 281, 485, 510, + 0, 348, 0, 0, 350, 264, 284, 295, 0, 499, + 455, 214, 422, 273, 202, 233, 217, 242, 257, 260, + 299, 359, 366, 395, 400, 278, 254, 231, 419, 228, + 438, 461, 462, 463, 465, 363, 249, 399, 0, 364, + 346, 467, 468, 291, 466, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 382, 0, 0, 0, + 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, + 337, 250, 0, 0, 396, 0, 197, 0, 440, 237, + 347, 344, 473, 265, 256, 252, 236, 292, 354, 394, + 460, 388, 0, 341, 0, 0, 450, 367, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 298, 234, 300, 196, 379, 451, 269, + 0, 0, 0, 0, 188, 189, 190, 0, 1167, 0, + 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, + 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, + 0, 0, 0, 0, 0, 248, 296, 255, 247, 470, + 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 279, 0, 368, 240, 0, 0, 0, 0, 506, + 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, + 192, 212, 0, 0, 378, 421, 427, 0, 0, 0, + 238, 0, 425, 392, 489, 220, 267, 418, 398, 423, + 405, 270, 0, 0, 424, 342, 475, 412, 486, 507, + 508, 246, 372, 497, 464, 503, 521, 213, 243, 386, + 457, 492, 447, 365, 471, 472, 304, 446, 277, 195, + 340, 513, 211, 433, 229, 218, 477, 495, 272, 416, + 203, 459, 484, 226, 437, 0, 0, 523, 205, 482, + 456, 361, 301, 302, 204, 0, 417, 251, 275, 241, + 381, 479, 480, 239, 524, 215, 502, 207, 0, 501, + 374, 474, 483, 362, 352, 206, 481, 360, 351, 307, + 326, 327, 263, 286, 410, 345, 411, 287, 370, 369, + 371, 198, 493, 0, 199, 0, 452, 494, 525, 221, + 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, + 338, 385, 409, 407, 413, 0, 469, 487, 498, 505, + 511, 512, 514, 515, 516, 517, 518, 520, 519, 373, + 289, 448, 306, 343, 0, 0, 391, 426, 227, 491, + 449, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 544, 353, 439, 488, 308, 320, 323, 313, 332, 0, + 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, + 335, 235, 201, 0, 191, 208, 339, 0, 414, 271, + 522, 500, 496, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, - 200, 208, 218, 222, 229, 243, 258, 260, 267, 279, - 284, 287, 292, 293, 296, 302, 348, 354, 355, 356, - 357, 374, 375, 376, 379, 382, 383, 386, 388, 389, - 392, 396, 400, 401, 402, 403, 405, 407, 414, 419, - 427, 428, 429, 430, 431, 434, 435, 440, 441, 442, - 443, 444, 452, 453, 457, 475, 477, 489, 503, 508, - 433, 280, 484, 509, 0, 347, 0, 0, 349, 263, - 283, 294, 0, 498, 454, 213, 421, 272, 201, 232, - 216, 241, 256, 259, 298, 358, 365, 394, 399, 277, - 253, 230, 418, 227, 437, 460, 461, 462, 464, 362, - 248, 398, 0, 363, 345, 466, 467, 290, 465, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 381, 0, 0, 0, 0, 0, 0, 0, 0, 252, - 0, 0, 0, 0, 336, 249, 0, 0, 395, 0, - 197, 0, 439, 236, 346, 343, 472, 264, 255, 251, - 235, 291, 353, 393, 459, 387, 0, 340, 0, 0, - 449, 366, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 297, 233, 299, - 196, 378, 450, 268, 0, 0, 0, 0, 188, 189, + 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, + 285, 288, 293, 294, 297, 303, 349, 355, 356, 357, + 358, 375, 376, 377, 380, 383, 384, 387, 389, 390, + 393, 397, 401, 402, 403, 404, 406, 408, 415, 420, + 428, 429, 430, 431, 432, 435, 436, 441, 442, 443, + 444, 445, 453, 454, 458, 476, 478, 490, 504, 509, + 434, 281, 485, 510, 0, 348, 0, 0, 350, 264, + 284, 295, 0, 499, 455, 214, 422, 273, 202, 233, + 217, 242, 257, 260, 299, 359, 366, 395, 400, 278, + 254, 231, 419, 228, 438, 461, 462, 463, 465, 363, + 249, 399, 0, 364, 346, 467, 468, 291, 466, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 382, 0, 0, 0, 0, 0, 0, 0, 0, 253, + 0, 0, 0, 0, 337, 250, 0, 0, 396, 0, + 197, 0, 440, 237, 347, 344, 473, 265, 256, 252, + 236, 292, 354, 394, 460, 388, 0, 341, 0, 0, + 450, 367, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, + 196, 379, 451, 269, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 224, 0, 231, 321, 330, 329, 310, 311, 313, - 315, 320, 327, 333, 0, 0, 0, 0, 0, 247, - 295, 254, 246, 469, 0, 0, 0, 0, 0, 0, - 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 257, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 278, 0, 367, 239, 0, - 0, 0, 0, 505, 0, 0, 0, 0, 0, 0, - 0, 335, 0, 304, 192, 211, 0, 0, 377, 420, - 426, 0, 0, 0, 237, 0, 424, 391, 488, 219, - 266, 417, 397, 422, 404, 269, 0, 0, 423, 341, - 474, 411, 485, 506, 507, 245, 371, 496, 463, 502, - 520, 212, 242, 385, 456, 491, 446, 364, 470, 471, - 303, 445, 276, 195, 339, 512, 210, 432, 228, 217, - 476, 494, 271, 415, 202, 458, 483, 225, 436, 0, - 0, 522, 204, 481, 455, 360, 300, 301, 203, 0, - 416, 250, 274, 240, 380, 478, 479, 238, 523, 214, - 501, 206, 0, 500, 373, 473, 482, 361, 351, 205, - 480, 359, 350, 306, 325, 326, 262, 285, 409, 344, - 410, 286, 369, 368, 370, 198, 492, 0, 199, 0, - 451, 493, 524, 220, 221, 223, 0, 261, 265, 273, - 275, 281, 282, 289, 337, 384, 408, 406, 412, 0, - 468, 486, 497, 504, 510, 511, 513, 514, 515, 516, - 517, 519, 518, 372, 288, 447, 305, 342, 0, 0, - 390, 425, 226, 490, 448, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 525, 526, 527, 528, - 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, - 539, 540, 541, 542, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 543, 352, 438, 487, 307, 319, - 322, 312, 331, 0, 332, 308, 309, 314, 316, 317, - 318, 323, 324, 328, 334, 234, 0, 191, 207, 338, - 0, 413, 270, 521, 499, 495, 0, 209, 0, 244, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 193, 194, 200, 208, 218, 222, 229, 243, 258, - 260, 267, 279, 284, 287, 292, 293, 296, 302, 348, - 354, 355, 356, 357, 2988, 375, 376, 379, 382, 383, - 386, 388, 389, 392, 396, 400, 401, 402, 403, 405, - 407, 414, 419, 427, 428, 429, 430, 431, 434, 435, - 440, 441, 442, 443, 444, 452, 453, 457, 475, 477, - 489, 503, 508, 433, 280, 484, 509, 0, 347, 0, - 0, 349, 263, 283, 294, 0, 498, 454, 213, 421, - 272, 201, 232, 216, 241, 256, 259, 298, 358, 365, - 394, 399, 277, 253, 230, 418, 227, 437, 460, 461, - 462, 464, 362, 248, 398, 0, 363, 345, 466, 467, - 290, 465, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 381, 0, 0, 0, 0, 0, 0, - 0, 0, 252, 0, 0, 0, 0, 336, 249, 0, - 0, 395, 0, 197, 0, 439, 236, 346, 343, 472, - 264, 255, 251, 235, 291, 353, 393, 459, 387, 0, - 340, 0, 0, 449, 366, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 297, 233, 299, 196, 378, 450, 268, 0, 0, 0, - 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 224, 0, 231, 321, 330, 329, - 310, 311, 313, 315, 320, 327, 333, 0, 0, 0, - 0, 0, 247, 295, 254, 246, 469, 0, 0, 0, - 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 257, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 278, 0, - 367, 239, 0, 0, 0, 0, 505, 0, 0, 0, - 0, 0, 0, 0, 335, 0, 304, 192, 211, 0, - 0, 377, 420, 426, 0, 0, 0, 237, 0, 424, - 391, 488, 219, 266, 417, 397, 422, 404, 269, 0, - 0, 423, 341, 474, 411, 485, 506, 507, 245, 371, - 496, 463, 502, 520, 212, 242, 385, 456, 491, 446, - 364, 470, 471, 303, 445, 276, 195, 339, 512, 210, - 432, 228, 217, 476, 494, 271, 415, 202, 458, 483, - 225, 436, 0, 0, 522, 204, 481, 455, 360, 300, - 301, 203, 0, 416, 250, 274, 240, 380, 478, 479, - 238, 523, 214, 501, 206, 0, 500, 373, 473, 482, - 361, 351, 205, 480, 359, 350, 306, 325, 326, 262, - 285, 409, 344, 410, 286, 369, 368, 370, 198, 492, - 0, 199, 0, 451, 493, 524, 220, 221, 223, 0, - 261, 265, 273, 275, 281, 282, 289, 337, 384, 408, - 406, 412, 0, 468, 486, 497, 504, 510, 511, 513, - 514, 515, 516, 517, 519, 518, 372, 288, 447, 305, - 342, 0, 0, 390, 425, 226, 490, 448, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 525, + 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, + 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, + 296, 255, 247, 470, 0, 0, 0, 0, 0, 0, + 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 279, 0, 368, 240, 0, + 0, 0, 0, 506, 0, 0, 0, 0, 0, 0, + 0, 336, 0, 305, 192, 212, 0, 0, 378, 421, + 427, 0, 0, 0, 238, 0, 425, 392, 489, 220, + 267, 418, 398, 423, 405, 270, 0, 0, 424, 342, + 475, 412, 486, 507, 508, 246, 372, 497, 464, 503, + 521, 213, 243, 386, 457, 492, 447, 365, 471, 472, + 304, 446, 277, 195, 340, 513, 211, 433, 229, 218, + 477, 495, 272, 416, 203, 459, 484, 226, 437, 0, + 0, 523, 205, 482, 456, 361, 301, 302, 204, 0, + 417, 251, 275, 241, 381, 479, 480, 239, 524, 215, + 502, 207, 0, 501, 374, 474, 483, 362, 352, 206, + 481, 360, 351, 307, 326, 327, 263, 286, 410, 345, + 411, 287, 370, 369, 371, 198, 493, 0, 199, 0, + 452, 494, 525, 221, 222, 224, 0, 262, 266, 274, + 276, 282, 283, 290, 338, 385, 409, 407, 413, 0, + 469, 487, 498, 505, 511, 512, 514, 515, 516, 517, + 518, 520, 519, 373, 289, 448, 306, 343, 0, 0, + 391, 426, 227, 491, 449, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 544, 353, 439, 488, 308, 320, + 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, + 319, 324, 325, 329, 335, 235, 201, 0, 191, 208, + 339, 0, 414, 271, 522, 500, 496, 0, 210, 0, + 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 781, 0, + 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, + 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, + 349, 355, 356, 357, 358, 375, 376, 377, 380, 383, + 384, 387, 389, 390, 393, 397, 401, 402, 403, 404, + 406, 408, 415, 420, 428, 429, 430, 431, 432, 435, + 436, 441, 442, 443, 444, 445, 453, 454, 458, 476, + 478, 490, 504, 509, 434, 281, 485, 510, 0, 348, + 0, 0, 350, 264, 284, 295, 0, 499, 455, 214, + 422, 273, 202, 233, 217, 242, 257, 260, 299, 359, + 366, 395, 400, 278, 254, 231, 419, 228, 438, 461, + 462, 463, 465, 363, 249, 399, 0, 364, 346, 467, + 468, 291, 466, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 382, 0, 0, 0, 0, 0, + 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, + 0, 0, 396, 0, 197, 0, 440, 237, 347, 344, + 473, 265, 256, 252, 236, 292, 354, 394, 460, 388, + 0, 341, 0, 0, 450, 367, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 298, 234, 300, 196, 379, 451, 269, 0, 0, + 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, + 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, + 0, 0, 0, 248, 296, 255, 247, 470, 0, 0, + 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 601, 0, 279, + 0, 368, 240, 0, 0, 0, 0, 506, 0, 0, + 0, 0, 0, 0, 0, 336, 0, 305, 192, 212, + 0, 0, 378, 421, 427, 0, 0, 0, 238, 0, + 425, 392, 489, 220, 267, 418, 398, 423, 405, 270, + 0, 0, 424, 342, 475, 412, 486, 507, 508, 246, + 372, 497, 464, 503, 521, 213, 243, 386, 457, 492, + 447, 365, 471, 472, 304, 446, 277, 195, 340, 513, + 211, 433, 229, 218, 477, 495, 272, 416, 203, 459, + 484, 226, 437, 0, 0, 523, 205, 482, 456, 361, + 301, 302, 204, 0, 417, 251, 275, 241, 381, 479, + 480, 239, 524, 215, 502, 207, 0, 501, 374, 474, + 483, 362, 352, 206, 481, 360, 351, 307, 326, 327, + 263, 286, 410, 345, 411, 287, 370, 369, 371, 198, + 493, 0, 199, 0, 452, 494, 525, 221, 222, 224, + 0, 262, 266, 274, 276, 282, 283, 290, 338, 385, + 409, 407, 413, 0, 469, 487, 498, 505, 511, 512, + 514, 515, 516, 517, 518, 520, 519, 373, 289, 448, + 306, 343, 0, 0, 391, 426, 227, 491, 449, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, - 536, 537, 538, 539, 540, 541, 542, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 543, 352, 438, - 487, 307, 319, 322, 312, 331, 0, 332, 308, 309, - 314, 316, 317, 318, 323, 324, 328, 334, 234, 0, - 191, 207, 338, 0, 413, 270, 521, 499, 495, 0, - 209, 0, 244, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 193, 194, 200, 208, 218, 222, - 229, 243, 258, 260, 267, 279, 284, 287, 292, 293, - 296, 302, 348, 354, 355, 356, 357, 374, 375, 376, - 379, 382, 383, 386, 388, 389, 392, 396, 400, 401, - 402, 403, 405, 407, 414, 419, 427, 428, 429, 430, - 431, 434, 435, 440, 441, 442, 443, 444, 452, 453, - 457, 475, 477, 489, 503, 508, 433, 280, 484, 509, - 0, 347, 0, 0, 349, 263, 283, 294, 0, 498, - 454, 213, 421, 272, 201, 232, 216, 241, 256, 259, - 298, 358, 365, 394, 399, 277, 253, 230, 418, 227, - 437, 460, 461, 462, 464, 362, 248, 398, 0, 363, - 345, 466, 467, 290, 465, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 381, 0, 0, 0, - 0, 0, 0, 0, 0, 252, 0, 0, 0, 0, - 336, 249, 0, 0, 395, 0, 197, 0, 439, 236, - 346, 343, 472, 264, 255, 251, 235, 291, 353, 393, - 459, 387, 0, 340, 0, 0, 449, 366, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 297, 233, 299, 196, 378, 450, 268, - 0, 0, 0, 0, 188, 2611, 190, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 224, 0, 231, - 321, 330, 329, 310, 311, 313, 315, 320, 327, 333, - 0, 0, 0, 0, 0, 247, 295, 254, 246, 469, - 0, 0, 0, 0, 0, 0, 0, 215, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 278, 0, 367, 239, 0, 0, 0, 0, 505, - 0, 0, 0, 0, 0, 0, 0, 335, 0, 304, - 192, 211, 0, 0, 377, 420, 426, 0, 0, 0, - 237, 0, 424, 391, 488, 219, 266, 417, 397, 422, - 404, 269, 0, 0, 423, 341, 474, 411, 485, 506, - 507, 245, 371, 496, 463, 502, 520, 212, 242, 385, - 456, 491, 446, 364, 470, 471, 303, 445, 276, 195, - 339, 512, 210, 432, 228, 217, 476, 494, 271, 415, - 202, 458, 483, 225, 436, 0, 0, 522, 204, 481, - 455, 360, 300, 301, 203, 0, 416, 250, 274, 240, - 380, 478, 479, 238, 523, 214, 501, 206, 0, 500, - 373, 473, 482, 361, 351, 205, 480, 359, 350, 306, - 325, 326, 262, 285, 409, 344, 410, 286, 369, 368, - 370, 198, 492, 0, 199, 0, 451, 493, 524, 220, - 221, 223, 0, 261, 265, 273, 275, 281, 282, 289, - 337, 384, 408, 406, 412, 0, 468, 486, 497, 504, - 510, 511, 513, 514, 515, 516, 517, 519, 518, 372, - 288, 447, 305, 342, 0, 0, 390, 425, 226, 490, - 448, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 525, 526, 527, 528, 529, 530, 531, 532, - 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 536, 537, 538, 539, 540, 541, 542, 543, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 544, 353, + 439, 488, 308, 320, 323, 313, 332, 0, 333, 309, + 310, 315, 317, 318, 319, 324, 325, 329, 335, 235, + 201, 0, 191, 208, 339, 0, 414, 271, 522, 500, + 496, 0, 210, 0, 245, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, + 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, + 293, 294, 297, 303, 349, 355, 356, 357, 358, 375, + 376, 377, 380, 383, 384, 387, 389, 390, 393, 397, + 401, 402, 403, 404, 406, 408, 415, 420, 428, 429, + 430, 431, 432, 435, 436, 441, 442, 443, 444, 445, + 453, 454, 458, 476, 478, 490, 504, 509, 434, 600, + 485, 510, 0, 348, 0, 0, 350, 264, 284, 295, + 0, 499, 455, 214, 422, 273, 202, 233, 217, 242, + 257, 260, 299, 359, 366, 395, 400, 278, 254, 231, + 419, 228, 438, 461, 462, 463, 465, 363, 249, 399, + 0, 364, 346, 467, 468, 291, 466, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 382, 0, + 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, + 0, 0, 337, 250, 0, 0, 396, 0, 197, 0, + 440, 237, 347, 344, 473, 265, 256, 252, 236, 292, + 354, 394, 460, 388, 0, 341, 0, 0, 450, 367, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 298, 234, 300, 196, 379, + 451, 269, 0, 0, 0, 0, 188, 189, 190, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, + 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, + 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, + 247, 470, 0, 0, 0, 0, 0, 0, 0, 216, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 279, 0, 368, 240, 0, 0, 547, + 0, 506, 0, 0, 0, 0, 0, 0, 0, 336, + 0, 305, 192, 212, 0, 0, 378, 421, 427, 0, + 0, 0, 238, 0, 425, 392, 489, 220, 267, 418, + 398, 423, 405, 270, 0, 0, 424, 342, 475, 412, + 486, 507, 508, 246, 372, 497, 464, 503, 521, 213, + 243, 386, 457, 492, 447, 365, 471, 472, 304, 446, + 277, 195, 340, 513, 211, 433, 229, 218, 477, 495, + 272, 416, 203, 459, 484, 226, 437, 0, 0, 523, + 205, 482, 456, 361, 301, 302, 204, 0, 417, 251, + 275, 241, 381, 479, 480, 239, 524, 215, 502, 207, + 0, 501, 374, 474, 483, 362, 352, 206, 481, 360, + 351, 307, 326, 327, 263, 286, 410, 345, 411, 287, + 370, 369, 371, 198, 493, 0, 199, 0, 452, 494, + 525, 221, 222, 224, 0, 262, 266, 274, 276, 282, + 283, 290, 338, 385, 409, 407, 413, 0, 469, 487, + 498, 505, 511, 512, 514, 515, 516, 517, 518, 520, + 519, 373, 289, 448, 306, 343, 0, 0, 391, 426, + 227, 491, 449, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 526, 527, 528, 529, 530, 531, + 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, + 542, 543, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 544, 353, 439, 488, 308, 320, 323, 313, + 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, + 325, 329, 335, 235, 201, 0, 191, 208, 339, 0, + 414, 271, 522, 500, 496, 0, 210, 0, 245, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, + 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, + 356, 357, 358, 375, 376, 377, 380, 383, 384, 387, + 389, 390, 393, 397, 401, 402, 403, 404, 406, 408, + 415, 420, 428, 429, 430, 431, 432, 435, 436, 441, + 442, 443, 444, 445, 453, 454, 458, 476, 478, 490, + 504, 509, 434, 281, 485, 510, 0, 348, 0, 0, + 350, 264, 284, 295, 0, 499, 455, 214, 422, 273, + 202, 233, 217, 242, 257, 260, 299, 359, 366, 395, + 400, 278, 254, 231, 419, 228, 438, 461, 462, 463, + 465, 363, 249, 399, 0, 364, 346, 467, 468, 291, + 466, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, + 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, + 396, 0, 197, 0, 440, 237, 347, 344, 473, 265, + 256, 252, 236, 292, 354, 394, 460, 388, 0, 341, + 0, 0, 450, 367, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, + 234, 300, 196, 379, 451, 269, 0, 0, 0, 0, + 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, + 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, + 0, 248, 296, 255, 247, 470, 0, 0, 0, 0, + 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 279, 0, 368, + 240, 0, 0, 0, 0, 506, 0, 0, 0, 0, + 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, + 378, 421, 427, 0, 0, 0, 238, 0, 425, 392, + 489, 220, 267, 418, 398, 423, 405, 270, 0, 0, + 424, 342, 475, 412, 486, 507, 508, 246, 372, 497, + 464, 503, 521, 213, 243, 386, 457, 492, 447, 365, + 471, 472, 304, 446, 277, 195, 340, 513, 211, 433, + 229, 218, 477, 495, 272, 416, 203, 459, 484, 226, + 437, 0, 0, 523, 205, 482, 456, 361, 301, 302, + 204, 0, 417, 251, 275, 241, 381, 479, 480, 239, + 524, 215, 502, 207, 0, 501, 374, 474, 483, 362, + 352, 206, 481, 360, 351, 307, 326, 327, 263, 286, + 410, 345, 411, 287, 370, 369, 371, 198, 493, 0, + 199, 0, 452, 494, 525, 221, 222, 224, 0, 262, + 266, 274, 276, 282, 283, 290, 338, 385, 409, 407, + 413, 0, 469, 487, 498, 505, 511, 512, 514, 515, + 516, 517, 518, 520, 519, 373, 289, 448, 306, 343, + 0, 0, 391, 426, 227, 491, 449, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, + 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 544, 353, 439, 488, + 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, + 317, 318, 319, 324, 325, 329, 335, 235, 201, 0, + 191, 208, 339, 0, 414, 271, 522, 500, 496, 0, + 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, + 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, + 297, 303, 349, 355, 356, 357, 358, 2995, 376, 377, + 380, 383, 384, 387, 389, 390, 393, 397, 401, 402, + 403, 404, 406, 408, 415, 420, 428, 429, 430, 431, + 432, 435, 436, 441, 442, 443, 444, 445, 453, 454, + 458, 476, 478, 490, 504, 509, 434, 281, 485, 510, + 0, 348, 0, 0, 350, 264, 284, 295, 0, 499, + 455, 214, 422, 273, 202, 233, 217, 242, 257, 260, + 299, 359, 366, 395, 400, 278, 254, 231, 419, 228, + 438, 461, 462, 463, 465, 363, 249, 399, 0, 364, + 346, 467, 468, 291, 466, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 382, 0, 0, 0, + 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, + 337, 250, 0, 0, 396, 0, 197, 0, 440, 237, + 347, 344, 473, 265, 256, 252, 236, 292, 354, 394, + 460, 388, 0, 341, 0, 0, 450, 367, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 298, 234, 300, 196, 379, 451, 269, + 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, + 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, + 0, 0, 0, 0, 0, 248, 296, 255, 247, 470, + 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 543, 352, 438, 487, 307, 319, 322, 312, 331, 0, - 332, 308, 309, 314, 316, 317, 318, 323, 324, 328, - 334, 234, 0, 191, 207, 338, 0, 413, 270, 521, - 499, 495, 0, 209, 0, 244, 0, 0, 0, 0, + 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, - 208, 218, 222, 229, 243, 258, 260, 267, 279, 284, - 287, 292, 293, 296, 302, 348, 354, 355, 356, 357, - 374, 375, 376, 379, 382, 383, 386, 388, 389, 392, - 396, 400, 401, 402, 403, 405, 407, 414, 419, 427, - 428, 429, 430, 431, 434, 435, 440, 441, 442, 443, - 444, 452, 453, 457, 475, 477, 489, 503, 508, 433, - 280, 484, 509, 0, 347, 0, 0, 349, 263, 283, - 294, 0, 498, 454, 213, 421, 272, 201, 232, 216, - 241, 256, 259, 298, 358, 365, 394, 399, 277, 253, - 230, 418, 227, 437, 460, 461, 462, 464, 362, 248, - 398, 0, 363, 345, 466, 467, 290, 465, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, - 0, 0, 0, 0, 0, 0, 0, 0, 252, 0, - 0, 0, 0, 336, 249, 0, 0, 395, 0, 197, - 0, 439, 236, 346, 343, 472, 264, 255, 251, 235, - 291, 353, 393, 459, 387, 0, 340, 0, 0, 449, - 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 297, 233, 299, 196, - 378, 450, 268, 0, 0, 0, 0, 188, 2124, 190, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 224, 0, 231, 321, 330, 329, 310, 311, 313, 315, - 320, 327, 333, 0, 0, 0, 0, 0, 247, 295, - 254, 246, 469, 0, 0, 0, 0, 0, 0, 0, - 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 257, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 278, 0, 367, 239, 0, 0, - 0, 0, 505, 0, 0, 0, 0, 0, 0, 0, - 335, 0, 304, 192, 211, 0, 0, 377, 420, 426, - 0, 0, 0, 237, 0, 424, 391, 488, 219, 266, - 417, 397, 422, 404, 269, 0, 0, 423, 341, 474, - 411, 485, 506, 507, 245, 371, 496, 463, 502, 520, - 212, 242, 385, 456, 491, 446, 364, 470, 471, 303, - 445, 276, 195, 339, 512, 210, 432, 228, 217, 476, - 494, 271, 415, 202, 458, 483, 225, 436, 0, 0, - 522, 204, 481, 455, 360, 300, 301, 203, 0, 416, - 250, 274, 240, 380, 478, 479, 238, 523, 214, 501, - 206, 0, 500, 373, 473, 482, 361, 351, 205, 480, - 359, 350, 306, 325, 326, 262, 285, 409, 344, 410, - 286, 369, 368, 370, 198, 492, 0, 199, 0, 451, - 493, 524, 220, 221, 223, 0, 261, 265, 273, 275, - 281, 282, 289, 337, 384, 408, 406, 412, 0, 468, - 486, 497, 504, 510, 511, 513, 514, 515, 516, 517, - 519, 518, 372, 288, 447, 305, 342, 0, 0, 390, - 425, 226, 490, 448, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 525, 526, 527, 528, 529, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 279, 0, 368, 240, 0, 0, 0, 0, 506, + 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, + 192, 212, 0, 0, 378, 421, 427, 0, 0, 0, + 238, 0, 425, 392, 489, 220, 267, 418, 398, 423, + 405, 270, 0, 0, 424, 342, 475, 412, 486, 507, + 508, 246, 372, 497, 464, 503, 521, 213, 243, 386, + 457, 492, 447, 365, 471, 472, 304, 446, 277, 195, + 340, 513, 211, 433, 229, 218, 477, 495, 272, 416, + 203, 459, 484, 226, 437, 0, 0, 523, 205, 482, + 456, 361, 301, 302, 204, 0, 417, 251, 275, 241, + 381, 479, 480, 239, 524, 215, 502, 207, 0, 501, + 374, 474, 483, 362, 352, 206, 481, 360, 351, 307, + 326, 327, 263, 286, 410, 345, 411, 287, 370, 369, + 371, 198, 493, 0, 199, 0, 452, 494, 525, 221, + 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, + 338, 385, 409, 407, 413, 0, 469, 487, 498, 505, + 511, 512, 514, 515, 516, 517, 518, 520, 519, 373, + 289, 448, 306, 343, 0, 0, 391, 426, 227, 491, + 449, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 544, 353, 439, 488, 308, 320, 323, 313, 332, 0, + 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, + 335, 235, 201, 0, 191, 208, 339, 0, 414, 271, + 522, 500, 496, 0, 210, 0, 245, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, + 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, + 285, 288, 293, 294, 297, 303, 349, 355, 356, 357, + 358, 375, 376, 377, 380, 383, 384, 387, 389, 390, + 393, 397, 401, 402, 403, 404, 406, 408, 415, 420, + 428, 429, 430, 431, 432, 435, 436, 441, 442, 443, + 444, 445, 453, 454, 458, 476, 478, 490, 504, 509, + 434, 281, 485, 510, 0, 348, 0, 0, 350, 264, + 284, 295, 0, 499, 455, 214, 422, 273, 202, 233, + 217, 242, 257, 260, 299, 359, 366, 395, 400, 278, + 254, 231, 419, 228, 438, 461, 462, 463, 465, 363, + 249, 399, 0, 364, 346, 467, 468, 291, 466, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 382, 0, 0, 0, 0, 0, 0, 0, 0, 253, + 0, 0, 0, 0, 337, 250, 0, 0, 396, 0, + 197, 0, 440, 237, 347, 344, 473, 265, 256, 252, + 236, 292, 354, 394, 460, 388, 0, 341, 0, 0, + 450, 367, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, + 196, 379, 451, 269, 0, 0, 0, 0, 188, 2617, + 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, + 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, + 296, 255, 247, 470, 0, 0, 0, 0, 0, 0, + 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 279, 0, 368, 240, 0, + 0, 0, 0, 506, 0, 0, 0, 0, 0, 0, + 0, 336, 0, 305, 192, 212, 0, 0, 378, 421, + 427, 0, 0, 0, 238, 0, 425, 392, 489, 220, + 267, 418, 398, 423, 405, 270, 0, 0, 424, 342, + 475, 412, 486, 507, 508, 246, 372, 497, 464, 503, + 521, 213, 243, 386, 457, 492, 447, 365, 471, 472, + 304, 446, 277, 195, 340, 513, 211, 433, 229, 218, + 477, 495, 272, 416, 203, 459, 484, 226, 437, 0, + 0, 523, 205, 482, 456, 361, 301, 302, 204, 0, + 417, 251, 275, 241, 381, 479, 480, 239, 524, 215, + 502, 207, 0, 501, 374, 474, 483, 362, 352, 206, + 481, 360, 351, 307, 326, 327, 263, 286, 410, 345, + 411, 287, 370, 369, 371, 198, 493, 0, 199, 0, + 452, 494, 525, 221, 222, 224, 0, 262, 266, 274, + 276, 282, 283, 290, 338, 385, 409, 407, 413, 0, + 469, 487, 498, 505, 511, 512, 514, 515, 516, 517, + 518, 520, 519, 373, 289, 448, 306, 343, 0, 0, + 391, 426, 227, 491, 449, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 543, 352, 438, 487, 307, 319, 322, - 312, 331, 0, 332, 308, 309, 314, 316, 317, 318, - 323, 324, 328, 334, 234, 0, 191, 207, 338, 0, - 413, 270, 521, 499, 495, 0, 209, 0, 244, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 193, 194, 200, 208, 218, 222, 229, 243, 258, 260, - 267, 279, 284, 287, 292, 293, 296, 302, 348, 354, - 355, 356, 357, 374, 375, 376, 379, 382, 383, 386, - 388, 389, 392, 396, 400, 401, 402, 403, 405, 407, - 414, 419, 427, 428, 429, 430, 431, 434, 435, 440, - 441, 442, 443, 444, 452, 453, 457, 475, 477, 489, - 503, 508, 433, 280, 484, 509, 0, 347, 0, 0, - 349, 263, 283, 294, 0, 498, 454, 213, 421, 272, - 201, 232, 216, 241, 256, 259, 298, 358, 365, 394, - 399, 277, 253, 230, 418, 227, 437, 460, 461, 462, - 464, 362, 248, 398, 0, 0, 345, 466, 467, 290, + 540, 541, 542, 543, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 544, 353, 439, 488, 308, 320, + 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, + 319, 324, 325, 329, 335, 235, 201, 0, 191, 208, + 339, 0, 414, 271, 522, 500, 496, 0, 210, 0, + 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, + 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, + 349, 355, 356, 357, 358, 375, 376, 377, 380, 383, + 384, 387, 389, 390, 393, 397, 401, 402, 403, 404, + 406, 408, 415, 420, 428, 429, 430, 431, 432, 435, + 436, 441, 442, 443, 444, 445, 453, 454, 458, 476, + 478, 490, 504, 509, 434, 281, 485, 510, 0, 348, + 0, 0, 350, 264, 284, 295, 0, 499, 455, 214, + 422, 273, 202, 233, 217, 242, 257, 260, 299, 359, + 366, 395, 400, 278, 254, 231, 419, 228, 438, 461, + 462, 463, 465, 363, 249, 399, 0, 364, 346, 467, + 468, 291, 466, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 382, 0, 0, 0, 0, 0, + 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, + 0, 0, 396, 0, 197, 0, 440, 237, 347, 344, + 473, 265, 256, 252, 236, 292, 354, 394, 460, 388, + 0, 341, 0, 0, 450, 367, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 298, 234, 300, 196, 379, 451, 269, 0, 0, + 0, 0, 188, 2129, 190, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, + 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, + 0, 0, 0, 248, 296, 255, 247, 470, 0, 0, + 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, + 0, 368, 240, 0, 0, 0, 0, 506, 0, 0, + 0, 0, 0, 0, 0, 336, 0, 305, 192, 212, + 0, 0, 378, 421, 427, 0, 0, 0, 238, 0, + 425, 392, 489, 220, 267, 418, 398, 423, 405, 270, + 0, 0, 424, 342, 475, 412, 486, 507, 508, 246, + 372, 497, 464, 503, 521, 213, 243, 386, 457, 492, + 447, 365, 471, 472, 304, 446, 277, 195, 340, 513, + 211, 433, 229, 218, 477, 495, 272, 416, 203, 459, + 484, 226, 437, 0, 0, 523, 205, 482, 456, 361, + 301, 302, 204, 0, 417, 251, 275, 241, 381, 479, + 480, 239, 524, 215, 502, 207, 0, 501, 374, 474, + 483, 362, 352, 206, 481, 360, 351, 307, 326, 327, + 263, 286, 410, 345, 411, 287, 370, 369, 371, 198, + 493, 0, 199, 0, 452, 494, 525, 221, 222, 224, + 0, 262, 266, 274, 276, 282, 283, 290, 338, 385, + 409, 407, 413, 0, 469, 487, 498, 505, 511, 512, + 514, 515, 516, 517, 518, 520, 519, 373, 289, 448, + 306, 343, 0, 0, 391, 426, 227, 491, 449, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, + 536, 537, 538, 539, 540, 541, 542, 543, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 544, 353, + 439, 488, 308, 320, 323, 313, 332, 0, 333, 309, + 310, 315, 317, 318, 319, 324, 325, 329, 335, 235, + 201, 0, 191, 208, 339, 0, 414, 271, 522, 500, + 496, 0, 210, 0, 245, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, + 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, + 293, 294, 297, 303, 349, 355, 356, 357, 358, 375, + 376, 377, 380, 383, 384, 387, 389, 390, 393, 397, + 401, 402, 403, 404, 406, 408, 415, 420, 428, 429, + 430, 431, 432, 435, 436, 441, 442, 443, 444, 445, + 453, 454, 458, 476, 478, 490, 504, 509, 434, 281, + 485, 510, 0, 348, 0, 0, 350, 264, 284, 295, + 0, 499, 455, 214, 422, 273, 202, 233, 217, 242, + 257, 260, 299, 359, 366, 395, 400, 278, 254, 231, + 419, 228, 438, 461, 462, 463, 465, 363, 249, 399, + 0, 0, 346, 467, 468, 291, } var yyPact = [...]int{ - 3748, -1000, -408, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 3934, -1000, -411, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 2009, 2043, -1000, -1000, - -1000, -1000, 2165, -1000, 687, 1763, -1000, 2026, 344, -1000, - 41912, 447, -1000, 40706, 444, 3032, 41912, -1000, 122, -1000, - 109, 41912, 117, 40103, -1000, -1000, -291, 17782, 1959, 0, - -1, 41912, -1000, -1000, -1000, -1000, 2132, 1718, -1000, 325, - -1000, -1000, -1000, -1000, -1000, -1000, 39500, -1000, -1000, -1000, - 2040, 2004, 2178, 588, 1952, -1000, 2074, 1718, -1000, 17782, - 2108, 2056, 17179, -1000, 17179, 393, -1000, -1000, 12948, -1000, - -1000, 23822, 41912, 29852, 322, -1000, 2026, -1000, -1000, -1000, - 84, -1000, 280, 1641, -1000, 1631, -1000, 619, 736, 317, - 427, 413, 316, 311, 308, 305, 290, 289, 288, 284, - 326, -1000, 607, 607, -159, -168, 490, 392, 370, 370, - 421, 1990, 1989, -1000, 611, -1000, 607, 607, 607, 291, - 607, 607, 607, 607, 242, 241, 607, 607, 607, 607, - 607, 607, 607, 607, 607, 607, 607, 607, 607, 607, - 607, 607, 607, 304, 2026, 192, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 2030, 2227, -1000, -1000, + -1000, -1000, 2191, -1000, 802, 1773, -1000, 2019, 3636, -1000, + 41925, 541, -1000, 40717, 537, 313, 41925, -1000, 183, -1000, + 166, 41925, 178, 40113, -1000, -1000, -314, 17755, 1973, 38, + 37, 41925, -1000, -1000, -1000, -1000, 2143, 1762, -1000, 335, + -1000, -1000, -1000, -1000, -1000, -1000, 39509, -1000, -1000, -1000, + 2022, 2027, 2197, 714, 1965, -1000, 2098, 1762, -1000, 17755, + 2133, 2076, 17151, -1000, 17151, 402, -1000, -1000, 12913, -1000, + -1000, 23805, 41925, 29845, 325, -1000, 2019, -1000, -1000, -1000, + 100, -1000, 329, 1601, -1000, 1594, -1000, 500, 612, 355, + 477, 476, 354, 352, 351, 350, 349, 345, 344, 340, + 364, -1000, 757, 757, -180, -185, 3337, 517, 401, 401, + 439, 1991, 1987, -1000, 646, -1000, 757, 757, 757, 303, + 757, 757, 757, 757, 315, 312, 757, 757, 757, 757, + 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, + 757, 757, 757, 300, 2019, 290, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, @@ -5868,36 +5872,36 @@ var yyPact = [...]int{ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 41912, 131, 41912, -1000, 505, 41912, - 747, 747, 16, 747, 747, 747, 747, 123, 617, -7, - -1000, 121, 182, 99, 180, 754, 205, -1000, -1000, 177, - 754, 1247, -1000, 594, 101, -1000, 747, 747, -1000, 10516, - 172, 10516, 10516, -1000, 2012, -1000, -1000, -1000, -1000, 1243, - -1000, 420, -1000, -1000, -1000, -1000, 41912, 38897, 338, 656, - -1000, -1000, -1000, 73, -1000, -1000, 1433, 864, 17782, 913, - -1000, 2253, 558, -1000, -1000, -1000, -1000, -1000, 483, 18385, - 18385, 18385, 18385, -1000, -1000, 1661, 1661, 1661, 1661, 18385, - 1661, 18385, 1661, 1661, 1661, 1661, 17782, 1661, 1661, 1661, - -1000, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, - 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, - 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, - 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, - 1661, 1661, 504, 1661, 1661, 1661, 1661, 1661, -1000, -1000, - -1000, -1000, 1661, 1661, 1661, 1661, 1661, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 21405, -1000, 15370, -1000, + -1000, -1000, -1000, -1000, -1000, 41925, 260, 41925, -1000, 647, + 41925, 867, 867, 108, 867, 867, 867, 867, 163, 624, + 33, -1000, 152, 283, 146, 291, 870, 204, -1000, -1000, + 277, 870, 1254, -1000, 733, 137, -1000, 867, 867, -1000, + 10477, 148, 10477, 10477, -1000, 2006, -1000, -1000, -1000, -1000, + 1189, -1000, 437, -1000, -1000, -1000, -1000, 41925, 38905, 399, + 775, -1000, -1000, -1000, 74, -1000, -1000, 1371, 1049, 17755, + 1406, -1000, 836, 695, -1000, -1000, -1000, -1000, -1000, 614, + 18359, 18359, 18359, 18359, -1000, -1000, 1511, 1511, 1511, 1511, + 18359, 1511, 18359, 1511, 1511, 1511, 1511, 17755, 1511, 1511, + 1511, -1000, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, + 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, + 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, + 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, + 1511, 1511, 1511, 1511, 645, 1511, 1511, 1511, 1511, 1511, + -1000, -1000, -1000, -1000, 1511, 1511, 1511, 1511, 1511, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 21384, -1000, + 15339, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 41912, - -1000, 1661, 137, 41912, 41912, 294, 2074, 1718, -1000, 2132, - 2088, 325, -1000, 2240, 1436, 1478, 1220, 1718, 1612, 41912, - -1000, 1669, -1000, -1000, -1000, 1860, 1156, 1246, -1000, -1000, - -1000, -1000, 1210, 17782, -1000, -1000, 2147, -1000, 20802, 498, - 865, 2143, 38294, -1000, 393, 393, 1628, 12340, -31, -1000, - -1000, -1000, 650, 27440, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 41925, -1000, 1511, 223, 41925, 41925, 359, 2098, 1762, + -1000, 2143, 2188, 335, -1000, 2158, 1556, 1353, 1232, 1762, + 1531, 41925, -1000, 1621, -1000, -1000, -1000, 1901, 1165, 1253, + -1000, -1000, -1000, -1000, 1335, 17755, -1000, -1000, 2174, -1000, + 20780, 641, 879, 2172, 38301, -1000, 402, 402, 1579, 12304, + 2, -1000, -1000, -1000, 774, 27429, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 2012, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 2006, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, @@ -5910,261 +5914,262 @@ var yyPact = [...]int{ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 1662, 41912, -1000, -1000, - 5372, 1225, -1000, 1762, -1000, 1635, -1000, 1709, 17782, 1735, - 441, 1225, 433, 432, 426, -1000, -93, -1000, -1000, -1000, - -1000, -1000, -1000, 607, 607, 607, -1000, 301, 2102, 344, - 4811, -1000, -1000, -1000, 37691, 1761, 1225, -1000, 1758, -1000, - 740, 474, 533, 533, 1225, -1000, -1000, 41912, 1225, 730, - 729, 1225, 1225, 41912, 41912, -1000, 37088, -1000, 36485, 35882, - 1066, 41912, 35279, 34676, 34073, 33470, 32867, -1000, 1885, -1000, - 1759, -1000, -1000, -1000, 41912, 1225, 1225, 41912, 41912, 286, - -1000, -1000, 41912, 1225, -1000, -1000, 1064, 1060, 1059, 607, - 607, 1058, 1245, 1236, 1218, 607, 607, 1055, 1212, 28646, - 1211, 191, 1030, 1023, 1020, 1088, 1208, 197, 1203, 1063, - 1008, 1014, 41912, 1753, 41912, -1000, 173, 631, 403, 629, - 2026, 1937, 1624, 409, 437, 1225, 379, 379, 41912, -1000, - 11124, -1000, -1000, 1202, 17782, -1000, 756, 754, 754, -1000, - -1000, -1000, -1000, -1000, -1000, 747, 41912, 756, -1000, -1000, - -1000, 754, 747, 41912, 747, 747, 747, 747, 754, 754, - 754, 747, 41912, 41912, 41912, 41912, 41912, 41912, 41912, 41912, - 41912, 10516, 594, 747, -317, -1000, 1197, -1000, 1831, -1000, - -1000, -1000, -1000, -1000, -1000, 10516, 10516, -1000, -1000, -1000, - -1000, 116, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -87, 1619, 32264, -1000, -319, -321, -323, -324, -1000, - -1000, -1000, -327, -335, -1000, -1000, -1000, 17782, 17782, 17782, - 17782, -191, -1000, 900, 18385, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 873, 835, 18385, 18385, 18385, 18385, 18385, 18385, - 18385, 18385, 18385, 18385, 18385, 18385, 18385, 18385, 18385, 25631, - 5873, 5873, 558, 558, 558, 558, -1000, 17179, 17782, 17782, - 558, -1000, 1225, 31661, 17179, 17179, 17782, 1995, 680, 864, - 41912, -1000, 1220, -1000, -1000, -1000, 943, -1000, 709, 41912, - 41912, 1343, 17782, 17782, 17782, 17782, 17782, 17782, 14159, 17782, - 17782, 17782, 17782, 17782, 17782, 17782, 17782, 17782, 17782, 17782, - 17782, 17782, 17782, 17782, 17782, 17782, 17782, 17782, 17782, 17782, - 17782, 17782, 17782, 17782, 17782, 13556, 11124, 17179, 17179, 17179, - 17179, 17179, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 497, 1424, 1503, 1499, -1000, 1617, - -1000, -127, 23219, 17782, 1191, 2141, 1757, 41912, -1000, -1000, - -1000, 2074, -1000, 2074, 1424, 2171, 1887, 17179, -1000, -1000, - 2171, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1398, - -1000, 41912, 1612, 2053, 41912, 1874, 1174, 277, -1000, 17782, - 17782, 1608, -1000, 993, 41912, -1000, -191, -1000, 31058, -1000, - -1000, 9908, -1000, 41912, 278, 41912, -1000, 22616, 30455, 11732, - -31, -1000, 11732, 1497, -1000, -27, -46, 14762, 555, -1000, - -1000, -1000, 490, 19591, 1357, 555, 29, -1000, -1000, -1000, - 1709, -1000, 1709, 1709, 1709, 1709, 277, 277, 277, 277, - -1000, -1000, -1000, -1000, -1000, 1745, 1739, -1000, 1709, 1709, - 1709, 1709, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1738, - 1738, 1738, 1712, 1712, 356, -1000, 17782, 312, 29852, 2039, - 1012, 1240, 173, 381, 1751, 1225, 1225, 1225, 381, -1000, - 1315, 1310, 1107, -1000, -400, 1589, -1000, -1000, 2099, -1000, - -1000, 676, 794, 781, 812, 41912, 142, 273, -1000, 372, - -1000, 29852, 1225, 723, 533, 1225, -1000, 1225, -1000, -1000, - -1000, -1000, -1000, 1225, -1000, -1000, 1545, -1000, 1664, 854, - 774, 834, 762, 1545, -1000, -1000, -133, 1545, -1000, 1545, - -1000, 1545, -1000, 1545, -1000, 1545, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 666, 161, -237, 41912, 142, - 25631, -1000, 397, -1000, -1000, -1000, 25631, 25631, -1000, -1000, - -1000, -1000, 1170, 1168, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1726, 41925, + -1000, -1000, 4117, 1245, -1000, 1767, -1000, 1720, -1000, 1717, + 17755, 1707, 531, 1245, 486, 485, 461, -1000, -65, -1000, + -1000, -1000, -1000, -1000, -1000, 757, 757, 757, -1000, 353, + 2130, 3636, 5820, -1000, -1000, -1000, 37697, 1766, 1245, -1000, + 1763, -1000, 821, 504, 596, 596, 1245, -1000, -1000, 41925, + 1245, 819, 818, 1245, 1245, 41925, 41925, -1000, 37093, -1000, + 36489, 35885, 1100, 41925, 35281, 34677, 34073, 33469, 32865, -1000, + 1923, -1000, 1849, -1000, -1000, -1000, 41925, 1245, 1245, 41925, + 41925, 324, -1000, -1000, 41925, 1245, -1000, -1000, 1097, 1096, + 1089, 757, 757, 1086, 1249, 1248, 1247, 757, 757, 1077, + 1244, 28637, 1235, 274, 1071, 1058, 1056, 1124, 1224, 189, + 1220, 1083, 957, 1055, 41925, 1757, 41925, -1000, 261, 747, + 552, 773, 2019, 1967, 1559, 434, 526, 1245, 421, 421, + 41925, -1000, 11086, -1000, -1000, 1218, 17755, -1000, 872, 870, + 870, -1000, -1000, -1000, -1000, -1000, -1000, 867, 41925, 872, + -1000, -1000, -1000, 870, 867, 41925, 867, 867, 867, 867, + 870, 870, 870, 867, 41925, 41925, 41925, 41925, 41925, 41925, + 41925, 41925, 41925, 10477, 733, 867, -318, -1000, 1210, -1000, + 1883, -1000, -1000, -1000, -1000, -1000, -1000, 10477, 10477, -1000, + -1000, -1000, -1000, 174, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -87, 1543, 32261, -1000, -319, -320, -323, + -324, -1000, -1000, -1000, -329, -330, -1000, -1000, -1000, 17755, + 17755, 17755, 17755, -213, -1000, 991, 18359, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 968, 761, 18359, 18359, 18359, 18359, + 18359, 18359, 18359, 18359, 18359, 18359, 18359, 18359, 18359, 18359, + 18359, 25617, 4538, 4538, 695, 695, 695, 695, -1000, 17151, + 17755, 17755, 695, -1000, 1245, 31657, 17151, 17151, 17755, 2010, + 780, 1049, 41925, -1000, 1232, -1000, -1000, -1000, 1080, -1000, + 2010, 852, 41925, 41925, 80, 17755, 17755, 17755, 17755, 17755, + 17755, 14126, 17755, 17755, 17755, 17755, 17755, 17755, 17755, 17755, + 17755, 17755, 17755, 17755, 17755, 17755, 17755, 17755, 17755, 17755, + 17755, 17755, 17755, 17755, 17755, 17755, 17755, 17755, 13522, 11086, + 17151, 17151, 17151, 17151, 17151, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 635, 1875, 1359, + 1567, -1000, 1540, -1000, -158, 23201, 17755, 1202, 2169, 1802, + 41925, -1000, -1000, -1000, 2098, -1000, 2098, 1875, 2016, 1911, + 17151, -1000, -1000, 2016, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 1326, -1000, 41925, 1531, 2069, 41925, 1891, 1201, + 422, -1000, 17755, 17755, 1519, -1000, 1169, 41925, -1000, -213, + -1000, 31053, -1000, -1000, 9868, -1000, 41925, 338, 41925, -1000, + 22597, 30449, 11695, 2, -1000, 11695, 1453, -1000, 8, -4, + 14730, 694, -1000, -1000, -1000, 3337, 19567, 1338, 694, 82, + -1000, -1000, -1000, 1717, -1000, 1717, 1717, 1717, 1717, 422, + 422, 422, 422, -1000, -1000, -1000, -1000, -1000, 1751, 1750, + -1000, 1717, 1717, 1717, 1717, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 1746, 1746, 1746, 1730, 1730, 392, -1000, 17755, + 282, 29845, 2038, 1050, 1503, 261, 424, 1791, 1245, 1245, + 1245, 424, -1000, 1476, 1456, 1334, -1000, -402, 1517, -1000, + -1000, 2126, -1000, -1000, 692, 841, 839, 703, 41925, 236, + 334, -1000, 385, -1000, 29845, 1245, 815, 596, 1245, -1000, + 1245, -1000, -1000, -1000, -1000, -1000, 1245, -1000, -1000, 1514, + -1000, 1565, 895, 837, 894, 833, 1514, -1000, -1000, -116, + 1514, -1000, 1514, -1000, 1514, -1000, 1514, -1000, 1514, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 763, 143, + -234, 41925, 236, 25617, -1000, 431, -1000, -1000, -1000, 25617, + 25617, -1000, -1000, -1000, -1000, 1184, 1183, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -388, 41912, -1000, 157, 621, 259, 296, - 228, 41912, 225, 2064, 2063, 2060, 159, 240, 41912, 41912, - 379, 1829, 41912, 2047, 41912, -1000, -1000, -1000, -1000, -1000, - 864, 41912, -1000, -1000, 747, 747, -1000, -1000, 41912, 747, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 747, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 41912, -1000, -1000, -1000, -1000, 41912, - -1000, -1000, -1000, -1000, -1000, 162, -29, 307, -1000, -1000, - -1000, -1000, -1000, 2070, -1000, 864, 739, 688, -1000, 1661, - -1000, -1000, 869, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 873, 18385, 18385, 18385, 1476, 419, 1026, 1252, 787, 727, - 727, 844, 844, 562, 562, 562, 562, 562, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 1167, -1000, 1596, -1000, - 1126, 1539, 1220, -1000, 1596, 1596, 984, 17179, -1000, -1000, - 725, -1000, 17782, 1220, -1000, -1000, 1220, 1220, 1220, 17782, - -1000, 1530, 1527, 2140, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -388, 41925, -1000, 258, + 766, 316, 347, 323, 41925, 240, 2084, 2079, 2074, 286, + 310, 41925, 41925, 421, 1858, 41925, 2043, 41925, -1000, -1000, + -1000, -1000, -1000, 1049, 41925, -1000, -1000, 867, 867, -1000, + -1000, 41925, 867, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 867, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 41925, -1000, -1000, + -1000, -1000, 41925, -1000, -1000, -1000, -1000, -1000, 150, 1, + 318, -1000, -1000, -1000, -1000, -1000, 2094, -1000, 1049, 805, + 795, -1000, 1511, -1000, -1000, 1031, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 968, 18359, 18359, 18359, 1598, 460, 1510, + 898, 913, 878, 878, 846, 846, 700, 700, 700, 700, + 700, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1179, + -1000, 1638, -1000, 1706, 1267, 1232, -1000, 1638, 1638, 1329, + 17151, -1000, -1000, 784, -1000, 17755, 1232, -1000, -1000, 1232, + 1232, 17755, 1232, 17755, -1000, 1505, 1502, 2166, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 1101, 1240, 1240, 1240, 1240, - 1240, 17782, 1222, -1000, -1000, -1000, 1896, 1891, 1220, 1433, - 1220, 1509, -1000, 1884, 1240, 1879, 1822, 1806, 1296, 1795, - 1784, 1776, 1240, 1240, 1240, 1370, 1748, 1742, 1734, 1730, - 1720, 1715, 1694, 1658, 1648, 1240, 1220, 17179, 17179, 1507, - 1661, 496, -1000, 1596, 1220, 1220, 1596, 1596, 11124, 1220, - -1000, 41912, -1000, -311, -1000, -42, 553, 1661, -1000, 28646, - 1220, -1000, 5583, -1000, 43118, -1000, -1000, -1000, -1000, -1000, - 26837, 1728, 2171, -1000, -1000, 1661, 1633, -1000, -1000, 277, - 33, 26234, 551, 551, 56, 864, 864, 17782, -1000, -1000, - -1000, -1000, -1000, -1000, 493, 2122, 300, 1661, -1000, 1592, - 1986, -1000, -1000, -1000, 2052, 20199, -1000, 1661, 1661, 41912, - 1654, 1652, -1000, 492, -1000, 1497, -31, -49, -1000, -1000, - -1000, -1000, 864, -1000, 1056, 281, 2698, -1000, 374, -1000, - -1000, -1000, -1000, 1973, 20, -1000, -1000, -1000, 186, 277, - -1000, -1000, -1000, -1000, -1000, -1000, 1164, 1164, -1000, -1000, - -1000, -1000, -1000, 1011, -1000, -1000, -1000, 1007, -1000, -1000, - 1594, 1827, 312, -1000, -1000, 607, 1159, -1000, -1000, 1975, - 607, 607, 41912, -1000, -1000, 1342, 2039, 157, 41912, 694, - 1825, -1000, 1751, 1751, 1751, 41912, -1000, -1000, -1000, -1000, - -1000, -1000, -390, 69, 306, -1000, -1000, -1000, 4160, 41912, - 1604, -1000, 140, -1000, 1337, -1000, 41912, -1000, 1601, 1732, - 1225, 1225, -1000, -1000, -1000, 41912, 1661, -1000, -1000, -1000, - -1000, 422, 2014, 257, -1000, -1000, -208, -1000, -1000, 142, - 140, 555, 1225, -1000, -1000, -1000, -1000, -1000, -391, 1599, - 424, 146, 255, 41912, 41912, 41912, 41912, 41912, 472, -1000, - -1000, -1000, -1000, 129, -1000, -1000, 129, -1000, -1000, -1000, - -1000, 194, 395, -1000, 41912, 41912, 521, -1000, -1000, -1000, - 754, -1000, -1000, 754, -1000, -1000, -1000, -1000, -1000, 2010, - 41912, -30, -363, -1000, -360, 17782, -1000, -1000, -1000, -1000, - 1394, 418, 1026, 18385, 18385, 17179, -128, 578, 578, 25631, - -1000, -1000, -1000, 17782, 17782, 1384, 658, -1000, 17782, 959, - -1000, -1000, -1000, -1000, 1240, 17782, 17782, 17782, 1220, 230, - -1000, -1000, -1000, -1000, -1000, 2139, -1000, 17782, 17782, 17782, - -1000, -1000, 17782, 17782, -1000, 17782, 17782, 18988, 1220, 18988, - 17782, 17782, 18988, -1000, -1000, -1000, -1000, 18988, 17782, 17782, - 17782, 17782, 17782, 17782, 17782, 17782, 17782, -1000, -1000, 1596, - 1596, 17179, 11124, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 553, -1000, 533, 533, 533, 41912, -1000, - -1000, -1000, -1000, -1000, -1000, 1494, 2067, -1000, 1902, 1898, - 2131, 2122, -1000, 22616, 2171, -1000, -1000, 41912, -290, -1000, - 1931, 1960, 551, 551, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 9300, 2074, 17782, 1821, 41912, 1661, -1000, 22013, 41912, - 41912, 22616, 22616, 22616, 22616, 22616, -1000, 1852, 1851, -1000, - 1858, 1840, 1859, 41912, -1000, 1566, 1220, 2088, 20199, 325, - 17782, 24425, 1490, 22616, -1000, -1000, 22616, 41912, 8692, -1000, - -1000, -32, -43, -1000, -1000, -1000, -1000, 490, -1000, -1000, - 1190, 2051, 1963, -1000, -1000, -1000, -1000, -1000, 1562, -1000, - 1559, 1477, 1533, 161, -1000, 1663, 2006, 607, 607, -1000, - 1005, -1000, 1225, 1155, 1154, -1000, -1000, -1000, 423, -1000, - 2044, 41912, 1820, 1818, 1813, -1000, -398, 997, 1726, 1659, - 17782, 1722, 2097, 1447, 41912, -1000, -1000, 41912, -1000, 195, - -1000, 312, 41912, -1000, -1000, -1000, 273, 41912, -1000, 6708, - -1000, -1000, -1000, 140, -1000, -1000, -1000, -1000, -1000, -1000, - 41912, 153, -1000, 1717, 1201, -1000, -1000, 1724, -1000, -1000, - -1000, -1000, 132, 256, 126, 1150, 126, -1000, 41912, 508, - 1827, 41912, -1000, -1000, -1000, 747, 747, -1000, -1000, 2003, - -1000, 1225, 1240, 18385, 18385, -1000, 558, -1000, 1661, 1220, - 1709, 1709, -1000, 1709, 1712, -1000, 1709, 92, 1709, 87, - 1709, -1000, -1000, 1220, 1220, 1198, 1205, -100, -1000, 864, - 17782, -1000, 1578, 1574, 1240, -1000, 1707, 1703, 17782, 1240, - 1240, 1240, -1000, 864, 1296, 1569, 1403, -1000, -1000, -1000, - -1000, 1458, 1240, 1564, -285, 1220, 1501, 1501, 1501, 1501, - 1501, 1499, 1499, 1499, 1499, -1000, -1000, 1220, -1000, -1000, - 2068, 2068, 2068, 1483, 42515, 41912, -1000, -1000, -1000, -1000, - 2122, 2120, 1455, -1000, -1000, 33, 342, -1000, 1915, 1960, - -1000, 2095, 1925, 2094, -1000, -1000, -1000, -1000, -1000, 864, - -1000, 2032, 1301, -1000, 615, 1426, -1000, -1000, 16576, 1488, - 1881, 491, 1483, 1423, 1986, 1785, 1803, 1923, -1000, -1000, - -1000, -1000, 1844, -1000, 1832, -1000, -1000, 1669, -1000, -1000, - 1503, 1220, 1363, 278, 22616, 1418, 1418, -1000, 489, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 809, 6362, 2174, -1000, - 1149, -1000, 1021, 219, 992, -1000, -1000, 607, 607, -1000, - 720, 713, -1000, 41912, 1697, -1000, 277, 1148, 277, 989, - -1000, 957, -1000, -1000, -1000, -1000, 1754, 1824, -1000, -1000, - -1000, -1000, 41912, -1000, -1000, 41912, 41912, 41912, 1696, 2092, - -1000, 17782, 1693, 608, 1535, 41912, 41912, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 373, 607, - -370, 196, 193, 607, 607, 607, -399, -1000, -1000, 1464, - 1460, -1000, -165, -1000, 17782, -1000, -1000, -1000, 961, 961, - -1000, 1669, -1000, -1000, -1000, 1287, -1000, -1000, -135, 41912, - 41912, 41912, 41912, -1000, 931, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 558, 18385, -1000, - -1000, 277, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 17782, -1000, 17782, -1000, 2074, 1142, 864, 17782, 17782, - -1000, 953, 946, 1240, -1000, -1000, -1000, 1220, 18988, -1000, - 18988, -1000, 17782, 229, 578, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 1661, 1994, 1661, 1661, - 24425, -1000, -1000, 2120, 2118, 2091, 1919, 1916, 1916, 1915, - -1000, 2090, 2086, -1000, 1139, 2081, 1137, 701, -1000, 41912, - 17782, 1661, -1000, 315, 41912, 1661, 41912, -1000, 2114, -1000, - -1000, 17782, 1672, -1000, 17782, -1000, -1000, -1000, -1000, -1000, - -1000, 5873, 2122, 1418, -1000, -1000, 577, -1000, 17782, -1000, - -1000, -1000, 4511, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 1135, 1130, -1000, -1000, 1670, 17782, -1000, -1000, -1000, - 1277, 1275, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 1669, -1000, -1000, -1000, -1000, 273, -397, 1531, 41912, 919, - -1000, 1430, 1447, 258, 1661, 1129, 607, 607, 607, 911, - 904, 28646, 1416, -1000, 41912, 343, -1000, 273, -1000, -170, - -171, 1240, -1000, -1000, 2050, -1000, -1000, 11124, -1000, -1000, - 1668, 1743, -1000, -1000, -1000, 524, -1000, 1240, 1240, 1220, - -1000, 1240, 1240, 1269, 1259, -1000, -1000, 1403, -1000, 1117, - -1000, 229, 1220, 1801, -1000, -1000, 5873, -1000, 25028, -1000, - 2080, 2078, 29249, 29249, 553, 2118, -1000, 17782, 17782, 1894, - 862, -1000, -1000, -1000, -1000, 1123, 1122, -1000, 1114, -1000, - 2163, -1000, 864, -1000, 1661, -1000, 482, 1426, -1000, 2074, - 864, 41912, 864, 7, 2114, -1000, 1240, -1000, 1661, 1661, - 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, - 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, - 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, 1661, - 1661, -1000, -1000, 41912, 1215, -1000, -1000, 2049, 1387, 66, - -1000, 1374, -1000, -1000, 453, -1000, 17782, -1000, 28646, 1113, - 1082, -1000, -1000, -1000, -1000, -399, -1000, -1000, -1000, -1000, - -1000, -1000, 325, 1435, -1000, 604, 41912, 41912, 1220, 274, - -145, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 17782, -1000, 1220, 1799, -1000, -239, -1000, 1372, -1000, -1000, - -1000, -1000, -1000, 1372, 1372, -1000, -1000, 864, 1433, -1000, - 861, -1000, -1000, -1000, -1000, -1000, 41912, 1426, 41912, -1000, - 1336, 1220, 1661, 2074, -1000, 1307, -1000, 325, -1000, 1650, - 1659, -1000, -1000, -1000, 15973, -1000, -1000, -1000, -1000, -1000, - 198, -134, 11124, 8084, 1298, -1000, -1000, 1873, -131, -152, - 1296, -1000, -339, -1000, -1000, 28043, -1000, -1000, -1000, -1000, - -1000, 1376, -1000, -1000, 24425, 41309, -1000, -126, 282, -134, - 17782, 1504, 1220, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -8, -1000, -1000, -1000, -1000, -1000, 1724, -1000, 1868, - -1000, 1220, -1000, -1000, -1000, 1293, -1000, 5113, -242, 1798, - -1000, -82, -1000, -1000, -1000, 764, 1074, -1000, -1000, -1000, - -1000, -1000, -1000, 1040, 41912, -1000, 353, -1000, -1000, -135, - -141, -1000, -1000, 41309, -236, 555, 5873, -1000, 1791, 1781, - 2128, -1000, -1000, -1000, -1000, -1000, -1000, -405, 1284, 168, - -1000, -148, -1000, -1000, 2042, 7, -1000, 2161, -1000, 2158, - 591, 591, -1000, 872, -405, -1000, -153, -243, -1000, -1000, - -1000, -1000, -1000, 330, 880, -1000, -1000, -1000, -1000, 5873, - -1000, -1000, -1000, 209, 209, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 958, + 1503, 1503, 1503, 1503, 1503, 17755, 1241, -1000, -1000, -1000, + 1897, 1885, 1232, 1371, 1232, 1494, -1000, 1842, 1503, 1788, + 1783, 1777, 1370, 1769, 1764, 1752, 1503, 1503, 1503, 1227, + 1748, 1735, 1724, 1702, 1695, 1689, 1661, 1655, 1647, 1503, + 1232, 17151, 17151, 1475, 1511, 630, -1000, 1638, 1232, 1232, + 1638, 1638, 11086, 1232, -1000, 41925, -1000, -310, -1000, -28, + 723, 1511, -1000, 28637, 1232, -1000, 6714, -1000, 43133, -1000, + -1000, -1000, -1000, -1000, 26825, 1434, 2016, -1000, -1000, 1511, + 1718, -1000, -1000, 422, 66, 26221, 690, 690, 165, 1049, + 1049, 17755, -1000, -1000, -1000, -1000, -1000, -1000, 623, 2144, + 341, 1511, -1000, 1491, 2005, -1000, -1000, -1000, 2065, 20176, + -1000, 1511, 1511, 41925, 1697, 1626, -1000, 622, -1000, 1453, + 2, -25, -1000, -1000, -1000, -1000, 1049, -1000, 1322, 339, + 3064, -1000, 413, -1000, -1000, -1000, -1000, 1979, 59, -1000, + -1000, -1000, 203, 422, -1000, -1000, -1000, -1000, -1000, -1000, + 1177, 1177, -1000, -1000, -1000, -1000, -1000, 1038, -1000, -1000, + -1000, 1037, -1000, -1000, 1639, 1839, 282, -1000, -1000, 757, + 1174, -1000, -1000, 1981, 757, 757, 41925, -1000, -1000, 1319, + 2038, 258, 41925, 789, 1852, -1000, 1791, 1791, 1791, 41925, + -1000, -1000, -1000, -1000, -1000, -1000, -390, 64, 348, -1000, + -1000, -1000, 5614, 41925, 1714, -1000, 232, -1000, 1296, -1000, + 41925, -1000, 1692, 1743, 1245, 1245, -1000, -1000, -1000, 41925, + 1511, -1000, -1000, -1000, -1000, 502, 2012, 239, -1000, -1000, + -230, -1000, -1000, 236, 232, 694, 1245, -1000, -1000, -1000, + -1000, -1000, -391, 1642, 445, 242, 322, 41925, 41925, 41925, + 41925, 41925, 566, -1000, -1000, -1000, -1000, 193, -1000, -1000, + 193, -1000, -1000, -1000, -1000, 298, 428, -1000, 41925, 41925, + 610, -1000, -1000, -1000, 870, -1000, -1000, 870, -1000, -1000, + -1000, -1000, -1000, 1999, 41925, -12, -351, -1000, -347, 17755, + -1000, -1000, -1000, -1000, 1271, 459, 1510, 18359, 18359, 17151, + -105, 576, 576, 25617, -1000, -1000, -1000, 17755, 17755, 1465, + 762, -1000, 17755, 950, -1000, -1000, -1000, 1503, -1000, 1503, + 17755, 17755, 17755, 1232, 273, -1000, -1000, -1000, -1000, -1000, + 2152, -1000, 17755, 17755, 17755, -1000, -1000, 17755, 17755, -1000, + 17755, 17755, 18963, 1232, 18963, 17755, 17755, 18963, -1000, -1000, + -1000, -1000, 18963, 17755, 17755, 17755, 17755, 17755, 17755, 17755, + 17755, 17755, -1000, -1000, 1638, 1638, 17151, 11086, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 723, -1000, + 596, 596, 596, 41925, -1000, -1000, -1000, -1000, -1000, -1000, + 1432, 2087, -1000, 1929, 1918, 2148, 2144, -1000, 22597, 2016, + -1000, -1000, 41925, -304, -1000, 1962, 1926, 690, 690, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 9259, 2098, 17755, 1838, + 41925, 1511, -1000, 21993, 41925, 41925, 22597, 22597, 22597, 22597, + 22597, -1000, 1873, 1872, -1000, 1886, 1869, 1898, 41925, -1000, + 1634, 1232, 2188, 20176, 335, 17755, 24409, 1301, 22597, -1000, + -1000, 22597, 41925, 8650, -1000, -1000, -17, -10, -1000, -1000, + -1000, -1000, 3337, -1000, -1000, 245, 2060, 1977, -1000, -1000, + -1000, -1000, -1000, 1608, -1000, 1604, 1425, 1599, 143, -1000, + 1666, 1996, 757, 757, -1000, 1030, -1000, 1245, 1163, 1157, + -1000, -1000, -1000, 443, -1000, 2041, 41925, 1836, 1830, 1828, + -1000, -399, 1029, 1738, 1652, 17755, 1734, 2125, 1383, 41925, + -1000, -1000, 41925, -1000, 284, -1000, 282, 41925, -1000, -1000, + -1000, 334, 41925, -1000, 6672, -1000, -1000, -1000, 232, -1000, + -1000, -1000, -1000, -1000, -1000, 41925, 270, -1000, 1733, 1133, + -1000, -1000, 1778, -1000, -1000, -1000, -1000, 176, 306, 188, + 1151, 188, -1000, 41925, 597, 1839, 41925, -1000, -1000, -1000, + 867, 867, -1000, -1000, 1994, -1000, 1245, 1503, 18359, 18359, + -1000, 695, -1000, 1511, 1232, 1717, 1717, -1000, 1717, 1730, + -1000, 1717, 141, 1717, 135, 1717, -1000, -1000, 1232, 1232, + 1130, 1101, -74, -1000, 1049, 17755, -1000, -1000, 1633, 1615, + 1503, -1000, 1712, 1704, 17755, 1503, 1503, 1503, -1000, 1049, + 1370, 1607, 1450, -1000, -1000, -1000, -1000, 1409, 1503, 1580, + -302, 1232, 1573, 1573, 1573, 1573, 1573, 1567, 1567, 1567, + 1567, -1000, -1000, 1232, -1000, -1000, 2093, 2093, 2093, 1533, + 42529, 41925, -1000, -1000, -1000, -1000, 2144, 2142, 1401, -1000, + -1000, 66, 400, -1000, 1950, 1926, -1000, 2119, 1957, 2118, + -1000, -1000, -1000, -1000, -1000, 1049, -1000, 2007, 1315, -1000, + 764, 1342, -1000, -1000, 16547, 1537, 1914, 564, 1533, 1535, + 2005, 1801, 1823, 2302, -1000, -1000, -1000, -1000, 1871, -1000, + 1859, -1000, -1000, 1621, -1000, -1000, 1359, 1232, 1390, 338, + 22597, 1385, 1385, -1000, 560, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 859, 6542, 2195, -1000, 1150, -1000, 1306, 198, + 1027, -1000, -1000, 757, 757, -1000, 814, 813, -1000, 41925, + 1663, -1000, 422, 1149, 422, 1021, -1000, 1017, -1000, -1000, + -1000, -1000, 1827, 1915, -1000, -1000, -1000, -1000, 41925, -1000, + -1000, 41925, 41925, 41925, 1658, 2114, -1000, 17755, 1654, 760, + 1576, 41925, 41925, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 447, 757, -370, 302, 295, 757, + 757, 757, -400, -1000, -1000, 1528, 1526, -1000, -139, -1000, + 17755, -1000, -1000, -1000, 1074, 1074, -1000, 1621, -1000, -1000, + -1000, 1282, -1000, -1000, -118, 41925, 41925, 41925, 41925, -1000, + 1009, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 695, 18359, -1000, -1000, 422, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 17755, -1000, 17755, + -1000, 2098, 1145, 1049, 17755, 17755, -1000, 1016, 1004, 1503, + -1000, -1000, -1000, 1232, 18963, -1000, 18963, -1000, 17755, 234, + 576, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 1511, 1998, 1511, 1511, 24409, -1000, -1000, 2142, + 2137, 2111, 1930, 1946, 1946, 1950, -1000, 2108, 2107, -1000, + 1137, 2104, 1136, 811, -1000, 41925, 17755, 1511, -1000, 289, + 41925, 1511, 41925, -1000, 2135, -1000, -1000, 17755, 1637, -1000, + 17755, -1000, -1000, -1000, -1000, -1000, -1000, 4538, 2144, 1385, + -1000, -1000, 706, -1000, 17755, -1000, -1000, -1000, 4213, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1135, 1132, -1000, + -1000, 1623, 17755, -1000, -1000, -1000, 1280, 1276, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 1621, -1000, -1000, -1000, + -1000, 334, -395, 1544, 41925, 995, -1000, 1485, 1383, 321, + 1511, 1131, 757, 757, 757, 989, 976, 28637, 1483, -1000, + 41925, 365, -1000, 334, -1000, -189, -192, 1503, -1000, -1000, + 2051, -1000, -1000, 11086, -1000, -1000, 1614, 1784, -1000, -1000, + -1000, 304, -1000, 1503, 1503, 1232, -1000, 1503, 1503, 1273, + 1269, -1000, -1000, 1450, -1000, 982, -1000, 234, 1232, 1820, + -1000, -1000, 4538, -1000, 25013, -1000, 2103, 2102, 29241, 29241, + 723, 2137, -1000, 17755, 17755, 1942, 903, -1000, -1000, -1000, + -1000, 1128, 1119, -1000, 1117, -1000, 2189, -1000, 1049, -1000, + 1511, -1000, 557, 1342, -1000, 2098, 1049, 41925, 1049, 54, + 2135, -1000, 1503, -1000, 1511, 1511, 1511, 1511, 1511, 1511, + 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, + 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, + 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, -1000, -1000, + 41925, 1186, -1000, -1000, 2028, 1447, 63, -1000, 1423, -1000, + -1000, 503, -1000, 17755, -1000, 28637, 1114, 1110, -1000, -1000, + -1000, -1000, -400, -1000, -1000, -1000, -1000, -1000, -1000, 335, + 1379, -1000, 748, 41925, 41925, 1232, 294, -125, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 17755, -1000, 1232, + 1818, -1000, -247, -1000, 1416, -1000, -1000, -1000, -1000, -1000, + 1416, 1416, -1000, -1000, 1049, 1371, -1000, 901, -1000, -1000, + -1000, -1000, -1000, 41925, 1342, 41925, -1000, 1414, 1232, 1511, + 2098, -1000, 1356, -1000, 335, -1000, 1407, 1652, -1000, -1000, + -1000, 15943, -1000, -1000, -1000, -1000, -1000, 227, -117, 11086, + 8041, 1272, -1000, -1000, 1888, -109, -140, 1370, -1000, -340, + -1000, -1000, 28033, -1000, -1000, -1000, -1000, -1000, 1330, -1000, + -1000, 24409, 41321, -1000, -103, 314, -117, 17755, 1360, 1232, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -23, -1000, + -1000, -1000, -1000, -1000, 1778, -1000, 1856, -1000, 1232, -1000, + -1000, -1000, 1264, -1000, 2868, -260, 1809, -1000, -108, -1000, + -1000, -1000, 844, 1105, -1000, -1000, -1000, -1000, -1000, -1000, + 1113, 41925, -1000, 387, -1000, -1000, -118, -120, -1000, -1000, + 41321, -255, 694, 4538, -1000, 1805, 1789, 2165, -1000, -1000, + -1000, -1000, -1000, -1000, -407, 1262, 266, -1000, -131, -1000, + -1000, 2036, 54, -1000, 2186, -1000, 2178, 664, 664, -1000, + 911, -407, -1000, -150, -270, -1000, -1000, -1000, -1000, -1000, + 384, 977, -1000, -1000, -1000, -1000, 4538, -1000, -1000, -1000, + 215, 215, -1000, -1000, } var yyPgo = [...]int{ - 0, 2517, 2515, 22, 2, 34, 33, 2513, 39, 107, - 193, 27, 189, 115, 2512, 2509, 2508, 2507, 2506, 2505, - 2504, 230, 223, 222, 2503, 2499, 2495, 2494, 2493, 2492, - 2491, 2490, 2489, 2485, 220, 172, 185, 2484, 2481, 2478, - 126, 180, 97, 99, 182, 2477, 2476, 92, 2475, 2474, - 2473, 198, 197, 196, 725, 2471, 178, 128, 48, 2470, - 2468, 2467, 2466, 2465, 2463, 2462, 2461, 2460, 2459, 2458, - 2455, 2454, 2452, 2451, 2450, 2449, 191, 2448, 2447, 16, - 2445, 90, 2444, 2443, 2442, 2441, 143, 2440, 2439, 2438, - 38, 2437, 2436, 2434, 2433, 2432, 2431, 2430, 155, 2429, - 2428, 2427, 173, 192, 2426, 2425, 201, 120, 122, 2424, - 2423, 124, 186, 2408, 131, 2406, 2402, 2399, 164, 2396, - 4941, 2394, 78, 76, 2391, 63, 96, 71, 67, 37, - 3, 2389, 2388, 77, 88, 2387, 110, 81, 2386, 111, - 106, 2385, 2384, 13, 8, 2379, 4, 6, 1, 80, - 2377, 2374, 125, 2373, 2372, 2371, 104, 2370, 2369, 2779, - 2368, 105, 147, 116, 84, 2367, 45, 65, 2366, 2365, - 2364, 2363, 2361, 53, 2359, 2358, 2356, 152, 73, 174, - 42, 35, 58, 153, 2355, 68, 93, 2353, 151, 150, - 2352, 60, 43, 36, 2351, 55, 148, 134, 28, 101, - 145, 2350, 2344, 74, 83, 2343, 2342, 2341, 2340, 2339, - 2338, 82, 2337, 75, 2335, 194, 2334, 14, 2333, 52, - 44, 2332, 66, 135, 79, 41, 2330, 168, 2329, 61, - 167, 144, 169, 2328, 2327, 2325, 2324, 184, 283, 2323, - 2322, 85, 179, 156, 163, 98, 2321, 284, 2320, 2319, - 102, 1546, 2071, 20, 171, 2318, 2317, 4243, 154, 23, - 25, 2313, 190, 2309, 2308, 2301, 202, 175, 136, 960, - 49, 2300, 2299, 12, 2297, 2296, 2294, 2290, 2288, 2285, - 86, 32, 31, 30, 188, 70, 10, 108, 170, 89, - 2284, 2283, 2282, 140, 103, 2281, 166, 160, 142, 130, - 2280, 176, 159, 133, 2275, 331, 29, 2262, 2261, 2260, - 2257, 100, 2256, 2255, 2250, 2249, 165, 157, 138, 94, - 2244, 95, 123, 161, 158, 50, 2240, 47, 2239, 2233, - 21, 181, 26, 2231, 11, 59, 69, 17, 118, 121, - 2228, 0, 2227, 15, 177, 292, 162, 2226, 2225, 7, - 5, 9, 2221, 2220, 2217, 2216, 149, 2208, 2206, 2205, - 2203, 19, 46, 18, 24, 127, 91, 2200, 2199, 2196, - 5231, 2769, 146, 2193, 199, + 0, 2531, 2528, 30, 5, 37, 36, 2527, 26, 111, + 188, 25, 217, 105, 2526, 2525, 2523, 2521, 2520, 2519, + 2514, 225, 224, 219, 2513, 2512, 2511, 2510, 2509, 2505, + 2500, 2499, 2498, 2497, 221, 172, 184, 2496, 2495, 2491, + 127, 178, 97, 96, 181, 2490, 2487, 90, 2486, 2483, + 2482, 209, 208, 200, 865, 2481, 203, 130, 46, 2480, + 2479, 2478, 2477, 2474, 2473, 2472, 2471, 2469, 2468, 2467, + 2466, 2465, 2464, 2461, 2460, 2458, 316, 2457, 2456, 17, + 2455, 85, 2454, 2453, 2451, 2450, 142, 2449, 2448, 2447, + 38, 2446, 2445, 2444, 2443, 2442, 2440, 2439, 156, 2438, + 2437, 2436, 169, 192, 2435, 2434, 248, 126, 123, 2433, + 2432, 119, 183, 2431, 139, 2430, 2429, 2428, 161, 2426, + 5250, 2424, 76, 70, 2422, 71, 89, 61, 74, 10, + 23, 2421, 2415, 75, 103, 2414, 118, 81, 2413, 115, + 110, 2411, 2410, 12, 7, 2409, 1, 4, 2, 77, + 2407, 2406, 133, 2405, 2404, 2403, 108, 2402, 2401, 122, + 2400, 107, 145, 120, 84, 2397, 44, 65, 2396, 2395, + 2394, 2393, 2392, 53, 2391, 2390, 2389, 154, 73, 173, + 40, 68, 52, 148, 2384, 63, 93, 2377, 153, 152, + 2376, 69, 32, 42, 2367, 39, 147, 134, 58, 100, + 149, 2365, 2363, 66, 83, 2360, 2358, 2357, 2356, 2353, + 2350, 80, 2348, 60, 2347, 193, 2344, 14, 2343, 50, + 41, 2342, 78, 125, 79, 31, 2340, 223, 2339, 49, + 171, 143, 167, 2338, 2336, 2334, 2333, 182, 274, 2332, + 2331, 86, 174, 157, 160, 102, 2330, 268, 2329, 2328, + 99, 1536, 2252, 28, 170, 2327, 2325, 3741, 155, 43, + 18, 2324, 199, 2323, 2322, 2320, 195, 168, 132, 991, + 82, 2315, 2310, 15, 2309, 2308, 2306, 2305, 2304, 2299, + 101, 35, 34, 33, 196, 59, 9, 117, 175, 88, + 2292, 2291, 2289, 136, 95, 2288, 166, 164, 140, 190, + 2287, 179, 158, 150, 2284, 131, 29, 2280, 2277, 2274, + 2271, 98, 2268, 2267, 2264, 2262, 163, 159, 135, 92, + 2261, 94, 129, 162, 165, 48, 2260, 47, 2257, 2255, + 21, 180, 24, 2253, 13, 67, 55, 22, 121, 146, + 2251, 0, 2248, 16, 177, 273, 189, 2246, 2238, 6, + 8, 11, 2236, 2235, 2232, 2231, 151, 2227, 2226, 2219, + 2218, 20, 45, 19, 3, 128, 91, 2215, 2213, 2212, + 4822, 2808, 144, 2200, 201, } -//line sql.y:7136 +//line sql.y:7142 type yySymType struct { union any empty struct{} @@ -6859,30 +6864,30 @@ var yyR1 = [...]int{ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - 173, 173, 271, 271, 337, 337, 336, 336, 335, 335, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 94, 94, 94, 94, 94, 94, 94, 94, - 94, 374, 374, 284, 284, 284, 284, 175, 175, 175, - 175, 175, 101, 101, 101, 101, 101, 268, 268, 268, - 272, 272, 272, 270, 270, 270, 270, 270, 270, 270, - 270, 270, 270, 270, 270, 270, 270, 270, 189, 189, - 97, 97, 187, 187, 188, 190, 190, 185, 185, 185, - 171, 171, 171, 191, 191, 192, 192, 193, 193, 195, - 194, 194, 196, 197, 197, 197, 198, 198, 199, 199, - 199, 47, 47, 47, 47, 47, 42, 42, 42, 42, - 43, 43, 43, 43, 112, 112, 112, 112, 114, 114, - 113, 113, 79, 79, 80, 80, 80, 118, 118, 119, - 119, 119, 116, 116, 117, 117, 215, 215, 200, 200, - 200, 207, 207, 207, 203, 203, 205, 205, 205, 206, - 206, 206, 204, 212, 212, 214, 214, 213, 213, 209, - 209, 210, 210, 211, 211, 211, 208, 208, 170, 170, - 170, 170, 170, 216, 216, 216, 216, 224, 224, 180, - 180, 182, 182, 181, 135, 225, 225, 229, 226, 226, - 230, 230, 230, 230, 230, 227, 227, 228, 228, 256, - 256, 256, 234, 234, 247, 247, 243, 243, 244, 244, - 237, 237, 249, 249, 249, 74, 179, 179, 322, 322, - 319, 252, 252, 253, 253, 257, 257, 261, 261, 258, - 258, 250, 250, 250, 250, 250, 250, 250, 250, 250, + 173, 173, 173, 271, 271, 337, 337, 336, 336, 335, + 335, 95, 95, 95, 95, 95, 95, 95, 95, 95, + 95, 95, 95, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 374, 374, 284, 284, 284, 284, 175, 175, + 175, 175, 175, 101, 101, 101, 101, 101, 268, 268, + 268, 272, 272, 272, 270, 270, 270, 270, 270, 270, + 270, 270, 270, 270, 270, 270, 270, 270, 270, 189, + 189, 97, 97, 187, 187, 188, 190, 190, 185, 185, + 185, 171, 171, 171, 191, 191, 192, 192, 193, 193, + 195, 194, 194, 196, 197, 197, 197, 198, 198, 199, + 199, 199, 47, 47, 47, 47, 47, 42, 42, 42, + 42, 43, 43, 43, 43, 112, 112, 112, 112, 114, + 114, 113, 113, 79, 79, 80, 80, 80, 118, 118, + 119, 119, 119, 116, 116, 117, 117, 215, 215, 200, + 200, 200, 207, 207, 207, 203, 203, 205, 205, 205, + 206, 206, 206, 204, 212, 212, 214, 214, 213, 213, + 209, 209, 210, 210, 211, 211, 211, 208, 208, 170, + 170, 170, 170, 170, 216, 216, 216, 216, 224, 224, + 180, 180, 182, 182, 181, 135, 225, 225, 229, 226, + 226, 230, 230, 230, 230, 230, 227, 227, 228, 228, + 256, 256, 256, 234, 234, 247, 247, 243, 243, 244, + 244, 237, 237, 249, 249, 249, 74, 179, 179, 322, + 322, 319, 252, 252, 253, 253, 257, 257, 261, 261, + 258, 258, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, @@ -6896,7 +6901,7 @@ var yyR1 = [...]int{ 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, - 250, 250, 250, 250, 250, 250, 250, 250, 251, 251, + 250, 250, 250, 250, 250, 250, 250, 250, 250, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, @@ -6932,7 +6937,7 @@ var yyR1 = [...]int{ 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, - 251, 370, 371, 266, 267, 267, 267, + 251, 251, 251, 370, 371, 266, 267, 267, 267, } var yyR2 = [...]int{ @@ -7040,34 +7045,34 @@ var yyR2 = [...]int{ 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 4, 5, 5, 6, 4, 4, 8, 6, 8, 6, 8, 5, - 4, 2, 2, 1, 2, 2, 2, 4, 5, 8, - 8, 6, 5, 4, 4, 4, 4, 4, 7, 4, - 6, 6, 6, 4, 4, 4, 7, 8, 6, 5, - 6, 8, 11, 7, 8, 8, 9, 4, 4, 4, - 4, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 4, 0, 2, 0, 2, 1, 3, 1, 1, + 4, 2, 2, 1, 2, 2, 2, 5, 4, 5, + 8, 8, 6, 5, 4, 4, 4, 4, 4, 7, + 4, 6, 6, 6, 4, 4, 4, 7, 8, 6, + 5, 6, 8, 11, 7, 8, 8, 9, 4, 4, + 4, 4, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 4, 0, 2, 0, 2, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 0, 2, 0, 2, 3, 3, 4, 4, 4, - 4, 4, 0, 3, 4, 7, 3, 1, 1, 1, - 0, 5, 5, 2, 3, 1, 2, 2, 1, 2, - 1, 2, 2, 1, 2, 2, 1, 1, 0, 1, - 0, 2, 1, 2, 4, 0, 2, 1, 3, 5, - 1, 2, 2, 0, 3, 0, 2, 0, 1, 3, - 1, 3, 2, 0, 1, 1, 0, 1, 2, 4, - 4, 0, 2, 2, 1, 1, 3, 3, 3, 3, - 3, 3, 3, 3, 0, 3, 3, 3, 0, 3, - 1, 1, 0, 4, 0, 1, 1, 0, 3, 1, - 3, 2, 1, 1, 0, 1, 2, 4, 9, 3, - 5, 0, 3, 3, 0, 1, 0, 2, 2, 0, - 2, 2, 2, 0, 2, 1, 2, 3, 3, 0, - 2, 1, 2, 3, 4, 3, 0, 1, 2, 1, - 5, 4, 4, 1, 3, 3, 5, 0, 5, 1, - 3, 1, 2, 3, 1, 1, 3, 3, 1, 3, - 3, 3, 3, 3, 2, 1, 2, 1, 1, 1, - 1, 1, 1, 1, 0, 1, 0, 2, 0, 3, - 0, 1, 0, 1, 1, 5, 0, 1, 0, 1, - 2, 1, 1, 1, 1, 1, 1, 0, 1, 1, + 1, 1, 0, 2, 0, 2, 3, 3, 4, 4, + 4, 4, 4, 0, 3, 4, 7, 3, 1, 1, + 1, 0, 5, 5, 2, 3, 1, 2, 2, 1, + 2, 1, 2, 2, 1, 2, 2, 1, 1, 0, + 1, 0, 2, 1, 2, 4, 0, 2, 1, 3, + 5, 1, 2, 2, 0, 3, 0, 2, 0, 1, + 3, 1, 3, 2, 0, 1, 1, 0, 1, 2, + 4, 4, 0, 2, 2, 1, 1, 3, 3, 3, + 3, 3, 3, 3, 3, 0, 3, 3, 3, 0, + 3, 1, 1, 0, 4, 0, 1, 1, 0, 3, + 1, 3, 2, 1, 1, 0, 1, 2, 4, 9, + 3, 5, 0, 3, 3, 0, 1, 0, 2, 2, + 0, 2, 2, 2, 0, 2, 1, 2, 3, 3, + 0, 2, 1, 2, 3, 4, 3, 0, 1, 2, + 1, 5, 4, 4, 1, 3, 3, 5, 0, 5, + 1, 3, 1, 2, 3, 1, 1, 3, 3, 1, + 3, 3, 3, 3, 3, 2, 1, 2, 1, 1, + 1, 1, 1, 1, 1, 0, 1, 0, 2, 0, + 3, 0, 1, 0, 1, 1, 5, 0, 1, 0, + 1, 2, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -7118,7 +7123,7 @@ var yyR2 = [...]int{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 0, 0, 1, 1, + 1, 1, 1, 1, 1, 0, 0, 1, 1, } var yyChk = [...]int{ @@ -7130,305 +7135,306 @@ var yyChk = [...]int{ -50, 223, 222, 259, 224, 252, 74, 305, 306, 308, 309, 310, 311, -85, 257, 258, 226, 36, 45, 33, 34, 37, 230, 265, 266, 229, -10, -34, 8, -370, - 11, 436, 254, 253, 28, -12, 471, 86, -369, 612, + 11, 436, 254, 253, 28, -12, 472, 86, -369, 613, -215, -200, 22, 33, 29, -199, -195, -103, -200, 20, 18, 7, -76, -373, -76, -76, 12, 13, -76, -307, -309, 86, 156, 86, -76, -55, -54, -52, -51, -53, -56, 31, -45, -46, -331, -44, -41, 225, 222, 269, 120, 121, 259, 260, 261, 224, 243, 258, 262, 257, - 278, -40, 81, 33, 471, 474, -314, 221, 227, 228, - 437, 123, 122, 75, 223, -311, 359, 504, 582, -56, - 584, 102, 104, 583, 44, 233, 585, 586, 587, 511, - 588, 242, 589, 590, 591, 592, 598, 553, 599, 600, - 601, 124, 7, -76, -261, -257, -341, -251, 89, 90, - 91, 468, 245, 502, 503, 294, 81, 41, 356, 359, - 504, 582, 305, 319, 313, 340, 332, 469, 505, 478, - 297, 246, 282, 579, 330, 132, 584, 300, 506, 260, - 364, 365, 507, 366, 102, 308, 403, 597, 299, 508, - 595, 104, 583, 79, 466, 51, 44, 255, 328, 229, - 324, 585, 283, 509, 480, 276, 123, 120, 604, 36, - 322, 50, 30, 594, 122, 49, 586, 147, 510, 587, - 511, 368, 347, 573, 48, 369, 261, 512, 84, 266, - 473, 303, 581, 370, 323, 371, 293, 593, 226, 513, - 565, 372, 373, 574, 514, 348, 352, 515, 395, 374, - 611, 52, 516, 517, 575, 121, 518, 78, 588, 80, - 317, 318, 519, 291, 244, 397, 344, 449, 456, 457, - 108, 109, 452, 110, 458, 111, 459, 460, 461, 450, - 112, 105, 451, 462, 463, 345, 346, 113, 464, 107, - 106, 453, 455, 114, 465, 242, 35, 375, 470, 295, - 58, 270, 398, 46, 350, 608, 45, 569, 520, 572, - 343, 339, 446, 53, 521, 522, 523, 524, 589, 342, - 316, 338, 603, 4, 288, 590, 62, 228, 354, 353, - 355, 277, 394, 335, 525, 526, 527, 249, 82, 528, - 325, 21, 529, 530, 376, 284, 531, 56, 532, 533, - 401, 258, 534, 54, 591, 39, 535, 263, 605, 592, - 536, 537, 538, 539, 265, 540, 378, 541, 377, 349, - 351, 272, 379, 472, 542, 304, 321, 262, 596, 543, - 250, 580, 264, 269, 257, 402, 251, 544, 545, 546, - 547, 548, 298, 564, 549, 550, 309, 598, 447, 43, - 551, 552, 553, 554, 555, 292, 287, 396, 405, 61, - 83, 361, 556, 557, 578, 315, 285, 558, 306, 55, - 599, 600, 601, 279, 602, 9, 609, 610, 381, 124, - 289, 290, 47, 336, 271, 559, 301, 560, 326, 327, - 341, 314, 337, 307, 566, 273, 382, 448, 259, 561, - 404, 286, 357, 362, 302, 476, 278, 383, 577, 475, - 334, 331, 280, 562, 384, 234, 274, 275, 563, 567, - 385, 386, 296, 387, 388, 389, 390, 391, 393, 392, - 281, 474, 312, 329, 363, 417, 418, 419, 420, 421, - 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, - 432, 433, 434, 445, 232, -76, 232, -159, -257, 232, - -227, 365, -248, 367, 380, 375, 385, 373, -239, 376, - 378, 272, -358, 395, 232, 382, 220, 368, 377, 386, - 387, 296, 393, 388, 392, 281, 389, 390, 391, -341, - 173, 587, 602, 132, 333, 372, 370, 396, 569, -257, - 307, -264, 312, -252, -341, -251, 310, -159, -82, 565, - 224, -266, -266, -105, 569, 571, -178, -120, 140, -131, - -134, -125, -126, -172, -173, -174, -175, -132, -185, 162, - 163, 170, 141, -183, -135, 26, 467, 438, 437, 173, - 31, 216, 68, 69, 440, 441, 143, 57, 413, 414, - -133, 408, 415, 410, 466, 443, 444, 115, 445, 105, - 107, 106, 446, 447, 448, 345, 346, 449, 450, 451, - 108, 109, 110, 111, 112, 113, 114, 452, 455, 453, - 454, 456, 457, 458, 463, 464, 459, 460, 461, 462, - 465, -252, -257, 237, 407, 231, 168, 436, -127, -123, - -8, -181, 406, 411, 412, 416, 409, -341, -251, -129, - -128, -168, 92, 98, 103, 99, -364, 116, -370, 93, - 94, 95, 96, 97, 117, 118, 174, 175, 176, 177, - 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, - 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, - 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, - 208, 209, 210, 211, 212, 213, 214, 215, 44, 381, - 381, -159, -76, -76, -76, -76, -193, -103, -195, -10, - -8, -370, 8, -76, -8, -9, -13, -34, -36, 498, - -35, -257, -200, -215, 12, 158, 42, 50, -198, -199, - -12, -8, -120, 19, 23, 24, -108, 164, -120, -257, - -77, -108, -237, 236, -76, -76, -226, -269, 307, -230, - 396, 395, -253, -228, -252, -250, -227, 394, 225, 23, - 477, 139, 25, 27, 142, 173, 127, 19, 143, 37, - 227, 333, 243, 172, 239, 437, 220, 72, 479, 408, - 410, 406, 413, 439, 440, 407, 367, 31, 13, 481, - 28, 253, 24, 38, 166, 222, 146, 482, 256, 26, - 254, 115, 118, 484, 22, 75, 248, 14, 241, 40, - 16, 485, 486, 17, 237, 236, 158, 233, 70, 11, - 216, 29, 155, 66, 487, 134, 488, 489, 490, 491, - 128, 68, 156, 20, 606, 411, 412, 33, 570, 467, - 267, 168, 73, 59, 571, 140, 409, 492, 493, 116, - 494, 119, 76, 576, 136, 18, 71, 42, 495, 268, - 496, 238, 607, 497, 399, 498, 157, 223, 436, 69, - 499, 231, 380, 8, 442, 32, 252, 240, 126, 67, - 500, 232, 145, 443, 444, 235, 129, 117, 7, 133, - 34, 12, 74, 77, 414, 415, 416, 57, 125, 471, - 144, 15, 501, 400, 138, 132, -308, 156, -294, -298, - -252, 247, -324, 243, -159, -317, -316, -252, -370, -104, - -247, 233, 241, 240, 133, -345, 136, 289, 407, 231, - -51, -52, -53, -227, 172, 586, -86, 264, 268, 87, - 87, -298, -297, -296, -346, 268, 247, -323, -315, 239, - 248, -304, 240, 241, -299, 233, 134, -346, -299, 238, - 248, 243, 247, 268, 268, 124, 268, 124, 268, 268, - 268, 268, 268, 268, 268, 268, 268, 263, -305, 148, - -305, 475, 475, -311, -346, 243, 233, -346, -346, 235, - 35, 35, -249, -299, 235, 25, -305, -305, -305, -227, - 172, -305, -305, -305, -305, 276, 276, -305, -305, -305, + 278, -40, 81, 33, 472, 475, -314, 221, 227, 228, + 437, 123, 122, 75, 223, -311, 359, 505, 583, -56, + 585, 102, 104, 584, 44, 233, 586, 587, 588, 512, + 589, 242, 590, 591, 592, 593, 599, 554, 600, 601, + 602, 124, 7, -76, -261, -257, -341, -251, 89, 90, + 91, 469, 245, 503, 504, 294, 81, 41, 356, 359, + 505, 467, 583, 305, 319, 313, 340, 332, 470, 506, + 479, 297, 246, 282, 580, 330, 132, 585, 300, 507, + 260, 364, 365, 508, 366, 102, 308, 403, 598, 299, + 509, 596, 104, 584, 79, 466, 51, 44, 255, 328, + 229, 324, 586, 283, 510, 481, 276, 123, 120, 605, + 36, 322, 50, 30, 595, 122, 49, 587, 147, 511, + 588, 512, 368, 347, 574, 48, 369, 261, 513, 84, + 266, 474, 303, 582, 370, 323, 371, 293, 594, 226, + 514, 566, 372, 373, 575, 515, 348, 352, 516, 395, + 374, 612, 52, 517, 518, 576, 121, 519, 78, 589, + 80, 317, 318, 520, 291, 244, 397, 344, 449, 456, + 457, 108, 109, 452, 110, 458, 111, 459, 460, 461, + 450, 112, 105, 451, 462, 463, 345, 346, 113, 464, + 107, 106, 453, 455, 114, 465, 242, 35, 375, 471, + 295, 58, 270, 398, 46, 350, 609, 45, 570, 521, + 573, 343, 339, 446, 53, 522, 523, 524, 525, 590, + 342, 316, 338, 604, 4, 288, 591, 62, 228, 354, + 353, 355, 277, 394, 335, 526, 527, 528, 249, 82, + 529, 325, 21, 530, 531, 376, 284, 532, 56, 533, + 534, 401, 258, 535, 54, 592, 39, 536, 263, 606, + 593, 537, 538, 539, 540, 265, 541, 378, 542, 377, + 349, 351, 272, 379, 473, 543, 304, 321, 262, 597, + 544, 250, 581, 264, 269, 257, 402, 251, 545, 546, + 547, 548, 549, 298, 565, 550, 551, 309, 599, 447, + 43, 552, 553, 554, 555, 556, 292, 287, 396, 405, + 61, 83, 361, 557, 558, 579, 315, 285, 559, 306, + 55, 600, 601, 602, 279, 603, 9, 610, 611, 381, + 124, 289, 290, 47, 336, 271, 560, 301, 561, 326, + 327, 341, 314, 337, 307, 567, 273, 382, 448, 259, + 562, 404, 286, 357, 362, 302, 477, 278, 383, 578, + 476, 334, 331, 280, 563, 384, 234, 274, 275, 564, + 568, 385, 386, 296, 387, 388, 389, 390, 391, 393, + 392, 281, 475, 312, 329, 363, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + 431, 432, 433, 434, 445, 232, -76, 232, -159, -257, + 232, -227, 365, -248, 367, 380, 375, 385, 373, -239, + 376, 378, 272, -358, 395, 232, 382, 220, 368, 377, + 386, 387, 296, 393, 388, 392, 281, 389, 390, 391, + -341, 173, 588, 603, 132, 333, 372, 370, 396, 570, + -257, 307, -264, 312, -252, -341, -251, 310, -159, -82, + 566, 224, -266, -266, -105, 570, 572, -178, -120, 140, + -131, -134, -125, -126, -172, -173, -174, -175, -132, -185, + 162, 163, 170, 141, -183, -135, 26, 468, 438, 437, + 173, 31, 216, 68, 69, 440, 441, 143, 57, 413, + 414, -133, 408, 415, 410, 467, 466, 443, 444, 115, + 445, 105, 107, 106, 446, 447, 448, 345, 346, 449, + 450, 451, 108, 109, 110, 111, 112, 113, 114, 452, + 455, 453, 454, 456, 457, 458, 463, 464, 459, 460, + 461, 462, 465, -252, -257, 237, 407, 231, 168, 436, + -127, -123, -8, -181, 406, 411, 412, 416, 409, -341, + -251, -129, -128, -168, 92, 98, 103, 99, -364, 116, + -370, 93, 94, 95, 96, 97, 117, 118, 174, 175, + 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, + 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, + 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, + 44, 381, 381, -159, -76, -76, -76, -76, -193, -103, + -195, -10, -8, -370, 8, -76, -8, -9, -13, -34, + -36, 499, -35, -257, -200, -215, 12, 158, 42, 50, + -198, -199, -12, -8, -120, 19, 23, 24, -108, 164, + -120, -257, -77, -108, -237, 236, -76, -76, -226, -269, + 307, -230, 396, 395, -253, -228, -252, -250, -227, 394, + 225, 23, 478, 139, 25, 27, 142, 173, 127, 19, + 143, 37, 227, 333, 243, 172, 239, 437, 220, 72, + 480, 408, 410, 406, 413, 439, 440, 407, 367, 31, + 13, 482, 28, 253, 24, 38, 166, 222, 146, 483, + 256, 26, 254, 115, 118, 485, 22, 75, 248, 14, + 241, 40, 16, 486, 487, 17, 237, 236, 158, 233, + 70, 11, 216, 29, 155, 66, 488, 134, 489, 490, + 491, 492, 128, 68, 156, 20, 607, 411, 412, 33, + 571, 468, 267, 168, 73, 59, 572, 140, 409, 493, + 494, 116, 495, 119, 76, 577, 136, 18, 71, 42, + 496, 268, 497, 238, 608, 498, 399, 499, 157, 223, + 436, 69, 500, 231, 380, 8, 442, 32, 252, 240, + 126, 67, 501, 232, 145, 443, 444, 235, 129, 117, + 7, 133, 34, 12, 74, 77, 414, 415, 416, 57, + 125, 472, 144, 15, 502, 400, 138, 132, -308, 156, + -294, -298, -252, 247, -324, 243, -159, -317, -316, -252, + -370, -104, -247, 233, 241, 240, 133, -345, 136, 289, + 407, 231, -51, -52, -53, -227, 172, 587, -86, 264, + 268, 87, 87, -298, -297, -296, -346, 268, 247, -323, + -315, 239, 248, -304, 240, 241, -299, 233, 134, -346, + -299, 238, 248, 243, 247, 268, 268, 124, 268, 124, + 268, 268, 268, 268, 268, 268, 268, 268, 268, 263, + -305, 148, -305, 476, 476, -311, -346, 243, 233, -346, + -346, 235, 35, 35, -249, -299, 235, 25, -305, -305, + -305, -227, 172, -305, -305, -305, -305, 276, 276, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, - -305, -305, -305, -305, 232, -345, -112, 392, 296, 81, - -54, 278, -37, -159, -247, 233, 234, -345, 265, -159, - 217, -159, -241, 156, 15, -241, -238, 381, 379, 366, - 371, -241, -241, -241, -241, 279, 364, -300, 233, 35, - 244, 381, 279, 364, 279, 280, 279, 280, 374, 384, - 279, -262, 14, 158, 407, 369, 373, 272, 232, 273, - 234, 383, 280, -262, 93, -242, 156, 381, 275, -241, - -241, -267, -370, -253, 333, -341, 572, -267, -267, 32, - 90, 235, -252, -78, -252, 93, -15, -11, -22, -21, - -23, 148, -110, 381, -98, 173, 587, 573, 574, 575, - 572, 378, 580, 578, 576, 279, 577, 87, 136, 138, - 139, 4, -120, 155, -169, 148, 149, 150, 151, 152, - 153, 154, 158, 140, 142, 156, 157, 137, 159, 160, - 161, 162, 163, 164, 165, 167, 166, 168, 169, 172, - 218, 219, -126, -126, -126, -126, -183, -370, -370, -370, - -126, -236, -370, -126, -370, -370, -370, -370, -189, -120, - -370, -374, -370, -374, -374, -284, -370, -284, -370, -370, + -305, -305, -305, -305, -305, -305, 232, -345, -112, 392, + 296, 81, -54, 278, -37, -159, -247, 233, 234, -345, + 265, -159, 217, -159, -241, 156, 15, -241, -238, 381, + 379, 366, 371, -241, -241, -241, -241, 279, 364, -300, + 233, 35, 244, 381, 279, 364, 279, 280, 279, 280, + 374, 384, 279, -262, 14, 158, 407, 369, 373, 272, + 232, 273, 234, 383, 280, -262, 93, -242, 156, 381, + 275, -241, -241, -267, -370, -253, 333, -341, 573, -267, + -267, 32, 90, 235, -252, -78, -252, 93, -15, -11, + -22, -21, -23, 148, -110, 381, -98, 173, 588, 574, + 575, 576, 573, 378, 581, 579, 577, 279, 578, 87, + 136, 138, 139, 4, -120, 155, -169, 148, 149, 150, + 151, 152, 153, 154, 158, 140, 142, 156, 157, 137, + 159, 160, 161, 162, 163, 164, 165, 167, 166, 168, + 169, 172, 218, 219, -126, -126, -126, -126, -183, -370, + -370, -370, -126, -236, -370, -126, -370, -370, -370, -370, + -189, -120, -370, -374, -370, -374, -374, -284, -370, -284, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, - -370, -370, -370, -370, -370, -370, 217, -370, -370, -370, - -370, -370, -284, -284, -284, -284, -284, 103, 98, 92, - -185, 99, 93, -252, -257, -8, -9, -178, -266, -355, - -356, -162, -159, -370, 296, -252, -252, 265, -198, -12, - -8, -193, -199, -195, -8, -76, -96, -109, 63, 64, - -111, 24, 38, 67, 65, 23, -371, 88, -371, -215, - -371, 87, -36, -219, 86, 61, 43, 93, 93, 87, - 21, -194, -196, -120, 14, -255, 4, -254, 25, -252, - 93, 217, 101, 14, -160, 29, -159, -237, -237, 87, - 307, -230, -269, -232, -231, 397, 399, 148, -256, -252, - 93, 31, 88, 87, -159, -273, -276, -278, -277, -279, - -274, -275, 330, 331, 173, 334, 336, 337, 338, 339, - 340, 341, 342, 343, 344, 347, 32, 255, 326, 327, - 328, 329, 348, 349, 350, 351, 352, 353, 354, 355, - 313, 332, 469, 314, 315, 316, 317, 318, 319, 321, - 322, 323, 324, 325, -344, -341, 86, 88, 87, -280, - 86, -120, -112, 232, -341, 233, 233, 233, -76, 436, - -305, -305, -305, 263, 19, -44, -41, -331, 18, -40, - -41, 225, 120, 121, 222, 86, -294, 86, -303, -344, - -341, 86, 134, 238, 133, -302, -299, -302, -303, -341, - -185, -341, 134, 134, -341, -341, -223, -252, -223, -223, - 23, -223, 23, -223, 23, 95, -252, -223, 23, -223, - 23, -223, 23, -223, 23, -223, 23, 31, 78, 79, - 80, 31, 82, 83, 84, -185, -341, -341, -185, -294, - -227, -159, -341, 95, 95, 95, -305, -305, 95, 93, - 93, 93, -305, -305, 95, 93, -259, -257, 93, 93, - -347, 249, 293, 295, 95, 95, 95, 95, 31, 93, - -348, 31, 594, 593, 595, 596, 597, 93, 95, 31, - 95, 31, 95, -252, 86, -159, -118, 283, 220, 222, - 225, 76, 93, 297, 301, 302, 148, 44, 87, 235, - 232, -341, -243, 237, -243, -252, -258, -257, -250, 93, - -120, -301, 14, 158, -262, -262, -241, -159, -301, -262, - -241, -159, -241, -241, -241, -241, -262, -262, -262, -241, - -257, -257, -159, -159, -159, -159, -159, -159, -159, -267, - -242, -241, 572, 93, -235, 14, 76, -267, -267, -265, - 310, 344, 566, 567, 568, 87, 471, -152, -159, 572, - 572, 572, 572, 572, 572, -120, -120, -120, -120, 494, - -176, 116, 140, 117, 118, -134, -177, -181, -183, 100, - 158, 142, 156, 157, -125, -126, -125, -125, -125, -125, - -125, -125, -125, -125, -125, -125, -125, -125, -125, -268, - -252, 93, 173, -130, -129, 99, -364, -130, -106, -108, - -120, -120, -341, -252, -106, -106, -120, -102, 24, 38, - -187, -188, 144, -185, -371, -371, 95, 99, -367, -102, - 164, -252, -252, -95, -94, 418, 419, 420, 421, 423, - 424, 425, 428, 429, 433, 434, 417, 435, 422, 427, - 430, 431, 432, 426, 329, -120, -120, -120, -120, -120, - -120, -83, -120, 127, 128, 129, -120, -120, -179, -178, - -340, -339, -338, -120, -120, -120, -120, -120, -120, -120, + -370, -370, -370, -370, -370, -370, -370, -370, -370, 217, + -370, -370, -370, -370, -370, -284, -284, -284, -284, -284, + 103, 98, 92, -185, 99, 93, -252, -257, -8, -9, + -178, -266, -355, -356, -162, -159, -370, 296, -252, -252, + 265, -198, -12, -8, -193, -199, -195, -8, -76, -96, + -109, 63, 64, -111, 24, 38, 67, 65, 23, -371, + 88, -371, -215, -371, 87, -36, -219, 86, 61, 43, + 93, 93, 87, 21, -194, -196, -120, 14, -255, 4, + -254, 25, -252, 93, 217, 101, 14, -160, 29, -159, + -237, -237, 87, 307, -230, -269, -232, -231, 397, 399, + 148, -256, -252, 93, 31, 88, 87, -159, -273, -276, + -278, -277, -279, -274, -275, 330, 331, 173, 334, 336, + 337, 338, 339, 340, 341, 342, 343, 344, 347, 32, + 255, 326, 327, 328, 329, 348, 349, 350, 351, 352, + 353, 354, 355, 313, 332, 470, 314, 315, 316, 317, + 318, 319, 321, 322, 323, 324, 325, -344, -341, 86, + 88, 87, -280, 86, -120, -112, 232, -341, 233, 233, + 233, -76, 436, -305, -305, -305, 263, 19, -44, -41, + -331, 18, -40, -41, 225, 120, 121, 222, 86, -294, + 86, -303, -344, -341, 86, 134, 238, 133, -302, -299, + -302, -303, -341, -185, -341, 134, 134, -341, -341, -223, + -252, -223, -223, 23, -223, 23, -223, 23, 95, -252, + -223, 23, -223, 23, -223, 23, -223, 23, -223, 23, + 31, 78, 79, 80, 31, 82, 83, 84, -185, -341, + -341, -185, -294, -227, -159, -341, 95, 95, 95, -305, + -305, 95, 93, 93, 93, -305, -305, 95, 93, -259, + -257, 93, 93, -347, 249, 293, 295, 95, 95, 95, + 95, 31, 93, -348, 31, 595, 594, 596, 597, 598, + 93, 95, 31, 95, 31, 95, -252, 86, -159, -118, + 283, 220, 222, 225, 76, 93, 297, 301, 302, 148, + 44, 87, 235, 232, -341, -243, 237, -243, -252, -258, + -257, -250, 93, -120, -301, 14, 158, -262, -262, -241, + -159, -301, -262, -241, -159, -241, -241, -241, -241, -262, + -262, -262, -241, -257, -257, -159, -159, -159, -159, -159, + -159, -159, -267, -242, -241, 573, 93, -235, 14, 76, + -267, -267, -265, 310, 344, 567, 568, 569, 87, 472, + -152, -159, 573, 573, 573, 573, 573, 573, -120, -120, + -120, -120, 495, -176, 116, 140, 117, 118, -134, -177, + -181, -183, 100, 158, 142, 156, 157, -125, -126, -125, + -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, + -125, -125, -268, -252, 93, 173, -130, -129, 99, -364, + -130, -106, -108, -120, -120, -341, -252, -106, -106, -120, + -102, 24, 38, -187, -188, 144, -185, -371, -371, 95, + 99, -102, -367, -102, 164, -252, -252, -95, -94, 418, + 419, 420, 421, 423, 424, 425, 428, 429, 433, 434, + 417, 435, 422, 427, 430, 431, 432, 426, 329, -120, + -120, -120, -120, -120, -120, -83, -120, 127, 128, 129, + -120, -120, -179, -178, -340, -339, -338, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, - -120, -120, -120, -120, -120, -120, -107, 24, 38, -106, - -253, -258, -250, -106, -107, -107, -106, -106, 217, -215, - -371, 87, -357, 399, 400, 570, -260, 268, -259, 25, - -179, 93, 14, -221, 77, -252, -198, -198, 63, 64, - 59, -106, -111, -371, -35, 25, -217, -252, 62, 93, - -285, -227, 356, 357, 173, -120, -120, 87, -197, 27, - 28, -159, -254, 164, -258, -159, -222, 268, -159, -137, - -139, -140, -141, -162, -184, -370, -142, 490, 487, 14, - -152, -153, -161, -257, -230, -232, 87, 398, 400, 401, - 76, 119, -120, -286, 172, -313, -312, -311, -294, -296, - -297, -298, 88, -286, -290, 362, 361, -280, -280, -280, - -280, -280, -285, -285, -285, -285, 86, 86, -280, -280, - -280, -280, -288, 86, -288, -288, -289, 86, -289, -324, - -120, -321, -320, -318, -319, 242, 102, 563, 519, 471, - 511, 553, 77, -316, -197, 95, -371, -118, -244, 237, - -322, -319, -341, -341, -341, -244, -341, 93, -341, 93, - -341, 93, -87, -58, -1, 606, 607, 608, 87, 19, - -295, -294, -57, 293, -327, -328, 268, -323, -317, -303, - 134, -302, -303, -303, -341, 87, 29, 124, 124, 124, - 124, 471, 222, 32, -245, 510, 140, 563, 519, -294, - -57, -268, 235, -268, -268, 93, 93, -240, 602, -152, - -114, 285, 148, 274, 274, 232, 232, 287, -159, 298, - 300, 299, 297, 301, 302, 23, 23, 23, 286, 288, - 290, 276, -159, -159, -243, 76, -154, -159, 26, -257, - -159, -241, -241, -159, -241, -241, -159, -252, -98, 399, - 87, 471, 22, -99, 22, -370, 116, 117, 118, -177, - -125, -126, -125, 139, 256, 87, -371, 25, 87, 77, - -371, -371, -371, 87, 14, -106, -190, -188, 146, -120, - -371, -371, -371, -371, -120, 87, 87, 14, -272, 25, - -371, -371, -371, -371, -371, -189, -371, 14, 87, 87, - -371, -371, 87, 87, -371, 87, 87, 87, -337, 87, - 87, 87, 87, -371, -371, -371, -371, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, -371, -371, -106, - -106, -370, 217, -371, -371, -371, -371, -371, -253, -356, - 569, 400, -166, -165, -163, 74, 236, 75, -370, -259, - -371, -130, 90, -218, 90, -217, -171, -252, 95, 99, - -200, -136, -138, 14, -111, -183, 88, 87, -285, -204, - -209, -238, -252, 93, 173, -287, 173, -287, 356, 357, - -196, 217, -167, 15, -170, 32, 57, -11, -370, -370, - 32, 87, -155, -157, -156, -158, 66, 70, 72, 67, - 68, 69, 73, -263, 25, -137, -9, -8, -370, -370, - -370, -159, -152, -372, 14, 77, -372, 87, 217, -231, - -233, 402, 399, 405, -341, 93, -86, 87, -311, -298, - -201, -115, 40, -291, 363, -285, 478, -285, -293, 93, - -293, 95, 95, 88, -47, -42, -43, 33, 81, -318, - -305, 93, 39, -305, -305, -252, 88, -197, -114, -159, - 140, 76, -322, -322, -322, -257, -2, 605, 611, 134, - 86, 366, 18, -217, 87, 88, -186, 294, 88, -88, - -252, 88, 86, -303, -303, -252, -370, 232, 31, 31, - 563, 519, 510, -57, -186, -286, -341, 604, 603, 88, - 234, 292, -119, 413, -116, 93, 89, -159, -159, -159, - -159, -159, 225, 222, -365, 303, -365, 277, 235, -152, - -159, 87, -81, 251, 246, -262, -262, 33, -159, 399, - 581, 579, -120, 139, 256, -134, -126, -108, 468, -270, - 173, 330, 255, 328, 324, 344, 335, 361, 326, 362, - 323, 322, 321, -270, -268, -120, -120, -193, 147, -120, - 145, -371, -120, -120, -120, -371, 173, 330, 14, -120, - -120, -120, -338, -120, -120, -120, -336, -335, -130, -185, - -371, -336, -120, -120, -335, -335, -339, -339, -339, -339, - -339, -178, -178, -178, -178, -371, -371, -107, -253, -163, - -299, -299, -299, -223, 87, -234, 22, 14, 57, 57, - -136, -167, -137, -111, -252, -207, 565, -212, 46, -210, - -211, 47, -208, 48, 56, -287, -287, 164, -198, -120, - -224, 76, -225, -229, -185, -180, -182, -181, -370, -216, - -371, -252, -223, -225, -139, -140, -140, -139, -140, 66, - 66, 66, 71, 66, 71, 66, -156, -257, -371, -371, - -9, -9, -120, -260, 77, -137, -137, -161, -257, 164, - 399, 403, 404, -311, -363, 116, 140, 31, 76, 359, - 102, -361, 172, 507, 558, 563, 519, 511, 553, -362, - 238, 133, 134, 250, 25, 41, 88, 87, 88, 87, - 88, 87, -246, -245, -43, -42, -305, -305, 95, -341, - 93, 93, 234, 26, -159, 76, 76, 76, -89, 609, - 95, 86, -3, 81, -120, 86, 19, -294, -185, -329, - -281, -330, -282, -283, -5, -6, -306, -92, 57, 102, - -61, 44, 233, 589, 590, 124, -370, 602, -321, -217, - -325, -327, -159, -122, -370, -121, -123, -127, 162, 163, - -186, -159, -113, 283, 291, 86, -117, 90, -343, 77, - 274, 359, 274, -366, 304, 93, -366, -159, -81, -47, - -159, -241, -241, 33, -341, -371, -134, -126, -370, -371, - -280, -280, -280, -289, -280, 318, -280, 318, -280, -371, - -371, 87, -371, 22, -371, -97, 442, -120, 87, 87, - -371, 86, 86, -120, -371, -371, -371, -337, 87, -371, - 87, -371, 87, -271, 564, -371, -371, -371, -371, -371, - -371, -371, -371, -371, -371, -371, -164, 22, -164, -164, - -371, 90, -159, -167, -191, 16, -204, 51, 336, -214, - -213, 55, 47, -211, 19, 49, 19, 30, -224, 87, - 148, 87, -371, -371, 87, 57, 217, -371, -167, -150, - -149, 76, 77, -151, 76, -149, 66, 66, -219, -371, - -371, 87, -222, -137, -167, -167, 217, 116, -370, -124, - -133, -122, 12, 93, 93, -341, -360, 593, 594, 31, - 95, -305, -305, 134, 134, -159, 86, -285, 93, -285, - 95, 95, 31, 82, 83, 84, 31, 78, 79, 80, - -159, -159, -159, -159, -326, 86, 19, -120, 86, 148, - 88, -217, -217, 270, 158, -305, 587, 276, 276, -305, - -305, -305, -91, -90, 609, 88, -371, 87, -292, 471, - 474, -120, -128, -128, -219, 88, -334, 471, -342, -252, - -252, -252, -252, 95, 97, -125, -285, -120, -120, -198, - 93, -120, -120, 95, 95, -371, -371, -336, -335, -120, - -371, -147, -146, -148, 573, 116, 31, -270, -370, 66, - 18, 16, -370, -370, -260, -191, -192, 17, 19, -205, - 53, -203, 52, -203, -213, 19, 19, 93, 19, 93, - 134, -229, -120, -182, 57, -11, -252, -180, -252, -193, - -120, 86, -120, -130, -167, -167, -120, -173, 466, 445, - 105, 107, 106, 446, 447, 448, 345, 346, 449, 450, - 451, 108, 109, 110, 111, 112, 113, 114, 452, 455, - 453, 456, 457, 458, 463, 464, 459, 460, 461, 462, - 465, 93, 93, 86, -120, 88, 88, -219, -325, -58, - 88, -217, 95, 88, 271, -181, -370, 93, -305, -305, - -305, 95, 95, -259, -371, 87, -252, -362, -327, 475, - 475, -371, 25, -333, -332, -253, 86, 77, -101, 158, - 471, -371, -371, -371, -371, -371, 88, 88, -371, -371, - 87, -371, -146, -148, -371, 76, -130, -220, -371, -252, - 238, 19, 19, -220, -220, -166, -192, -120, -178, -206, - 54, 76, 119, 93, 93, 93, 12, -180, 217, -198, - -217, -144, 366, -193, -371, -217, 88, 25, 88, 611, - 134, 88, -181, -100, -370, 267, -259, 93, 93, -90, - -93, -11, 87, 148, -217, -159, -371, 469, 73, 472, - -120, -371, 76, 482, 573, 87, -371, -371, -371, 76, - 119, -225, -252, 88, -371, -370, -198, 88, -202, -11, - 86, -3, 267, -281, -330, -282, -283, -5, -6, -306, - -79, 471, -332, -310, -253, 93, 95, 88, 62, 470, - 473, -337, -252, 238, -260, -145, -143, -252, 525, -353, - -352, 467, -363, -359, 116, 140, 102, -361, 563, 519, - 125, 126, -79, -120, 86, -371, -80, 282, 569, -343, - 62, -371, -371, 87, 22, -273, -60, 536, -350, -351, - 76, -354, 372, 535, 556, 116, 93, 88, -217, 243, - -334, 471, -143, 532, -286, -130, -351, 76, -350, 76, - 13, 12, -4, 610, 88, 284, 472, -59, 26, -144, - -349, 251, 246, 249, 32, -349, 95, -4, 473, 536, - 245, 31, 116, -130, -147, -146, -146, + -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, + -107, 24, 38, -106, -253, -258, -250, -106, -107, -107, + -106, -106, 217, -215, -371, 87, -357, 399, 400, 571, + -260, 268, -259, 25, -179, 93, 14, -221, 77, -252, + -198, -198, 63, 64, 59, -106, -111, -371, -35, 25, + -217, -252, 62, 93, -285, -227, 356, 357, 173, -120, + -120, 87, -197, 27, 28, -159, -254, 164, -258, -159, + -222, 268, -159, -137, -139, -140, -141, -162, -184, -370, + -142, 491, 488, 14, -152, -153, -161, -257, -230, -232, + 87, 398, 400, 401, 76, 119, -120, -286, 172, -313, + -312, -311, -294, -296, -297, -298, 88, -286, -290, 362, + 361, -280, -280, -280, -280, -280, -285, -285, -285, -285, + 86, 86, -280, -280, -280, -280, -288, 86, -288, -288, + -289, 86, -289, -324, -120, -321, -320, -318, -319, 242, + 102, 564, 520, 472, 512, 554, 77, -316, -197, 95, + -371, -118, -244, 237, -322, -319, -341, -341, -341, -244, + -341, 93, -341, 93, -341, 93, -87, -58, -1, 607, + 608, 609, 87, 19, -295, -294, -57, 293, -327, -328, + 268, -323, -317, -303, 134, -302, -303, -303, -341, 87, + 29, 124, 124, 124, 124, 472, 222, 32, -245, 511, + 140, 564, 520, -294, -57, -268, 235, -268, -268, 93, + 93, -240, 603, -152, -114, 285, 148, 274, 274, 232, + 232, 287, -159, 298, 300, 299, 297, 301, 302, 23, + 23, 23, 286, 288, 290, 276, -159, -159, -243, 76, + -154, -159, 26, -257, -159, -241, -241, -159, -241, -241, + -159, -252, -98, 399, 87, 472, 22, -99, 22, -370, + 116, 117, 118, -177, -125, -126, -125, 139, 256, 87, + -371, 25, 87, 77, -371, -371, -371, 87, 14, -106, + -190, -188, 146, -120, -371, -371, -371, -120, -371, -120, + 87, 87, 14, -272, 25, -371, -371, -371, -371, -371, + -189, -371, 14, 87, 87, -371, -371, 87, 87, -371, + 87, 87, 87, -337, 87, 87, 87, 87, -371, -371, + -371, -371, 87, 87, 87, 87, 87, 87, 87, 87, + 87, 87, -371, -371, -106, -106, -370, 217, -371, -371, + -371, -371, -371, -253, -356, 570, 400, -166, -165, -163, + 74, 236, 75, -370, -259, -371, -130, 90, -218, 90, + -217, -171, -252, 95, 99, -200, -136, -138, 14, -111, + -183, 88, 87, -285, -204, -209, -238, -252, 93, 173, + -287, 173, -287, 356, 357, -196, 217, -167, 15, -170, + 32, 57, -11, -370, -370, 32, 87, -155, -157, -156, + -158, 66, 70, 72, 67, 68, 69, 73, -263, 25, + -137, -9, -8, -370, -370, -370, -159, -152, -372, 14, + 77, -372, 87, 217, -231, -233, 402, 399, 405, -341, + 93, -86, 87, -311, -298, -201, -115, 40, -291, 363, + -285, 479, -285, -293, 93, -293, 95, 95, 88, -47, + -42, -43, 33, 81, -318, -305, 93, 39, -305, -305, + -252, 88, -197, -114, -159, 140, 76, -322, -322, -322, + -257, -2, 606, 612, 134, 86, 366, 18, -217, 87, + 88, -186, 294, 88, -88, -252, 88, 86, -303, -303, + -252, -370, 232, 31, 31, 564, 520, 511, -57, -186, + -286, -341, 605, 604, 88, 234, 292, -119, 413, -116, + 93, 89, -159, -159, -159, -159, -159, 225, 222, -365, + 303, -365, 277, 235, -152, -159, 87, -81, 251, 246, + -262, -262, 33, -159, 399, 582, 580, -120, 139, 256, + -134, -126, -108, 469, -270, 173, 330, 255, 328, 324, + 344, 335, 361, 326, 362, 323, 322, 321, -270, -268, + -120, -120, -193, 147, -120, 145, -371, -371, -120, -120, + -120, -371, 173, 330, 14, -120, -120, -120, -338, -120, + -120, -120, -336, -335, -130, -185, -371, -336, -120, -120, + -335, -335, -339, -339, -339, -339, -339, -178, -178, -178, + -178, -371, -371, -107, -253, -163, -299, -299, -299, -223, + 87, -234, 22, 14, 57, 57, -136, -167, -137, -111, + -252, -207, 566, -212, 46, -210, -211, 47, -208, 48, + 56, -287, -287, 164, -198, -120, -224, 76, -225, -229, + -185, -180, -182, -181, -370, -216, -371, -252, -223, -225, + -139, -140, -140, -139, -140, 66, 66, 66, 71, 66, + 71, 66, -156, -257, -371, -371, -9, -9, -120, -260, + 77, -137, -137, -161, -257, 164, 399, 403, 404, -311, + -363, 116, 140, 31, 76, 359, 102, -361, 172, 508, + 559, 564, 520, 512, 554, -362, 238, 133, 134, 250, + 25, 41, 88, 87, 88, 87, 88, 87, -246, -245, + -43, -42, -305, -305, 95, -341, 93, 93, 234, 26, + -159, 76, 76, 76, -89, 610, 95, 86, -3, 81, + -120, 86, 19, -294, -185, -329, -281, -330, -282, -283, + -5, -6, -306, -92, 57, 102, -61, 44, 233, 590, + 591, 124, -370, 603, -321, -217, -325, -327, -159, -122, + -370, -121, -123, -127, 162, 163, -186, -159, -113, 283, + 291, 86, -117, 90, -343, 77, 274, 359, 274, -366, + 304, 93, -366, -159, -81, -47, -159, -241, -241, 33, + -341, -371, -134, -126, -370, -371, -280, -280, -280, -289, + -280, 318, -280, 318, -280, -371, -371, 87, -371, 22, + -371, -97, 442, -120, 87, 87, -371, 86, 86, -120, + -371, -371, -371, -337, 87, -371, 87, -371, 87, -271, + 565, -371, -371, -371, -371, -371, -371, -371, -371, -371, + -371, -371, -164, 22, -164, -164, -371, 90, -159, -167, + -191, 16, -204, 51, 336, -214, -213, 55, 47, -211, + 19, 49, 19, 30, -224, 87, 148, 87, -371, -371, + 87, 57, 217, -371, -167, -150, -149, 76, 77, -151, + 76, -149, 66, 66, -219, -371, -371, 87, -222, -137, + -167, -167, 217, 116, -370, -124, -133, -122, 12, 93, + 93, -341, -360, 594, 595, 31, 95, -305, -305, 134, + 134, -159, 86, -285, 93, -285, 95, 95, 31, 82, + 83, 84, 31, 78, 79, 80, -159, -159, -159, -159, + -326, 86, 19, -120, 86, 148, 88, -217, -217, 270, + 158, -305, 588, 276, 276, -305, -305, -305, -91, -90, + 610, 88, -371, 87, -292, 472, 475, -120, -128, -128, + -219, 88, -334, 472, -342, -252, -252, -252, -252, 95, + 97, -125, -285, -120, -120, -198, 93, -120, -120, 95, + 95, -371, -371, -336, -335, -120, -371, -147, -146, -148, + 574, 116, 31, -270, -370, 66, 18, 16, -370, -370, + -260, -191, -192, 17, 19, -205, 53, -203, 52, -203, + -213, 19, 19, 93, 19, 93, 134, -229, -120, -182, + 57, -11, -252, -180, -252, -193, -120, 86, -120, -130, + -167, -167, -120, -173, 467, 466, 445, 105, 107, 106, + 446, 447, 448, 345, 346, 449, 450, 451, 108, 109, + 110, 111, 112, 113, 114, 452, 455, 453, 456, 457, + 458, 463, 464, 459, 460, 461, 462, 465, 93, 93, + 86, -120, 88, 88, -219, -325, -58, 88, -217, 95, + 88, 271, -181, -370, 93, -305, -305, -305, 95, 95, + -259, -371, 87, -252, -362, -327, 476, 476, -371, 25, + -333, -332, -253, 86, 77, -101, 158, 472, -371, -371, + -371, -371, -371, 88, 88, -371, -371, 87, -371, -146, + -148, -371, 76, -130, -220, -371, -252, 238, 19, 19, + -220, -220, -166, -192, -120, -178, -206, 54, 76, 119, + 93, 93, 93, 12, -180, 217, -198, -217, -144, 366, + -193, -371, -217, 88, 25, 88, 612, 134, 88, -181, + -100, -370, 267, -259, 93, 93, -90, -93, -11, 87, + 148, -217, -159, -371, 470, 73, 473, -120, -371, 76, + 483, 574, 87, -371, -371, -371, 76, 119, -225, -252, + 88, -371, -370, -198, 88, -202, -11, 86, -3, 267, + -281, -330, -282, -283, -5, -6, -306, -79, 472, -332, + -310, -253, 93, 95, 88, 62, 471, 474, -337, -252, + 238, -260, -145, -143, -252, 526, -353, -352, 468, -363, + -359, 116, 140, 102, -361, 564, 520, 125, 126, -79, + -120, 86, -371, -80, 282, 570, -343, 62, -371, -371, + 87, 22, -273, -60, 537, -350, -351, 76, -354, 372, + 536, 557, 116, 93, 88, -217, 243, -334, 472, -143, + 533, -286, -130, -351, 76, -350, 76, 13, 12, -4, + 611, 88, 284, 473, -59, 26, -144, -349, 251, 246, + 249, 32, -349, 95, -4, 474, 537, 245, 31, 116, + -130, -147, -146, -146, } var yyDef = [...]int{ @@ -7437,308 +7443,309 @@ var yyDef = [...]int{ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 68, 70, 71, 827, 827, 827, 0, 827, 0, 0, 827, -2, -2, 827, - 1317, 0, 827, 0, 0, -2, 759, 761, 0, 763, - -2, 0, 0, 772, 1823, 1823, 822, 0, 0, 0, - 0, 0, 827, 827, 827, 827, 1177, 48, 827, 0, - 83, 84, 778, 779, 780, 63, 0, 1821, 1, 3, - 69, 73, 0, 0, 0, 56, 1186, 0, 76, 0, - 0, 831, 0, 829, 0, 1300, 827, 827, 0, 114, + 1318, 0, 827, 0, 0, -2, 759, 761, 0, 763, + -2, 0, 0, 772, 1825, 1825, 822, 0, 0, 0, + 0, 0, 827, 827, 827, 827, 1178, 48, 827, 0, + 83, 84, 778, 779, 780, 63, 0, 1823, 1, 3, + 69, 73, 0, 0, 0, 56, 1187, 0, 76, 0, + 0, 831, 0, 829, 0, 1301, 827, 827, 0, 114, 115, 0, 0, 0, -2, 118, -2, 147, 148, 149, 0, 154, 573, 501, 552, 499, 537, -2, 487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 504, 377, 377, 0, 0, -2, 487, 487, 487, - 0, 0, 0, 534, 1302, 439, 377, 377, 377, 0, + 0, 0, 0, 534, 1303, 439, 377, 377, 377, 0, 377, 377, 377, 377, 0, 0, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, - 377, 377, 377, 1204, 153, 1318, 1315, 1316, 38, 39, - 40, 1468, 1469, 1470, 1471, 1472, 1473, 1474, 1475, 1476, - 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486, - 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, - 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, - 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1515, 1516, - 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1526, - 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, - 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, - 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, - 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566, - 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, - 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, - 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, - 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, - 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615, 1616, - 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, - 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636, - 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, - 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, - 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, - 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, - 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, - 1687, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, - 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706, - 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1714, 1715, 1716, - 1717, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, - 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, - 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, - 1747, 1748, 1749, 1750, 1751, 1752, 1753, 1754, 1755, 1756, - 1757, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, - 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, - 1777, 1778, 1779, 1780, 1781, 1782, 1783, 1784, 1785, 1786, - 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1794, 1795, 1796, - 1797, 1798, 1799, 1800, 1801, 1802, 1803, 1804, 1805, 1806, - 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1814, 1815, 1816, - 1817, 1818, 1819, 1820, 0, 1294, 0, 686, 929, 0, - 748, 748, 0, 748, 748, 748, 748, 0, 0, 0, - 698, 0, 0, 0, 0, 745, 0, 714, 715, 0, - 745, 0, 721, 751, 0, 726, 748, 748, 729, 1824, - 0, 1824, 1824, 1285, 0, 742, 740, 754, 755, 758, - 762, 0, 767, 770, 1311, 1312, 0, 785, 47, 1557, - 777, 790, 791, 0, 823, 824, 43, 1026, 0, 951, - 956, 967, 980, 981, 982, 983, 984, 986, 987, 0, - 0, 0, 0, 992, 993, 0, 0, 0, 0, 0, - 1007, 0, 0, 0, 0, 0, 1158, 0, 1121, 1121, - 1043, 1121, 1123, 1123, 1511, 0, 0, 0, 1820, 1598, - 1606, 1607, 1629, 1715, 1764, 1602, 1603, 1584, 1596, 1599, - 1587, 1588, 1590, 1592, 1597, 1604, 1610, 1589, 1609, 1608, - 0, 1585, 1586, 1591, 1601, 1605, 1593, 1594, 1595, 1600, - 1611, 1167, 0, 0, 0, 0, 0, 0, 273, 274, - 1025, 1274, 1123, 1123, 1123, 1123, 1123, -2, -2, 219, - 220, 221, 222, 223, 224, 225, 0, 215, 0, 278, - 279, 275, 276, 277, 1009, 1010, 231, 232, 233, 234, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 1823, 0, - 800, 0, 0, 0, 0, 0, 1186, 0, 1178, 1177, - 61, 0, 827, -2, 0, 0, 0, 0, 45, 0, - 50, 888, 75, 74, 1226, 0, 0, 0, 57, 1187, - 65, 67, 1188, 0, 832, 833, 0, 864, 868, 0, - 828, 0, 0, 1301, 1300, 1300, 100, 0, 1760, 1278, - -2, -2, 0, 0, 1313, 1314, 1287, -2, 1321, 1322, - 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, - 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, - 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, - 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, - 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, - 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, - 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, - 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, - 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, - 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422, - 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, - 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, - 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, - 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, - 1463, 1464, 1465, 1466, 1467, -2, 0, 0, 165, 166, - 0, 41, 404, 0, 161, 0, 397, 338, 0, 1204, - 0, 0, 0, 0, 0, 827, 0, 1295, 142, 143, - 150, 151, 152, 377, 377, 377, 549, 0, 0, 153, - 153, 508, 509, 510, 0, 0, -2, 402, 0, 488, - 0, 0, 391, 391, 395, 393, 394, 0, 0, 0, - 0, 0, 0, 0, 0, 526, 0, 527, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 634, 0, 378, - 0, 547, 548, 440, 0, 0, 0, 0, 0, 0, - 524, 525, 0, 0, 1303, 1304, 0, 0, 0, 377, - 377, 0, 0, 0, 0, 377, 377, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 141, 1217, 0, 0, 0, - -2, 0, 678, 0, 0, 0, 1296, 1296, 0, 685, - 0, 687, 688, 0, 0, 689, 0, 745, 745, 743, - 744, 691, 692, 693, 694, 748, 0, 0, 386, 387, - 388, 745, 748, 0, 748, 748, 748, 748, 745, 745, - 745, 748, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1824, 751, 748, 0, 722, 0, 723, 724, 727, - 728, 730, 1825, 1826, 1334, 1824, 1824, 734, 738, 1286, - 760, 768, 771, 788, 786, 787, 789, 781, 782, 783, - 784, 0, 802, 803, 808, 0, 0, 0, 0, 814, - 815, 816, 0, 0, 819, 820, 821, 0, 0, 0, - 0, 0, 949, 0, 0, 1015, 1016, 1017, 1018, 1019, - 1020, 1021, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 988, 989, 990, 991, 994, 0, 0, 0, - 999, 1000, 0, 0, 0, 0, 0, 837, 0, 1159, - 0, 1041, 0, 1042, 1044, 1045, 0, 1046, 837, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1306, 129, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 847, 0, 0, 847, 847, - 0, 0, 208, 209, 210, 211, 212, 226, 227, 228, - 229, 230, 280, 1167, 0, 1025, 0, 0, 44, 792, - 793, 0, 912, 1306, 0, 0, 843, 0, 55, 64, - 66, 1186, 59, 1186, 0, 849, 0, 0, -2, -2, - 850, 856, 857, 858, 859, 860, 52, 1822, 53, 0, - 72, 0, 46, 0, 0, 0, 0, 350, 1229, 0, - 0, 1179, 1180, 1183, 0, 865, 1640, 869, 0, 871, - 872, 0, 830, 0, 98, 0, 928, 0, 0, 0, - 1760, 1284, 0, 102, 103, 0, 0, 0, 361, 1289, - 1290, 1291, -2, 384, 0, 361, 345, 288, 289, 290, - 338, 292, 338, 338, 338, 338, 350, 350, 350, 350, - 321, 322, 323, 324, 325, 0, 0, 307, 338, 338, - 338, 338, 328, 329, 330, 331, 332, 333, 334, 335, - 293, 294, 295, 296, 297, 298, 299, 300, 301, 340, - 340, 340, 342, 342, 0, 42, 0, 365, 0, 1183, - 0, 0, 1217, 1298, 1308, 0, 0, 0, 1298, 120, - 0, 0, 0, 550, 584, 502, 538, 551, 0, 505, - 506, -2, 0, 0, 487, 0, 489, 0, 385, 0, - -2, 0, 395, 0, 391, 395, 392, 395, 383, 396, - 528, 529, 530, 0, 532, 533, 614, 898, 0, 0, - 0, 0, 0, 620, 621, 622, 0, 624, 625, 626, - 627, 628, 629, 630, 631, 632, 633, 539, 540, 541, - 542, 543, 544, 545, 546, 0, 0, 0, 0, 489, - 0, 535, 0, 441, 442, 443, 0, 0, 446, 447, - 448, 449, 0, 0, 452, 453, 454, 915, 916, 455, - 456, 481, 482, 483, 457, 458, 459, 460, 461, 462, - 463, 475, 476, 477, 478, 479, 480, 464, 465, 466, - 467, 468, 469, 472, 0, 135, 1208, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1296, 0, 0, 0, 0, 846, 930, 1319, 1320, 749, - 750, 0, 389, 390, 748, 748, 695, 735, 0, 748, - 699, 736, 700, 702, 701, 703, 716, 717, 748, 706, - 746, 747, 707, 708, 709, 710, 711, 712, 713, 731, - 718, 719, 720, 752, 0, 756, 757, 732, 733, 0, - 769, 773, 774, 775, 776, 0, 0, 805, 94, 810, - 811, 812, 813, 825, 818, 1027, 946, 947, 948, 0, - 950, 953, 0, 1011, 1013, 955, 957, 1022, 1023, 1024, - 0, 0, 0, 0, 0, 961, 965, 968, 969, 970, - 971, 972, 973, 974, 975, 976, 977, 978, 979, 985, - 1137, 1138, 1139, 1002, 281, 282, 0, 1003, 0, 862, - 0, 0, 0, 1001, 0, 0, 0, 0, 838, 839, - 1165, 1162, 0, 0, 1122, 1124, 0, 0, 0, 0, - 861, 0, 0, 0, 1100, 1101, 1102, 1103, 1104, 1105, - 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, - 1116, 1117, 1118, 1119, 1120, 1140, 0, 0, 0, 0, - 0, 1158, 0, 1004, 1005, 1006, 0, 0, 0, 1307, - 0, 130, 131, 0, 0, 0, 0, 0, 1094, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 848, - 1168, 0, -2, 0, 0, 0, 0, 0, 0, 0, - 1273, 0, 795, 796, 798, 0, 932, 0, 913, 0, - 0, 801, 0, 842, 0, 845, 58, 60, 854, 855, - 0, 873, 851, 54, 49, 0, 0, 890, 1227, 350, - 1249, 0, 359, 359, 356, 1189, 1190, 0, 1182, 1184, - 1185, 77, 870, 866, 0, 944, 0, 0, 927, 0, - 876, 878, 879, 880, 910, 0, 883, 0, 0, 0, - 0, 0, 96, 929, 1279, 101, 0, 0, 106, 107, - 1280, 1281, 1282, 1283, 0, 573, -2, 436, 167, 169, - 170, 171, 162, -2, 348, 346, 347, 291, 350, 350, - 315, 316, 317, 318, 319, 320, 0, 0, 308, 309, - 310, 311, 302, 0, 303, 304, 305, 0, 306, 403, - 0, 1191, 366, 367, 369, 377, 0, 372, 373, 0, - 377, 377, 0, 398, 399, 0, 1183, 1208, 0, 0, - 0, 1309, 1308, 1308, 1308, 0, 155, 156, 157, 158, - 159, 160, 609, 0, 0, 585, 607, 608, 153, 0, - 0, 163, 491, 490, 0, 641, 0, 401, 0, 0, - 395, 395, 380, 381, 531, 0, 0, 616, 617, 618, - 619, 0, 0, 0, 518, 430, 0, 519, 520, 489, - 491, 361, 0, 444, 445, 450, 451, 470, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 564, - 565, 566, 567, 493, 571, 568, 493, 572, 1205, 1206, - 1207, 0, 0, 679, 0, 0, 427, 92, 1297, 684, - 745, 705, 737, 745, 697, 704, 725, 765, 809, 0, - 0, 0, 0, 817, 0, 0, 954, 1012, 1014, 958, - 0, 962, 966, 0, 0, 0, 0, 0, 0, 0, - 1008, 1032, 1033, 0, 0, 1177, 0, 1163, 0, 0, - 1040, 1125, 1126, 1047, 0, 0, 0, 0, 0, 0, - 1053, 1054, 1055, 1056, 1057, 0, 1059, 0, 0, 0, - 1063, 1064, 0, 0, 1065, 0, 0, 0, 0, 0, - 0, 0, 0, 1077, 1078, 1079, 1080, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1091, 1028, 0, - 0, 847, 0, 1127, 1128, 1129, 1130, 1131, 1168, 794, - 797, 799, 886, 933, 934, 0, 0, 0, 0, 914, - 1305, 840, 841, 844, -2, 0, 0, 1170, 0, 0, - 873, 944, 874, 0, 852, 51, 889, 0, 1231, 1230, - 1243, 1256, 359, 359, 353, 354, 360, 355, 357, 358, - 1181, 0, 1186, 0, 1267, 0, 0, 1259, 0, 0, - 0, 0, 0, 0, 0, 0, 917, 0, 0, 920, - 0, 0, 0, 0, 911, 0, 0, 0, 0, 0, - 0, -2, 0, 0, 90, 91, 0, 0, 0, 104, - 105, 0, 0, 111, 362, 363, 144, 153, 438, 168, - 411, 0, 0, 287, 349, 312, 313, 314, 0, 336, - 0, 0, 0, 432, 116, 1195, 1194, 377, 377, 368, - 0, 371, 0, 0, 0, 1310, 339, 400, 0, 134, - 0, 0, 0, 0, 0, 140, 579, 0, 0, 586, - 0, 0, 0, 500, 0, 511, 512, 0, 613, -2, - 675, 365, 0, 379, 382, 899, 0, 0, 513, 0, - 516, 517, 431, 491, 522, 523, 536, 473, 474, 471, - 0, 0, 1218, 1219, 1224, 1222, 1223, 121, 557, 559, - 558, 562, 0, 0, 495, 0, 495, 555, 0, 427, - 1191, 0, 683, 428, 429, 748, 748, 804, 95, 0, - 807, 0, 0, 0, 0, 959, 963, 863, 0, 0, - 338, 338, 1145, 338, 342, 1148, 338, 1150, 338, 1153, - 338, 1156, 1157, 0, 0, 0, 0, 1160, 1039, 1166, - 0, 1048, 0, 0, 0, 1052, 0, 0, 0, 0, - 0, 0, 132, 133, 1094, 0, 0, 1096, 1098, 1099, - 1069, 1095, 0, 0, 1092, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1029, 1030, 0, 1169, 935, - 940, 940, 940, 0, 0, 0, 1292, 1293, 1171, 1172, - 944, 1173, 875, 853, 891, 1249, 0, 1242, 0, -2, - 1251, 0, 0, 0, 1257, 351, 352, 867, 78, 945, - 81, 0, 1267, 1275, 0, 1258, 1269, 1271, 0, 0, - 0, 1263, 0, 944, 877, 906, 908, 0, 903, 918, - 919, 921, 0, 923, 0, 925, 926, 888, 882, 884, - 0, 0, 0, 98, 0, 944, 944, 97, 0, 931, - 108, 109, 110, 437, 172, 177, 0, 0, 0, 182, - 0, 184, 0, 0, 0, 189, 190, 377, 377, 412, - 0, 284, 286, 0, 0, 175, 350, 0, 350, 0, - 343, 0, 413, 433, 1192, 1193, 0, 0, 370, 374, - 375, 376, 0, 1299, 136, 0, 0, 0, 582, 0, - 610, 0, 0, 0, 0, 0, 0, 164, 492, 642, - 643, 644, 645, 646, 647, 648, 649, 650, 0, 377, - 0, 0, 0, 377, 377, 377, 0, 667, 364, 0, - 0, 638, 635, 514, 0, 213, 214, 216, 0, 0, - 521, 888, 1209, 1210, 1211, 0, 1221, 1225, 124, 0, - 0, 0, 0, 569, 0, 494, 570, 680, 681, 682, - 93, 690, 696, 806, 826, 952, 960, 964, 0, 996, - 1143, 350, 1146, 1147, 1149, 1151, 1152, 1154, 1155, 997, - 998, 0, 1035, 0, 1037, 1186, 0, 1164, 0, 0, - 1051, 0, 0, 0, 1060, 1061, 1062, 0, 0, 1068, - 0, 1070, 0, 0, 0, 1081, 1082, 1083, 1084, 1085, - 1086, 1087, 1088, 1089, 1090, 1031, 0, 0, 0, 0, - 912, -2, 62, 1173, 1175, 0, 1236, 1234, 1234, 1244, - 1245, 0, 0, 1252, 0, 0, 0, 0, 82, 0, - 0, 0, 1272, 0, 0, 0, 0, 99, 1177, 900, - 907, 0, 0, 901, 0, 902, 922, 924, 881, -2, - 885, 0, 944, 944, 88, 89, 0, 178, 0, 180, - 206, 207, 0, 183, 185, 186, 187, 193, 194, 195, - 188, 0, 0, 283, 285, 0, 0, 326, 337, 327, - 0, 0, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, - 888, 137, 138, 139, 574, 0, 584, 0, 0, 0, - 577, 0, 503, 0, 0, 0, 377, 377, 377, 0, - 0, 0, 0, 652, 0, 0, 615, 0, 623, 0, - 0, 0, 217, 218, 0, 1220, 556, 0, 122, 123, - 0, 0, 561, 496, 497, 1132, 1144, 0, 0, 0, - 1161, 0, 0, 0, 0, 1058, 1066, 0, 1097, 0, - 1073, 0, 0, 0, 604, 605, 0, 1093, 0, 941, - 0, 0, 0, 0, 932, 1175, 80, 0, 0, 1239, - 0, 1232, 1235, 1233, 1246, 0, 0, 1253, 0, 1255, - 0, 1276, 1277, 1270, 0, 1262, 1265, 1261, 1264, 1186, - 904, 0, 909, 0, 1177, 87, 0, 181, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 191, 192, 0, 0, 341, 344, 0, 0, 0, - 575, 0, 587, 578, 0, 665, 0, 669, 0, 0, - 0, 672, 673, 674, 651, 0, 655, 405, 639, 636, - 637, 515, 0, 125, 126, 0, 0, 0, 0, 0, - 0, 1034, 1036, 1038, 1049, 1050, 1141, 1142, 1067, 1071, - 0, 1074, 0, 0, 1075, 0, 606, 0, 937, 894, - 895, 942, 943, 0, 0, 887, 79, 1176, 1174, 1228, - 0, 1237, 1238, 1247, 1248, 1254, 0, 1260, 0, 85, - 0, 0, 0, 1186, 179, 0, 198, 0, 583, 0, - 586, 576, 663, 664, 0, 676, 668, 670, 671, 653, - -2, 1212, 0, 0, 0, 563, 995, 0, 0, 0, - 1094, 1076, 0, 602, 603, 0, 936, 938, 939, 1240, - 1241, 1268, 1266, 905, 912, 0, 86, 418, 411, 1212, - 0, 0, 0, 656, 657, 658, 659, 660, 661, 662, - 553, 1214, 127, 128, 484, 485, 486, 121, 1133, 0, - 1136, 0, 896, 897, 588, 0, 590, 0, -2, 406, - 419, 0, 173, 199, 200, 0, 0, 203, 204, 205, - 196, 197, 117, 0, 0, 677, 0, 1215, 1216, 124, - 1134, 1072, 589, 0, 0, 361, 0, 599, 407, 408, - 0, 414, 415, 416, 417, 201, 202, 611, 0, 0, - 560, 0, 591, 592, 600, 0, 409, 0, 410, 0, - 0, 0, 580, 0, 611, 1213, 0, 0, 601, 597, - 420, 422, 423, 0, 0, 421, 612, 581, 1135, 0, - 424, 425, 426, 593, 594, 595, 596, + 377, 377, 377, 1205, 153, 1319, 1316, 1317, 38, 39, + 40, 1469, 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, + 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, + 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, + 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507, + 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1515, 1516, 1517, + 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, + 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, + 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, + 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, + 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, + 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, + 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, + 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, + 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, + 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615, 1616, 1617, + 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, + 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637, + 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1647, + 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, + 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, + 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, + 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, + 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, + 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, + 1708, 1709, 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717, + 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, + 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, + 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, + 1748, 1749, 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, + 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1767, + 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, + 1778, 1779, 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, + 1788, 1789, 1790, 1791, 1792, 1793, 1794, 1795, 1796, 1797, + 1798, 1799, 1800, 1801, 1802, 1803, 1804, 1805, 1806, 1807, + 1808, 1809, 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817, + 1818, 1819, 1820, 1821, 1822, 0, 1295, 0, 686, 929, + 0, 748, 748, 0, 748, 748, 748, 748, 0, 0, + 0, 698, 0, 0, 0, 0, 745, 0, 714, 715, + 0, 745, 0, 721, 751, 0, 726, 748, 748, 729, + 1826, 0, 1826, 1826, 1286, 0, 742, 740, 754, 755, + 758, 762, 0, 767, 770, 1312, 1313, 0, 785, 47, + 1559, 777, 790, 791, 0, 823, 824, 43, 1026, 0, + 951, 956, 967, 980, 981, 982, 983, 984, 986, 987, + 0, 0, 0, 0, 992, 993, 0, 0, 0, 0, + 0, 1007, 0, 0, 0, 0, 0, 1159, 0, 1122, + 1122, 1043, 1122, 1124, 1124, 1479, 1513, 0, 0, 0, + 1822, 1600, 1608, 1609, 1631, 1717, 1766, 1604, 1605, 1586, + 1598, 1601, 1589, 1590, 1592, 1594, 1599, 1606, 1612, 1591, + 1611, 1610, 0, 1587, 1588, 1593, 1603, 1607, 1595, 1596, + 1597, 1602, 1613, 1168, 0, 0, 0, 0, 0, 0, + 273, 274, 1025, 1275, 1124, 1124, 1124, 1124, 1124, -2, + -2, 219, 220, 221, 222, 223, 224, 225, 0, 215, + 0, 278, 279, 275, 276, 277, 1009, 1010, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 1825, 0, 800, 0, 0, 0, 0, 0, 1187, 0, + 1179, 1178, 61, 0, 827, -2, 0, 0, 0, 0, + 45, 0, 50, 888, 75, 74, 1227, 0, 0, 0, + 57, 1188, 65, 67, 1189, 0, 832, 833, 0, 864, + 868, 0, 828, 0, 0, 1302, 1301, 1301, 100, 0, + 1762, 1279, -2, -2, 0, 0, 1314, 1315, 1288, -2, + 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, + 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, + 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, + 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, + 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, + 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, + 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, + 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, + 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, + 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421, + 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, + 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, + 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, + 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, + 1462, 1463, 1464, 1465, 1466, 1467, 1468, -2, 0, 0, + 165, 166, 0, 41, 404, 0, 161, 0, 397, 338, + 0, 1205, 0, 0, 0, 0, 0, 827, 0, 1296, + 142, 143, 150, 151, 152, 377, 377, 377, 549, 0, + 0, 153, 153, 508, 509, 510, 0, 0, -2, 402, + 0, 488, 0, 0, 391, 391, 395, 393, 394, 0, + 0, 0, 0, 0, 0, 0, 0, 526, 0, 527, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 634, + 0, 378, 0, 547, 548, 440, 0, 0, 0, 0, + 0, 0, 524, 525, 0, 0, 1304, 1305, 0, 0, + 0, 377, 377, 0, 0, 0, 0, 377, 377, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 141, 1218, 0, + 0, 0, -2, 0, 678, 0, 0, 0, 1297, 1297, + 0, 685, 0, 687, 688, 0, 0, 689, 0, 745, + 745, 743, 744, 691, 692, 693, 694, 748, 0, 0, + 386, 387, 388, 745, 748, 0, 748, 748, 748, 748, + 745, 745, 745, 748, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1826, 751, 748, 0, 722, 0, 723, + 724, 727, 728, 730, 1827, 1828, 1335, 1826, 1826, 734, + 738, 1287, 760, 768, 771, 788, 786, 787, 789, 781, + 782, 783, 784, 0, 802, 803, 808, 0, 0, 0, + 0, 814, 815, 816, 0, 0, 819, 820, 821, 0, + 0, 0, 0, 0, 949, 0, 0, 1015, 1016, 1017, + 1018, 1019, 1020, 1021, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 988, 989, 990, 991, 994, 0, + 0, 0, 999, 1000, 0, 0, 0, 0, 0, 837, + 0, 1160, 0, 1041, 0, 1042, 1044, 1045, 0, 1046, + 837, 837, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1307, 129, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 847, 0, + 0, 847, 847, 0, 0, 208, 209, 210, 211, 212, + 226, 227, 228, 229, 230, 280, 1168, 0, 1025, 0, + 0, 44, 792, 793, 0, 912, 1307, 0, 0, 843, + 0, 55, 64, 66, 1187, 59, 1187, 0, 849, 0, + 0, -2, -2, 850, 856, 857, 858, 859, 860, 52, + 1824, 53, 0, 72, 0, 46, 0, 0, 0, 0, + 350, 1230, 0, 0, 1180, 1181, 1184, 0, 865, 1642, + 869, 0, 871, 872, 0, 830, 0, 98, 0, 928, + 0, 0, 0, 1762, 1285, 0, 102, 103, 0, 0, + 0, 361, 1290, 1291, 1292, -2, 384, 0, 361, 345, + 288, 289, 290, 338, 292, 338, 338, 338, 338, 350, + 350, 350, 350, 321, 322, 323, 324, 325, 0, 0, + 307, 338, 338, 338, 338, 328, 329, 330, 331, 332, + 333, 334, 335, 293, 294, 295, 296, 297, 298, 299, + 300, 301, 340, 340, 340, 342, 342, 0, 42, 0, + 365, 0, 1184, 0, 0, 1218, 1299, 1309, 0, 0, + 0, 1299, 120, 0, 0, 0, 550, 584, 502, 538, + 551, 0, 505, 506, -2, 0, 0, 487, 0, 489, + 0, 385, 0, -2, 0, 395, 0, 391, 395, 392, + 395, 383, 396, 528, 529, 530, 0, 532, 533, 614, + 898, 0, 0, 0, 0, 0, 620, 621, 622, 0, + 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, + 539, 540, 541, 542, 543, 544, 545, 546, 0, 0, + 0, 0, 489, 0, 535, 0, 441, 442, 443, 0, + 0, 446, 447, 448, 449, 0, 0, 452, 453, 454, + 915, 916, 455, 456, 481, 482, 483, 457, 458, 459, + 460, 461, 462, 463, 475, 476, 477, 478, 479, 480, + 464, 465, 466, 467, 468, 469, 472, 0, 135, 1209, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1297, 0, 0, 0, 0, 846, 930, + 1320, 1321, 749, 750, 0, 389, 390, 748, 748, 695, + 735, 0, 748, 699, 736, 700, 702, 701, 703, 716, + 717, 748, 706, 746, 747, 707, 708, 709, 710, 711, + 712, 713, 731, 718, 719, 720, 752, 0, 756, 757, + 732, 733, 0, 769, 773, 774, 775, 776, 0, 0, + 805, 94, 810, 811, 812, 813, 825, 818, 1027, 946, + 947, 948, 0, 950, 953, 0, 1011, 1013, 955, 957, + 1022, 1023, 1024, 0, 0, 0, 0, 0, 961, 965, + 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, + 978, 979, 985, 1138, 1139, 1140, 1002, 281, 282, 0, + 1003, 0, 862, 0, 0, 0, 1001, 0, 0, 0, + 0, 838, 839, 1166, 1163, 0, 0, 1123, 1125, 0, + 0, 0, 0, 0, 861, 0, 0, 0, 1101, 1102, + 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, + 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1141, + 0, 0, 0, 0, 0, 1159, 0, 1004, 1005, 1006, + 0, 0, 0, 1308, 0, 130, 131, 0, 0, 0, + 0, 0, 1095, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 848, 1169, 0, -2, 0, 0, 0, + 0, 0, 0, 0, 1274, 0, 795, 796, 798, 0, + 932, 0, 913, 0, 0, 801, 0, 842, 0, 845, + 58, 60, 854, 855, 0, 873, 851, 54, 49, 0, + 0, 890, 1228, 350, 1250, 0, 359, 359, 356, 1190, + 1191, 0, 1183, 1185, 1186, 77, 870, 866, 0, 944, + 0, 0, 927, 0, 876, 878, 879, 880, 910, 0, + 883, 0, 0, 0, 0, 0, 96, 929, 1280, 101, + 0, 0, 106, 107, 1281, 1282, 1283, 1284, 0, 573, + -2, 436, 167, 169, 170, 171, 162, -2, 348, 346, + 347, 291, 350, 350, 315, 316, 317, 318, 319, 320, + 0, 0, 308, 309, 310, 311, 302, 0, 303, 304, + 305, 0, 306, 403, 0, 1192, 366, 367, 369, 377, + 0, 372, 373, 0, 377, 377, 0, 398, 399, 0, + 1184, 1209, 0, 0, 0, 1310, 1309, 1309, 1309, 0, + 155, 156, 157, 158, 159, 160, 609, 0, 0, 585, + 607, 608, 153, 0, 0, 163, 491, 490, 0, 641, + 0, 401, 0, 0, 395, 395, 380, 381, 531, 0, + 0, 616, 617, 618, 619, 0, 0, 0, 518, 430, + 0, 519, 520, 489, 491, 361, 0, 444, 445, 450, + 451, 470, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 564, 565, 566, 567, 493, 571, 568, + 493, 572, 1206, 1207, 1208, 0, 0, 679, 0, 0, + 427, 92, 1298, 684, 745, 705, 737, 745, 697, 704, + 725, 765, 809, 0, 0, 0, 0, 817, 0, 0, + 954, 1012, 1014, 958, 0, 962, 966, 0, 0, 0, + 0, 0, 0, 0, 1008, 1032, 1033, 0, 0, 1178, + 0, 1164, 0, 0, 1040, 1126, 1127, 0, 1048, 0, + 0, 0, 0, 0, 0, 1054, 1055, 1056, 1057, 1058, + 0, 1060, 0, 0, 0, 1064, 1065, 0, 0, 1066, + 0, 0, 0, 0, 0, 0, 0, 0, 1078, 1079, + 1080, 1081, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1092, 1028, 0, 0, 847, 0, 1128, 1129, + 1130, 1131, 1132, 1169, 794, 797, 799, 886, 933, 934, + 0, 0, 0, 0, 914, 1306, 840, 841, 844, -2, + 0, 0, 1171, 0, 0, 873, 944, 874, 0, 852, + 51, 889, 0, 1232, 1231, 1244, 1257, 359, 359, 353, + 354, 360, 355, 357, 358, 1182, 0, 1187, 0, 1268, + 0, 0, 1260, 0, 0, 0, 0, 0, 0, 0, + 0, 917, 0, 0, 920, 0, 0, 0, 0, 911, + 0, 0, 0, 0, 0, 0, -2, 0, 0, 90, + 91, 0, 0, 0, 104, 105, 0, 0, 111, 362, + 363, 144, 153, 438, 168, 411, 0, 0, 287, 349, + 312, 313, 314, 0, 336, 0, 0, 0, 432, 116, + 1196, 1195, 377, 377, 368, 0, 371, 0, 0, 0, + 1311, 339, 400, 0, 134, 0, 0, 0, 0, 0, + 140, 579, 0, 0, 586, 0, 0, 0, 500, 0, + 511, 512, 0, 613, -2, 675, 365, 0, 379, 382, + 899, 0, 0, 513, 0, 516, 517, 431, 491, 522, + 523, 536, 473, 474, 471, 0, 0, 1219, 1220, 1225, + 1223, 1224, 121, 557, 559, 558, 562, 0, 0, 495, + 0, 495, 555, 0, 427, 1192, 0, 683, 428, 429, + 748, 748, 804, 95, 0, 807, 0, 0, 0, 0, + 959, 963, 863, 0, 0, 338, 338, 1146, 338, 342, + 1149, 338, 1151, 338, 1154, 338, 1157, 1158, 0, 0, + 0, 0, 1161, 1039, 1167, 0, 1047, 1049, 0, 0, + 0, 1053, 0, 0, 0, 0, 0, 0, 132, 133, + 1095, 0, 0, 1097, 1099, 1100, 1070, 1096, 0, 0, + 1093, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1029, 1030, 0, 1170, 935, 940, 940, 940, 0, + 0, 0, 1293, 1294, 1172, 1173, 944, 1174, 875, 853, + 891, 1250, 0, 1243, 0, -2, 1252, 0, 0, 0, + 1258, 351, 352, 867, 78, 945, 81, 0, 1268, 1276, + 0, 1259, 1270, 1272, 0, 0, 0, 1264, 0, 944, + 877, 906, 908, 0, 903, 918, 919, 921, 0, 923, + 0, 925, 926, 888, 882, 884, 0, 0, 0, 98, + 0, 944, 944, 97, 0, 931, 108, 109, 110, 437, + 172, 177, 0, 0, 0, 182, 0, 184, 0, 0, + 0, 189, 190, 377, 377, 412, 0, 284, 286, 0, + 0, 175, 350, 0, 350, 0, 343, 0, 413, 433, + 1193, 1194, 0, 0, 370, 374, 375, 376, 0, 1300, + 136, 0, 0, 0, 582, 0, 610, 0, 0, 0, + 0, 0, 0, 164, 492, 642, 643, 644, 645, 646, + 647, 648, 649, 650, 0, 377, 0, 0, 0, 377, + 377, 377, 0, 667, 364, 0, 0, 638, 635, 514, + 0, 213, 214, 216, 0, 0, 521, 888, 1210, 1211, + 1212, 0, 1222, 1226, 124, 0, 0, 0, 0, 569, + 0, 494, 570, 680, 681, 682, 93, 690, 696, 806, + 826, 952, 960, 964, 0, 996, 1144, 350, 1147, 1148, + 1150, 1152, 1153, 1155, 1156, 997, 998, 0, 1035, 0, + 1037, 1187, 0, 1165, 0, 0, 1052, 0, 0, 0, + 1061, 1062, 1063, 0, 0, 1069, 0, 1071, 0, 0, + 0, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, + 1091, 1031, 0, 0, 0, 0, 912, -2, 62, 1174, + 1176, 0, 1237, 1235, 1235, 1245, 1246, 0, 0, 1253, + 0, 0, 0, 0, 82, 0, 0, 0, 1273, 0, + 0, 0, 0, 99, 1178, 900, 907, 0, 0, 901, + 0, 902, 922, 924, 881, -2, 885, 0, 944, 944, + 88, 89, 0, 178, 0, 180, 206, 207, 0, 183, + 185, 186, 187, 193, 194, 195, 188, 0, 0, 283, + 285, 0, 0, 326, 337, 327, 0, 0, 1197, 1198, + 1199, 1200, 1201, 1202, 1203, 1204, 888, 137, 138, 139, + 574, 0, 584, 0, 0, 0, 577, 0, 503, 0, + 0, 0, 377, 377, 377, 0, 0, 0, 0, 652, + 0, 0, 615, 0, 623, 0, 0, 0, 217, 218, + 0, 1221, 556, 0, 122, 123, 0, 0, 561, 496, + 497, 1133, 1145, 0, 0, 0, 1162, 0, 0, 0, + 0, 1059, 1067, 0, 1098, 0, 1074, 0, 0, 0, + 604, 605, 0, 1094, 0, 941, 0, 0, 0, 0, + 932, 1176, 80, 0, 0, 1240, 0, 1233, 1236, 1234, + 1247, 0, 0, 1254, 0, 1256, 0, 1277, 1278, 1271, + 0, 1263, 1266, 1262, 1265, 1187, 904, 0, 909, 0, + 1178, 87, 0, 181, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, + 0, 0, 341, 344, 0, 0, 0, 575, 0, 587, + 578, 0, 665, 0, 669, 0, 0, 0, 672, 673, + 674, 651, 0, 655, 405, 639, 636, 637, 515, 0, + 125, 126, 0, 0, 0, 0, 0, 0, 1034, 1036, + 1038, 1050, 1051, 1142, 1143, 1068, 1072, 0, 1075, 0, + 0, 1076, 0, 606, 0, 937, 894, 895, 942, 943, + 0, 0, 887, 79, 1177, 1175, 1229, 0, 1238, 1239, + 1248, 1249, 1255, 0, 1261, 0, 85, 0, 0, 0, + 1187, 179, 0, 198, 0, 583, 0, 586, 576, 663, + 664, 0, 676, 668, 670, 671, 653, -2, 1213, 0, + 0, 0, 563, 995, 0, 0, 0, 1095, 1077, 0, + 602, 603, 0, 936, 938, 939, 1241, 1242, 1269, 1267, + 905, 912, 0, 86, 418, 411, 1213, 0, 0, 0, + 656, 657, 658, 659, 660, 661, 662, 553, 1215, 127, + 128, 484, 485, 486, 121, 1134, 0, 1137, 0, 896, + 897, 588, 0, 590, 0, -2, 406, 419, 0, 173, + 199, 200, 0, 0, 203, 204, 205, 196, 197, 117, + 0, 0, 677, 0, 1216, 1217, 124, 1135, 1073, 589, + 0, 0, 361, 0, 599, 407, 408, 0, 414, 415, + 416, 417, 201, 202, 611, 0, 0, 560, 0, 591, + 592, 600, 0, 409, 0, 410, 0, 0, 0, 580, + 0, 611, 1214, 0, 0, 601, 597, 420, 422, 423, + 0, 0, 421, 612, 581, 1136, 0, 424, 425, 426, + 593, 594, 595, 596, } var yyTok1 = [...]int{ @@ -7747,7 +7754,7 @@ var yyTok1 = [...]int{ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 141, 3, 3, 3, 167, 159, 3, 86, 88, 164, 162, 87, 163, 217, 165, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 612, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 613, 149, 148, 150, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, @@ -7854,7 +7861,7 @@ var yyTok3 = [...]int{ 57920, 595, 57921, 596, 57922, 597, 57923, 598, 57924, 599, 57925, 600, 57926, 601, 57927, 602, 57928, 603, 57929, 604, 57930, 605, 57931, 606, 57932, 607, 57933, 608, 57934, 609, - 57935, 610, 57936, 611, 0, + 57935, 610, 57936, 611, 57937, 612, 0, } var yyErrorMessages = [...]struct { @@ -8204,68 +8211,68 @@ yydefault: case 1: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:535 +//line sql.y:536 { setParseTree(yylex, yyDollar[1].statementUnion()) } case 2: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:540 +//line sql.y:541 { } case 3: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:541 +//line sql.y:542 { } case 4: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:545 +//line sql.y:546 { yyLOCAL = yyDollar[1].selStmtUnion() } yyVAL.union = yyLOCAL case 37: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:581 +//line sql.y:582 { setParseTree(yylex, nil) } case 38: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:587 +//line sql.y:588 { yyVAL.colIdent = NewColIdentWithAt(string(yyDollar[1].str), NoAt) } case 39: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:591 +//line sql.y:592 { yyVAL.colIdent = NewColIdentWithAt(string(yyDollar[1].str), SingleAt) } case 40: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:595 +//line sql.y:596 { yyVAL.colIdent = NewColIdentWithAt(string(yyDollar[1].str), DoubleAt) } case 41: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:600 +//line sql.y:601 { yyVAL.colIdent = NewColIdentWithAt("", NoAt) } case 42: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:604 +//line sql.y:605 { yyVAL.colIdent = yyDollar[1].colIdent } case 43: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:610 +//line sql.y:611 { yyLOCAL = &OtherAdmin{} } @@ -8273,7 +8280,7 @@ yydefault: case 44: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:616 +//line sql.y:617 { yyLOCAL = &Load{} } @@ -8281,7 +8288,7 @@ yydefault: case 45: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *With -//line sql.y:622 +//line sql.y:623 { yyLOCAL = &With{ctes: yyDollar[2].ctesUnion(), Recursive: false} } @@ -8289,7 +8296,7 @@ yydefault: case 46: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *With -//line sql.y:626 +//line sql.y:627 { yyLOCAL = &With{ctes: yyDollar[3].ctesUnion(), Recursive: true} } @@ -8297,7 +8304,7 @@ yydefault: case 47: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *With -//line sql.y:631 +//line sql.y:632 { yyLOCAL = nil } @@ -8305,14 +8312,14 @@ yydefault: case 48: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *With -//line sql.y:635 +//line sql.y:636 { yyLOCAL = yyDollar[1].withUnion() } yyVAL.union = yyLOCAL case 49: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:641 +//line sql.y:642 { yySLICE := (*[]*CommonTableExpr)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].cteUnion()) @@ -8320,7 +8327,7 @@ yydefault: case 50: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*CommonTableExpr -//line sql.y:645 +//line sql.y:646 { yyLOCAL = []*CommonTableExpr{yyDollar[1].cteUnion()} } @@ -8328,7 +8335,7 @@ yydefault: case 51: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *CommonTableExpr -//line sql.y:651 +//line sql.y:652 { yyLOCAL = &CommonTableExpr{TableID: yyDollar[1].tableIdent, Columns: yyDollar[2].columnsUnion(), Subquery: yyDollar[4].subqueryUnion()} } @@ -8336,7 +8343,7 @@ yydefault: case 52: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:657 +//line sql.y:658 { yyLOCAL = yyDollar[2].selStmtUnion() } @@ -8344,7 +8351,7 @@ yydefault: case 53: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:661 +//line sql.y:662 { yyLOCAL = yyDollar[2].selStmtUnion() } @@ -8352,7 +8359,7 @@ yydefault: case 54: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:665 +//line sql.y:666 { setLockInSelect(yyDollar[2].selStmtUnion(), yyDollar[3].lockUnion()) yyLOCAL = yyDollar[2].selStmtUnion() @@ -8361,7 +8368,7 @@ yydefault: case 55: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:688 +//line sql.y:689 { yyDollar[1].selStmtUnion().SetOrderBy(yyDollar[2].orderByUnion()) yyDollar[1].selStmtUnion().SetLimit(yyDollar[3].limitUnion()) @@ -8371,7 +8378,7 @@ yydefault: case 56: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:694 +//line sql.y:695 { yyDollar[1].selStmtUnion().SetLimit(yyDollar[2].limitUnion()) yyLOCAL = yyDollar[1].selStmtUnion() @@ -8380,7 +8387,7 @@ yydefault: case 57: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:699 +//line sql.y:700 { yyDollar[1].selStmtUnion().SetOrderBy(yyDollar[2].orderByUnion()) yyDollar[1].selStmtUnion().SetLimit(yyDollar[3].limitUnion()) @@ -8390,7 +8397,7 @@ yydefault: case 58: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:705 +//line sql.y:706 { yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion()) yyDollar[2].selStmtUnion().SetOrderBy(yyDollar[3].orderByUnion()) @@ -8401,7 +8408,7 @@ yydefault: case 59: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:712 +//line sql.y:713 { yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion()) yyDollar[2].selStmtUnion().SetLimit(yyDollar[3].limitUnion()) @@ -8411,7 +8418,7 @@ yydefault: case 60: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:718 +//line sql.y:719 { yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion()) yyDollar[2].selStmtUnion().SetOrderBy(yyDollar[3].orderByUnion()) @@ -8421,14 +8428,14 @@ yydefault: yyVAL.union = yyLOCAL case 61: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:725 +//line sql.y:726 { yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion()) } case 62: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:729 +//line sql.y:730 { 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*/) } @@ -8436,7 +8443,7 @@ yydefault: case 63: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:735 +//line sql.y:736 { yyLOCAL = yyDollar[1].selStmtUnion() } @@ -8444,7 +8451,7 @@ yydefault: case 64: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:739 +//line sql.y:740 { yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()} } @@ -8452,7 +8459,7 @@ yydefault: case 65: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:743 +//line sql.y:744 { yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()} } @@ -8460,7 +8467,7 @@ yydefault: case 66: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:747 +//line sql.y:748 { yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()} } @@ -8468,7 +8475,7 @@ yydefault: case 67: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:751 +//line sql.y:752 { yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()} } @@ -8476,7 +8483,7 @@ yydefault: case 68: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:757 +//line sql.y:758 { yyLOCAL = yyDollar[1].selStmtUnion() } @@ -8484,7 +8491,7 @@ yydefault: case 69: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:761 +//line sql.y:762 { setLockInSelect(yyDollar[1].selStmtUnion(), yyDollar[2].lockUnion()) yyLOCAL = yyDollar[1].selStmtUnion() @@ -8493,7 +8500,7 @@ yydefault: case 70: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:766 +//line sql.y:767 { yyLOCAL = yyDollar[1].selStmtUnion() } @@ -8501,7 +8508,7 @@ yydefault: case 71: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:770 +//line sql.y:771 { yyLOCAL = yyDollar[1].selStmtUnion() } @@ -8509,7 +8516,7 @@ yydefault: case 72: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:776 +//line sql.y:777 { yyLOCAL = yyDollar[2].selStmtUnion() } @@ -8517,7 +8524,7 @@ yydefault: case 73: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:780 +//line sql.y:781 { yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion()) yyLOCAL = yyDollar[1].selStmtUnion() @@ -8526,7 +8533,7 @@ yydefault: case 74: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:785 +//line sql.y:786 { yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion()) yyDollar[1].selStmtUnion().SetLock(yyDollar[3].lockUnion()) @@ -8536,7 +8543,7 @@ yydefault: case 75: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:791 +//line sql.y:792 { yyDollar[1].selStmtUnion().SetInto(yyDollar[3].selectIntoUnion()) yyDollar[1].selStmtUnion().SetLock(yyDollar[2].lockUnion()) @@ -8546,7 +8553,7 @@ yydefault: case 76: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:797 +//line sql.y:798 { yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion()) yyLOCAL = yyDollar[1].selStmtUnion() @@ -8555,7 +8562,7 @@ yydefault: case 77: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:804 +//line sql.y:805 { yyLOCAL = &Stream{Comments: Comments(yyDollar[2].strs).Parsed(), SelectExpr: yyDollar[3].selectExprUnion(), Table: yyDollar[5].tableName} } @@ -8563,7 +8570,7 @@ yydefault: case 78: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:810 +//line sql.y:811 { yyLOCAL = &VStream{Comments: Comments(yyDollar[2].strs).Parsed(), SelectExpr: yyDollar[3].selectExprUnion(), Table: yyDollar[5].tableName, Where: NewWhere(WhereClause, yyDollar[6].exprUnion()), Limit: yyDollar[7].limitUnion()} } @@ -8571,7 +8578,7 @@ yydefault: case 79: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:818 +//line sql.y:819 { 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())) } @@ -8579,7 +8586,7 @@ yydefault: case 80: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:822 +//line sql.y:823 { 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())) } @@ -8587,7 +8594,7 @@ yydefault: case 81: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:828 +//line sql.y:829 { // insert_data returns a *Insert pre-filled with Columns & Values ins := yyDollar[6].insUnion() @@ -8603,7 +8610,7 @@ yydefault: case 82: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Statement -//line sql.y:840 +//line sql.y:841 { cols := make(Columns, 0, len(yyDollar[7].updateExprsUnion())) vals := make(ValTuple, 0, len(yyDollar[8].updateExprsUnion())) @@ -8617,7 +8624,7 @@ yydefault: case 83: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL InsertAction -//line sql.y:852 +//line sql.y:853 { yyLOCAL = InsertAct } @@ -8625,7 +8632,7 @@ yydefault: case 84: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL InsertAction -//line sql.y:856 +//line sql.y:857 { yyLOCAL = ReplaceAct } @@ -8633,7 +8640,7 @@ yydefault: case 85: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL Statement -//line sql.y:862 +//line sql.y:863 { yyLOCAL = &Update{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), 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()} } @@ -8641,7 +8648,7 @@ yydefault: case 86: yyDollar = yyS[yypt-11 : yypt+1] var yyLOCAL Statement -//line sql.y:868 +//line sql.y:869 { yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), 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()} } @@ -8649,7 +8656,7 @@ yydefault: case 87: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL Statement -//line sql.y:872 +//line sql.y:873 { yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), Targets: yyDollar[6].tableNamesUnion(), TableExprs: yyDollar[8].tableExprsUnion(), Where: NewWhere(WhereClause, yyDollar[9].exprUnion())} } @@ -8657,7 +8664,7 @@ yydefault: case 88: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Statement -//line sql.y:876 +//line sql.y:877 { yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), Targets: yyDollar[5].tableNamesUnion(), TableExprs: yyDollar[7].tableExprsUnion(), Where: NewWhere(WhereClause, yyDollar[8].exprUnion())} } @@ -8665,32 +8672,32 @@ yydefault: case 89: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Statement -//line sql.y:880 +//line sql.y:881 { yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), Targets: yyDollar[5].tableNamesUnion(), TableExprs: yyDollar[7].tableExprsUnion(), Where: NewWhere(WhereClause, yyDollar[8].exprUnion())} } yyVAL.union = yyLOCAL case 90: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:885 +//line sql.y:886 { } case 91: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:886 +//line sql.y:887 { } case 92: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableNames -//line sql.y:890 +//line sql.y:891 { yyLOCAL = TableNames{yyDollar[1].tableName.ToViewName()} } yyVAL.union = yyLOCAL case 93: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:894 +//line sql.y:895 { yySLICE := (*TableNames)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableName.ToViewName()) @@ -8698,14 +8705,14 @@ yydefault: case 94: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableNames -//line sql.y:900 +//line sql.y:901 { yyLOCAL = TableNames{yyDollar[1].tableName} } yyVAL.union = yyLOCAL case 95: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:904 +//line sql.y:905 { yySLICE := (*TableNames)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableName) @@ -8713,14 +8720,14 @@ yydefault: case 96: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableNames -//line sql.y:910 +//line sql.y:911 { yyLOCAL = TableNames{yyDollar[1].tableName} } yyVAL.union = yyLOCAL case 97: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:914 +//line sql.y:915 { yySLICE := (*TableNames)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableName) @@ -8728,7 +8735,7 @@ yydefault: case 98: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Partitions -//line sql.y:919 +//line sql.y:920 { yyLOCAL = nil } @@ -8736,7 +8743,7 @@ yydefault: case 99: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Partitions -//line sql.y:923 +//line sql.y:924 { yyLOCAL = yyDollar[3].partitionsUnion() } @@ -8744,7 +8751,7 @@ yydefault: case 100: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:929 +//line sql.y:930 { yyLOCAL = &Set{Comments: Comments(yyDollar[2].strs).Parsed(), Exprs: yyDollar[3].setExprsUnion()} } @@ -8752,7 +8759,7 @@ yydefault: case 101: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:935 +//line sql.y:936 { yyLOCAL = &SetTransaction{Comments: Comments(yyDollar[2].strs).Parsed(), Scope: yyDollar[3].scopeUnion(), Characteristics: yyDollar[5].characteristicsUnion()} } @@ -8760,7 +8767,7 @@ yydefault: case 102: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:939 +//line sql.y:940 { yyLOCAL = &SetTransaction{Comments: Comments(yyDollar[2].strs).Parsed(), Characteristics: yyDollar[4].characteristicsUnion(), Scope: ImplicitScope} } @@ -8768,14 +8775,14 @@ yydefault: case 103: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []Characteristic -//line sql.y:945 +//line sql.y:946 { yyLOCAL = []Characteristic{yyDollar[1].characteristicUnion()} } yyVAL.union = yyLOCAL case 104: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:949 +//line sql.y:950 { yySLICE := (*[]Characteristic)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].characteristicUnion()) @@ -8783,7 +8790,7 @@ yydefault: case 105: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Characteristic -//line sql.y:955 +//line sql.y:956 { yyLOCAL = yyDollar[3].isolationLevelUnion() } @@ -8791,7 +8798,7 @@ yydefault: case 106: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Characteristic -//line sql.y:959 +//line sql.y:960 { yyLOCAL = ReadWrite } @@ -8799,7 +8806,7 @@ yydefault: case 107: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Characteristic -//line sql.y:963 +//line sql.y:964 { yyLOCAL = ReadOnly } @@ -8807,7 +8814,7 @@ yydefault: case 108: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IsolationLevel -//line sql.y:969 +//line sql.y:970 { yyLOCAL = RepeatableRead } @@ -8815,7 +8822,7 @@ yydefault: case 109: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IsolationLevel -//line sql.y:973 +//line sql.y:974 { yyLOCAL = ReadCommitted } @@ -8823,7 +8830,7 @@ yydefault: case 110: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IsolationLevel -//line sql.y:977 +//line sql.y:978 { yyLOCAL = ReadUncommitted } @@ -8831,7 +8838,7 @@ yydefault: case 111: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IsolationLevel -//line sql.y:981 +//line sql.y:982 { yyLOCAL = Serializable } @@ -8839,7 +8846,7 @@ yydefault: case 112: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Scope -//line sql.y:987 +//line sql.y:988 { yyLOCAL = SessionScope } @@ -8847,7 +8854,7 @@ yydefault: case 113: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Scope -//line sql.y:991 +//line sql.y:992 { yyLOCAL = GlobalScope } @@ -8855,7 +8862,7 @@ yydefault: case 114: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:997 +//line sql.y:998 { yyDollar[1].createTableUnion().TableSpec = yyDollar[2].tableSpecUnion() yyDollar[1].createTableUnion().FullyParsed = true @@ -8865,7 +8872,7 @@ yydefault: case 115: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:1003 +//line sql.y:1004 { // Create table [name] like [name] yyDollar[1].createTableUnion().OptLike = yyDollar[2].optLikeUnion() @@ -8876,7 +8883,7 @@ yydefault: case 116: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:1010 +//line sql.y:1011 { indexDef := yyDollar[1].alterTableUnion().AlterOptions[0].(*AddIndexDefinition).IndexDefinition indexDef.Columns = yyDollar[3].indexColumnsUnion() @@ -8889,7 +8896,7 @@ yydefault: case 117: yyDollar = yyS[yypt-12 : yypt+1] var yyLOCAL Statement -//line sql.y:1019 +//line sql.y:1020 { yyLOCAL = &CreateView{ViewName: yyDollar[8].tableName.ToViewName(), Comments: Comments(yyDollar[2].strs).Parsed(), IsReplace: yyDollar[3].booleanUnion(), Algorithm: yyDollar[4].str, Definer: yyDollar[5].definerUnion(), Security: yyDollar[6].str, Columns: yyDollar[9].columnsUnion(), Select: yyDollar[11].selStmtUnion(), CheckOption: yyDollar[12].str} } @@ -8897,7 +8904,7 @@ yydefault: case 118: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:1023 +//line sql.y:1024 { yyDollar[1].createDatabaseUnion().FullyParsed = true yyDollar[1].createDatabaseUnion().CreateOptions = yyDollar[2].databaseOptionsUnion() @@ -8907,7 +8914,7 @@ yydefault: case 119: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:1030 +//line sql.y:1031 { yyLOCAL = false } @@ -8915,33 +8922,33 @@ yydefault: case 120: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:1034 +//line sql.y:1035 { yyLOCAL = true } yyVAL.union = yyLOCAL case 121: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1039 +//line sql.y:1040 { yyVAL.colIdent = NewColIdent("") } case 122: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1043 +//line sql.y:1044 { yyVAL.colIdent = yyDollar[2].colIdent } case 123: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1049 +//line sql.y:1050 { yyVAL.colIdent = yyDollar[1].colIdent } case 124: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []VindexParam -//line sql.y:1054 +//line sql.y:1055 { var v []VindexParam yyLOCAL = v @@ -8950,7 +8957,7 @@ yydefault: case 125: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []VindexParam -//line sql.y:1059 +//line sql.y:1060 { yyLOCAL = yyDollar[2].vindexParamsUnion() } @@ -8958,7 +8965,7 @@ yydefault: case 126: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []VindexParam -//line sql.y:1065 +//line sql.y:1066 { yyLOCAL = make([]VindexParam, 0, 4) yyLOCAL = append(yyLOCAL, yyDollar[1].vindexParam) @@ -8966,21 +8973,21 @@ yydefault: yyVAL.union = yyLOCAL case 127: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1070 +//line sql.y:1071 { yySLICE := (*[]VindexParam)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].vindexParam) } case 128: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1076 +//line sql.y:1077 { yyVAL.vindexParam = VindexParam{Key: yyDollar[1].colIdent, Val: yyDollar[3].str} } case 129: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*JSONObjectParam -//line sql.y:1081 +//line sql.y:1082 { yyLOCAL = nil } @@ -8988,7 +8995,7 @@ yydefault: case 130: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*JSONObjectParam -//line sql.y:1085 +//line sql.y:1086 { yyLOCAL = yyDollar[1].jsonObjectParamsUnion() } @@ -8996,28 +9003,28 @@ yydefault: case 131: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*JSONObjectParam -//line sql.y:1091 +//line sql.y:1092 { yyLOCAL = []*JSONObjectParam{yyDollar[1].jsonObjectParam} } yyVAL.union = yyLOCAL case 132: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1095 +//line sql.y:1096 { yySLICE := (*[]*JSONObjectParam)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].jsonObjectParam) } case 133: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1101 +//line sql.y:1102 { yyVAL.jsonObjectParam = &JSONObjectParam{Key: yyDollar[1].exprUnion(), Value: yyDollar[3].exprUnion()} } case 134: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *CreateTable -//line sql.y:1107 +//line sql.y:1108 { yyLOCAL = &CreateTable{Comments: Comments(yyDollar[2].strs).Parsed(), Table: yyDollar[6].tableName, IfNotExists: yyDollar[5].booleanUnion(), Temp: yyDollar[3].booleanUnion()} setDDL(yylex, yyLOCAL) @@ -9026,7 +9033,7 @@ yydefault: case 135: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *AlterTable -//line sql.y:1114 +//line sql.y:1115 { yyLOCAL = &AlterTable{Comments: Comments(yyDollar[2].strs).Parsed(), Table: yyDollar[4].tableName} setDDL(yylex, yyLOCAL) @@ -9035,7 +9042,7 @@ yydefault: case 136: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *AlterTable -//line sql.y:1121 +//line sql.y:1122 { 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()}}}} setDDL(yylex, yyLOCAL) @@ -9044,7 +9051,7 @@ yydefault: case 137: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *AlterTable -//line sql.y:1126 +//line sql.y:1127 { 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()}}}} setDDL(yylex, yyLOCAL) @@ -9053,7 +9060,7 @@ yydefault: case 138: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *AlterTable -//line sql.y:1131 +//line sql.y:1132 { 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()}}}} setDDL(yylex, yyLOCAL) @@ -9062,7 +9069,7 @@ yydefault: case 139: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *AlterTable -//line sql.y:1136 +//line sql.y:1137 { 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()}}}} setDDL(yylex, yyLOCAL) @@ -9071,7 +9078,7 @@ yydefault: case 140: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *CreateDatabase -//line sql.y:1143 +//line sql.y:1144 { yyLOCAL = &CreateDatabase{Comments: Comments(yyDollar[4].strs).Parsed(), DBName: yyDollar[6].tableIdent, IfNotExists: yyDollar[5].booleanUnion()} setDDL(yylex, yyLOCAL) @@ -9080,7 +9087,7 @@ yydefault: case 141: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *AlterDatabase -//line sql.y:1150 +//line sql.y:1151 { yyLOCAL = &AlterDatabase{} setDDL(yylex, yyLOCAL) @@ -9089,7 +9096,7 @@ yydefault: case 144: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *TableSpec -//line sql.y:1161 +//line sql.y:1162 { yyLOCAL = yyDollar[2].tableSpecUnion() yyLOCAL.Options = yyDollar[4].tableOptionsUnion() @@ -9099,7 +9106,7 @@ yydefault: case 145: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []DatabaseOption -//line sql.y:1168 +//line sql.y:1169 { yyLOCAL = nil } @@ -9107,7 +9114,7 @@ yydefault: case 146: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []DatabaseOption -//line sql.y:1172 +//line sql.y:1173 { yyLOCAL = yyDollar[1].databaseOptionsUnion() } @@ -9115,7 +9122,7 @@ yydefault: case 147: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []DatabaseOption -//line sql.y:1178 +//line sql.y:1179 { yyLOCAL = []DatabaseOption{yyDollar[1].databaseOption} } @@ -9123,7 +9130,7 @@ yydefault: case 148: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []DatabaseOption -//line sql.y:1182 +//line sql.y:1183 { yyLOCAL = []DatabaseOption{yyDollar[1].databaseOption} } @@ -9131,28 +9138,28 @@ yydefault: case 149: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []DatabaseOption -//line sql.y:1186 +//line sql.y:1187 { yyLOCAL = []DatabaseOption{yyDollar[1].databaseOption} } yyVAL.union = yyLOCAL case 150: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1190 +//line sql.y:1191 { yySLICE := (*[]DatabaseOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].databaseOption) } case 151: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1194 +//line sql.y:1195 { yySLICE := (*[]DatabaseOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].databaseOption) } case 152: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1198 +//line sql.y:1199 { yySLICE := (*[]DatabaseOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].databaseOption) @@ -9160,7 +9167,7 @@ yydefault: case 153: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:1204 +//line sql.y:1205 { yyLOCAL = false } @@ -9168,51 +9175,51 @@ yydefault: case 154: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:1208 +//line sql.y:1209 { yyLOCAL = true } yyVAL.union = yyLOCAL case 155: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1214 +//line sql.y:1215 { yyVAL.databaseOption = DatabaseOption{Type: CharacterSetType, Value: (yyDollar[4].colIdent.String()), IsDefault: yyDollar[1].booleanUnion()} } case 156: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1218 +//line sql.y:1219 { yyVAL.databaseOption = DatabaseOption{Type: CharacterSetType, Value: (encodeSQLString(yyDollar[4].str)), IsDefault: yyDollar[1].booleanUnion()} } case 157: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1224 +//line sql.y:1225 { yyVAL.databaseOption = DatabaseOption{Type: CollateType, Value: (yyDollar[4].colIdent.String()), IsDefault: yyDollar[1].booleanUnion()} } case 158: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1228 +//line sql.y:1229 { yyVAL.databaseOption = DatabaseOption{Type: CollateType, Value: (encodeSQLString(yyDollar[4].str)), IsDefault: yyDollar[1].booleanUnion()} } case 159: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1234 +//line sql.y:1235 { yyVAL.databaseOption = DatabaseOption{Type: EncryptionType, Value: (yyDollar[4].colIdent.String()), IsDefault: yyDollar[1].booleanUnion()} } case 160: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1238 +//line sql.y:1239 { yyVAL.databaseOption = DatabaseOption{Type: EncryptionType, Value: (encodeSQLString(yyDollar[4].str)), IsDefault: yyDollar[1].booleanUnion()} } case 161: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *OptLike -//line sql.y:1244 +//line sql.y:1245 { yyLOCAL = &OptLike{LikeTable: yyDollar[2].tableName} } @@ -9220,7 +9227,7 @@ yydefault: case 162: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *OptLike -//line sql.y:1248 +//line sql.y:1249 { yyLOCAL = &OptLike{LikeTable: yyDollar[3].tableName} } @@ -9228,14 +9235,14 @@ yydefault: case 163: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*ColumnDefinition -//line sql.y:1254 +//line sql.y:1255 { yyLOCAL = []*ColumnDefinition{yyDollar[1].columnDefinitionUnion()} } yyVAL.union = yyLOCAL case 164: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1258 +//line sql.y:1259 { yySLICE := (*[]*ColumnDefinition)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].columnDefinitionUnion()) @@ -9243,7 +9250,7 @@ yydefault: case 165: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *TableSpec -//line sql.y:1264 +//line sql.y:1265 { yyLOCAL = &TableSpec{} yyLOCAL.AddColumn(yyDollar[1].columnDefinitionUnion()) @@ -9252,7 +9259,7 @@ yydefault: case 166: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *TableSpec -//line sql.y:1269 +//line sql.y:1270 { yyLOCAL = &TableSpec{} yyLOCAL.AddConstraint(yyDollar[1].constraintDefinitionUnion()) @@ -9260,39 +9267,39 @@ yydefault: yyVAL.union = yyLOCAL case 167: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1274 +//line sql.y:1275 { yyVAL.tableSpecUnion().AddColumn(yyDollar[3].columnDefinitionUnion()) } case 168: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1278 +//line sql.y:1279 { yyVAL.tableSpecUnion().AddColumn(yyDollar[3].columnDefinitionUnion()) yyVAL.tableSpecUnion().AddConstraint(yyDollar[4].constraintDefinitionUnion()) } case 169: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1283 +//line sql.y:1284 { yyVAL.tableSpecUnion().AddIndex(yyDollar[3].indexDefinitionUnion()) } case 170: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1287 +//line sql.y:1288 { yyVAL.tableSpecUnion().AddConstraint(yyDollar[3].constraintDefinitionUnion()) } case 171: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1291 +//line sql.y:1292 { yyVAL.tableSpecUnion().AddConstraint(yyDollar[3].constraintDefinitionUnion()) } case 172: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ColumnDefinition -//line sql.y:1302 +//line sql.y:1303 { yyDollar[2].columnType.Options = yyDollar[4].columnTypeOptionsUnion() if yyDollar[2].columnType.Options.Collate == "" { @@ -9305,7 +9312,7 @@ yydefault: case 173: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL *ColumnDefinition -//line sql.y:1311 +//line sql.y:1312 { yyDollar[2].columnType.Options = yyDollar[9].columnTypeOptionsUnion() yyDollar[2].columnType.Options.As = yyDollar[7].exprUnion() @@ -9316,20 +9323,20 @@ yydefault: yyVAL.union = yyLOCAL case 174: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1320 +//line sql.y:1321 { yyVAL.str = "" } case 175: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1324 +//line sql.y:1325 { yyVAL.str = "" } case 176: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1333 +//line sql.y:1334 { yyLOCAL = &ColumnTypeOptions{Null: nil, Default: nil, OnUpdate: nil, Autoincrement: false, KeyOpt: colKeyNone, Comment: nil, As: nil, Invisible: nil, Format: UnspecifiedFormat, EngineAttribute: nil, SecondaryEngineAttribute: nil} } @@ -9337,7 +9344,7 @@ yydefault: case 177: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1337 +//line sql.y:1338 { val := true yyDollar[1].columnTypeOptionsUnion().Null = &val @@ -9347,7 +9354,7 @@ yydefault: case 178: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1343 +//line sql.y:1344 { val := false yyDollar[1].columnTypeOptionsUnion().Null = &val @@ -9357,7 +9364,7 @@ yydefault: case 179: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1349 +//line sql.y:1350 { yyDollar[1].columnTypeOptionsUnion().Default = yyDollar[4].exprUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9366,7 +9373,7 @@ yydefault: case 180: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1354 +//line sql.y:1355 { yyDollar[1].columnTypeOptionsUnion().Default = yyDollar[3].exprUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9375,7 +9382,7 @@ yydefault: case 181: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1359 +//line sql.y:1360 { yyDollar[1].columnTypeOptionsUnion().OnUpdate = yyDollar[4].exprUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9384,7 +9391,7 @@ yydefault: case 182: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1364 +//line sql.y:1365 { yyDollar[1].columnTypeOptionsUnion().Autoincrement = true yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9393,7 +9400,7 @@ yydefault: case 183: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1369 +//line sql.y:1370 { yyDollar[1].columnTypeOptionsUnion().Comment = NewStrLiteral(yyDollar[3].str) yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9402,7 +9409,7 @@ yydefault: case 184: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1374 +//line sql.y:1375 { yyDollar[1].columnTypeOptionsUnion().KeyOpt = yyDollar[2].colKeyOptUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9410,14 +9417,14 @@ yydefault: yyVAL.union = yyLOCAL case 185: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1379 +//line sql.y:1380 { yyDollar[1].columnTypeOptionsUnion().Collate = encodeSQLString(yyDollar[3].str) } case 186: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1383 +//line sql.y:1384 { yyDollar[1].columnTypeOptionsUnion().Collate = string(yyDollar[3].colIdent.String()) yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9425,14 +9432,14 @@ yydefault: yyVAL.union = yyLOCAL case 187: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1388 +//line sql.y:1389 { yyDollar[1].columnTypeOptionsUnion().Format = yyDollar[3].columnFormatUnion() } case 188: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1392 +//line sql.y:1393 { yyDollar[1].columnTypeOptionsUnion().SRID = NewIntLiteral(yyDollar[3].str) yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9441,7 +9448,7 @@ yydefault: case 189: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1397 +//line sql.y:1398 { val := false yyDollar[1].columnTypeOptionsUnion().Invisible = &val @@ -9451,7 +9458,7 @@ yydefault: case 190: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1403 +//line sql.y:1404 { val := true yyDollar[1].columnTypeOptionsUnion().Invisible = &val @@ -9460,20 +9467,20 @@ yydefault: yyVAL.union = yyLOCAL case 191: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1409 +//line sql.y:1410 { yyDollar[1].columnTypeOptionsUnion().EngineAttribute = NewStrLiteral(yyDollar[4].str) } case 192: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1413 +//line sql.y:1414 { yyDollar[1].columnTypeOptionsUnion().SecondaryEngineAttribute = NewStrLiteral(yyDollar[4].str) } case 193: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnFormat -//line sql.y:1419 +//line sql.y:1420 { yyLOCAL = FixedFormat } @@ -9481,7 +9488,7 @@ yydefault: case 194: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnFormat -//line sql.y:1423 +//line sql.y:1424 { yyLOCAL = DynamicFormat } @@ -9489,7 +9496,7 @@ yydefault: case 195: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnFormat -//line sql.y:1427 +//line sql.y:1428 { yyLOCAL = DefaultFormat } @@ -9497,7 +9504,7 @@ yydefault: case 196: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnStorage -//line sql.y:1433 +//line sql.y:1434 { yyLOCAL = VirtualStorage } @@ -9505,7 +9512,7 @@ yydefault: case 197: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnStorage -//line sql.y:1437 +//line sql.y:1438 { yyLOCAL = StoredStorage } @@ -9513,7 +9520,7 @@ yydefault: case 198: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1442 +//line sql.y:1443 { yyLOCAL = &ColumnTypeOptions{} } @@ -9521,7 +9528,7 @@ yydefault: case 199: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1446 +//line sql.y:1447 { yyDollar[1].columnTypeOptionsUnion().Storage = yyDollar[2].columnStorageUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9530,7 +9537,7 @@ yydefault: case 200: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1451 +//line sql.y:1452 { val := true yyDollar[1].columnTypeOptionsUnion().Null = &val @@ -9540,7 +9547,7 @@ yydefault: case 201: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1457 +//line sql.y:1458 { val := false yyDollar[1].columnTypeOptionsUnion().Null = &val @@ -9550,7 +9557,7 @@ yydefault: case 202: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1463 +//line sql.y:1464 { yyDollar[1].columnTypeOptionsUnion().Comment = NewStrLiteral(yyDollar[3].str) yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9559,7 +9566,7 @@ yydefault: case 203: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1468 +//line sql.y:1469 { yyDollar[1].columnTypeOptionsUnion().KeyOpt = yyDollar[2].colKeyOptUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9568,7 +9575,7 @@ yydefault: case 204: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1473 +//line sql.y:1474 { val := false yyDollar[1].columnTypeOptionsUnion().Invisible = &val @@ -9578,7 +9585,7 @@ yydefault: case 205: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1479 +//line sql.y:1480 { val := true yyDollar[1].columnTypeOptionsUnion().Invisible = &val @@ -9588,7 +9595,7 @@ yydefault: case 206: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1487 +//line sql.y:1488 { yyLOCAL = yyDollar[1].exprUnion() } @@ -9596,7 +9603,7 @@ yydefault: case 208: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1494 +//line sql.y:1495 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("current_timestamp"), Fsp: yyDollar[2].exprUnion()} } @@ -9604,7 +9611,7 @@ yydefault: case 209: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1498 +//line sql.y:1499 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("localtime"), Fsp: yyDollar[2].exprUnion()} } @@ -9612,7 +9619,7 @@ yydefault: case 210: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1502 +//line sql.y:1503 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("localtimestamp"), Fsp: yyDollar[2].exprUnion()} } @@ -9620,7 +9627,7 @@ yydefault: case 211: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1506 +//line sql.y:1507 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("utc_timestamp"), Fsp: yyDollar[2].exprUnion()} } @@ -9628,7 +9635,7 @@ yydefault: case 212: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1510 +//line sql.y:1511 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("now"), Fsp: yyDollar[2].exprUnion()} } @@ -9636,7 +9643,7 @@ yydefault: case 215: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1520 +//line sql.y:1521 { yyLOCAL = &NullVal{} } @@ -9644,7 +9651,7 @@ yydefault: case 217: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1527 +//line sql.y:1528 { yyLOCAL = yyDollar[2].exprUnion() } @@ -9652,7 +9659,7 @@ yydefault: case 218: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1531 +//line sql.y:1532 { yyLOCAL = &UnaryExpr{Operator: UMinusOp, Expr: yyDollar[2].exprUnion()} } @@ -9660,7 +9667,7 @@ yydefault: case 219: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1537 +//line sql.y:1538 { yyLOCAL = yyDollar[1].exprUnion() } @@ -9668,7 +9675,7 @@ yydefault: case 220: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1541 +//line sql.y:1542 { yyLOCAL = yyDollar[1].exprUnion() } @@ -9676,7 +9683,7 @@ yydefault: case 221: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1545 +//line sql.y:1546 { yyLOCAL = yyDollar[1].boolValUnion() } @@ -9684,7 +9691,7 @@ yydefault: case 222: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1549 +//line sql.y:1550 { yyLOCAL = NewHexLiteral(yyDollar[1].str) } @@ -9692,7 +9699,7 @@ yydefault: case 223: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1553 +//line sql.y:1554 { yyLOCAL = NewHexNumLiteral(yyDollar[1].str) } @@ -9700,7 +9707,7 @@ yydefault: case 224: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1557 +//line sql.y:1558 { yyLOCAL = NewBitLiteral(yyDollar[1].str) } @@ -9708,7 +9715,7 @@ yydefault: case 225: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1561 +//line sql.y:1562 { yyLOCAL = NewArgument(yyDollar[1].str[1:]) bindVariable(yylex, yyDollar[1].str[1:]) @@ -9717,7 +9724,7 @@ yydefault: case 226: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1566 +//line sql.y:1567 { yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewBitLiteral(yyDollar[2].str)} } @@ -9725,7 +9732,7 @@ yydefault: case 227: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1570 +//line sql.y:1571 { yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewHexNumLiteral(yyDollar[2].str)} } @@ -9733,7 +9740,7 @@ yydefault: case 228: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1574 +//line sql.y:1575 { yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewHexLiteral(yyDollar[2].str)} } @@ -9741,7 +9748,7 @@ yydefault: case 229: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1578 +//line sql.y:1579 { yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: yyDollar[2].colNameUnion()} } @@ -9749,7 +9756,7 @@ yydefault: case 230: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1582 +//line sql.y:1583 { bindVariable(yylex, yyDollar[2].str[1:]) yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewArgument(yyDollar[2].str[1:])} @@ -9757,260 +9764,260 @@ yydefault: yyVAL.union = yyLOCAL case 231: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1589 +//line sql.y:1590 { yyVAL.str = Armscii8Str } case 232: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1593 +//line sql.y:1594 { yyVAL.str = ASCIIStr } case 233: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1597 +//line sql.y:1598 { yyVAL.str = Big5Str } case 234: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1601 +//line sql.y:1602 { yyVAL.str = UBinaryStr } case 235: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1605 +//line sql.y:1606 { yyVAL.str = Cp1250Str } case 236: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1609 +//line sql.y:1610 { yyVAL.str = Cp1251Str } case 237: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1613 +//line sql.y:1614 { yyVAL.str = Cp1256Str } case 238: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1617 +//line sql.y:1618 { yyVAL.str = Cp1257Str } case 239: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1621 +//line sql.y:1622 { yyVAL.str = Cp850Str } case 240: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1625 +//line sql.y:1626 { yyVAL.str = Cp852Str } case 241: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1629 +//line sql.y:1630 { yyVAL.str = Cp866Str } case 242: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1633 +//line sql.y:1634 { yyVAL.str = Cp932Str } case 243: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1637 +//line sql.y:1638 { yyVAL.str = Dec8Str } case 244: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1641 +//line sql.y:1642 { yyVAL.str = EucjpmsStr } case 245: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1645 +//line sql.y:1646 { yyVAL.str = EuckrStr } case 246: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1649 +//line sql.y:1650 { yyVAL.str = Gb18030Str } case 247: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1653 +//line sql.y:1654 { yyVAL.str = Gb2312Str } case 248: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1657 +//line sql.y:1658 { yyVAL.str = GbkStr } case 249: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1661 +//line sql.y:1662 { yyVAL.str = Geostd8Str } case 250: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1665 +//line sql.y:1666 { yyVAL.str = GreekStr } case 251: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1669 +//line sql.y:1670 { yyVAL.str = HebrewStr } case 252: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1673 +//line sql.y:1674 { yyVAL.str = Hp8Str } case 253: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1677 +//line sql.y:1678 { yyVAL.str = Keybcs2Str } case 254: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1681 +//line sql.y:1682 { yyVAL.str = Koi8rStr } case 255: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1685 +//line sql.y:1686 { yyVAL.str = Koi8uStr } case 256: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1689 +//line sql.y:1690 { yyVAL.str = Latin1Str } case 257: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1693 +//line sql.y:1694 { yyVAL.str = Latin2Str } case 258: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1697 +//line sql.y:1698 { yyVAL.str = Latin5Str } case 259: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1701 +//line sql.y:1702 { yyVAL.str = Latin7Str } case 260: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1705 +//line sql.y:1706 { yyVAL.str = MacceStr } case 261: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1709 +//line sql.y:1710 { yyVAL.str = MacromanStr } case 262: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1713 +//line sql.y:1714 { yyVAL.str = SjisStr } case 263: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1717 +//line sql.y:1718 { yyVAL.str = Swe7Str } case 264: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1721 +//line sql.y:1722 { yyVAL.str = Tis620Str } case 265: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1725 +//line sql.y:1726 { yyVAL.str = Ucs2Str } case 266: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1729 +//line sql.y:1730 { yyVAL.str = UjisStr } case 267: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1733 +//line sql.y:1734 { yyVAL.str = Utf16Str } case 268: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1737 +//line sql.y:1738 { yyVAL.str = Utf16leStr } case 269: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1741 +//line sql.y:1742 { yyVAL.str = Utf32Str } case 270: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1745 +//line sql.y:1746 { yyVAL.str = Utf8Str } case 271: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1749 +//line sql.y:1750 { yyVAL.str = Utf8mb4Str } case 272: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1753 +//line sql.y:1754 { yyVAL.str = Utf8Str } case 275: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1763 +//line sql.y:1764 { yyLOCAL = NewIntLiteral(yyDollar[1].str) } @@ -10018,7 +10025,7 @@ yydefault: case 276: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1767 +//line sql.y:1768 { yyLOCAL = NewFloatLiteral(yyDollar[1].str) } @@ -10026,7 +10033,7 @@ yydefault: case 277: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1771 +//line sql.y:1772 { yyLOCAL = NewDecimalLiteral(yyDollar[1].str) } @@ -10034,7 +10041,7 @@ yydefault: case 278: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1777 +//line sql.y:1778 { yyLOCAL = NewStrLiteral(yyDollar[1].str) } @@ -10042,7 +10049,7 @@ yydefault: case 279: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1781 +//line sql.y:1782 { yyLOCAL = &UnaryExpr{Operator: NStringOp, Expr: NewStrLiteral(yyDollar[1].str)} } @@ -10050,7 +10057,7 @@ yydefault: case 280: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1785 +//line sql.y:1786 { yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewStrLiteral(yyDollar[2].str)} } @@ -10058,7 +10065,7 @@ yydefault: case 281: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1791 +//line sql.y:1792 { yyLOCAL = yyDollar[1].exprUnion() } @@ -10066,7 +10073,7 @@ yydefault: case 282: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1795 +//line sql.y:1796 { yyLOCAL = NewArgument(yyDollar[1].str[1:]) bindVariable(yylex, yyDollar[1].str[1:]) @@ -10075,7 +10082,7 @@ yydefault: case 283: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ColumnKeyOption -//line sql.y:1802 +//line sql.y:1803 { yyLOCAL = colKeyPrimary } @@ -10083,7 +10090,7 @@ yydefault: case 284: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnKeyOption -//line sql.y:1806 +//line sql.y:1807 { yyLOCAL = colKeyUnique } @@ -10091,7 +10098,7 @@ yydefault: case 285: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ColumnKeyOption -//line sql.y:1810 +//line sql.y:1811 { yyLOCAL = colKeyUniqueKey } @@ -10099,14 +10106,14 @@ yydefault: case 286: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnKeyOption -//line sql.y:1814 +//line sql.y:1815 { yyLOCAL = colKey } yyVAL.union = yyLOCAL case 287: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1820 +//line sql.y:1821 { yyVAL.columnType = yyDollar[1].columnType yyVAL.columnType.Unsigned = yyDollar[2].booleanUnion() @@ -10114,74 +10121,74 @@ yydefault: } case 291: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1831 +//line sql.y:1832 { yyVAL.columnType = yyDollar[1].columnType yyVAL.columnType.Length = yyDollar[2].literalUnion() } case 292: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1836 +//line sql.y:1837 { yyVAL.columnType = yyDollar[1].columnType } case 293: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1842 +//line sql.y:1843 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 294: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1846 +//line sql.y:1847 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 295: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1850 +//line sql.y:1851 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 296: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1854 +//line sql.y:1855 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 297: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1858 +//line sql.y:1859 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 298: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1862 +//line sql.y:1863 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 299: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1866 +//line sql.y:1867 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 300: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1870 +//line sql.y:1871 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 301: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1874 +//line sql.y:1875 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 302: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1880 +//line sql.y:1881 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -10189,7 +10196,7 @@ yydefault: } case 303: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1886 +//line sql.y:1887 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -10197,7 +10204,7 @@ yydefault: } case 304: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1892 +//line sql.y:1893 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -10205,7 +10212,7 @@ yydefault: } case 305: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1898 +//line sql.y:1899 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -10213,7 +10220,7 @@ yydefault: } case 306: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1904 +//line sql.y:1905 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -10221,43 +10228,43 @@ yydefault: } case 307: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1912 +//line sql.y:1913 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 308: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1916 +//line sql.y:1917 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 309: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1920 +//line sql.y:1921 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 310: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1924 +//line sql.y:1925 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 311: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1928 +//line sql.y:1929 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 312: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1934 +//line sql.y:1935 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion(), Charset: yyDollar[3].columnCharset} } case 313: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1938 +//line sql.y:1939 { // CHAR BYTE is an alias for binary. See also: // https://dev.mysql.com/doc/refman/8.0/en/string-type-syntax.html @@ -10265,153 +10272,153 @@ yydefault: } case 314: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1944 +//line sql.y:1945 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion(), Charset: yyDollar[3].columnCharset} } case 315: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1948 +//line sql.y:1949 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 316: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1952 +//line sql.y:1953 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 317: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1956 +//line sql.y:1957 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset} } case 318: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1960 +//line sql.y:1961 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset} } case 319: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1964 +//line sql.y:1965 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset} } case 320: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1968 +//line sql.y:1969 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset} } case 321: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1972 +//line sql.y:1973 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 322: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1976 +//line sql.y:1977 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 323: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1980 +//line sql.y:1981 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 324: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1984 +//line sql.y:1985 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 325: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1988 +//line sql.y:1989 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 326: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1992 +//line sql.y:1993 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].columnCharset} } case 327: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1997 +//line sql.y:1998 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].columnCharset} } case 328: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2003 +//line sql.y:2004 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 329: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2007 +//line sql.y:2008 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 330: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2011 +//line sql.y:2012 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 331: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2015 +//line sql.y:2016 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 332: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2019 +//line sql.y:2020 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 333: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2023 +//line sql.y:2024 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 334: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2027 +//line sql.y:2028 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 335: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2031 +//line sql.y:2032 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 336: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2037 +//line sql.y:2038 { yyVAL.strs = make([]string, 0, 4) yyVAL.strs = append(yyVAL.strs, encodeSQLString(yyDollar[1].str)) } case 337: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2042 +//line sql.y:2043 { yyVAL.strs = append(yyDollar[1].strs, encodeSQLString(yyDollar[3].str)) } case 338: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *Literal -//line sql.y:2047 +//line sql.y:2048 { yyLOCAL = nil } @@ -10419,20 +10426,20 @@ yydefault: case 339: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *Literal -//line sql.y:2051 +//line sql.y:2052 { yyLOCAL = NewIntLiteral(yyDollar[2].str) } yyVAL.union = yyLOCAL case 340: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2056 +//line sql.y:2057 { yyVAL.LengthScaleOption = LengthScaleOption{} } case 341: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2060 +//line sql.y:2061 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: NewIntLiteral(yyDollar[2].str), @@ -10441,13 +10448,13 @@ yydefault: } case 342: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2068 +//line sql.y:2069 { yyVAL.LengthScaleOption = LengthScaleOption{} } case 343: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2072 +//line sql.y:2073 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: NewIntLiteral(yyDollar[2].str), @@ -10455,7 +10462,7 @@ yydefault: } case 344: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2078 +//line sql.y:2079 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: NewIntLiteral(yyDollar[2].str), @@ -10465,7 +10472,7 @@ yydefault: case 345: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:2086 +//line sql.y:2087 { yyLOCAL = false } @@ -10473,7 +10480,7 @@ yydefault: case 346: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2090 +//line sql.y:2091 { yyLOCAL = true } @@ -10481,7 +10488,7 @@ yydefault: case 347: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2094 +//line sql.y:2095 { yyLOCAL = false } @@ -10489,7 +10496,7 @@ yydefault: case 348: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:2099 +//line sql.y:2100 { yyLOCAL = false } @@ -10497,66 +10504,66 @@ yydefault: case 349: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2103 +//line sql.y:2104 { yyLOCAL = true } yyVAL.union = yyLOCAL case 350: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2108 +//line sql.y:2109 { yyVAL.columnCharset = ColumnCharset{} } case 351: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2112 +//line sql.y:2113 { yyVAL.columnCharset = ColumnCharset{Name: string(yyDollar[2].colIdent.String()), Binary: yyDollar[3].booleanUnion()} } case 352: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2116 +//line sql.y:2117 { yyVAL.columnCharset = ColumnCharset{Name: encodeSQLString(yyDollar[2].str), Binary: yyDollar[3].booleanUnion()} } case 353: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2120 +//line sql.y:2121 { yyVAL.columnCharset = ColumnCharset{Name: string(yyDollar[2].str)} } case 354: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2124 +//line sql.y:2125 { // ASCII: Shorthand for CHARACTER SET latin1. yyVAL.columnCharset = ColumnCharset{Name: "latin1", Binary: yyDollar[2].booleanUnion()} } case 355: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2129 +//line sql.y:2130 { // UNICODE: Shorthand for CHARACTER SET ucs2. yyVAL.columnCharset = ColumnCharset{Name: "ucs2", Binary: yyDollar[2].booleanUnion()} } case 356: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2134 +//line sql.y:2135 { // BINARY: Shorthand for default CHARACTER SET but with binary collation yyVAL.columnCharset = ColumnCharset{Name: "", Binary: true} } case 357: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2139 +//line sql.y:2140 { // BINARY ASCII: Shorthand for CHARACTER SET latin1 with binary collation yyVAL.columnCharset = ColumnCharset{Name: "latin1", Binary: true} } case 358: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2144 +//line sql.y:2145 { // BINARY UNICODE: Shorthand for CHARACTER SET ucs2 with binary collation yyVAL.columnCharset = ColumnCharset{Name: "ucs2", Binary: true} @@ -10564,7 +10571,7 @@ yydefault: case 359: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:2150 +//line sql.y:2151 { yyLOCAL = false } @@ -10572,33 +10579,33 @@ yydefault: case 360: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2154 +//line sql.y:2155 { yyLOCAL = true } yyVAL.union = yyLOCAL case 361: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2159 +//line sql.y:2160 { yyVAL.str = "" } case 362: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2163 +//line sql.y:2164 { yyVAL.str = string(yyDollar[2].colIdent.String()) } case 363: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2167 +//line sql.y:2168 { yyVAL.str = encodeSQLString(yyDollar[2].str) } case 364: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *IndexDefinition -//line sql.y:2173 +//line sql.y:2174 { yyLOCAL = &IndexDefinition{Info: yyDollar[1].indexInfoUnion(), Columns: yyDollar[3].indexColumnsUnion(), Options: yyDollar[5].indexOptionsUnion()} } @@ -10606,7 +10613,7 @@ yydefault: case 365: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:2178 +//line sql.y:2179 { yyLOCAL = nil } @@ -10614,7 +10621,7 @@ yydefault: case 366: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:2182 +//line sql.y:2183 { yyLOCAL = yyDollar[1].indexOptionsUnion() } @@ -10622,14 +10629,14 @@ yydefault: case 367: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:2188 +//line sql.y:2189 { yyLOCAL = []*IndexOption{yyDollar[1].indexOptionUnion()} } yyVAL.union = yyLOCAL case 368: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2192 +//line sql.y:2193 { yySLICE := (*[]*IndexOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].indexOptionUnion()) @@ -10637,7 +10644,7 @@ yydefault: case 369: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2198 +//line sql.y:2199 { yyLOCAL = yyDollar[1].indexOptionUnion() } @@ -10645,7 +10652,7 @@ yydefault: case 370: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2202 +//line sql.y:2203 { // should not be string yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} @@ -10654,7 +10661,7 @@ yydefault: case 371: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2207 +//line sql.y:2208 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[2].str)} } @@ -10662,7 +10669,7 @@ yydefault: case 372: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2211 +//line sql.y:2212 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str)} } @@ -10670,7 +10677,7 @@ yydefault: case 373: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2215 +//line sql.y:2216 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str)} } @@ -10678,7 +10685,7 @@ yydefault: case 374: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2219 +//line sql.y:2220 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str) + " " + string(yyDollar[2].str), String: yyDollar[3].colIdent.String()} } @@ -10686,7 +10693,7 @@ yydefault: case 375: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2223 +//line sql.y:2224 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -10694,27 +10701,27 @@ yydefault: case 376: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2227 +//line sql.y:2228 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } yyVAL.union = yyLOCAL case 377: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2233 +//line sql.y:2234 { yyVAL.str = "" } case 378: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2237 +//line sql.y:2238 { yyVAL.str = string(yyDollar[1].str) } case 379: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *IndexInfo -//line sql.y:2243 +//line sql.y:2244 { yyLOCAL = &IndexInfo{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), ConstraintName: NewColIdent(yyDollar[1].str), Name: NewColIdent("PRIMARY"), Primary: true, Unique: true} } @@ -10722,7 +10729,7 @@ yydefault: case 380: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexInfo -//line sql.y:2247 +//line sql.y:2248 { yyLOCAL = &IndexInfo{Type: string(yyDollar[1].str) + " " + string(yyDollar[2].str), Name: NewColIdent(yyDollar[3].str), Spatial: true, Unique: false} } @@ -10730,7 +10737,7 @@ yydefault: case 381: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexInfo -//line sql.y:2251 +//line sql.y:2252 { yyLOCAL = &IndexInfo{Type: string(yyDollar[1].str) + " " + string(yyDollar[2].str), Name: NewColIdent(yyDollar[3].str), Fulltext: true, Unique: false} } @@ -10738,7 +10745,7 @@ yydefault: case 382: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *IndexInfo -//line sql.y:2255 +//line sql.y:2256 { yyLOCAL = &IndexInfo{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), ConstraintName: NewColIdent(yyDollar[1].str), Name: NewColIdent(yyDollar[4].str), Unique: true} } @@ -10746,100 +10753,100 @@ yydefault: case 383: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *IndexInfo -//line sql.y:2259 +//line sql.y:2260 { yyLOCAL = &IndexInfo{Type: string(yyDollar[1].str), Name: NewColIdent(yyDollar[2].str), Unique: false} } yyVAL.union = yyLOCAL case 384: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2264 +//line sql.y:2265 { yyVAL.str = "" } case 385: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2268 +//line sql.y:2269 { yyVAL.str = yyDollar[2].str } case 386: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2274 +//line sql.y:2275 { yyVAL.str = string(yyDollar[1].str) } case 387: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2278 +//line sql.y:2279 { yyVAL.str = string(yyDollar[1].str) } case 388: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2282 +//line sql.y:2283 { yyVAL.str = string(yyDollar[1].str) } case 389: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2288 +//line sql.y:2289 { yyVAL.str = string(yyDollar[1].str) } case 390: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2292 +//line sql.y:2293 { yyVAL.str = string(yyDollar[1].str) } case 391: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2297 +//line sql.y:2298 { yyVAL.str = "key" } case 392: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2301 +//line sql.y:2302 { yyVAL.str = yyDollar[1].str } case 393: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2307 +//line sql.y:2308 { yyVAL.str = string(yyDollar[1].str) } case 394: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2311 +//line sql.y:2312 { yyVAL.str = string(yyDollar[1].str) } case 395: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2316 +//line sql.y:2317 { yyVAL.str = "" } case 396: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2320 +//line sql.y:2321 { yyVAL.str = string(yyDollar[1].colIdent.String()) } case 397: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*IndexColumn -//line sql.y:2326 +//line sql.y:2327 { yyLOCAL = []*IndexColumn{yyDollar[1].indexColumnUnion()} } yyVAL.union = yyLOCAL case 398: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2330 +//line sql.y:2331 { yySLICE := (*[]*IndexColumn)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].indexColumnUnion()) @@ -10847,7 +10854,7 @@ yydefault: case 399: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexColumn -//line sql.y:2336 +//line sql.y:2337 { yyLOCAL = &IndexColumn{Column: yyDollar[1].colIdent, Length: yyDollar[2].literalUnion(), Direction: yyDollar[3].orderDirectionUnion()} } @@ -10855,7 +10862,7 @@ yydefault: case 400: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *IndexColumn -//line sql.y:2340 +//line sql.y:2341 { yyLOCAL = &IndexColumn{Expression: yyDollar[2].exprUnion(), Direction: yyDollar[4].orderDirectionUnion()} } @@ -10863,7 +10870,7 @@ yydefault: case 401: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ConstraintDefinition -//line sql.y:2346 +//line sql.y:2347 { yyLOCAL = &ConstraintDefinition{Name: yyDollar[2].colIdent, Details: yyDollar[3].constraintInfoUnion()} } @@ -10871,7 +10878,7 @@ yydefault: case 402: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConstraintDefinition -//line sql.y:2350 +//line sql.y:2351 { yyLOCAL = &ConstraintDefinition{Details: yyDollar[1].constraintInfoUnion()} } @@ -10879,7 +10886,7 @@ yydefault: case 403: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ConstraintDefinition -//line sql.y:2356 +//line sql.y:2357 { yyLOCAL = &ConstraintDefinition{Name: yyDollar[2].colIdent, Details: yyDollar[3].constraintInfoUnion()} } @@ -10887,7 +10894,7 @@ yydefault: case 404: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConstraintDefinition -//line sql.y:2360 +//line sql.y:2361 { yyLOCAL = &ConstraintDefinition{Details: yyDollar[1].constraintInfoUnion()} } @@ -10895,7 +10902,7 @@ yydefault: case 405: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL ConstraintInfo -//line sql.y:2366 +//line sql.y:2367 { yyLOCAL = &ForeignKeyDefinition{IndexName: NewColIdent(yyDollar[3].str), Source: yyDollar[5].columnsUnion(), ReferenceDefinition: yyDollar[7].referenceDefinitionUnion()} } @@ -10903,7 +10910,7 @@ yydefault: case 406: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2372 +//line sql.y:2373 { yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion()} } @@ -10911,7 +10918,7 @@ yydefault: case 407: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2376 +//line sql.y:2377 { yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnDelete: yyDollar[7].referenceActionUnion()} } @@ -10919,7 +10926,7 @@ yydefault: case 408: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2380 +//line sql.y:2381 { yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnUpdate: yyDollar[7].referenceActionUnion()} } @@ -10927,7 +10934,7 @@ yydefault: case 409: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2384 +//line sql.y:2385 { yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnDelete: yyDollar[7].referenceActionUnion(), OnUpdate: yyDollar[8].referenceActionUnion()} } @@ -10935,7 +10942,7 @@ yydefault: case 410: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2388 +//line sql.y:2389 { yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnUpdate: yyDollar[7].referenceActionUnion(), OnDelete: yyDollar[8].referenceActionUnion()} } @@ -10943,7 +10950,7 @@ yydefault: case 411: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2393 +//line sql.y:2394 { yyLOCAL = nil } @@ -10951,7 +10958,7 @@ yydefault: case 412: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2397 +//line sql.y:2398 { yyLOCAL = yyDollar[1].referenceDefinitionUnion() } @@ -10959,7 +10966,7 @@ yydefault: case 413: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL ConstraintInfo -//line sql.y:2403 +//line sql.y:2404 { yyLOCAL = &CheckConstraintDefinition{Expr: yyDollar[3].exprUnion(), Enforced: yyDollar[5].booleanUnion()} } @@ -10967,7 +10974,7 @@ yydefault: case 414: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2409 +//line sql.y:2410 { yyLOCAL = yyDollar[2].matchActionUnion() } @@ -10975,7 +10982,7 @@ yydefault: case 415: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2415 +//line sql.y:2416 { yyLOCAL = Full } @@ -10983,7 +10990,7 @@ yydefault: case 416: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2419 +//line sql.y:2420 { yyLOCAL = Partial } @@ -10991,7 +10998,7 @@ yydefault: case 417: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2423 +//line sql.y:2424 { yyLOCAL = Simple } @@ -10999,7 +11006,7 @@ yydefault: case 418: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2428 +//line sql.y:2429 { yyLOCAL = DefaultMatch } @@ -11007,7 +11014,7 @@ yydefault: case 419: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2432 +//line sql.y:2433 { yyLOCAL = yyDollar[1].matchActionUnion() } @@ -11015,7 +11022,7 @@ yydefault: case 420: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2438 +//line sql.y:2439 { yyLOCAL = yyDollar[3].referenceActionUnion() } @@ -11023,7 +11030,7 @@ yydefault: case 421: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2444 +//line sql.y:2445 { yyLOCAL = yyDollar[3].referenceActionUnion() } @@ -11031,7 +11038,7 @@ yydefault: case 422: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2450 +//line sql.y:2451 { yyLOCAL = Restrict } @@ -11039,7 +11046,7 @@ yydefault: case 423: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2454 +//line sql.y:2455 { yyLOCAL = Cascade } @@ -11047,7 +11054,7 @@ yydefault: case 424: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2458 +//line sql.y:2459 { yyLOCAL = NoAction } @@ -11055,7 +11062,7 @@ yydefault: case 425: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2462 +//line sql.y:2463 { yyLOCAL = SetDefault } @@ -11063,33 +11070,33 @@ yydefault: case 426: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2466 +//line sql.y:2467 { yyLOCAL = SetNull } yyVAL.union = yyLOCAL case 427: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2471 +//line sql.y:2472 { yyVAL.str = "" } case 428: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2475 +//line sql.y:2476 { yyVAL.str = string(yyDollar[1].str) } case 429: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2479 +//line sql.y:2480 { yyVAL.str = string(yyDollar[1].str) } case 430: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2485 +//line sql.y:2486 { yyLOCAL = true } @@ -11097,7 +11104,7 @@ yydefault: case 431: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:2489 +//line sql.y:2490 { yyLOCAL = false } @@ -11105,7 +11112,7 @@ yydefault: case 432: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:2494 +//line sql.y:2495 { yyLOCAL = true } @@ -11113,7 +11120,7 @@ yydefault: case 433: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2498 +//line sql.y:2499 { yyLOCAL = yyDollar[1].booleanUnion() } @@ -11121,7 +11128,7 @@ yydefault: case 434: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL TableOptions -//line sql.y:2503 +//line sql.y:2504 { yyLOCAL = nil } @@ -11129,7 +11136,7 @@ yydefault: case 435: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableOptions -//line sql.y:2507 +//line sql.y:2508 { yyLOCAL = yyDollar[1].tableOptionsUnion() } @@ -11137,21 +11144,21 @@ yydefault: case 436: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableOptions -//line sql.y:2513 +//line sql.y:2514 { yyLOCAL = TableOptions{yyDollar[1].tableOptionUnion()} } yyVAL.union = yyLOCAL case 437: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2517 +//line sql.y:2518 { yySLICE := (*TableOptions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableOptionUnion()) } case 438: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2521 +//line sql.y:2522 { yySLICE := (*TableOptions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].tableOptionUnion()) @@ -11159,14 +11166,14 @@ yydefault: case 439: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableOptions -//line sql.y:2527 +//line sql.y:2528 { yyLOCAL = TableOptions{yyDollar[1].tableOptionUnion()} } yyVAL.union = yyLOCAL case 440: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2531 +//line sql.y:2532 { yySLICE := (*TableOptions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].tableOptionUnion()) @@ -11174,7 +11181,7 @@ yydefault: case 441: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2537 +//line sql.y:2538 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11182,7 +11189,7 @@ yydefault: case 442: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2541 +//line sql.y:2542 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11190,7 +11197,7 @@ yydefault: case 443: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2545 +//line sql.y:2546 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11198,7 +11205,7 @@ yydefault: case 444: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2549 +//line sql.y:2550 { yyLOCAL = &TableOption{Name: (string(yyDollar[2].str)), String: yyDollar[4].str, CaseSensitive: true} } @@ -11206,7 +11213,7 @@ yydefault: case 445: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2553 +//line sql.y:2554 { yyLOCAL = &TableOption{Name: string(yyDollar[2].str), String: yyDollar[4].str, CaseSensitive: true} } @@ -11214,7 +11221,7 @@ yydefault: case 446: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2557 +//line sql.y:2558 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11222,7 +11229,7 @@ yydefault: case 447: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2561 +//line sql.y:2562 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11230,7 +11237,7 @@ yydefault: case 448: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2565 +//line sql.y:2566 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11238,7 +11245,7 @@ yydefault: case 449: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2569 +//line sql.y:2570 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11246,7 +11253,7 @@ yydefault: case 450: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2573 +//line sql.y:2574 { yyLOCAL = &TableOption{Name: (string(yyDollar[1].str) + " " + string(yyDollar[2].str)), Value: NewStrLiteral(yyDollar[4].str)} } @@ -11254,7 +11261,7 @@ yydefault: case 451: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2577 +//line sql.y:2578 { yyLOCAL = &TableOption{Name: (string(yyDollar[1].str) + " " + string(yyDollar[2].str)), Value: NewStrLiteral(yyDollar[4].str)} } @@ -11262,7 +11269,7 @@ yydefault: case 452: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2581 +//line sql.y:2582 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11270,7 +11277,7 @@ yydefault: case 453: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2585 +//line sql.y:2586 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11278,7 +11285,7 @@ yydefault: case 454: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2589 +//line sql.y:2590 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: yyDollar[3].tableIdent.String(), CaseSensitive: true} } @@ -11286,7 +11293,7 @@ yydefault: case 455: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2593 +//line sql.y:2594 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11294,7 +11301,7 @@ yydefault: case 456: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2597 +//line sql.y:2598 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} } @@ -11302,7 +11309,7 @@ yydefault: case 457: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2601 +//line sql.y:2602 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11310,7 +11317,7 @@ yydefault: case 458: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2605 +//line sql.y:2606 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11318,7 +11325,7 @@ yydefault: case 459: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2609 +//line sql.y:2610 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11326,7 +11333,7 @@ yydefault: case 460: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2613 +//line sql.y:2614 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11334,7 +11341,7 @@ yydefault: case 461: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2617 +//line sql.y:2618 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} } @@ -11342,7 +11349,7 @@ yydefault: case 462: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2621 +//line sql.y:2622 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11350,7 +11357,7 @@ yydefault: case 463: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2625 +//line sql.y:2626 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} } @@ -11358,7 +11365,7 @@ yydefault: case 464: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2629 +//line sql.y:2630 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11366,7 +11373,7 @@ yydefault: case 465: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2633 +//line sql.y:2634 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11374,7 +11381,7 @@ yydefault: case 466: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2637 +//line sql.y:2638 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} } @@ -11382,7 +11389,7 @@ yydefault: case 467: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2641 +//line sql.y:2642 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11390,7 +11397,7 @@ yydefault: case 468: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2645 +//line sql.y:2646 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} } @@ -11398,7 +11405,7 @@ yydefault: case 469: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2649 +//line sql.y:2650 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11406,7 +11413,7 @@ yydefault: case 470: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2653 +//line sql.y:2654 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: (yyDollar[3].colIdent.String() + yyDollar[4].str)} } @@ -11414,57 +11421,57 @@ yydefault: case 471: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2657 +//line sql.y:2658 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Tables: yyDollar[4].tableNamesUnion()} } yyVAL.union = yyLOCAL case 472: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2662 +//line sql.y:2663 { yyVAL.str = "" } case 473: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2666 +//line sql.y:2667 { yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 474: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2670 +//line sql.y:2671 { yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 484: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2689 +//line sql.y:2690 { yyVAL.str = yyDollar[1].colIdent.String() } case 485: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2693 +//line sql.y:2694 { yyVAL.str = encodeSQLString(yyDollar[1].str) } case 486: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2697 +//line sql.y:2698 { yyVAL.str = string(yyDollar[1].str) } case 487: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2702 +//line sql.y:2703 { yyVAL.str = "" } case 489: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:2708 +//line sql.y:2709 { yyLOCAL = false } @@ -11472,7 +11479,7 @@ yydefault: case 490: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2712 +//line sql.y:2713 { yyLOCAL = true } @@ -11480,7 +11487,7 @@ yydefault: case 491: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ColName -//line sql.y:2717 +//line sql.y:2718 { yyLOCAL = nil } @@ -11488,27 +11495,27 @@ yydefault: case 492: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColName -//line sql.y:2721 +//line sql.y:2722 { yyLOCAL = yyDollar[2].colNameUnion() } yyVAL.union = yyLOCAL case 493: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2726 +//line sql.y:2727 { yyVAL.str = "" } case 494: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2730 +//line sql.y:2731 { yyVAL.str = string(yyDollar[2].str) } case 495: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *Literal -//line sql.y:2735 +//line sql.y:2736 { yyLOCAL = nil } @@ -11516,7 +11523,7 @@ yydefault: case 496: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Literal -//line sql.y:2739 +//line sql.y:2740 { yyLOCAL = NewIntLiteral(yyDollar[2].str) } @@ -11524,7 +11531,7 @@ yydefault: case 497: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Literal -//line sql.y:2743 +//line sql.y:2744 { yyLOCAL = NewDecimalLiteral(yyDollar[2].str) } @@ -11532,7 +11539,7 @@ yydefault: case 498: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2748 +//line sql.y:2749 { yyLOCAL = nil } @@ -11540,14 +11547,14 @@ yydefault: case 499: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2752 +//line sql.y:2753 { yyLOCAL = yyDollar[1].alterOptionsUnion() } yyVAL.union = yyLOCAL case 500: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2756 +//line sql.y:2757 { yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, &OrderByOption{Cols: yyDollar[5].columnsUnion()}) @@ -11555,14 +11562,14 @@ yydefault: case 501: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2760 +//line sql.y:2761 { yyLOCAL = yyDollar[1].alterOptionsUnion() } yyVAL.union = yyLOCAL case 502: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2764 +//line sql.y:2765 { yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].alterOptionsUnion()...) @@ -11570,7 +11577,7 @@ yydefault: case 503: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2768 +//line sql.y:2769 { yyLOCAL = append(append(yyDollar[1].alterOptionsUnion(), yyDollar[3].alterOptionsUnion()...), &OrderByOption{Cols: yyDollar[7].columnsUnion()}) } @@ -11578,21 +11585,21 @@ yydefault: case 504: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2774 +//line sql.y:2775 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} } yyVAL.union = yyLOCAL case 505: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2778 +//line sql.y:2779 { yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion()) } case 506: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2782 +//line sql.y:2783 { yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion()) @@ -11600,7 +11607,7 @@ yydefault: case 507: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2788 +//line sql.y:2789 { yyLOCAL = yyDollar[1].tableOptionsUnion() } @@ -11608,7 +11615,7 @@ yydefault: case 508: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2792 +//line sql.y:2793 { yyLOCAL = &AddConstraintDefinition{ConstraintDefinition: yyDollar[2].constraintDefinitionUnion()} } @@ -11616,7 +11623,7 @@ yydefault: case 509: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2796 +//line sql.y:2797 { yyLOCAL = &AddConstraintDefinition{ConstraintDefinition: yyDollar[2].constraintDefinitionUnion()} } @@ -11624,7 +11631,7 @@ yydefault: case 510: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2800 +//line sql.y:2801 { yyLOCAL = &AddIndexDefinition{IndexDefinition: yyDollar[2].indexDefinitionUnion()} } @@ -11632,7 +11639,7 @@ yydefault: case 511: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2804 +//line sql.y:2805 { yyLOCAL = &AddColumns{Columns: yyDollar[4].columnDefinitionsUnion()} } @@ -11640,7 +11647,7 @@ yydefault: case 512: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2808 +//line sql.y:2809 { yyLOCAL = &AddColumns{Columns: []*ColumnDefinition{yyDollar[3].columnDefinitionUnion()}, First: yyDollar[4].booleanUnion(), After: yyDollar[5].colNameUnion()} } @@ -11648,7 +11655,7 @@ yydefault: case 513: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2812 +//line sql.y:2813 { yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: true} } @@ -11656,7 +11663,7 @@ yydefault: case 514: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2816 +//line sql.y:2817 { yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: false, DefaultVal: yyDollar[6].exprUnion()} } @@ -11664,7 +11671,7 @@ yydefault: case 515: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2820 +//line sql.y:2821 { yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: false, DefaultVal: yyDollar[7].exprUnion()} } @@ -11672,7 +11679,7 @@ yydefault: case 516: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2824 +//line sql.y:2825 { val := false yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), Invisible: &val} @@ -11681,7 +11688,7 @@ yydefault: case 517: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2829 +//line sql.y:2830 { val := true yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), Invisible: &val} @@ -11690,7 +11697,7 @@ yydefault: case 518: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2834 +//line sql.y:2835 { yyLOCAL = &AlterCheck{Name: yyDollar[3].colIdent, Enforced: yyDollar[4].booleanUnion()} } @@ -11698,7 +11705,7 @@ yydefault: case 519: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2838 +//line sql.y:2839 { yyLOCAL = &AlterIndex{Name: yyDollar[3].colIdent, Invisible: false} } @@ -11706,7 +11713,7 @@ yydefault: case 520: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2842 +//line sql.y:2843 { yyLOCAL = &AlterIndex{Name: yyDollar[3].colIdent, Invisible: true} } @@ -11714,7 +11721,7 @@ yydefault: case 521: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2846 +//line sql.y:2847 { yyLOCAL = &ChangeColumn{OldColumn: yyDollar[3].colNameUnion(), NewColDefinition: yyDollar[4].columnDefinitionUnion(), First: yyDollar[5].booleanUnion(), After: yyDollar[6].colNameUnion()} } @@ -11722,7 +11729,7 @@ yydefault: case 522: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2850 +//line sql.y:2851 { yyLOCAL = &ModifyColumn{NewColDefinition: yyDollar[3].columnDefinitionUnion(), First: yyDollar[4].booleanUnion(), After: yyDollar[5].colNameUnion()} } @@ -11730,7 +11737,7 @@ yydefault: case 523: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2854 +//line sql.y:2855 { yyLOCAL = &AlterCharset{CharacterSet: yyDollar[4].str, Collate: yyDollar[5].str} } @@ -11738,7 +11745,7 @@ yydefault: case 524: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2858 +//line sql.y:2859 { yyLOCAL = &KeyState{Enable: false} } @@ -11746,7 +11753,7 @@ yydefault: case 525: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2862 +//line sql.y:2863 { yyLOCAL = &KeyState{Enable: true} } @@ -11754,7 +11761,7 @@ yydefault: case 526: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2866 +//line sql.y:2867 { yyLOCAL = &TablespaceOperation{Import: false} } @@ -11762,7 +11769,7 @@ yydefault: case 527: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2870 +//line sql.y:2871 { yyLOCAL = &TablespaceOperation{Import: true} } @@ -11770,7 +11777,7 @@ yydefault: case 528: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2874 +//line sql.y:2875 { yyLOCAL = &DropColumn{Name: yyDollar[3].colNameUnion()} } @@ -11778,7 +11785,7 @@ yydefault: case 529: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2878 +//line sql.y:2879 { yyLOCAL = &DropKey{Type: NormalKeyType, Name: yyDollar[3].colIdent} } @@ -11786,7 +11793,7 @@ yydefault: case 530: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2882 +//line sql.y:2883 { yyLOCAL = &DropKey{Type: PrimaryKeyType} } @@ -11794,7 +11801,7 @@ yydefault: case 531: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2886 +//line sql.y:2887 { yyLOCAL = &DropKey{Type: ForeignKeyType, Name: yyDollar[4].colIdent} } @@ -11802,7 +11809,7 @@ yydefault: case 532: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2890 +//line sql.y:2891 { yyLOCAL = &DropKey{Type: CheckKeyType, Name: yyDollar[3].colIdent} } @@ -11810,7 +11817,7 @@ yydefault: case 533: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2894 +//line sql.y:2895 { yyLOCAL = &DropKey{Type: CheckKeyType, Name: yyDollar[3].colIdent} } @@ -11818,7 +11825,7 @@ yydefault: case 534: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2898 +//line sql.y:2899 { yyLOCAL = &Force{} } @@ -11826,7 +11833,7 @@ yydefault: case 535: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2902 +//line sql.y:2903 { yyLOCAL = &RenameTableName{Table: yyDollar[3].tableName} } @@ -11834,7 +11841,7 @@ yydefault: case 536: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2906 +//line sql.y:2907 { yyLOCAL = &RenameIndex{OldName: yyDollar[3].colIdent, NewName: yyDollar[5].colIdent} } @@ -11842,14 +11849,14 @@ yydefault: case 537: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2912 +//line sql.y:2913 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} } yyVAL.union = yyLOCAL case 538: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2916 +//line sql.y:2917 { yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion()) @@ -11857,7 +11864,7 @@ yydefault: case 539: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2922 +//line sql.y:2923 { yyLOCAL = AlgorithmValue(string(yyDollar[3].str)) } @@ -11865,7 +11872,7 @@ yydefault: case 540: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2926 +//line sql.y:2927 { yyLOCAL = AlgorithmValue(string(yyDollar[3].str)) } @@ -11873,7 +11880,7 @@ yydefault: case 541: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2930 +//line sql.y:2931 { yyLOCAL = AlgorithmValue(string(yyDollar[3].str)) } @@ -11881,7 +11888,7 @@ yydefault: case 542: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2934 +//line sql.y:2935 { yyLOCAL = AlgorithmValue(string(yyDollar[3].str)) } @@ -11889,7 +11896,7 @@ yydefault: case 543: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2938 +//line sql.y:2939 { yyLOCAL = &LockOption{Type: DefaultType} } @@ -11897,7 +11904,7 @@ yydefault: case 544: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2942 +//line sql.y:2943 { yyLOCAL = &LockOption{Type: NoneType} } @@ -11905,7 +11912,7 @@ yydefault: case 545: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2946 +//line sql.y:2947 { yyLOCAL = &LockOption{Type: SharedType} } @@ -11913,7 +11920,7 @@ yydefault: case 546: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2950 +//line sql.y:2951 { yyLOCAL = &LockOption{Type: ExclusiveType} } @@ -11921,7 +11928,7 @@ yydefault: case 547: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2954 +//line sql.y:2955 { yyLOCAL = &Validation{With: true} } @@ -11929,7 +11936,7 @@ yydefault: case 548: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2958 +//line sql.y:2959 { yyLOCAL = &Validation{With: false} } @@ -11937,7 +11944,7 @@ yydefault: case 549: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:2964 +//line sql.y:2965 { yyDollar[1].alterTableUnion().FullyParsed = true yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion() @@ -11948,7 +11955,7 @@ yydefault: case 550: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:2971 +//line sql.y:2972 { yyDollar[1].alterTableUnion().FullyParsed = true yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion() @@ -11959,7 +11966,7 @@ yydefault: case 551: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:2978 +//line sql.y:2979 { yyDollar[1].alterTableUnion().FullyParsed = true yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion() @@ -11970,7 +11977,7 @@ yydefault: case 552: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:2985 +//line sql.y:2986 { yyDollar[1].alterTableUnion().FullyParsed = true yyDollar[1].alterTableUnion().PartitionSpec = yyDollar[2].partSpecUnion() @@ -11980,7 +11987,7 @@ yydefault: case 553: yyDollar = yyS[yypt-11 : yypt+1] var yyLOCAL Statement -//line sql.y:2991 +//line sql.y:2992 { yyLOCAL = &AlterView{ViewName: yyDollar[7].tableName.ToViewName(), Comments: Comments(yyDollar[2].strs).Parsed(), Algorithm: yyDollar[3].str, Definer: yyDollar[4].definerUnion(), Security: yyDollar[5].str, Columns: yyDollar[8].columnsUnion(), Select: yyDollar[10].selStmtUnion(), CheckOption: yyDollar[11].str} } @@ -11988,7 +11995,7 @@ yydefault: case 554: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3001 +//line sql.y:3002 { yyDollar[1].alterDatabaseUnion().FullyParsed = true yyDollar[1].alterDatabaseUnion().DBName = yyDollar[2].tableIdent @@ -11999,7 +12006,7 @@ yydefault: case 555: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3008 +//line sql.y:3009 { yyDollar[1].alterDatabaseUnion().FullyParsed = true yyDollar[1].alterDatabaseUnion().DBName = yyDollar[2].tableIdent @@ -12010,7 +12017,7 @@ yydefault: case 556: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Statement -//line sql.y:3015 +//line sql.y:3016 { yyLOCAL = &AlterVschema{ Action: CreateVindexDDLAction, @@ -12026,7 +12033,7 @@ yydefault: case 557: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3027 +//line sql.y:3028 { yyLOCAL = &AlterVschema{ Action: DropVindexDDLAction, @@ -12040,7 +12047,7 @@ yydefault: case 558: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3037 +//line sql.y:3038 { yyLOCAL = &AlterVschema{Action: AddVschemaTableDDLAction, Table: yyDollar[6].tableName} } @@ -12048,7 +12055,7 @@ yydefault: case 559: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3041 +//line sql.y:3042 { yyLOCAL = &AlterVschema{Action: DropVschemaTableDDLAction, Table: yyDollar[6].tableName} } @@ -12056,7 +12063,7 @@ yydefault: case 560: yyDollar = yyS[yypt-13 : yypt+1] var yyLOCAL Statement -//line sql.y:3045 +//line sql.y:3046 { yyLOCAL = &AlterVschema{ Action: AddColVindexDDLAction, @@ -12073,7 +12080,7 @@ yydefault: case 561: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Statement -//line sql.y:3058 +//line sql.y:3059 { yyLOCAL = &AlterVschema{ Action: DropColVindexDDLAction, @@ -12087,7 +12094,7 @@ yydefault: case 562: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3068 +//line sql.y:3069 { yyLOCAL = &AlterVschema{Action: AddSequenceDDLAction, Table: yyDollar[6].tableName} } @@ -12095,7 +12102,7 @@ yydefault: case 563: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL Statement -//line sql.y:3072 +//line sql.y:3073 { yyLOCAL = &AlterVschema{ Action: AddAutoIncDDLAction, @@ -12110,7 +12117,7 @@ yydefault: case 564: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3083 +//line sql.y:3084 { yyLOCAL = &AlterMigration{ Type: RetryMigrationType, @@ -12121,7 +12128,7 @@ yydefault: case 565: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3090 +//line sql.y:3091 { yyLOCAL = &AlterMigration{ Type: CleanupMigrationType, @@ -12132,7 +12139,7 @@ yydefault: case 566: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3097 +//line sql.y:3098 { yyLOCAL = &AlterMigration{ Type: CompleteMigrationType, @@ -12143,7 +12150,7 @@ yydefault: case 567: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3104 +//line sql.y:3105 { yyLOCAL = &AlterMigration{ Type: CancelMigrationType, @@ -12154,7 +12161,7 @@ yydefault: case 568: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3111 +//line sql.y:3112 { yyLOCAL = &AlterMigration{ Type: CancelAllMigrationType, @@ -12164,7 +12171,7 @@ yydefault: case 569: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3117 +//line sql.y:3118 { yyLOCAL = &AlterMigration{ Type: ThrottleMigrationType, @@ -12177,7 +12184,7 @@ yydefault: case 570: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3126 +//line sql.y:3127 { yyLOCAL = &AlterMigration{ Type: ThrottleAllMigrationType, @@ -12189,7 +12196,7 @@ yydefault: case 571: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3134 +//line sql.y:3135 { yyLOCAL = &AlterMigration{ Type: UnthrottleMigrationType, @@ -12200,7 +12207,7 @@ yydefault: case 572: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3141 +//line sql.y:3142 { yyLOCAL = &AlterMigration{ Type: UnthrottleAllMigrationType, @@ -12210,7 +12217,7 @@ yydefault: case 573: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3148 +//line sql.y:3149 { yyLOCAL = nil } @@ -12218,7 +12225,7 @@ yydefault: case 574: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3152 +//line sql.y:3153 { yyDollar[3].partitionOptionUnion().Partitions = yyDollar[4].integerUnion() yyDollar[3].partitionOptionUnion().SubPartition = yyDollar[5].subPartitionUnion() @@ -12229,7 +12236,7 @@ yydefault: case 575: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3161 +//line sql.y:3162 { yyLOCAL = &PartitionOption{ IsLinear: yyDollar[1].booleanUnion(), @@ -12241,7 +12248,7 @@ yydefault: case 576: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3169 +//line sql.y:3170 { yyLOCAL = &PartitionOption{ IsLinear: yyDollar[1].booleanUnion(), @@ -12254,7 +12261,7 @@ yydefault: case 577: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3178 +//line sql.y:3179 { yyLOCAL = &PartitionOption{ Type: yyDollar[1].partitionByTypeUnion(), @@ -12265,7 +12272,7 @@ yydefault: case 578: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3185 +//line sql.y:3186 { yyLOCAL = &PartitionOption{ Type: yyDollar[1].partitionByTypeUnion(), @@ -12276,7 +12283,7 @@ yydefault: case 579: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *SubPartition -//line sql.y:3193 +//line sql.y:3194 { yyLOCAL = nil } @@ -12284,7 +12291,7 @@ yydefault: case 580: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *SubPartition -//line sql.y:3197 +//line sql.y:3198 { yyLOCAL = &SubPartition{ IsLinear: yyDollar[3].booleanUnion(), @@ -12297,7 +12304,7 @@ yydefault: case 581: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL *SubPartition -//line sql.y:3206 +//line sql.y:3207 { yyLOCAL = &SubPartition{ IsLinear: yyDollar[3].booleanUnion(), @@ -12311,7 +12318,7 @@ yydefault: case 582: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*PartitionDefinition -//line sql.y:3217 +//line sql.y:3218 { yyLOCAL = nil } @@ -12319,7 +12326,7 @@ yydefault: case 583: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*PartitionDefinition -//line sql.y:3221 +//line sql.y:3222 { yyLOCAL = yyDollar[2].partDefsUnion() } @@ -12327,7 +12334,7 @@ yydefault: case 584: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3226 +//line sql.y:3227 { yyLOCAL = false } @@ -12335,7 +12342,7 @@ yydefault: case 585: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3230 +//line sql.y:3231 { yyLOCAL = true } @@ -12343,7 +12350,7 @@ yydefault: case 586: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int -//line sql.y:3235 +//line sql.y:3236 { yyLOCAL = 0 } @@ -12351,7 +12358,7 @@ yydefault: case 587: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int -//line sql.y:3239 +//line sql.y:3240 { yyLOCAL = convertStringToInt(yyDollar[3].str) } @@ -12359,7 +12366,7 @@ yydefault: case 588: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL TableExpr -//line sql.y:3245 +//line sql.y:3246 { yyLOCAL = &JSONTableExpr{Expr: yyDollar[3].exprUnion(), Filter: yyDollar[5].exprUnion(), Columns: yyDollar[6].jtColumnListUnion(), Alias: yyDollar[8].tableIdent} } @@ -12367,7 +12374,7 @@ yydefault: case 589: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL []*JtColumnDefinition -//line sql.y:3251 +//line sql.y:3252 { yyLOCAL = yyDollar[3].jtColumnListUnion() } @@ -12375,14 +12382,14 @@ yydefault: case 590: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*JtColumnDefinition -//line sql.y:3257 +//line sql.y:3258 { yyLOCAL = []*JtColumnDefinition{yyDollar[1].jtColumnDefinitionUnion()} } yyVAL.union = yyLOCAL case 591: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3261 +//line sql.y:3262 { yySLICE := (*[]*JtColumnDefinition)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].jtColumnDefinitionUnion()) @@ -12390,7 +12397,7 @@ yydefault: case 592: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3267 +//line sql.y:3268 { yyLOCAL = &JtColumnDefinition{JtOrdinal: &JtOrdinalColDef{Name: yyDollar[1].colIdent}} } @@ -12398,7 +12405,7 @@ yydefault: case 593: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3271 +//line sql.y:3272 { yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str} jtPath := &JtPathColDef{Name: yyDollar[1].colIdent, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion()} @@ -12408,7 +12415,7 @@ yydefault: case 594: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3277 +//line sql.y:3278 { yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str} jtPath := &JtPathColDef{Name: yyDollar[1].colIdent, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion()} @@ -12418,7 +12425,7 @@ yydefault: case 595: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3283 +//line sql.y:3284 { yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str} jtPath := &JtPathColDef{Name: yyDollar[1].colIdent, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion(), ErrorOnResponse: yyDollar[7].jtOnResponseUnion()} @@ -12428,7 +12435,7 @@ yydefault: case 596: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3289 +//line sql.y:3290 { yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str} jtPath := &JtPathColDef{Name: yyDollar[1].colIdent, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion(), ErrorOnResponse: yyDollar[8].jtOnResponseUnion()} @@ -12438,7 +12445,7 @@ yydefault: case 597: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3295 +//line sql.y:3296 { jtNestedPath := &JtNestedPathColDef{Path: yyDollar[3].exprUnion(), Columns: yyDollar[4].jtColumnListUnion()} yyLOCAL = &JtColumnDefinition{JtNestedPath: jtNestedPath} @@ -12447,7 +12454,7 @@ yydefault: case 598: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3301 +//line sql.y:3302 { yyLOCAL = false } @@ -12455,7 +12462,7 @@ yydefault: case 599: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3305 +//line sql.y:3306 { yyLOCAL = true } @@ -12463,7 +12470,7 @@ yydefault: case 600: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3309 +//line sql.y:3310 { yyLOCAL = false } @@ -12471,7 +12478,7 @@ yydefault: case 601: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3313 +//line sql.y:3314 { yyLOCAL = true } @@ -12479,7 +12486,7 @@ yydefault: case 602: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3319 +//line sql.y:3320 { yyLOCAL = yyDollar[1].jtOnResponseUnion() } @@ -12487,7 +12494,7 @@ yydefault: case 603: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3325 +//line sql.y:3326 { yyLOCAL = yyDollar[1].jtOnResponseUnion() } @@ -12495,7 +12502,7 @@ yydefault: case 604: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3331 +//line sql.y:3332 { yyLOCAL = &JtOnResponse{ResponseType: ErrorJSONType} } @@ -12503,7 +12510,7 @@ yydefault: case 605: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3335 +//line sql.y:3336 { yyLOCAL = &JtOnResponse{ResponseType: NullJSONType} } @@ -12511,7 +12518,7 @@ yydefault: case 606: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3339 +//line sql.y:3340 { yyLOCAL = &JtOnResponse{ResponseType: DefaultJSONType, Expr: yyDollar[2].exprUnion()} } @@ -12519,7 +12526,7 @@ yydefault: case 607: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL PartitionByType -//line sql.y:3345 +//line sql.y:3346 { yyLOCAL = RangeType } @@ -12527,7 +12534,7 @@ yydefault: case 608: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL PartitionByType -//line sql.y:3349 +//line sql.y:3350 { yyLOCAL = ListType } @@ -12535,7 +12542,7 @@ yydefault: case 609: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int -//line sql.y:3354 +//line sql.y:3355 { yyLOCAL = -1 } @@ -12543,7 +12550,7 @@ yydefault: case 610: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL int -//line sql.y:3358 +//line sql.y:3359 { yyLOCAL = convertStringToInt(yyDollar[2].str) } @@ -12551,7 +12558,7 @@ yydefault: case 611: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int -//line sql.y:3363 +//line sql.y:3364 { yyLOCAL = -1 } @@ -12559,7 +12566,7 @@ yydefault: case 612: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL int -//line sql.y:3367 +//line sql.y:3368 { yyLOCAL = convertStringToInt(yyDollar[2].str) } @@ -12567,7 +12574,7 @@ yydefault: case 613: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3373 +//line sql.y:3374 { yyLOCAL = &PartitionSpec{Action: AddAction, Definitions: []*PartitionDefinition{yyDollar[4].partDefUnion()}} } @@ -12575,7 +12582,7 @@ yydefault: case 614: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3377 +//line sql.y:3378 { yyLOCAL = &PartitionSpec{Action: DropAction, Names: yyDollar[3].partitionsUnion()} } @@ -12583,7 +12590,7 @@ yydefault: case 615: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3381 +//line sql.y:3382 { yyLOCAL = &PartitionSpec{Action: ReorganizeAction, Names: yyDollar[3].partitionsUnion(), Definitions: yyDollar[6].partDefsUnion()} } @@ -12591,7 +12598,7 @@ yydefault: case 616: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3385 +//line sql.y:3386 { yyLOCAL = &PartitionSpec{Action: DiscardAction, Names: yyDollar[3].partitionsUnion()} } @@ -12599,7 +12606,7 @@ yydefault: case 617: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3389 +//line sql.y:3390 { yyLOCAL = &PartitionSpec{Action: DiscardAction, IsAll: true} } @@ -12607,7 +12614,7 @@ yydefault: case 618: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3393 +//line sql.y:3394 { yyLOCAL = &PartitionSpec{Action: ImportAction, Names: yyDollar[3].partitionsUnion()} } @@ -12615,7 +12622,7 @@ yydefault: case 619: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3397 +//line sql.y:3398 { yyLOCAL = &PartitionSpec{Action: ImportAction, IsAll: true} } @@ -12623,7 +12630,7 @@ yydefault: case 620: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3401 +//line sql.y:3402 { yyLOCAL = &PartitionSpec{Action: TruncateAction, Names: yyDollar[3].partitionsUnion()} } @@ -12631,7 +12638,7 @@ yydefault: case 621: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3405 +//line sql.y:3406 { yyLOCAL = &PartitionSpec{Action: TruncateAction, IsAll: true} } @@ -12639,7 +12646,7 @@ yydefault: case 622: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3409 +//line sql.y:3410 { yyLOCAL = &PartitionSpec{Action: CoalesceAction, Number: NewIntLiteral(yyDollar[3].str)} } @@ -12647,7 +12654,7 @@ yydefault: case 623: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3413 +//line sql.y:3414 { yyLOCAL = &PartitionSpec{Action: ExchangeAction, Names: Partitions{yyDollar[3].colIdent}, TableName: yyDollar[6].tableName, WithoutValidation: yyDollar[7].booleanUnion()} } @@ -12655,7 +12662,7 @@ yydefault: case 624: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3417 +//line sql.y:3418 { yyLOCAL = &PartitionSpec{Action: AnalyzeAction, Names: yyDollar[3].partitionsUnion()} } @@ -12663,7 +12670,7 @@ yydefault: case 625: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3421 +//line sql.y:3422 { yyLOCAL = &PartitionSpec{Action: AnalyzeAction, IsAll: true} } @@ -12671,7 +12678,7 @@ yydefault: case 626: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3425 +//line sql.y:3426 { yyLOCAL = &PartitionSpec{Action: CheckAction, Names: yyDollar[3].partitionsUnion()} } @@ -12679,7 +12686,7 @@ yydefault: case 627: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3429 +//line sql.y:3430 { yyLOCAL = &PartitionSpec{Action: CheckAction, IsAll: true} } @@ -12687,7 +12694,7 @@ yydefault: case 628: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3433 +//line sql.y:3434 { yyLOCAL = &PartitionSpec{Action: OptimizeAction, Names: yyDollar[3].partitionsUnion()} } @@ -12695,7 +12702,7 @@ yydefault: case 629: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3437 +//line sql.y:3438 { yyLOCAL = &PartitionSpec{Action: OptimizeAction, IsAll: true} } @@ -12703,7 +12710,7 @@ yydefault: case 630: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3441 +//line sql.y:3442 { yyLOCAL = &PartitionSpec{Action: RebuildAction, Names: yyDollar[3].partitionsUnion()} } @@ -12711,7 +12718,7 @@ yydefault: case 631: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3445 +//line sql.y:3446 { yyLOCAL = &PartitionSpec{Action: RebuildAction, IsAll: true} } @@ -12719,7 +12726,7 @@ yydefault: case 632: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3449 +//line sql.y:3450 { yyLOCAL = &PartitionSpec{Action: RepairAction, Names: yyDollar[3].partitionsUnion()} } @@ -12727,7 +12734,7 @@ yydefault: case 633: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3453 +//line sql.y:3454 { yyLOCAL = &PartitionSpec{Action: RepairAction, IsAll: true} } @@ -12735,7 +12742,7 @@ yydefault: case 634: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3457 +//line sql.y:3458 { yyLOCAL = &PartitionSpec{Action: UpgradeAction} } @@ -12743,7 +12750,7 @@ yydefault: case 635: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3462 +//line sql.y:3463 { yyLOCAL = false } @@ -12751,7 +12758,7 @@ yydefault: case 636: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:3466 +//line sql.y:3467 { yyLOCAL = false } @@ -12759,7 +12766,7 @@ yydefault: case 637: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:3470 +//line sql.y:3471 { yyLOCAL = true } @@ -12767,28 +12774,28 @@ yydefault: case 638: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*PartitionDefinition -//line sql.y:3476 +//line sql.y:3477 { yyLOCAL = []*PartitionDefinition{yyDollar[1].partDefUnion()} } yyVAL.union = yyLOCAL case 639: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3480 +//line sql.y:3481 { yySLICE := (*[]*PartitionDefinition)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].partDefUnion()) } case 640: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3486 +//line sql.y:3487 { yyVAL.partDefUnion().Options = yyDollar[2].partitionDefinitionOptionsUnion() } case 641: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3491 +//line sql.y:3492 { yyLOCAL = &PartitionDefinitionOptions{} } @@ -12796,7 +12803,7 @@ yydefault: case 642: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3495 +//line sql.y:3496 { yyDollar[1].partitionDefinitionOptionsUnion().ValueRange = yyDollar[2].partitionValueRangeUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -12805,7 +12812,7 @@ yydefault: case 643: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3500 +//line sql.y:3501 { yyDollar[1].partitionDefinitionOptionsUnion().Comment = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -12814,7 +12821,7 @@ yydefault: case 644: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3505 +//line sql.y:3506 { yyDollar[1].partitionDefinitionOptionsUnion().Engine = yyDollar[2].partitionEngineUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -12823,7 +12830,7 @@ yydefault: case 645: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3510 +//line sql.y:3511 { yyDollar[1].partitionDefinitionOptionsUnion().DataDirectory = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -12832,7 +12839,7 @@ yydefault: case 646: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3515 +//line sql.y:3516 { yyDollar[1].partitionDefinitionOptionsUnion().IndexDirectory = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -12841,7 +12848,7 @@ yydefault: case 647: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3520 +//line sql.y:3521 { val := yyDollar[2].integerUnion() yyDollar[1].partitionDefinitionOptionsUnion().MaxRows = &val @@ -12851,7 +12858,7 @@ yydefault: case 648: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3526 +//line sql.y:3527 { val := yyDollar[2].integerUnion() yyDollar[1].partitionDefinitionOptionsUnion().MinRows = &val @@ -12861,7 +12868,7 @@ yydefault: case 649: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3532 +//line sql.y:3533 { yyDollar[1].partitionDefinitionOptionsUnion().TableSpace = yyDollar[2].str yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -12870,7 +12877,7 @@ yydefault: case 650: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3537 +//line sql.y:3538 { yyDollar[1].partitionDefinitionOptionsUnion().SubPartitionDefinitions = yyDollar[2].subPartitionDefinitionsUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -12879,7 +12886,7 @@ yydefault: case 651: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SubPartitionDefinitions -//line sql.y:3543 +//line sql.y:3544 { yyLOCAL = yyDollar[2].subPartitionDefinitionsUnion() } @@ -12887,14 +12894,14 @@ yydefault: case 652: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SubPartitionDefinitions -//line sql.y:3549 +//line sql.y:3550 { yyLOCAL = SubPartitionDefinitions{yyDollar[1].subPartitionDefinitionUnion()} } yyVAL.union = yyLOCAL case 653: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3553 +//line sql.y:3554 { yySLICE := (*SubPartitionDefinitions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].subPartitionDefinitionUnion()) @@ -12902,7 +12909,7 @@ yydefault: case 654: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SubPartitionDefinition -//line sql.y:3559 +//line sql.y:3560 { yyLOCAL = &SubPartitionDefinition{Name: yyDollar[2].colIdent, Options: yyDollar[3].subPartitionDefinitionOptionsUnion()} } @@ -12910,7 +12917,7 @@ yydefault: case 655: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3564 +//line sql.y:3565 { yyLOCAL = &SubPartitionDefinitionOptions{} } @@ -12918,7 +12925,7 @@ yydefault: case 656: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3568 +//line sql.y:3569 { yyDollar[1].subPartitionDefinitionOptionsUnion().Comment = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() @@ -12927,7 +12934,7 @@ yydefault: case 657: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3573 +//line sql.y:3574 { yyDollar[1].subPartitionDefinitionOptionsUnion().Engine = yyDollar[2].partitionEngineUnion() yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() @@ -12936,7 +12943,7 @@ yydefault: case 658: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3578 +//line sql.y:3579 { yyDollar[1].subPartitionDefinitionOptionsUnion().DataDirectory = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() @@ -12945,7 +12952,7 @@ yydefault: case 659: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3583 +//line sql.y:3584 { yyDollar[1].subPartitionDefinitionOptionsUnion().IndexDirectory = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() @@ -12954,7 +12961,7 @@ yydefault: case 660: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3588 +//line sql.y:3589 { val := yyDollar[2].integerUnion() yyDollar[1].subPartitionDefinitionOptionsUnion().MaxRows = &val @@ -12964,7 +12971,7 @@ yydefault: case 661: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3594 +//line sql.y:3595 { val := yyDollar[2].integerUnion() yyDollar[1].subPartitionDefinitionOptionsUnion().MinRows = &val @@ -12974,7 +12981,7 @@ yydefault: case 662: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3600 +//line sql.y:3601 { yyDollar[1].subPartitionDefinitionOptionsUnion().TableSpace = yyDollar[2].str yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() @@ -12983,7 +12990,7 @@ yydefault: case 663: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionValueRange -//line sql.y:3607 +//line sql.y:3608 { yyLOCAL = &PartitionValueRange{ Type: LessThanType, @@ -12994,7 +13001,7 @@ yydefault: case 664: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionValueRange -//line sql.y:3614 +//line sql.y:3615 { yyLOCAL = &PartitionValueRange{ Type: LessThanType, @@ -13005,7 +13012,7 @@ yydefault: case 665: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionValueRange -//line sql.y:3621 +//line sql.y:3622 { yyLOCAL = &PartitionValueRange{ Type: InType, @@ -13016,7 +13023,7 @@ yydefault: case 666: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3629 +//line sql.y:3630 { yyLOCAL = false } @@ -13024,7 +13031,7 @@ yydefault: case 667: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3633 +//line sql.y:3634 { yyLOCAL = true } @@ -13032,7 +13039,7 @@ yydefault: case 668: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionEngine -//line sql.y:3639 +//line sql.y:3640 { yyLOCAL = &PartitionEngine{Storage: yyDollar[1].booleanUnion(), Name: yyDollar[4].tableIdent.String()} } @@ -13040,7 +13047,7 @@ yydefault: case 669: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *Literal -//line sql.y:3645 +//line sql.y:3646 { yyLOCAL = NewStrLiteral(yyDollar[3].str) } @@ -13048,7 +13055,7 @@ yydefault: case 670: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Literal -//line sql.y:3651 +//line sql.y:3652 { yyLOCAL = NewStrLiteral(yyDollar[4].str) } @@ -13056,7 +13063,7 @@ yydefault: case 671: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Literal -//line sql.y:3657 +//line sql.y:3658 { yyLOCAL = NewStrLiteral(yyDollar[4].str) } @@ -13064,7 +13071,7 @@ yydefault: case 672: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int -//line sql.y:3663 +//line sql.y:3664 { yyLOCAL = convertStringToInt(yyDollar[3].str) } @@ -13072,41 +13079,41 @@ yydefault: case 673: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int -//line sql.y:3669 +//line sql.y:3670 { yyLOCAL = convertStringToInt(yyDollar[3].str) } yyVAL.union = yyLOCAL case 674: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3675 +//line sql.y:3676 { yyVAL.str = yyDollar[3].tableIdent.String() } case 675: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinition -//line sql.y:3681 +//line sql.y:3682 { yyLOCAL = &PartitionDefinition{Name: yyDollar[2].colIdent} } yyVAL.union = yyLOCAL case 676: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3687 +//line sql.y:3688 { yyVAL.str = "" } case 677: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3691 +//line sql.y:3692 { yyVAL.str = "" } case 678: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3697 +//line sql.y:3698 { yyLOCAL = &RenameTable{TablePairs: yyDollar[3].renameTablePairsUnion()} } @@ -13114,14 +13121,14 @@ yydefault: case 679: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*RenameTablePair -//line sql.y:3703 +//line sql.y:3704 { yyLOCAL = []*RenameTablePair{{FromTable: yyDollar[1].tableName, ToTable: yyDollar[3].tableName}} } yyVAL.union = yyLOCAL case 680: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3707 +//line sql.y:3708 { yySLICE := (*[]*RenameTablePair)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, &RenameTablePair{FromTable: yyDollar[3].tableName, ToTable: yyDollar[5].tableName}) @@ -13129,7 +13136,7 @@ yydefault: case 681: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3713 +//line sql.y:3714 { yyLOCAL = &DropTable{FromTables: yyDollar[6].tableNamesUnion(), IfExists: yyDollar[5].booleanUnion(), Comments: Comments(yyDollar[2].strs).Parsed(), Temp: yyDollar[3].booleanUnion()} } @@ -13137,7 +13144,7 @@ yydefault: case 682: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3717 +//line sql.y:3718 { // Change this to an alter statement if yyDollar[4].colIdent.Lowered() == "primary" { @@ -13150,7 +13157,7 @@ yydefault: case 683: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3726 +//line sql.y:3727 { yyLOCAL = &DropView{FromTables: yyDollar[5].tableNamesUnion(), Comments: Comments(yyDollar[2].strs).Parsed(), IfExists: yyDollar[4].booleanUnion()} } @@ -13158,7 +13165,7 @@ yydefault: case 684: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3730 +//line sql.y:3731 { yyLOCAL = &DropDatabase{Comments: Comments(yyDollar[2].strs).Parsed(), DBName: yyDollar[5].tableIdent, IfExists: yyDollar[4].booleanUnion()} } @@ -13166,7 +13173,7 @@ yydefault: case 685: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3736 +//line sql.y:3737 { yyLOCAL = &TruncateTable{Table: yyDollar[3].tableName} } @@ -13174,7 +13181,7 @@ yydefault: case 686: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3740 +//line sql.y:3741 { yyLOCAL = &TruncateTable{Table: yyDollar[2].tableName} } @@ -13182,7 +13189,7 @@ yydefault: case 687: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3746 +//line sql.y:3747 { yyLOCAL = &OtherRead{} } @@ -13190,7 +13197,7 @@ yydefault: case 688: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3752 +//line sql.y:3753 { yyLOCAL = &Show{&ShowBasic{Command: Charset, Filter: yyDollar[3].showFilterUnion()}} } @@ -13198,7 +13205,7 @@ yydefault: case 689: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3756 +//line sql.y:3757 { yyLOCAL = &Show{&ShowBasic{Command: Collation, Filter: yyDollar[3].showFilterUnion()}} } @@ -13206,7 +13213,7 @@ yydefault: case 690: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3760 +//line sql.y:3761 { yyLOCAL = &Show{&ShowBasic{Full: yyDollar[2].booleanUnion(), Command: Column, Tbl: yyDollar[5].tableName, DbName: yyDollar[6].tableIdent, Filter: yyDollar[7].showFilterUnion()}} } @@ -13214,7 +13221,7 @@ yydefault: case 691: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3764 +//line sql.y:3765 { yyLOCAL = &Show{&ShowBasic{Command: Database, Filter: yyDollar[3].showFilterUnion()}} } @@ -13222,7 +13229,7 @@ yydefault: case 692: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3768 +//line sql.y:3769 { yyLOCAL = &Show{&ShowBasic{Command: Database, Filter: yyDollar[3].showFilterUnion()}} } @@ -13230,7 +13237,7 @@ yydefault: case 693: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3772 +//line sql.y:3773 { yyLOCAL = &Show{&ShowBasic{Command: Keyspace, Filter: yyDollar[3].showFilterUnion()}} } @@ -13238,7 +13245,7 @@ yydefault: case 694: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3776 +//line sql.y:3777 { yyLOCAL = &Show{&ShowBasic{Command: Keyspace, Filter: yyDollar[3].showFilterUnion()}} } @@ -13246,7 +13253,7 @@ yydefault: case 695: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3780 +//line sql.y:3781 { yyLOCAL = &Show{&ShowBasic{Command: Function, Filter: yyDollar[4].showFilterUnion()}} } @@ -13254,7 +13261,7 @@ yydefault: case 696: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3784 +//line sql.y:3785 { yyLOCAL = &Show{&ShowBasic{Command: Index, Tbl: yyDollar[5].tableName, DbName: yyDollar[6].tableIdent, Filter: yyDollar[7].showFilterUnion()}} } @@ -13262,7 +13269,7 @@ yydefault: case 697: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3788 +//line sql.y:3789 { yyLOCAL = &Show{&ShowBasic{Command: OpenTable, DbName: yyDollar[4].tableIdent, Filter: yyDollar[5].showFilterUnion()}} } @@ -13270,7 +13277,7 @@ yydefault: case 698: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3792 +//line sql.y:3793 { yyLOCAL = &Show{&ShowBasic{Command: Privilege}} } @@ -13278,7 +13285,7 @@ yydefault: case 699: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3796 +//line sql.y:3797 { yyLOCAL = &Show{&ShowBasic{Command: Procedure, Filter: yyDollar[4].showFilterUnion()}} } @@ -13286,7 +13293,7 @@ yydefault: case 700: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3800 +//line sql.y:3801 { yyLOCAL = &Show{&ShowBasic{Command: StatusSession, Filter: yyDollar[4].showFilterUnion()}} } @@ -13294,7 +13301,7 @@ yydefault: case 701: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3804 +//line sql.y:3805 { yyLOCAL = &Show{&ShowBasic{Command: StatusGlobal, Filter: yyDollar[4].showFilterUnion()}} } @@ -13302,7 +13309,7 @@ yydefault: case 702: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3808 +//line sql.y:3809 { yyLOCAL = &Show{&ShowBasic{Command: VariableSession, Filter: yyDollar[4].showFilterUnion()}} } @@ -13310,7 +13317,7 @@ yydefault: case 703: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3812 +//line sql.y:3813 { yyLOCAL = &Show{&ShowBasic{Command: VariableGlobal, Filter: yyDollar[4].showFilterUnion()}} } @@ -13318,7 +13325,7 @@ yydefault: case 704: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3816 +//line sql.y:3817 { yyLOCAL = &Show{&ShowBasic{Command: TableStatus, DbName: yyDollar[4].tableIdent, Filter: yyDollar[5].showFilterUnion()}} } @@ -13326,7 +13333,7 @@ yydefault: case 705: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3820 +//line sql.y:3821 { yyLOCAL = &Show{&ShowBasic{Command: Table, Full: yyDollar[2].booleanUnion(), DbName: yyDollar[4].tableIdent, Filter: yyDollar[5].showFilterUnion()}} } @@ -13334,7 +13341,7 @@ yydefault: case 706: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3824 +//line sql.y:3825 { yyLOCAL = &Show{&ShowBasic{Command: Trigger, DbName: yyDollar[3].tableIdent, Filter: yyDollar[4].showFilterUnion()}} } @@ -13342,7 +13349,7 @@ yydefault: case 707: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3828 +//line sql.y:3829 { yyLOCAL = &Show{&ShowCreate{Command: CreateDb, Op: yyDollar[4].tableName}} } @@ -13350,7 +13357,7 @@ yydefault: case 708: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3832 +//line sql.y:3833 { yyLOCAL = &Show{&ShowCreate{Command: CreateE, Op: yyDollar[4].tableName}} } @@ -13358,7 +13365,7 @@ yydefault: case 709: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3836 +//line sql.y:3837 { yyLOCAL = &Show{&ShowCreate{Command: CreateF, Op: yyDollar[4].tableName}} } @@ -13366,7 +13373,7 @@ yydefault: case 710: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3840 +//line sql.y:3841 { yyLOCAL = &Show{&ShowCreate{Command: CreateProc, Op: yyDollar[4].tableName}} } @@ -13374,7 +13381,7 @@ yydefault: case 711: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3844 +//line sql.y:3845 { yyLOCAL = &Show{&ShowCreate{Command: CreateTbl, Op: yyDollar[4].tableName}} } @@ -13382,7 +13389,7 @@ yydefault: case 712: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3848 +//line sql.y:3849 { yyLOCAL = &Show{&ShowCreate{Command: CreateTr, Op: yyDollar[4].tableName}} } @@ -13390,7 +13397,7 @@ yydefault: case 713: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3852 +//line sql.y:3853 { yyLOCAL = &Show{&ShowCreate{Command: CreateV, Op: yyDollar[4].tableName}} } @@ -13398,7 +13405,7 @@ yydefault: case 714: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3856 +//line sql.y:3857 { yyLOCAL = &Show{&ShowBasic{Command: Engines}} } @@ -13406,7 +13413,7 @@ yydefault: case 715: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3860 +//line sql.y:3861 { yyLOCAL = &Show{&ShowBasic{Command: Plugins}} } @@ -13414,7 +13421,7 @@ yydefault: case 716: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3864 +//line sql.y:3865 { yyLOCAL = &Show{&ShowBasic{Command: GtidExecGlobal, DbName: yyDollar[4].tableIdent}} } @@ -13422,7 +13429,7 @@ yydefault: case 717: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3868 +//line sql.y:3869 { yyLOCAL = &Show{&ShowBasic{Command: VGtidExecGlobal, DbName: yyDollar[4].tableIdent}} } @@ -13430,7 +13437,7 @@ yydefault: case 718: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3872 +//line sql.y:3873 { yyLOCAL = &Show{&ShowBasic{Command: VitessVariables, Filter: yyDollar[4].showFilterUnion()}} } @@ -13438,7 +13445,7 @@ yydefault: case 719: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3876 +//line sql.y:3877 { yyLOCAL = &Show{&ShowBasic{Command: VitessMigrations, Filter: yyDollar[4].showFilterUnion(), DbName: yyDollar[3].tableIdent}} } @@ -13446,7 +13453,7 @@ yydefault: case 720: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3880 +//line sql.y:3881 { yyLOCAL = &ShowMigrationLogs{UUID: string(yyDollar[3].str)} } @@ -13454,7 +13461,7 @@ yydefault: case 721: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3884 +//line sql.y:3885 { yyLOCAL = &ShowThrottledApps{} } @@ -13462,7 +13469,7 @@ yydefault: case 722: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3888 +//line sql.y:3889 { yyLOCAL = &Show{&ShowBasic{Command: VitessReplicationStatus, Filter: yyDollar[3].showFilterUnion()}} } @@ -13470,7 +13477,7 @@ yydefault: case 723: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3892 +//line sql.y:3893 { yyLOCAL = &Show{&ShowBasic{Command: VschemaTables}} } @@ -13478,7 +13485,7 @@ yydefault: case 724: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3896 +//line sql.y:3897 { yyLOCAL = &Show{&ShowBasic{Command: VschemaVindexes}} } @@ -13486,7 +13493,7 @@ yydefault: case 725: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3900 +//line sql.y:3901 { yyLOCAL = &Show{&ShowBasic{Command: VschemaVindexes, Tbl: yyDollar[5].tableName}} } @@ -13494,7 +13501,7 @@ yydefault: case 726: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3904 +//line sql.y:3905 { yyLOCAL = &Show{&ShowBasic{Command: Warnings}} } @@ -13502,7 +13509,7 @@ yydefault: case 727: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3908 +//line sql.y:3909 { yyLOCAL = &Show{&ShowBasic{Command: VitessShards, Filter: yyDollar[3].showFilterUnion()}} } @@ -13510,7 +13517,7 @@ yydefault: case 728: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3912 +//line sql.y:3913 { yyLOCAL = &Show{&ShowBasic{Command: VitessTablets, Filter: yyDollar[3].showFilterUnion()}} } @@ -13518,7 +13525,7 @@ yydefault: case 729: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3916 +//line sql.y:3917 { yyLOCAL = &Show{&ShowBasic{Command: VitessTarget}} } @@ -13526,7 +13533,7 @@ yydefault: case 730: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3923 +//line sql.y:3924 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].colIdent.String())}} } @@ -13534,7 +13541,7 @@ yydefault: case 731: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3927 +//line sql.y:3928 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str)}} } @@ -13542,7 +13549,7 @@ yydefault: case 732: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3931 +//line sql.y:3932 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + yyDollar[3].colIdent.String()}} } @@ -13550,7 +13557,7 @@ yydefault: case 733: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3935 +//line sql.y:3936 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str)}} } @@ -13558,7 +13565,7 @@ yydefault: case 734: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3939 +//line sql.y:3940 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str)}} } @@ -13566,7 +13573,7 @@ yydefault: case 735: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3943 +//line sql.y:3944 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str) + " " + String(yyDollar[4].tableName)}} } @@ -13574,7 +13581,7 @@ yydefault: case 736: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3947 +//line sql.y:3948 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str) + " " + String(yyDollar[4].tableName)}} } @@ -13582,7 +13589,7 @@ yydefault: case 737: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3951 +//line sql.y:3952 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[3].str)}} } @@ -13590,27 +13597,27 @@ yydefault: case 738: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3955 +//line sql.y:3956 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str)}} } yyVAL.union = yyLOCAL case 739: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3961 +//line sql.y:3962 { yyVAL.str = "" } case 740: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3965 +//line sql.y:3966 { yyVAL.str = "extended " } case 741: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3971 +//line sql.y:3972 { yyLOCAL = false } @@ -13618,45 +13625,45 @@ yydefault: case 742: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3975 +//line sql.y:3976 { yyLOCAL = true } yyVAL.union = yyLOCAL case 743: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3981 +//line sql.y:3982 { yyVAL.str = string(yyDollar[1].str) } case 744: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3985 +//line sql.y:3986 { yyVAL.str = string(yyDollar[1].str) } case 745: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3991 +//line sql.y:3992 { yyVAL.tableIdent = NewTableIdent("") } case 746: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3995 +//line sql.y:3996 { yyVAL.tableIdent = yyDollar[2].tableIdent } case 747: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3999 +//line sql.y:4000 { yyVAL.tableIdent = yyDollar[2].tableIdent } case 748: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:4005 +//line sql.y:4006 { yyLOCAL = nil } @@ -13664,7 +13671,7 @@ yydefault: case 749: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:4009 +//line sql.y:4010 { yyLOCAL = &ShowFilter{Like: string(yyDollar[2].str)} } @@ -13672,7 +13679,7 @@ yydefault: case 750: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:4013 +//line sql.y:4014 { yyLOCAL = &ShowFilter{Filter: yyDollar[2].exprUnion()} } @@ -13680,7 +13687,7 @@ yydefault: case 751: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:4019 +//line sql.y:4020 { yyLOCAL = nil } @@ -13688,45 +13695,45 @@ yydefault: case 752: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:4023 +//line sql.y:4024 { yyLOCAL = &ShowFilter{Like: string(yyDollar[2].str)} } yyVAL.union = yyLOCAL case 753: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4029 +//line sql.y:4030 { yyVAL.empty = struct{}{} } case 754: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4033 +//line sql.y:4034 { yyVAL.empty = struct{}{} } case 755: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4037 +//line sql.y:4038 { yyVAL.empty = struct{}{} } case 756: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4043 +//line sql.y:4044 { yyVAL.str = string(yyDollar[1].str) } case 757: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4047 +//line sql.y:4048 { yyVAL.str = string(yyDollar[1].str) } case 758: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4053 +//line sql.y:4054 { yyLOCAL = &Use{DBName: yyDollar[2].tableIdent} } @@ -13734,7 +13741,7 @@ yydefault: case 759: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4057 +//line sql.y:4058 { yyLOCAL = &Use{DBName: TableIdent{v: ""}} } @@ -13742,7 +13749,7 @@ yydefault: case 760: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4061 +//line sql.y:4062 { yyLOCAL = &Use{DBName: NewTableIdent(yyDollar[2].tableIdent.String() + "@" + string(yyDollar[3].str))} } @@ -13750,7 +13757,7 @@ yydefault: case 761: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4067 +//line sql.y:4068 { yyLOCAL = &Begin{} } @@ -13758,7 +13765,7 @@ yydefault: case 762: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4071 +//line sql.y:4072 { yyLOCAL = &Begin{} } @@ -13766,7 +13773,7 @@ yydefault: case 763: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4077 +//line sql.y:4078 { yyLOCAL = &Commit{} } @@ -13774,7 +13781,7 @@ yydefault: case 764: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4083 +//line sql.y:4084 { yyLOCAL = &Rollback{} } @@ -13782,39 +13789,39 @@ yydefault: case 765: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:4087 +//line sql.y:4088 { yyLOCAL = &SRollback{Name: yyDollar[5].colIdent} } yyVAL.union = yyLOCAL case 766: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4092 +//line sql.y:4093 { yyVAL.empty = struct{}{} } case 767: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4094 +//line sql.y:4095 { yyVAL.empty = struct{}{} } case 768: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4097 +//line sql.y:4098 { yyVAL.empty = struct{}{} } case 769: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4099 +//line sql.y:4100 { yyVAL.empty = struct{}{} } case 770: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4103 +//line sql.y:4104 { yyLOCAL = &Savepoint{Name: yyDollar[2].colIdent} } @@ -13822,7 +13829,7 @@ yydefault: case 771: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4109 +//line sql.y:4110 { yyLOCAL = &Release{Name: yyDollar[3].colIdent} } @@ -13830,7 +13837,7 @@ yydefault: case 772: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4114 +//line sql.y:4115 { yyLOCAL = EmptyType } @@ -13838,7 +13845,7 @@ yydefault: case 773: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4118 +//line sql.y:4119 { yyLOCAL = JSONType } @@ -13846,7 +13853,7 @@ yydefault: case 774: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4122 +//line sql.y:4123 { yyLOCAL = TreeType } @@ -13854,7 +13861,7 @@ yydefault: case 775: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4126 +//line sql.y:4127 { yyLOCAL = VitessType } @@ -13862,7 +13869,7 @@ yydefault: case 776: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4130 +//line sql.y:4131 { yyLOCAL = TraditionalType } @@ -13870,33 +13877,33 @@ yydefault: case 777: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4134 +//line sql.y:4135 { yyLOCAL = AnalyzeType } yyVAL.union = yyLOCAL case 778: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4140 +//line sql.y:4141 { yyVAL.str = yyDollar[1].str } case 779: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4144 +//line sql.y:4145 { yyVAL.str = yyDollar[1].str } case 780: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4148 +//line sql.y:4149 { yyVAL.str = yyDollar[1].str } case 781: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4154 +//line sql.y:4155 { yyLOCAL = yyDollar[1].selStmtUnion() } @@ -13904,7 +13911,7 @@ yydefault: case 782: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4158 +//line sql.y:4159 { yyLOCAL = yyDollar[1].statementUnion() } @@ -13912,7 +13919,7 @@ yydefault: case 783: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4162 +//line sql.y:4163 { yyLOCAL = yyDollar[1].statementUnion() } @@ -13920,33 +13927,33 @@ yydefault: case 784: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4166 +//line sql.y:4167 { yyLOCAL = yyDollar[1].statementUnion() } yyVAL.union = yyLOCAL case 785: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4171 +//line sql.y:4172 { yyVAL.str = "" } case 786: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4175 +//line sql.y:4176 { yyVAL.str = yyDollar[1].colIdent.val } case 787: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4179 +//line sql.y:4180 { yyVAL.str = encodeSQLString(yyDollar[1].str) } case 788: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4185 +//line sql.y:4186 { yyLOCAL = &ExplainTab{Table: yyDollar[2].tableName, Wild: yyDollar[3].str} } @@ -13954,7 +13961,7 @@ yydefault: case 789: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4189 +//line sql.y:4190 { yyLOCAL = &ExplainStmt{Type: yyDollar[2].explainTypeUnion(), Statement: yyDollar[3].statementUnion()} } @@ -13962,7 +13969,7 @@ yydefault: case 790: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4195 +//line sql.y:4196 { yyLOCAL = &OtherAdmin{} } @@ -13970,7 +13977,7 @@ yydefault: case 791: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4199 +//line sql.y:4200 { yyLOCAL = &OtherAdmin{} } @@ -13978,7 +13985,7 @@ yydefault: case 792: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4205 +//line sql.y:4206 { yyLOCAL = &LockTables{Tables: yyDollar[3].tableAndLockTypesUnion()} } @@ -13986,14 +13993,14 @@ yydefault: case 793: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableAndLockTypes -//line sql.y:4211 +//line sql.y:4212 { yyLOCAL = TableAndLockTypes{yyDollar[1].tableAndLockTypeUnion()} } yyVAL.union = yyLOCAL case 794: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4215 +//line sql.y:4216 { yySLICE := (*TableAndLockTypes)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableAndLockTypeUnion()) @@ -14001,7 +14008,7 @@ yydefault: case 795: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *TableAndLockType -//line sql.y:4221 +//line sql.y:4222 { yyLOCAL = &TableAndLockType{Table: yyDollar[1].aliasedTableNameUnion(), Lock: yyDollar[2].lockTypeUnion()} } @@ -14009,7 +14016,7 @@ yydefault: case 796: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL LockType -//line sql.y:4227 +//line sql.y:4228 { yyLOCAL = Read } @@ -14017,7 +14024,7 @@ yydefault: case 797: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL LockType -//line sql.y:4231 +//line sql.y:4232 { yyLOCAL = ReadLocal } @@ -14025,7 +14032,7 @@ yydefault: case 798: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL LockType -//line sql.y:4235 +//line sql.y:4236 { yyLOCAL = Write } @@ -14033,7 +14040,7 @@ yydefault: case 799: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL LockType -//line sql.y:4239 +//line sql.y:4240 { yyLOCAL = LowPriorityWrite } @@ -14041,7 +14048,7 @@ yydefault: case 800: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4245 +//line sql.y:4246 { yyLOCAL = &UnlockTables{} } @@ -14049,7 +14056,7 @@ yydefault: case 801: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4251 +//line sql.y:4252 { yyLOCAL = &RevertMigration{Comments: Comments(yyDollar[2].strs).Parsed(), UUID: string(yyDollar[4].str)} } @@ -14057,7 +14064,7 @@ yydefault: case 802: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4257 +//line sql.y:4258 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), FlushOptions: yyDollar[3].strs} } @@ -14065,7 +14072,7 @@ yydefault: case 803: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4261 +//line sql.y:4262 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion()} } @@ -14073,7 +14080,7 @@ yydefault: case 804: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:4265 +//line sql.y:4266 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), WithLock: true} } @@ -14081,7 +14088,7 @@ yydefault: case 805: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4269 +//line sql.y:4270 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion()} } @@ -14089,7 +14096,7 @@ yydefault: case 806: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:4273 +//line sql.y:4274 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion(), WithLock: true} } @@ -14097,99 +14104,99 @@ yydefault: case 807: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:4277 +//line sql.y:4278 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion(), ForExport: true} } yyVAL.union = yyLOCAL case 808: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4283 +//line sql.y:4284 { yyVAL.strs = []string{yyDollar[1].str} } case 809: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4287 +//line sql.y:4288 { yyVAL.strs = append(yyDollar[1].strs, yyDollar[3].str) } case 810: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4293 +//line sql.y:4294 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 811: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4297 +//line sql.y:4298 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 812: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4301 +//line sql.y:4302 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 813: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4305 +//line sql.y:4306 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 814: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4309 +//line sql.y:4310 { yyVAL.str = string(yyDollar[1].str) } case 815: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4313 +//line sql.y:4314 { yyVAL.str = string(yyDollar[1].str) } case 816: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4317 +//line sql.y:4318 { yyVAL.str = string(yyDollar[1].str) } case 817: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4321 +//line sql.y:4322 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) + yyDollar[3].str } case 818: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4325 +//line sql.y:4326 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 819: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4329 +//line sql.y:4330 { yyVAL.str = string(yyDollar[1].str) } case 820: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4333 +//line sql.y:4334 { yyVAL.str = string(yyDollar[1].str) } case 821: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4337 +//line sql.y:4338 { yyVAL.str = string(yyDollar[1].str) } case 822: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:4342 +//line sql.y:4343 { yyLOCAL = false } @@ -14197,7 +14204,7 @@ yydefault: case 823: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4346 +//line sql.y:4347 { yyLOCAL = true } @@ -14205,52 +14212,52 @@ yydefault: case 824: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4350 +//line sql.y:4351 { yyLOCAL = true } yyVAL.union = yyLOCAL case 825: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4355 +//line sql.y:4356 { yyVAL.str = "" } case 826: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4359 +//line sql.y:4360 { yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str) + " " + yyDollar[3].colIdent.String() } case 827: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4364 +//line sql.y:4365 { setAllowComments(yylex, true) } case 828: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4368 +//line sql.y:4369 { yyVAL.strs = yyDollar[2].strs setAllowComments(yylex, false) } case 829: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4374 +//line sql.y:4375 { yyVAL.strs = nil } case 830: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4378 +//line sql.y:4379 { yyVAL.strs = append(yyDollar[1].strs, yyDollar[2].str) } case 831: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4384 +//line sql.y:4385 { yyLOCAL = true } @@ -14258,7 +14265,7 @@ yydefault: case 832: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:4388 +//line sql.y:4389 { yyLOCAL = false } @@ -14266,33 +14273,33 @@ yydefault: case 833: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:4392 +//line sql.y:4393 { yyLOCAL = true } yyVAL.union = yyLOCAL case 834: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4397 +//line sql.y:4398 { yyVAL.str = "" } case 835: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4401 +//line sql.y:4402 { yyVAL.str = SQLNoCacheStr } case 836: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4405 +//line sql.y:4406 { yyVAL.str = SQLCacheStr } case 837: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:4410 +//line sql.y:4411 { yyLOCAL = false } @@ -14300,7 +14307,7 @@ yydefault: case 838: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4414 +//line sql.y:4415 { yyLOCAL = true } @@ -14308,7 +14315,7 @@ yydefault: case 839: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4418 +//line sql.y:4419 { yyLOCAL = true } @@ -14316,7 +14323,7 @@ yydefault: case 840: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:4424 +//line sql.y:4425 { yyLOCAL = &PrepareStmt{Name: yyDollar[3].colIdent, Comments: Comments(yyDollar[2].strs).Parsed(), Statement: yyDollar[5].exprUnion()} } @@ -14324,7 +14331,7 @@ yydefault: case 841: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:4428 +//line sql.y:4429 { yyLOCAL = &PrepareStmt{ Name: yyDollar[3].colIdent, @@ -14338,7 +14345,7 @@ yydefault: case 842: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4440 +//line sql.y:4441 { yyLOCAL = &ExecuteStmt{Name: yyDollar[3].colIdent, Comments: Comments(yyDollar[2].strs).Parsed(), Arguments: yyDollar[4].columnsUnion()} } @@ -14346,7 +14353,7 @@ yydefault: case 843: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Columns -//line sql.y:4445 +//line sql.y:4446 { yyLOCAL = nil } @@ -14354,7 +14361,7 @@ yydefault: case 844: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Columns -//line sql.y:4449 +//line sql.y:4450 { yyLOCAL = yyDollar[2].columnsUnion() } @@ -14362,7 +14369,7 @@ yydefault: case 845: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4455 +//line sql.y:4456 { yyLOCAL = &DeallocateStmt{Type: DeallocateType, Comments: Comments(yyDollar[2].strs).Parsed(), Name: yyDollar[4].colIdent} } @@ -14370,7 +14377,7 @@ yydefault: case 846: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4459 +//line sql.y:4460 { yyLOCAL = &DeallocateStmt{Type: DropType, Comments: Comments(yyDollar[2].strs).Parsed(), Name: yyDollar[4].colIdent} } @@ -14378,7 +14385,7 @@ yydefault: case 847: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL SelectExprs -//line sql.y:4464 +//line sql.y:4465 { yyLOCAL = nil } @@ -14386,87 +14393,87 @@ yydefault: case 848: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectExprs -//line sql.y:4468 +//line sql.y:4469 { yyLOCAL = yyDollar[1].selectExprsUnion() } yyVAL.union = yyLOCAL case 849: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4473 +//line sql.y:4474 { yyVAL.strs = nil } case 850: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4477 +//line sql.y:4478 { yyVAL.strs = []string{yyDollar[1].str} } case 851: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4481 +//line sql.y:4482 { // TODO: This is a hack since I couldn't get it to work in a nicer way. I got 'conflicts: 8 shift/reduce' yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str} } case 852: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4485 +//line sql.y:4486 { yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str, yyDollar[3].str} } case 853: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4489 +//line sql.y:4490 { yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str, yyDollar[3].str, yyDollar[4].str} } case 854: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4495 +//line sql.y:4496 { yyVAL.str = SQLNoCacheStr } case 855: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4499 +//line sql.y:4500 { yyVAL.str = SQLCacheStr } case 856: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4503 +//line sql.y:4504 { yyVAL.str = DistinctStr } case 857: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4507 +//line sql.y:4508 { yyVAL.str = DistinctStr } case 858: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4511 +//line sql.y:4512 { yyVAL.str = StraightJoinHint } case 859: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4515 +//line sql.y:4516 { yyVAL.str = SQLCalcFoundRowsStr } case 860: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4519 +//line sql.y:4520 { 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 } case 861: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL StarExpr -//line sql.y:4525 +//line sql.y:4526 { yyLOCAL = StarExpr{} } @@ -14474,14 +14481,14 @@ yydefault: case 862: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectExprs -//line sql.y:4531 +//line sql.y:4532 { yyLOCAL = SelectExprs{yyDollar[1].selectExprUnion()} } yyVAL.union = yyLOCAL case 863: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4535 +//line sql.y:4536 { yySLICE := (*SelectExprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].selectExprUnion()) @@ -14489,7 +14496,7 @@ yydefault: case 864: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectExpr -//line sql.y:4541 +//line sql.y:4542 { yyLOCAL = &StarExpr{} } @@ -14497,7 +14504,7 @@ yydefault: case 865: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectExpr -//line sql.y:4545 +//line sql.y:4546 { yyLOCAL = &AliasedExpr{Expr: yyDollar[1].exprUnion(), As: yyDollar[2].colIdent} } @@ -14505,7 +14512,7 @@ yydefault: case 866: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectExpr -//line sql.y:4549 +//line sql.y:4550 { yyLOCAL = &StarExpr{TableName: TableName{Name: yyDollar[1].tableIdent}} } @@ -14513,39 +14520,39 @@ yydefault: case 867: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL SelectExpr -//line sql.y:4553 +//line sql.y:4554 { yyLOCAL = &StarExpr{TableName: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}} } yyVAL.union = yyLOCAL case 868: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4558 +//line sql.y:4559 { yyVAL.colIdent = ColIdent{} } case 869: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4562 +//line sql.y:4563 { yyVAL.colIdent = yyDollar[1].colIdent } case 870: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4566 +//line sql.y:4567 { yyVAL.colIdent = yyDollar[2].colIdent } case 872: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4573 +//line sql.y:4574 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].str)) } case 873: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL TableExprs -//line sql.y:4578 +//line sql.y:4579 { yyLOCAL = TableExprs{&AliasedTableExpr{Expr: TableName{Name: NewTableIdent("dual")}}} } @@ -14553,7 +14560,7 @@ yydefault: case 874: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableExprs -//line sql.y:4582 +//line sql.y:4583 { yyLOCAL = yyDollar[1].tableExprsUnion() } @@ -14561,7 +14568,7 @@ yydefault: case 875: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL TableExprs -//line sql.y:4588 +//line sql.y:4589 { yyLOCAL = yyDollar[2].tableExprsUnion() } @@ -14569,14 +14576,14 @@ yydefault: case 876: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableExprs -//line sql.y:4594 +//line sql.y:4595 { yyLOCAL = TableExprs{yyDollar[1].tableExprUnion()} } yyVAL.union = yyLOCAL case 877: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4598 +//line sql.y:4599 { yySLICE := (*TableExprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableExprUnion()) @@ -14584,7 +14591,7 @@ yydefault: case 880: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4608 +//line sql.y:4609 { yyLOCAL = yyDollar[1].aliasedTableNameUnion() } @@ -14592,7 +14599,7 @@ yydefault: case 881: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4612 +//line sql.y:4613 { yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].derivedTableUnion(), As: yyDollar[3].tableIdent, Columns: yyDollar[4].columnsUnion()} } @@ -14600,7 +14607,7 @@ yydefault: case 882: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4616 +//line sql.y:4617 { yyLOCAL = &ParenTableExpr{Exprs: yyDollar[2].tableExprsUnion()} } @@ -14608,7 +14615,7 @@ yydefault: case 883: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4620 +//line sql.y:4621 { yyLOCAL = yyDollar[1].tableExprUnion() } @@ -14616,7 +14623,7 @@ yydefault: case 884: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *DerivedTable -//line sql.y:4626 +//line sql.y:4627 { yyLOCAL = &DerivedTable{Lateral: false, Select: yyDollar[2].selStmtUnion()} } @@ -14624,7 +14631,7 @@ yydefault: case 885: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *DerivedTable -//line sql.y:4630 +//line sql.y:4631 { yyLOCAL = &DerivedTable{Lateral: true, Select: yyDollar[3].selStmtUnion()} } @@ -14632,7 +14639,7 @@ yydefault: case 886: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *AliasedTableExpr -//line sql.y:4636 +//line sql.y:4637 { yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].tableName, As: yyDollar[2].tableIdent, Hints: yyDollar[3].indexHintsUnion()} } @@ -14640,7 +14647,7 @@ yydefault: case 887: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *AliasedTableExpr -//line sql.y:4640 +//line sql.y:4641 { yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].tableName, Partitions: yyDollar[4].partitionsUnion(), As: yyDollar[6].tableIdent, Hints: yyDollar[7].indexHintsUnion()} } @@ -14648,7 +14655,7 @@ yydefault: case 888: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Columns -//line sql.y:4645 +//line sql.y:4646 { yyLOCAL = nil } @@ -14656,7 +14663,7 @@ yydefault: case 889: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Columns -//line sql.y:4649 +//line sql.y:4650 { yyLOCAL = yyDollar[2].columnsUnion() } @@ -14664,14 +14671,14 @@ yydefault: case 890: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:4655 +//line sql.y:4656 { yyLOCAL = Columns{yyDollar[1].colIdent} } yyVAL.union = yyLOCAL case 891: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4659 +//line sql.y:4660 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].colIdent) @@ -14679,14 +14686,14 @@ yydefault: case 892: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:4665 +//line sql.y:4666 { yyLOCAL = Columns{NewColIdentWithAt(string(yyDollar[1].str), SingleAt)} } yyVAL.union = yyLOCAL case 893: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4669 +//line sql.y:4670 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, NewColIdentWithAt(string(yyDollar[3].str), SingleAt)) @@ -14694,7 +14701,7 @@ yydefault: case 894: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:4675 +//line sql.y:4676 { yyLOCAL = Columns{yyDollar[1].colIdent} } @@ -14702,21 +14709,21 @@ yydefault: case 895: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:4679 +//line sql.y:4680 { yyLOCAL = Columns{NewColIdent(string(yyDollar[1].str))} } yyVAL.union = yyLOCAL case 896: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4683 +//line sql.y:4684 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].colIdent) } case 897: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4687 +//line sql.y:4688 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, NewColIdent(string(yyDollar[3].str))) @@ -14724,14 +14731,14 @@ yydefault: case 898: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Partitions -//line sql.y:4693 +//line sql.y:4694 { yyLOCAL = Partitions{yyDollar[1].colIdent} } yyVAL.union = yyLOCAL case 899: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4697 +//line sql.y:4698 { yySLICE := (*Partitions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].colIdent) @@ -14739,7 +14746,7 @@ yydefault: case 900: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4710 +//line sql.y:4711 { yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition} } @@ -14747,7 +14754,7 @@ yydefault: case 901: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4714 +//line sql.y:4715 { yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition} } @@ -14755,7 +14762,7 @@ yydefault: case 902: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4718 +//line sql.y:4719 { yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition} } @@ -14763,87 +14770,87 @@ yydefault: case 903: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4722 +//line sql.y:4723 { yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion()} } yyVAL.union = yyLOCAL case 904: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4728 +//line sql.y:4729 { yyVAL.joinCondition = &JoinCondition{On: yyDollar[2].exprUnion()} } case 905: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4730 +//line sql.y:4731 { yyVAL.joinCondition = &JoinCondition{Using: yyDollar[3].columnsUnion()} } case 906: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4734 +//line sql.y:4735 { yyVAL.joinCondition = &JoinCondition{} } case 907: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4736 +//line sql.y:4737 { yyVAL.joinCondition = yyDollar[1].joinCondition } case 908: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4740 +//line sql.y:4741 { yyVAL.joinCondition = &JoinCondition{} } case 909: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4742 +//line sql.y:4743 { yyVAL.joinCondition = &JoinCondition{On: yyDollar[2].exprUnion()} } case 910: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4745 +//line sql.y:4746 { yyVAL.empty = struct{}{} } case 911: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4747 +//line sql.y:4748 { yyVAL.empty = struct{}{} } case 912: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4750 +//line sql.y:4751 { yyVAL.tableIdent = NewTableIdent("") } case 913: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4754 +//line sql.y:4755 { yyVAL.tableIdent = yyDollar[1].tableIdent } case 914: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4758 +//line sql.y:4759 { yyVAL.tableIdent = yyDollar[2].tableIdent } case 916: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4765 +//line sql.y:4766 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].str)) } case 917: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL JoinType -//line sql.y:4771 +//line sql.y:4772 { yyLOCAL = NormalJoinType } @@ -14851,7 +14858,7 @@ yydefault: case 918: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4775 +//line sql.y:4776 { yyLOCAL = NormalJoinType } @@ -14859,7 +14866,7 @@ yydefault: case 919: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4779 +//line sql.y:4780 { yyLOCAL = NormalJoinType } @@ -14867,7 +14874,7 @@ yydefault: case 920: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL JoinType -//line sql.y:4785 +//line sql.y:4786 { yyLOCAL = StraightJoinType } @@ -14875,7 +14882,7 @@ yydefault: case 921: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4791 +//line sql.y:4792 { yyLOCAL = LeftJoinType } @@ -14883,7 +14890,7 @@ yydefault: case 922: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL JoinType -//line sql.y:4795 +//line sql.y:4796 { yyLOCAL = LeftJoinType } @@ -14891,7 +14898,7 @@ yydefault: case 923: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4799 +//line sql.y:4800 { yyLOCAL = RightJoinType } @@ -14899,7 +14906,7 @@ yydefault: case 924: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL JoinType -//line sql.y:4803 +//line sql.y:4804 { yyLOCAL = RightJoinType } @@ -14907,7 +14914,7 @@ yydefault: case 925: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4809 +//line sql.y:4810 { yyLOCAL = NaturalJoinType } @@ -14915,7 +14922,7 @@ yydefault: case 926: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4813 +//line sql.y:4814 { if yyDollar[2].joinTypeUnion() == LeftJoinType { yyLOCAL = NaturalLeftJoinType @@ -14926,38 +14933,38 @@ yydefault: yyVAL.union = yyLOCAL case 927: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4823 +//line sql.y:4824 { yyVAL.tableName = yyDollar[2].tableName } case 928: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4827 +//line sql.y:4828 { yyVAL.tableName = yyDollar[1].tableName } case 929: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4833 +//line sql.y:4834 { yyVAL.tableName = TableName{Name: yyDollar[1].tableIdent} } case 930: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4837 +//line sql.y:4838 { yyVAL.tableName = TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent} } case 931: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4843 +//line sql.y:4844 { yyVAL.tableName = TableName{Name: yyDollar[1].tableIdent} } case 932: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL IndexHints -//line sql.y:4848 +//line sql.y:4849 { yyLOCAL = nil } @@ -14965,7 +14972,7 @@ yydefault: case 933: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IndexHints -//line sql.y:4852 +//line sql.y:4853 { yyLOCAL = yyDollar[1].indexHintsUnion() } @@ -14973,14 +14980,14 @@ yydefault: case 934: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IndexHints -//line sql.y:4858 +//line sql.y:4859 { yyLOCAL = IndexHints{yyDollar[1].indexHintUnion()} } yyVAL.union = yyLOCAL case 935: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4862 +//line sql.y:4863 { yySLICE := (*IndexHints)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].indexHintUnion()) @@ -14988,7 +14995,7 @@ yydefault: case 936: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *IndexHint -//line sql.y:4868 +//line sql.y:4869 { yyLOCAL = &IndexHint{Type: UseOp, ForType: yyDollar[3].indexHintForTypeUnion(), Indexes: yyDollar[5].columnsUnion()} } @@ -14996,7 +15003,7 @@ yydefault: case 937: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *IndexHint -//line sql.y:4872 +//line sql.y:4873 { yyLOCAL = &IndexHint{Type: UseOp, ForType: yyDollar[3].indexHintForTypeUnion()} } @@ -15004,7 +15011,7 @@ yydefault: case 938: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *IndexHint -//line sql.y:4876 +//line sql.y:4877 { yyLOCAL = &IndexHint{Type: IgnoreOp, ForType: yyDollar[3].indexHintForTypeUnion(), Indexes: yyDollar[5].columnsUnion()} } @@ -15012,7 +15019,7 @@ yydefault: case 939: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *IndexHint -//line sql.y:4880 +//line sql.y:4881 { yyLOCAL = &IndexHint{Type: ForceOp, ForType: yyDollar[3].indexHintForTypeUnion(), Indexes: yyDollar[5].columnsUnion()} } @@ -15020,7 +15027,7 @@ yydefault: case 940: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL IndexHintForType -//line sql.y:4885 +//line sql.y:4886 { yyLOCAL = NoForType } @@ -15028,7 +15035,7 @@ yydefault: case 941: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IndexHintForType -//line sql.y:4889 +//line sql.y:4890 { yyLOCAL = JoinForType } @@ -15036,7 +15043,7 @@ yydefault: case 942: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL IndexHintForType -//line sql.y:4893 +//line sql.y:4894 { yyLOCAL = OrderByForType } @@ -15044,7 +15051,7 @@ yydefault: case 943: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL IndexHintForType -//line sql.y:4897 +//line sql.y:4898 { yyLOCAL = GroupByForType } @@ -15052,7 +15059,7 @@ yydefault: case 944: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:4903 +//line sql.y:4904 { yyLOCAL = nil } @@ -15060,7 +15067,7 @@ yydefault: case 945: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:4907 +//line sql.y:4908 { yyLOCAL = yyDollar[2].exprUnion() } @@ -15068,7 +15075,7 @@ yydefault: case 946: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4914 +//line sql.y:4915 { yyLOCAL = &OrExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()} } @@ -15076,7 +15083,7 @@ yydefault: case 947: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4918 +//line sql.y:4919 { yyLOCAL = &XorExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()} } @@ -15084,7 +15091,7 @@ yydefault: case 948: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4922 +//line sql.y:4923 { yyLOCAL = &AndExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()} } @@ -15092,7 +15099,7 @@ yydefault: case 949: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:4926 +//line sql.y:4927 { yyLOCAL = &NotExpr{Expr: yyDollar[2].exprUnion()} } @@ -15100,7 +15107,7 @@ yydefault: case 950: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4930 +//line sql.y:4931 { yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].isExprOperatorUnion()} } @@ -15108,7 +15115,7 @@ yydefault: case 951: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:4934 +//line sql.y:4935 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15116,7 +15123,7 @@ yydefault: case 952: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:4938 +//line sql.y:4939 { yyLOCAL = &MemberOfExpr{Value: yyDollar[1].exprUnion(), JSONArr: yyDollar[5].exprUnion()} } @@ -15124,7 +15131,7 @@ yydefault: case 953: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4945 +//line sql.y:4946 { yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: IsNullOp} } @@ -15132,7 +15139,7 @@ yydefault: case 954: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:4949 +//line sql.y:4950 { yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: IsNotNullOp} } @@ -15140,7 +15147,7 @@ yydefault: case 955: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4953 +//line sql.y:4954 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: yyDollar[2].comparisonExprOperatorUnion(), Right: yyDollar[3].exprUnion()} } @@ -15148,7 +15155,7 @@ yydefault: case 956: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:4957 +//line sql.y:4958 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15156,7 +15163,7 @@ yydefault: case 957: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4963 +//line sql.y:4964 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: InOp, Right: yyDollar[3].colTupleUnion()} } @@ -15164,7 +15171,7 @@ yydefault: case 958: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:4967 +//line sql.y:4968 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotInOp, Right: yyDollar[4].colTupleUnion()} } @@ -15172,7 +15179,7 @@ yydefault: case 959: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:4971 +//line sql.y:4972 { yyLOCAL = &BetweenExpr{Left: yyDollar[1].exprUnion(), IsBetween: true, From: yyDollar[3].exprUnion(), To: yyDollar[5].exprUnion()} } @@ -15180,7 +15187,7 @@ yydefault: case 960: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:4975 +//line sql.y:4976 { yyLOCAL = &BetweenExpr{Left: yyDollar[1].exprUnion(), IsBetween: false, From: yyDollar[4].exprUnion(), To: yyDollar[6].exprUnion()} } @@ -15188,7 +15195,7 @@ yydefault: case 961: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4979 +//line sql.y:4980 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: LikeOp, Right: yyDollar[3].exprUnion()} } @@ -15196,7 +15203,7 @@ yydefault: case 962: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:4983 +//line sql.y:4984 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotLikeOp, Right: yyDollar[4].exprUnion()} } @@ -15204,7 +15211,7 @@ yydefault: case 963: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:4987 +//line sql.y:4988 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: LikeOp, Right: yyDollar[3].exprUnion(), Escape: yyDollar[5].exprUnion()} } @@ -15212,7 +15219,7 @@ yydefault: case 964: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:4991 +//line sql.y:4992 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotLikeOp, Right: yyDollar[4].exprUnion(), Escape: yyDollar[6].exprUnion()} } @@ -15220,7 +15227,7 @@ yydefault: case 965: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4995 +//line sql.y:4996 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: RegexpOp, Right: yyDollar[3].exprUnion()} } @@ -15228,7 +15235,7 @@ yydefault: case 966: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:4999 +//line sql.y:5000 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotRegexpOp, Right: yyDollar[4].exprUnion()} } @@ -15236,7 +15243,7 @@ yydefault: case 967: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5003 +//line sql.y:5004 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15244,7 +15251,7 @@ yydefault: case 968: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5009 +//line sql.y:5010 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitOrOp, Right: yyDollar[3].exprUnion()} } @@ -15252,7 +15259,7 @@ yydefault: case 969: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5013 +//line sql.y:5014 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitAndOp, Right: yyDollar[3].exprUnion()} } @@ -15260,7 +15267,7 @@ yydefault: case 970: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5017 +//line sql.y:5018 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ShiftLeftOp, Right: yyDollar[3].exprUnion()} } @@ -15268,7 +15275,7 @@ yydefault: case 971: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5021 +//line sql.y:5022 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ShiftRightOp, Right: yyDollar[3].exprUnion()} } @@ -15276,7 +15283,7 @@ yydefault: case 972: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5025 +//line sql.y:5026 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: PlusOp, Right: yyDollar[3].exprUnion()} } @@ -15284,7 +15291,7 @@ yydefault: case 973: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5029 +//line sql.y:5030 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: MinusOp, Right: yyDollar[3].exprUnion()} } @@ -15292,7 +15299,7 @@ yydefault: case 974: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5033 +//line sql.y:5034 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: MultOp, Right: yyDollar[3].exprUnion()} } @@ -15300,7 +15307,7 @@ yydefault: case 975: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5037 +//line sql.y:5038 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: DivOp, Right: yyDollar[3].exprUnion()} } @@ -15308,7 +15315,7 @@ yydefault: case 976: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5041 +//line sql.y:5042 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ModOp, Right: yyDollar[3].exprUnion()} } @@ -15316,7 +15323,7 @@ yydefault: case 977: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5045 +//line sql.y:5046 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: IntDivOp, Right: yyDollar[3].exprUnion()} } @@ -15324,7 +15331,7 @@ yydefault: case 978: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5049 +//line sql.y:5050 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ModOp, Right: yyDollar[3].exprUnion()} } @@ -15332,7 +15339,7 @@ yydefault: case 979: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5053 +//line sql.y:5054 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitXorOp, Right: yyDollar[3].exprUnion()} } @@ -15340,7 +15347,7 @@ yydefault: case 980: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5057 +//line sql.y:5058 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15348,7 +15355,7 @@ yydefault: case 981: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5063 +//line sql.y:5064 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15356,7 +15363,7 @@ yydefault: case 982: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5067 +//line sql.y:5068 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15364,7 +15371,7 @@ yydefault: case 983: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5071 +//line sql.y:5072 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15372,7 +15379,7 @@ yydefault: case 984: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5075 +//line sql.y:5076 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15380,7 +15387,7 @@ yydefault: case 985: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5079 +//line sql.y:5080 { yyLOCAL = &CollateExpr{Expr: yyDollar[1].exprUnion(), Collation: yyDollar[3].str} } @@ -15388,7 +15395,7 @@ yydefault: case 986: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5083 +//line sql.y:5084 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15396,7 +15403,7 @@ yydefault: case 987: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5087 +//line sql.y:5088 { yyLOCAL = yyDollar[1].colNameUnion() } @@ -15404,7 +15411,7 @@ yydefault: case 988: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5091 +//line sql.y:5092 { yyLOCAL = yyDollar[2].exprUnion() // TODO: do we really want to ignore unary '+' before any kind of literals? } @@ -15412,7 +15419,7 @@ yydefault: case 989: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5095 +//line sql.y:5096 { yyLOCAL = &UnaryExpr{Operator: UMinusOp, Expr: yyDollar[2].exprUnion()} } @@ -15420,7 +15427,7 @@ yydefault: case 990: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5099 +//line sql.y:5100 { yyLOCAL = &UnaryExpr{Operator: TildaOp, Expr: yyDollar[2].exprUnion()} } @@ -15428,7 +15435,7 @@ yydefault: case 991: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5103 +//line sql.y:5104 { yyLOCAL = &UnaryExpr{Operator: BangOp, Expr: yyDollar[2].exprUnion()} } @@ -15436,7 +15443,7 @@ yydefault: case 992: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5107 +//line sql.y:5108 { yyLOCAL = yyDollar[1].subqueryUnion() } @@ -15444,7 +15451,7 @@ yydefault: case 993: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5111 +//line sql.y:5112 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15452,7 +15459,7 @@ yydefault: case 994: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5115 +//line sql.y:5116 { yyLOCAL = &ExistsExpr{Subquery: yyDollar[2].subqueryUnion()} } @@ -15460,7 +15467,7 @@ yydefault: case 995: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL Expr -//line sql.y:5119 +//line sql.y:5120 { yyLOCAL = &MatchExpr{Columns: yyDollar[3].selectExprsUnion(), Expr: yyDollar[7].exprUnion(), Option: yyDollar[8].matchExprOptionUnion()} } @@ -15468,7 +15475,7 @@ yydefault: case 996: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5123 +//line sql.y:5124 { yyLOCAL = &ConvertExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].convertTypeUnion()} } @@ -15476,7 +15483,7 @@ yydefault: case 997: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5127 +//line sql.y:5128 { yyLOCAL = &ConvertExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].convertTypeUnion()} } @@ -15484,7 +15491,7 @@ yydefault: case 998: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5131 +//line sql.y:5132 { yyLOCAL = &ConvertUsingExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].str} } @@ -15492,7 +15499,7 @@ yydefault: case 999: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5135 +//line sql.y:5136 { // From: https://dev.mysql.com/doc/refman/8.0/en/cast-functions.html#operator_binary // To convert a string expression to a binary string, these constructs are equivalent: @@ -15504,7 +15511,7 @@ yydefault: case 1000: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5143 +//line sql.y:5144 { yyLOCAL = &Default{ColName: yyDollar[2].str} } @@ -15512,7 +15519,7 @@ yydefault: case 1001: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5147 +//line sql.y:5148 { // This rule prevents the usage of INTERVAL // as a function. If support is needed for that, @@ -15524,7 +15531,7 @@ yydefault: case 1002: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5155 +//line sql.y:5156 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].colNameUnion(), Operator: JSONExtractOp, Right: yyDollar[3].exprUnion()} } @@ -15532,7 +15539,7 @@ yydefault: case 1003: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5159 +//line sql.y:5160 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].colNameUnion(), Operator: JSONUnquoteExtractOp, Right: yyDollar[3].exprUnion()} } @@ -15540,7 +15547,7 @@ yydefault: case 1004: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TrimType -//line sql.y:5165 +//line sql.y:5166 { yyLOCAL = BothTrimType } @@ -15548,7 +15555,7 @@ yydefault: case 1005: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TrimType -//line sql.y:5169 +//line sql.y:5170 { yyLOCAL = LeadingTrimType } @@ -15556,27 +15563,27 @@ yydefault: case 1006: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TrimType -//line sql.y:5173 +//line sql.y:5174 { yyLOCAL = TrailingTrimType } yyVAL.union = yyLOCAL case 1007: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5179 +//line sql.y:5180 { yyVAL.str = "" } case 1008: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5183 +//line sql.y:5184 { yyVAL.str = string(yyDollar[2].colIdent.String()) } case 1009: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL BoolVal -//line sql.y:5189 +//line sql.y:5190 { yyLOCAL = BoolVal(true) } @@ -15584,7 +15591,7 @@ yydefault: case 1010: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL BoolVal -//line sql.y:5193 +//line sql.y:5194 { yyLOCAL = BoolVal(false) } @@ -15592,7 +15599,7 @@ yydefault: case 1011: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IsExprOperator -//line sql.y:5200 +//line sql.y:5201 { yyLOCAL = IsTrueOp } @@ -15600,7 +15607,7 @@ yydefault: case 1012: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IsExprOperator -//line sql.y:5204 +//line sql.y:5205 { yyLOCAL = IsNotTrueOp } @@ -15608,7 +15615,7 @@ yydefault: case 1013: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IsExprOperator -//line sql.y:5208 +//line sql.y:5209 { yyLOCAL = IsFalseOp } @@ -15616,7 +15623,7 @@ yydefault: case 1014: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IsExprOperator -//line sql.y:5212 +//line sql.y:5213 { yyLOCAL = IsNotFalseOp } @@ -15624,7 +15631,7 @@ yydefault: case 1015: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5218 +//line sql.y:5219 { yyLOCAL = EqualOp } @@ -15632,7 +15639,7 @@ yydefault: case 1016: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5222 +//line sql.y:5223 { yyLOCAL = LessThanOp } @@ -15640,7 +15647,7 @@ yydefault: case 1017: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5226 +//line sql.y:5227 { yyLOCAL = GreaterThanOp } @@ -15648,7 +15655,7 @@ yydefault: case 1018: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5230 +//line sql.y:5231 { yyLOCAL = LessEqualOp } @@ -15656,7 +15663,7 @@ yydefault: case 1019: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5234 +//line sql.y:5235 { yyLOCAL = GreaterEqualOp } @@ -15664,7 +15671,7 @@ yydefault: case 1020: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5238 +//line sql.y:5239 { yyLOCAL = NotEqualOp } @@ -15672,7 +15679,7 @@ yydefault: case 1021: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5242 +//line sql.y:5243 { yyLOCAL = NullSafeEqualOp } @@ -15680,7 +15687,7 @@ yydefault: case 1022: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColTuple -//line sql.y:5248 +//line sql.y:5249 { yyLOCAL = yyDollar[1].valTupleUnion() } @@ -15688,7 +15695,7 @@ yydefault: case 1023: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColTuple -//line sql.y:5252 +//line sql.y:5253 { yyLOCAL = yyDollar[1].subqueryUnion() } @@ -15696,7 +15703,7 @@ yydefault: case 1024: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColTuple -//line sql.y:5256 +//line sql.y:5257 { yyLOCAL = ListArg(yyDollar[1].str[2:]) bindVariable(yylex, yyDollar[1].str[2:]) @@ -15705,7 +15712,7 @@ yydefault: case 1025: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Subquery -//line sql.y:5263 +//line sql.y:5264 { yyLOCAL = &Subquery{yyDollar[1].selStmtUnion()} } @@ -15713,14 +15720,14 @@ yydefault: case 1026: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Exprs -//line sql.y:5269 +//line sql.y:5270 { yyLOCAL = Exprs{yyDollar[1].exprUnion()} } yyVAL.union = yyLOCAL case 1027: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5273 +//line sql.y:5274 { yySLICE := (*Exprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].exprUnion()) @@ -15728,7 +15735,7 @@ yydefault: case 1028: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5283 +//line sql.y:5284 { yyLOCAL = &FuncExpr{Name: yyDollar[1].colIdent, Exprs: yyDollar[3].selectExprsUnion()} } @@ -15736,7 +15743,7 @@ yydefault: case 1029: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5287 +//line sql.y:5288 { yyLOCAL = &FuncExpr{Name: yyDollar[1].colIdent, Distinct: true, Exprs: yyDollar[4].selectExprsUnion()} } @@ -15744,7 +15751,7 @@ yydefault: case 1030: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5291 +//line sql.y:5292 { yyLOCAL = &FuncExpr{Name: yyDollar[1].colIdent, Distinct: true, Exprs: yyDollar[4].selectExprsUnion()} } @@ -15752,7 +15759,7 @@ yydefault: case 1031: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5295 +//line sql.y:5296 { yyLOCAL = &FuncExpr{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].colIdent, Exprs: yyDollar[5].selectExprsUnion()} } @@ -15760,7 +15767,7 @@ yydefault: case 1032: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5305 +//line sql.y:5306 { yyLOCAL = &FuncExpr{Name: NewColIdent("left"), Exprs: yyDollar[3].selectExprsUnion()} } @@ -15768,7 +15775,7 @@ yydefault: case 1033: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5309 +//line sql.y:5310 { yyLOCAL = &FuncExpr{Name: NewColIdent("right"), Exprs: yyDollar[3].selectExprsUnion()} } @@ -15776,7 +15783,7 @@ yydefault: case 1034: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5313 +//line sql.y:5314 { yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion(), To: yyDollar[7].exprUnion()} } @@ -15784,7 +15791,7 @@ yydefault: case 1035: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5317 +//line sql.y:5318 { yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion()} } @@ -15792,7 +15799,7 @@ yydefault: case 1036: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5321 +//line sql.y:5322 { yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion(), To: yyDollar[7].exprUnion()} } @@ -15800,7 +15807,7 @@ yydefault: case 1037: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5325 +//line sql.y:5326 { yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion()} } @@ -15808,7 +15815,7 @@ yydefault: case 1038: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5329 +//line sql.y:5330 { yyLOCAL = &GroupConcatExpr{Distinct: yyDollar[3].booleanUnion(), Exprs: yyDollar[4].selectExprsUnion(), OrderBy: yyDollar[5].orderByUnion(), Separator: yyDollar[6].str, Limit: yyDollar[7].limitUnion()} } @@ -15816,7 +15823,7 @@ yydefault: case 1039: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5333 +//line sql.y:5334 { yyLOCAL = &CaseExpr{Expr: yyDollar[2].exprUnion(), Whens: yyDollar[3].whensUnion(), Else: yyDollar[4].exprUnion()} } @@ -15824,7 +15831,7 @@ yydefault: case 1040: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5337 +//line sql.y:5338 { yyLOCAL = &ValuesFuncExpr{Name: yyDollar[3].colNameUnion()} } @@ -15832,7 +15839,7 @@ yydefault: case 1041: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5341 +//line sql.y:5342 { yyLOCAL = &FuncExpr{Name: NewColIdent(yyDollar[1].str)} } @@ -15840,7 +15847,7 @@ yydefault: case 1042: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5352 +//line sql.y:5353 { yyLOCAL = &FuncExpr{Name: NewColIdent("utc_date")} } @@ -15848,7 +15855,7 @@ yydefault: case 1043: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5356 +//line sql.y:5357 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15856,7 +15863,7 @@ yydefault: case 1044: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5362 +//line sql.y:5363 { yyLOCAL = &FuncExpr{Name: NewColIdent("current_date")} } @@ -15864,7 +15871,7 @@ yydefault: case 1045: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5366 +//line sql.y:5367 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("utc_time"), Fsp: yyDollar[2].exprUnion()} } @@ -15872,967 +15879,975 @@ yydefault: case 1046: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5371 +//line sql.y:5372 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("current_time"), Fsp: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL case 1047: + yyDollar = yyS[yypt-5 : yypt+1] + var yyLOCAL Expr +//line sql.y:5376 + { + yyLOCAL = &Avg{Arg: yyDollar[4].exprUnion(), Distinct: yyDollar[3].booleanUnion()} + } + yyVAL.union = yyLOCAL + case 1048: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5375 +//line sql.y:5380 { yyLOCAL = &CountStar{Star: yyDollar[3].starExprUnion()} } yyVAL.union = yyLOCAL - case 1048: + case 1049: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5379 +//line sql.y:5384 { yyLOCAL = &Count{Arg: yyDollar[4].exprUnion(), Distinct: yyDollar[3].booleanUnion()} } yyVAL.union = yyLOCAL - case 1049: + case 1050: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5383 +//line sql.y:5388 { yyLOCAL = &TimestampFuncExpr{Name: string("timestampadd"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].exprUnion(), Expr2: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1050: + case 1051: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5387 +//line sql.y:5392 { yyLOCAL = &TimestampFuncExpr{Name: string("timestampdiff"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].exprUnion(), Expr2: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1051: + case 1052: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5391 +//line sql.y:5396 { yyLOCAL = &ExtractFuncExpr{IntervalTypes: yyDollar[3].intervalTypeUnion(), Expr: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1052: + case 1053: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5395 +//line sql.y:5400 { yyLOCAL = &WeightStringFuncExpr{Expr: yyDollar[3].exprUnion(), As: yyDollar[4].convertTypeUnion()} } yyVAL.union = yyLOCAL - case 1053: + case 1054: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5399 +//line sql.y:5404 { yyLOCAL = &JSONPrettyExpr{JSONVal: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1054: + case 1055: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5403 +//line sql.y:5408 { yyLOCAL = &JSONStorageFreeExpr{JSONVal: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1055: + case 1056: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5407 +//line sql.y:5412 { yyLOCAL = &JSONStorageSizeExpr{JSONVal: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1056: + case 1057: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5411 +//line sql.y:5416 { yyLOCAL = &TrimFuncExpr{TrimFuncType: LTrimType, StringArg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1057: + case 1058: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5415 +//line sql.y:5420 { yyLOCAL = &TrimFuncExpr{TrimFuncType: RTrimType, StringArg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1058: + case 1059: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Expr -//line sql.y:5419 +//line sql.y:5424 { yyLOCAL = &TrimFuncExpr{Type: yyDollar[3].trimTypeUnion(), TrimArg: yyDollar[4].exprUnion(), StringArg: yyDollar[6].exprUnion()} } yyVAL.union = yyLOCAL - case 1059: + case 1060: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5423 +//line sql.y:5428 { yyLOCAL = &TrimFuncExpr{StringArg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1060: + case 1061: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5427 +//line sql.y:5432 { yyLOCAL = &TrimFuncExpr{TrimArg: yyDollar[3].exprUnion(), StringArg: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1061: + case 1062: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5431 +//line sql.y:5436 { yyLOCAL = &JSONSchemaValidFuncExpr{Schema: yyDollar[3].exprUnion(), Document: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1062: + case 1063: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5435 +//line sql.y:5440 { yyLOCAL = &JSONSchemaValidationReportFuncExpr{Schema: yyDollar[3].exprUnion(), Document: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1063: + case 1064: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5439 +//line sql.y:5444 { yyLOCAL = &JSONArrayExpr{Params: yyDollar[3].exprsUnion()} } yyVAL.union = yyLOCAL - case 1064: + case 1065: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5443 +//line sql.y:5448 { yyLOCAL = &JSONObjectExpr{Params: yyDollar[3].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1065: + case 1066: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5447 +//line sql.y:5452 { yyLOCAL = &JSONQuoteExpr{StringArg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1066: + case 1067: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Expr -//line sql.y:5451 +//line sql.y:5456 { yyLOCAL = &JSONContainsExpr{Target: yyDollar[3].exprUnion(), Candidate: yyDollar[5].exprUnion(), PathList: yyDollar[6].jsonPathParamsUnion()} } yyVAL.union = yyLOCAL - case 1067: + case 1068: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5455 +//line sql.y:5460 { yyLOCAL = &JSONContainsPathExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), PathList: yyDollar[7].jsonPathParamsUnion()} } yyVAL.union = yyLOCAL - case 1068: + case 1069: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5459 +//line sql.y:5464 { yyLOCAL = &JSONExtractExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[5].jsonPathParamsUnion()} } yyVAL.union = yyLOCAL - case 1069: + case 1070: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5463 +//line sql.y:5468 { yyLOCAL = &JSONKeysExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[4].jsonPathParamsUnion()} } yyVAL.union = yyLOCAL - case 1070: + case 1071: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5467 +//line sql.y:5472 { yyLOCAL = &JSONOverlapsExpr{JSONDoc1: yyDollar[3].exprUnion(), JSONDoc2: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1071: + case 1072: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5471 +//line sql.y:5476 { yyLOCAL = &JSONSearchExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), SearchStr: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1072: + case 1073: yyDollar = yyS[yypt-11 : yypt+1] var yyLOCAL Expr -//line sql.y:5475 +//line sql.y:5480 { yyLOCAL = &JSONSearchExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), SearchStr: yyDollar[7].exprUnion(), EscapeChar: yyDollar[9].exprUnion(), PathList: yyDollar[10].jsonPathParamsUnion()} } yyVAL.union = yyLOCAL - case 1073: + case 1074: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Expr -//line sql.y:5479 +//line sql.y:5484 { yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam, ReturningType: yyDollar[6].convertTypeUnion()} } yyVAL.union = yyLOCAL - case 1074: + case 1075: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5483 +//line sql.y:5488 { yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam, ReturningType: yyDollar[6].convertTypeUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion()} } yyVAL.union = yyLOCAL - case 1075: + case 1076: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5487 +//line sql.y:5492 { yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam, ReturningType: yyDollar[6].convertTypeUnion(), ErrorOnResponse: yyDollar[7].jtOnResponseUnion()} } yyVAL.union = yyLOCAL - case 1076: + case 1077: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL Expr -//line sql.y:5491 +//line sql.y:5496 { yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam, ReturningType: yyDollar[6].convertTypeUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion(), ErrorOnResponse: yyDollar[8].jtOnResponseUnion()} } yyVAL.union = yyLOCAL - case 1077: + case 1078: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5495 +//line sql.y:5500 { yyLOCAL = &JSONAttributesExpr{Type: DepthAttributeType, JSONDoc: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1078: + case 1079: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5499 +//line sql.y:5504 { yyLOCAL = &JSONAttributesExpr{Type: ValidAttributeType, JSONDoc: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1079: + case 1080: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5503 +//line sql.y:5508 { yyLOCAL = &JSONAttributesExpr{Type: TypeAttributeType, JSONDoc: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1080: + case 1081: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5507 +//line sql.y:5512 { yyLOCAL = &JSONAttributesExpr{Type: LengthAttributeType, JSONDoc: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1081: + case 1082: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5511 +//line sql.y:5516 { yyLOCAL = &JSONAttributesExpr{Type: LengthAttributeType, JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam} } yyVAL.union = yyLOCAL - case 1082: + case 1083: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5515 +//line sql.y:5520 { yyLOCAL = &JSONValueModifierExpr{Type: JSONArrayAppendType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1083: + case 1084: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5519 +//line sql.y:5524 { yyLOCAL = &JSONValueModifierExpr{Type: JSONArrayInsertType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1084: + case 1085: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5523 +//line sql.y:5528 { yyLOCAL = &JSONValueModifierExpr{Type: JSONInsertType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1085: + case 1086: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5527 +//line sql.y:5532 { yyLOCAL = &JSONValueModifierExpr{Type: JSONReplaceType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1086: + case 1087: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5531 +//line sql.y:5536 { yyLOCAL = &JSONValueModifierExpr{Type: JSONSetType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1087: + case 1088: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5535 +//line sql.y:5540 { yyLOCAL = &JSONValueMergeExpr{Type: JSONMergeType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()} } yyVAL.union = yyLOCAL - case 1088: + case 1089: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5539 +//line sql.y:5544 { yyLOCAL = &JSONValueMergeExpr{Type: JSONMergePatchType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()} } yyVAL.union = yyLOCAL - case 1089: + case 1090: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5543 +//line sql.y:5548 { yyLOCAL = &JSONValueMergeExpr{Type: JSONMergePreserveType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()} } yyVAL.union = yyLOCAL - case 1090: + case 1091: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5547 +//line sql.y:5552 { yyLOCAL = &JSONRemoveExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[5].exprsUnion()} } yyVAL.union = yyLOCAL - case 1091: + case 1092: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5551 +//line sql.y:5556 { yyLOCAL = &JSONUnquoteExpr{JSONValue: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1092: + case 1093: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5556 +//line sql.y:5561 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1093: + case 1094: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5560 +//line sql.y:5565 { yyLOCAL = yyDollar[2].convertTypeUnion() } yyVAL.union = yyLOCAL - case 1094: + case 1095: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []JSONPathParam -//line sql.y:5565 +//line sql.y:5570 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1095: + case 1096: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []JSONPathParam -//line sql.y:5569 +//line sql.y:5574 { yyLOCAL = yyDollar[2].jsonPathParamsUnion() } yyVAL.union = yyLOCAL - case 1096: + case 1097: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []JSONPathParam -//line sql.y:5575 +//line sql.y:5580 { yyLOCAL = []JSONPathParam{yyDollar[1].jsonPathParam} } yyVAL.union = yyLOCAL - case 1097: + case 1098: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5579 +//line sql.y:5584 { yySLICE := (*[]JSONPathParam)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].jsonPathParam) } - case 1098: + case 1099: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5585 +//line sql.y:5590 { yyVAL.jsonPathParam = JSONPathParam(yyDollar[1].exprUnion()) } - case 1099: + case 1100: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5589 +//line sql.y:5594 { yyVAL.jsonPathParam = JSONPathParam(yyDollar[1].colNameUnion()) } - case 1100: + case 1101: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5595 +//line sql.y:5600 { } - case 1101: + case 1102: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5597 +//line sql.y:5602 { yyLOCAL = IntervalDayHour } yyVAL.union = yyLOCAL - case 1102: + case 1103: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5601 +//line sql.y:5606 { yyLOCAL = IntervalDayMicrosecond } yyVAL.union = yyLOCAL - case 1103: + case 1104: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5605 +//line sql.y:5610 { yyLOCAL = IntervalDayMinute } yyVAL.union = yyLOCAL - case 1104: + case 1105: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5609 +//line sql.y:5614 { yyLOCAL = IntervalDaySecond } yyVAL.union = yyLOCAL - case 1105: + case 1106: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5613 +//line sql.y:5618 { yyLOCAL = IntervalHourMicrosecond } yyVAL.union = yyLOCAL - case 1106: + case 1107: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5617 +//line sql.y:5622 { yyLOCAL = IntervalHourMinute } yyVAL.union = yyLOCAL - case 1107: + case 1108: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5621 +//line sql.y:5626 { yyLOCAL = IntervalHourSecond } yyVAL.union = yyLOCAL - case 1108: + case 1109: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5625 +//line sql.y:5630 { yyLOCAL = IntervalMinuteMicrosecond } yyVAL.union = yyLOCAL - case 1109: + case 1110: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5629 +//line sql.y:5634 { yyLOCAL = IntervalMinuteSecond } yyVAL.union = yyLOCAL - case 1110: + case 1111: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5633 +//line sql.y:5638 { yyLOCAL = IntervalSecondMicrosecond } yyVAL.union = yyLOCAL - case 1111: + case 1112: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5637 +//line sql.y:5642 { yyLOCAL = IntervalYearMonth } yyVAL.union = yyLOCAL - case 1112: + case 1113: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5643 +//line sql.y:5648 { yyLOCAL = IntervalDay } yyVAL.union = yyLOCAL - case 1113: + case 1114: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5647 +//line sql.y:5652 { yyLOCAL = IntervalWeek } yyVAL.union = yyLOCAL - case 1114: + case 1115: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5651 +//line sql.y:5656 { yyLOCAL = IntervalHour } yyVAL.union = yyLOCAL - case 1115: + case 1116: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5655 +//line sql.y:5660 { yyLOCAL = IntervalMinute } yyVAL.union = yyLOCAL - case 1116: + case 1117: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5659 +//line sql.y:5664 { yyLOCAL = IntervalMonth } yyVAL.union = yyLOCAL - case 1117: + case 1118: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5663 +//line sql.y:5668 { yyLOCAL = IntervalQuarter } yyVAL.union = yyLOCAL - case 1118: + case 1119: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5667 +//line sql.y:5672 { yyLOCAL = IntervalSecond } yyVAL.union = yyLOCAL - case 1119: + case 1120: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5671 +//line sql.y:5676 { yyLOCAL = IntervalMicrosecond } yyVAL.union = yyLOCAL - case 1120: + case 1121: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5675 +//line sql.y:5680 { yyLOCAL = IntervalYear } yyVAL.union = yyLOCAL - case 1123: + case 1124: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:5685 +//line sql.y:5690 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1124: + case 1125: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5689 +//line sql.y:5694 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1125: + case 1126: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5693 +//line sql.y:5698 { yyLOCAL = NewIntLiteral(yyDollar[2].str) } yyVAL.union = yyLOCAL - case 1126: + case 1127: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5697 +//line sql.y:5702 { yyLOCAL = NewArgument(yyDollar[2].str[1:]) bindVariable(yylex, yyDollar[2].str[1:]) } yyVAL.union = yyLOCAL - case 1127: + case 1128: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5708 +//line sql.y:5713 { yyLOCAL = &FuncExpr{Name: NewColIdent("if"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1128: + case 1129: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5712 +//line sql.y:5717 { yyLOCAL = &FuncExpr{Name: NewColIdent("database"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1129: + case 1130: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5716 +//line sql.y:5721 { yyLOCAL = &FuncExpr{Name: NewColIdent("schema"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1130: + case 1131: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5720 +//line sql.y:5725 { yyLOCAL = &FuncExpr{Name: NewColIdent("mod"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1131: + case 1132: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5724 +//line sql.y:5729 { yyLOCAL = &FuncExpr{Name: NewColIdent("replace"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1132: + case 1133: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:5730 +//line sql.y:5735 { yyLOCAL = NoOption } yyVAL.union = yyLOCAL - case 1133: + case 1134: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:5734 +//line sql.y:5739 { yyLOCAL = BooleanModeOpt } yyVAL.union = yyLOCAL - case 1134: + case 1135: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:5738 +//line sql.y:5743 { yyLOCAL = NaturalLanguageModeOpt } yyVAL.union = yyLOCAL - case 1135: + case 1136: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:5742 +//line sql.y:5747 { yyLOCAL = NaturalLanguageModeWithQueryExpansionOpt } yyVAL.union = yyLOCAL - case 1136: + case 1137: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:5746 +//line sql.y:5751 { yyLOCAL = QueryExpansionOpt } yyVAL.union = yyLOCAL - case 1137: + case 1138: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5752 +//line sql.y:5757 { yyVAL.str = string(yyDollar[1].colIdent.String()) } - case 1138: + case 1139: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5756 +//line sql.y:5761 { yyVAL.str = string(yyDollar[1].str) } - case 1139: + case 1140: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5760 +//line sql.y:5765 { yyVAL.str = string(yyDollar[1].str) } - case 1140: + case 1141: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5766 +//line sql.y:5771 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1141: + case 1142: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5770 +//line sql.y:5775 { yyLOCAL = &ConvertType{Type: string(yyDollar[2].str), Length: NewIntLiteral(yyDollar[4].str)} } yyVAL.union = yyLOCAL - case 1142: + case 1143: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5774 +//line sql.y:5779 { yyLOCAL = &ConvertType{Type: string(yyDollar[2].str), Length: NewIntLiteral(yyDollar[4].str)} } yyVAL.union = yyLOCAL - case 1143: + case 1144: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5780 +//line sql.y:5785 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } yyVAL.union = yyLOCAL - case 1144: + case 1145: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5784 +//line sql.y:5789 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion(), Charset: yyDollar[3].columnCharset} } yyVAL.union = yyLOCAL - case 1145: + case 1146: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5788 +//line sql.y:5793 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1146: + case 1147: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5792 +//line sql.y:5797 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } yyVAL.union = yyLOCAL - case 1147: + case 1148: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5796 +//line sql.y:5801 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} yyLOCAL.Length = yyDollar[2].LengthScaleOption.Length yyLOCAL.Scale = yyDollar[2].LengthScaleOption.Scale } yyVAL.union = yyLOCAL - case 1148: + case 1149: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5802 +//line sql.y:5807 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1149: + case 1150: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5806 +//line sql.y:5811 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } yyVAL.union = yyLOCAL - case 1150: + case 1151: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5810 +//line sql.y:5815 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1151: + case 1152: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5814 +//line sql.y:5819 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1152: + case 1153: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5818 +//line sql.y:5823 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } yyVAL.union = yyLOCAL - case 1153: + case 1154: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5822 +//line sql.y:5827 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1154: + case 1155: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5826 +//line sql.y:5831 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1155: + case 1156: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5830 +//line sql.y:5835 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } yyVAL.union = yyLOCAL - case 1156: + case 1157: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5834 +//line sql.y:5839 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1157: + case 1158: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5838 +//line sql.y:5843 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1158: + case 1159: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:5844 +//line sql.y:5849 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1159: + case 1160: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5848 +//line sql.y:5853 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 1160: + case 1161: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5853 +//line sql.y:5858 { yyVAL.str = string("") } - case 1161: + case 1162: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5857 +//line sql.y:5862 { yyVAL.str = " separator " + encodeSQLString(yyDollar[2].str) } - case 1162: + case 1163: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*When -//line sql.y:5863 +//line sql.y:5868 { yyLOCAL = []*When{yyDollar[1].whenUnion()} } yyVAL.union = yyLOCAL - case 1163: + case 1164: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5867 +//line sql.y:5872 { yySLICE := (*[]*When)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].whenUnion()) } - case 1164: + case 1165: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *When -//line sql.y:5873 +//line sql.y:5878 { yyLOCAL = &When{Cond: yyDollar[2].exprUnion(), Val: yyDollar[4].exprUnion()} } yyVAL.union = yyLOCAL - case 1165: + case 1166: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:5878 +//line sql.y:5883 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1166: + case 1167: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5882 +//line sql.y:5887 { yyLOCAL = yyDollar[2].exprUnion() } yyVAL.union = yyLOCAL - case 1167: + case 1168: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ColName -//line sql.y:5888 +//line sql.y:5893 { yyLOCAL = &ColName{Name: yyDollar[1].colIdent} } yyVAL.union = yyLOCAL - case 1168: + case 1169: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColName -//line sql.y:5892 +//line sql.y:5897 { yyLOCAL = &ColName{Qualifier: TableName{Name: yyDollar[1].tableIdent}, Name: yyDollar[3].colIdent} } yyVAL.union = yyLOCAL - case 1169: + case 1170: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ColName -//line sql.y:5896 +//line sql.y:5901 { yyLOCAL = &ColName{Qualifier: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}, Name: yyDollar[5].colIdent} } yyVAL.union = yyLOCAL - case 1170: + case 1171: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5902 +//line sql.y:5907 { // TODO(sougou): Deprecate this construct. if yyDollar[1].colIdent.Lowered() != "value" { @@ -16842,388 +16857,388 @@ yydefault: yyLOCAL = NewIntLiteral("1") } yyVAL.union = yyLOCAL - case 1171: + case 1172: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5911 +//line sql.y:5916 { yyLOCAL = NewIntLiteral(yyDollar[1].str) } yyVAL.union = yyLOCAL - case 1172: + case 1173: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5915 +//line sql.y:5920 { yyLOCAL = NewArgument(yyDollar[1].str[1:]) bindVariable(yylex, yyDollar[1].str[1:]) } yyVAL.union = yyLOCAL - case 1173: + case 1174: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Exprs -//line sql.y:5921 +//line sql.y:5926 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1174: + case 1175: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Exprs -//line sql.y:5925 +//line sql.y:5930 { yyLOCAL = yyDollar[3].exprsUnion() } yyVAL.union = yyLOCAL - case 1175: + case 1176: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:5930 +//line sql.y:5935 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1176: + case 1177: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5934 +//line sql.y:5939 { yyLOCAL = yyDollar[2].exprUnion() } yyVAL.union = yyLOCAL - case 1177: + case 1178: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL OrderBy -//line sql.y:5939 +//line sql.y:5944 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1178: + case 1179: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL OrderBy -//line sql.y:5943 +//line sql.y:5948 { yyLOCAL = yyDollar[1].orderByUnion() } yyVAL.union = yyLOCAL - case 1179: + case 1180: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL OrderBy -//line sql.y:5949 +//line sql.y:5954 { yyLOCAL = yyDollar[3].orderByUnion() } yyVAL.union = yyLOCAL - case 1180: + case 1181: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL OrderBy -//line sql.y:5955 +//line sql.y:5960 { yyLOCAL = OrderBy{yyDollar[1].orderUnion()} } yyVAL.union = yyLOCAL - case 1181: + case 1182: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5959 +//line sql.y:5964 { yySLICE := (*OrderBy)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].orderUnion()) } - case 1182: + case 1183: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Order -//line sql.y:5965 +//line sql.y:5970 { yyLOCAL = &Order{Expr: yyDollar[1].exprUnion(), Direction: yyDollar[2].orderDirectionUnion()} } yyVAL.union = yyLOCAL - case 1183: + case 1184: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL OrderDirection -//line sql.y:5970 +//line sql.y:5975 { yyLOCAL = AscOrder } yyVAL.union = yyLOCAL - case 1184: + case 1185: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL OrderDirection -//line sql.y:5974 +//line sql.y:5979 { yyLOCAL = AscOrder } yyVAL.union = yyLOCAL - case 1185: + case 1186: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL OrderDirection -//line sql.y:5978 +//line sql.y:5983 { yyLOCAL = DescOrder } yyVAL.union = yyLOCAL - case 1186: + case 1187: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *Limit -//line sql.y:5983 +//line sql.y:5988 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1187: + case 1188: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Limit -//line sql.y:5987 +//line sql.y:5992 { yyLOCAL = yyDollar[1].limitUnion() } yyVAL.union = yyLOCAL - case 1188: + case 1189: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Limit -//line sql.y:5993 +//line sql.y:5998 { yyLOCAL = &Limit{Rowcount: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 1189: + case 1190: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Limit -//line sql.y:5997 +//line sql.y:6002 { yyLOCAL = &Limit{Offset: yyDollar[2].exprUnion(), Rowcount: yyDollar[4].exprUnion()} } yyVAL.union = yyLOCAL - case 1190: + case 1191: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Limit -//line sql.y:6001 +//line sql.y:6006 { yyLOCAL = &Limit{Offset: yyDollar[4].exprUnion(), Rowcount: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 1191: + case 1192: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:6006 +//line sql.y:6011 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1192: + case 1193: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:6010 +//line sql.y:6015 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion(), yyDollar[2].alterOptionUnion()} } yyVAL.union = yyLOCAL - case 1193: + case 1194: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:6014 +//line sql.y:6019 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion(), yyDollar[2].alterOptionUnion()} } yyVAL.union = yyLOCAL - case 1194: + case 1195: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:6018 +//line sql.y:6023 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} } yyVAL.union = yyLOCAL - case 1195: + case 1196: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:6022 +//line sql.y:6027 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} } yyVAL.union = yyLOCAL - case 1196: + case 1197: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6029 +//line sql.y:6034 { yyLOCAL = &LockOption{Type: DefaultType} } yyVAL.union = yyLOCAL - case 1197: + case 1198: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6033 +//line sql.y:6038 { yyLOCAL = &LockOption{Type: NoneType} } yyVAL.union = yyLOCAL - case 1198: + case 1199: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6037 +//line sql.y:6042 { yyLOCAL = &LockOption{Type: SharedType} } yyVAL.union = yyLOCAL - case 1199: + case 1200: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6041 +//line sql.y:6046 { yyLOCAL = &LockOption{Type: ExclusiveType} } yyVAL.union = yyLOCAL - case 1200: + case 1201: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6047 +//line sql.y:6052 { yyLOCAL = AlgorithmValue(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1201: + case 1202: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6051 +//line sql.y:6056 { yyLOCAL = AlgorithmValue(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1202: + case 1203: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6055 +//line sql.y:6060 { yyLOCAL = AlgorithmValue(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1203: + case 1204: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6059 +//line sql.y:6064 { yyLOCAL = AlgorithmValue(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1204: + case 1205: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6064 +//line sql.y:6069 { yyVAL.str = "" } - case 1205: + case 1206: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6068 +//line sql.y:6073 { yyVAL.str = string(yyDollar[3].str) } - case 1206: + case 1207: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6072 +//line sql.y:6077 { yyVAL.str = string(yyDollar[3].str) } - case 1207: + case 1208: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6076 +//line sql.y:6081 { yyVAL.str = string(yyDollar[3].str) } - case 1208: + case 1209: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6081 +//line sql.y:6086 { yyVAL.str = "" } - case 1209: + case 1210: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6085 +//line sql.y:6090 { yyVAL.str = yyDollar[3].str } - case 1210: + case 1211: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6091 +//line sql.y:6096 { yyVAL.str = string(yyDollar[1].str) } - case 1211: + case 1212: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6095 +//line sql.y:6100 { yyVAL.str = string(yyDollar[1].str) } - case 1212: + case 1213: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6100 +//line sql.y:6105 { yyVAL.str = "" } - case 1213: + case 1214: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:6104 +//line sql.y:6109 { yyVAL.str = yyDollar[2].str } - case 1214: + case 1215: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6109 +//line sql.y:6114 { yyVAL.str = "cascaded" } - case 1215: + case 1216: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6113 +//line sql.y:6118 { yyVAL.str = string(yyDollar[1].str) } - case 1216: + case 1217: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6117 +//line sql.y:6122 { yyVAL.str = string(yyDollar[1].str) } - case 1217: + case 1218: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *Definer -//line sql.y:6122 +//line sql.y:6127 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1218: + case 1219: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *Definer -//line sql.y:6126 +//line sql.y:6131 { yyLOCAL = yyDollar[3].definerUnion() } yyVAL.union = yyLOCAL - case 1219: + case 1220: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Definer -//line sql.y:6132 +//line sql.y:6137 { yyLOCAL = &Definer{ Name: string(yyDollar[1].str), } } yyVAL.union = yyLOCAL - case 1220: + case 1221: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *Definer -//line sql.y:6138 +//line sql.y:6143 { yyLOCAL = &Definer{ Name: string(yyDollar[1].str), } } yyVAL.union = yyLOCAL - case 1221: + case 1222: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Definer -//line sql.y:6144 +//line sql.y:6149 { yyLOCAL = &Definer{ Name: yyDollar[1].str, @@ -17231,361 +17246,361 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1222: + case 1223: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6153 +//line sql.y:6158 { yyVAL.str = encodeSQLString(yyDollar[1].str) } - case 1223: + case 1224: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6157 +//line sql.y:6162 { yyVAL.str = formatIdentifier(yyDollar[1].str) } - case 1224: + case 1225: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6162 +//line sql.y:6167 { yyVAL.str = "" } - case 1225: + case 1226: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6166 +//line sql.y:6171 { yyVAL.str = formatAddress(yyDollar[1].str) } - case 1226: + case 1227: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Lock -//line sql.y:6172 +//line sql.y:6177 { yyLOCAL = ForUpdateLock } yyVAL.union = yyLOCAL - case 1227: + case 1228: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Lock -//line sql.y:6176 +//line sql.y:6181 { yyLOCAL = ShareModeLock } yyVAL.union = yyLOCAL - case 1228: + case 1229: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL *SelectInto -//line sql.y:6182 +//line sql.y:6187 { yyLOCAL = &SelectInto{Type: IntoOutfileS3, FileName: encodeSQLString(yyDollar[4].str), Charset: yyDollar[5].columnCharset, FormatOption: yyDollar[6].str, ExportOption: yyDollar[7].str, Manifest: yyDollar[8].str, Overwrite: yyDollar[9].str} } yyVAL.union = yyLOCAL - case 1229: + case 1230: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SelectInto -//line sql.y:6186 +//line sql.y:6191 { yyLOCAL = &SelectInto{Type: IntoDumpfile, FileName: encodeSQLString(yyDollar[3].str), Charset: ColumnCharset{}, FormatOption: "", ExportOption: "", Manifest: "", Overwrite: ""} } yyVAL.union = yyLOCAL - case 1230: + case 1231: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *SelectInto -//line sql.y:6190 +//line sql.y:6195 { yyLOCAL = &SelectInto{Type: IntoOutfile, FileName: encodeSQLString(yyDollar[3].str), Charset: yyDollar[4].columnCharset, FormatOption: "", ExportOption: yyDollar[5].str, Manifest: "", Overwrite: ""} } yyVAL.union = yyLOCAL - case 1231: + case 1232: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6195 +//line sql.y:6200 { yyVAL.str = "" } - case 1232: + case 1233: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6199 +//line sql.y:6204 { yyVAL.str = " format csv" + yyDollar[3].str } - case 1233: + case 1234: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6203 +//line sql.y:6208 { yyVAL.str = " format text" + yyDollar[3].str } - case 1234: + case 1235: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6208 +//line sql.y:6213 { yyVAL.str = "" } - case 1235: + case 1236: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6212 +//line sql.y:6217 { yyVAL.str = " header" } - case 1236: + case 1237: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6217 +//line sql.y:6222 { yyVAL.str = "" } - case 1237: + case 1238: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6221 +//line sql.y:6226 { yyVAL.str = " manifest on" } - case 1238: + case 1239: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6225 +//line sql.y:6230 { yyVAL.str = " manifest off" } - case 1239: + case 1240: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6230 +//line sql.y:6235 { yyVAL.str = "" } - case 1240: + case 1241: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6234 +//line sql.y:6239 { yyVAL.str = " overwrite on" } - case 1241: + case 1242: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6238 +//line sql.y:6243 { yyVAL.str = " overwrite off" } - case 1242: + case 1243: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6244 +//line sql.y:6249 { yyVAL.str = yyDollar[1].str + yyDollar[2].str } - case 1243: + case 1244: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6249 +//line sql.y:6254 { yyVAL.str = "" } - case 1244: + case 1245: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6253 +//line sql.y:6258 { yyVAL.str = " lines" + yyDollar[2].str } - case 1245: + case 1246: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6259 +//line sql.y:6264 { yyVAL.str = yyDollar[1].str } - case 1246: + case 1247: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6263 +//line sql.y:6268 { yyVAL.str = yyDollar[1].str + yyDollar[2].str } - case 1247: + case 1248: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6269 +//line sql.y:6274 { yyVAL.str = " starting by " + encodeSQLString(yyDollar[3].str) } - case 1248: + case 1249: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6273 +//line sql.y:6278 { yyVAL.str = " terminated by " + encodeSQLString(yyDollar[3].str) } - case 1249: + case 1250: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6278 +//line sql.y:6283 { yyVAL.str = "" } - case 1250: + case 1251: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6282 +//line sql.y:6287 { yyVAL.str = " " + yyDollar[1].str + yyDollar[2].str } - case 1251: + case 1252: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6288 +//line sql.y:6293 { yyVAL.str = yyDollar[1].str } - case 1252: + case 1253: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6292 +//line sql.y:6297 { yyVAL.str = yyDollar[1].str + yyDollar[2].str } - case 1253: + case 1254: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6298 +//line sql.y:6303 { yyVAL.str = " terminated by " + encodeSQLString(yyDollar[3].str) } - case 1254: + case 1255: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:6302 +//line sql.y:6307 { yyVAL.str = yyDollar[1].str + " enclosed by " + encodeSQLString(yyDollar[4].str) } - case 1255: + case 1256: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6306 +//line sql.y:6311 { yyVAL.str = " escaped by " + encodeSQLString(yyDollar[3].str) } - case 1256: + case 1257: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6311 +//line sql.y:6316 { yyVAL.str = "" } - case 1257: + case 1258: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6315 +//line sql.y:6320 { yyVAL.str = " optionally" } - case 1258: + case 1259: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Insert -//line sql.y:6328 +//line sql.y:6333 { yyLOCAL = &Insert{Rows: yyDollar[2].valuesUnion()} } yyVAL.union = yyLOCAL - case 1259: + case 1260: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Insert -//line sql.y:6332 +//line sql.y:6337 { yyLOCAL = &Insert{Rows: yyDollar[1].selStmtUnion()} } yyVAL.union = yyLOCAL - case 1260: + case 1261: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *Insert -//line sql.y:6336 +//line sql.y:6341 { yyLOCAL = &Insert{Columns: yyDollar[2].columnsUnion(), Rows: yyDollar[5].valuesUnion()} } yyVAL.union = yyLOCAL - case 1261: + case 1262: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Insert -//line sql.y:6340 +//line sql.y:6345 { yyLOCAL = &Insert{Rows: yyDollar[4].valuesUnion()} } yyVAL.union = yyLOCAL - case 1262: + case 1263: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Insert -//line sql.y:6344 +//line sql.y:6349 { yyLOCAL = &Insert{Columns: yyDollar[2].columnsUnion(), Rows: yyDollar[4].selStmtUnion()} } yyVAL.union = yyLOCAL - case 1263: + case 1264: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:6350 +//line sql.y:6355 { yyLOCAL = Columns{yyDollar[1].colIdent} } yyVAL.union = yyLOCAL - case 1264: + case 1265: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Columns -//line sql.y:6354 +//line sql.y:6359 { yyLOCAL = Columns{yyDollar[3].colIdent} } yyVAL.union = yyLOCAL - case 1265: + case 1266: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6358 +//line sql.y:6363 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].colIdent) } - case 1266: + case 1267: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:6362 +//line sql.y:6367 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[5].colIdent) } - case 1267: + case 1268: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL UpdateExprs -//line sql.y:6367 +//line sql.y:6372 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1268: + case 1269: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL UpdateExprs -//line sql.y:6371 +//line sql.y:6376 { yyLOCAL = yyDollar[5].updateExprsUnion() } yyVAL.union = yyLOCAL - case 1269: + case 1270: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Values -//line sql.y:6377 +//line sql.y:6382 { yyLOCAL = Values{yyDollar[1].valTupleUnion()} } yyVAL.union = yyLOCAL - case 1270: + case 1271: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6381 +//line sql.y:6386 { yySLICE := (*Values)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].valTupleUnion()) } - case 1271: + case 1272: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ValTuple -//line sql.y:6387 +//line sql.y:6392 { yyLOCAL = yyDollar[1].valTupleUnion() } yyVAL.union = yyLOCAL - case 1272: + case 1273: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ValTuple -//line sql.y:6391 +//line sql.y:6396 { yyLOCAL = ValTuple{} } yyVAL.union = yyLOCAL - case 1273: + case 1274: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ValTuple -//line sql.y:6397 +//line sql.y:6402 { yyLOCAL = ValTuple(yyDollar[2].exprsUnion()) } yyVAL.union = yyLOCAL - case 1274: + case 1275: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:6402 +//line sql.y:6407 { if len(yyDollar[1].valTupleUnion()) == 1 { yyLOCAL = yyDollar[1].valTupleUnion()[0] @@ -17594,329 +17609,329 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1275: + case 1276: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL UpdateExprs -//line sql.y:6412 +//line sql.y:6417 { yyLOCAL = UpdateExprs{yyDollar[1].updateExprUnion()} } yyVAL.union = yyLOCAL - case 1276: + case 1277: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6416 +//line sql.y:6421 { yySLICE := (*UpdateExprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].updateExprUnion()) } - case 1277: + case 1278: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *UpdateExpr -//line sql.y:6422 +//line sql.y:6427 { yyLOCAL = &UpdateExpr{Name: yyDollar[1].colNameUnion(), Expr: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1278: + case 1279: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SetExprs -//line sql.y:6428 +//line sql.y:6433 { yyLOCAL = SetExprs{yyDollar[1].setExprUnion()} } yyVAL.union = yyLOCAL - case 1279: + case 1280: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6432 +//line sql.y:6437 { yySLICE := (*SetExprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].setExprUnion()) } - case 1280: + case 1281: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:6438 +//line sql.y:6443 { yyLOCAL = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: NewStrLiteral("on")} } yyVAL.union = yyLOCAL - case 1281: + case 1282: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:6442 +//line sql.y:6447 { yyLOCAL = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: NewStrLiteral("off")} } yyVAL.union = yyLOCAL - case 1282: + case 1283: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:6446 +//line sql.y:6451 { yyLOCAL = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1283: + case 1284: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:6450 +//line sql.y:6455 { yyLOCAL = &SetExpr{Name: NewColIdent(string(yyDollar[1].str)), Scope: ImplicitScope, Expr: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 1284: + case 1285: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:6454 +//line sql.y:6459 { yyDollar[2].setExprUnion().Scope = yyDollar[1].scopeUnion() yyLOCAL = yyDollar[2].setExprUnion() } yyVAL.union = yyLOCAL - case 1286: + case 1287: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6462 +//line sql.y:6467 { yyVAL.str = "charset" } - case 1289: + case 1290: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:6472 +//line sql.y:6477 { yyLOCAL = NewStrLiteral(yyDollar[1].colIdent.String()) } yyVAL.union = yyLOCAL - case 1290: + case 1291: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:6476 +//line sql.y:6481 { yyLOCAL = NewStrLiteral(yyDollar[1].str) } yyVAL.union = yyLOCAL - case 1291: + case 1292: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:6480 +//line sql.y:6485 { yyLOCAL = &Default{} } yyVAL.union = yyLOCAL - case 1294: + case 1295: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:6489 +//line sql.y:6494 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1295: + case 1296: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:6491 +//line sql.y:6496 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1296: + case 1297: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:6494 +//line sql.y:6499 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1297: + case 1298: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:6496 +//line sql.y:6501 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1298: + case 1299: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:6499 +//line sql.y:6504 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1299: + case 1300: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL bool -//line sql.y:6501 +//line sql.y:6506 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1300: + case 1301: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Ignore -//line sql.y:6504 +//line sql.y:6509 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1301: + case 1302: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Ignore -//line sql.y:6506 +//line sql.y:6511 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1302: + case 1303: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6509 +//line sql.y:6514 { yyVAL.empty = struct{}{} } - case 1303: + case 1304: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6511 +//line sql.y:6516 { yyVAL.empty = struct{}{} } - case 1304: + case 1305: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6513 +//line sql.y:6518 { yyVAL.empty = struct{}{} } - case 1305: + case 1306: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:6517 +//line sql.y:6522 { yyLOCAL = &CallProc{Name: yyDollar[2].tableName, Params: yyDollar[4].exprsUnion()} } yyVAL.union = yyLOCAL - case 1306: + case 1307: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Exprs -//line sql.y:6522 +//line sql.y:6527 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1307: + case 1308: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Exprs -//line sql.y:6526 +//line sql.y:6531 { yyLOCAL = yyDollar[1].exprsUnion() } yyVAL.union = yyLOCAL - case 1308: + case 1309: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:6531 +//line sql.y:6536 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1309: + case 1310: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:6533 +//line sql.y:6538 { yyLOCAL = []*IndexOption{yyDollar[1].indexOptionUnion()} } yyVAL.union = yyLOCAL - case 1310: + case 1311: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:6537 +//line sql.y:6542 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), String: string(yyDollar[2].colIdent.String())} } yyVAL.union = yyLOCAL - case 1311: + case 1312: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6543 +//line sql.y:6548 { yyVAL.colIdent = yyDollar[1].colIdent } - case 1312: + case 1313: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6547 +//line sql.y:6552 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].str)) } - case 1314: + case 1315: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6554 +//line sql.y:6559 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].str)) } - case 1315: + case 1316: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6560 +//line sql.y:6565 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].colIdent.String())) } - case 1316: + case 1317: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6564 +//line sql.y:6569 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].str)) } - case 1317: + case 1318: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6570 +//line sql.y:6575 { yyVAL.tableIdent = NewTableIdent("") } - case 1318: + case 1319: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6574 +//line sql.y:6579 { yyVAL.tableIdent = yyDollar[1].tableIdent } - case 1320: + case 1321: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6581 +//line sql.y:6586 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].str)) } - case 1821: + case 1823: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7106 +//line sql.y:7112 { if incNesting(yylex) { yylex.Error("max nesting level reached") return 1 } } - case 1822: + case 1824: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7115 +//line sql.y:7121 { decNesting(yylex) } - case 1823: + case 1825: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7120 +//line sql.y:7126 { skipToEnd(yylex) } - case 1824: + case 1826: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7125 +//line sql.y:7131 { skipToEnd(yylex) } - case 1825: + case 1827: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7129 +//line sql.y:7135 { skipToEnd(yylex) } - case 1826: + case 1828: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7133 +//line sql.y:7139 { skipToEnd(yylex) } diff --git a/go/vt/sqlparser/sql.y b/go/vt/sqlparser/sql.y index c4af6760e2d..15ec400a817 100644 --- a/go/vt/sqlparser/sql.y +++ b/go/vt/sqlparser/sql.y @@ -324,6 +324,7 @@ func bindVariable(yylex yyLexer, bvar string) { %token JSON_DEPTH JSON_TYPE JSON_LENGTH JSON_VALID %token JSON_ARRAY_APPEND JSON_ARRAY_INSERT JSON_INSERT JSON_MERGE JSON_MERGE_PATCH JSON_MERGE_PRESERVE JSON_REMOVE JSON_REPLACE JSON_SET JSON_UNQUOTE %token COUNT // aggregate function +%token AVG // aggregate function // Match %token MATCH AGAINST BOOLEAN LANGUAGE WITH QUERY EXPANSION WITHOUT VALIDATION @@ -5371,6 +5372,10 @@ UTC_DATE func_paren_opt { $$ = &CurTimeFuncExpr{Name:NewColIdent("current_time"), Fsp: $2} } +| AVG openb distinct_opt expression closeb + { + $$ = &Avg{Arg:$4, Distinct:$3} + } | COUNT openb star_count closeb { $$ = &CountStar{Star:$3} @@ -6757,6 +6762,7 @@ non_reserved_keyword: | ASCII | AUTO_INCREMENT | AUTOEXTEND_SIZE +| AVG | AVG_ROW_LENGTH | BEGIN | BIGINT From f79aa19e6c607ee6a85fe8a13852a92215dc0d2a Mon Sep 17 00:00:00 2001 From: Rameez Sajwani Date: Thu, 19 May 2022 17:11:32 -0700 Subject: [PATCH 04/22] SQLParser:Refactoring Add max struct Signed-off-by: Rameez Sajwani --- go/vt/sqlparser/ast.go | 5 + go/vt/sqlparser/ast_clone.go | 16 + go/vt/sqlparser/ast_equals.go | 29 + go/vt/sqlparser/ast_format.go | 4 + go/vt/sqlparser/ast_format_fast.go | 6 + go/vt/sqlparser/ast_rewrite.go | 33 + go/vt/sqlparser/ast_visit.go | 18 + go/vt/sqlparser/cached_size.go | 14 + go/vt/sqlparser/keywords.go | 1 + go/vt/sqlparser/parse_test.go | 1 + go/vt/sqlparser/sql.go | 13664 ++++++++++++++------------- go/vt/sqlparser/sql.y | 6 + 12 files changed, 7018 insertions(+), 6779 deletions(-) diff --git a/go/vt/sqlparser/ast.go b/go/vt/sqlparser/ast.go index 0d6b648780e..e3b45e0609f 100644 --- a/go/vt/sqlparser/ast.go +++ b/go/vt/sqlparser/ast.go @@ -2570,9 +2570,14 @@ type ( Arg Expr Distinct bool } + + Max struct { + Arg Expr + } ) // iExpr ensures that only expressions nodes can be assigned to a Expr +func (*Max) iExpr() {} func (*Avg) iExpr() {} func (*CountStar) iExpr() {} func (*Count) iExpr() {} diff --git a/go/vt/sqlparser/ast_clone.go b/go/vt/sqlparser/ast_clone.go index b2890c49a89..0a9447f2600 100644 --- a/go/vt/sqlparser/ast_clone.go +++ b/go/vt/sqlparser/ast_clone.go @@ -251,6 +251,8 @@ func CloneSQLNode(in SQLNode) SQLNode { return in case *MatchExpr: return CloneRefOfMatchExpr(in) + case *Max: + return CloneRefOfMax(in) case *MemberOfExpr: return CloneRefOfMemberOfExpr(in) case *ModifyColumn: @@ -1597,6 +1599,16 @@ func CloneRefOfMatchExpr(n *MatchExpr) *MatchExpr { return &out } +// CloneRefOfMax creates a deep clone of the input. +func CloneRefOfMax(n *Max) *Max { + if n == nil { + return nil + } + out := *n + out.Arg = CloneExpr(n.Arg) + return &out +} + // CloneRefOfMemberOfExpr creates a deep clone of the input. func CloneRefOfMemberOfExpr(n *MemberOfExpr) *MemberOfExpr { if n == nil { @@ -2851,6 +2863,8 @@ func CloneExpr(in Expr) Expr { return CloneRefOfLiteral(in) case *MatchExpr: return CloneRefOfMatchExpr(in) + case *Max: + return CloneRefOfMax(in) case *MemberOfExpr: return CloneRefOfMemberOfExpr(in) case *NotExpr: @@ -3003,6 +3017,8 @@ func CloneJSONPathParam(in JSONPathParam) JSONPathParam { return CloneRefOfLiteral(in) case *MatchExpr: return CloneRefOfMatchExpr(in) + case *Max: + return CloneRefOfMax(in) case *MemberOfExpr: return CloneRefOfMemberOfExpr(in) case *NotExpr: diff --git a/go/vt/sqlparser/ast_equals.go b/go/vt/sqlparser/ast_equals.go index dec115f2a16..c5a5e29c3ea 100644 --- a/go/vt/sqlparser/ast_equals.go +++ b/go/vt/sqlparser/ast_equals.go @@ -710,6 +710,12 @@ func EqualsSQLNode(inA, inB SQLNode) bool { return false } return EqualsRefOfMatchExpr(a, b) + case *Max: + b, ok := inB.(*Max) + if !ok { + return false + } + return EqualsRefOfMax(a, b) case *MemberOfExpr: b, ok := inB.(*MemberOfExpr) if !ok { @@ -2602,6 +2608,17 @@ func EqualsRefOfMatchExpr(a, b *MatchExpr) bool { a.Option == b.Option } +// EqualsRefOfMax does deep equals between the two objects. +func EqualsRefOfMax(a, b *Max) bool { + if a == b { + return true + } + if a == nil || b == nil { + return false + } + return EqualsExpr(a.Arg, b.Arg) +} + // EqualsRefOfMemberOfExpr does deep equals between the two objects. func EqualsRefOfMemberOfExpr(a, b *MemberOfExpr) bool { if a == b { @@ -4507,6 +4524,12 @@ func EqualsExpr(inA, inB Expr) bool { return false } return EqualsRefOfMatchExpr(a, b) + case *Max: + b, ok := inB.(*Max) + if !ok { + return false + } + return EqualsRefOfMax(a, b) case *MemberOfExpr: b, ok := inB.(*MemberOfExpr) if !ok { @@ -4921,6 +4944,12 @@ func EqualsJSONPathParam(inA, inB JSONPathParam) bool { return false } return EqualsRefOfMatchExpr(a, b) + case *Max: + b, ok := inB.(*Max) + if !ok { + return false + } + return EqualsRefOfMax(a, b) case *MemberOfExpr: b, ok := inB.(*MemberOfExpr) if !ok { diff --git a/go/vt/sqlparser/ast_format.go b/go/vt/sqlparser/ast_format.go index 49d56fc58b0..9a93be7c96e 100644 --- a/go/vt/sqlparser/ast_format.go +++ b/go/vt/sqlparser/ast_format.go @@ -2364,3 +2364,7 @@ func (node *Avg) Format(buf *TrackedBuffer) { } buf.astPrintf(node, "%v)", node.Arg) } + +func (node *Max) Format(buf *TrackedBuffer) { + buf.astPrintf(node, "max(%v)", node.Arg) +} diff --git a/go/vt/sqlparser/ast_format_fast.go b/go/vt/sqlparser/ast_format_fast.go index 37b5bc8a911..849638c13ed 100644 --- a/go/vt/sqlparser/ast_format_fast.go +++ b/go/vt/sqlparser/ast_format_fast.go @@ -3080,3 +3080,9 @@ func (node *Avg) formatFast(buf *TrackedBuffer) { buf.printExpr(node, node.Arg, true) buf.WriteByte(')') } + +func (node *Max) formatFast(buf *TrackedBuffer) { + buf.WriteString("max(") + buf.printExpr(node, node.Arg, true) + buf.WriteByte(')') +} diff --git a/go/vt/sqlparser/ast_rewrite.go b/go/vt/sqlparser/ast_rewrite.go index cf6fa0b66d8..a607681e6e0 100644 --- a/go/vt/sqlparser/ast_rewrite.go +++ b/go/vt/sqlparser/ast_rewrite.go @@ -250,6 +250,8 @@ func (a *application) rewriteSQLNode(parent SQLNode, node SQLNode, replacer repl return a.rewriteMatchAction(parent, node, replacer) case *MatchExpr: return a.rewriteRefOfMatchExpr(parent, node, replacer) + case *Max: + return a.rewriteRefOfMax(parent, node, replacer) case *MemberOfExpr: return a.rewriteRefOfMemberOfExpr(parent, node, replacer) case *ModifyColumn: @@ -3880,6 +3882,33 @@ func (a *application) rewriteRefOfMatchExpr(parent SQLNode, node *MatchExpr, rep } return true } +func (a *application) rewriteRefOfMax(parent SQLNode, node *Max, replacer replacerFunc) bool { + if node == nil { + return true + } + if a.pre != nil { + a.cur.replacer = replacer + a.cur.parent = parent + a.cur.node = node + if !a.pre(&a.cur) { + return true + } + } + if !a.rewriteExpr(node, node.Arg, func(newNode, parent SQLNode) { + parent.(*Max).Arg = newNode.(Expr) + }) { + return false + } + if a.post != nil { + a.cur.replacer = replacer + a.cur.parent = parent + a.cur.node = node + if !a.post(&a.cur) { + return false + } + } + return true +} func (a *application) rewriteRefOfMemberOfExpr(parent SQLNode, node *MemberOfExpr, replacer replacerFunc) bool { if node == nil { return true @@ -6940,6 +6969,8 @@ func (a *application) rewriteExpr(parent SQLNode, node Expr, replacer replacerFu return a.rewriteRefOfLiteral(parent, node, replacer) case *MatchExpr: return a.rewriteRefOfMatchExpr(parent, node, replacer) + case *Max: + return a.rewriteRefOfMax(parent, node, replacer) case *MemberOfExpr: return a.rewriteRefOfMemberOfExpr(parent, node, replacer) case *NotExpr: @@ -7088,6 +7119,8 @@ func (a *application) rewriteJSONPathParam(parent SQLNode, node JSONPathParam, r return a.rewriteRefOfLiteral(parent, node, replacer) case *MatchExpr: return a.rewriteRefOfMatchExpr(parent, node, replacer) + case *Max: + return a.rewriteRefOfMax(parent, node, replacer) case *MemberOfExpr: return a.rewriteRefOfMemberOfExpr(parent, node, replacer) case *NotExpr: diff --git a/go/vt/sqlparser/ast_visit.go b/go/vt/sqlparser/ast_visit.go index 101b53b5f8e..66f9f407e44 100644 --- a/go/vt/sqlparser/ast_visit.go +++ b/go/vt/sqlparser/ast_visit.go @@ -250,6 +250,8 @@ func VisitSQLNode(in SQLNode, f Visit) error { return VisitMatchAction(in, f) case *MatchExpr: return VisitRefOfMatchExpr(in, f) + case *Max: + return VisitRefOfMax(in, f) case *MemberOfExpr: return VisitRefOfMemberOfExpr(in, f) case *ModifyColumn: @@ -2009,6 +2011,18 @@ func VisitRefOfMatchExpr(in *MatchExpr, f Visit) error { } return nil } +func VisitRefOfMax(in *Max, f Visit) error { + if in == nil { + return nil + } + if cont, err := f(in); err != nil || !cont { + return err + } + if err := VisitExpr(in.Arg, f); err != nil { + return err + } + return nil +} func VisitRefOfMemberOfExpr(in *MemberOfExpr, f Visit) error { if in == nil { return nil @@ -3544,6 +3558,8 @@ func VisitExpr(in Expr, f Visit) error { return VisitRefOfLiteral(in, f) case *MatchExpr: return VisitRefOfMatchExpr(in, f) + case *Max: + return VisitRefOfMax(in, f) case *MemberOfExpr: return VisitRefOfMemberOfExpr(in, f) case *NotExpr: @@ -3692,6 +3708,8 @@ func VisitJSONPathParam(in JSONPathParam, f Visit) error { return VisitRefOfLiteral(in, f) case *MatchExpr: return VisitRefOfMatchExpr(in, f) + case *Max: + return VisitRefOfMax(in, f) case *MemberOfExpr: return VisitRefOfMemberOfExpr(in, f) case *NotExpr: diff --git a/go/vt/sqlparser/cached_size.go b/go/vt/sqlparser/cached_size.go index 7c845cd9e20..5f460feeae5 100644 --- a/go/vt/sqlparser/cached_size.go +++ b/go/vt/sqlparser/cached_size.go @@ -2084,6 +2084,20 @@ func (cached *MatchExpr) CachedSize(alloc bool) int64 { } return size } +func (cached *Max) CachedSize(alloc bool) int64 { + if cached == nil { + return int64(0) + } + size := int64(0) + if alloc { + size += int64(16) + } + // field Arg vitess.io/vitess/go/vt/sqlparser.Expr + if cc, ok := cached.Arg.(cachedObject); ok { + size += cc.CachedSize(true) + } + return size +} func (cached *MemberOfExpr) CachedSize(alloc bool) int64 { if cached == nil { return int64(0) diff --git a/go/vt/sqlparser/keywords.go b/go/vt/sqlparser/keywords.go index f52167f9fb4..9349cff2c99 100644 --- a/go/vt/sqlparser/keywords.go +++ b/go/vt/sqlparser/keywords.go @@ -396,6 +396,7 @@ var keywords = []keyword{ {"manifest", MANIFEST}, {"master_bind", UNUSED}, {"match", MATCH}, + {"max", MAX}, {"max_rows", MAX_ROWS}, {"maxvalue", MAXVALUE}, {"mediumblob", MEDIUMBLOB}, diff --git a/go/vt/sqlparser/parse_test.go b/go/vt/sqlparser/parse_test.go index e7e5576bb3b..d82813080ab 100644 --- a/go/vt/sqlparser/parse_test.go +++ b/go/vt/sqlparser/parse_test.go @@ -49,6 +49,7 @@ var ( {input: "select avg(distinct(a)) from products"}, {input: "select avg(a) 'Avg Price' from products"}, {input: "select format(avg(distinct a), 2) from products"}, + {input: "select max(a) from products"}, } validSQL = []struct { input string diff --git a/go/vt/sqlparser/sql.go b/go/vt/sqlparser/sql.go index 1bcee2bf293..785113b0d6e 100644 --- a/go/vt/sqlparser/sql.go +++ b/go/vt/sqlparser/sql.go @@ -492,151 +492,152 @@ const JSON_SET = 57789 const JSON_UNQUOTE = 57790 const COUNT = 57791 const AVG = 57792 -const MATCH = 57793 -const AGAINST = 57794 -const BOOLEAN = 57795 -const LANGUAGE = 57796 -const WITH = 57797 -const QUERY = 57798 -const EXPANSION = 57799 -const WITHOUT = 57800 -const VALIDATION = 57801 -const UNUSED = 57802 -const ARRAY = 57803 -const BYTE = 57804 -const CUME_DIST = 57805 -const DESCRIPTION = 57806 -const DENSE_RANK = 57807 -const EMPTY = 57808 -const EXCEPT = 57809 -const FIRST_VALUE = 57810 -const GROUPING = 57811 -const GROUPS = 57812 -const JSON_TABLE = 57813 -const LAG = 57814 -const LAST_VALUE = 57815 -const LATERAL = 57816 -const LEAD = 57817 -const NTH_VALUE = 57818 -const NTILE = 57819 -const OF = 57820 -const OVER = 57821 -const PERCENT_RANK = 57822 -const RANK = 57823 -const RECURSIVE = 57824 -const ROW_NUMBER = 57825 -const SYSTEM = 57826 -const WINDOW = 57827 -const ACTIVE = 57828 -const ADMIN = 57829 -const AUTOEXTEND_SIZE = 57830 -const BUCKETS = 57831 -const CLONE = 57832 -const COLUMN_FORMAT = 57833 -const COMPONENT = 57834 -const DEFINITION = 57835 -const ENFORCED = 57836 -const ENGINE_ATTRIBUTE = 57837 -const EXCLUDE = 57838 -const FOLLOWING = 57839 -const GEOMCOLLECTION = 57840 -const GET_MASTER_PUBLIC_KEY = 57841 -const HISTOGRAM = 57842 -const HISTORY = 57843 -const INACTIVE = 57844 -const INVISIBLE = 57845 -const LOCKED = 57846 -const MASTER_COMPRESSION_ALGORITHMS = 57847 -const MASTER_PUBLIC_KEY_PATH = 57848 -const MASTER_TLS_CIPHERSUITES = 57849 -const MASTER_ZSTD_COMPRESSION_LEVEL = 57850 -const NESTED = 57851 -const NETWORK_NAMESPACE = 57852 -const NOWAIT = 57853 -const NULLS = 57854 -const OJ = 57855 -const OLD = 57856 -const OPTIONAL = 57857 -const ORDINALITY = 57858 -const ORGANIZATION = 57859 -const OTHERS = 57860 -const PARTIAL = 57861 -const PATH = 57862 -const PERSIST = 57863 -const PERSIST_ONLY = 57864 -const PRECEDING = 57865 -const PRIVILEGE_CHECKS_USER = 57866 -const PROCESS = 57867 -const RANDOM = 57868 -const REFERENCE = 57869 -const REQUIRE_ROW_FORMAT = 57870 -const RESOURCE = 57871 -const RESPECT = 57872 -const RESTART = 57873 -const RETAIN = 57874 -const REUSE = 57875 -const ROLE = 57876 -const SECONDARY = 57877 -const SECONDARY_ENGINE = 57878 -const SECONDARY_ENGINE_ATTRIBUTE = 57879 -const SECONDARY_LOAD = 57880 -const SECONDARY_UNLOAD = 57881 -const SIMPLE = 57882 -const SKIP = 57883 -const SRID = 57884 -const THREAD_PRIORITY = 57885 -const TIES = 57886 -const UNBOUNDED = 57887 -const VCPU = 57888 -const VISIBLE = 57889 -const RETURNING = 57890 -const FORMAT = 57891 -const TREE = 57892 -const VITESS = 57893 -const TRADITIONAL = 57894 -const LOCAL = 57895 -const LOW_PRIORITY = 57896 -const NO_WRITE_TO_BINLOG = 57897 -const LOGS = 57898 -const ERROR = 57899 -const GENERAL = 57900 -const HOSTS = 57901 -const OPTIMIZER_COSTS = 57902 -const USER_RESOURCES = 57903 -const SLOW = 57904 -const CHANNEL = 57905 -const RELAY = 57906 -const EXPORT = 57907 -const AVG_ROW_LENGTH = 57908 -const CONNECTION = 57909 -const CHECKSUM = 57910 -const DELAY_KEY_WRITE = 57911 -const ENCRYPTION = 57912 -const ENGINE = 57913 -const INSERT_METHOD = 57914 -const MAX_ROWS = 57915 -const MIN_ROWS = 57916 -const PACK_KEYS = 57917 -const PASSWORD = 57918 -const FIXED = 57919 -const DYNAMIC = 57920 -const COMPRESSED = 57921 -const REDUNDANT = 57922 -const COMPACT = 57923 -const ROW_FORMAT = 57924 -const STATS_AUTO_RECALC = 57925 -const STATS_PERSISTENT = 57926 -const STATS_SAMPLE_PAGES = 57927 -const STORAGE = 57928 -const MEMORY = 57929 -const DISK = 57930 -const PARTITIONS = 57931 -const LINEAR = 57932 -const RANGE = 57933 -const LIST = 57934 -const SUBPARTITION = 57935 -const SUBPARTITIONS = 57936 -const HASH = 57937 +const MAX = 57793 +const MATCH = 57794 +const AGAINST = 57795 +const BOOLEAN = 57796 +const LANGUAGE = 57797 +const WITH = 57798 +const QUERY = 57799 +const EXPANSION = 57800 +const WITHOUT = 57801 +const VALIDATION = 57802 +const UNUSED = 57803 +const ARRAY = 57804 +const BYTE = 57805 +const CUME_DIST = 57806 +const DESCRIPTION = 57807 +const DENSE_RANK = 57808 +const EMPTY = 57809 +const EXCEPT = 57810 +const FIRST_VALUE = 57811 +const GROUPING = 57812 +const GROUPS = 57813 +const JSON_TABLE = 57814 +const LAG = 57815 +const LAST_VALUE = 57816 +const LATERAL = 57817 +const LEAD = 57818 +const NTH_VALUE = 57819 +const NTILE = 57820 +const OF = 57821 +const OVER = 57822 +const PERCENT_RANK = 57823 +const RANK = 57824 +const RECURSIVE = 57825 +const ROW_NUMBER = 57826 +const SYSTEM = 57827 +const WINDOW = 57828 +const ACTIVE = 57829 +const ADMIN = 57830 +const AUTOEXTEND_SIZE = 57831 +const BUCKETS = 57832 +const CLONE = 57833 +const COLUMN_FORMAT = 57834 +const COMPONENT = 57835 +const DEFINITION = 57836 +const ENFORCED = 57837 +const ENGINE_ATTRIBUTE = 57838 +const EXCLUDE = 57839 +const FOLLOWING = 57840 +const GEOMCOLLECTION = 57841 +const GET_MASTER_PUBLIC_KEY = 57842 +const HISTOGRAM = 57843 +const HISTORY = 57844 +const INACTIVE = 57845 +const INVISIBLE = 57846 +const LOCKED = 57847 +const MASTER_COMPRESSION_ALGORITHMS = 57848 +const MASTER_PUBLIC_KEY_PATH = 57849 +const MASTER_TLS_CIPHERSUITES = 57850 +const MASTER_ZSTD_COMPRESSION_LEVEL = 57851 +const NESTED = 57852 +const NETWORK_NAMESPACE = 57853 +const NOWAIT = 57854 +const NULLS = 57855 +const OJ = 57856 +const OLD = 57857 +const OPTIONAL = 57858 +const ORDINALITY = 57859 +const ORGANIZATION = 57860 +const OTHERS = 57861 +const PARTIAL = 57862 +const PATH = 57863 +const PERSIST = 57864 +const PERSIST_ONLY = 57865 +const PRECEDING = 57866 +const PRIVILEGE_CHECKS_USER = 57867 +const PROCESS = 57868 +const RANDOM = 57869 +const REFERENCE = 57870 +const REQUIRE_ROW_FORMAT = 57871 +const RESOURCE = 57872 +const RESPECT = 57873 +const RESTART = 57874 +const RETAIN = 57875 +const REUSE = 57876 +const ROLE = 57877 +const SECONDARY = 57878 +const SECONDARY_ENGINE = 57879 +const SECONDARY_ENGINE_ATTRIBUTE = 57880 +const SECONDARY_LOAD = 57881 +const SECONDARY_UNLOAD = 57882 +const SIMPLE = 57883 +const SKIP = 57884 +const SRID = 57885 +const THREAD_PRIORITY = 57886 +const TIES = 57887 +const UNBOUNDED = 57888 +const VCPU = 57889 +const VISIBLE = 57890 +const RETURNING = 57891 +const FORMAT = 57892 +const TREE = 57893 +const VITESS = 57894 +const TRADITIONAL = 57895 +const LOCAL = 57896 +const LOW_PRIORITY = 57897 +const NO_WRITE_TO_BINLOG = 57898 +const LOGS = 57899 +const ERROR = 57900 +const GENERAL = 57901 +const HOSTS = 57902 +const OPTIMIZER_COSTS = 57903 +const USER_RESOURCES = 57904 +const SLOW = 57905 +const CHANNEL = 57906 +const RELAY = 57907 +const EXPORT = 57908 +const AVG_ROW_LENGTH = 57909 +const CONNECTION = 57910 +const CHECKSUM = 57911 +const DELAY_KEY_WRITE = 57912 +const ENCRYPTION = 57913 +const ENGINE = 57914 +const INSERT_METHOD = 57915 +const MAX_ROWS = 57916 +const MIN_ROWS = 57917 +const PACK_KEYS = 57918 +const PASSWORD = 57919 +const FIXED = 57920 +const DYNAMIC = 57921 +const COMPRESSED = 57922 +const REDUNDANT = 57923 +const COMPACT = 57924 +const ROW_FORMAT = 57925 +const STATS_AUTO_RECALC = 57926 +const STATS_PERSISTENT = 57927 +const STATS_SAMPLE_PAGES = 57928 +const STORAGE = 57929 +const MEMORY = 57930 +const DISK = 57931 +const PARTITIONS = 57932 +const LINEAR = 57933 +const RANGE = 57934 +const LIST = 57935 +const SUBPARTITION = 57936 +const SUBPARTITIONS = 57937 +const HASH = 57938 var yyToknames = [...]string{ "$end", @@ -1106,6 +1107,7 @@ var yyToknames = [...]string{ "JSON_UNQUOTE", "COUNT", "AVG", + "MAX", "MATCH", "AGAINST", "BOOLEAN", @@ -1271,7 +1273,7 @@ var yyExca = [...]int{ -2, 0, -1, 47, 1, 145, - 613, 145, + 614, 145, -2, 153, -1, 48, 132, 153, @@ -1289,11 +1291,11 @@ var yyExca = [...]int{ 235, 766, -2, 764, -1, 114, - 232, 1295, + 232, 1296, -2, 119, -1, 116, 1, 146, - 613, 146, + 614, 146, -2, 153, -1, 127, 133, 384, @@ -1304,2234 +1306,3716 @@ var yyExca = [...]int{ 172, 153, 333, 153, -2, 507, - -1, 699, - 217, 1316, - -2, 1312, - -1, 700, + -1, 701, 217, 1317, -2, 1313, - -1, 775, + -1, 702, + 217, 1318, + -2, 1314, + -1, 777, 59, 834, -2, 849, - -1, 812, - 148, 1726, + -1, 814, + 148, 1728, -2, 112, - -1, 813, - 148, 1567, + -1, 815, + 148, 1568, -2, 113, - -1, 819, - 148, 1651, - -2, 1289, - -1, 967, - 148, 1494, - -2, 1286, - -1, 1008, + -1, 821, + 148, 1653, + -2, 1290, + -1, 969, + 148, 1495, + -2, 1287, + -1, 1010, 243, 41, 248, 41, -2, 395, - -1, 1092, + -1, 1094, 1, 554, - 613, 554, + 614, 554, -2, 153, - -1, 1331, + -1, 1334, 59, 835, -2, 854, - -1, 1332, + -1, 1335, 59, 836, -2, 855, - -1, 1385, + -1, 1388, 132, 153, 172, 153, 333, 153, -2, 434, - -1, 1464, + -1, 1467, 133, 384, 238, 384, -2, 487, - -1, 1473, + -1, 1476, 243, 42, 248, 42, -2, 396, - -1, 1786, - 217, 1321, - -2, 1315, - -1, 1870, + -1, 1790, + 217, 1322, + -2, 1316, + -1, 1874, 132, 153, 172, 153, 333, 153, -2, 435, - -1, 1877, + -1, 1881, 25, 174, -2, 176, - -1, 2129, + -1, 2134, 87, 39, -2, 892, - -1, 2186, + -1, 2191, 77, 94, 87, 94, -2, 912, - -1, 2254, - 588, 666, + -1, 2259, + 589, 666, -2, 640, - -1, 2395, - 49, 1257, - -2, 1251, - -1, 2617, + -1, 2400, + 49, 1258, + -2, 1252, + -1, 2622, 87, 39, -2, 893, - -1, 2655, + -1, 2660, 7, 53, 18, 53, 20, 53, 88, 53, -2, 884, - -1, 2937, - 588, 666, + -1, 2943, + 589, 666, -2, 654, - -1, 2995, - 22, 1653, - 32, 1653, - 173, 1653, - 255, 1653, - 313, 1653, - 314, 1653, - 315, 1653, - 316, 1653, - 317, 1653, - 318, 1653, - 319, 1653, - 321, 1653, - 322, 1653, - 323, 1653, - 324, 1653, - 325, 1653, - 326, 1653, - 327, 1653, - 328, 1653, - 329, 1653, - 330, 1653, - 331, 1653, - 332, 1653, - 334, 1653, - 336, 1653, - 337, 1653, - 338, 1653, - 339, 1653, - 340, 1653, - 341, 1653, - 342, 1653, - 343, 1653, - 344, 1653, - 347, 1653, - 348, 1653, - 349, 1653, - 350, 1653, - 351, 1653, - 352, 1653, - 353, 1653, - 354, 1653, - 355, 1653, - 470, 1653, + -1, 3001, + 22, 1655, + 32, 1655, + 173, 1655, + 255, 1655, + 313, 1655, + 314, 1655, + 315, 1655, + 316, 1655, + 317, 1655, + 318, 1655, + 319, 1655, + 321, 1655, + 322, 1655, + 323, 1655, + 324, 1655, + 325, 1655, + 326, 1655, + 327, 1655, + 328, 1655, + 329, 1655, + 330, 1655, + 331, 1655, + 332, 1655, + 334, 1655, + 336, 1655, + 337, 1655, + 338, 1655, + 339, 1655, + 340, 1655, + 341, 1655, + 342, 1655, + 343, 1655, + 344, 1655, + 347, 1655, + 348, 1655, + 349, 1655, + 350, 1655, + 351, 1655, + 352, 1655, + 353, 1655, + 354, 1655, + 355, 1655, + 471, 1655, -2, 598, } const yyPrivate = 57344 -const yyLast = 43746 +const yyLast = 44684 var yyAct = [...]int{ - 699, 2758, 2759, 708, 2757, 3049, 3057, 2918, 3025, 1867, - 701, 3026, 2993, 2732, 1820, 1388, 2544, 2977, 1800, 2450, - 2457, 2507, 2083, 2354, 2871, 3, 692, 37, 1155, 2512, - 2498, 2408, 2772, 2509, 2508, 2506, 2511, 2510, 2719, 96, - 2411, 2894, 768, 1802, 2117, 2465, 1937, 2527, 2526, 2409, - 1346, 186, 2412, 615, 186, 2352, 580, 186, 790, 1824, - 2626, 690, 595, 619, 186, 2157, 2777, 2353, 693, 2620, - 691, 612, 186, 1310, 702, 641, 2529, 2646, 1840, 2406, - 2396, 2180, 2314, 2144, 2612, 2297, 1104, 186, 1900, 613, - 2219, 2549, 1925, 2251, 1905, 970, 2221, 2220, 155, 817, - 791, 1442, 1968, 611, 772, 38, 776, 1856, 2169, 595, - 1845, 36, 595, 186, 595, 1844, 770, 2150, 2136, 1333, - 2119, 1756, 1315, 1692, 793, 1489, 1780, 141, 2289, 1924, - 1946, 1040, 1682, 1640, 1832, 1907, 2213, 814, 95, 1984, - 1003, 607, 998, 1377, 2188, 1847, 1755, 1355, 624, 91, - 1471, 1313, 1240, 1704, 1659, 1589, 1176, 1585, 1478, 977, - 1922, 1569, 1009, 978, 1004, 974, 1005, 1376, 1153, 1700, - 1360, 1374, 782, 1752, 1147, 1896, 548, 1437, 1463, 1594, - 124, 125, 804, 1088, 780, 778, 598, 98, 76, 1006, - 1016, 777, 97, 1793, 763, 602, 1247, 2927, 2244, 1133, - 119, 1243, 89, 159, 3050, 1939, 1940, 1941, 117, 118, - 2720, 2495, 1939, 2273, 2272, 1982, 2242, 85, 2712, 8, - 1554, 779, 77, 1825, 7, 6, 798, 126, 803, 2675, - 90, 2305, 584, 2306, 2951, 976, 2950, 188, 189, 190, - 784, 1797, 1798, 1647, 1646, 1045, 2762, 1177, 1783, 1645, - 1644, 120, 971, 1643, 1642, 1625, 605, 1634, 606, 3014, - 2115, 603, 2392, 2600, 3029, 2762, 771, 3066, 982, 769, - 2264, 2517, 996, 987, 2146, 1042, 2453, 3024, 3040, 551, - 811, 2267, 1652, 1970, 2867, 785, 1972, 2866, 1058, 1059, - 1060, 1044, 1063, 1064, 1065, 1066, 1043, 78, 1069, 1070, - 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, - 1081, 1082, 1083, 1084, 1085, 792, 102, 994, 1019, 1020, - 120, 2454, 1340, 1177, 3065, 993, 992, 2951, 2517, 2515, - 1971, 2761, 818, 2725, 2987, 584, 2726, 1046, 1049, 1050, - 2026, 2514, 3053, 78, 995, 1055, 2790, 2456, 2946, 78, - 2761, 2521, 3038, 1187, 2733, 2978, 1965, 104, 105, 1916, - 108, 2451, 2986, 114, 2313, 2998, 183, 2945, 2582, 546, - 87, 1452, 2116, 2160, 2197, 87, 1828, 2196, 2467, 2468, - 2198, 1091, 2446, 1061, 1910, 2452, 2515, 2304, 120, 764, - 765, 766, 767, 2447, 2448, 775, 1862, 1863, 2161, 1378, - 2023, 1379, 188, 189, 190, 2024, 1861, 78, 2521, 1738, - 80, 2281, 1150, 1799, 1123, 2280, 3003, 2458, 762, 761, - 2919, 87, 2209, 806, 807, 1128, 1129, 87, 3030, 1187, - 3001, 1124, 1111, 585, 2245, 584, 1140, 1112, 1142, 3007, - 3008, 1209, 1117, 1880, 1879, 584, 2342, 2467, 2468, 3031, - 2546, 2623, 1183, 2573, 3002, 1175, 584, 1087, 986, 2571, - 2518, 988, 2876, 1210, 1211, 1212, 1213, 1214, 1215, 1216, - 1218, 1217, 1219, 1220, 1111, 1062, 1139, 1141, 593, 1112, - 1635, 1636, 1637, 2466, 1633, 87, 581, 1110, 597, 1109, - 591, 991, 2550, 1097, 1098, 2469, 2290, 1730, 1719, 1720, - 1721, 1722, 1732, 1723, 1724, 1725, 1737, 1733, 1726, 1727, - 1734, 1735, 1736, 1728, 1729, 1731, 1125, 2518, 1149, 1317, - 1130, 2153, 2154, 1544, 1909, 1100, 2252, 1118, 1183, 1947, - 1131, 991, 1086, 567, 2276, 2547, 585, 1996, 1993, 1995, - 1994, 1997, 1998, 1985, 1570, 565, 186, 3015, 186, 989, - 3052, 186, 2466, 2539, 584, 1990, 991, 1144, 983, 1826, - 1827, 2540, 1126, 1127, 2469, 985, 984, 1545, 1093, 1546, - 1132, 2714, 2002, 1137, 2003, 2292, 2004, 1138, 2713, 1989, - 2548, 595, 1157, 595, 595, 562, 2005, 1143, 1068, 87, - 1987, 1067, 2851, 999, 576, 1828, 1090, 1000, 595, 595, - 1029, 1027, 1950, 2343, 2455, 2710, 1841, 1000, 1038, 572, - 1991, 1136, 1037, 1036, 989, 2469, 1456, 1035, 1034, 1033, - 1032, 1988, 1031, 1026, 1320, 1169, 37, 1039, 975, 3067, - 3036, 1221, 1221, 1012, 1018, 975, 585, 1477, 805, 1107, - 1011, 1113, 1114, 1115, 1116, 1575, 585, 1182, 1179, 1180, - 1181, 1186, 1188, 1185, 1969, 1184, 975, 585, 1586, 1121, - 973, 1923, 1178, 2293, 1151, 1152, 1976, 990, 1095, 1582, - 1101, 1057, 1163, 1103, 1051, 2926, 2243, 2488, 552, 2275, - 554, 568, 2211, 587, 2024, 586, 558, 997, 556, 560, - 569, 561, 1089, 555, 1450, 566, 3061, 2296, 557, 570, - 571, 574, 577, 578, 579, 575, 573, 990, 564, 588, - 1224, 1225, 1226, 1227, 2246, 2309, 2038, 2709, 1449, 1448, - 1232, 1158, 1235, 1182, 1179, 1180, 1181, 1186, 1188, 1185, - 1018, 1184, 990, 1017, 2262, 2278, 2624, 1308, 1178, 1011, - 1014, 1015, 1476, 975, 1030, 1028, 1018, 1008, 1012, 2315, - 1048, 1159, 1160, 2459, 1913, 585, 1011, 2463, 1583, 2266, - 1047, 86, 186, 1446, 2944, 2462, 595, 595, 1007, 550, - 2932, 1145, 1303, 545, 2915, 1228, 2877, 2662, 1826, 1827, - 1018, 2642, 186, 1556, 1555, 1557, 1558, 1559, 2288, 2760, - 2025, 2287, 2673, 2674, 1914, 1967, 1323, 2120, 2122, 2464, - 1327, 595, 1912, 2265, 2460, 186, 772, 86, 2760, 2461, - 595, 770, 1326, 86, 1324, 1096, 595, 2519, 2520, 1172, - 1099, 77, 1309, 1574, 1170, 1171, 1018, 1321, 1108, 1017, - 2523, 2317, 1222, 1223, 3006, 81, 1915, 1018, 814, 2193, - 2156, 1249, 1245, 2299, 1246, 1017, 1911, 2107, 2298, 1576, - 1021, 1011, 1792, 1577, 1578, 1023, 2299, 1120, 1364, 1024, - 1022, 2298, 1289, 2151, 1102, 116, 1868, 1221, 1122, 1220, - 2445, 86, 787, 1325, 2519, 2520, 1701, 95, 3005, 1017, - 1025, 1056, 1106, 589, 1134, 1309, 1595, 2523, 111, 1148, - 1702, 1295, 1296, 1297, 1298, 1299, 2940, 2327, 2326, 2325, - 2319, 582, 2323, 1664, 2318, 1041, 2316, 1314, 2705, 2333, - 3059, 2321, 2636, 3060, 1986, 3058, 583, 1665, 1666, 1663, - 2320, 1579, 1380, 1173, 1705, 1017, 98, 1369, 1705, 2235, - 2052, 1011, 1014, 1015, 1192, 975, 1017, 2322, 2324, 1008, - 1012, 1021, 1011, 1191, 1192, 2786, 1023, 2680, 2679, 1954, - 1024, 1022, 1486, 1485, 1193, 1475, 1311, 1964, 112, 2121, - 3032, 1962, 1193, 1029, 769, 1027, 1345, 1571, 771, 1572, - 186, 1342, 1573, 1209, 1438, 2663, 1205, 2956, 1206, 2908, - 1365, 1959, 1959, 2064, 1447, 1966, 1193, 1322, 1564, 1370, - 1371, 1375, 1207, 1208, 1204, 1210, 1211, 1212, 1213, 1214, - 1215, 1216, 1218, 1217, 1219, 1220, 3063, 595, 3068, 1473, - 1215, 1216, 1218, 1217, 1219, 1220, 1714, 1482, 1963, 1961, - 2957, 1484, 2909, 1105, 1487, 1488, 595, 595, 1135, 595, - 1596, 595, 595, 818, 595, 595, 595, 595, 595, 595, - 1213, 1214, 1215, 1216, 1218, 1217, 1219, 1220, 1519, 1520, - 1092, 595, 1563, 1193, 87, 186, 1525, 1210, 1211, 1212, - 1213, 1214, 1215, 1216, 1218, 1217, 1219, 1220, 1662, 2887, - 1340, 2859, 186, 1211, 1212, 1213, 1214, 1215, 1216, 1218, - 1217, 1219, 1220, 1483, 2858, 595, 1190, 186, 1191, 1192, - 2849, 1328, 1387, 3069, 1190, 2335, 1191, 1192, 1584, 2750, - 809, 595, 1469, 186, 2739, 1193, 2740, 1654, 1656, 1657, - 1518, 2749, 2687, 1521, 1562, 1539, 2686, 1193, 1190, 186, - 1191, 1192, 2676, 2579, 2496, 2484, 186, 1453, 1454, 1455, - 1462, 1655, 2217, 2216, 1193, 186, 186, 186, 186, 186, - 186, 186, 186, 186, 595, 1919, 1522, 2030, 2031, 2032, - 1565, 1549, 1491, 1548, 1492, 1551, 1494, 1496, 595, 595, - 1500, 1502, 1504, 1506, 1508, 1445, 1547, 1481, 1340, 713, - 714, 715, 1537, 1193, 1480, 1709, 186, 1524, 1561, 1710, - 1459, 1531, 1460, 1458, 1528, 1190, 1472, 1191, 1192, 1340, - 1193, 1527, 1526, 1529, 1530, 1498, 1833, 1834, 3033, 1535, - 1536, 3034, 1591, 2935, 1599, 1479, 1479, 2934, 1349, 1568, - 2912, 1603, 2911, 1605, 1606, 1607, 1608, 2577, 1340, 1550, - 1612, 2910, 595, 2543, 2854, 2839, 1689, 1689, 2838, 2785, - 2783, 1193, 1624, 1687, 1687, 1695, 595, 1190, 2746, 1191, - 1192, 1600, 2684, 2669, 2551, 1193, 1686, 1690, 1604, 1190, - 2487, 1191, 1192, 595, 595, 2072, 2486, 1587, 1350, 1615, - 1616, 1617, 1618, 1619, 1620, 1621, 1190, 2226, 1191, 1192, - 2214, 1193, 1305, 1660, 2923, 1523, 1980, 1979, 1667, 1162, - 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678, - 1679, 1680, 1681, 994, 1823, 1805, 120, 1668, 1641, 1601, - 1658, 993, 992, 1626, 1451, 1190, 1706, 1191, 1192, 1597, - 1598, 1592, 1622, 1560, 2092, 1340, 186, 1552, 1784, 1623, - 1340, 595, 1190, 1602, 1191, 1192, 1630, 1631, 1542, 1340, - 1609, 1610, 1611, 1193, 188, 189, 190, 1538, 1753, 1193, - 1534, 1533, 1532, 2048, 2043, 186, 1351, 1146, 595, 2142, - 3051, 3020, 1340, 1661, 2042, 94, 1353, 2884, 186, 2142, - 2984, 2883, 595, 1190, 2843, 1191, 1192, 186, 2842, 186, - 2731, 186, 186, 595, 1193, 92, 595, 1190, 2440, 1191, - 1192, 92, 94, 1810, 2253, 1811, 93, 595, 2024, 1786, - 1753, 2407, 93, 1784, 1193, 188, 189, 190, 1877, 2670, - 2158, 814, 2635, 1190, 814, 1191, 1192, 2231, 1209, 95, - 2308, 188, 189, 190, 1340, 2200, 2047, 2635, 1788, 1789, - 1711, 1713, 1352, 188, 189, 190, 1876, 1935, 95, 2637, - 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1218, 1217, 1219, - 1220, 1340, 595, 2142, 2964, 1785, 3011, 1340, 2138, 1926, - 1927, 1928, 1843, 1816, 1930, 1932, 1934, 2084, 1189, 1886, - 1887, 1888, 1889, 94, 1786, 1190, 2939, 1191, 1192, 595, - 2142, 1190, 2166, 1191, 1192, 595, 1482, 2657, 1691, 1482, - 1835, 1482, 1872, 100, 1871, 1697, 1698, 1958, 2166, 1839, - 1804, 1842, 784, 2967, 1641, 1881, 2596, 1882, 1883, 1884, - 1885, 2142, 2960, 2952, 1340, 1854, 1190, 1193, 1191, 1192, - 2142, 2928, 2475, 1892, 1893, 1894, 1895, 1818, 1948, 2380, - 1838, 2039, 595, 2165, 595, 1902, 1190, 1875, 1191, 1192, - 595, 595, 1836, 1908, 2723, 2925, 700, 2596, 1340, 1787, - 1860, 1859, 1790, 1791, 1858, 188, 189, 190, 1193, 1933, - 2158, 1874, 2039, 1873, 1197, 1198, 1199, 1200, 1201, 1202, - 1203, 1195, 2039, 101, 1945, 188, 189, 190, 186, 1931, - 2862, 1340, 2142, 2850, 100, 186, 99, 1918, 2166, 1815, - 1193, 2077, 186, 186, 1193, 94, 186, 187, 186, 2061, - 187, 1340, 2060, 187, 1960, 186, 818, 87, 596, 818, - 187, 1959, 186, 1903, 1942, 1917, 1831, 1921, 187, 1898, - 1899, 1193, 1929, 2723, 1340, 2142, 2721, 1973, 1344, 1193, - 1959, 1340, 2635, 187, 2640, 1340, 1953, 1795, 186, 1956, - 1638, 1957, 2847, 595, 1952, 1951, 1955, 1193, 1903, 1190, - 2189, 1191, 1192, 1193, 1340, 596, 1581, 1209, 596, 187, - 596, 1193, 1959, 1974, 1189, 1340, 1975, 1019, 1020, 1193, - 2077, 1340, 1977, 1978, 2706, 1193, 1372, 2598, 1479, 1210, - 1211, 1212, 1213, 1214, 1215, 1216, 1218, 1217, 1219, 1220, - 1190, 1002, 1191, 1192, 2015, 2016, 2477, 2476, 1001, 2018, - 1641, 2473, 2474, 1193, 2594, 2473, 2472, 1992, 2019, 1193, - 2873, 1983, 2585, 2190, 2006, 2007, 1193, 1347, 2011, 2840, - 1193, 2189, 1190, 2192, 1191, 1192, 1190, 2014, 1191, 1192, - 2584, 2166, 1340, 2797, 2017, 2039, 1340, 2218, 1193, 2024, - 2274, 2041, 1660, 2499, 2101, 1209, 2034, 2037, 2036, 1193, - 2704, 2008, 2100, 1190, 2701, 1191, 1192, 2223, 2099, 2682, - 2020, 1190, 1193, 1191, 1192, 2035, 1193, 1210, 1211, 1212, - 1213, 1214, 1215, 1216, 1218, 1217, 1219, 1220, 1193, 1190, - 774, 1191, 1192, 1193, 2190, 1190, 2098, 1191, 1192, 1441, - 2256, 1193, 2097, 1190, 2024, 1191, 1192, 1193, 1091, 2096, - 2588, 1190, 1193, 1191, 1192, 2022, 186, 1190, 2587, 1191, - 1192, 2249, 2250, 1443, 186, 2142, 2141, 1441, 1440, 595, - 1689, 2095, 1661, 1386, 1385, 595, 1901, 1687, 2033, 2541, - 2501, 2113, 2094, 2130, 2497, 1190, 595, 1191, 1192, 2257, - 2126, 1190, 1897, 1191, 1192, 2093, 1891, 1890, 1190, 2087, - 1191, 1192, 1190, 1567, 1191, 1192, 1193, 2124, 87, 1474, - 186, 2086, 1470, 1439, 186, 2545, 2085, 2051, 2688, 113, - 1190, 2874, 1191, 1192, 2082, 3046, 2162, 37, 1916, 2199, - 2081, 1190, 2222, 1191, 1192, 2080, 2182, 2647, 2648, 1808, - 1514, 3044, 101, 2143, 1190, 3027, 1191, 1192, 1190, 1193, - 1191, 1192, 1786, 100, 2949, 99, 2892, 1628, 2070, 2650, - 1190, 1193, 1191, 1192, 2493, 1190, 2492, 1191, 1192, 2689, - 2690, 2691, 2491, 1190, 2407, 1191, 1192, 595, 3017, 1190, - 2223, 1191, 1192, 186, 1190, 2653, 1191, 1192, 2236, 2078, - 186, 1515, 1516, 1517, 2009, 2429, 2139, 2652, 2426, 2425, - 2430, 1314, 2210, 2212, 595, 2152, 2692, 2114, 1785, 2049, - 2985, 595, 2427, 1822, 1510, 1482, 1482, 2428, 2248, 1629, - 595, 2181, 1348, 1340, 2431, 2135, 2175, 2176, 2140, 2203, - 1814, 2641, 2074, 2397, 2399, 2385, 2186, 2271, 1190, 2155, - 1191, 1192, 2400, 2776, 2073, 2270, 2384, 2187, 186, 186, - 186, 186, 186, 2693, 2694, 2695, 2907, 2628, 2778, 1908, - 2191, 1511, 1512, 1513, 2194, 2627, 2631, 788, 2394, 186, - 186, 1580, 2201, 2204, 2767, 789, 2766, 760, 2471, 2207, - 2227, 1190, 1053, 1191, 1192, 186, 1052, 2559, 2215, 2222, - 2104, 2105, 2302, 1190, 1701, 1191, 1192, 2633, 1161, 1338, - 1334, 2225, 2224, 2263, 595, 2234, 2228, 2229, 1702, 92, - 121, 94, 92, 2924, 1335, 2232, 2237, 2238, 2239, 94, - 93, 2233, 3055, 93, 2765, 1833, 1834, 2489, 2269, 2012, - 1462, 2171, 2174, 2175, 2176, 2172, 2869, 2173, 2177, 1812, - 1813, 1337, 187, 1336, 187, 2470, 1689, 187, 1689, 770, - 2179, 1689, 2332, 1687, 1819, 1687, 1689, 2001, 1687, 796, - 797, 2383, 2000, 1687, 2268, 2258, 2259, 1999, 595, 2382, - 2282, 2283, 2284, 2285, 2286, 2613, 2028, 596, 99, 596, - 596, 2899, 2898, 2784, 595, 2328, 2782, 2781, 2311, 2291, - 2774, 1641, 2295, 2702, 596, 596, 2374, 2632, 2630, 186, - 2357, 2310, 2294, 595, 2502, 1943, 2355, 2303, 2355, 1457, - 101, 2355, 795, 100, 2773, 2360, 2355, 595, 2621, 2158, - 2361, 100, 2138, 2312, 595, 595, 2344, 186, 186, 186, - 186, 186, 2367, 2368, 2369, 2370, 2329, 3048, 3047, 186, - 2062, 1338, 1334, 1806, 186, 2374, 1366, 186, 1357, 186, - 776, 3047, 186, 186, 186, 101, 1335, 2419, 3048, 2348, - 103, 2913, 2387, 106, 107, 2439, 100, 2668, 99, 786, - 1327, 2182, 88, 1, 2300, 1712, 2404, 2301, 2672, 3000, - 2388, 1331, 1332, 1337, 2410, 1336, 563, 1796, 2485, 2410, - 2413, 1312, 3028, 2373, 101, 2996, 2997, 186, 1553, 2375, - 2362, 2363, 2364, 2365, 2366, 100, 1543, 99, 2734, 2379, - 595, 1754, 683, 2870, 2386, 2505, 94, 1949, 595, 2389, - 2700, 1906, 1010, 186, 146, 2401, 2402, 1869, 1870, 778, - 2441, 2980, 2525, 2442, 110, 777, 186, 968, 2421, 2422, - 109, 2424, 2420, 95, 1013, 2423, 2432, 1119, 1944, 2724, - 2418, 2208, 1878, 1591, 186, 2436, 2437, 186, 187, 1392, - 2443, 2449, 596, 596, 1390, 1391, 1389, 2560, 1394, 1393, - 2063, 2376, 2377, 2378, 594, 2599, 2504, 2480, 187, 2481, - 1632, 2479, 592, 2178, 184, 1381, 2533, 1358, 1054, 553, - 2478, 1981, 559, 1233, 1627, 2532, 2381, 596, 2195, 815, - 808, 187, 1807, 2128, 2415, 2503, 596, 2625, 2393, 1908, - 2395, 2524, 596, 2145, 2482, 2483, 2398, 2391, 2906, 2490, - 2775, 816, 2536, 2965, 972, 2205, 979, 1354, 2171, 2174, - 2175, 2176, 2172, 2593, 2173, 2177, 2050, 1703, 2647, 2648, - 2554, 595, 186, 2552, 1848, 2528, 2555, 2557, 2558, 1653, - 617, 616, 614, 2131, 2159, 1196, 703, 2118, 2537, 2563, - 1367, 2170, 2168, 2167, 2010, 1855, 2649, 2645, 2569, 2992, - 1850, 1846, 2562, 2137, 625, 618, 2553, 2566, 2567, 2556, - 2568, 610, 2665, 2570, 2531, 2572, 2277, 2574, 2542, 2279, - 2206, 2538, 1174, 1330, 604, 981, 2875, 2930, 2027, 2581, - 1329, 186, 1717, 1718, 2937, 2513, 2718, 2494, 2254, 1936, - 63, 41, 2619, 1745, 599, 3013, 1165, 802, 32, 2671, - 31, 30, 2614, 2615, 29, 28, 23, 22, 21, 20, - 186, 19, 25, 18, 17, 2622, 2629, 16, 2516, 3023, - 3054, 115, 50, 47, 2654, 2644, 45, 123, 2634, 186, - 122, 48, 186, 186, 186, 44, 1094, 42, 27, 26, - 15, 2651, 595, 595, 2618, 14, 187, 2660, 2661, 13, - 12, 11, 10, 9, 5, 2533, 2707, 2708, 2658, 4, - 35, 34, 2659, 33, 2532, 1168, 24, 2, 2241, 2666, - 2667, 1938, 2683, 0, 2685, 0, 0, 0, 0, 0, - 0, 0, 0, 596, 0, 0, 595, 595, 595, 595, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 596, 596, 0, 596, 0, 596, 596, 0, - 596, 596, 596, 596, 596, 596, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 596, 2730, 0, - 0, 187, 2681, 0, 0, 2677, 2678, 0, 1689, 0, - 1689, 0, 0, 0, 0, 1687, 0, 1687, 187, 2728, - 2729, 2696, 0, 0, 2697, 2698, 2699, 186, 0, 0, - 0, 596, 0, 187, 0, 0, 0, 2742, 0, 0, - 0, 0, 0, 0, 0, 2770, 2741, 596, 0, 187, - 2745, 595, 0, 595, 0, 0, 0, 2711, 0, 0, - 2753, 2715, 2716, 2717, 0, 187, 0, 0, 2355, 0, - 2355, 1689, 187, 0, 2754, 2791, 37, 0, 1687, 0, - 0, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 596, 2799, 2793, 2763, 770, 2787, 2780, 2795, 0, 2771, - 2789, 2779, 0, 0, 596, 596, 0, 0, 0, 2410, - 0, 0, 0, 0, 0, 595, 2413, 0, 0, 0, - 2413, 0, 187, 0, 0, 0, 0, 0, 186, 2848, - 0, 595, 2803, 0, 2800, 2801, 0, 0, 0, 0, - 0, 0, 0, 0, 595, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2844, 0, 2846, - 2845, 0, 0, 0, 0, 0, 0, 0, 596, 2889, - 2890, 2860, 2872, 0, 0, 595, 1689, 2864, 0, 595, - 595, 2865, 596, 1687, 0, 0, 0, 0, 0, 2852, - 0, 0, 0, 0, 0, 0, 2893, 0, 0, 596, - 596, 0, 0, 0, 0, 0, 0, 0, 595, 0, - 0, 0, 0, 0, 2903, 0, 0, 0, 1339, 0, - 2900, 2901, 2917, 0, 0, 2902, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2914, 0, 816, 0, 816, 816, 0, 0, 0, - 770, 595, 0, 2920, 2855, 2856, 2857, 0, 2905, 0, - 1164, 1166, 187, 0, 2916, 2922, 186, 596, 0, 2413, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 595, 186, 0, 0, 0, 0, - 0, 187, 0, 0, 596, 0, 0, 0, 2941, 0, - 3021, 0, 0, 0, 187, 2938, 37, 0, 596, 2933, - 1409, 2936, 0, 187, 0, 187, 0, 187, 187, 596, - 0, 0, 596, 0, 0, 0, 595, 0, 0, 0, - 2929, 0, 0, 596, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 595, 595, 0, 0, 0, 2958, 0, 0, 0, 0, - 2966, 37, 0, 595, 0, 0, 0, 0, 2968, 2971, - 0, 1306, 186, 595, 2979, 0, 0, 2976, 2872, 2981, - 2988, 2973, 2972, 2970, 2975, 2974, 0, 2410, 596, 2963, - 2991, 0, 0, 0, 3009, 2999, 3004, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2942, 0, 0, - 0, 3016, 0, 0, 0, 596, 0, 0, 0, 0, - 3022, 596, 595, 0, 0, 0, 0, 0, 1318, 1319, - 0, 595, 0, 0, 0, 0, 3035, 1689, 0, 0, - 3037, 0, 3041, 3039, 1687, 3045, 0, 3043, 0, 0, - 0, 1397, 0, 0, 0, 0, 0, 3042, 0, 0, - 3056, 0, 0, 1362, 0, 3062, 0, 3064, 596, 0, - 596, 0, 816, 0, 0, 0, 596, 596, 1382, 0, - 1689, 182, 3072, 3073, 2890, 3071, 0, 1687, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3070, 0, 0, 0, 0, 121, 0, 0, 0, 0, - 0, 0, 0, 0, 187, 0, 0, 0, 164, 0, - 0, 187, 0, 0, 0, 0, 0, 0, 187, 187, - 0, 0, 187, 1410, 187, 0, 0, 0, 0, 0, - 0, 187, 0, 0, 0, 0, 0, 0, 187, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2202, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 187, 0, 161, 0, 162, 596, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1423, 1426, 1427, 1428, 1429, 1430, 1431, 181, 1432, - 1433, 1434, 1435, 1436, 1411, 1412, 1413, 1414, 1395, 1396, - 1424, 0, 1398, 0, 1399, 1400, 1401, 1402, 1403, 1404, - 1405, 1406, 1407, 0, 0, 1408, 1415, 1416, 1417, 1418, - 1419, 1420, 1421, 1422, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 972, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1306, 0, 0, 0, 0, 0, 1490, 1490, - 0, 1490, 0, 1490, 1490, 0, 1499, 1490, 1490, 1490, - 1490, 1490, 0, 0, 0, 0, 0, 165, 0, 1306, - 0, 0, 1306, 972, 0, 0, 171, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 187, 0, 0, 0, 0, 1566, 1425, 0, - 187, 0, 0, 0, 182, 596, 0, 0, 0, 0, - 0, 596, 0, 1588, 0, 0, 0, 0, 0, 0, - 0, 0, 596, 0, 0, 0, 0, 0, 121, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 164, 0, 0, 0, 0, 187, 0, 0, 0, - 187, 0, 0, 0, 0, 0, 816, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 816, 816, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 156, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 161, - 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 596, 0, 0, 0, 0, 0, 187, - 0, 181, 0, 0, 0, 0, 187, 0, 0, 0, - 0, 0, 0, 0, 1683, 0, 0, 0, 0, 0, - 596, 0, 0, 0, 0, 0, 0, 596, 1696, 0, - 0, 0, 0, 0, 0, 1306, 596, 0, 0, 0, - 0, 0, 0, 0, 0, 1715, 1716, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 187, 187, 187, 187, 187, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 816, 0, 0, 187, 187, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 187, 0, 0, 0, 0, 0, 0, 0, 157, - 165, 0, 0, 1809, 0, 0, 169, 0, 0, 171, - 596, 0, 0, 0, 0, 0, 1341, 1343, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1821, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1362, 0, 0, 816, 177, 0, - 0, 0, 0, 0, 0, 816, 0, 0, 816, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 972, - 0, 0, 0, 182, 596, 0, 0, 158, 163, 160, + 701, 2359, 2763, 2764, 3055, 710, 2762, 2924, 3063, 3031, + 1871, 3032, 1391, 2999, 1824, 2737, 2549, 2983, 1804, 2455, + 2462, 2877, 2088, 2724, 2503, 3, 694, 37, 1157, 703, + 2413, 2777, 2900, 2512, 2517, 2514, 1806, 2122, 2513, 2511, + 96, 2516, 2416, 2515, 2470, 770, 1941, 1313, 2531, 2532, + 1349, 186, 2414, 616, 186, 2417, 581, 186, 2782, 2319, + 2631, 2625, 596, 1828, 186, 692, 2162, 792, 704, 695, + 2358, 613, 186, 693, 2357, 642, 2534, 2651, 2411, 2401, + 1844, 2185, 2149, 2617, 1106, 614, 1904, 186, 2224, 2256, + 1909, 2554, 2302, 1929, 2225, 972, 2226, 1445, 612, 1860, + 1972, 793, 155, 36, 774, 819, 778, 2174, 2155, 596, + 1849, 38, 596, 186, 596, 608, 2141, 772, 1492, 1848, + 2124, 1759, 1784, 1760, 795, 1336, 2294, 1695, 141, 1685, + 1643, 1950, 1928, 1836, 1988, 1911, 2218, 816, 1135, 95, + 1005, 1000, 1380, 2193, 1358, 1474, 91, 620, 625, 1851, + 1592, 1242, 1316, 1707, 1662, 1178, 1481, 979, 1588, 1008, + 1926, 1572, 1011, 976, 980, 1006, 1007, 1377, 1829, 1900, + 1363, 1379, 784, 1756, 1703, 119, 1155, 1597, 1149, 117, + 118, 1440, 1090, 779, 98, 1466, 124, 125, 1042, 1018, + 806, 780, 85, 782, 102, 97, 76, 1249, 603, 89, + 1245, 3056, 1797, 159, 2933, 2249, 1943, 1944, 1945, 1943, + 2725, 2500, 2278, 2277, 1986, 2247, 781, 77, 585, 8, + 7, 1557, 6, 2522, 552, 2717, 2680, 2310, 2311, 2767, + 800, 2767, 805, 2522, 126, 104, 105, 786, 108, 90, + 2956, 114, 2957, 1650, 183, 1649, 2519, 547, 1648, 1047, + 1647, 120, 973, 188, 189, 190, 1801, 1802, 998, 1646, + 1645, 1628, 1637, 1787, 604, 3020, 2120, 766, 767, 768, + 769, 2397, 771, 777, 773, 87, 813, 820, 606, 2605, + 607, 2520, 1976, 3035, 989, 984, 1343, 3072, 1021, 997, + 794, 2520, 996, 2151, 787, 3030, 995, 994, 3046, 1974, + 2272, 808, 809, 2526, 1655, 2873, 2872, 1048, 1051, 1052, + 1046, 2269, 585, 2526, 2766, 1045, 2766, 3071, 1022, 2730, + 120, 1179, 2731, 2993, 3059, 2952, 1975, 2030, 1063, 78, + 78, 2957, 1044, 3044, 2738, 78, 2984, 1969, 80, 1179, + 78, 2992, 2318, 3004, 1057, 1060, 1061, 1062, 2587, 1065, + 1066, 1067, 1068, 1832, 2165, 1071, 1072, 1073, 1074, 1075, + 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, + 1086, 1087, 1455, 3009, 2951, 1381, 2286, 1382, 2795, 2166, + 2285, 2121, 993, 2451, 1099, 1100, 2309, 3007, 120, 188, + 189, 190, 2028, 2452, 2453, 988, 3013, 3014, 990, 1866, + 1867, 2027, 1865, 1920, 2472, 2473, 1152, 87, 87, 1125, + 182, 3008, 2523, 87, 2202, 764, 1102, 2201, 87, 586, + 2203, 763, 2523, 1142, 2250, 1144, 1113, 1189, 1914, 1803, + 1211, 1114, 585, 2925, 121, 1130, 1131, 1126, 2214, 2458, + 991, 1884, 1883, 2158, 2159, 1189, 1119, 164, 3036, 2551, + 2628, 2882, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1220, + 1219, 1221, 1222, 1141, 1143, 1113, 2295, 2347, 1089, 3037, + 1114, 2578, 2576, 582, 594, 1636, 2555, 592, 1112, 598, + 1111, 2257, 1320, 1994, 2459, 1951, 1638, 1639, 1640, 1547, + 2207, 2544, 1989, 993, 1578, 985, 585, 2281, 1093, 2545, + 3058, 1146, 987, 986, 2006, 161, 2007, 162, 2008, 2471, + 2461, 1573, 1151, 586, 1742, 585, 1128, 1129, 1134, 1095, + 568, 2474, 1127, 2297, 2456, 2719, 1185, 181, 585, 1177, + 1132, 1120, 566, 1548, 2552, 1549, 1830, 1831, 1995, 2718, + 1133, 2472, 2473, 2009, 1185, 1070, 1069, 186, 2457, 186, + 1993, 991, 186, 2553, 3021, 1064, 1991, 2857, 992, 1001, + 1139, 1031, 1029, 1002, 1140, 1954, 87, 2715, 1913, 1832, + 1845, 1002, 563, 2474, 1145, 1040, 1039, 1038, 1037, 1036, + 2463, 577, 596, 1159, 596, 596, 2000, 1997, 1999, 1998, + 2001, 2002, 1992, 1035, 1459, 1323, 573, 1034, 1138, 596, + 596, 1033, 1734, 1723, 1724, 1725, 1726, 1736, 1727, 1728, + 1729, 1741, 1737, 1730, 1731, 1738, 1739, 1740, 1732, 1733, + 1735, 1028, 1041, 3073, 2348, 3042, 1171, 37, 1223, 977, + 1223, 977, 977, 586, 1014, 975, 165, 1123, 1109, 1013, + 1115, 1116, 1117, 1118, 1050, 171, 2471, 2028, 993, 1088, + 1013, 3067, 1480, 1589, 1049, 1927, 807, 2298, 2474, 1980, + 2216, 1585, 1165, 1153, 1154, 553, 2301, 555, 569, 992, + 588, 1973, 587, 559, 999, 557, 561, 570, 562, 2714, + 556, 1053, 567, 2932, 2248, 558, 571, 572, 575, 578, + 579, 580, 576, 574, 2493, 565, 589, 586, 1579, 2280, + 2283, 1453, 1580, 1581, 2251, 1032, 1030, 1226, 1227, 1228, + 1229, 1147, 2314, 1092, 2042, 1452, 586, 1234, 1059, 1237, + 2125, 2127, 1184, 1181, 1182, 1183, 1188, 1190, 1187, 586, + 1186, 1451, 1020, 2267, 1586, 2629, 1449, 1180, 1160, 1311, + 1184, 1181, 1182, 1183, 1188, 1190, 1187, 2938, 1186, 551, + 1020, 2921, 1830, 1831, 546, 1180, 1577, 1479, 1224, 1225, + 1161, 1162, 156, 81, 186, 2667, 2883, 2460, 596, 596, + 2524, 2525, 2950, 2765, 2293, 2765, 1230, 2292, 2029, 2647, + 2524, 2525, 2198, 2528, 186, 1559, 1558, 1560, 1561, 1562, + 2678, 2679, 3012, 2528, 86, 86, 116, 2161, 1326, 1917, + 86, 2271, 1330, 596, 2112, 86, 2304, 186, 774, 1091, + 1796, 2303, 596, 1367, 772, 1329, 1312, 77, 596, 1327, + 1174, 1172, 1971, 1173, 992, 2304, 1292, 1020, 1020, 1104, + 2303, 1019, 1101, 1098, 2156, 1122, 3011, 1872, 1324, 1918, + 816, 1020, 1247, 1251, 1248, 2270, 1124, 1916, 1110, 1019, + 1223, 1222, 2450, 789, 1136, 1013, 1016, 1017, 1306, 977, + 1108, 1020, 1150, 1010, 1014, 3065, 1598, 2946, 3066, 111, + 3064, 590, 1667, 1043, 2710, 2338, 1328, 2641, 1708, 1312, + 95, 1919, 2126, 1990, 1009, 1704, 1668, 1669, 1666, 583, + 1582, 1915, 1383, 1175, 1298, 1299, 1300, 1301, 1302, 1705, + 1574, 1708, 1575, 2056, 584, 1576, 2240, 1193, 1194, 157, + 1657, 1659, 1660, 1317, 1194, 2791, 169, 2464, 2685, 2684, + 2320, 2468, 1958, 1489, 1968, 98, 1019, 1019, 1058, 2467, + 1488, 1478, 1023, 1013, 1658, 1966, 1031, 1025, 1029, 112, + 1019, 1026, 1024, 3038, 1195, 3074, 1013, 1016, 1017, 1195, + 977, 2034, 2035, 2036, 1010, 1014, 1368, 2668, 177, 2052, + 1019, 1314, 1027, 2469, 1325, 1023, 1013, 3069, 2465, 771, + 1025, 1331, 186, 2466, 1026, 1024, 1441, 1348, 773, 2962, + 820, 1094, 1345, 1963, 1963, 1378, 1450, 158, 163, 160, + 166, 167, 168, 170, 172, 173, 174, 175, 1137, 1373, + 1374, 1107, 2322, 176, 178, 179, 180, 2865, 2864, 596, + 1599, 1476, 1970, 1217, 1218, 1220, 1219, 1221, 1222, 1485, + 1967, 1965, 2963, 1487, 2914, 1717, 1490, 1491, 596, 596, + 3075, 596, 2051, 596, 596, 3039, 596, 596, 596, 596, + 596, 596, 1215, 1216, 1217, 1218, 1220, 1219, 1221, 1222, + 1522, 1523, 2855, 596, 715, 716, 717, 186, 1528, 1199, + 1200, 1201, 1202, 1203, 1204, 1205, 1197, 2915, 2332, 2331, + 2330, 2324, 87, 2328, 186, 2323, 1192, 2321, 1193, 1194, + 2755, 1192, 2326, 1193, 1194, 2340, 1665, 596, 1343, 186, + 2744, 2325, 2745, 2754, 811, 1712, 2692, 2691, 1567, 1713, + 1587, 1195, 2681, 596, 1472, 186, 1565, 2501, 2327, 2329, + 1542, 1213, 1214, 1215, 1216, 1217, 1218, 1220, 1219, 1221, + 1222, 186, 2489, 2222, 1837, 1838, 2221, 1923, 186, 1554, + 188, 189, 190, 1465, 2675, 1568, 2941, 186, 186, 186, + 186, 186, 186, 186, 186, 186, 596, 1494, 1525, 1495, + 1552, 1497, 1499, 1551, 1550, 1503, 1505, 1507, 1509, 1511, + 596, 596, 1566, 1540, 1484, 1534, 1448, 1531, 1530, 1486, + 1564, 188, 189, 190, 1483, 2205, 1529, 2940, 186, 188, + 189, 190, 1195, 1939, 1454, 2918, 1456, 1457, 1458, 1462, + 1463, 1461, 1475, 1553, 1195, 1501, 1521, 2917, 2916, 1524, + 1195, 188, 189, 190, 1602, 1937, 1482, 1482, 2860, 1195, + 1594, 1606, 2584, 1608, 1609, 1610, 1611, 1211, 1352, 2313, + 1615, 2069, 1526, 2845, 596, 2844, 1689, 1693, 2790, 2788, + 1692, 1692, 1627, 1192, 1195, 1193, 1194, 1698, 596, 1212, + 1213, 1214, 1215, 1216, 1217, 1218, 1220, 1219, 1221, 1222, + 1600, 1601, 1532, 1533, 1690, 1690, 596, 596, 1538, 1539, + 1590, 2751, 2689, 2674, 1605, 2893, 1343, 2556, 1353, 2492, + 996, 1612, 1613, 1614, 995, 994, 1663, 1195, 1343, 1211, + 1670, 2041, 1672, 1673, 1674, 1675, 1676, 1677, 1678, 1679, + 1680, 1681, 1682, 1683, 1684, 1671, 2491, 1661, 120, 1604, + 2231, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1220, 1219, + 1221, 1222, 1195, 2219, 1192, 1757, 1193, 1194, 3040, 186, + 1308, 1788, 1625, 2548, 596, 1626, 1192, 1984, 1193, 1194, + 1983, 1827, 1192, 2045, 1193, 1194, 1633, 1634, 188, 189, + 190, 1192, 1195, 1193, 1194, 188, 189, 190, 186, 1935, + 2047, 596, 1809, 1629, 1195, 1664, 1595, 1563, 1555, 1545, + 2046, 186, 1541, 1537, 1536, 596, 1192, 1757, 1193, 1194, + 186, 1535, 186, 1354, 186, 186, 596, 1148, 1164, 596, + 101, 2147, 3057, 3026, 1343, 2147, 2990, 1195, 2147, 2970, + 596, 100, 1709, 99, 92, 1814, 1788, 1815, 1790, 92, + 1343, 94, 1881, 2890, 816, 93, 2889, 816, 2849, 1192, + 93, 1193, 1194, 95, 2147, 2966, 94, 1792, 1793, 2848, + 101, 2958, 1343, 2147, 2934, 2582, 1343, 1714, 1716, 2728, + 2931, 100, 95, 99, 1195, 2601, 1343, 2097, 1343, 2163, + 1195, 2736, 94, 1789, 1192, 596, 1193, 1194, 1195, 2258, + 2077, 1356, 1930, 1931, 1932, 1847, 2236, 1934, 1936, 1938, + 1343, 1343, 1820, 2868, 1343, 1343, 1890, 1891, 1892, 1893, + 2089, 2640, 596, 1790, 1192, 1343, 1193, 1194, 596, 1485, + 2147, 2856, 1485, 2170, 1485, 1876, 1192, 1195, 1193, 1194, + 1962, 1875, 786, 1808, 1885, 1694, 1886, 1887, 1888, 1889, + 1880, 1343, 1700, 1701, 100, 1858, 2728, 1343, 1195, 2147, + 2726, 2171, 1896, 1897, 1898, 1899, 2642, 1355, 1842, 1192, + 1822, 1193, 1194, 1952, 1343, 596, 1906, 596, 1963, 1343, + 1879, 2412, 2929, 596, 596, 1840, 1191, 1912, 2171, 702, + 2645, 1343, 2640, 1862, 820, 1191, 1343, 820, 1863, 2082, + 1343, 2482, 2481, 2478, 2479, 1878, 1877, 1791, 2478, 2477, + 1794, 1795, 2171, 1343, 2043, 1343, 1192, 1949, 1193, 1194, + 2662, 186, 1192, 2043, 1193, 1194, 2028, 2279, 186, 1922, + 1192, 2194, 1193, 1194, 2945, 186, 186, 1444, 2261, 186, + 187, 186, 1343, 187, 2254, 2255, 187, 1819, 186, 1195, + 2163, 597, 2147, 187, 1907, 186, 1902, 1903, 1195, 1921, + 1925, 187, 2147, 2146, 1195, 1933, 1444, 1443, 2445, 1192, + 1977, 1193, 1194, 1964, 1957, 2194, 187, 1960, 2028, 1961, + 1021, 186, 1389, 1388, 3017, 1956, 596, 1959, 1955, 1907, + 1192, 2171, 1193, 1194, 2195, 2504, 2601, 2480, 597, 2385, + 1864, 597, 187, 597, 2197, 2043, 1979, 1978, 2082, 2066, + 1022, 2065, 1981, 1982, 2143, 1963, 1946, 1195, 2228, 1835, + 1482, 2132, 2640, 1347, 713, 714, 1799, 1641, 1584, 94, + 1691, 1963, 2973, 2853, 1211, 2019, 2020, 1207, 2195, 1208, + 2022, 87, 2711, 1375, 1004, 1211, 1003, 2603, 2028, 2023, + 2879, 1987, 1350, 1209, 1210, 1206, 1212, 1213, 1214, 1215, + 1216, 1217, 1218, 1220, 1219, 1221, 1222, 1212, 1213, 1214, + 1215, 1216, 1217, 1218, 1220, 1219, 1221, 1222, 776, 2846, + 1195, 1192, 2802, 1193, 1194, 2709, 1663, 2043, 2706, 2038, + 1192, 2040, 1193, 1194, 2687, 2012, 1192, 2593, 1193, 1194, + 2599, 1195, 2592, 1446, 2039, 720, 721, 722, 723, 724, + 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, + 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, + 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, + 755, 756, 757, 758, 759, 760, 761, 2026, 1195, 1192, + 186, 1193, 1194, 1905, 1195, 2546, 87, 2506, 186, 1195, + 2502, 2262, 2131, 596, 2223, 1664, 1692, 1901, 1895, 596, + 1894, 2037, 1570, 2693, 1477, 2118, 1517, 2135, 1473, 1442, + 596, 113, 1093, 2550, 2590, 2880, 1195, 2652, 2653, 1920, + 1690, 1195, 2227, 1812, 2129, 3052, 2697, 3050, 3033, 2955, + 1513, 2898, 1195, 1631, 186, 2655, 2498, 2497, 186, 2496, + 2055, 2412, 1192, 2241, 1193, 1194, 2013, 2434, 2658, 2657, + 2167, 37, 2435, 2204, 2694, 2695, 2696, 1518, 1519, 1520, + 2187, 2589, 2431, 1192, 2432, 1193, 1194, 2106, 2430, 2433, + 2228, 2148, 2105, 2698, 2699, 2700, 1195, 1514, 1515, 1516, + 3023, 2075, 1790, 1212, 1213, 1214, 1215, 1216, 1217, 1218, + 1220, 1219, 1221, 1222, 2991, 1632, 1826, 1351, 1818, 2104, + 2646, 596, 1195, 2436, 2103, 2180, 2181, 186, 2390, 2389, + 1192, 2913, 1193, 1194, 186, 2102, 1192, 1195, 1193, 1194, + 2157, 1192, 1195, 1193, 1194, 2633, 2144, 1789, 596, 1317, + 2215, 2217, 2119, 2632, 2781, 596, 2772, 2186, 2771, 1485, + 1485, 2783, 2253, 2636, 596, 2399, 2140, 2053, 1192, 1583, + 1193, 1194, 2145, 1192, 762, 1193, 1194, 2208, 2476, 2101, + 2160, 2276, 1341, 1337, 1192, 2212, 1193, 1194, 2192, 2232, + 2275, 1055, 186, 186, 186, 186, 186, 1338, 1195, 2402, + 2404, 1054, 1195, 2196, 1912, 2100, 2770, 2199, 2405, 2564, + 790, 2227, 2307, 186, 186, 2206, 1163, 2209, 791, 2268, + 2099, 121, 1816, 1817, 1340, 2098, 1339, 1704, 1192, 186, + 1193, 1194, 2220, 2176, 2179, 2180, 2181, 2177, 2638, 2178, + 2182, 1705, 92, 2652, 2653, 94, 2229, 3061, 596, 2109, + 2110, 1837, 1838, 93, 1192, 92, 1193, 1194, 2237, 2930, + 2238, 2494, 94, 2242, 2243, 2244, 93, 101, 2274, 1192, + 2016, 1193, 1194, 2875, 1192, 1465, 1193, 1194, 100, 2475, + 99, 2092, 2184, 1823, 2388, 2091, 187, 2005, 187, 94, + 2004, 187, 2387, 1692, 772, 1692, 2003, 1195, 1692, 2337, + 798, 799, 2230, 1692, 2263, 2264, 2333, 2233, 2234, 2273, + 2618, 2032, 99, 596, 2905, 2904, 2789, 1690, 2787, 1690, + 2786, 597, 1690, 597, 597, 2779, 2707, 1690, 2316, 596, + 1192, 2296, 1193, 1194, 1192, 2637, 1193, 1194, 597, 597, + 2315, 2379, 2635, 2299, 186, 101, 2507, 1947, 596, 1460, + 101, 2372, 2373, 2374, 2375, 797, 100, 2305, 99, 100, + 2306, 100, 596, 2365, 2362, 2778, 1195, 2626, 2366, 596, + 596, 2317, 186, 186, 186, 186, 186, 2334, 2163, 2143, + 2090, 3054, 3053, 3053, 186, 2349, 2067, 1810, 1369, 186, + 2379, 1360, 186, 1195, 186, 778, 3054, 186, 186, 186, + 2919, 2424, 1195, 106, 107, 2673, 2353, 788, 2392, 103, + 2444, 88, 1, 1195, 1715, 1330, 2187, 2677, 3006, 564, + 2367, 2368, 2369, 2370, 2371, 2393, 1195, 1800, 1315, 1192, + 2409, 1193, 1194, 2490, 2378, 2360, 2418, 2360, 3034, 3002, + 2360, 3003, 186, 1556, 2380, 2360, 1546, 2384, 1195, 2087, + 2739, 1758, 2876, 2510, 1953, 596, 2705, 2391, 1910, 1012, + 146, 2406, 2407, 596, 1873, 1874, 2986, 110, 186, 970, + 2394, 109, 779, 1015, 1121, 2446, 2086, 2530, 2447, 1948, + 780, 186, 2729, 2426, 2427, 2085, 2429, 2213, 2423, 95, + 2437, 2425, 2441, 2442, 2428, 1882, 2083, 2448, 1192, 186, + 1193, 1194, 186, 187, 1594, 1395, 1393, 597, 597, 2079, + 2454, 1394, 2565, 2415, 1392, 2381, 2382, 2383, 2415, 1397, + 1396, 2486, 2485, 187, 2484, 1192, 2068, 1193, 1194, 2604, + 1635, 2078, 593, 2183, 1192, 2538, 1193, 1194, 184, 1384, + 1361, 1056, 597, 2537, 554, 1192, 187, 1193, 1194, 2483, + 2508, 597, 2529, 1985, 560, 1912, 1235, 597, 1192, 1630, + 1193, 1194, 2386, 2541, 2176, 2179, 2180, 2181, 2177, 2200, + 2178, 2182, 817, 810, 1811, 2133, 2420, 2630, 2598, 2398, + 1192, 685, 1193, 1194, 2400, 2150, 596, 186, 2557, 2560, + 2562, 2563, 2559, 1341, 1337, 2403, 2396, 2912, 2780, 2971, + 2568, 2210, 1357, 2054, 1706, 2509, 1852, 1656, 1338, 618, + 617, 2574, 2567, 615, 2136, 2164, 2487, 2488, 2571, 2572, + 1198, 2573, 705, 2123, 2575, 1370, 2577, 2175, 2579, 2173, + 2172, 2014, 1859, 1334, 1335, 1340, 2654, 1339, 2650, 2998, + 1854, 1850, 2142, 595, 626, 619, 186, 611, 2670, 2536, + 2282, 2547, 2284, 2211, 2543, 1176, 1333, 605, 2624, 983, + 2881, 2936, 2031, 2586, 2676, 1332, 2619, 2620, 1721, 1722, + 2943, 2518, 2723, 2499, 2259, 186, 1940, 63, 41, 2627, + 2634, 1749, 600, 3019, 1167, 804, 32, 31, 30, 2659, + 818, 2649, 2639, 974, 186, 981, 29, 186, 186, 186, + 28, 23, 22, 21, 20, 19, 2656, 596, 596, 25, + 18, 187, 17, 2665, 2666, 16, 2521, 3029, 3060, 115, + 50, 2712, 2713, 1342, 2538, 2663, 47, 2664, 45, 123, + 122, 48, 2537, 44, 2671, 2672, 1096, 42, 27, 26, + 15, 2688, 14, 2690, 13, 12, 11, 10, 597, 9, + 5, 596, 596, 596, 596, 4, 35, 34, 33, 1170, + 24, 2, 2246, 1942, 0, 0, 0, 597, 597, 0, + 597, 0, 597, 597, 0, 597, 597, 597, 597, 597, + 597, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 597, 2735, 0, 0, 187, 0, 0, 0, + 0, 0, 0, 0, 0, 1692, 0, 1692, 2733, 2734, + 0, 0, 0, 187, 0, 0, 0, 0, 0, 0, + 0, 0, 186, 0, 0, 0, 597, 0, 187, 1690, + 0, 1690, 0, 0, 0, 0, 2747, 0, 0, 0, + 2775, 2746, 597, 0, 187, 0, 596, 0, 596, 0, + 0, 0, 0, 0, 2750, 0, 0, 2682, 2683, 0, + 187, 0, 0, 0, 2804, 2768, 0, 187, 1692, 0, + 2796, 37, 2759, 0, 2758, 0, 187, 187, 187, 187, + 187, 187, 187, 187, 187, 597, 2776, 0, 2784, 2798, + 772, 2785, 1690, 2792, 0, 2800, 0, 182, 2794, 597, + 597, 0, 0, 0, 0, 0, 0, 0, 0, 2716, + 596, 0, 2418, 2720, 2721, 2722, 2418, 187, 0, 0, + 0, 121, 0, 186, 2854, 0, 596, 2808, 0, 0, + 2805, 2806, 0, 0, 164, 0, 0, 0, 0, 596, + 0, 0, 0, 0, 0, 0, 0, 2360, 0, 2360, + 0, 0, 2850, 0, 2852, 2851, 0, 0, 0, 2866, + 0, 0, 0, 597, 0, 2895, 2896, 2878, 0, 2899, + 596, 2870, 0, 1692, 596, 596, 0, 597, 2871, 0, + 0, 0, 0, 0, 0, 2858, 0, 0, 2415, 0, + 0, 0, 161, 0, 162, 597, 597, 1690, 0, 0, + 0, 0, 0, 596, 0, 0, 2906, 2907, 2909, 0, + 0, 0, 0, 2908, 181, 0, 0, 2923, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2911, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2920, 0, + 0, 0, 0, 0, 0, 0, 772, 596, 0, 0, + 0, 2926, 0, 0, 0, 0, 0, 0, 187, 0, + 0, 2928, 186, 597, 0, 2418, 0, 0, 2922, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 596, 186, 0, 0, 0, 0, 0, 187, 0, 0, + 597, 0, 2942, 0, 2947, 0, 0, 0, 2939, 0, + 187, 2944, 37, 0, 597, 0, 2861, 2862, 2863, 187, + 0, 187, 0, 187, 187, 597, 0, 0, 597, 0, + 0, 0, 596, 165, 0, 0, 0, 2935, 0, 597, + 0, 0, 171, 0, 3027, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1412, 0, 596, 596, 0, 0, + 2964, 0, 0, 0, 0, 0, 2972, 37, 2974, 596, + 0, 0, 0, 818, 0, 818, 818, 2985, 186, 596, + 0, 0, 0, 0, 2878, 2987, 2994, 2977, 2982, 2979, + 1166, 1168, 2978, 2976, 597, 2981, 2997, 2980, 0, 0, + 3015, 3005, 3010, 0, 2969, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3022, 0, 0, + 0, 597, 0, 3028, 0, 0, 0, 597, 596, 0, + 0, 0, 0, 0, 0, 0, 0, 596, 0, 0, + 0, 3048, 3041, 0, 0, 1692, 0, 0, 3043, 3047, + 3045, 0, 3051, 3049, 0, 0, 0, 0, 0, 156, + 0, 0, 0, 0, 0, 0, 3062, 0, 0, 1690, + 0, 0, 3070, 3068, 597, 0, 597, 2415, 0, 0, + 0, 0, 597, 597, 3076, 0, 0, 0, 1692, 3078, + 3079, 2896, 0, 3077, 0, 1400, 0, 0, 0, 0, + 0, 0, 1309, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1690, 0, 0, 0, 0, 0, 0, 0, + 187, 0, 0, 0, 0, 0, 0, 187, 0, 0, + 0, 0, 0, 0, 187, 187, 0, 0, 187, 0, + 187, 0, 0, 0, 0, 0, 0, 187, 0, 0, + 0, 0, 0, 0, 187, 0, 0, 0, 0, 1321, + 1322, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1413, 0, 0, + 187, 0, 0, 0, 0, 597, 0, 0, 0, 0, + 0, 0, 0, 0, 1365, 0, 0, 0, 0, 0, + 0, 0, 0, 818, 0, 0, 157, 0, 0, 1385, + 0, 0, 0, 169, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1426, 1429, 1430, 1431, 1432, + 1433, 1434, 0, 1435, 1436, 1437, 1438, 1439, 1414, 1415, + 1416, 1417, 1398, 1399, 1427, 177, 1401, 0, 1402, 1403, + 1404, 1405, 1406, 1407, 1408, 1409, 1410, 0, 0, 1411, + 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 0, 0, + 0, 0, 0, 0, 158, 163, 160, 166, 167, 168, + 170, 172, 173, 174, 175, 0, 0, 0, 0, 0, + 176, 178, 179, 180, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1344, 1346, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, + 0, 0, 0, 0, 0, 0, 0, 187, 0, 0, + 0, 0, 597, 0, 0, 0, 0, 0, 597, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 597, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1428, 0, 0, 0, 0, 0, 0, + 974, 0, 0, 187, 0, 0, 0, 187, 0, 0, + 0, 0, 0, 1309, 0, 0, 0, 0, 0, 1493, + 1493, 0, 1493, 0, 1493, 1493, 0, 1502, 1493, 1493, + 1493, 1493, 1493, 0, 0, 0, 0, 0, 0, 0, + 1309, 0, 0, 1309, 974, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 597, 0, 0, 0, 0, 0, 187, 0, 1569, 0, + 0, 0, 0, 187, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1591, 0, 0, 597, 0, 0, + 0, 0, 0, 0, 597, 0, 0, 0, 0, 0, + 0, 0, 0, 597, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 818, 0, 0, + 0, 187, 187, 187, 187, 187, 0, 0, 0, 0, + 0, 818, 818, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 187, 187, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 187, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 597, 0, 0, + 0, 0, 0, 0, 2813, 2815, 2814, 2824, 2825, 2826, + 2827, 2828, 2829, 2830, 651, 1686, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1699, + 0, 0, 0, 0, 0, 0, 1309, 0, 0, 0, + 0, 0, 0, 0, 1318, 0, 0, 1719, 1720, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 597, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 597, 0, + 0, 0, 0, 0, 818, 0, 0, 0, 0, 0, + 0, 0, 0, 187, 0, 0, 0, 597, 549, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 599, 0, + 0, 597, 0, 0, 0, 1813, 765, 0, 597, 597, + 0, 187, 187, 187, 187, 187, 0, 0, 0, 0, + 0, 0, 0, 187, 0, 0, 0, 0, 187, 0, + 0, 187, 1825, 187, 0, 0, 187, 187, 187, 0, + 0, 0, 0, 0, 0, 0, 1365, 978, 0, 818, + 0, 0, 0, 0, 0, 0, 0, 818, 0, 0, + 818, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1710, 974, 0, 0, 1711, 0, 0, 182, 0, 0, + 0, 187, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 597, 0, 0, 0, 0, 0, + 0, 121, 597, 143, 0, 0, 0, 187, 0, 0, + 0, 0, 0, 0, 164, 0, 0, 0, 0, 0, + 187, 0, 0, 0, 0, 0, 981, 0, 1412, 0, + 0, 0, 0, 0, 2819, 2820, 1344, 1798, 187, 0, + 0, 187, 0, 0, 0, 153, 0, 0, 0, 0, + 0, 142, 0, 974, 0, 0, 0, 0, 0, 981, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1821, + 0, 0, 161, 0, 162, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 130, 131, 152, 151, 181, 696, 0, 643, 700, 645, + 697, 698, 0, 641, 644, 699, 974, 0, 1686, 0, + 0, 0, 0, 0, 1686, 1686, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 597, 187, 0, 0, 0, + 0, 0, 649, 650, 2812, 2816, 2817, 2818, 2821, 2822, + 2823, 2831, 2833, 674, 2832, 2834, 2835, 2836, 2839, 2840, + 2841, 2842, 2837, 2838, 2843, 2810, 2809, 2811, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1400, + 0, 1924, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 187, 0, 0, 0, 0, + 0, 147, 128, 154, 135, 127, 0, 148, 149, 0, + 0, 0, 0, 165, 0, 0, 0, 0, 0, 0, + 0, 0, 171, 136, 187, 0, 0, 2025, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 139, 137, 132, + 133, 134, 138, 187, 0, 0, 187, 187, 187, 129, + 0, 0, 0, 0, 0, 0, 597, 597, 140, 0, + 0, 1413, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 597, 597, 597, 597, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1426, + 1429, 1430, 1431, 1432, 1433, 1434, 0, 1435, 1436, 1437, + 1438, 1439, 1414, 1415, 1416, 1417, 1398, 1399, 1427, 156, + 1401, 0, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, + 1410, 0, 0, 1411, 1418, 1419, 1420, 1421, 1422, 1423, + 1424, 1425, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 187, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 818, 0, + 0, 1097, 0, 1103, 0, 597, 1105, 597, 0, 0, + 0, 0, 0, 0, 1825, 0, 0, 0, 0, 0, + 2137, 0, 0, 0, 0, 0, 0, 150, 0, 0, + 0, 2152, 0, 0, 0, 0, 0, 0, 2044, 0, + 0, 0, 2048, 0, 2049, 2050, 0, 0, 0, 0, + 0, 0, 0, 2058, 0, 0, 2059, 2060, 0, 2062, + 0, 0, 2064, 144, 0, 0, 145, 0, 0, 597, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 187, 0, 0, 597, 0, 1428, 2070, 2071, + 2072, 2073, 2074, 0, 2076, 0, 157, 0, 597, 0, + 2080, 0, 2081, 169, 0, 0, 2084, 0, 0, 0, + 0, 0, 0, 0, 2093, 2094, 2095, 2096, 0, 0, + 0, 0, 2235, 0, 0, 0, 0, 2107, 2108, 597, + 0, 0, 0, 597, 597, 2113, 2114, 2115, 2116, 2117, + 0, 1821, 0, 0, 0, 177, 0, 0, 0, 1825, + 0, 0, 2130, 0, 0, 0, 2260, 0, 0, 0, + 0, 0, 597, 0, 0, 2265, 0, 0, 0, 0, + 0, 0, 0, 0, 158, 163, 160, 166, 167, 168, + 170, 172, 173, 174, 175, 0, 0, 0, 0, 0, + 176, 178, 179, 180, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 597, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 187, 0, 0, 0, 0, 686, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 597, + 187, 0, 0, 0, 0, 0, 0, 0, 0, 1686, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1372, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 185, 0, 0, + 550, 597, 0, 591, 0, 0, 0, 0, 0, 1309, + 550, 1309, 0, 0, 1309, 0, 0, 0, 550, 1309, + 182, 0, 0, 0, 0, 597, 597, 0, 0, 0, + 0, 2252, 0, 785, 818, 0, 0, 0, 597, 0, + 0, 0, 0, 0, 121, 0, 143, 187, 597, 803, + 1493, 803, 0, 0, 0, 0, 0, 164, 0, 550, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2395, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 818, 0, 0, 0, 1309, 153, 0, + 2422, 1493, 1309, 0, 142, 0, 0, 597, 0, 0, + 0, 0, 0, 0, 713, 714, 597, 0, 0, 0, + 1691, 0, 0, 0, 0, 161, 0, 162, 0, 0, + 0, 0, 0, 0, 0, 2341, 0, 2342, 0, 0, + 0, 0, 2346, 1468, 1469, 152, 151, 181, 0, 0, + 0, 0, 0, 0, 0, 0, 1390, 0, 0, 0, + 0, 0, 2361, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2376, 2377, 0, 974, 0, 0, 1309, + 0, 0, 0, 0, 1825, 720, 721, 722, 723, 724, + 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, + 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, + 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, + 755, 756, 757, 758, 759, 760, 761, 0, 0, 0, + 0, 1527, 2421, 0, 147, 1470, 154, 0, 1467, 0, + 148, 149, 0, 0, 0, 0, 165, 0, 0, 2439, + 2440, 0, 0, 0, 0, 171, 0, 0, 0, 0, + 0, 0, 0, 1571, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1603, 0, 0, 0, 0, + 0, 0, 1607, 0, 0, 0, 0, 2395, 0, 0, + 0, 0, 0, 1618, 1619, 1620, 1621, 1622, 1623, 1624, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1644, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 156, 0, 0, 0, 2566, 0, 0, 0, + 0, 0, 0, 2570, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2580, 2581, 2583, + 2585, 0, 0, 0, 0, 0, 0, 0, 0, 2591, + 0, 0, 0, 0, 2595, 2596, 2597, 0, 0, 0, + 0, 2600, 0, 0, 0, 0, 0, 2602, 1825, 1825, + 2606, 2607, 2608, 2609, 2610, 2611, 2612, 2613, 2614, 2615, + 0, 0, 2616, 0, 0, 0, 0, 0, 2621, 0, + 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2740, 2741, 2742, 2743, 0, 0, 0, 0, + 0, 0, 0, 2643, 2644, 0, 144, 2648, 0, 145, + 0, 0, 0, 550, 0, 550, 0, 0, 550, 0, + 0, 0, 0, 0, 0, 2660, 2661, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 157, + 0, 1309, 0, 1309, 0, 0, 169, 0, 0, 0, + 0, 0, 0, 0, 0, 1839, 0, 0, 0, 0, + 0, 0, 0, 0, 1843, 0, 1846, 0, 0, 1644, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1309, 0, 0, 0, 0, 2797, 177, 2799, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2727, 0, 158, 163, 160, 166, 167, 168, 170, 172, 173, 174, 175, 0, 0, - 596, 0, 0, 176, 178, 179, 180, 121, 0, 143, - 0, 0, 0, 0, 0, 187, 0, 0, 0, 596, - 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 596, 979, 0, 156, 0, 0, 0, - 596, 596, 0, 187, 187, 187, 187, 187, 0, 0, - 0, 153, 0, 0, 0, 187, 0, 142, 0, 0, - 187, 972, 0, 187, 0, 187, 0, 979, 187, 187, - 187, 0, 0, 0, 0, 0, 0, 0, 161, 0, - 162, 684, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 130, 131, 152, 151, - 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 187, 972, 0, 1683, 0, 0, 0, - 0, 0, 1683, 1683, 0, 0, 596, 0, 0, 0, - 0, 0, 185, 0, 596, 549, 0, 0, 590, 187, - 0, 0, 0, 0, 0, 549, 0, 0, 0, 0, - 0, 0, 187, 549, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 783, 0, - 187, 0, 0, 187, 0, 0, 0, 0, 0, 0, - 0, 0, 157, 0, 801, 0, 801, 0, 0, 169, - 0, 0, 0, 0, 549, 0, 0, 147, 128, 154, - 135, 127, 0, 148, 149, 0, 0, 0, 0, 165, - 0, 0, 0, 0, 0, 0, 0, 0, 171, 136, - 0, 0, 0, 0, 0, 2021, 0, 0, 0, 0, - 0, 177, 0, 139, 137, 132, 133, 134, 138, 0, - 0, 0, 0, 0, 0, 129, 0, 0, 0, 0, - 0, 0, 0, 0, 140, 0, 0, 596, 187, 0, - 158, 163, 160, 166, 167, 168, 170, 172, 173, 174, - 175, 0, 0, 0, 0, 0, 176, 178, 179, 180, - 0, 0, 78, 39, 40, 80, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 84, 0, 0, 0, 43, 69, 70, 0, - 67, 71, 0, 0, 0, 0, 0, 187, 0, 68, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 156, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 187, 0, 56, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 87, 0, 0, 0, 0, 187, 0, 0, 187, 187, - 187, 0, 0, 0, 0, 0, 0, 0, 596, 596, - 0, 0, 0, 0, 0, 816, 0, 0, 0, 0, - 0, 0, 0, 1707, 0, 0, 0, 1708, 0, 0, - 0, 1821, 0, 0, 0, 0, 0, 2132, 0, 0, - 0, 0, 0, 150, 0, 0, 0, 0, 2147, 0, - 0, 0, 596, 596, 596, 596, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 144, 0, - 0, 145, 0, 0, 0, 0, 0, 0, 1341, 1794, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 157, 0, 0, 0, 0, 0, 0, 169, 1409, - 0, 1817, 0, 187, 46, 49, 52, 51, 54, 0, - 66, 0, 0, 75, 72, 0, 0, 0, 0, 2230, - 0, 0, 0, 0, 0, 0, 0, 596, 0, 596, - 0, 0, 0, 0, 0, 0, 55, 83, 82, 0, - 177, 64, 65, 53, 0, 0, 1821, 0, 0, 73, - 74, 0, 0, 2255, 0, 0, 0, 0, 0, 0, - 0, 0, 2260, 0, 0, 0, 0, 0, 0, 158, - 163, 160, 166, 167, 168, 170, 172, 173, 174, 175, - 0, 0, 0, 0, 0, 176, 178, 179, 180, 57, - 58, 596, 59, 60, 61, 62, 0, 0, 0, 0, - 0, 0, 0, 1920, 187, 0, 0, 596, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 596, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 549, 0, 549, - 1397, 0, 549, 0, 0, 0, 1683, 0, 0, 0, - 0, 596, 0, 0, 0, 596, 596, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2807, 2809, - 2808, 2818, 2819, 2820, 2821, 2822, 2823, 2824, 649, 0, - 0, 0, 0, 0, 596, 1306, 0, 1306, 0, 0, - 1306, 0, 0, 0, 0, 1306, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 816, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 81, 0, 1410, 0, 0, 0, 1490, 596, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 187, 0, 0, 2390, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 86, 0, 0, 816, - 596, 187, 0, 1306, 0, 0, 2417, 1490, 1306, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1423, 1426, 1427, 1428, 1429, 1430, 1431, 0, 1432, 1433, - 1434, 1435, 1436, 1411, 1412, 1413, 1414, 1395, 1396, 1424, - 1307, 1398, 596, 1399, 1400, 1401, 1402, 1403, 1404, 1405, - 1406, 1407, 0, 0, 1408, 1415, 1416, 1417, 1418, 1419, - 1420, 1421, 1422, 0, 0, 0, 596, 596, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 596, - 0, 0, 0, 0, 0, 0, 0, 0, 187, 596, - 2040, 0, 972, 549, 2044, 1306, 2045, 2046, 0, 0, - 1821, 0, 0, 0, 0, 2054, 0, 0, 2055, 2056, - 0, 2058, 0, 783, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 549, 0, 596, 2065, - 2066, 2067, 2068, 2069, 0, 2071, 0, 596, 2813, 2814, - 0, 2075, 0, 2076, 0, 0, 0, 2079, 0, 0, - 0, 0, 0, 0, 0, 2088, 2089, 2090, 2091, 0, - 0, 0, 0, 0, 0, 0, 0, 1425, 2102, 2103, - 0, 0, 0, 0, 0, 0, 2108, 2109, 2110, 2111, - 2112, 0, 1817, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2125, 0, 0, 0, 0, 0, 694, - 0, 642, 698, 644, 695, 696, 0, 640, 643, 697, - 0, 711, 712, 2390, 0, 0, 0, 1688, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 647, 648, 2806, 2810, - 2811, 2812, 2815, 2816, 2817, 2825, 2827, 672, 2826, 2828, - 2829, 2830, 2833, 2834, 2835, 2836, 2831, 2832, 2837, 2805, - 2804, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 549, 718, 719, 720, 721, 722, 723, 724, 725, + 0, 0, 0, 176, 178, 179, 180, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1825, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2869, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1310, 2756, 0, + 818, 0, 2757, 0, 0, 0, 0, 0, 2761, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 78, 39, 40, 80, 0, 0, 0, + 0, 2902, 0, 0, 0, 2902, 2902, 0, 0, 0, + 0, 0, 0, 84, 0, 712, 79, 43, 69, 70, + 550, 67, 71, 0, 0, 0, 0, 0, 0, 0, + 68, 0, 0, 0, 1825, 0, 0, 0, 0, 0, + 785, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1644, 0, 0, 0, 56, + 0, 0, 1996, 550, 0, 0, 0, 0, 0, 2010, + 2011, 87, 0, 2015, 0, 0, 0, 0, 1825, 0, + 0, 0, 2018, 0, 0, 0, 0, 0, 0, 2021, + 0, 0, 0, 775, 0, 79, 0, 2867, 0, 0, + 0, 0, 0, 0, 0, 0, 2874, 0, 0, 0, + 0, 1825, 0, 775, 0, 2024, 0, 0, 0, 0, + 0, 0, 2884, 2885, 2886, 0, 2887, 2888, 0, 982, + 0, 0, 2891, 0, 2892, 0, 2894, 2897, 0, 0, + 0, 0, 0, 2901, 0, 0, 0, 0, 0, 0, + 0, 1309, 0, 2965, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 818, 818, 0, + 0, 2927, 0, 0, 0, 0, 0, 0, 0, 0, + 2995, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3000, 0, 0, 0, 0, 46, 49, 52, 51, 54, + 0, 66, 0, 0, 75, 72, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 550, 0, + 0, 0, 0, 0, 0, 0, 0, 55, 83, 82, + 0, 0, 64, 65, 53, 0, 0, 0, 0, 1825, + 73, 74, 0, 0, 0, 2949, 0, 0, 3000, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2954, + 0, 0, 0, 0, 2959, 0, 0, 0, 1310, 0, + 2960, 2961, 0, 0, 0, 0, 0, 0, 0, 0, + 57, 58, 0, 59, 60, 61, 62, 0, 2967, 0, + 0, 0, 0, 0, 0, 1310, 0, 0, 1310, 0, + 0, 0, 0, 550, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1543, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2191, 0, 0, 550, 0, 0, 0, 3018, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1593, 0, 0, 0, 0, 0, 0, 3024, 0, + 0, 0, 3025, 0, 0, 0, 0, 550, 0, 0, + 0, 0, 0, 0, 550, 0, 0, 0, 0, 0, + 0, 0, 0, 1616, 1617, 550, 550, 550, 550, 550, + 550, 550, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2239, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 550, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 86, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2287, 2288, 2289, 2290, + 2291, 0, 0, 0, 0, 0, 0, 0, 803, 0, + 0, 0, 0, 0, 0, 803, 803, 1644, 2300, 0, + 0, 1310, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2308, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 803, 1593, + 803, 803, 803, 803, 803, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1543, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 803, 0, 0, 0, 0, 0, 0, 1156, 0, 1156, + 1156, 0, 0, 0, 785, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 79, 550, 0, 0, + 0, 0, 0, 0, 1593, 0, 550, 0, 550, 0, + 550, 1861, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 775, 1231, 1232, 1233, 0, 1236, 0, + 1238, 1239, 1240, 1241, 0, 1244, 1246, 1246, 0, 1246, + 1250, 1250, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, + 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, + 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, + 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, + 1290, 1291, 0, 1293, 1294, 1295, 1296, 1297, 0, 0, + 0, 0, 1250, 1250, 1250, 1250, 1250, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2495, 0, 0, 0, + 0, 0, 0, 0, 0, 182, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1464, 0, 0, 0, + 0, 0, 2533, 0, 0, 0, 0, 0, 0, 121, + 0, 143, 0, 0, 0, 2542, 0, 0, 0, 0, + 0, 0, 164, 0, 0, 0, 0, 0, 0, 0, + 0, 1319, 0, 2558, 0, 0, 2561, 775, 0, 0, + 0, 775, 0, 0, 0, 0, 0, 775, 0, 0, + 0, 0, 0, 153, 0, 87, 0, 0, 0, 142, + 0, 706, 713, 714, 715, 716, 717, 707, 709, 0, + 0, 0, 708, 0, 0, 0, 0, 550, 0, 0, + 161, 0, 162, 0, 550, 711, 718, 719, 0, 0, + 0, 550, 550, 0, 0, 550, 0, 2017, 1468, 1469, + 152, 151, 181, 0, 550, 0, 0, 0, 0, 0, + 0, 550, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2623, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2539, 2540, 0, 0, 0, 0, 550, 0, 0, + 0, 0, 0, 720, 721, 722, 723, 724, 725, 726, + 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, + 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, + 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, + 757, 758, 759, 760, 761, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 147, + 1470, 154, 0, 1467, 0, 148, 149, 0, 0, 2686, + 803, 165, 0, 0, 0, 0, 0, 0, 0, 0, + 171, 0, 0, 802, 0, 0, 0, 0, 2701, 0, + 0, 2702, 2703, 2704, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 609, 803, 803, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1593, 0, 0, 550, 0, 0, 0, + 0, 0, 0, 0, 1543, 0, 0, 0, 0, 0, + 0, 0, 0, 796, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 156, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 550, 0, 0, 0, 550, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 696, 0, 0, 700, 0, + 697, 698, 0, 0, 0, 699, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1156, 0, 0, 0, 150, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1156, 1156, 0, 0, 0, + 0, 0, 0, 550, 0, 0, 0, 0, 0, 0, + 2245, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 144, 0, 0, 145, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 157, 0, 0, 0, 0, 0, + 0, 169, 0, 0, 0, 0, 0, 0, 550, 550, + 550, 550, 550, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 550, + 550, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 177, 0, 550, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 803, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 158, 163, 160, 166, 167, 168, 170, 172, + 173, 174, 175, 0, 0, 0, 0, 0, 176, 178, + 179, 180, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1310, 0, 1310, 0, 0, 1310, + 0, 0, 0, 0, 1310, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2948, 0, 0, 803, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1853, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 550, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1310, 0, 0, 0, 0, 1310, 550, 550, + 550, 550, 550, 0, 0, 0, 0, 0, 0, 0, + 2438, 0, 0, 0, 0, 550, 0, 0, 1543, 0, + 550, 0, 0, 550, 2449, 1593, 0, 0, 0, 0, + 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 982, 0, 0, 0, 0, 550, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1310, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 550, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 550, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 550, 0, 0, 550, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1196, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1243, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 550, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2033, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 609, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 550, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 550, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 550, 0, 0, 550, 550, 550, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1359, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2111, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 87, 0, 0, 0, + 0, 2128, 706, 713, 714, 715, 716, 717, 707, 709, + 0, 0, 0, 708, 0, 0, 0, 0, 0, 775, + 0, 0, 0, 0, 0, 0, 711, 718, 719, 0, + 0, 0, 0, 0, 0, 0, 1310, 0, 1310, 0, + 2168, 2169, 0, 0, 0, 0, 0, 0, 0, 2188, + 0, 2189, 2190, 0, 0, 0, 0, 0, 1543, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2539, 2540, 0, 0, 0, 1310, 0, 0, + 0, 0, 0, 0, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, - 756, 757, 758, 759, 1821, 1821, 0, 0, 0, 0, - 0, 1307, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1307, 0, - 0, 1307, 0, 0, 0, 0, 549, 0, 2735, 2736, - 2737, 2738, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1540, 0, 0, 0, 0, 0, 0, - 0, 0, 710, 79, 0, 0, 0, 0, 549, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1590, 0, 0, 1306, 0, 1306, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 549, 0, 0, 0, 0, 0, 2336, 549, 2337, 0, - 0, 0, 2341, 0, 0, 0, 1613, 1614, 549, 549, - 549, 549, 549, 549, 549, 0, 0, 0, 1306, 0, - 0, 0, 2356, 2792, 0, 2794, 0, 0, 0, 0, - 773, 0, 79, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2371, 2372, 0, 0, 549, 0, 0, - 773, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 980, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1821, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 801, 2416, 2863, 0, 0, 0, 0, 801, 801, - 0, 0, 0, 0, 1307, 0, 816, 0, 0, 2434, - 2435, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2896, 0, 0, - 0, 2896, 2896, 0, 0, 0, 0, 0, 0, 0, - 801, 1590, 801, 801, 801, 801, 801, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1821, 0, 0, 0, 0, 0, 0, 1540, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 801, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 783, 0, 0, 0, - 0, 0, 0, 1821, 0, 0, 0, 0, 0, 549, - 0, 0, 0, 0, 0, 0, 1590, 0, 549, 0, - 549, 0, 549, 1857, 0, 0, 2561, 0, 0, 0, - 0, 0, 0, 2565, 0, 0, 1821, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2575, 2576, 2578, - 2580, 0, 0, 0, 0, 0, 0, 0, 0, 2586, - 0, 0, 0, 0, 2590, 2591, 2592, 0, 0, 0, - 0, 2595, 0, 0, 0, 0, 1306, 2597, 2959, 0, - 2601, 2602, 2603, 2604, 2605, 2606, 2607, 2608, 2609, 2610, - 0, 0, 2611, 0, 0, 0, 0, 0, 2616, 0, - 0, 0, 816, 816, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2989, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2994, 0, 0, 0, 0, - 0, 0, 0, 2638, 2639, 0, 0, 2643, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2655, 2656, 0, 0, 0, - 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1821, 0, 0, 0, 0, 0, - 0, 0, 0, 2994, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 549, - 0, 0, 0, 0, 0, 0, 549, 0, 608, 0, - 0, 0, 0, 549, 549, 0, 0, 549, 0, 2013, - 0, 0, 0, 0, 0, 2722, 549, 0, 0, 0, - 0, 0, 0, 549, 0, 0, 0, 0, 0, 0, - 794, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 549, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2751, 0, - 0, 0, 2752, 1154, 0, 1154, 1154, 0, 2756, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 801, 0, 0, 0, 0, 0, 0, 773, - 1229, 1230, 1231, 0, 1234, 0, 1236, 1237, 1238, 1239, - 0, 1242, 1244, 1244, 0, 1244, 1248, 1248, 1250, 1251, - 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, - 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, - 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, - 1282, 1283, 1284, 1285, 1286, 1287, 1288, 0, 1290, 1291, - 1292, 1293, 1294, 0, 0, 0, 0, 1248, 1248, 1248, - 1248, 1248, 0, 801, 801, 0, 0, 2861, 0, 0, - 0, 0, 0, 0, 1590, 0, 2868, 549, 0, 0, - 0, 0, 0, 0, 0, 1540, 0, 0, 0, 0, - 0, 0, 2878, 2879, 2880, 0, 2881, 2882, 0, 0, - 0, 0, 2885, 0, 2886, 0, 2888, 2891, 0, 0, - 0, 0, 0, 2895, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1316, 0, 0, 0, - 0, 549, 773, 0, 0, 549, 773, 0, 0, 0, - 0, 0, 773, 0, 0, 0, 0, 0, 0, 0, - 0, 2921, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 182, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2247, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 121, 0, 143, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 164, 0, - 0, 0, 0, 0, 549, 0, 0, 0, 0, 0, - 0, 2240, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2943, 0, 0, 0, 0, 153, - 0, 0, 0, 0, 0, 142, 0, 0, 2948, 0, - 0, 0, 0, 2953, 0, 0, 0, 0, 0, 2954, - 2955, 0, 0, 0, 0, 0, 161, 0, 162, 0, - 0, 0, 0, 0, 0, 0, 0, 2961, 0, 549, - 549, 549, 549, 549, 1465, 1466, 152, 151, 181, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 549, 549, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 549, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3012, 0, - 0, 801, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3018, 0, 0, - 0, 3019, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1307, 0, 1307, 182, 0, 1307, - 0, 0, 0, 0, 1307, 147, 1467, 154, 1461, 1464, - 0, 148, 149, 0, 0, 0, 0, 165, 801, 0, - 0, 121, 0, 143, 0, 0, 171, 0, 0, 0, - 1194, 0, 0, 0, 164, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 549, 0, 0, 0, 0, 0, 0, 0, 1241, 0, - 0, 0, 0, 0, 0, 153, 0, 0, 0, 0, - 0, 142, 1307, 0, 0, 0, 0, 1307, 549, 549, - 549, 549, 549, 0, 0, 0, 0, 0, 0, 0, - 2433, 0, 161, 0, 162, 549, 0, 0, 1540, 0, - 549, 0, 0, 549, 2444, 1590, 0, 0, 0, 0, - 1465, 1466, 152, 151, 181, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 608, 0, 0, 0, 0, 1154, 0, 0, 0, - 0, 0, 0, 156, 0, 0, 0, 0, 549, 0, - 1154, 1154, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1307, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 549, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 549, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 549, 0, 0, 549, 0, - 0, 147, 1467, 154, 0, 1464, 1356, 148, 149, 0, - 0, 150, 0, 165, 0, 0, 0, 0, 0, 0, - 0, 0, 171, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 144, 0, 0, 145, + 756, 757, 758, 759, 760, 761, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1447, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1543, + 2266, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 157, - 0, 0, 0, 549, 0, 0, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 177, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 156, - 0, 0, 549, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1849, 0, 0, 0, 158, 163, 160, - 166, 167, 168, 170, 172, 173, 174, 175, 0, 0, - 0, 549, 0, 176, 178, 179, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 549, 1444, 0, 549, 549, 549, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 150, 0, 0, - 0, 0, 0, 0, 980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 144, 0, 0, 145, 0, 980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1596, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1543, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 550, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1853, + 0, 0, 0, 0, 0, 1651, 1652, 1653, 1654, 0, + 0, 0, 0, 0, 0, 0, 1310, 0, 0, 0, + 0, 0, 2419, 0, 79, 0, 0, 1853, 1853, 1853, + 1853, 1853, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2188, 775, 1696, 1697, 0, 1853, + 0, 0, 1853, 0, 1702, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1543, 0, 0, 0, 1718, 0, + 0, 0, 1743, 1744, 1745, 1746, 1747, 1748, 1750, 1754, + 1755, 609, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, + 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, + 1779, 1780, 1781, 1782, 1783, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2527, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2535, 0, 0, 0, 0, + 0, 0, 0, 609, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1833, + 1834, 0, 0, 0, 2569, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 157, 0, 0, 0, 0, - 0, 0, 169, 0, 0, 0, 1307, 0, 1307, 0, + 0, 0, 0, 0, 0, 0, 0, 1870, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1593, 1540, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 177, 0, 0, 1307, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 158, 163, 160, 166, 167, 168, 170, - 172, 173, 174, 175, 0, 0, 0, 0, 0, 176, - 178, 179, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1648, 1649, 1650, 1651, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1540, + 0, 0, 0, 0, 0, 0, 1908, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2029, 0, 0, 0, 0, - 0, 1693, 1694, 0, 0, 0, 0, 0, 0, 1699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1739, 1740, 1741, 1742, - 1743, 1744, 1746, 1750, 1751, 608, 1757, 1758, 1759, 1760, - 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, - 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 608, 0, 0, + 0, 1853, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2669, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1540, 0, 0, - 0, 0, 0, 1829, 1830, 0, 0, 2106, 0, 0, - 0, 0, 0, 0, 0, 0, 549, 0, 0, 0, - 0, 0, 0, 0, 2123, 0, 0, 0, 87, 0, - 0, 1866, 0, 0, 704, 711, 712, 713, 714, 715, - 705, 707, 773, 0, 0, 706, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1307, 0, 0, 709, 716, - 717, 0, 0, 2163, 2164, 0, 0, 0, 0, 0, - 0, 0, 2183, 0, 2184, 2185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1904, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1540, 2534, 2535, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 718, 719, 720, 721, - 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, - 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, - 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, - 752, 753, 754, 755, 756, 757, 758, 759, 87, 0, - 0, 0, 0, 0, 704, 711, 712, 713, 714, 715, - 705, 707, 0, 0, 0, 706, 0, 0, 0, 0, - 0, 0, 0, 2261, 0, 0, 0, 0, 709, 716, - 717, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2127, 0, 0, 711, 712, 0, - 0, 0, 0, 1688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2534, 2535, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 718, 719, 720, 721, - 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, - 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, - 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, - 752, 753, 754, 755, 756, 757, 758, 759, 718, 719, - 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, - 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, - 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, - 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 694, 0, - 0, 698, 0, 695, 696, 0, 2053, 0, 697, 0, - 0, 1849, 2057, 0, 2059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2414, 0, 79, 0, 0, 1849, - 1849, 1849, 1849, 1849, 0, 0, 1241, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2183, 773, 0, 0, - 0, 1849, 0, 0, 1849, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2522, 0, 0, - 0, 0, 1356, 0, 0, 0, 0, 2530, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2564, 0, 0, 0, + 0, 0, 0, 2769, 0, 2773, 2774, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2419, 0, + 79, 0, 2419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2057, 0, 0, 0, 0, 0, 2061, 0, + 2063, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1243, 0, 0, 0, 0, 0, 0, + 0, 2859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, + 0, 2419, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1252, 1253, 1254, 1258, 1259, + 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, + 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, + 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2937, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1849, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2664, 0, 0, 0, - 2307, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2330, 2331, - 0, 0, 0, 2334, 0, 0, 0, 0, 0, 0, - 0, 2338, 2339, 2340, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2345, 2346, 2347, 0, 0, 1757, 2349, - 0, 2350, 2351, 0, 0, 0, 2358, 2359, 0, 0, - 0, 0, 0, 0, 1757, 1757, 1757, 1757, 1757, 608, - 608, 608, 608, 0, 0, 0, 0, 0, 0, 0, + 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2405, + 0, 2968, 0, 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2764, 2438, 2768, 2769, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2414, 0, 79, 0, 2414, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2500, 0, 0, 0, + 0, 0, 0, 0, 0, 2335, 2336, 0, 0, 0, + 2339, 0, 0, 0, 0, 0, 0, 0, 0, 2343, + 2344, 2345, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2350, 2351, 2352, 0, 0, 1761, 2354, 0, 2355, + 2356, 0, 0, 0, 2363, 2364, 0, 0, 0, 0, + 0, 0, 1761, 1761, 1761, 1761, 1761, 609, 609, 609, + 609, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2410, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2443, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2583, 0, 0, 0, - 0, 0, 0, 0, 0, 2589, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2414, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1250, 1251, 1255, - 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, - 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, - 1276, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, - 1287, 0, 0, 0, 0, 608, 0, 0, 0, 0, - 0, 0, 0, 0, 2931, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2505, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2962, 0, 0, 0, 0, 79, 2703, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2727, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2743, 0, - 2744, 0, 0, 0, 0, 2747, 2748, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2755, + 0, 0, 0, 0, 2588, 0, 0, 0, 0, 0, + 0, 0, 0, 2594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2788, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2796, 0, - 0, 2798, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2802, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2841, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 609, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2904, 608, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 364, 0, 0, 950, 935, - 466, 0, 881, 953, 850, 869, 963, 872, 875, 917, - 829, 895, 382, 866, 821, 854, 824, 861, 825, 852, - 883, 253, 849, 937, 899, 952, 337, 250, 831, 855, - 396, 871, 197, 919, 440, 237, 347, 344, 473, 265, - 256, 252, 236, 292, 354, 394, 460, 388, 959, 341, - 905, 0, 450, 367, 608, 0, 0, 885, 941, 893, - 931, 880, 918, 839, 904, 954, 867, 914, 955, 298, - 234, 300, 196, 379, 451, 269, 0, 0, 0, 0, - 188, 189, 190, 0, 2982, 0, 2983, 0, 2947, 0, - 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, - 312, 314, 316, 321, 328, 334, 863, 911, 949, 864, - 913, 248, 296, 255, 247, 470, 960, 940, 828, 892, - 948, 0, 0, 216, 951, 887, 0, 916, 0, 966, - 823, 907, 608, 826, 830, 962, 944, 858, 258, 0, - 0, 0, 0, 0, 0, 0, 884, 894, 928, 878, - 0, 0, 0, 0, 0, 0, 0, 856, 0, 903, - 0, 0, 0, 835, 827, 0, 0, 0, 3010, 0, + 0, 0, 0, 0, 0, 0, 2708, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2732, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 882, 0, 0, - 0, 838, 0, 857, 929, 0, 820, 279, 832, 368, - 240, 0, 933, 943, 879, 506, 947, 877, 876, 923, - 836, 939, 870, 336, 834, 305, 192, 212, 0, 868, - 378, 421, 427, 938, 853, 862, 238, 860, 425, 392, - 489, 220, 267, 418, 398, 423, 405, 270, 902, 921, - 424, 342, 475, 412, 486, 507, 508, 246, 372, 497, - 464, 503, 521, 213, 243, 386, 457, 492, 447, 365, - 471, 472, 304, 446, 277, 195, 340, 513, 211, 433, - 229, 218, 477, 495, 272, 416, 203, 459, 484, 226, - 437, 0, 0, 523, 205, 482, 456, 361, 301, 302, - 204, 0, 417, 251, 275, 241, 381, 479, 480, 239, - 524, 215, 502, 207, 1156, 501, 374, 474, 483, 362, - 352, 206, 481, 360, 351, 307, 326, 327, 263, 286, - 410, 345, 411, 287, 370, 369, 371, 198, 493, 0, - 199, 0, 452, 494, 525, 221, 222, 224, 848, 262, - 266, 274, 276, 282, 283, 290, 338, 385, 409, 407, - 413, 934, 469, 487, 498, 505, 511, 512, 514, 515, - 516, 517, 518, 520, 519, 373, 289, 448, 306, 343, - 926, 965, 391, 426, 227, 491, 449, 843, 847, 841, - 908, 842, 897, 898, 844, 956, 957, 958, 526, 527, - 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, - 538, 539, 540, 541, 542, 543, 0, 930, 837, 0, - 845, 846, 0, 936, 945, 946, 544, 353, 439, 488, - 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, - 317, 318, 319, 324, 325, 329, 335, 235, 201, 901, - 191, 208, 339, 961, 414, 271, 522, 500, 496, 822, - 210, 840, 245, 851, 859, 0, 865, 873, 874, 886, - 888, 889, 890, 891, 909, 910, 912, 920, 922, 925, - 927, 932, 942, 964, 193, 194, 200, 209, 219, 223, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2748, 0, 2749, 0, + 0, 0, 0, 2752, 2753, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2760, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2793, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2801, 0, 0, 2803, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2807, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2847, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2910, 609, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 365, 0, 0, 952, 937, 467, + 0, 883, 955, 852, 871, 965, 874, 877, 919, 831, + 897, 383, 868, 823, 856, 826, 863, 827, 854, 885, + 253, 851, 939, 901, 954, 337, 250, 833, 857, 397, + 873, 197, 921, 441, 237, 347, 344, 474, 265, 256, + 252, 236, 292, 354, 395, 461, 389, 961, 341, 907, + 0, 451, 368, 609, 0, 0, 887, 943, 895, 933, + 882, 920, 841, 906, 956, 869, 916, 957, 298, 234, + 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, + 189, 190, 0, 2988, 0, 2989, 0, 2953, 0, 0, + 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, + 314, 316, 321, 328, 334, 865, 913, 951, 866, 915, + 248, 296, 255, 247, 471, 962, 942, 830, 894, 950, + 0, 0, 216, 953, 889, 0, 918, 0, 968, 825, + 909, 609, 828, 832, 964, 946, 860, 258, 0, 0, + 0, 0, 0, 0, 0, 886, 896, 930, 880, 0, + 0, 0, 0, 0, 0, 0, 858, 0, 905, 0, + 0, 0, 837, 829, 0, 0, 0, 3016, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 884, 0, 0, 0, + 840, 0, 859, 931, 0, 822, 279, 834, 369, 240, + 0, 935, 945, 881, 507, 949, 879, 878, 925, 838, + 941, 872, 336, 836, 305, 192, 212, 0, 870, 379, + 422, 428, 940, 855, 864, 238, 862, 426, 393, 490, + 220, 267, 419, 399, 424, 406, 270, 904, 923, 425, + 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, + 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, + 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, + 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, + 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, + 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, + 215, 503, 207, 1158, 502, 375, 475, 484, 363, 352, + 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, + 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, + 0, 453, 495, 526, 221, 222, 224, 850, 262, 266, + 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, + 936, 470, 488, 499, 506, 512, 513, 515, 516, 517, + 518, 519, 521, 520, 374, 289, 449, 306, 343, 928, + 967, 392, 427, 227, 492, 450, 845, 849, 843, 910, + 844, 899, 900, 846, 958, 959, 960, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 0, 932, 839, 0, 847, + 848, 0, 938, 947, 948, 545, 353, 440, 489, 308, + 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, + 318, 319, 324, 325, 329, 335, 235, 201, 359, 903, + 191, 208, 339, 963, 415, 271, 523, 501, 497, 824, + 210, 842, 245, 853, 861, 0, 867, 875, 876, 888, + 890, 891, 892, 893, 911, 912, 914, 922, 924, 927, + 929, 934, 944, 966, 193, 194, 200, 209, 219, 223, + 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, + 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, + 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, + 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, + 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, + 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, + 0, 348, 902, 908, 350, 264, 284, 295, 917, 500, + 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, + 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, + 439, 462, 463, 464, 466, 364, 249, 400, 898, 926, + 346, 468, 469, 291, 365, 0, 0, 952, 937, 467, + 0, 883, 955, 852, 871, 965, 874, 877, 919, 831, + 897, 383, 868, 823, 856, 826, 863, 827, 854, 885, + 253, 851, 939, 901, 954, 337, 250, 833, 857, 397, + 873, 197, 921, 441, 237, 347, 344, 474, 265, 256, + 252, 236, 292, 354, 395, 461, 389, 961, 341, 907, + 0, 451, 368, 0, 0, 0, 887, 943, 895, 933, + 882, 920, 841, 906, 956, 869, 916, 957, 298, 234, + 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, + 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, + 314, 316, 321, 328, 334, 865, 913, 951, 866, 915, + 248, 296, 255, 247, 471, 962, 942, 830, 894, 950, + 0, 0, 216, 953, 889, 0, 918, 0, 968, 825, + 909, 0, 828, 832, 964, 946, 860, 258, 0, 0, + 0, 0, 0, 0, 0, 886, 896, 930, 880, 0, + 0, 0, 0, 0, 2450, 0, 858, 0, 905, 0, + 0, 0, 837, 829, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 884, 0, 0, 0, + 840, 0, 859, 931, 0, 822, 279, 834, 369, 240, + 0, 935, 945, 881, 507, 949, 879, 878, 925, 838, + 941, 872, 336, 836, 305, 192, 212, 0, 870, 379, + 422, 428, 940, 855, 864, 238, 862, 426, 393, 490, + 220, 267, 419, 399, 424, 406, 270, 904, 923, 425, + 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, + 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, + 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, + 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, + 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, + 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, + 215, 503, 207, 1158, 502, 375, 475, 484, 363, 352, + 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, + 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, + 0, 453, 495, 526, 221, 222, 224, 850, 262, 266, + 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, + 936, 470, 488, 499, 506, 512, 513, 515, 516, 517, + 518, 519, 521, 520, 374, 289, 449, 306, 343, 928, + 967, 392, 427, 227, 492, 450, 845, 849, 843, 910, + 844, 899, 900, 846, 958, 959, 960, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 0, 932, 839, 0, 847, + 848, 0, 938, 947, 948, 545, 353, 440, 489, 308, + 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, + 318, 319, 324, 325, 329, 335, 235, 201, 359, 903, + 191, 208, 339, 963, 415, 271, 523, 501, 497, 824, + 210, 842, 245, 853, 861, 0, 867, 875, 876, 888, + 890, 891, 892, 893, 911, 912, 914, 922, 924, 927, + 929, 934, 944, 966, 193, 194, 200, 209, 219, 223, + 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, + 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, + 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, + 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, + 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, + 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, + 0, 348, 902, 908, 350, 264, 284, 295, 917, 500, + 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, + 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, + 439, 462, 463, 464, 466, 364, 249, 400, 898, 926, + 346, 468, 469, 291, 365, 0, 0, 952, 937, 467, + 0, 883, 955, 852, 871, 965, 874, 877, 919, 831, + 897, 383, 868, 823, 856, 826, 863, 827, 854, 885, + 253, 851, 939, 901, 954, 337, 250, 833, 857, 397, + 873, 197, 921, 441, 237, 347, 344, 474, 265, 256, + 252, 236, 292, 354, 395, 461, 389, 961, 341, 907, + 0, 451, 368, 0, 0, 0, 887, 943, 895, 933, + 882, 920, 841, 906, 956, 869, 916, 957, 298, 234, + 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, + 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, + 314, 316, 321, 328, 334, 865, 913, 951, 866, 915, + 248, 296, 255, 247, 471, 962, 942, 830, 894, 950, + 0, 0, 216, 953, 889, 0, 918, 0, 968, 825, + 909, 0, 828, 832, 964, 946, 860, 258, 0, 0, + 0, 0, 0, 0, 0, 886, 896, 930, 880, 0, + 0, 0, 0, 0, 2408, 0, 858, 0, 905, 0, + 0, 0, 837, 829, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 884, 0, 0, 0, + 840, 0, 859, 931, 0, 822, 279, 834, 369, 240, + 0, 935, 945, 881, 507, 949, 879, 878, 925, 838, + 941, 872, 336, 836, 305, 192, 212, 0, 870, 379, + 422, 428, 940, 855, 864, 238, 862, 426, 393, 490, + 220, 267, 419, 399, 424, 406, 270, 904, 923, 425, + 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, + 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, + 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, + 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, + 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, + 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, + 215, 503, 207, 1158, 502, 375, 475, 484, 363, 352, + 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, + 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, + 0, 453, 495, 526, 221, 222, 224, 850, 262, 266, + 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, + 936, 470, 488, 499, 506, 512, 513, 515, 516, 517, + 518, 519, 521, 520, 374, 289, 449, 306, 343, 928, + 967, 392, 427, 227, 492, 450, 845, 849, 843, 910, + 844, 899, 900, 846, 958, 959, 960, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 0, 932, 839, 0, 847, + 848, 0, 938, 947, 948, 545, 353, 440, 489, 308, + 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, + 318, 319, 324, 325, 329, 335, 235, 201, 359, 903, + 191, 208, 339, 963, 415, 271, 523, 501, 497, 824, + 210, 842, 245, 853, 861, 0, 867, 875, 876, 888, + 890, 891, 892, 893, 911, 912, 914, 922, 924, 927, + 929, 934, 944, 966, 193, 194, 200, 209, 219, 223, + 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, + 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, + 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, + 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, + 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, + 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, + 0, 348, 902, 908, 350, 264, 284, 295, 917, 500, + 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, + 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, + 439, 462, 463, 464, 466, 364, 249, 400, 898, 926, + 346, 468, 469, 291, 365, 0, 0, 952, 937, 467, + 0, 883, 955, 852, 871, 965, 874, 877, 919, 831, + 897, 383, 868, 823, 856, 826, 863, 827, 854, 885, + 253, 851, 939, 901, 954, 337, 250, 833, 857, 397, + 873, 197, 921, 441, 237, 347, 344, 474, 265, 256, + 252, 236, 292, 354, 395, 461, 389, 961, 341, 907, + 0, 451, 368, 0, 0, 0, 887, 943, 895, 933, + 882, 920, 841, 906, 956, 869, 916, 957, 298, 234, + 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, + 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, + 314, 316, 321, 328, 334, 865, 913, 951, 866, 915, + 248, 296, 255, 247, 471, 962, 942, 830, 894, 950, + 0, 0, 216, 953, 889, 0, 918, 0, 968, 825, + 909, 0, 828, 832, 964, 946, 860, 258, 0, 0, + 0, 0, 0, 0, 0, 886, 896, 930, 880, 0, + 0, 0, 0, 0, 1841, 0, 858, 0, 905, 0, + 0, 0, 837, 829, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 884, 0, 0, 0, + 840, 0, 859, 931, 0, 822, 279, 834, 369, 240, + 0, 935, 945, 881, 507, 949, 879, 878, 925, 838, + 941, 872, 336, 836, 305, 192, 212, 0, 870, 379, + 422, 428, 940, 855, 864, 238, 862, 426, 393, 490, + 220, 267, 419, 399, 424, 406, 270, 904, 923, 425, + 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, + 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, + 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, + 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, + 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, + 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, + 215, 503, 207, 1158, 502, 375, 475, 484, 363, 352, + 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, + 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, + 0, 453, 495, 526, 221, 222, 224, 850, 262, 266, + 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, + 936, 470, 488, 499, 506, 512, 513, 515, 516, 517, + 518, 519, 521, 520, 374, 289, 449, 306, 343, 928, + 967, 392, 427, 227, 492, 450, 845, 849, 843, 910, + 844, 899, 900, 846, 958, 959, 960, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 0, 932, 839, 0, 847, + 848, 0, 938, 947, 948, 545, 353, 440, 489, 308, + 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, + 318, 319, 324, 325, 329, 335, 235, 201, 359, 903, + 191, 208, 339, 963, 415, 271, 523, 501, 497, 824, + 210, 842, 245, 853, 861, 0, 867, 875, 876, 888, + 890, 891, 892, 893, 911, 912, 914, 922, 924, 927, + 929, 934, 944, 966, 193, 194, 200, 209, 219, 223, + 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, + 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, + 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, + 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, + 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, + 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, + 0, 348, 902, 908, 350, 264, 284, 295, 917, 500, + 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, + 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, + 439, 462, 463, 464, 466, 364, 249, 400, 898, 926, + 346, 468, 469, 291, 365, 0, 0, 952, 937, 467, + 0, 883, 955, 852, 871, 965, 874, 877, 919, 831, + 897, 383, 868, 823, 856, 826, 863, 827, 854, 885, + 253, 851, 939, 901, 954, 337, 250, 833, 857, 397, + 873, 197, 921, 441, 237, 347, 344, 474, 265, 256, + 252, 236, 292, 354, 395, 461, 389, 961, 341, 907, + 0, 451, 368, 0, 0, 0, 887, 943, 895, 933, + 882, 920, 841, 906, 956, 869, 916, 957, 298, 234, + 300, 196, 380, 452, 269, 0, 87, 0, 0, 188, + 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, + 314, 316, 321, 328, 334, 865, 913, 951, 866, 915, + 248, 296, 255, 247, 471, 962, 942, 830, 894, 950, + 0, 0, 216, 953, 889, 0, 918, 0, 968, 825, + 909, 0, 828, 832, 964, 946, 860, 258, 0, 0, + 0, 0, 0, 0, 0, 886, 896, 930, 880, 0, + 0, 0, 0, 0, 0, 0, 858, 0, 905, 0, + 0, 0, 837, 829, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 884, 0, 0, 0, + 840, 0, 859, 931, 0, 822, 279, 834, 369, 240, + 0, 935, 945, 881, 507, 949, 879, 878, 925, 838, + 941, 872, 336, 836, 305, 192, 212, 0, 870, 379, + 422, 428, 940, 855, 864, 238, 862, 426, 393, 490, + 220, 267, 419, 399, 424, 406, 270, 904, 923, 425, + 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, + 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, + 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, + 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, + 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, + 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, + 215, 503, 207, 1158, 502, 375, 475, 484, 363, 352, + 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, + 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, + 0, 453, 495, 526, 221, 222, 224, 850, 262, 266, + 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, + 936, 470, 488, 499, 506, 512, 513, 515, 516, 517, + 518, 519, 521, 520, 374, 289, 449, 306, 343, 928, + 967, 392, 427, 227, 492, 450, 845, 849, 843, 910, + 844, 899, 900, 846, 958, 959, 960, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 0, 932, 839, 0, 847, + 848, 0, 938, 947, 948, 545, 353, 440, 489, 308, + 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, + 318, 319, 324, 325, 329, 335, 235, 201, 359, 903, + 191, 208, 339, 963, 415, 271, 523, 501, 497, 824, + 210, 842, 245, 853, 861, 0, 867, 875, 876, 888, + 890, 891, 892, 893, 911, 912, 914, 922, 924, 927, + 929, 934, 944, 966, 193, 194, 200, 209, 219, 223, + 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, + 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, + 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, + 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, + 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, + 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, + 0, 348, 902, 908, 350, 264, 284, 295, 917, 500, + 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, + 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, + 439, 462, 463, 464, 466, 364, 249, 400, 898, 926, + 346, 468, 469, 291, 365, 0, 0, 952, 937, 467, + 0, 883, 955, 852, 871, 965, 874, 877, 919, 831, + 897, 383, 868, 823, 856, 826, 863, 827, 854, 885, + 253, 851, 939, 901, 954, 337, 250, 833, 857, 397, + 873, 197, 921, 441, 237, 347, 344, 474, 265, 256, + 252, 236, 292, 354, 395, 461, 389, 961, 341, 907, + 0, 451, 368, 0, 0, 0, 887, 943, 895, 933, + 882, 920, 841, 906, 956, 869, 916, 957, 298, 234, + 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, + 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, + 314, 316, 321, 328, 334, 865, 913, 951, 866, 915, + 248, 296, 255, 247, 471, 962, 942, 830, 894, 950, + 0, 0, 216, 953, 889, 0, 918, 0, 968, 825, + 909, 0, 828, 832, 964, 946, 860, 258, 0, 0, + 0, 0, 0, 0, 0, 886, 896, 930, 880, 0, + 0, 0, 0, 0, 0, 0, 858, 0, 905, 0, + 0, 0, 837, 829, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 884, 0, 0, 0, + 840, 0, 859, 931, 0, 822, 279, 834, 369, 240, + 0, 935, 945, 881, 507, 949, 879, 878, 925, 838, + 941, 872, 336, 836, 305, 192, 212, 0, 870, 379, + 422, 428, 940, 855, 864, 238, 862, 426, 393, 490, + 220, 267, 419, 399, 424, 406, 270, 904, 923, 425, + 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, + 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, + 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, + 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, + 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, + 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, + 215, 503, 207, 1158, 502, 375, 475, 484, 363, 352, + 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, + 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, + 0, 453, 495, 526, 221, 222, 224, 850, 262, 266, + 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, + 936, 470, 488, 499, 506, 512, 513, 515, 516, 517, + 518, 519, 521, 520, 374, 289, 449, 306, 343, 928, + 967, 392, 427, 227, 492, 450, 845, 849, 843, 910, + 844, 899, 900, 846, 958, 959, 960, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 0, 932, 839, 0, 847, + 848, 0, 938, 947, 948, 545, 353, 440, 489, 308, + 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, + 318, 319, 324, 325, 329, 335, 235, 201, 359, 903, + 191, 208, 339, 963, 415, 271, 523, 501, 497, 824, + 210, 842, 245, 853, 861, 0, 867, 875, 876, 888, + 890, 891, 892, 893, 911, 912, 914, 922, 924, 927, + 929, 934, 944, 966, 193, 194, 200, 209, 219, 223, + 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, + 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, + 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, + 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, + 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, + 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, + 0, 348, 902, 908, 350, 264, 284, 295, 917, 500, + 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, + 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, + 439, 462, 463, 464, 466, 364, 249, 400, 898, 926, + 346, 468, 469, 291, 365, 0, 0, 952, 937, 467, + 0, 883, 955, 852, 871, 965, 874, 877, 919, 831, + 897, 383, 868, 823, 856, 826, 863, 827, 854, 885, + 253, 851, 939, 901, 954, 337, 250, 833, 857, 397, + 873, 197, 921, 441, 237, 347, 344, 474, 265, 256, + 252, 236, 292, 354, 395, 461, 389, 961, 341, 907, + 0, 451, 368, 0, 0, 0, 887, 943, 895, 933, + 882, 920, 841, 906, 956, 869, 916, 957, 298, 234, + 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, + 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, + 314, 316, 321, 328, 334, 865, 913, 951, 866, 915, + 248, 296, 255, 247, 471, 962, 942, 830, 894, 950, + 0, 0, 969, 953, 889, 0, 918, 0, 968, 825, + 909, 0, 828, 832, 964, 946, 860, 258, 0, 0, + 0, 0, 0, 0, 0, 886, 896, 930, 880, 0, + 0, 0, 0, 0, 0, 0, 858, 0, 905, 0, + 0, 0, 837, 829, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 884, 0, 0, 0, + 840, 0, 859, 931, 0, 822, 279, 834, 369, 240, + 0, 935, 945, 881, 507, 949, 879, 878, 925, 838, + 941, 872, 336, 836, 305, 192, 212, 0, 870, 379, + 422, 428, 940, 855, 864, 238, 862, 426, 393, 490, + 220, 267, 419, 399, 424, 406, 270, 904, 923, 425, + 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, + 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, + 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, + 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, + 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, + 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, + 215, 503, 207, 835, 502, 375, 475, 484, 363, 352, + 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, + 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, + 0, 453, 495, 526, 221, 222, 224, 850, 262, 266, + 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, + 936, 470, 488, 499, 506, 512, 513, 515, 516, 517, + 518, 519, 521, 520, 821, 815, 814, 306, 343, 928, + 967, 392, 427, 227, 492, 450, 845, 849, 843, 910, + 844, 899, 900, 846, 958, 959, 960, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 0, 932, 839, 0, 847, + 848, 0, 938, 947, 948, 545, 353, 440, 489, 308, + 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, + 318, 319, 324, 325, 329, 335, 235, 201, 359, 903, + 191, 208, 339, 963, 415, 271, 523, 501, 497, 824, + 210, 842, 245, 853, 861, 0, 867, 875, 876, 888, + 890, 891, 892, 893, 911, 912, 914, 922, 924, 927, + 929, 934, 944, 966, 193, 194, 200, 209, 219, 223, + 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, + 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, + 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, + 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, + 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, + 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, + 0, 348, 902, 908, 350, 264, 284, 295, 917, 500, + 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, + 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, + 439, 462, 463, 464, 466, 364, 249, 400, 898, 926, + 346, 468, 469, 291, 365, 0, 0, 952, 937, 467, + 0, 883, 955, 852, 871, 965, 874, 877, 919, 831, + 897, 383, 868, 823, 856, 826, 863, 827, 854, 885, + 253, 851, 939, 901, 954, 337, 250, 833, 857, 397, + 873, 197, 921, 441, 237, 347, 344, 474, 265, 256, + 252, 236, 292, 354, 395, 461, 389, 961, 341, 907, + 0, 451, 368, 0, 0, 0, 887, 943, 895, 933, + 882, 920, 841, 906, 956, 869, 916, 957, 298, 234, + 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, + 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, + 314, 316, 321, 328, 334, 865, 913, 951, 866, 915, + 248, 296, 255, 247, 471, 962, 942, 830, 894, 950, + 0, 0, 969, 953, 889, 0, 918, 0, 968, 825, + 909, 0, 828, 832, 964, 946, 860, 258, 0, 0, + 0, 0, 0, 0, 0, 886, 896, 930, 880, 0, + 0, 0, 0, 0, 0, 0, 858, 0, 905, 0, + 0, 0, 837, 829, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 884, 0, 0, 0, + 840, 0, 859, 931, 0, 822, 279, 834, 369, 240, + 0, 935, 945, 881, 507, 949, 879, 878, 925, 838, + 941, 872, 336, 836, 305, 192, 212, 0, 870, 379, + 422, 428, 940, 855, 864, 238, 862, 426, 393, 490, + 220, 267, 419, 399, 424, 406, 270, 904, 923, 425, + 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, + 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, + 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, + 218, 478, 496, 272, 417, 203, 460, 1376, 226, 438, + 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, + 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, + 215, 503, 207, 835, 502, 375, 475, 484, 363, 352, + 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, + 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, + 0, 453, 495, 526, 221, 222, 224, 850, 262, 266, + 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, + 936, 470, 488, 499, 506, 512, 513, 515, 516, 517, + 518, 519, 521, 520, 821, 815, 814, 306, 343, 928, + 967, 392, 427, 227, 492, 450, 845, 849, 843, 910, + 844, 899, 900, 846, 958, 959, 960, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 0, 932, 839, 0, 847, + 848, 0, 938, 947, 948, 545, 353, 440, 489, 308, + 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, + 318, 319, 324, 325, 329, 335, 235, 201, 359, 903, + 191, 208, 339, 963, 415, 271, 523, 501, 497, 824, + 210, 842, 245, 853, 861, 0, 867, 875, 876, 888, + 890, 891, 892, 893, 911, 912, 914, 922, 924, 927, + 929, 934, 944, 966, 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, - 297, 303, 349, 355, 356, 357, 358, 375, 376, 377, - 380, 383, 384, 387, 389, 390, 393, 397, 401, 402, - 403, 404, 406, 408, 415, 420, 428, 429, 430, 431, - 432, 435, 436, 441, 442, 443, 444, 445, 453, 454, - 458, 476, 478, 490, 504, 509, 434, 281, 485, 510, - 0, 348, 900, 906, 350, 264, 284, 295, 915, 499, - 455, 214, 422, 273, 202, 233, 217, 242, 257, 260, - 299, 359, 366, 395, 400, 278, 254, 231, 419, 228, - 438, 461, 462, 463, 465, 363, 249, 399, 896, 924, - 346, 467, 468, 291, 364, 0, 0, 950, 935, 466, - 0, 881, 953, 850, 869, 963, 872, 875, 917, 829, - 895, 382, 866, 821, 854, 824, 861, 825, 852, 883, - 253, 849, 937, 899, 952, 337, 250, 831, 855, 396, - 871, 197, 919, 440, 237, 347, 344, 473, 265, 256, - 252, 236, 292, 354, 394, 460, 388, 959, 341, 905, - 0, 450, 367, 0, 0, 0, 885, 941, 893, 931, - 880, 918, 839, 904, 954, 867, 914, 955, 298, 234, - 300, 196, 379, 451, 269, 0, 0, 0, 0, 188, + 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, + 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, + 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, + 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, + 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, + 0, 348, 902, 908, 350, 264, 284, 295, 917, 500, + 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, + 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, + 439, 462, 463, 464, 466, 364, 249, 400, 898, 926, + 346, 468, 469, 291, 365, 0, 0, 952, 937, 467, + 0, 883, 955, 852, 871, 965, 874, 877, 919, 831, + 897, 383, 868, 823, 856, 826, 863, 827, 854, 885, + 253, 851, 939, 901, 954, 337, 250, 833, 857, 397, + 873, 197, 921, 441, 237, 347, 344, 474, 265, 256, + 252, 236, 292, 354, 395, 461, 389, 961, 341, 907, + 0, 451, 368, 0, 0, 0, 887, 943, 895, 933, + 882, 920, 841, 906, 956, 869, 916, 957, 298, 234, + 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, - 314, 316, 321, 328, 334, 863, 911, 949, 864, 913, - 248, 296, 255, 247, 470, 960, 940, 828, 892, 948, - 0, 0, 216, 951, 887, 0, 916, 0, 966, 823, - 907, 0, 826, 830, 962, 944, 858, 258, 0, 0, - 0, 0, 0, 0, 0, 884, 894, 928, 878, 0, - 0, 0, 0, 0, 2445, 0, 856, 0, 903, 0, - 0, 0, 835, 827, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 882, 0, 0, 0, - 838, 0, 857, 929, 0, 820, 279, 832, 368, 240, - 0, 933, 943, 879, 506, 947, 877, 876, 923, 836, - 939, 870, 336, 834, 305, 192, 212, 0, 868, 378, - 421, 427, 938, 853, 862, 238, 860, 425, 392, 489, - 220, 267, 418, 398, 423, 405, 270, 902, 921, 424, - 342, 475, 412, 486, 507, 508, 246, 372, 497, 464, - 503, 521, 213, 243, 386, 457, 492, 447, 365, 471, - 472, 304, 446, 277, 195, 340, 513, 211, 433, 229, - 218, 477, 495, 272, 416, 203, 459, 484, 226, 437, - 0, 0, 523, 205, 482, 456, 361, 301, 302, 204, - 0, 417, 251, 275, 241, 381, 479, 480, 239, 524, - 215, 502, 207, 1156, 501, 374, 474, 483, 362, 352, - 206, 481, 360, 351, 307, 326, 327, 263, 286, 410, - 345, 411, 287, 370, 369, 371, 198, 493, 0, 199, - 0, 452, 494, 525, 221, 222, 224, 848, 262, 266, - 274, 276, 282, 283, 290, 338, 385, 409, 407, 413, - 934, 469, 487, 498, 505, 511, 512, 514, 515, 516, - 517, 518, 520, 519, 373, 289, 448, 306, 343, 926, - 965, 391, 426, 227, 491, 449, 843, 847, 841, 908, - 842, 897, 898, 844, 956, 957, 958, 526, 527, 528, - 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, - 539, 540, 541, 542, 543, 0, 930, 837, 0, 845, - 846, 0, 936, 945, 946, 544, 353, 439, 488, 308, + 314, 316, 321, 328, 334, 865, 913, 951, 866, 915, + 248, 296, 255, 247, 471, 962, 942, 830, 894, 950, + 0, 0, 969, 953, 889, 0, 918, 0, 968, 825, + 909, 0, 828, 832, 964, 946, 860, 258, 0, 0, + 0, 0, 0, 0, 0, 886, 896, 930, 880, 0, + 0, 0, 0, 0, 0, 0, 858, 0, 905, 0, + 0, 0, 837, 829, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 884, 0, 0, 0, + 840, 0, 859, 931, 0, 822, 279, 834, 369, 240, + 0, 935, 945, 881, 507, 949, 879, 878, 925, 838, + 941, 872, 336, 836, 305, 192, 212, 0, 870, 379, + 422, 428, 940, 855, 864, 238, 862, 426, 393, 490, + 220, 267, 419, 399, 424, 406, 270, 904, 923, 425, + 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, + 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, + 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, + 218, 478, 496, 272, 417, 203, 460, 812, 226, 438, + 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, + 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, + 215, 503, 207, 835, 502, 375, 475, 484, 363, 352, + 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, + 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, + 0, 453, 495, 526, 221, 222, 224, 850, 262, 266, + 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, + 936, 470, 488, 499, 506, 512, 513, 515, 516, 517, + 518, 519, 521, 520, 821, 815, 814, 306, 343, 928, + 967, 392, 427, 227, 492, 450, 845, 849, 843, 910, + 844, 899, 900, 846, 958, 959, 960, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 0, 932, 839, 0, 847, + 848, 0, 938, 947, 948, 545, 353, 440, 489, 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, - 318, 319, 324, 325, 329, 335, 235, 201, 901, 191, - 208, 339, 961, 414, 271, 522, 500, 496, 822, 210, - 840, 245, 851, 859, 0, 865, 873, 874, 886, 888, - 889, 890, 891, 909, 910, 912, 920, 922, 925, 927, - 932, 942, 964, 193, 194, 200, 209, 219, 223, 230, - 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, - 303, 349, 355, 356, 357, 358, 375, 376, 377, 380, - 383, 384, 387, 389, 390, 393, 397, 401, 402, 403, - 404, 406, 408, 415, 420, 428, 429, 430, 431, 432, - 435, 436, 441, 442, 443, 444, 445, 453, 454, 458, - 476, 478, 490, 504, 509, 434, 281, 485, 510, 0, - 348, 900, 906, 350, 264, 284, 295, 915, 499, 455, - 214, 422, 273, 202, 233, 217, 242, 257, 260, 299, - 359, 366, 395, 400, 278, 254, 231, 419, 228, 438, - 461, 462, 463, 465, 363, 249, 399, 896, 924, 346, - 467, 468, 291, 364, 0, 0, 950, 935, 466, 0, - 881, 953, 850, 869, 963, 872, 875, 917, 829, 895, - 382, 866, 821, 854, 824, 861, 825, 852, 883, 253, - 849, 937, 899, 952, 337, 250, 831, 855, 396, 871, - 197, 919, 440, 237, 347, 344, 473, 265, 256, 252, - 236, 292, 354, 394, 460, 388, 959, 341, 905, 0, - 450, 367, 0, 0, 0, 885, 941, 893, 931, 880, - 918, 839, 904, 954, 867, 914, 955, 298, 234, 300, - 196, 379, 451, 269, 0, 0, 0, 0, 188, 189, - 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, - 316, 321, 328, 334, 863, 911, 949, 864, 913, 248, - 296, 255, 247, 470, 960, 940, 828, 892, 948, 0, - 0, 216, 951, 887, 0, 916, 0, 966, 823, 907, - 0, 826, 830, 962, 944, 858, 258, 0, 0, 0, - 0, 0, 0, 0, 884, 894, 928, 878, 0, 0, - 0, 0, 0, 2403, 0, 856, 0, 903, 0, 0, - 0, 835, 827, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 882, 0, 0, 0, 838, - 0, 857, 929, 0, 820, 279, 832, 368, 240, 0, - 933, 943, 879, 506, 947, 877, 876, 923, 836, 939, - 870, 336, 834, 305, 192, 212, 0, 868, 378, 421, - 427, 938, 853, 862, 238, 860, 425, 392, 489, 220, - 267, 418, 398, 423, 405, 270, 902, 921, 424, 342, - 475, 412, 486, 507, 508, 246, 372, 497, 464, 503, - 521, 213, 243, 386, 457, 492, 447, 365, 471, 472, - 304, 446, 277, 195, 340, 513, 211, 433, 229, 218, - 477, 495, 272, 416, 203, 459, 484, 226, 437, 0, - 0, 523, 205, 482, 456, 361, 301, 302, 204, 0, - 417, 251, 275, 241, 381, 479, 480, 239, 524, 215, - 502, 207, 1156, 501, 374, 474, 483, 362, 352, 206, - 481, 360, 351, 307, 326, 327, 263, 286, 410, 345, - 411, 287, 370, 369, 371, 198, 493, 0, 199, 0, - 452, 494, 525, 221, 222, 224, 848, 262, 266, 274, - 276, 282, 283, 290, 338, 385, 409, 407, 413, 934, - 469, 487, 498, 505, 511, 512, 514, 515, 516, 517, - 518, 520, 519, 373, 289, 448, 306, 343, 926, 965, - 391, 426, 227, 491, 449, 843, 847, 841, 908, 842, - 897, 898, 844, 956, 957, 958, 526, 527, 528, 529, + 318, 319, 324, 325, 329, 335, 235, 201, 359, 903, + 191, 208, 339, 963, 415, 271, 523, 501, 497, 824, + 210, 842, 245, 853, 861, 0, 867, 875, 876, 888, + 890, 891, 892, 893, 911, 912, 914, 922, 924, 927, + 929, 934, 944, 966, 193, 194, 200, 209, 219, 223, + 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, + 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, + 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, + 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, + 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, + 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, + 0, 348, 902, 908, 350, 264, 284, 295, 917, 500, + 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, + 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, + 439, 462, 463, 464, 466, 364, 249, 400, 898, 926, + 346, 468, 469, 291, 365, 0, 0, 0, 0, 467, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 383, 0, 0, 1785, 0, 627, 0, 0, 0, + 253, 632, 0, 0, 0, 337, 250, 0, 1786, 397, + 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, + 252, 236, 292, 354, 395, 461, 389, 639, 341, 0, + 0, 451, 368, 0, 0, 0, 0, 0, 634, 635, + 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, + 300, 196, 380, 452, 269, 0, 87, 0, 0, 188, + 189, 190, 706, 713, 714, 715, 716, 717, 707, 709, + 0, 0, 225, 708, 232, 653, 655, 654, 664, 665, + 666, 667, 668, 669, 670, 651, 711, 718, 719, 0, + 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, + 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, + 610, 624, 0, 638, 0, 0, 0, 258, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 621, 622, 801, 0, 0, 0, 690, 0, + 623, 0, 0, 631, 720, 721, 722, 723, 724, 725, + 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, + 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, + 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, + 756, 757, 758, 759, 760, 761, 633, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, + 0, 689, 0, 0, 507, 0, 0, 687, 0, 0, + 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, + 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, + 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, + 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, + 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, + 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, + 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, + 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, + 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, + 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, + 206, 482, 361, 351, 307, 659, 660, 263, 286, 411, + 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, + 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, + 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, + 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, + 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, + 0, 392, 427, 227, 492, 450, 696, 688, 643, 700, + 645, 697, 698, 640, 641, 644, 699, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 0, 691, 630, 629, 0, + 636, 637, 0, 649, 650, 652, 656, 657, 658, 661, + 662, 663, 671, 673, 674, 672, 675, 676, 677, 680, + 681, 682, 683, 678, 679, 684, 647, 646, 648, 628, + 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, + 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, + 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, + 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, + 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, + 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, + 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, + 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, + 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, + 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, + 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, + 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, + 346, 468, 469, 291, 467, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, + 0, 627, 0, 0, 0, 253, 632, 0, 0, 0, + 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, + 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, + 461, 389, 639, 341, 0, 0, 451, 368, 0, 0, + 0, 0, 0, 634, 635, 0, 0, 0, 0, 0, + 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, + 0, 87, 0, 0, 188, 189, 190, 706, 713, 714, + 715, 716, 717, 707, 709, 0, 0, 225, 708, 232, + 653, 655, 654, 664, 665, 666, 667, 668, 669, 670, + 651, 711, 718, 719, 0, 248, 296, 255, 247, 471, + 0, 0, 1751, 1752, 1753, 0, 0, 216, 0, 0, + 0, 0, 0, 0, 0, 610, 624, 0, 638, 0, + 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 621, 622, 0, + 0, 0, 0, 690, 0, 623, 0, 0, 631, 720, + 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, + 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, + 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, + 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, + 761, 633, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 279, 0, 369, 240, 0, 689, 0, 0, 507, + 0, 0, 687, 0, 0, 0, 0, 336, 0, 305, + 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, + 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, + 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, + 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, + 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, + 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, + 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, + 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, + 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, + 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, + 659, 660, 263, 286, 411, 345, 412, 287, 371, 370, + 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, + 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, + 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, + 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, + 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, + 450, 696, 688, 643, 700, 645, 697, 698, 640, 641, + 644, 699, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 0, 691, 630, 629, 0, 636, 637, 0, 649, 650, + 652, 656, 657, 658, 661, 662, 663, 671, 673, 674, + 672, 675, 676, 677, 680, 681, 682, 683, 678, 679, + 684, 647, 646, 648, 628, 191, 208, 339, 0, 415, + 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, + 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, + 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, + 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, + 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, + 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, + 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, + 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, + 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, + 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, + 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, + 364, 249, 400, 0, 365, 346, 468, 469, 291, 467, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 383, 0, 0, 0, 0, 627, 0, 0, 0, + 253, 632, 0, 0, 0, 337, 250, 0, 0, 397, + 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, + 252, 236, 292, 354, 395, 461, 389, 639, 341, 0, + 0, 451, 368, 0, 0, 0, 0, 0, 634, 635, + 0, 0, 0, 0, 0, 0, 1868, 0, 298, 234, + 300, 196, 380, 452, 269, 0, 87, 0, 0, 188, + 189, 190, 706, 713, 714, 715, 716, 717, 707, 709, + 0, 0, 225, 708, 232, 653, 655, 654, 664, 665, + 666, 667, 668, 669, 670, 651, 711, 718, 719, 1869, + 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, + 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, + 610, 624, 0, 638, 0, 0, 0, 258, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 621, 622, 0, 0, 0, 0, 690, 0, + 623, 0, 0, 631, 720, 721, 722, 723, 724, 725, + 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, + 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, + 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, + 756, 757, 758, 759, 760, 761, 633, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, + 0, 689, 0, 0, 507, 0, 0, 687, 0, 0, + 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, + 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, + 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, + 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, + 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, + 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, + 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, + 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, + 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, + 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, + 206, 482, 361, 351, 307, 659, 660, 263, 286, 411, + 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, + 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, + 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, + 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, + 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, + 0, 392, 427, 227, 492, 450, 696, 688, 643, 700, + 645, 697, 698, 640, 641, 644, 699, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 0, 691, 630, 629, 0, + 636, 637, 0, 649, 650, 652, 656, 657, 658, 661, + 662, 663, 671, 673, 674, 672, 675, 676, 677, 680, + 681, 682, 683, 678, 679, 684, 647, 646, 648, 628, + 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, + 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, + 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, + 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, + 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, + 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, + 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, + 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, + 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, + 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, + 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, + 439, 462, 463, 464, 466, 364, 249, 400, 0, 0, + 346, 468, 469, 291, 365, 0, 0, 0, 78, 467, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 383, 0, 0, 0, 0, 627, 0, 0, 0, + 253, 632, 0, 0, 0, 337, 250, 0, 0, 397, + 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, + 252, 236, 292, 354, 395, 461, 389, 639, 341, 0, + 0, 451, 368, 0, 0, 0, 0, 0, 634, 635, + 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, + 300, 196, 380, 452, 269, 0, 87, 0, 0, 188, + 189, 190, 706, 713, 714, 715, 716, 717, 707, 709, + 0, 0, 225, 708, 232, 653, 655, 654, 664, 665, + 666, 667, 668, 669, 670, 651, 711, 718, 719, 0, + 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, + 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, + 610, 624, 0, 638, 0, 0, 0, 258, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 621, 622, 0, 0, 0, 0, 690, 0, + 623, 0, 0, 631, 720, 721, 722, 723, 724, 725, + 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, + 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, + 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, + 756, 757, 758, 759, 760, 761, 633, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, + 0, 689, 0, 0, 507, 0, 0, 687, 0, 0, + 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, + 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, + 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, + 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, + 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, + 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, + 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, + 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, + 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, + 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, + 206, 482, 361, 351, 307, 659, 660, 263, 286, 411, + 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, + 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, + 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, + 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, + 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, + 0, 392, 427, 227, 492, 450, 696, 688, 643, 700, + 645, 697, 698, 640, 641, 644, 699, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 0, 930, 837, 0, 845, 846, - 0, 936, 945, 946, 544, 353, 439, 488, 308, 320, - 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, - 319, 324, 325, 329, 335, 235, 201, 901, 191, 208, - 339, 961, 414, 271, 522, 500, 496, 822, 210, 840, - 245, 851, 859, 0, 865, 873, 874, 886, 888, 889, - 890, 891, 909, 910, 912, 920, 922, 925, 927, 932, - 942, 964, 193, 194, 200, 209, 219, 223, 230, 244, - 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, - 349, 355, 356, 357, 358, 375, 376, 377, 380, 383, - 384, 387, 389, 390, 393, 397, 401, 402, 403, 404, - 406, 408, 415, 420, 428, 429, 430, 431, 432, 435, - 436, 441, 442, 443, 444, 445, 453, 454, 458, 476, - 478, 490, 504, 509, 434, 281, 485, 510, 0, 348, - 900, 906, 350, 264, 284, 295, 915, 499, 455, 214, - 422, 273, 202, 233, 217, 242, 257, 260, 299, 359, - 366, 395, 400, 278, 254, 231, 419, 228, 438, 461, - 462, 463, 465, 363, 249, 399, 896, 924, 346, 467, - 468, 291, 364, 0, 0, 950, 935, 466, 0, 881, - 953, 850, 869, 963, 872, 875, 917, 829, 895, 382, - 866, 821, 854, 824, 861, 825, 852, 883, 253, 849, - 937, 899, 952, 337, 250, 831, 855, 396, 871, 197, - 919, 440, 237, 347, 344, 473, 265, 256, 252, 236, - 292, 354, 394, 460, 388, 959, 341, 905, 0, 450, - 367, 0, 0, 0, 885, 941, 893, 931, 880, 918, - 839, 904, 954, 867, 914, 955, 298, 234, 300, 196, - 379, 451, 269, 0, 0, 0, 0, 188, 189, 190, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, - 321, 328, 334, 863, 911, 949, 864, 913, 248, 296, - 255, 247, 470, 960, 940, 828, 892, 948, 0, 0, - 216, 951, 887, 0, 916, 0, 966, 823, 907, 0, - 826, 830, 962, 944, 858, 258, 0, 0, 0, 0, - 0, 0, 0, 884, 894, 928, 878, 0, 0, 0, - 0, 0, 1837, 0, 856, 0, 903, 0, 0, 0, - 835, 827, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 882, 0, 0, 0, 838, 0, - 857, 929, 0, 820, 279, 832, 368, 240, 0, 933, - 943, 879, 506, 947, 877, 876, 923, 836, 939, 870, - 336, 834, 305, 192, 212, 0, 868, 378, 421, 427, - 938, 853, 862, 238, 860, 425, 392, 489, 220, 267, - 418, 398, 423, 405, 270, 902, 921, 424, 342, 475, - 412, 486, 507, 508, 246, 372, 497, 464, 503, 521, - 213, 243, 386, 457, 492, 447, 365, 471, 472, 304, - 446, 277, 195, 340, 513, 211, 433, 229, 218, 477, - 495, 272, 416, 203, 459, 484, 226, 437, 0, 0, - 523, 205, 482, 456, 361, 301, 302, 204, 0, 417, - 251, 275, 241, 381, 479, 480, 239, 524, 215, 502, - 207, 1156, 501, 374, 474, 483, 362, 352, 206, 481, - 360, 351, 307, 326, 327, 263, 286, 410, 345, 411, - 287, 370, 369, 371, 198, 493, 0, 199, 0, 452, - 494, 525, 221, 222, 224, 848, 262, 266, 274, 276, - 282, 283, 290, 338, 385, 409, 407, 413, 934, 469, - 487, 498, 505, 511, 512, 514, 515, 516, 517, 518, - 520, 519, 373, 289, 448, 306, 343, 926, 965, 391, - 426, 227, 491, 449, 843, 847, 841, 908, 842, 897, - 898, 844, 956, 957, 958, 526, 527, 528, 529, 530, - 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, - 541, 542, 543, 0, 930, 837, 0, 845, 846, 0, - 936, 945, 946, 544, 353, 439, 488, 308, 320, 323, - 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, - 324, 325, 329, 335, 235, 201, 901, 191, 208, 339, - 961, 414, 271, 522, 500, 496, 822, 210, 840, 245, - 851, 859, 0, 865, 873, 874, 886, 888, 889, 890, - 891, 909, 910, 912, 920, 922, 925, 927, 932, 942, - 964, 193, 194, 200, 209, 219, 223, 230, 244, 259, - 261, 268, 280, 285, 288, 293, 294, 297, 303, 349, - 355, 356, 357, 358, 375, 376, 377, 380, 383, 384, - 387, 389, 390, 393, 397, 401, 402, 403, 404, 406, - 408, 415, 420, 428, 429, 430, 431, 432, 435, 436, - 441, 442, 443, 444, 445, 453, 454, 458, 476, 478, - 490, 504, 509, 434, 281, 485, 510, 0, 348, 900, - 906, 350, 264, 284, 295, 915, 499, 455, 214, 422, - 273, 202, 233, 217, 242, 257, 260, 299, 359, 366, - 395, 400, 278, 254, 231, 419, 228, 438, 461, 462, - 463, 465, 363, 249, 399, 896, 924, 346, 467, 468, - 291, 364, 0, 0, 950, 935, 466, 0, 881, 953, - 850, 869, 963, 872, 875, 917, 829, 895, 382, 866, - 821, 854, 824, 861, 825, 852, 883, 253, 849, 937, - 899, 952, 337, 250, 831, 855, 396, 871, 197, 919, - 440, 237, 347, 344, 473, 265, 256, 252, 236, 292, - 354, 394, 460, 388, 959, 341, 905, 0, 450, 367, - 0, 0, 0, 885, 941, 893, 931, 880, 918, 839, - 904, 954, 867, 914, 955, 298, 234, 300, 196, 379, - 451, 269, 0, 87, 0, 0, 188, 189, 190, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, - 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, - 328, 334, 863, 911, 949, 864, 913, 248, 296, 255, - 247, 470, 960, 940, 828, 892, 948, 0, 0, 216, - 951, 887, 0, 916, 0, 966, 823, 907, 0, 826, - 830, 962, 944, 858, 258, 0, 0, 0, 0, 0, - 0, 0, 884, 894, 928, 878, 0, 0, 0, 0, - 0, 0, 0, 856, 0, 903, 0, 0, 0, 835, - 827, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 882, 0, 0, 0, 838, 0, 857, - 929, 0, 820, 279, 832, 368, 240, 0, 933, 943, - 879, 506, 947, 877, 876, 923, 836, 939, 870, 336, - 834, 305, 192, 212, 0, 868, 378, 421, 427, 938, - 853, 862, 238, 860, 425, 392, 489, 220, 267, 418, - 398, 423, 405, 270, 902, 921, 424, 342, 475, 412, - 486, 507, 508, 246, 372, 497, 464, 503, 521, 213, - 243, 386, 457, 492, 447, 365, 471, 472, 304, 446, - 277, 195, 340, 513, 211, 433, 229, 218, 477, 495, - 272, 416, 203, 459, 484, 226, 437, 0, 0, 523, - 205, 482, 456, 361, 301, 302, 204, 0, 417, 251, - 275, 241, 381, 479, 480, 239, 524, 215, 502, 207, - 1156, 501, 374, 474, 483, 362, 352, 206, 481, 360, - 351, 307, 326, 327, 263, 286, 410, 345, 411, 287, - 370, 369, 371, 198, 493, 0, 199, 0, 452, 494, - 525, 221, 222, 224, 848, 262, 266, 274, 276, 282, - 283, 290, 338, 385, 409, 407, 413, 934, 469, 487, - 498, 505, 511, 512, 514, 515, 516, 517, 518, 520, - 519, 373, 289, 448, 306, 343, 926, 965, 391, 426, - 227, 491, 449, 843, 847, 841, 908, 842, 897, 898, - 844, 956, 957, 958, 526, 527, 528, 529, 530, 531, - 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, - 542, 543, 0, 930, 837, 0, 845, 846, 0, 936, - 945, 946, 544, 353, 439, 488, 308, 320, 323, 313, - 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, - 325, 329, 335, 235, 201, 901, 191, 208, 339, 961, - 414, 271, 522, 500, 496, 822, 210, 840, 245, 851, - 859, 0, 865, 873, 874, 886, 888, 889, 890, 891, - 909, 910, 912, 920, 922, 925, 927, 932, 942, 964, - 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, - 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, - 356, 357, 358, 375, 376, 377, 380, 383, 384, 387, - 389, 390, 393, 397, 401, 402, 403, 404, 406, 408, - 415, 420, 428, 429, 430, 431, 432, 435, 436, 441, - 442, 443, 444, 445, 453, 454, 458, 476, 478, 490, - 504, 509, 434, 281, 485, 510, 0, 348, 900, 906, - 350, 264, 284, 295, 915, 499, 455, 214, 422, 273, - 202, 233, 217, 242, 257, 260, 299, 359, 366, 395, - 400, 278, 254, 231, 419, 228, 438, 461, 462, 463, - 465, 363, 249, 399, 896, 924, 346, 467, 468, 291, - 364, 0, 0, 950, 935, 466, 0, 881, 953, 850, - 869, 963, 872, 875, 917, 829, 895, 382, 866, 821, - 854, 824, 861, 825, 852, 883, 253, 849, 937, 899, - 952, 337, 250, 831, 855, 396, 871, 197, 919, 440, - 237, 347, 344, 473, 265, 256, 252, 236, 292, 354, - 394, 460, 388, 959, 341, 905, 0, 450, 367, 0, - 0, 0, 885, 941, 893, 931, 880, 918, 839, 904, - 954, 867, 914, 955, 298, 234, 300, 196, 379, 451, - 269, 0, 0, 0, 0, 188, 189, 190, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, - 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, - 334, 863, 911, 949, 864, 913, 248, 296, 255, 247, - 470, 960, 940, 828, 892, 948, 0, 0, 216, 951, - 887, 0, 916, 0, 966, 823, 907, 0, 826, 830, - 962, 944, 858, 258, 0, 0, 0, 0, 0, 0, - 0, 884, 894, 928, 878, 0, 0, 0, 0, 0, - 0, 0, 856, 0, 903, 0, 0, 0, 835, 827, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 882, 0, 0, 0, 838, 0, 857, 929, - 0, 820, 279, 832, 368, 240, 0, 933, 943, 879, - 506, 947, 877, 876, 923, 836, 939, 870, 336, 834, - 305, 192, 212, 0, 868, 378, 421, 427, 938, 853, - 862, 238, 860, 425, 392, 489, 220, 267, 418, 398, - 423, 405, 270, 902, 921, 424, 342, 475, 412, 486, - 507, 508, 246, 372, 497, 464, 503, 521, 213, 243, - 386, 457, 492, 447, 365, 471, 472, 304, 446, 277, - 195, 340, 513, 211, 433, 229, 218, 477, 495, 272, - 416, 203, 459, 484, 226, 437, 0, 0, 523, 205, - 482, 456, 361, 301, 302, 204, 0, 417, 251, 275, - 241, 381, 479, 480, 239, 524, 215, 502, 207, 1156, - 501, 374, 474, 483, 362, 352, 206, 481, 360, 351, - 307, 326, 327, 263, 286, 410, 345, 411, 287, 370, - 369, 371, 198, 493, 0, 199, 0, 452, 494, 525, - 221, 222, 224, 848, 262, 266, 274, 276, 282, 283, - 290, 338, 385, 409, 407, 413, 934, 469, 487, 498, - 505, 511, 512, 514, 515, 516, 517, 518, 520, 519, - 373, 289, 448, 306, 343, 926, 965, 391, 426, 227, - 491, 449, 843, 847, 841, 908, 842, 897, 898, 844, - 956, 957, 958, 526, 527, 528, 529, 530, 531, 532, - 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, - 543, 0, 930, 837, 0, 845, 846, 0, 936, 945, - 946, 544, 353, 439, 488, 308, 320, 323, 313, 332, - 0, 333, 309, 310, 315, 317, 318, 319, 324, 325, - 329, 335, 235, 201, 901, 191, 208, 339, 961, 414, - 271, 522, 500, 496, 822, 210, 840, 245, 851, 859, - 0, 865, 873, 874, 886, 888, 889, 890, 891, 909, - 910, 912, 920, 922, 925, 927, 932, 942, 964, 193, + 540, 541, 542, 543, 544, 0, 691, 630, 629, 0, + 636, 637, 0, 649, 650, 652, 656, 657, 658, 661, + 662, 663, 671, 673, 674, 672, 675, 676, 677, 680, + 681, 682, 683, 678, 679, 684, 647, 646, 648, 628, + 191, 208, 339, 86, 415, 271, 523, 501, 497, 0, + 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, + 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, + 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, + 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, + 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, + 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, + 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, + 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, + 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, + 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, + 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, + 346, 468, 469, 291, 467, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, + 0, 627, 0, 0, 0, 253, 632, 0, 0, 0, + 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, + 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, + 461, 389, 639, 341, 0, 0, 451, 368, 0, 0, + 0, 0, 0, 634, 635, 0, 0, 0, 0, 0, + 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, + 0, 87, 0, 0, 188, 189, 190, 706, 713, 714, + 715, 716, 717, 707, 709, 0, 0, 225, 708, 232, + 653, 655, 654, 664, 665, 666, 667, 668, 669, 670, + 651, 711, 718, 719, 0, 248, 296, 255, 247, 471, + 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, + 0, 0, 0, 0, 0, 610, 624, 0, 638, 0, + 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 621, 622, 0, + 0, 0, 0, 690, 0, 623, 0, 0, 631, 720, + 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, + 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, + 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, + 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, + 761, 633, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 279, 0, 369, 240, 0, 689, 0, 0, 507, + 0, 0, 687, 0, 0, 0, 0, 336, 0, 305, + 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, + 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, + 406, 270, 2975, 0, 425, 342, 476, 413, 487, 508, + 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, + 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, + 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, + 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, + 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, + 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, + 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, + 659, 660, 263, 286, 411, 345, 412, 287, 371, 370, + 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, + 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, + 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, + 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, + 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, + 450, 696, 688, 643, 700, 645, 697, 698, 640, 641, + 644, 699, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 0, 691, 630, 629, 0, 636, 637, 0, 649, 650, + 652, 656, 657, 658, 661, 662, 663, 671, 673, 674, + 672, 675, 676, 677, 680, 681, 682, 683, 678, 679, + 684, 647, 646, 648, 628, 191, 208, 339, 0, 415, + 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, - 357, 358, 375, 376, 377, 380, 383, 384, 387, 389, - 390, 393, 397, 401, 402, 403, 404, 406, 408, 415, - 420, 428, 429, 430, 431, 432, 435, 436, 441, 442, - 443, 444, 445, 453, 454, 458, 476, 478, 490, 504, - 509, 434, 281, 485, 510, 0, 348, 900, 906, 350, - 264, 284, 295, 915, 499, 455, 214, 422, 273, 202, - 233, 217, 242, 257, 260, 299, 359, 366, 395, 400, - 278, 254, 231, 419, 228, 438, 461, 462, 463, 465, - 363, 249, 399, 896, 924, 346, 467, 468, 291, 364, - 0, 0, 950, 935, 466, 0, 881, 953, 850, 869, - 963, 872, 875, 917, 829, 895, 382, 866, 821, 854, - 824, 861, 825, 852, 883, 253, 849, 937, 899, 952, - 337, 250, 831, 855, 396, 871, 197, 919, 440, 237, - 347, 344, 473, 265, 256, 252, 236, 292, 354, 394, - 460, 388, 959, 341, 905, 0, 450, 367, 0, 0, - 0, 885, 941, 893, 931, 880, 918, 839, 904, 954, - 867, 914, 955, 298, 234, 300, 196, 379, 451, 269, - 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, - 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, - 863, 911, 949, 864, 913, 248, 296, 255, 247, 470, - 960, 940, 828, 892, 948, 0, 0, 967, 951, 887, - 0, 916, 0, 966, 823, 907, 0, 826, 830, 962, - 944, 858, 258, 0, 0, 0, 0, 0, 0, 0, - 884, 894, 928, 878, 0, 0, 0, 0, 0, 0, - 0, 856, 0, 903, 0, 0, 0, 835, 827, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 882, 0, 0, 0, 838, 0, 857, 929, 0, - 820, 279, 832, 368, 240, 0, 933, 943, 879, 506, - 947, 877, 876, 923, 836, 939, 870, 336, 834, 305, - 192, 212, 0, 868, 378, 421, 427, 938, 853, 862, - 238, 860, 425, 392, 489, 220, 267, 418, 398, 423, - 405, 270, 902, 921, 424, 342, 475, 412, 486, 507, - 508, 246, 372, 497, 464, 503, 521, 213, 243, 386, - 457, 492, 447, 365, 471, 472, 304, 446, 277, 195, - 340, 513, 211, 433, 229, 218, 477, 495, 272, 416, - 203, 459, 484, 226, 437, 0, 0, 523, 205, 482, - 456, 361, 301, 302, 204, 0, 417, 251, 275, 241, - 381, 479, 480, 239, 524, 215, 502, 207, 833, 501, - 374, 474, 483, 362, 352, 206, 481, 360, 351, 307, - 326, 327, 263, 286, 410, 345, 411, 287, 370, 369, - 371, 198, 493, 0, 199, 0, 452, 494, 525, 221, - 222, 224, 848, 262, 266, 274, 276, 282, 283, 290, - 338, 385, 409, 407, 413, 934, 469, 487, 498, 505, - 511, 512, 514, 515, 516, 517, 518, 520, 519, 819, - 813, 812, 306, 343, 926, 965, 391, 426, 227, 491, - 449, 843, 847, 841, 908, 842, 897, 898, 844, 956, - 957, 958, 526, 527, 528, 529, 530, 531, 532, 533, - 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, - 0, 930, 837, 0, 845, 846, 0, 936, 945, 946, - 544, 353, 439, 488, 308, 320, 323, 313, 332, 0, - 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, - 335, 235, 201, 901, 191, 208, 339, 961, 414, 271, - 522, 500, 496, 822, 210, 840, 245, 851, 859, 0, - 865, 873, 874, 886, 888, 889, 890, 891, 909, 910, - 912, 920, 922, 925, 927, 932, 942, 964, 193, 194, - 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, - 285, 288, 293, 294, 297, 303, 349, 355, 356, 357, - 358, 375, 376, 377, 380, 383, 384, 387, 389, 390, - 393, 397, 401, 402, 403, 404, 406, 408, 415, 420, - 428, 429, 430, 431, 432, 435, 436, 441, 442, 443, - 444, 445, 453, 454, 458, 476, 478, 490, 504, 509, - 434, 281, 485, 510, 0, 348, 900, 906, 350, 264, - 284, 295, 915, 499, 455, 214, 422, 273, 202, 233, - 217, 242, 257, 260, 299, 359, 366, 395, 400, 278, - 254, 231, 419, 228, 438, 461, 462, 463, 465, 363, - 249, 399, 896, 924, 346, 467, 468, 291, 364, 0, - 0, 950, 935, 466, 0, 881, 953, 850, 869, 963, - 872, 875, 917, 829, 895, 382, 866, 821, 854, 824, - 861, 825, 852, 883, 253, 849, 937, 899, 952, 337, - 250, 831, 855, 396, 871, 197, 919, 440, 237, 347, - 344, 473, 265, 256, 252, 236, 292, 354, 394, 460, - 388, 959, 341, 905, 0, 450, 367, 0, 0, 0, - 885, 941, 893, 931, 880, 918, 839, 904, 954, 867, - 914, 955, 298, 234, 300, 196, 379, 451, 269, 0, - 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, - 331, 330, 311, 312, 314, 316, 321, 328, 334, 863, - 911, 949, 864, 913, 248, 296, 255, 247, 470, 960, - 940, 828, 892, 948, 0, 0, 967, 951, 887, 0, - 916, 0, 966, 823, 907, 0, 826, 830, 962, 944, - 858, 258, 0, 0, 0, 0, 0, 0, 0, 884, - 894, 928, 878, 0, 0, 0, 0, 0, 0, 0, - 856, 0, 903, 0, 0, 0, 835, 827, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 882, 0, 0, 0, 838, 0, 857, 929, 0, 820, - 279, 832, 368, 240, 0, 933, 943, 879, 506, 947, - 877, 876, 923, 836, 939, 870, 336, 834, 305, 192, - 212, 0, 868, 378, 421, 427, 938, 853, 862, 238, - 860, 425, 392, 489, 220, 267, 418, 398, 423, 405, - 270, 902, 921, 424, 342, 475, 412, 486, 507, 508, - 246, 372, 497, 464, 503, 521, 213, 243, 386, 457, - 492, 447, 365, 471, 472, 304, 446, 277, 195, 340, - 513, 211, 433, 229, 218, 477, 495, 272, 416, 203, - 459, 1373, 226, 437, 0, 0, 523, 205, 482, 456, - 361, 301, 302, 204, 0, 417, 251, 275, 241, 381, - 479, 480, 239, 524, 215, 502, 207, 833, 501, 374, - 474, 483, 362, 352, 206, 481, 360, 351, 307, 326, - 327, 263, 286, 410, 345, 411, 287, 370, 369, 371, - 198, 493, 0, 199, 0, 452, 494, 525, 221, 222, - 224, 848, 262, 266, 274, 276, 282, 283, 290, 338, - 385, 409, 407, 413, 934, 469, 487, 498, 505, 511, - 512, 514, 515, 516, 517, 518, 520, 519, 819, 813, - 812, 306, 343, 926, 965, 391, 426, 227, 491, 449, - 843, 847, 841, 908, 842, 897, 898, 844, 956, 957, - 958, 526, 527, 528, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 543, 0, - 930, 837, 0, 845, 846, 0, 936, 945, 946, 544, - 353, 439, 488, 308, 320, 323, 313, 332, 0, 333, - 309, 310, 315, 317, 318, 319, 324, 325, 329, 335, - 235, 201, 901, 191, 208, 339, 961, 414, 271, 522, - 500, 496, 822, 210, 840, 245, 851, 859, 0, 865, - 873, 874, 886, 888, 889, 890, 891, 909, 910, 912, - 920, 922, 925, 927, 932, 942, 964, 193, 194, 200, - 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, - 288, 293, 294, 297, 303, 349, 355, 356, 357, 358, - 375, 376, 377, 380, 383, 384, 387, 389, 390, 393, - 397, 401, 402, 403, 404, 406, 408, 415, 420, 428, - 429, 430, 431, 432, 435, 436, 441, 442, 443, 444, - 445, 453, 454, 458, 476, 478, 490, 504, 509, 434, - 281, 485, 510, 0, 348, 900, 906, 350, 264, 284, - 295, 915, 499, 455, 214, 422, 273, 202, 233, 217, - 242, 257, 260, 299, 359, 366, 395, 400, 278, 254, - 231, 419, 228, 438, 461, 462, 463, 465, 363, 249, - 399, 896, 924, 346, 467, 468, 291, 364, 0, 0, - 950, 935, 466, 0, 881, 953, 850, 869, 963, 872, - 875, 917, 829, 895, 382, 866, 821, 854, 824, 861, - 825, 852, 883, 253, 849, 937, 899, 952, 337, 250, - 831, 855, 396, 871, 197, 919, 440, 237, 347, 344, - 473, 265, 256, 252, 236, 292, 354, 394, 460, 388, - 959, 341, 905, 0, 450, 367, 0, 0, 0, 885, - 941, 893, 931, 880, 918, 839, 904, 954, 867, 914, - 955, 298, 234, 300, 196, 379, 451, 269, 0, 0, - 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, - 330, 311, 312, 314, 316, 321, 328, 334, 863, 911, - 949, 864, 913, 248, 296, 255, 247, 470, 960, 940, - 828, 892, 948, 0, 0, 967, 951, 887, 0, 916, - 0, 966, 823, 907, 0, 826, 830, 962, 944, 858, - 258, 0, 0, 0, 0, 0, 0, 0, 884, 894, - 928, 878, 0, 0, 0, 0, 0, 0, 0, 856, - 0, 903, 0, 0, 0, 835, 827, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 882, - 0, 0, 0, 838, 0, 857, 929, 0, 820, 279, - 832, 368, 240, 0, 933, 943, 879, 506, 947, 877, - 876, 923, 836, 939, 870, 336, 834, 305, 192, 212, - 0, 868, 378, 421, 427, 938, 853, 862, 238, 860, - 425, 392, 489, 220, 267, 418, 398, 423, 405, 270, - 902, 921, 424, 342, 475, 412, 486, 507, 508, 246, - 372, 497, 464, 503, 521, 213, 243, 386, 457, 492, - 447, 365, 471, 472, 304, 446, 277, 195, 340, 513, - 211, 433, 229, 218, 477, 495, 272, 416, 203, 459, - 810, 226, 437, 0, 0, 523, 205, 482, 456, 361, - 301, 302, 204, 0, 417, 251, 275, 241, 381, 479, - 480, 239, 524, 215, 502, 207, 833, 501, 374, 474, - 483, 362, 352, 206, 481, 360, 351, 307, 326, 327, - 263, 286, 410, 345, 411, 287, 370, 369, 371, 198, - 493, 0, 199, 0, 452, 494, 525, 221, 222, 224, - 848, 262, 266, 274, 276, 282, 283, 290, 338, 385, - 409, 407, 413, 934, 469, 487, 498, 505, 511, 512, - 514, 515, 516, 517, 518, 520, 519, 819, 813, 812, - 306, 343, 926, 965, 391, 426, 227, 491, 449, 843, - 847, 841, 908, 842, 897, 898, 844, 956, 957, 958, - 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, - 536, 537, 538, 539, 540, 541, 542, 543, 0, 930, - 837, 0, 845, 846, 0, 936, 945, 946, 544, 353, - 439, 488, 308, 320, 323, 313, 332, 0, 333, 309, - 310, 315, 317, 318, 319, 324, 325, 329, 335, 235, - 201, 901, 191, 208, 339, 961, 414, 271, 522, 500, - 496, 822, 210, 840, 245, 851, 859, 0, 865, 873, - 874, 886, 888, 889, 890, 891, 909, 910, 912, 920, - 922, 925, 927, 932, 942, 964, 193, 194, 200, 209, - 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, - 293, 294, 297, 303, 349, 355, 356, 357, 358, 375, - 376, 377, 380, 383, 384, 387, 389, 390, 393, 397, - 401, 402, 403, 404, 406, 408, 415, 420, 428, 429, - 430, 431, 432, 435, 436, 441, 442, 443, 444, 445, - 453, 454, 458, 476, 478, 490, 504, 509, 434, 281, - 485, 510, 0, 348, 900, 906, 350, 264, 284, 295, - 915, 499, 455, 214, 422, 273, 202, 233, 217, 242, - 257, 260, 299, 359, 366, 395, 400, 278, 254, 231, - 419, 228, 438, 461, 462, 463, 465, 363, 249, 399, - 896, 924, 346, 467, 468, 291, 364, 0, 0, 0, - 0, 466, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 382, 0, 0, 1781, 0, 626, 0, - 0, 0, 253, 631, 0, 0, 0, 337, 250, 0, - 1782, 396, 0, 197, 0, 440, 237, 347, 344, 473, - 265, 256, 252, 236, 292, 354, 394, 460, 388, 638, - 341, 0, 0, 450, 367, 0, 0, 0, 0, 0, - 633, 634, 0, 0, 0, 0, 0, 0, 0, 0, - 298, 234, 300, 196, 379, 451, 269, 0, 87, 0, - 0, 188, 189, 190, 704, 711, 712, 713, 714, 715, - 705, 707, 0, 0, 225, 706, 232, 651, 653, 652, - 662, 663, 664, 665, 666, 667, 668, 649, 709, 716, - 717, 0, 248, 296, 255, 247, 470, 0, 0, 0, - 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, - 0, 0, 609, 623, 0, 637, 0, 0, 0, 258, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 620, 621, 799, 0, 0, 0, - 688, 0, 622, 0, 0, 630, 718, 719, 720, 721, - 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, - 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, - 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, - 752, 753, 754, 755, 756, 757, 758, 759, 632, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, - 368, 240, 0, 687, 0, 0, 506, 0, 0, 685, - 0, 0, 0, 0, 336, 0, 305, 192, 212, 0, - 0, 378, 421, 427, 0, 0, 0, 238, 0, 425, - 392, 489, 220, 267, 418, 398, 423, 405, 270, 0, - 0, 424, 342, 475, 412, 486, 507, 508, 246, 372, - 497, 464, 503, 521, 213, 243, 386, 457, 492, 447, - 365, 471, 472, 304, 446, 277, 195, 340, 513, 211, - 433, 229, 218, 477, 495, 272, 416, 203, 459, 484, - 226, 437, 0, 0, 523, 205, 482, 456, 361, 301, - 302, 204, 0, 417, 251, 275, 241, 381, 479, 480, - 239, 524, 215, 502, 207, 0, 501, 374, 474, 483, - 362, 352, 206, 481, 360, 351, 307, 657, 658, 263, - 286, 410, 345, 411, 287, 370, 369, 371, 198, 493, - 0, 199, 0, 452, 494, 525, 221, 222, 224, 0, - 262, 266, 274, 276, 282, 283, 290, 338, 385, 409, - 407, 413, 0, 469, 487, 498, 505, 511, 512, 514, - 515, 516, 517, 518, 520, 519, 373, 289, 448, 306, - 343, 0, 0, 391, 426, 227, 491, 449, 694, 686, - 642, 698, 644, 695, 696, 639, 640, 643, 697, 526, - 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, - 537, 538, 539, 540, 541, 542, 543, 0, 689, 629, - 628, 0, 635, 636, 0, 647, 648, 650, 654, 655, - 656, 659, 660, 661, 669, 671, 672, 670, 673, 674, - 675, 678, 679, 680, 681, 676, 677, 682, 646, 645, - 627, 191, 208, 339, 0, 414, 271, 522, 500, 496, - 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, - 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, - 294, 297, 303, 349, 355, 356, 357, 358, 375, 376, - 377, 380, 383, 384, 387, 389, 390, 393, 397, 401, - 402, 403, 404, 406, 408, 415, 420, 428, 429, 430, - 431, 432, 435, 436, 441, 442, 443, 444, 445, 453, - 454, 458, 476, 478, 490, 504, 509, 434, 281, 485, - 510, 0, 348, 0, 0, 350, 264, 284, 295, 0, - 499, 455, 214, 422, 273, 202, 233, 217, 242, 257, - 260, 299, 359, 366, 395, 400, 278, 254, 231, 419, - 228, 438, 461, 462, 463, 465, 363, 249, 399, 0, - 364, 346, 467, 468, 291, 466, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 382, 0, 0, - 0, 0, 626, 0, 0, 0, 253, 631, 0, 0, - 0, 337, 250, 0, 0, 396, 0, 197, 0, 440, - 237, 347, 344, 473, 265, 256, 252, 236, 292, 354, - 394, 460, 388, 638, 341, 0, 0, 450, 367, 0, - 0, 0, 0, 0, 633, 634, 0, 0, 0, 0, - 0, 0, 0, 0, 298, 234, 300, 196, 379, 451, - 269, 0, 87, 0, 0, 188, 189, 190, 704, 711, - 712, 713, 714, 715, 705, 707, 0, 0, 225, 706, - 232, 651, 653, 652, 662, 663, 664, 665, 666, 667, - 668, 649, 709, 716, 717, 0, 248, 296, 255, 247, - 470, 0, 0, 1747, 1748, 1749, 0, 0, 216, 0, - 0, 0, 0, 0, 0, 0, 609, 623, 0, 637, - 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 620, 621, - 0, 0, 0, 0, 688, 0, 622, 0, 0, 630, - 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, - 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, - 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, - 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, - 758, 759, 632, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 279, 0, 368, 240, 0, 687, 0, 0, - 506, 0, 0, 685, 0, 0, 0, 0, 336, 0, - 305, 192, 212, 0, 0, 378, 421, 427, 0, 0, - 0, 238, 0, 425, 392, 489, 220, 267, 418, 398, - 423, 405, 270, 0, 0, 424, 342, 475, 412, 486, - 507, 508, 246, 372, 497, 464, 503, 521, 213, 243, - 386, 457, 492, 447, 365, 471, 472, 304, 446, 277, - 195, 340, 513, 211, 433, 229, 218, 477, 495, 272, - 416, 203, 459, 484, 226, 437, 0, 0, 523, 205, - 482, 456, 361, 301, 302, 204, 0, 417, 251, 275, - 241, 381, 479, 480, 239, 524, 215, 502, 207, 0, - 501, 374, 474, 483, 362, 352, 206, 481, 360, 351, - 307, 657, 658, 263, 286, 410, 345, 411, 287, 370, - 369, 371, 198, 493, 0, 199, 0, 452, 494, 525, - 221, 222, 224, 0, 262, 266, 274, 276, 282, 283, - 290, 338, 385, 409, 407, 413, 0, 469, 487, 498, - 505, 511, 512, 514, 515, 516, 517, 518, 520, 519, - 373, 289, 448, 306, 343, 0, 0, 391, 426, 227, - 491, 449, 694, 686, 642, 698, 644, 695, 696, 639, - 640, 643, 697, 526, 527, 528, 529, 530, 531, 532, - 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, - 543, 0, 689, 629, 628, 0, 635, 636, 0, 647, - 648, 650, 654, 655, 656, 659, 660, 661, 669, 671, - 672, 670, 673, 674, 675, 678, 679, 680, 681, 676, - 677, 682, 646, 645, 627, 191, 208, 339, 0, 414, - 271, 522, 500, 496, 0, 210, 0, 245, 0, 0, + 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, + 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, + 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, + 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, + 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, + 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, + 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, + 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, + 364, 249, 400, 0, 365, 346, 468, 469, 291, 467, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 383, 0, 0, 0, 0, 627, 0, 0, 0, + 253, 632, 0, 0, 0, 337, 250, 0, 0, 397, + 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, + 252, 236, 292, 354, 395, 461, 389, 639, 341, 0, + 0, 451, 368, 0, 0, 0, 0, 0, 634, 635, + 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, + 300, 196, 380, 452, 269, 0, 87, 0, 1343, 188, + 189, 190, 706, 713, 714, 715, 716, 717, 707, 709, + 0, 0, 225, 708, 232, 653, 655, 654, 664, 665, + 666, 667, 668, 669, 670, 651, 711, 718, 719, 0, + 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, + 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, + 610, 624, 0, 638, 0, 0, 0, 258, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 621, 622, 0, 0, 0, 0, 690, 0, + 623, 0, 0, 631, 720, 721, 722, 723, 724, 725, + 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, + 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, + 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, + 756, 757, 758, 759, 760, 761, 633, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, + 0, 689, 0, 0, 507, 0, 0, 687, 0, 0, + 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, + 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, + 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, + 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, + 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, + 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, + 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, + 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, + 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, + 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, + 206, 482, 361, 351, 307, 659, 660, 263, 286, 411, + 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, + 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, + 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, + 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, + 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, + 0, 392, 427, 227, 492, 450, 696, 688, 643, 700, + 645, 697, 698, 640, 641, 644, 699, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 0, 691, 630, 629, 0, + 636, 637, 0, 649, 650, 652, 656, 657, 658, 661, + 662, 663, 671, 673, 674, 672, 675, 676, 677, 680, + 681, 682, 683, 678, 679, 684, 647, 646, 648, 628, + 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, + 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, + 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, + 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, + 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, + 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, + 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, + 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, + 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, + 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, + 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, + 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, + 346, 468, 469, 291, 467, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, + 0, 627, 0, 0, 0, 253, 632, 0, 0, 0, + 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, + 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, + 461, 389, 639, 341, 0, 0, 451, 368, 0, 0, + 0, 0, 0, 634, 635, 0, 0, 0, 0, 0, + 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, + 0, 87, 0, 0, 188, 189, 190, 706, 713, 714, + 715, 716, 717, 707, 709, 0, 0, 225, 708, 232, + 653, 655, 654, 664, 665, 666, 667, 668, 669, 670, + 651, 711, 718, 719, 0, 248, 296, 255, 247, 471, + 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, + 0, 0, 0, 0, 0, 610, 624, 0, 638, 0, + 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 621, 622, 801, + 0, 0, 0, 690, 0, 623, 0, 0, 631, 720, + 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, + 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, + 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, + 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, + 761, 633, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 279, 0, 369, 240, 0, 689, 0, 0, 507, + 0, 0, 687, 0, 0, 0, 0, 336, 0, 305, + 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, + 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, + 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, + 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, + 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, + 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, + 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, + 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, + 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, + 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, + 659, 660, 263, 286, 411, 345, 412, 287, 371, 370, + 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, + 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, + 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, + 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, + 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, + 450, 696, 688, 643, 700, 645, 697, 698, 640, 641, + 644, 699, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 0, 691, 630, 629, 0, 636, 637, 0, 649, 650, + 652, 656, 657, 658, 661, 662, 663, 671, 673, 674, + 672, 675, 676, 677, 680, 681, 682, 683, 678, 679, + 684, 647, 646, 648, 628, 191, 208, 339, 0, 415, + 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, - 357, 358, 375, 376, 377, 380, 383, 384, 387, 389, - 390, 393, 397, 401, 402, 403, 404, 406, 408, 415, - 420, 428, 429, 430, 431, 432, 435, 436, 441, 442, - 443, 444, 445, 453, 454, 458, 476, 478, 490, 504, - 509, 434, 281, 485, 510, 0, 348, 0, 0, 350, - 264, 284, 295, 0, 499, 455, 214, 422, 273, 202, - 233, 217, 242, 257, 260, 299, 359, 366, 395, 400, - 278, 254, 231, 419, 228, 438, 461, 462, 463, 465, - 363, 249, 399, 0, 364, 346, 467, 468, 291, 466, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 382, 0, 0, 0, 0, 626, 0, 0, 0, - 253, 631, 0, 0, 0, 337, 250, 0, 0, 396, - 0, 197, 0, 440, 237, 347, 344, 473, 265, 256, - 252, 236, 292, 354, 394, 460, 388, 638, 341, 0, - 0, 450, 367, 0, 0, 0, 0, 0, 633, 634, - 0, 0, 0, 0, 0, 0, 1864, 0, 298, 234, - 300, 196, 379, 451, 269, 0, 87, 0, 0, 188, - 189, 190, 704, 711, 712, 713, 714, 715, 705, 707, - 0, 0, 225, 706, 232, 651, 653, 652, 662, 663, - 664, 665, 666, 667, 668, 649, 709, 716, 717, 1865, - 248, 296, 255, 247, 470, 0, 0, 0, 0, 0, + 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, + 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, + 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, + 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, + 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, + 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, + 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, + 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, + 364, 249, 400, 0, 365, 346, 468, 469, 291, 467, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 383, 0, 0, 0, 0, 627, 0, 0, 0, + 253, 632, 0, 0, 0, 337, 250, 0, 0, 397, + 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, + 252, 236, 292, 354, 395, 461, 389, 639, 341, 0, + 0, 451, 368, 0, 0, 0, 0, 0, 634, 635, + 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, + 300, 196, 380, 452, 269, 0, 87, 0, 0, 188, + 189, 190, 706, 713, 714, 715, 716, 717, 707, 709, + 0, 0, 225, 708, 232, 653, 655, 654, 664, 665, + 666, 667, 668, 669, 670, 651, 711, 718, 719, 0, + 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, - 609, 623, 0, 637, 0, 0, 0, 258, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 620, 621, 0, 0, 0, 0, 688, 0, - 622, 0, 0, 630, 718, 719, 720, 721, 722, 723, - 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, - 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, - 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, - 754, 755, 756, 757, 758, 759, 632, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 279, 0, 368, 240, - 0, 687, 0, 0, 506, 0, 0, 685, 0, 0, - 0, 0, 336, 0, 305, 192, 212, 0, 0, 378, - 421, 427, 0, 0, 0, 238, 0, 425, 392, 489, - 220, 267, 418, 398, 423, 405, 270, 0, 0, 424, - 342, 475, 412, 486, 507, 508, 246, 372, 497, 464, - 503, 521, 213, 243, 386, 457, 492, 447, 365, 471, - 472, 304, 446, 277, 195, 340, 513, 211, 433, 229, - 218, 477, 495, 272, 416, 203, 459, 484, 226, 437, - 0, 0, 523, 205, 482, 456, 361, 301, 302, 204, - 0, 417, 251, 275, 241, 381, 479, 480, 239, 524, - 215, 502, 207, 0, 501, 374, 474, 483, 362, 352, - 206, 481, 360, 351, 307, 657, 658, 263, 286, 410, - 345, 411, 287, 370, 369, 371, 198, 493, 0, 199, - 0, 452, 494, 525, 221, 222, 224, 0, 262, 266, - 274, 276, 282, 283, 290, 338, 385, 409, 407, 413, - 0, 469, 487, 498, 505, 511, 512, 514, 515, 516, - 517, 518, 520, 519, 373, 289, 448, 306, 343, 0, - 0, 391, 426, 227, 491, 449, 694, 686, 642, 698, - 644, 695, 696, 639, 640, 643, 697, 526, 527, 528, - 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, - 539, 540, 541, 542, 543, 0, 689, 629, 628, 0, - 635, 636, 0, 647, 648, 650, 654, 655, 656, 659, - 660, 661, 669, 671, 672, 670, 673, 674, 675, 678, - 679, 680, 681, 676, 677, 682, 646, 645, 627, 191, - 208, 339, 0, 414, 271, 522, 500, 496, 0, 210, - 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, - 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, - 303, 349, 355, 356, 357, 358, 375, 376, 377, 380, - 383, 384, 387, 389, 390, 393, 397, 401, 402, 403, - 404, 406, 408, 415, 420, 428, 429, 430, 431, 432, - 435, 436, 441, 442, 443, 444, 445, 453, 454, 458, - 476, 478, 490, 504, 509, 434, 281, 485, 510, 0, - 348, 0, 0, 350, 264, 284, 295, 0, 499, 455, - 214, 422, 273, 202, 233, 217, 242, 257, 260, 299, - 359, 366, 395, 400, 278, 254, 231, 419, 228, 438, - 461, 462, 463, 465, 363, 249, 399, 0, 0, 346, - 467, 468, 291, 364, 0, 0, 0, 78, 466, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 382, 0, 0, 0, 0, 626, 0, 0, 0, 253, - 631, 0, 0, 0, 337, 250, 0, 0, 396, 0, - 197, 0, 440, 237, 347, 344, 473, 265, 256, 252, - 236, 292, 354, 394, 460, 388, 638, 341, 0, 0, - 450, 367, 0, 0, 0, 0, 0, 633, 634, 0, - 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, - 196, 379, 451, 269, 0, 87, 0, 0, 188, 189, - 190, 704, 711, 712, 713, 714, 715, 705, 707, 0, - 0, 225, 706, 232, 651, 653, 652, 662, 663, 664, - 665, 666, 667, 668, 649, 709, 716, 717, 0, 248, - 296, 255, 247, 470, 0, 0, 0, 0, 0, 0, - 0, 216, 0, 0, 0, 0, 0, 0, 0, 609, - 623, 0, 637, 0, 0, 0, 258, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 620, 621, 0, 0, 0, 0, 688, 0, 622, - 0, 0, 630, 718, 719, 720, 721, 722, 723, 724, - 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, - 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, - 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, - 755, 756, 757, 758, 759, 632, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 279, 0, 368, 240, 0, - 687, 0, 0, 506, 0, 0, 685, 0, 0, 0, - 0, 336, 0, 305, 192, 212, 0, 0, 378, 421, - 427, 0, 0, 0, 238, 0, 425, 392, 489, 220, - 267, 418, 398, 423, 405, 270, 0, 0, 424, 342, - 475, 412, 486, 507, 508, 246, 372, 497, 464, 503, - 521, 213, 243, 386, 457, 492, 447, 365, 471, 472, - 304, 446, 277, 195, 340, 513, 211, 433, 229, 218, - 477, 495, 272, 416, 203, 459, 484, 226, 437, 0, - 0, 523, 205, 482, 456, 361, 301, 302, 204, 0, - 417, 251, 275, 241, 381, 479, 480, 239, 524, 215, - 502, 207, 0, 501, 374, 474, 483, 362, 352, 206, - 481, 360, 351, 307, 657, 658, 263, 286, 410, 345, - 411, 287, 370, 369, 371, 198, 493, 0, 199, 0, - 452, 494, 525, 221, 222, 224, 0, 262, 266, 274, - 276, 282, 283, 290, 338, 385, 409, 407, 413, 0, - 469, 487, 498, 505, 511, 512, 514, 515, 516, 517, - 518, 520, 519, 373, 289, 448, 306, 343, 0, 0, - 391, 426, 227, 491, 449, 694, 686, 642, 698, 644, - 695, 696, 639, 640, 643, 697, 526, 527, 528, 529, + 610, 624, 0, 638, 0, 0, 0, 258, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 621, 622, 0, 0, 0, 0, 690, 0, + 623, 0, 0, 631, 720, 721, 722, 723, 724, 725, + 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, + 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, + 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, + 756, 757, 758, 759, 760, 761, 633, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, + 0, 689, 0, 0, 507, 0, 0, 687, 0, 0, + 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, + 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, + 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, + 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, + 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, + 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, + 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, + 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, + 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, + 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, + 206, 482, 361, 351, 307, 659, 660, 263, 286, 411, + 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, + 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, + 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, + 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, + 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, + 0, 392, 427, 227, 492, 450, 696, 688, 643, 700, + 645, 697, 698, 640, 641, 644, 699, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 0, 689, 629, 628, 0, 635, - 636, 0, 647, 648, 650, 654, 655, 656, 659, 660, - 661, 669, 671, 672, 670, 673, 674, 675, 678, 679, - 680, 681, 676, 677, 682, 646, 645, 627, 191, 208, - 339, 86, 414, 271, 522, 500, 496, 0, 210, 0, - 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, - 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, - 349, 355, 356, 357, 358, 375, 376, 377, 380, 383, - 384, 387, 389, 390, 393, 397, 401, 402, 403, 404, - 406, 408, 415, 420, 428, 429, 430, 431, 432, 435, - 436, 441, 442, 443, 444, 445, 453, 454, 458, 476, - 478, 490, 504, 509, 434, 281, 485, 510, 0, 348, - 0, 0, 350, 264, 284, 295, 0, 499, 455, 214, - 422, 273, 202, 233, 217, 242, 257, 260, 299, 359, - 366, 395, 400, 278, 254, 231, 419, 228, 438, 461, - 462, 463, 465, 363, 249, 399, 0, 364, 346, 467, - 468, 291, 466, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 382, 0, 0, 0, 0, 626, - 0, 0, 0, 253, 631, 0, 0, 0, 337, 250, - 0, 0, 396, 0, 197, 0, 440, 237, 347, 344, - 473, 265, 256, 252, 236, 292, 354, 394, 460, 388, - 638, 341, 0, 0, 450, 367, 0, 0, 0, 0, - 0, 633, 634, 0, 0, 0, 0, 0, 0, 0, - 0, 298, 234, 300, 196, 379, 451, 269, 0, 87, - 0, 0, 188, 189, 190, 704, 711, 712, 713, 714, - 715, 705, 707, 0, 0, 225, 706, 232, 651, 653, - 652, 662, 663, 664, 665, 666, 667, 668, 649, 709, - 716, 717, 0, 248, 296, 255, 247, 470, 0, 0, - 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, - 0, 0, 0, 609, 623, 0, 637, 0, 0, 0, - 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 620, 621, 0, 0, 0, - 0, 688, 0, 622, 0, 0, 630, 718, 719, 720, + 540, 541, 542, 543, 544, 0, 691, 630, 629, 0, + 636, 637, 0, 649, 650, 652, 656, 657, 658, 661, + 662, 663, 671, 673, 674, 672, 675, 676, 677, 680, + 681, 682, 683, 678, 679, 684, 647, 646, 648, 628, + 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, + 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, + 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, + 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, + 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, + 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, + 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, + 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, + 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, + 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, + 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, + 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, + 346, 468, 469, 291, 467, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, + 0, 627, 0, 0, 0, 253, 632, 0, 0, 0, + 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, + 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, + 461, 389, 639, 341, 0, 0, 451, 368, 0, 0, + 0, 0, 0, 634, 635, 0, 0, 0, 0, 0, + 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, + 0, 87, 0, 0, 188, 189, 190, 706, 713, 714, + 715, 716, 717, 707, 709, 0, 0, 225, 708, 232, + 653, 655, 654, 664, 665, 666, 667, 668, 669, 670, + 651, 711, 718, 719, 0, 248, 296, 255, 247, 471, + 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, + 0, 0, 0, 0, 0, 0, 624, 0, 638, 0, + 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 621, 622, 0, + 0, 0, 0, 690, 0, 623, 0, 0, 631, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, - 751, 752, 753, 754, 755, 756, 757, 758, 759, 632, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, - 0, 368, 240, 0, 687, 0, 0, 506, 0, 0, - 685, 0, 0, 0, 0, 336, 0, 305, 192, 212, - 0, 0, 378, 421, 427, 0, 0, 0, 238, 0, - 425, 392, 489, 220, 267, 418, 398, 423, 405, 270, - 2969, 0, 424, 342, 475, 412, 486, 507, 508, 246, - 372, 497, 464, 503, 521, 213, 243, 386, 457, 492, - 447, 365, 471, 472, 304, 446, 277, 195, 340, 513, - 211, 433, 229, 218, 477, 495, 272, 416, 203, 459, - 484, 226, 437, 0, 0, 523, 205, 482, 456, 361, - 301, 302, 204, 0, 417, 251, 275, 241, 381, 479, - 480, 239, 524, 215, 502, 207, 0, 501, 374, 474, - 483, 362, 352, 206, 481, 360, 351, 307, 657, 658, - 263, 286, 410, 345, 411, 287, 370, 369, 371, 198, - 493, 0, 199, 0, 452, 494, 525, 221, 222, 224, - 0, 262, 266, 274, 276, 282, 283, 290, 338, 385, - 409, 407, 413, 0, 469, 487, 498, 505, 511, 512, - 514, 515, 516, 517, 518, 520, 519, 373, 289, 448, - 306, 343, 0, 0, 391, 426, 227, 491, 449, 694, - 686, 642, 698, 644, 695, 696, 639, 640, 643, 697, - 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, - 536, 537, 538, 539, 540, 541, 542, 543, 0, 689, - 629, 628, 0, 635, 636, 0, 647, 648, 650, 654, - 655, 656, 659, 660, 661, 669, 671, 672, 670, 673, - 674, 675, 678, 679, 680, 681, 676, 677, 682, 646, - 645, 627, 191, 208, 339, 0, 414, 271, 522, 500, - 496, 0, 210, 0, 245, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, - 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, - 293, 294, 297, 303, 349, 355, 356, 357, 358, 375, - 376, 377, 380, 383, 384, 387, 389, 390, 393, 397, - 401, 402, 403, 404, 406, 408, 415, 420, 428, 429, - 430, 431, 432, 435, 436, 441, 442, 443, 444, 445, - 453, 454, 458, 476, 478, 490, 504, 509, 434, 281, - 485, 510, 0, 348, 0, 0, 350, 264, 284, 295, - 0, 499, 455, 214, 422, 273, 202, 233, 217, 242, - 257, 260, 299, 359, 366, 395, 400, 278, 254, 231, - 419, 228, 438, 461, 462, 463, 465, 363, 249, 399, - 0, 364, 346, 467, 468, 291, 466, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 382, 0, - 0, 0, 0, 626, 0, 0, 0, 253, 631, 0, - 0, 0, 337, 250, 0, 0, 396, 0, 197, 0, - 440, 237, 347, 344, 473, 265, 256, 252, 236, 292, - 354, 394, 460, 388, 638, 341, 0, 0, 450, 367, - 0, 0, 0, 0, 0, 633, 634, 0, 0, 0, - 0, 0, 0, 0, 0, 298, 234, 300, 196, 379, - 451, 269, 0, 87, 0, 1340, 188, 189, 190, 704, - 711, 712, 713, 714, 715, 705, 707, 0, 0, 225, - 706, 232, 651, 653, 652, 662, 663, 664, 665, 666, - 667, 668, 649, 709, 716, 717, 0, 248, 296, 255, - 247, 470, 0, 0, 0, 0, 0, 0, 0, 216, - 0, 0, 0, 0, 0, 0, 0, 609, 623, 0, - 637, 0, 0, 0, 258, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 620, - 621, 0, 0, 0, 0, 688, 0, 622, 0, 0, - 630, 718, 719, 720, 721, 722, 723, 724, 725, 726, - 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, - 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, - 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, - 757, 758, 759, 632, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 279, 0, 368, 240, 0, 687, 0, - 0, 506, 0, 0, 685, 0, 0, 0, 0, 336, - 0, 305, 192, 212, 0, 0, 378, 421, 427, 0, - 0, 0, 238, 0, 425, 392, 489, 220, 267, 418, - 398, 423, 405, 270, 0, 0, 424, 342, 475, 412, - 486, 507, 508, 246, 372, 497, 464, 503, 521, 213, - 243, 386, 457, 492, 447, 365, 471, 472, 304, 446, - 277, 195, 340, 513, 211, 433, 229, 218, 477, 495, - 272, 416, 203, 459, 484, 226, 437, 0, 0, 523, - 205, 482, 456, 361, 301, 302, 204, 0, 417, 251, - 275, 241, 381, 479, 480, 239, 524, 215, 502, 207, - 0, 501, 374, 474, 483, 362, 352, 206, 481, 360, - 351, 307, 657, 658, 263, 286, 410, 345, 411, 287, - 370, 369, 371, 198, 493, 0, 199, 0, 452, 494, - 525, 221, 222, 224, 0, 262, 266, 274, 276, 282, - 283, 290, 338, 385, 409, 407, 413, 0, 469, 487, - 498, 505, 511, 512, 514, 515, 516, 517, 518, 520, - 519, 373, 289, 448, 306, 343, 0, 0, 391, 426, - 227, 491, 449, 694, 686, 642, 698, 644, 695, 696, - 639, 640, 643, 697, 526, 527, 528, 529, 530, 531, - 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, - 542, 543, 0, 689, 629, 628, 0, 635, 636, 0, - 647, 648, 650, 654, 655, 656, 659, 660, 661, 669, - 671, 672, 670, 673, 674, 675, 678, 679, 680, 681, - 676, 677, 682, 646, 645, 627, 191, 208, 339, 0, - 414, 271, 522, 500, 496, 0, 210, 0, 245, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, - 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, - 356, 357, 358, 375, 376, 377, 380, 383, 384, 387, - 389, 390, 393, 397, 401, 402, 403, 404, 406, 408, - 415, 420, 428, 429, 430, 431, 432, 435, 436, 441, - 442, 443, 444, 445, 453, 454, 458, 476, 478, 490, - 504, 509, 434, 281, 485, 510, 0, 348, 0, 0, - 350, 264, 284, 295, 0, 499, 455, 214, 422, 273, - 202, 233, 217, 242, 257, 260, 299, 359, 366, 395, - 400, 278, 254, 231, 419, 228, 438, 461, 462, 463, - 465, 363, 249, 399, 0, 364, 346, 467, 468, 291, - 466, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 382, 0, 0, 0, 0, 626, 0, 0, - 0, 253, 631, 0, 0, 0, 337, 250, 0, 0, - 396, 0, 197, 0, 440, 237, 347, 344, 473, 265, - 256, 252, 236, 292, 354, 394, 460, 388, 638, 341, - 0, 0, 450, 367, 0, 0, 0, 0, 0, 633, - 634, 0, 0, 0, 0, 0, 0, 0, 0, 298, - 234, 300, 196, 379, 451, 269, 0, 87, 0, 0, - 188, 189, 190, 704, 711, 712, 713, 714, 715, 705, - 707, 0, 0, 225, 706, 232, 651, 653, 652, 662, - 663, 664, 665, 666, 667, 668, 649, 709, 716, 717, - 0, 248, 296, 255, 247, 470, 0, 0, 0, 0, - 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, - 0, 609, 623, 0, 637, 0, 0, 0, 258, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 620, 621, 799, 0, 0, 0, 688, - 0, 622, 0, 0, 630, 718, 719, 720, 721, 722, - 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, - 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, - 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, - 753, 754, 755, 756, 757, 758, 759, 632, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 279, 0, 368, - 240, 0, 687, 0, 0, 506, 0, 0, 685, 0, - 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, - 378, 421, 427, 0, 0, 0, 238, 0, 425, 392, - 489, 220, 267, 418, 398, 423, 405, 270, 0, 0, - 424, 342, 475, 412, 486, 507, 508, 246, 372, 497, - 464, 503, 521, 213, 243, 386, 457, 492, 447, 365, - 471, 472, 304, 446, 277, 195, 340, 513, 211, 433, - 229, 218, 477, 495, 272, 416, 203, 459, 484, 226, - 437, 0, 0, 523, 205, 482, 456, 361, 301, 302, - 204, 0, 417, 251, 275, 241, 381, 479, 480, 239, - 524, 215, 502, 207, 0, 501, 374, 474, 483, 362, - 352, 206, 481, 360, 351, 307, 657, 658, 263, 286, - 410, 345, 411, 287, 370, 369, 371, 198, 493, 0, - 199, 0, 452, 494, 525, 221, 222, 224, 0, 262, - 266, 274, 276, 282, 283, 290, 338, 385, 409, 407, - 413, 0, 469, 487, 498, 505, 511, 512, 514, 515, - 516, 517, 518, 520, 519, 373, 289, 448, 306, 343, - 0, 0, 391, 426, 227, 491, 449, 694, 686, 642, - 698, 644, 695, 696, 639, 640, 643, 697, 526, 527, - 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, - 538, 539, 540, 541, 542, 543, 0, 689, 629, 628, - 0, 635, 636, 0, 647, 648, 650, 654, 655, 656, - 659, 660, 661, 669, 671, 672, 670, 673, 674, 675, - 678, 679, 680, 681, 676, 677, 682, 646, 645, 627, - 191, 208, 339, 0, 414, 271, 522, 500, 496, 0, + 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, + 761, 633, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 279, 0, 369, 240, 0, 689, 0, 0, 507, + 0, 0, 687, 0, 0, 0, 0, 336, 0, 305, + 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, + 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, + 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, + 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, + 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, + 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, + 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, + 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, + 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, + 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, + 659, 660, 263, 286, 411, 345, 412, 287, 371, 370, + 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, + 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, + 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, + 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, + 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, + 450, 696, 688, 643, 700, 645, 697, 698, 640, 641, + 644, 699, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 0, 691, 630, 629, 0, 636, 637, 0, 649, 650, + 652, 656, 657, 658, 661, 662, 663, 671, 673, 674, + 672, 675, 676, 677, 680, 681, 682, 683, 678, 679, + 684, 647, 646, 648, 628, 191, 208, 339, 0, 415, + 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, + 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, + 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, + 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, + 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, + 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, + 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, + 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, + 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, + 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, + 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, + 364, 249, 400, 0, 365, 346, 468, 469, 291, 467, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 383, 0, 0, 0, 0, 0, 0, 0, 0, + 253, 0, 0, 0, 0, 337, 250, 0, 0, 397, + 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, + 252, 236, 292, 354, 395, 461, 389, 0, 341, 0, + 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, + 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, + 189, 190, 0, 713, 714, 0, 0, 0, 0, 1691, + 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, + 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, + 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, + 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 720, 721, 722, 723, 724, 725, + 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, + 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, + 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, + 756, 757, 758, 759, 760, 761, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, + 0, 0, 0, 0, 507, 0, 0, 0, 0, 0, + 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, + 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, + 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, + 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, + 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, + 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, + 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, + 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, + 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, + 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, + 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, + 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, + 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, + 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, + 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, + 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, + 0, 392, 427, 227, 492, 450, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 545, 353, 440, 489, 308, + 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, + 318, 319, 324, 325, 329, 335, 235, 201, 359, 0, + 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, + 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, + 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, + 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, + 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, + 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, + 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, + 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, + 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, + 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, + 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, + 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, + 346, 468, 469, 291, 467, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, + 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, + 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, + 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, + 461, 389, 0, 341, 0, 0, 451, 368, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, + 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, + 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, + 0, 0, 0, 0, 0, 248, 296, 255, 247, 471, + 0, 0, 0, 0, 0, 0, 0, 216, 0, 1020, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 279, 0, 369, 240, 0, 0, 0, 1019, 507, + 0, 0, 0, 0, 0, 1016, 1017, 336, 977, 305, + 192, 212, 1010, 1014, 379, 422, 428, 0, 0, 0, + 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, + 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, + 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, + 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, + 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, + 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, + 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, + 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, + 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, + 326, 327, 263, 286, 411, 345, 412, 287, 371, 370, + 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, + 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, + 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, + 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, + 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, + 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 545, 353, 440, 489, 308, 320, 323, 313, 332, 0, + 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, + 335, 235, 201, 359, 0, 191, 208, 339, 0, 415, + 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, + 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, + 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, + 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, + 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, + 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, + 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, + 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, + 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, + 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, + 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, + 364, 249, 400, 0, 0, 346, 468, 469, 291, 365, + 0, 0, 0, 78, 467, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, + 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, + 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, + 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, + 461, 389, 0, 341, 0, 0, 451, 368, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, + 0, 87, 0, 0, 188, 189, 190, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, + 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, + 0, 0, 0, 0, 0, 248, 296, 255, 247, 471, + 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 279, 0, 369, 240, 0, 0, 0, 0, 507, + 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, + 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, + 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, + 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, + 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, + 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, + 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, + 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, + 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, + 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, + 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, + 326, 327, 263, 286, 411, 345, 412, 287, 371, 370, + 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, + 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, + 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, + 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, + 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, + 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 545, 353, 440, 489, 308, 320, 323, 313, 332, 0, + 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, + 335, 235, 201, 359, 0, 191, 208, 339, 86, 415, + 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, + 0, 0, 0, 0, 1856, 0, 0, 1855, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, + 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, + 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, + 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, + 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, + 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, + 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, + 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, + 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, + 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, + 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, + 364, 249, 400, 0, 1362, 346, 468, 469, 291, 467, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 383, 0, 0, 0, 1364, 0, 0, 0, 0, + 253, 0, 0, 0, 0, 337, 250, 0, 0, 397, + 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, + 252, 236, 292, 354, 395, 461, 389, 0, 341, 0, + 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, + 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, + 189, 190, 0, 1366, 0, 0, 0, 0, 0, 0, + 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, + 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, + 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, + 0, 0, 216, 0, 0, 0, 1192, 0, 1193, 1194, + 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, + 0, 0, 0, 0, 507, 0, 0, 0, 0, 0, + 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, + 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, + 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, + 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, + 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, + 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, + 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, + 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, + 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, + 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, + 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, + 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, + 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, + 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, + 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, + 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, + 0, 392, 427, 227, 492, 450, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 545, 353, 440, 489, 308, + 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, + 318, 319, 324, 325, 329, 335, 235, 201, 359, 0, + 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, + 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, + 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, + 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, + 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, + 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, + 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, + 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, + 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, + 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, + 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, + 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, + 346, 468, 469, 291, 467, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, + 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, + 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, + 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, + 461, 389, 0, 341, 0, 0, 451, 368, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, + 0, 0, 0, 0, 188, 189, 190, 1305, 1308, 0, + 0, 0, 0, 1304, 1307, 0, 0, 225, 1303, 232, + 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, + 0, 0, 0, 0, 0, 248, 296, 255, 247, 471, + 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 279, 0, 369, 240, 0, 0, 0, 0, 507, + 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, + 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, + 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, + 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, + 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, + 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, + 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, + 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, + 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, + 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, + 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, + 326, 327, 263, 286, 411, 345, 412, 287, 371, 370, + 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, + 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, + 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, + 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, + 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, + 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 545, 353, 440, 489, 308, 320, 323, 313, 332, 0, + 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, + 335, 235, 201, 359, 0, 191, 208, 339, 0, 415, + 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, + 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, + 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, + 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, + 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, + 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, + 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, + 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, + 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, + 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, + 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, + 364, 249, 400, 0, 0, 346, 468, 469, 291, 365, + 0, 0, 0, 78, 467, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, + 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, + 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, + 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, + 461, 389, 0, 341, 0, 0, 451, 368, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, + 0, 87, 0, 1343, 188, 189, 190, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, + 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, + 0, 0, 0, 0, 0, 248, 296, 255, 247, 471, + 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 279, 0, 369, 240, 0, 0, 0, 0, 507, + 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, + 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, + 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, + 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, + 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, + 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, + 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, + 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, + 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, + 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, + 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, + 326, 327, 263, 286, 411, 345, 412, 287, 371, 370, + 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, + 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, + 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, + 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, + 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, + 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 545, 353, 440, 489, 308, 320, 323, 313, 332, 0, + 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, + 335, 235, 201, 359, 0, 191, 208, 339, 86, 415, + 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, + 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, + 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, + 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, + 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, + 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, + 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, + 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, + 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, + 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, + 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, + 364, 249, 400, 0, 365, 346, 468, 469, 291, 467, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 383, 0, 0, 0, 0, 0, 0, 0, 0, + 253, 0, 0, 0, 0, 337, 250, 0, 0, 397, + 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, + 252, 236, 292, 354, 395, 461, 389, 0, 341, 0, + 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, + 300, 196, 380, 452, 269, 0, 87, 0, 0, 188, + 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, + 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, + 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, + 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, + 0, 0, 0, 0, 507, 0, 0, 0, 0, 0, + 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, + 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, + 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, + 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, + 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, + 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, + 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, + 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, + 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, + 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, + 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, + 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, + 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, + 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, + 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, + 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, + 0, 392, 427, 227, 492, 450, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 545, 353, 440, 489, 308, + 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, + 318, 319, 324, 325, 329, 335, 235, 201, 359, 0, + 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, + 210, 0, 245, 0, 0, 0, 0, 0, 0, 1856, + 0, 0, 1855, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, + 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, + 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, + 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, + 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, + 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, + 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, + 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, + 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, + 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, + 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, + 346, 468, 469, 291, 467, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, + 1807, 0, 0, 0, 0, 253, 0, 0, 0, 0, + 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, + 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, + 461, 389, 0, 341, 0, 0, 451, 368, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, + 0, 0, 0, 0, 188, 189, 190, 0, 1544, 0, + 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, + 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, + 0, 0, 0, 0, 0, 248, 296, 255, 247, 471, + 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 279, 0, 369, 240, 0, 0, 0, 0, 507, + 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, + 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, + 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, + 406, 270, 0, 1805, 425, 342, 476, 413, 487, 508, + 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, + 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, + 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, + 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, + 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, + 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, + 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, + 326, 327, 263, 286, 411, 345, 412, 287, 371, 370, + 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, + 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, + 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, + 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, + 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, + 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 545, 353, 440, 489, 308, 320, 323, 313, 332, 0, + 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, + 335, 235, 201, 359, 0, 191, 208, 339, 0, 415, + 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, + 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, + 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, + 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, + 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, + 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, + 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, + 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, + 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, + 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, + 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, + 364, 249, 400, 0, 365, 346, 468, 469, 291, 467, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 383, 0, 0, 0, 0, 0, 0, 0, 0, + 253, 0, 0, 0, 0, 337, 250, 0, 0, 397, + 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, + 252, 236, 292, 354, 395, 461, 389, 0, 341, 0, + 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, + 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, + 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, + 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, + 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, + 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, + 0, 0, 0, 0, 0, 0, 971, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, + 0, 0, 0, 0, 507, 0, 0, 0, 0, 0, + 0, 0, 336, 977, 305, 192, 212, 975, 0, 379, + 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, + 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, + 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, + 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, + 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, + 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, + 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, + 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, + 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, + 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, + 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, + 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, + 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, + 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, + 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, + 0, 392, 427, 227, 492, 450, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 545, 353, 440, 489, 308, + 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, + 318, 319, 324, 325, 329, 335, 235, 201, 359, 0, + 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, + 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, + 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, + 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, + 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, + 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, + 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, + 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, + 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, + 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, + 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, + 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, + 346, 468, 469, 291, 467, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, + 1807, 0, 0, 0, 0, 253, 0, 0, 0, 0, + 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, + 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, + 461, 389, 0, 341, 0, 0, 451, 368, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, + 0, 0, 0, 0, 188, 189, 190, 0, 1544, 0, + 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, + 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, + 0, 0, 0, 0, 0, 248, 296, 255, 247, 471, + 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 279, 0, 369, 240, 0, 0, 0, 0, 507, + 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, + 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, + 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, + 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, + 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, + 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, + 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, + 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, + 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, + 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, + 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, + 326, 327, 263, 286, 411, 345, 412, 287, 371, 370, + 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, + 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, + 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, + 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, + 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, + 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 545, 353, 440, 489, 308, 320, 323, 313, 332, 0, + 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, + 335, 235, 201, 359, 0, 191, 208, 339, 0, 415, + 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, + 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, + 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, + 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, + 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, + 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, + 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, + 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, + 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, + 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, + 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, + 364, 249, 400, 0, 365, 346, 468, 469, 291, 467, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 383, 0, 0, 0, 0, 0, 0, 0, 0, + 253, 0, 0, 0, 0, 337, 250, 0, 0, 397, + 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, + 252, 236, 292, 354, 395, 461, 389, 0, 341, 0, + 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, + 300, 196, 380, 452, 269, 0, 0, 0, 1343, 188, + 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, + 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, + 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, + 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, + 0, 0, 0, 0, 507, 0, 0, 0, 2903, 0, + 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, + 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, + 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, + 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, + 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, + 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, + 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, + 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, + 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, + 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, + 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, + 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, + 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, + 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, + 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, + 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, + 0, 392, 427, 227, 492, 450, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 545, 353, 440, 489, 308, + 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, + 318, 319, 324, 325, 329, 335, 235, 201, 359, 0, + 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, + 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, + 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, + 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, + 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, + 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, + 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, + 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, + 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, + 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, + 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, + 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, + 346, 468, 469, 291, 467, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, + 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, + 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, + 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, + 461, 389, 0, 341, 0, 0, 451, 368, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, + 0, 0, 0, 0, 188, 189, 190, 0, 1687, 0, + 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, + 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, + 0, 0, 0, 0, 0, 248, 296, 255, 247, 471, + 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1688, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 279, 0, 369, 240, 0, 0, 0, 0, 507, + 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, + 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, + 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, + 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, + 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, + 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, + 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, + 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, + 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, + 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, + 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, + 326, 327, 263, 286, 411, 345, 412, 287, 371, 370, + 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, + 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, + 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, + 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, + 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, + 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 545, 353, 440, 489, 308, 320, 323, 313, 332, 0, + 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, + 335, 235, 201, 359, 0, 191, 208, 339, 0, 415, + 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, + 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, + 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, + 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, + 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, + 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, + 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, + 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, + 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, + 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, + 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, + 364, 249, 400, 0, 365, 346, 468, 469, 291, 467, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 383, 0, 0, 0, 0, 0, 0, 0, 0, + 253, 0, 0, 0, 0, 337, 250, 0, 0, 397, + 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, + 252, 236, 292, 354, 395, 461, 389, 0, 341, 0, + 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, + 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, + 189, 190, 0, 2153, 0, 0, 0, 0, 0, 0, + 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, + 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, + 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, + 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2154, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, + 0, 0, 0, 0, 507, 0, 0, 0, 0, 0, + 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, + 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, + 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, + 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, + 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, + 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, + 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, + 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, + 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, + 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, + 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, + 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, + 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, + 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, + 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, + 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, + 0, 392, 427, 227, 492, 450, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 545, 353, 440, 489, 308, + 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, + 318, 319, 324, 325, 329, 335, 235, 201, 359, 0, + 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, + 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, + 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, + 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, + 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, + 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, + 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, + 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, + 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, + 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, + 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, + 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, + 346, 468, 469, 291, 467, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, + 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, + 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, + 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, + 461, 389, 0, 341, 0, 0, 451, 368, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, + 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, + 2138, 0, 0, 0, 2139, 0, 0, 225, 0, 232, + 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, + 0, 0, 0, 0, 0, 248, 296, 255, 247, 471, + 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 279, 0, 369, 240, 0, 0, 0, 0, 507, + 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, + 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, + 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, + 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, + 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, + 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, + 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, + 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, + 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, + 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, + 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, + 326, 327, 263, 286, 411, 345, 412, 287, 371, 370, + 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, + 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, + 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, + 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, + 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, + 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 545, 353, 440, 489, 308, 320, 323, 313, 332, 0, + 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, + 335, 235, 201, 359, 0, 191, 208, 339, 0, 415, + 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, + 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, + 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, + 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, + 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, + 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, + 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, + 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, + 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, + 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, + 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, + 364, 249, 400, 0, 365, 346, 468, 469, 291, 467, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 383, 0, 0, 0, 0, 0, 0, 0, 0, + 253, 1387, 0, 0, 0, 337, 250, 0, 0, 397, + 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, + 252, 236, 292, 354, 395, 461, 389, 0, 341, 0, + 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, + 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, + 189, 190, 0, 1386, 0, 0, 0, 0, 0, 0, + 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, + 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, + 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, + 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, + 0, 0, 0, 0, 507, 0, 0, 0, 0, 0, + 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, + 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, + 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, + 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, + 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, + 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, + 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, + 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, + 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, + 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, + 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, + 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, + 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, + 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, + 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, + 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, + 0, 392, 427, 227, 492, 450, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 545, 353, 440, 489, 308, + 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, + 318, 319, 324, 325, 329, 335, 235, 201, 359, 0, + 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, + 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, + 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, + 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, + 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, + 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, + 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, + 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, + 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, + 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, + 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, + 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, + 346, 468, 469, 291, 467, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, + 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, + 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, + 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, + 461, 389, 0, 341, 0, 0, 451, 368, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, + 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, + 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, + 0, 0, 0, 0, 0, 248, 296, 255, 247, 471, + 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 279, 0, 369, 240, 0, 0, 0, 0, 507, + 0, 0, 0, 2996, 0, 0, 0, 336, 0, 305, + 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, + 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, + 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, + 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, + 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, + 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, + 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, + 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, + 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, + 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, + 326, 327, 263, 286, 411, 345, 412, 287, 371, 370, + 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, + 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, + 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, + 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, + 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, + 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 545, 353, 440, 489, 308, 320, 323, 313, 332, 0, + 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, + 335, 235, 201, 359, 0, 191, 208, 339, 0, 415, + 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, + 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, + 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, + 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, + 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, + 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, + 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, + 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, + 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, + 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, + 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, + 364, 249, 400, 0, 365, 346, 468, 469, 291, 467, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 383, 0, 0, 0, 0, 0, 0, 0, 0, + 253, 0, 0, 0, 0, 337, 250, 0, 0, 397, + 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, + 252, 236, 292, 354, 395, 461, 389, 0, 341, 0, + 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, + 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, + 189, 190, 0, 1544, 0, 0, 0, 0, 0, 0, + 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, + 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, + 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, + 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, + 0, 0, 0, 0, 507, 0, 0, 0, 0, 0, + 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, + 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, + 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, + 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, + 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, + 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, + 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, + 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, + 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, + 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, + 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, + 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, + 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, + 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, + 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, + 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, + 0, 392, 427, 227, 492, 450, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 545, 353, 440, 489, 308, + 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, + 318, 319, 324, 325, 329, 335, 235, 201, 359, 0, + 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, + 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, + 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, + 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, + 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, + 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, + 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, + 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, + 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, + 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, + 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, + 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, + 346, 468, 469, 291, 467, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, + 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, + 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, + 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, + 461, 389, 0, 341, 0, 0, 451, 368, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, + 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, + 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, + 0, 0, 0, 0, 0, 248, 296, 255, 247, 471, + 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 279, 0, 369, 240, 0, 0, 0, 0, 507, + 0, 0, 0, 2903, 0, 0, 0, 336, 0, 305, + 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, + 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, + 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, + 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, + 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, + 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, + 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, + 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, + 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, + 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, + 326, 327, 263, 286, 411, 345, 412, 287, 371, 370, + 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, + 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, + 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, + 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, + 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, + 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 545, 353, 440, 489, 308, 320, 323, 313, 332, 0, + 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, + 335, 235, 201, 359, 0, 191, 208, 339, 0, 415, + 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, + 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, + 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, + 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, + 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, + 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, + 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, + 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, + 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, + 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, + 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, + 364, 249, 400, 0, 365, 346, 468, 469, 291, 467, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 383, 0, 0, 0, 0, 0, 0, 0, 0, + 253, 0, 0, 0, 0, 337, 250, 0, 0, 397, + 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, + 252, 236, 292, 354, 395, 461, 389, 0, 341, 0, + 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, + 300, 196, 380, 452, 269, 0, 87, 0, 0, 188, + 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, + 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, + 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, + 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, + 0, 0, 0, 0, 507, 0, 0, 0, 0, 0, + 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, + 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, + 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, + 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, + 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, + 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, + 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, + 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, + 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, + 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, + 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, + 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, + 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, + 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, + 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, + 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, + 0, 392, 427, 227, 492, 450, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 545, 353, 440, 489, 308, + 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, + 318, 319, 324, 325, 329, 335, 235, 201, 359, 0, + 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, + 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, + 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, + 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, + 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, + 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, + 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, + 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, + 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, + 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, + 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, + 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, + 346, 468, 469, 291, 467, 0, 0, 0, 0, 1857, + 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, + 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, + 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, + 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, + 461, 389, 0, 341, 0, 0, 451, 368, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, + 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, + 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, + 0, 0, 0, 0, 0, 248, 296, 255, 247, 471, + 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 279, 0, 369, 240, 0, 0, 0, 0, 507, + 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, + 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, + 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, + 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, + 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, + 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, + 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, + 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, + 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, + 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, + 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, + 326, 327, 263, 286, 411, 345, 412, 287, 371, 370, + 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, + 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, + 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, + 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, + 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, + 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 545, 353, 440, 489, 308, 320, 323, 313, 332, 0, + 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, + 335, 235, 201, 359, 0, 191, 208, 339, 0, 415, + 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, + 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, + 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, + 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, + 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, + 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, + 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, + 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, + 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, + 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, + 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, + 364, 249, 400, 0, 365, 346, 468, 469, 291, 467, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 383, 0, 0, 0, 0, 0, 0, 0, 0, + 253, 0, 0, 0, 0, 337, 250, 0, 0, 397, + 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, + 252, 236, 292, 354, 395, 461, 389, 0, 341, 0, + 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, + 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, + 189, 190, 0, 1366, 0, 0, 0, 0, 0, 0, + 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, + 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, + 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, + 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, + 0, 0, 0, 0, 507, 0, 0, 0, 0, 0, + 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, + 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, + 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, + 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, + 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, + 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, + 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, + 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, + 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, + 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, + 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, + 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, + 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, + 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, + 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, + 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, + 0, 392, 427, 227, 492, 450, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 545, 353, 440, 489, 308, + 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, + 318, 319, 324, 325, 329, 335, 235, 201, 359, 0, + 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, + 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, + 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, + 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, + 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, + 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, + 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, + 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, + 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, + 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, + 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, + 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, + 346, 468, 469, 291, 467, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, + 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, + 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, + 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, + 461, 389, 0, 341, 0, 0, 451, 368, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, + 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, + 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, + 0, 0, 0, 0, 0, 248, 296, 255, 247, 471, + 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1223, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 279, 0, 369, 240, 0, 0, 0, 0, 507, + 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, + 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, + 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, + 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, + 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, + 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, + 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, + 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, + 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, + 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, + 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, + 326, 327, 263, 286, 411, 345, 412, 287, 371, 370, + 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, + 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, + 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, + 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, + 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, + 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 545, 353, 440, 489, 308, 320, 323, 313, 332, 0, + 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, + 335, 235, 201, 359, 0, 191, 208, 339, 0, 415, + 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, + 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, + 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, + 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, + 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, + 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, + 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, + 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, + 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, + 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, + 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, + 364, 249, 400, 0, 365, 346, 468, 469, 291, 467, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 383, 0, 0, 0, 0, 0, 0, 0, 0, + 253, 0, 0, 0, 0, 337, 250, 0, 0, 397, + 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, + 252, 236, 292, 354, 395, 461, 389, 0, 341, 0, + 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, + 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, + 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, + 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, + 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, + 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, + 0, 0, 0, 0, 507, 0, 0, 0, 0, 0, + 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, + 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, + 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, + 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, + 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, + 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, + 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, + 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, + 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, + 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, + 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, + 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, + 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, + 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, + 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, + 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, + 0, 392, 427, 227, 492, 450, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 545, 353, 440, 489, 308, + 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, + 318, 319, 324, 325, 329, 335, 235, 201, 359, 0, + 191, 208, 339, 1642, 415, 271, 523, 501, 497, 0, + 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, + 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, + 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, + 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, + 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, + 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, + 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, + 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, + 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, + 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, + 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, + 346, 468, 469, 291, 467, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 383, 0, 1512, 0, + 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, + 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, + 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, + 461, 389, 0, 341, 0, 0, 451, 368, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, + 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, + 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, + 0, 0, 0, 0, 0, 248, 296, 255, 247, 471, + 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 279, 0, 369, 240, 0, 0, 0, 0, 507, + 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, + 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, + 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, + 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, + 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, + 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, + 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, + 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, + 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, + 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, + 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, + 326, 327, 263, 286, 411, 345, 412, 287, 371, 370, + 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, + 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, + 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, + 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, + 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, + 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 545, 353, 440, 489, 308, 320, 323, 313, 332, 0, + 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, + 335, 235, 201, 359, 0, 191, 208, 339, 0, 415, + 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, + 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, + 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, + 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, + 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, + 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, + 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, + 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, + 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, + 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, + 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, + 364, 249, 400, 0, 365, 346, 468, 469, 291, 467, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 383, 0, 1510, 0, 0, 0, 0, 0, 0, + 253, 0, 0, 0, 0, 337, 250, 0, 0, 397, + 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, + 252, 236, 292, 354, 395, 461, 389, 0, 341, 0, + 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, + 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, + 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, + 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, + 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, + 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, + 0, 0, 0, 0, 507, 0, 0, 0, 0, 0, + 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, + 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, + 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, + 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, + 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, + 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, + 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, + 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, + 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, + 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, + 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, + 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, + 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, + 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, + 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, + 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, + 0, 392, 427, 227, 492, 450, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 545, 353, 440, 489, 308, + 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, + 318, 319, 324, 325, 329, 335, 235, 201, 359, 0, + 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, - 297, 303, 349, 355, 356, 357, 358, 375, 376, 377, - 380, 383, 384, 387, 389, 390, 393, 397, 401, 402, - 403, 404, 406, 408, 415, 420, 428, 429, 430, 431, - 432, 435, 436, 441, 442, 443, 444, 445, 453, 454, - 458, 476, 478, 490, 504, 509, 434, 281, 485, 510, - 0, 348, 0, 0, 350, 264, 284, 295, 0, 499, - 455, 214, 422, 273, 202, 233, 217, 242, 257, 260, - 299, 359, 366, 395, 400, 278, 254, 231, 419, 228, - 438, 461, 462, 463, 465, 363, 249, 399, 0, 364, - 346, 467, 468, 291, 466, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 382, 0, 0, 0, - 0, 626, 0, 0, 0, 253, 631, 0, 0, 0, - 337, 250, 0, 0, 396, 0, 197, 0, 440, 237, - 347, 344, 473, 265, 256, 252, 236, 292, 354, 394, - 460, 388, 638, 341, 0, 0, 450, 367, 0, 0, - 0, 0, 0, 633, 634, 0, 0, 0, 0, 0, - 0, 0, 0, 298, 234, 300, 196, 379, 451, 269, - 0, 87, 0, 0, 188, 189, 190, 704, 711, 712, - 713, 714, 715, 705, 707, 0, 0, 225, 706, 232, - 651, 653, 652, 662, 663, 664, 665, 666, 667, 668, - 649, 709, 716, 717, 0, 248, 296, 255, 247, 470, + 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, + 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, + 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, + 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, + 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, + 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, + 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, + 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, + 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, + 346, 468, 469, 291, 467, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 383, 0, 1508, 0, + 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, + 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, + 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, + 461, 389, 0, 341, 0, 0, 451, 368, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, + 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, + 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, + 0, 0, 0, 0, 0, 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, - 0, 0, 0, 0, 0, 609, 623, 0, 637, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 620, 621, 0, - 0, 0, 0, 688, 0, 622, 0, 0, 630, 718, - 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, - 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, - 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, - 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, - 759, 632, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 279, 0, 368, 240, 0, 687, 0, 0, 506, - 0, 0, 685, 0, 0, 0, 0, 336, 0, 305, - 192, 212, 0, 0, 378, 421, 427, 0, 0, 0, - 238, 0, 425, 392, 489, 220, 267, 418, 398, 423, - 405, 270, 0, 0, 424, 342, 475, 412, 486, 507, - 508, 246, 372, 497, 464, 503, 521, 213, 243, 386, - 457, 492, 447, 365, 471, 472, 304, 446, 277, 195, - 340, 513, 211, 433, 229, 218, 477, 495, 272, 416, - 203, 459, 484, 226, 437, 0, 0, 523, 205, 482, - 456, 361, 301, 302, 204, 0, 417, 251, 275, 241, - 381, 479, 480, 239, 524, 215, 502, 207, 0, 501, - 374, 474, 483, 362, 352, 206, 481, 360, 351, 307, - 657, 658, 263, 286, 410, 345, 411, 287, 370, 369, - 371, 198, 493, 0, 199, 0, 452, 494, 525, 221, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 279, 0, 369, 240, 0, 0, 0, 0, 507, + 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, + 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, + 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, + 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, + 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, + 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, + 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, + 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, + 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, + 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, + 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, + 326, 327, 263, 286, 411, 345, 412, 287, 371, 370, + 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, - 338, 385, 409, 407, 413, 0, 469, 487, 498, 505, - 511, 512, 514, 515, 516, 517, 518, 520, 519, 373, - 289, 448, 306, 343, 0, 0, 391, 426, 227, 491, - 449, 694, 686, 642, 698, 644, 695, 696, 639, 640, - 643, 697, 526, 527, 528, 529, 530, 531, 532, 533, - 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, - 0, 689, 629, 628, 0, 635, 636, 0, 647, 648, - 650, 654, 655, 656, 659, 660, 661, 669, 671, 672, - 670, 673, 674, 675, 678, 679, 680, 681, 676, 677, - 682, 646, 645, 627, 191, 208, 339, 0, 414, 271, - 522, 500, 496, 0, 210, 0, 245, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, - 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, - 285, 288, 293, 294, 297, 303, 349, 355, 356, 357, - 358, 375, 376, 377, 380, 383, 384, 387, 389, 390, - 393, 397, 401, 402, 403, 404, 406, 408, 415, 420, - 428, 429, 430, 431, 432, 435, 436, 441, 442, 443, - 444, 445, 453, 454, 458, 476, 478, 490, 504, 509, - 434, 281, 485, 510, 0, 348, 0, 0, 350, 264, - 284, 295, 0, 499, 455, 214, 422, 273, 202, 233, - 217, 242, 257, 260, 299, 359, 366, 395, 400, 278, - 254, 231, 419, 228, 438, 461, 462, 463, 465, 363, - 249, 399, 0, 364, 346, 467, 468, 291, 466, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 382, 0, 0, 0, 0, 626, 0, 0, 0, 253, - 631, 0, 0, 0, 337, 250, 0, 0, 396, 0, - 197, 0, 440, 237, 347, 344, 473, 265, 256, 252, - 236, 292, 354, 394, 460, 388, 638, 341, 0, 0, - 450, 367, 0, 0, 0, 0, 0, 633, 634, 0, - 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, - 196, 379, 451, 269, 0, 87, 0, 0, 188, 189, - 190, 704, 711, 712, 713, 714, 715, 705, 707, 0, - 0, 225, 706, 232, 651, 653, 652, 662, 663, 664, - 665, 666, 667, 668, 649, 709, 716, 717, 0, 248, - 296, 255, 247, 470, 0, 0, 0, 0, 0, 0, - 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, - 623, 0, 637, 0, 0, 0, 258, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 620, 621, 0, 0, 0, 0, 688, 0, 622, - 0, 0, 630, 718, 719, 720, 721, 722, 723, 724, - 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, - 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, - 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, - 755, 756, 757, 758, 759, 632, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 279, 0, 368, 240, 0, - 687, 0, 0, 506, 0, 0, 685, 0, 0, 0, - 0, 336, 0, 305, 192, 212, 0, 0, 378, 421, - 427, 0, 0, 0, 238, 0, 425, 392, 489, 220, - 267, 418, 398, 423, 405, 270, 0, 0, 424, 342, - 475, 412, 486, 507, 508, 246, 372, 497, 464, 503, - 521, 213, 243, 386, 457, 492, 447, 365, 471, 472, - 304, 446, 277, 195, 340, 513, 211, 433, 229, 218, - 477, 495, 272, 416, 203, 459, 484, 226, 437, 0, - 0, 523, 205, 482, 456, 361, 301, 302, 204, 0, - 417, 251, 275, 241, 381, 479, 480, 239, 524, 215, - 502, 207, 0, 501, 374, 474, 483, 362, 352, 206, - 481, 360, 351, 307, 657, 658, 263, 286, 410, 345, - 411, 287, 370, 369, 371, 198, 493, 0, 199, 0, - 452, 494, 525, 221, 222, 224, 0, 262, 266, 274, - 276, 282, 283, 290, 338, 385, 409, 407, 413, 0, - 469, 487, 498, 505, 511, 512, 514, 515, 516, 517, - 518, 520, 519, 373, 289, 448, 306, 343, 0, 0, - 391, 426, 227, 491, 449, 694, 686, 642, 698, 644, - 695, 696, 639, 640, 643, 697, 526, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 0, 689, 629, 628, 0, 635, - 636, 0, 647, 648, 650, 654, 655, 656, 659, 660, - 661, 669, 671, 672, 670, 673, 674, 675, 678, 679, - 680, 681, 676, 677, 682, 646, 645, 627, 191, 208, - 339, 0, 414, 271, 522, 500, 496, 0, 210, 0, - 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, - 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, - 349, 355, 356, 357, 358, 375, 376, 377, 380, 383, - 384, 387, 389, 390, 393, 397, 401, 402, 403, 404, - 406, 408, 415, 420, 428, 429, 430, 431, 432, 435, - 436, 441, 442, 443, 444, 445, 453, 454, 458, 476, - 478, 490, 504, 509, 434, 281, 485, 510, 0, 348, - 0, 0, 350, 264, 284, 295, 0, 499, 455, 214, - 422, 273, 202, 233, 217, 242, 257, 260, 299, 359, - 366, 395, 400, 278, 254, 231, 419, 228, 438, 461, - 462, 463, 465, 363, 249, 399, 0, 364, 346, 467, - 468, 291, 466, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 382, 0, 0, 0, 0, 0, - 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, - 0, 0, 396, 0, 197, 0, 440, 237, 347, 344, - 473, 265, 256, 252, 236, 292, 354, 394, 460, 388, - 0, 341, 0, 0, 450, 367, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 298, 234, 300, 196, 379, 451, 269, 0, 0, - 0, 0, 188, 189, 190, 0, 711, 712, 0, 0, - 0, 0, 1688, 0, 0, 225, 0, 232, 322, 331, - 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, - 0, 0, 0, 248, 296, 255, 247, 470, 0, 0, - 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 718, 719, 720, - 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, - 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, - 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, - 751, 752, 753, 754, 755, 756, 757, 758, 759, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, - 0, 368, 240, 0, 0, 0, 0, 506, 0, 0, - 0, 0, 0, 0, 0, 336, 0, 305, 192, 212, - 0, 0, 378, 421, 427, 0, 0, 0, 238, 0, - 425, 392, 489, 220, 267, 418, 398, 423, 405, 270, - 0, 0, 424, 342, 475, 412, 486, 507, 508, 246, - 372, 497, 464, 503, 521, 213, 243, 386, 457, 492, - 447, 365, 471, 472, 304, 446, 277, 195, 340, 513, - 211, 433, 229, 218, 477, 495, 272, 416, 203, 459, - 484, 226, 437, 0, 0, 523, 205, 482, 456, 361, - 301, 302, 204, 0, 417, 251, 275, 241, 381, 479, - 480, 239, 524, 215, 502, 207, 0, 501, 374, 474, - 483, 362, 352, 206, 481, 360, 351, 307, 326, 327, - 263, 286, 410, 345, 411, 287, 370, 369, 371, 198, - 493, 0, 199, 0, 452, 494, 525, 221, 222, 224, - 0, 262, 266, 274, 276, 282, 283, 290, 338, 385, - 409, 407, 413, 0, 469, 487, 498, 505, 511, 512, - 514, 515, 516, 517, 518, 520, 519, 373, 289, 448, - 306, 343, 0, 0, 391, 426, 227, 491, 449, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, - 536, 537, 538, 539, 540, 541, 542, 543, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 544, 353, - 439, 488, 308, 320, 323, 313, 332, 0, 333, 309, - 310, 315, 317, 318, 319, 324, 325, 329, 335, 235, - 201, 0, 191, 208, 339, 0, 414, 271, 522, 500, - 496, 0, 210, 0, 245, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, - 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, - 293, 294, 297, 303, 349, 355, 356, 357, 358, 375, - 376, 377, 380, 383, 384, 387, 389, 390, 393, 397, - 401, 402, 403, 404, 406, 408, 415, 420, 428, 429, - 430, 431, 432, 435, 436, 441, 442, 443, 444, 445, - 453, 454, 458, 476, 478, 490, 504, 509, 434, 281, - 485, 510, 0, 348, 0, 0, 350, 264, 284, 295, - 0, 499, 455, 214, 422, 273, 202, 233, 217, 242, - 257, 260, 299, 359, 366, 395, 400, 278, 254, 231, - 419, 228, 438, 461, 462, 463, 465, 363, 249, 399, - 0, 364, 346, 467, 468, 291, 466, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 382, 0, - 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, - 0, 0, 337, 250, 0, 0, 396, 0, 197, 0, - 440, 237, 347, 344, 473, 265, 256, 252, 236, 292, - 354, 394, 460, 388, 0, 341, 0, 0, 450, 367, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 298, 234, 300, 196, 379, - 451, 269, 0, 0, 0, 0, 188, 189, 190, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, - 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, - 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, - 247, 470, 0, 0, 0, 0, 0, 0, 0, 216, - 0, 1018, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 279, 0, 368, 240, 0, 0, 0, - 1017, 506, 0, 0, 0, 0, 0, 1014, 1015, 336, - 975, 305, 192, 212, 1008, 1012, 378, 421, 427, 0, - 0, 0, 238, 0, 425, 392, 489, 220, 267, 418, - 398, 423, 405, 270, 0, 0, 424, 342, 475, 412, - 486, 507, 508, 246, 372, 497, 464, 503, 521, 213, - 243, 386, 457, 492, 447, 365, 471, 472, 304, 446, - 277, 195, 340, 513, 211, 433, 229, 218, 477, 495, - 272, 416, 203, 459, 484, 226, 437, 0, 0, 523, - 205, 482, 456, 361, 301, 302, 204, 0, 417, 251, - 275, 241, 381, 479, 480, 239, 524, 215, 502, 207, - 0, 501, 374, 474, 483, 362, 352, 206, 481, 360, - 351, 307, 326, 327, 263, 286, 410, 345, 411, 287, - 370, 369, 371, 198, 493, 0, 199, 0, 452, 494, - 525, 221, 222, 224, 0, 262, 266, 274, 276, 282, - 283, 290, 338, 385, 409, 407, 413, 0, 469, 487, - 498, 505, 511, 512, 514, 515, 516, 517, 518, 520, - 519, 373, 289, 448, 306, 343, 0, 0, 391, 426, - 227, 491, 449, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 526, 527, 528, 529, 530, 531, - 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, - 542, 543, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 544, 353, 439, 488, 308, 320, 323, 313, - 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, - 325, 329, 335, 235, 201, 0, 191, 208, 339, 0, - 414, 271, 522, 500, 496, 0, 210, 0, 245, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, - 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, - 356, 357, 358, 375, 376, 377, 380, 383, 384, 387, - 389, 390, 393, 397, 401, 402, 403, 404, 406, 408, - 415, 420, 428, 429, 430, 431, 432, 435, 436, 441, - 442, 443, 444, 445, 453, 454, 458, 476, 478, 490, - 504, 509, 434, 281, 485, 510, 0, 348, 0, 0, - 350, 264, 284, 295, 0, 499, 455, 214, 422, 273, - 202, 233, 217, 242, 257, 260, 299, 359, 366, 395, - 400, 278, 254, 231, 419, 228, 438, 461, 462, 463, - 465, 363, 249, 399, 0, 0, 346, 467, 468, 291, - 364, 0, 0, 0, 78, 466, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 382, 0, 0, - 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, - 0, 337, 250, 0, 0, 396, 0, 197, 0, 440, - 237, 347, 344, 473, 265, 256, 252, 236, 292, 354, - 394, 460, 388, 0, 341, 0, 0, 450, 367, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 298, 234, 300, 196, 379, 451, - 269, 0, 87, 0, 0, 188, 189, 190, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, - 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, - 334, 0, 0, 0, 0, 0, 248, 296, 255, 247, - 470, 0, 0, 0, 0, 0, 0, 0, 216, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 279, 0, 368, 240, 0, 0, 0, 0, - 506, 0, 0, 0, 0, 0, 0, 0, 336, 0, - 305, 192, 212, 0, 0, 378, 421, 427, 0, 0, - 0, 238, 0, 425, 392, 489, 220, 267, 418, 398, - 423, 405, 270, 0, 0, 424, 342, 475, 412, 486, - 507, 508, 246, 372, 497, 464, 503, 521, 213, 243, - 386, 457, 492, 447, 365, 471, 472, 304, 446, 277, - 195, 340, 513, 211, 433, 229, 218, 477, 495, 272, - 416, 203, 459, 484, 226, 437, 0, 0, 523, 205, - 482, 456, 361, 301, 302, 204, 0, 417, 251, 275, - 241, 381, 479, 480, 239, 524, 215, 502, 207, 0, - 501, 374, 474, 483, 362, 352, 206, 481, 360, 351, - 307, 326, 327, 263, 286, 410, 345, 411, 287, 370, - 369, 371, 198, 493, 0, 199, 0, 452, 494, 525, - 221, 222, 224, 0, 262, 266, 274, 276, 282, 283, - 290, 338, 385, 409, 407, 413, 0, 469, 487, 498, - 505, 511, 512, 514, 515, 516, 517, 518, 520, 519, - 373, 289, 448, 306, 343, 0, 0, 391, 426, 227, - 491, 449, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 526, 527, 528, 529, 530, 531, 532, - 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, - 543, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 544, 353, 439, 488, 308, 320, 323, 313, 332, - 0, 333, 309, 310, 315, 317, 318, 319, 324, 325, - 329, 335, 235, 201, 0, 191, 208, 339, 86, 414, - 271, 522, 500, 496, 0, 210, 0, 245, 0, 0, - 0, 0, 0, 0, 1852, 0, 0, 1851, 0, 0, + 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, + 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, + 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, + 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 545, 353, 440, 489, 308, 320, 323, 313, 332, 0, + 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, + 335, 235, 201, 359, 0, 191, 208, 339, 0, 415, + 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, - 357, 358, 375, 376, 377, 380, 383, 384, 387, 389, - 390, 393, 397, 401, 402, 403, 404, 406, 408, 415, - 420, 428, 429, 430, 431, 432, 435, 436, 441, 442, - 443, 444, 445, 453, 454, 458, 476, 478, 490, 504, - 509, 434, 281, 485, 510, 0, 348, 0, 0, 350, - 264, 284, 295, 0, 499, 455, 214, 422, 273, 202, - 233, 217, 242, 257, 260, 299, 359, 366, 395, 400, - 278, 254, 231, 419, 228, 438, 461, 462, 463, 465, - 363, 249, 399, 0, 1359, 346, 467, 468, 291, 466, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 382, 0, 0, 0, 1361, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 337, 250, 0, 0, 396, - 0, 197, 0, 440, 237, 347, 344, 473, 265, 256, - 252, 236, 292, 354, 394, 460, 388, 0, 341, 0, - 0, 450, 367, 0, 0, 0, 0, 0, 0, 0, + 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, + 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, + 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, + 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, + 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, + 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, + 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, + 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, + 364, 249, 400, 0, 365, 346, 468, 469, 291, 467, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 383, 0, 1506, 0, 0, 0, 0, 0, 0, + 253, 0, 0, 0, 0, 337, 250, 0, 0, 397, + 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, + 252, 236, 292, 354, 395, 461, 389, 0, 341, 0, + 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, - 300, 196, 379, 451, 269, 0, 0, 0, 0, 188, - 189, 190, 0, 1363, 0, 0, 0, 0, 0, 0, + 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, + 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, - 248, 296, 255, 247, 470, 0, 0, 0, 0, 0, - 0, 0, 216, 0, 0, 0, 1190, 0, 1191, 1192, + 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, + 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3540,601 +5024,178 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 279, 0, 368, 240, - 0, 0, 0, 0, 506, 0, 0, 0, 0, 0, - 0, 0, 336, 0, 305, 192, 212, 0, 0, 378, - 421, 427, 0, 0, 0, 238, 0, 425, 392, 489, - 220, 267, 418, 398, 423, 405, 270, 0, 0, 424, - 342, 475, 412, 486, 507, 508, 246, 372, 497, 464, - 503, 521, 213, 243, 386, 457, 492, 447, 365, 471, - 472, 304, 446, 277, 195, 340, 513, 211, 433, 229, - 218, 477, 495, 272, 416, 203, 459, 484, 226, 437, - 0, 0, 523, 205, 482, 456, 361, 301, 302, 204, - 0, 417, 251, 275, 241, 381, 479, 480, 239, 524, - 215, 502, 207, 0, 501, 374, 474, 483, 362, 352, - 206, 481, 360, 351, 307, 326, 327, 263, 286, 410, - 345, 411, 287, 370, 369, 371, 198, 493, 0, 199, - 0, 452, 494, 525, 221, 222, 224, 0, 262, 266, - 274, 276, 282, 283, 290, 338, 385, 409, 407, 413, - 0, 469, 487, 498, 505, 511, 512, 514, 515, 516, - 517, 518, 520, 519, 373, 289, 448, 306, 343, 0, - 0, 391, 426, 227, 491, 449, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 526, 527, 528, - 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, - 539, 540, 541, 542, 543, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 544, 353, 439, 488, 308, + 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, + 0, 0, 0, 0, 507, 0, 0, 0, 0, 0, + 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, + 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, + 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, + 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, + 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, + 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, + 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, + 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, + 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, + 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, + 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, + 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, + 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, + 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, + 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, + 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, + 0, 392, 427, 227, 492, 450, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 545, 353, 440, 489, 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, - 318, 319, 324, 325, 329, 335, 235, 201, 0, 191, - 208, 339, 0, 414, 271, 522, 500, 496, 0, 210, - 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, - 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, - 303, 349, 355, 356, 357, 358, 375, 376, 377, 380, - 383, 384, 387, 389, 390, 393, 397, 401, 402, 403, - 404, 406, 408, 415, 420, 428, 429, 430, 431, 432, - 435, 436, 441, 442, 443, 444, 445, 453, 454, 458, - 476, 478, 490, 504, 509, 434, 281, 485, 510, 0, - 348, 0, 0, 350, 264, 284, 295, 0, 499, 455, - 214, 422, 273, 202, 233, 217, 242, 257, 260, 299, - 359, 366, 395, 400, 278, 254, 231, 419, 228, 438, - 461, 462, 463, 465, 363, 249, 399, 0, 364, 346, - 467, 468, 291, 466, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 382, 0, 0, 0, 0, - 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, - 250, 0, 0, 396, 0, 197, 0, 440, 237, 347, - 344, 473, 265, 256, 252, 236, 292, 354, 394, 460, - 388, 0, 341, 0, 0, 450, 367, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 298, 234, 300, 196, 379, 451, 269, 0, - 0, 0, 0, 188, 189, 190, 1302, 1305, 0, 0, - 0, 0, 1301, 1304, 0, 0, 225, 1300, 232, 322, - 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, - 0, 0, 0, 0, 248, 296, 255, 247, 470, 0, - 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 279, 0, 368, 240, 0, 0, 0, 0, 506, 0, - 0, 0, 0, 0, 0, 0, 336, 0, 305, 192, - 212, 0, 0, 378, 421, 427, 0, 0, 0, 238, - 0, 425, 392, 489, 220, 267, 418, 398, 423, 405, - 270, 0, 0, 424, 342, 475, 412, 486, 507, 508, - 246, 372, 497, 464, 503, 521, 213, 243, 386, 457, - 492, 447, 365, 471, 472, 304, 446, 277, 195, 340, - 513, 211, 433, 229, 218, 477, 495, 272, 416, 203, - 459, 484, 226, 437, 0, 0, 523, 205, 482, 456, - 361, 301, 302, 204, 0, 417, 251, 275, 241, 381, - 479, 480, 239, 524, 215, 502, 207, 0, 501, 374, - 474, 483, 362, 352, 206, 481, 360, 351, 307, 326, - 327, 263, 286, 410, 345, 411, 287, 370, 369, 371, - 198, 493, 0, 199, 0, 452, 494, 525, 221, 222, - 224, 0, 262, 266, 274, 276, 282, 283, 290, 338, - 385, 409, 407, 413, 0, 469, 487, 498, 505, 511, - 512, 514, 515, 516, 517, 518, 520, 519, 373, 289, - 448, 306, 343, 0, 0, 391, 426, 227, 491, 449, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 526, 527, 528, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 543, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 544, - 353, 439, 488, 308, 320, 323, 313, 332, 0, 333, - 309, 310, 315, 317, 318, 319, 324, 325, 329, 335, - 235, 201, 0, 191, 208, 339, 0, 414, 271, 522, - 500, 496, 0, 210, 0, 245, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, - 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, - 288, 293, 294, 297, 303, 349, 355, 356, 357, 358, - 375, 376, 377, 380, 383, 384, 387, 389, 390, 393, - 397, 401, 402, 403, 404, 406, 408, 415, 420, 428, - 429, 430, 431, 432, 435, 436, 441, 442, 443, 444, - 445, 453, 454, 458, 476, 478, 490, 504, 509, 434, - 281, 485, 510, 0, 348, 0, 0, 350, 264, 284, - 295, 0, 499, 455, 214, 422, 273, 202, 233, 217, - 242, 257, 260, 299, 359, 366, 395, 400, 278, 254, - 231, 419, 228, 438, 461, 462, 463, 465, 363, 249, - 399, 0, 0, 346, 467, 468, 291, 364, 0, 0, - 0, 78, 466, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 382, 0, 0, 0, 0, 0, - 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, - 0, 0, 396, 0, 197, 0, 440, 237, 347, 344, - 473, 265, 256, 252, 236, 292, 354, 394, 460, 388, - 0, 341, 0, 0, 450, 367, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 298, 234, 300, 196, 379, 451, 269, 0, 87, - 0, 1340, 188, 189, 190, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, - 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, - 0, 0, 0, 248, 296, 255, 247, 470, 0, 0, - 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, - 0, 368, 240, 0, 0, 0, 0, 506, 0, 0, - 0, 0, 0, 0, 0, 336, 0, 305, 192, 212, - 0, 0, 378, 421, 427, 0, 0, 0, 238, 0, - 425, 392, 489, 220, 267, 418, 398, 423, 405, 270, - 0, 0, 424, 342, 475, 412, 486, 507, 508, 246, - 372, 497, 464, 503, 521, 213, 243, 386, 457, 492, - 447, 365, 471, 472, 304, 446, 277, 195, 340, 513, - 211, 433, 229, 218, 477, 495, 272, 416, 203, 459, - 484, 226, 437, 0, 0, 523, 205, 482, 456, 361, - 301, 302, 204, 0, 417, 251, 275, 241, 381, 479, - 480, 239, 524, 215, 502, 207, 0, 501, 374, 474, - 483, 362, 352, 206, 481, 360, 351, 307, 326, 327, - 263, 286, 410, 345, 411, 287, 370, 369, 371, 198, - 493, 0, 199, 0, 452, 494, 525, 221, 222, 224, - 0, 262, 266, 274, 276, 282, 283, 290, 338, 385, - 409, 407, 413, 0, 469, 487, 498, 505, 511, 512, - 514, 515, 516, 517, 518, 520, 519, 373, 289, 448, - 306, 343, 0, 0, 391, 426, 227, 491, 449, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, - 536, 537, 538, 539, 540, 541, 542, 543, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 544, 353, - 439, 488, 308, 320, 323, 313, 332, 0, 333, 309, - 310, 315, 317, 318, 319, 324, 325, 329, 335, 235, - 201, 0, 191, 208, 339, 86, 414, 271, 522, 500, - 496, 0, 210, 0, 245, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, - 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, - 293, 294, 297, 303, 349, 355, 356, 357, 358, 375, - 376, 377, 380, 383, 384, 387, 389, 390, 393, 397, - 401, 402, 403, 404, 406, 408, 415, 420, 428, 429, - 430, 431, 432, 435, 436, 441, 442, 443, 444, 445, - 453, 454, 458, 476, 478, 490, 504, 509, 434, 281, - 485, 510, 0, 348, 0, 0, 350, 264, 284, 295, - 0, 499, 455, 214, 422, 273, 202, 233, 217, 242, - 257, 260, 299, 359, 366, 395, 400, 278, 254, 231, - 419, 228, 438, 461, 462, 463, 465, 363, 249, 399, - 0, 364, 346, 467, 468, 291, 466, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 382, 0, - 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, - 0, 0, 337, 250, 0, 0, 396, 0, 197, 0, - 440, 237, 347, 344, 473, 265, 256, 252, 236, 292, - 354, 394, 460, 388, 0, 341, 0, 0, 450, 367, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 298, 234, 300, 196, 379, - 451, 269, 0, 87, 0, 0, 188, 189, 190, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, - 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, - 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, - 247, 470, 0, 0, 0, 0, 0, 0, 0, 216, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 279, 0, 368, 240, 0, 0, 0, - 0, 506, 0, 0, 0, 0, 0, 0, 0, 336, - 0, 305, 192, 212, 0, 0, 378, 421, 427, 0, - 0, 0, 238, 0, 425, 392, 489, 220, 267, 418, - 398, 423, 405, 270, 0, 0, 424, 342, 475, 412, - 486, 507, 508, 246, 372, 497, 464, 503, 521, 213, - 243, 386, 457, 492, 447, 365, 471, 472, 304, 446, - 277, 195, 340, 513, 211, 433, 229, 218, 477, 495, - 272, 416, 203, 459, 484, 226, 437, 0, 0, 523, - 205, 482, 456, 361, 301, 302, 204, 0, 417, 251, - 275, 241, 381, 479, 480, 239, 524, 215, 502, 207, - 0, 501, 374, 474, 483, 362, 352, 206, 481, 360, - 351, 307, 326, 327, 263, 286, 410, 345, 411, 287, - 370, 369, 371, 198, 493, 0, 199, 0, 452, 494, - 525, 221, 222, 224, 0, 262, 266, 274, 276, 282, - 283, 290, 338, 385, 409, 407, 413, 0, 469, 487, - 498, 505, 511, 512, 514, 515, 516, 517, 518, 520, - 519, 373, 289, 448, 306, 343, 0, 0, 391, 426, - 227, 491, 449, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 526, 527, 528, 529, 530, 531, - 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, - 542, 543, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 544, 353, 439, 488, 308, 320, 323, 313, - 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, - 325, 329, 335, 235, 201, 0, 191, 208, 339, 0, - 414, 271, 522, 500, 496, 0, 210, 0, 245, 0, - 0, 0, 0, 0, 0, 1852, 0, 0, 1851, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, - 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, - 356, 357, 358, 375, 376, 377, 380, 383, 384, 387, - 389, 390, 393, 397, 401, 402, 403, 404, 406, 408, - 415, 420, 428, 429, 430, 431, 432, 435, 436, 441, - 442, 443, 444, 445, 453, 454, 458, 476, 478, 490, - 504, 509, 434, 281, 485, 510, 0, 348, 0, 0, - 350, 264, 284, 295, 0, 499, 455, 214, 422, 273, - 202, 233, 217, 242, 257, 260, 299, 359, 366, 395, - 400, 278, 254, 231, 419, 228, 438, 461, 462, 463, - 465, 363, 249, 399, 0, 364, 346, 467, 468, 291, - 466, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 382, 0, 0, 0, 1803, 0, 0, 0, - 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, - 396, 0, 197, 0, 440, 237, 347, 344, 473, 265, - 256, 252, 236, 292, 354, 394, 460, 388, 0, 341, - 0, 0, 450, 367, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, - 234, 300, 196, 379, 451, 269, 0, 0, 0, 0, - 188, 189, 190, 0, 1541, 0, 0, 0, 0, 0, - 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, - 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, - 0, 248, 296, 255, 247, 470, 0, 0, 0, 0, - 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 279, 0, 368, - 240, 0, 0, 0, 0, 506, 0, 0, 0, 0, - 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, - 378, 421, 427, 0, 0, 0, 238, 0, 425, 392, - 489, 220, 267, 418, 398, 423, 405, 270, 0, 1801, - 424, 342, 475, 412, 486, 507, 508, 246, 372, 497, - 464, 503, 521, 213, 243, 386, 457, 492, 447, 365, - 471, 472, 304, 446, 277, 195, 340, 513, 211, 433, - 229, 218, 477, 495, 272, 416, 203, 459, 484, 226, - 437, 0, 0, 523, 205, 482, 456, 361, 301, 302, - 204, 0, 417, 251, 275, 241, 381, 479, 480, 239, - 524, 215, 502, 207, 0, 501, 374, 474, 483, 362, - 352, 206, 481, 360, 351, 307, 326, 327, 263, 286, - 410, 345, 411, 287, 370, 369, 371, 198, 493, 0, - 199, 0, 452, 494, 525, 221, 222, 224, 0, 262, - 266, 274, 276, 282, 283, 290, 338, 385, 409, 407, - 413, 0, 469, 487, 498, 505, 511, 512, 514, 515, - 516, 517, 518, 520, 519, 373, 289, 448, 306, 343, - 0, 0, 391, 426, 227, 491, 449, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, - 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, - 538, 539, 540, 541, 542, 543, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 544, 353, 439, 488, - 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, - 317, 318, 319, 324, 325, 329, 335, 235, 201, 0, - 191, 208, 339, 0, 414, 271, 522, 500, 496, 0, + 318, 319, 324, 325, 329, 335, 235, 201, 359, 0, + 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, - 297, 303, 349, 355, 356, 357, 358, 375, 376, 377, - 380, 383, 384, 387, 389, 390, 393, 397, 401, 402, - 403, 404, 406, 408, 415, 420, 428, 429, 430, 431, - 432, 435, 436, 441, 442, 443, 444, 445, 453, 454, - 458, 476, 478, 490, 504, 509, 434, 281, 485, 510, - 0, 348, 0, 0, 350, 264, 284, 295, 0, 499, - 455, 214, 422, 273, 202, 233, 217, 242, 257, 260, - 299, 359, 366, 395, 400, 278, 254, 231, 419, 228, - 438, 461, 462, 463, 465, 363, 249, 399, 0, 364, - 346, 467, 468, 291, 466, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 382, 0, 0, 0, + 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, + 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, + 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, + 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, + 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, + 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, + 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, + 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, + 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, + 346, 468, 469, 291, 467, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 383, 0, 1504, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, - 337, 250, 0, 0, 396, 0, 197, 0, 440, 237, - 347, 344, 473, 265, 256, 252, 236, 292, 354, 394, - 460, 388, 0, 341, 0, 0, 450, 367, 0, 0, + 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, + 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, + 461, 389, 0, 341, 0, 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 298, 234, 300, 196, 379, 451, 269, + 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, - 0, 0, 0, 0, 0, 248, 296, 255, 247, 470, + 0, 0, 0, 0, 0, 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, - 0, 969, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 279, 0, 368, 240, 0, 0, 0, 0, 506, - 0, 0, 0, 0, 0, 0, 0, 336, 975, 305, - 192, 212, 973, 0, 378, 421, 427, 0, 0, 0, - 238, 0, 425, 392, 489, 220, 267, 418, 398, 423, - 405, 270, 0, 0, 424, 342, 475, 412, 486, 507, - 508, 246, 372, 497, 464, 503, 521, 213, 243, 386, - 457, 492, 447, 365, 471, 472, 304, 446, 277, 195, - 340, 513, 211, 433, 229, 218, 477, 495, 272, 416, - 203, 459, 484, 226, 437, 0, 0, 523, 205, 482, - 456, 361, 301, 302, 204, 0, 417, 251, 275, 241, - 381, 479, 480, 239, 524, 215, 502, 207, 0, 501, - 374, 474, 483, 362, 352, 206, 481, 360, 351, 307, - 326, 327, 263, 286, 410, 345, 411, 287, 370, 369, - 371, 198, 493, 0, 199, 0, 452, 494, 525, 221, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 279, 0, 369, 240, 0, 0, 0, 0, 507, + 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, + 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, + 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, + 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, + 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, + 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, + 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, + 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, + 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, + 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, + 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, + 326, 327, 263, 286, 411, 345, 412, 287, 371, 370, + 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, - 338, 385, 409, 407, 413, 0, 469, 487, 498, 505, - 511, 512, 514, 515, 516, 517, 518, 520, 519, 373, - 289, 448, 306, 343, 0, 0, 391, 426, 227, 491, - 449, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 526, 527, 528, 529, 530, 531, 532, 533, - 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 544, 353, 439, 488, 308, 320, 323, 313, 332, 0, + 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, + 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, + 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, + 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 545, 353, 440, 489, 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, - 335, 235, 201, 0, 191, 208, 339, 0, 414, 271, - 522, 500, 496, 0, 210, 0, 245, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, - 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, - 285, 288, 293, 294, 297, 303, 349, 355, 356, 357, - 358, 375, 376, 377, 380, 383, 384, 387, 389, 390, - 393, 397, 401, 402, 403, 404, 406, 408, 415, 420, - 428, 429, 430, 431, 432, 435, 436, 441, 442, 443, - 444, 445, 453, 454, 458, 476, 478, 490, 504, 509, - 434, 281, 485, 510, 0, 348, 0, 0, 350, 264, - 284, 295, 0, 499, 455, 214, 422, 273, 202, 233, - 217, 242, 257, 260, 299, 359, 366, 395, 400, 278, - 254, 231, 419, 228, 438, 461, 462, 463, 465, 363, - 249, 399, 0, 364, 346, 467, 468, 291, 466, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 382, 0, 0, 0, 1803, 0, 0, 0, 0, 253, - 0, 0, 0, 0, 337, 250, 0, 0, 396, 0, - 197, 0, 440, 237, 347, 344, 473, 265, 256, 252, - 236, 292, 354, 394, 460, 388, 0, 341, 0, 0, - 450, 367, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, - 196, 379, 451, 269, 0, 0, 0, 0, 188, 189, - 190, 0, 1541, 0, 0, 0, 0, 0, 0, 0, - 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, - 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, - 296, 255, 247, 470, 0, 0, 0, 0, 0, 0, - 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 279, 0, 368, 240, 0, - 0, 0, 0, 506, 0, 0, 0, 0, 0, 0, - 0, 336, 0, 305, 192, 212, 0, 0, 378, 421, - 427, 0, 0, 0, 238, 0, 425, 392, 489, 220, - 267, 418, 398, 423, 405, 270, 0, 0, 424, 342, - 475, 412, 486, 507, 508, 246, 372, 497, 464, 503, - 521, 213, 243, 386, 457, 492, 447, 365, 471, 472, - 304, 446, 277, 195, 340, 513, 211, 433, 229, 218, - 477, 495, 272, 416, 203, 459, 484, 226, 437, 0, - 0, 523, 205, 482, 456, 361, 301, 302, 204, 0, - 417, 251, 275, 241, 381, 479, 480, 239, 524, 215, - 502, 207, 0, 501, 374, 474, 483, 362, 352, 206, - 481, 360, 351, 307, 326, 327, 263, 286, 410, 345, - 411, 287, 370, 369, 371, 198, 493, 0, 199, 0, - 452, 494, 525, 221, 222, 224, 0, 262, 266, 274, - 276, 282, 283, 290, 338, 385, 409, 407, 413, 0, - 469, 487, 498, 505, 511, 512, 514, 515, 516, 517, - 518, 520, 519, 373, 289, 448, 306, 343, 0, 0, - 391, 426, 227, 491, 449, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, + 335, 235, 201, 359, 0, 191, 208, 339, 0, 415, + 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, + 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, + 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, + 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, + 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, + 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, + 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, + 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, + 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, + 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, + 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, + 364, 249, 400, 0, 365, 346, 468, 469, 291, 467, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 383, 0, 1500, 0, 0, 0, 0, 0, 0, + 253, 0, 0, 0, 0, 337, 250, 0, 0, 397, + 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, + 252, 236, 292, 354, 395, 461, 389, 0, 341, 0, + 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, + 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, + 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, + 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, + 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, + 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, + 0, 0, 0, 0, 507, 0, 0, 0, 0, 0, + 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, + 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, + 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, + 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, + 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, + 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, + 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, + 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, + 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, + 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, + 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, + 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, + 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, + 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, + 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, + 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, + 0, 392, 427, 227, 492, 450, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 544, 353, 439, 488, 308, 320, - 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, - 319, 324, 325, 329, 335, 235, 201, 0, 191, 208, - 339, 0, 414, 271, 522, 500, 496, 0, 210, 0, - 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, - 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, - 349, 355, 356, 357, 358, 375, 376, 377, 380, 383, - 384, 387, 389, 390, 393, 397, 401, 402, 403, 404, - 406, 408, 415, 420, 428, 429, 430, 431, 432, 435, - 436, 441, 442, 443, 444, 445, 453, 454, 458, 476, - 478, 490, 504, 509, 434, 281, 485, 510, 0, 348, - 0, 0, 350, 264, 284, 295, 0, 499, 455, 214, - 422, 273, 202, 233, 217, 242, 257, 260, 299, 359, - 366, 395, 400, 278, 254, 231, 419, 228, 438, 461, - 462, 463, 465, 363, 249, 399, 0, 364, 346, 467, - 468, 291, 466, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 382, 0, 0, 0, 0, 0, - 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, - 0, 0, 396, 0, 197, 0, 440, 237, 347, 344, - 473, 265, 256, 252, 236, 292, 354, 394, 460, 388, - 0, 341, 0, 0, 450, 367, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 298, 234, 300, 196, 379, 451, 269, 0, 0, - 0, 1340, 188, 189, 190, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, - 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, - 0, 0, 0, 248, 296, 255, 247, 470, 0, 0, - 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, - 0, 368, 240, 0, 0, 0, 0, 506, 0, 0, - 0, 2897, 0, 0, 0, 336, 0, 305, 192, 212, - 0, 0, 378, 421, 427, 0, 0, 0, 238, 0, - 425, 392, 489, 220, 267, 418, 398, 423, 405, 270, - 0, 0, 424, 342, 475, 412, 486, 507, 508, 246, - 372, 497, 464, 503, 521, 213, 243, 386, 457, 492, - 447, 365, 471, 472, 304, 446, 277, 195, 340, 513, - 211, 433, 229, 218, 477, 495, 272, 416, 203, 459, - 484, 226, 437, 0, 0, 523, 205, 482, 456, 361, - 301, 302, 204, 0, 417, 251, 275, 241, 381, 479, - 480, 239, 524, 215, 502, 207, 0, 501, 374, 474, - 483, 362, 352, 206, 481, 360, 351, 307, 326, 327, - 263, 286, 410, 345, 411, 287, 370, 369, 371, 198, - 493, 0, 199, 0, 452, 494, 525, 221, 222, 224, - 0, 262, 266, 274, 276, 282, 283, 290, 338, 385, - 409, 407, 413, 0, 469, 487, 498, 505, 511, 512, - 514, 515, 516, 517, 518, 520, 519, 373, 289, 448, - 306, 343, 0, 0, 391, 426, 227, 491, 449, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, - 536, 537, 538, 539, 540, 541, 542, 543, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 544, 353, - 439, 488, 308, 320, 323, 313, 332, 0, 333, 309, - 310, 315, 317, 318, 319, 324, 325, 329, 335, 235, - 201, 0, 191, 208, 339, 0, 414, 271, 522, 500, - 496, 0, 210, 0, 245, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, - 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, - 293, 294, 297, 303, 349, 355, 356, 357, 358, 375, - 376, 377, 380, 383, 384, 387, 389, 390, 393, 397, - 401, 402, 403, 404, 406, 408, 415, 420, 428, 429, - 430, 431, 432, 435, 436, 441, 442, 443, 444, 445, - 453, 454, 458, 476, 478, 490, 504, 509, 434, 281, - 485, 510, 0, 348, 0, 0, 350, 264, 284, 295, - 0, 499, 455, 214, 422, 273, 202, 233, 217, 242, - 257, 260, 299, 359, 366, 395, 400, 278, 254, 231, - 419, 228, 438, 461, 462, 463, 465, 363, 249, 399, - 0, 364, 346, 467, 468, 291, 466, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 382, 0, - 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, - 0, 0, 337, 250, 0, 0, 396, 0, 197, 0, - 440, 237, 347, 344, 473, 265, 256, 252, 236, 292, - 354, 394, 460, 388, 0, 341, 0, 0, 450, 367, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 298, 234, 300, 196, 379, - 451, 269, 0, 0, 0, 0, 188, 189, 190, 0, - 1684, 0, 0, 0, 0, 0, 0, 0, 0, 225, - 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, - 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, - 247, 470, 0, 0, 0, 0, 0, 0, 0, 216, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1685, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 279, 0, 368, 240, 0, 0, 0, - 0, 506, 0, 0, 0, 0, 0, 0, 0, 336, - 0, 305, 192, 212, 0, 0, 378, 421, 427, 0, - 0, 0, 238, 0, 425, 392, 489, 220, 267, 418, - 398, 423, 405, 270, 0, 0, 424, 342, 475, 412, - 486, 507, 508, 246, 372, 497, 464, 503, 521, 213, - 243, 386, 457, 492, 447, 365, 471, 472, 304, 446, - 277, 195, 340, 513, 211, 433, 229, 218, 477, 495, - 272, 416, 203, 459, 484, 226, 437, 0, 0, 523, - 205, 482, 456, 361, 301, 302, 204, 0, 417, 251, - 275, 241, 381, 479, 480, 239, 524, 215, 502, 207, - 0, 501, 374, 474, 483, 362, 352, 206, 481, 360, - 351, 307, 326, 327, 263, 286, 410, 345, 411, 287, - 370, 369, 371, 198, 493, 0, 199, 0, 452, 494, - 525, 221, 222, 224, 0, 262, 266, 274, 276, 282, - 283, 290, 338, 385, 409, 407, 413, 0, 469, 487, - 498, 505, 511, 512, 514, 515, 516, 517, 518, 520, - 519, 373, 289, 448, 306, 343, 0, 0, 391, 426, - 227, 491, 449, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 526, 527, 528, 529, 530, 531, - 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, - 542, 543, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 544, 353, 439, 488, 308, 320, 323, 313, - 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, - 325, 329, 335, 235, 201, 0, 191, 208, 339, 0, - 414, 271, 522, 500, 496, 0, 210, 0, 245, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, - 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, - 356, 357, 358, 375, 376, 377, 380, 383, 384, 387, - 389, 390, 393, 397, 401, 402, 403, 404, 406, 408, - 415, 420, 428, 429, 430, 431, 432, 435, 436, 441, - 442, 443, 444, 445, 453, 454, 458, 476, 478, 490, - 504, 509, 434, 281, 485, 510, 0, 348, 0, 0, - 350, 264, 284, 295, 0, 499, 455, 214, 422, 273, - 202, 233, 217, 242, 257, 260, 299, 359, 366, 395, - 400, 278, 254, 231, 419, 228, 438, 461, 462, 463, - 465, 363, 249, 399, 0, 364, 346, 467, 468, 291, - 466, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, - 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, - 396, 0, 197, 0, 440, 237, 347, 344, 473, 265, - 256, 252, 236, 292, 354, 394, 460, 388, 0, 341, - 0, 0, 450, 367, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, - 234, 300, 196, 379, 451, 269, 0, 0, 0, 0, - 188, 189, 190, 0, 2148, 0, 0, 0, 0, 0, - 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, - 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, - 0, 248, 296, 255, 247, 470, 0, 0, 0, 0, - 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2149, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 279, 0, 368, - 240, 0, 0, 0, 0, 506, 0, 0, 0, 0, - 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, - 378, 421, 427, 0, 0, 0, 238, 0, 425, 392, - 489, 220, 267, 418, 398, 423, 405, 270, 0, 0, - 424, 342, 475, 412, 486, 507, 508, 246, 372, 497, - 464, 503, 521, 213, 243, 386, 457, 492, 447, 365, - 471, 472, 304, 446, 277, 195, 340, 513, 211, 433, - 229, 218, 477, 495, 272, 416, 203, 459, 484, 226, - 437, 0, 0, 523, 205, 482, 456, 361, 301, 302, - 204, 0, 417, 251, 275, 241, 381, 479, 480, 239, - 524, 215, 502, 207, 0, 501, 374, 474, 483, 362, - 352, 206, 481, 360, 351, 307, 326, 327, 263, 286, - 410, 345, 411, 287, 370, 369, 371, 198, 493, 0, - 199, 0, 452, 494, 525, 221, 222, 224, 0, 262, - 266, 274, 276, 282, 283, 290, 338, 385, 409, 407, - 413, 0, 469, 487, 498, 505, 511, 512, 514, 515, - 516, 517, 518, 520, 519, 373, 289, 448, 306, 343, - 0, 0, 391, 426, 227, 491, 449, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, - 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, - 538, 539, 540, 541, 542, 543, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 544, 353, 439, 488, - 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, - 317, 318, 319, 324, 325, 329, 335, 235, 201, 0, - 191, 208, 339, 0, 414, 271, 522, 500, 496, 0, + 540, 541, 542, 543, 544, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 545, 353, 440, 489, 308, + 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, + 318, 319, 324, 325, 329, 335, 235, 201, 359, 0, + 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, - 297, 303, 349, 355, 356, 357, 358, 375, 376, 377, - 380, 383, 384, 387, 389, 390, 393, 397, 401, 402, - 403, 404, 406, 408, 415, 420, 428, 429, 430, 431, - 432, 435, 436, 441, 442, 443, 444, 445, 453, 454, - 458, 476, 478, 490, 504, 509, 434, 281, 485, 510, - 0, 348, 0, 0, 350, 264, 284, 295, 0, 499, - 455, 214, 422, 273, 202, 233, 217, 242, 257, 260, - 299, 359, 366, 395, 400, 278, 254, 231, 419, 228, - 438, 461, 462, 463, 465, 363, 249, 399, 0, 364, - 346, 467, 468, 291, 466, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 382, 0, 0, 0, + 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, + 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, + 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, + 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, + 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, + 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, + 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, + 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, + 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, + 346, 468, 469, 291, 467, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 383, 0, 1498, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, - 337, 250, 0, 0, 396, 0, 197, 0, 440, 237, - 347, 344, 473, 265, 256, 252, 236, 292, 354, 394, - 460, 388, 0, 341, 0, 0, 450, 367, 0, 0, + 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, + 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, + 461, 389, 0, 341, 0, 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 298, 234, 300, 196, 379, 451, 269, + 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, - 2133, 0, 0, 0, 2134, 0, 0, 225, 0, 232, + 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, - 0, 0, 0, 0, 0, 248, 296, 255, 247, 470, + 0, 0, 0, 0, 0, 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, @@ -4145,298 +5206,117 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 279, 0, 368, 240, 0, 0, 0, 0, 506, + 0, 279, 0, 369, 240, 0, 0, 0, 0, 507, 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, - 192, 212, 0, 0, 378, 421, 427, 0, 0, 0, - 238, 0, 425, 392, 489, 220, 267, 418, 398, 423, - 405, 270, 0, 0, 424, 342, 475, 412, 486, 507, - 508, 246, 372, 497, 464, 503, 521, 213, 243, 386, - 457, 492, 447, 365, 471, 472, 304, 446, 277, 195, - 340, 513, 211, 433, 229, 218, 477, 495, 272, 416, - 203, 459, 484, 226, 437, 0, 0, 523, 205, 482, - 456, 361, 301, 302, 204, 0, 417, 251, 275, 241, - 381, 479, 480, 239, 524, 215, 502, 207, 0, 501, - 374, 474, 483, 362, 352, 206, 481, 360, 351, 307, - 326, 327, 263, 286, 410, 345, 411, 287, 370, 369, - 371, 198, 493, 0, 199, 0, 452, 494, 525, 221, + 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, + 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, + 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, + 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, + 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, + 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, + 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, + 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, + 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, + 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, + 326, 327, 263, 286, 411, 345, 412, 287, 371, 370, + 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, - 338, 385, 409, 407, 413, 0, 469, 487, 498, 505, - 511, 512, 514, 515, 516, 517, 518, 520, 519, 373, - 289, 448, 306, 343, 0, 0, 391, 426, 227, 491, - 449, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 526, 527, 528, 529, 530, 531, 532, 533, - 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 544, 353, 439, 488, 308, 320, 323, 313, 332, 0, + 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, + 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, + 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, + 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 545, 353, 440, 489, 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, - 335, 235, 201, 0, 191, 208, 339, 0, 414, 271, - 522, 500, 496, 0, 210, 0, 245, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, - 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, - 285, 288, 293, 294, 297, 303, 349, 355, 356, 357, - 358, 375, 376, 377, 380, 383, 384, 387, 389, 390, - 393, 397, 401, 402, 403, 404, 406, 408, 415, 420, - 428, 429, 430, 431, 432, 435, 436, 441, 442, 443, - 444, 445, 453, 454, 458, 476, 478, 490, 504, 509, - 434, 281, 485, 510, 0, 348, 0, 0, 350, 264, - 284, 295, 0, 499, 455, 214, 422, 273, 202, 233, - 217, 242, 257, 260, 299, 359, 366, 395, 400, 278, - 254, 231, 419, 228, 438, 461, 462, 463, 465, 363, - 249, 399, 0, 364, 346, 467, 468, 291, 466, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 382, 0, 0, 0, 0, 0, 0, 0, 0, 253, - 1384, 0, 0, 0, 337, 250, 0, 0, 396, 0, - 197, 0, 440, 237, 347, 344, 473, 265, 256, 252, - 236, 292, 354, 394, 460, 388, 0, 341, 0, 0, - 450, 367, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, - 196, 379, 451, 269, 0, 0, 0, 0, 188, 189, - 190, 0, 1383, 0, 0, 0, 0, 0, 0, 0, - 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, - 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, - 296, 255, 247, 470, 0, 0, 0, 0, 0, 0, - 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 279, 0, 368, 240, 0, - 0, 0, 0, 506, 0, 0, 0, 0, 0, 0, - 0, 336, 0, 305, 192, 212, 0, 0, 378, 421, - 427, 0, 0, 0, 238, 0, 425, 392, 489, 220, - 267, 418, 398, 423, 405, 270, 0, 0, 424, 342, - 475, 412, 486, 507, 508, 246, 372, 497, 464, 503, - 521, 213, 243, 386, 457, 492, 447, 365, 471, 472, - 304, 446, 277, 195, 340, 513, 211, 433, 229, 218, - 477, 495, 272, 416, 203, 459, 484, 226, 437, 0, - 0, 523, 205, 482, 456, 361, 301, 302, 204, 0, - 417, 251, 275, 241, 381, 479, 480, 239, 524, 215, - 502, 207, 0, 501, 374, 474, 483, 362, 352, 206, - 481, 360, 351, 307, 326, 327, 263, 286, 410, 345, - 411, 287, 370, 369, 371, 198, 493, 0, 199, 0, - 452, 494, 525, 221, 222, 224, 0, 262, 266, 274, - 276, 282, 283, 290, 338, 385, 409, 407, 413, 0, - 469, 487, 498, 505, 511, 512, 514, 515, 516, 517, - 518, 520, 519, 373, 289, 448, 306, 343, 0, 0, - 391, 426, 227, 491, 449, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, + 335, 235, 201, 359, 0, 191, 208, 339, 0, 415, + 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, + 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, + 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, + 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, + 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, + 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, + 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, + 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, + 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, + 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, + 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, + 364, 249, 400, 0, 365, 346, 468, 469, 291, 467, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 383, 0, 1496, 0, 0, 0, 0, 0, 0, + 253, 0, 0, 0, 0, 337, 250, 0, 0, 397, + 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, + 252, 236, 292, 354, 395, 461, 389, 0, 341, 0, + 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, + 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, + 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, + 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, + 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, + 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, + 0, 0, 0, 0, 507, 0, 0, 0, 0, 0, + 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, + 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, + 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, + 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, + 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, + 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, + 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, + 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, + 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, + 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, + 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, + 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, + 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, + 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, + 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, + 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, + 0, 392, 427, 227, 492, 450, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 544, 353, 439, 488, 308, 320, - 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, - 319, 324, 325, 329, 335, 235, 201, 0, 191, 208, - 339, 0, 414, 271, 522, 500, 496, 0, 210, 0, - 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, - 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, - 349, 355, 356, 357, 358, 375, 376, 377, 380, 383, - 384, 387, 389, 390, 393, 397, 401, 402, 403, 404, - 406, 408, 415, 420, 428, 429, 430, 431, 432, 435, - 436, 441, 442, 443, 444, 445, 453, 454, 458, 476, - 478, 490, 504, 509, 434, 281, 485, 510, 0, 348, - 0, 0, 350, 264, 284, 295, 0, 499, 455, 214, - 422, 273, 202, 233, 217, 242, 257, 260, 299, 359, - 366, 395, 400, 278, 254, 231, 419, 228, 438, 461, - 462, 463, 465, 363, 249, 399, 0, 364, 346, 467, - 468, 291, 466, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 382, 0, 0, 0, 0, 0, - 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, - 0, 0, 396, 0, 197, 0, 440, 237, 347, 344, - 473, 265, 256, 252, 236, 292, 354, 394, 460, 388, - 0, 341, 0, 0, 450, 367, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 298, 234, 300, 196, 379, 451, 269, 0, 0, - 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, - 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, - 0, 0, 0, 248, 296, 255, 247, 470, 0, 0, - 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, - 0, 368, 240, 0, 0, 0, 0, 506, 0, 0, - 0, 2990, 0, 0, 0, 336, 0, 305, 192, 212, - 0, 0, 378, 421, 427, 0, 0, 0, 238, 0, - 425, 392, 489, 220, 267, 418, 398, 423, 405, 270, - 0, 0, 424, 342, 475, 412, 486, 507, 508, 246, - 372, 497, 464, 503, 521, 213, 243, 386, 457, 492, - 447, 365, 471, 472, 304, 446, 277, 195, 340, 513, - 211, 433, 229, 218, 477, 495, 272, 416, 203, 459, - 484, 226, 437, 0, 0, 523, 205, 482, 456, 361, - 301, 302, 204, 0, 417, 251, 275, 241, 381, 479, - 480, 239, 524, 215, 502, 207, 0, 501, 374, 474, - 483, 362, 352, 206, 481, 360, 351, 307, 326, 327, - 263, 286, 410, 345, 411, 287, 370, 369, 371, 198, - 493, 0, 199, 0, 452, 494, 525, 221, 222, 224, - 0, 262, 266, 274, 276, 282, 283, 290, 338, 385, - 409, 407, 413, 0, 469, 487, 498, 505, 511, 512, - 514, 515, 516, 517, 518, 520, 519, 373, 289, 448, - 306, 343, 0, 0, 391, 426, 227, 491, 449, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, - 536, 537, 538, 539, 540, 541, 542, 543, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 544, 353, - 439, 488, 308, 320, 323, 313, 332, 0, 333, 309, - 310, 315, 317, 318, 319, 324, 325, 329, 335, 235, - 201, 0, 191, 208, 339, 0, 414, 271, 522, 500, - 496, 0, 210, 0, 245, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, - 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, - 293, 294, 297, 303, 349, 355, 356, 357, 358, 375, - 376, 377, 380, 383, 384, 387, 389, 390, 393, 397, - 401, 402, 403, 404, 406, 408, 415, 420, 428, 429, - 430, 431, 432, 435, 436, 441, 442, 443, 444, 445, - 453, 454, 458, 476, 478, 490, 504, 509, 434, 281, - 485, 510, 0, 348, 0, 0, 350, 264, 284, 295, - 0, 499, 455, 214, 422, 273, 202, 233, 217, 242, - 257, 260, 299, 359, 366, 395, 400, 278, 254, 231, - 419, 228, 438, 461, 462, 463, 465, 363, 249, 399, - 0, 364, 346, 467, 468, 291, 466, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 382, 0, - 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, - 0, 0, 337, 250, 0, 0, 396, 0, 197, 0, - 440, 237, 347, 344, 473, 265, 256, 252, 236, 292, - 354, 394, 460, 388, 0, 341, 0, 0, 450, 367, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 298, 234, 300, 196, 379, - 451, 269, 0, 0, 0, 0, 188, 189, 190, 0, - 1541, 0, 0, 0, 0, 0, 0, 0, 0, 225, - 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, - 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, - 247, 470, 0, 0, 0, 0, 0, 0, 0, 216, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 279, 0, 368, 240, 0, 0, 0, - 0, 506, 0, 0, 0, 0, 0, 0, 0, 336, - 0, 305, 192, 212, 0, 0, 378, 421, 427, 0, - 0, 0, 238, 0, 425, 392, 489, 220, 267, 418, - 398, 423, 405, 270, 0, 0, 424, 342, 475, 412, - 486, 507, 508, 246, 372, 497, 464, 503, 521, 213, - 243, 386, 457, 492, 447, 365, 471, 472, 304, 446, - 277, 195, 340, 513, 211, 433, 229, 218, 477, 495, - 272, 416, 203, 459, 484, 226, 437, 0, 0, 523, - 205, 482, 456, 361, 301, 302, 204, 0, 417, 251, - 275, 241, 381, 479, 480, 239, 524, 215, 502, 207, - 0, 501, 374, 474, 483, 362, 352, 206, 481, 360, - 351, 307, 326, 327, 263, 286, 410, 345, 411, 287, - 370, 369, 371, 198, 493, 0, 199, 0, 452, 494, - 525, 221, 222, 224, 0, 262, 266, 274, 276, 282, - 283, 290, 338, 385, 409, 407, 413, 0, 469, 487, - 498, 505, 511, 512, 514, 515, 516, 517, 518, 520, - 519, 373, 289, 448, 306, 343, 0, 0, 391, 426, - 227, 491, 449, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 526, 527, 528, 529, 530, 531, - 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, - 542, 543, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 544, 353, 439, 488, 308, 320, 323, 313, - 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, - 325, 329, 335, 235, 201, 0, 191, 208, 339, 0, - 414, 271, 522, 500, 496, 0, 210, 0, 245, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, - 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, - 356, 357, 358, 375, 376, 377, 380, 383, 384, 387, - 389, 390, 393, 397, 401, 402, 403, 404, 406, 408, - 415, 420, 428, 429, 430, 431, 432, 435, 436, 441, - 442, 443, 444, 445, 453, 454, 458, 476, 478, 490, - 504, 509, 434, 281, 485, 510, 0, 348, 0, 0, - 350, 264, 284, 295, 0, 499, 455, 214, 422, 273, - 202, 233, 217, 242, 257, 260, 299, 359, 366, 395, - 400, 278, 254, 231, 419, 228, 438, 461, 462, 463, - 465, 363, 249, 399, 0, 364, 346, 467, 468, 291, - 466, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, - 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, - 396, 0, 197, 0, 440, 237, 347, 344, 473, 265, - 256, 252, 236, 292, 354, 394, 460, 388, 0, 341, - 0, 0, 450, 367, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, - 234, 300, 196, 379, 451, 269, 0, 0, 0, 0, - 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, - 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, - 0, 248, 296, 255, 247, 470, 0, 0, 0, 0, - 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 279, 0, 368, - 240, 0, 0, 0, 0, 506, 0, 0, 0, 2897, - 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, - 378, 421, 427, 0, 0, 0, 238, 0, 425, 392, - 489, 220, 267, 418, 398, 423, 405, 270, 0, 0, - 424, 342, 475, 412, 486, 507, 508, 246, 372, 497, - 464, 503, 521, 213, 243, 386, 457, 492, 447, 365, - 471, 472, 304, 446, 277, 195, 340, 513, 211, 433, - 229, 218, 477, 495, 272, 416, 203, 459, 484, 226, - 437, 0, 0, 523, 205, 482, 456, 361, 301, 302, - 204, 0, 417, 251, 275, 241, 381, 479, 480, 239, - 524, 215, 502, 207, 0, 501, 374, 474, 483, 362, - 352, 206, 481, 360, 351, 307, 326, 327, 263, 286, - 410, 345, 411, 287, 370, 369, 371, 198, 493, 0, - 199, 0, 452, 494, 525, 221, 222, 224, 0, 262, - 266, 274, 276, 282, 283, 290, 338, 385, 409, 407, - 413, 0, 469, 487, 498, 505, 511, 512, 514, 515, - 516, 517, 518, 520, 519, 373, 289, 448, 306, 343, - 0, 0, 391, 426, 227, 491, 449, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, - 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, - 538, 539, 540, 541, 542, 543, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 544, 353, 439, 488, - 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, - 317, 318, 319, 324, 325, 329, 335, 235, 201, 0, - 191, 208, 339, 0, 414, 271, 522, 500, 496, 0, + 540, 541, 542, 543, 544, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 545, 353, 440, 489, 308, + 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, + 318, 319, 324, 325, 329, 335, 235, 201, 359, 0, + 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, - 297, 303, 349, 355, 356, 357, 358, 375, 376, 377, - 380, 383, 384, 387, 389, 390, 393, 397, 401, 402, - 403, 404, 406, 408, 415, 420, 428, 429, 430, 431, - 432, 435, 436, 441, 442, 443, 444, 445, 453, 454, - 458, 476, 478, 490, 504, 509, 434, 281, 485, 510, - 0, 348, 0, 0, 350, 264, 284, 295, 0, 499, - 455, 214, 422, 273, 202, 233, 217, 242, 257, 260, - 299, 359, 366, 395, 400, 278, 254, 231, 419, 228, - 438, 461, 462, 463, 465, 363, 249, 399, 0, 364, - 346, 467, 468, 291, 466, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 382, 0, 0, 0, + 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, + 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, + 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, + 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, + 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, + 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, + 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, + 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, + 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, + 346, 468, 469, 291, 467, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, - 337, 250, 0, 0, 396, 0, 197, 0, 440, 237, - 347, 344, 473, 265, 256, 252, 236, 292, 354, 394, - 460, 388, 0, 341, 0, 0, 450, 367, 0, 0, + 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, + 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, + 461, 389, 0, 341, 0, 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 298, 234, 300, 196, 379, 451, 269, - 0, 87, 0, 0, 188, 189, 190, 0, 0, 0, + 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, + 0, 1471, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, - 0, 0, 0, 0, 0, 248, 296, 255, 247, 470, + 0, 0, 0, 0, 0, 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, @@ -4447,298 +5327,117 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 279, 0, 368, 240, 0, 0, 0, 0, 506, + 0, 279, 0, 369, 240, 0, 0, 0, 0, 507, 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, - 192, 212, 0, 0, 378, 421, 427, 0, 0, 0, - 238, 0, 425, 392, 489, 220, 267, 418, 398, 423, - 405, 270, 0, 0, 424, 342, 475, 412, 486, 507, - 508, 246, 372, 497, 464, 503, 521, 213, 243, 386, - 457, 492, 447, 365, 471, 472, 304, 446, 277, 195, - 340, 513, 211, 433, 229, 218, 477, 495, 272, 416, - 203, 459, 484, 226, 437, 0, 0, 523, 205, 482, - 456, 361, 301, 302, 204, 0, 417, 251, 275, 241, - 381, 479, 480, 239, 524, 215, 502, 207, 0, 501, - 374, 474, 483, 362, 352, 206, 481, 360, 351, 307, - 326, 327, 263, 286, 410, 345, 411, 287, 370, 369, - 371, 198, 493, 0, 199, 0, 452, 494, 525, 221, + 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, + 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, + 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, + 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, + 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, + 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, + 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, + 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, + 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, + 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, + 326, 327, 263, 286, 411, 345, 412, 287, 371, 370, + 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, - 338, 385, 409, 407, 413, 0, 469, 487, 498, 505, - 511, 512, 514, 515, 516, 517, 518, 520, 519, 373, - 289, 448, 306, 343, 0, 0, 391, 426, 227, 491, - 449, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 526, 527, 528, 529, 530, 531, 532, 533, - 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 544, 353, 439, 488, 308, 320, 323, 313, 332, 0, + 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, + 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, + 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, + 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 545, 353, 440, 489, 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, - 335, 235, 201, 0, 191, 208, 339, 0, 414, 271, - 522, 500, 496, 0, 210, 0, 245, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, - 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, - 285, 288, 293, 294, 297, 303, 349, 355, 356, 357, - 358, 375, 376, 377, 380, 383, 384, 387, 389, 390, - 393, 397, 401, 402, 403, 404, 406, 408, 415, 420, - 428, 429, 430, 431, 432, 435, 436, 441, 442, 443, - 444, 445, 453, 454, 458, 476, 478, 490, 504, 509, - 434, 281, 485, 510, 0, 348, 0, 0, 350, 264, - 284, 295, 0, 499, 455, 214, 422, 273, 202, 233, - 217, 242, 257, 260, 299, 359, 366, 395, 400, 278, - 254, 231, 419, 228, 438, 461, 462, 463, 465, 363, - 249, 399, 0, 364, 346, 467, 468, 291, 466, 0, - 0, 0, 0, 1853, 0, 0, 0, 0, 0, 0, - 382, 0, 0, 0, 0, 0, 0, 0, 0, 253, - 0, 0, 0, 0, 337, 250, 0, 0, 396, 0, - 197, 0, 440, 237, 347, 344, 473, 265, 256, 252, - 236, 292, 354, 394, 460, 388, 0, 341, 0, 0, - 450, 367, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, - 196, 379, 451, 269, 0, 0, 0, 0, 188, 189, - 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, - 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, - 296, 255, 247, 470, 0, 0, 0, 0, 0, 0, - 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 279, 0, 368, 240, 0, - 0, 0, 0, 506, 0, 0, 0, 0, 0, 0, - 0, 336, 0, 305, 192, 212, 0, 0, 378, 421, - 427, 0, 0, 0, 238, 0, 425, 392, 489, 220, - 267, 418, 398, 423, 405, 270, 0, 0, 424, 342, - 475, 412, 486, 507, 508, 246, 372, 497, 464, 503, - 521, 213, 243, 386, 457, 492, 447, 365, 471, 472, - 304, 446, 277, 195, 340, 513, 211, 433, 229, 218, - 477, 495, 272, 416, 203, 459, 484, 226, 437, 0, - 0, 523, 205, 482, 456, 361, 301, 302, 204, 0, - 417, 251, 275, 241, 381, 479, 480, 239, 524, 215, - 502, 207, 0, 501, 374, 474, 483, 362, 352, 206, - 481, 360, 351, 307, 326, 327, 263, 286, 410, 345, - 411, 287, 370, 369, 371, 198, 493, 0, 199, 0, - 452, 494, 525, 221, 222, 224, 0, 262, 266, 274, - 276, 282, 283, 290, 338, 385, 409, 407, 413, 0, - 469, 487, 498, 505, 511, 512, 514, 515, 516, 517, - 518, 520, 519, 373, 289, 448, 306, 343, 0, 0, - 391, 426, 227, 491, 449, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, + 335, 235, 201, 359, 0, 191, 208, 339, 0, 415, + 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, + 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, + 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, + 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, + 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, + 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, + 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, + 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, + 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, + 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, + 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, + 364, 249, 400, 0, 365, 346, 468, 469, 291, 467, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 383, 0, 0, 0, 0, 0, 0, 0, 1371, + 253, 0, 0, 0, 0, 337, 250, 0, 0, 397, + 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, + 252, 236, 292, 354, 395, 461, 389, 0, 341, 0, + 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, + 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, + 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, + 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, + 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, + 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, + 0, 0, 0, 0, 507, 0, 0, 0, 0, 0, + 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, + 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, + 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, + 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, + 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, + 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, + 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, + 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, + 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, + 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, + 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, + 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, + 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, + 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, + 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, + 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, + 0, 392, 427, 227, 492, 450, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 544, 353, 439, 488, 308, 320, - 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, - 319, 324, 325, 329, 335, 235, 201, 0, 191, 208, - 339, 0, 414, 271, 522, 500, 496, 0, 210, 0, - 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, - 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, - 349, 355, 356, 357, 358, 375, 376, 377, 380, 383, - 384, 387, 389, 390, 393, 397, 401, 402, 403, 404, - 406, 408, 415, 420, 428, 429, 430, 431, 432, 435, - 436, 441, 442, 443, 444, 445, 453, 454, 458, 476, - 478, 490, 504, 509, 434, 281, 485, 510, 0, 348, - 0, 0, 350, 264, 284, 295, 0, 499, 455, 214, - 422, 273, 202, 233, 217, 242, 257, 260, 299, 359, - 366, 395, 400, 278, 254, 231, 419, 228, 438, 461, - 462, 463, 465, 363, 249, 399, 0, 364, 346, 467, - 468, 291, 466, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 382, 0, 0, 0, 0, 0, - 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, - 0, 0, 396, 0, 197, 0, 440, 237, 347, 344, - 473, 265, 256, 252, 236, 292, 354, 394, 460, 388, - 0, 341, 0, 0, 450, 367, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 298, 234, 300, 196, 379, 451, 269, 0, 0, - 0, 0, 188, 189, 190, 0, 1363, 0, 0, 0, - 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, - 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, - 0, 0, 0, 248, 296, 255, 247, 470, 0, 0, - 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, - 0, 368, 240, 0, 0, 0, 0, 506, 0, 0, - 0, 0, 0, 0, 0, 336, 0, 305, 192, 212, - 0, 0, 378, 421, 427, 0, 0, 0, 238, 0, - 425, 392, 489, 220, 267, 418, 398, 423, 405, 270, - 0, 0, 424, 342, 475, 412, 486, 507, 508, 246, - 372, 497, 464, 503, 521, 213, 243, 386, 457, 492, - 447, 365, 471, 472, 304, 446, 277, 195, 340, 513, - 211, 433, 229, 218, 477, 495, 272, 416, 203, 459, - 484, 226, 437, 0, 0, 523, 205, 482, 456, 361, - 301, 302, 204, 0, 417, 251, 275, 241, 381, 479, - 480, 239, 524, 215, 502, 207, 0, 501, 374, 474, - 483, 362, 352, 206, 481, 360, 351, 307, 326, 327, - 263, 286, 410, 345, 411, 287, 370, 369, 371, 198, - 493, 0, 199, 0, 452, 494, 525, 221, 222, 224, - 0, 262, 266, 274, 276, 282, 283, 290, 338, 385, - 409, 407, 413, 0, 469, 487, 498, 505, 511, 512, - 514, 515, 516, 517, 518, 520, 519, 373, 289, 448, - 306, 343, 0, 0, 391, 426, 227, 491, 449, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, - 536, 537, 538, 539, 540, 541, 542, 543, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 544, 353, - 439, 488, 308, 320, 323, 313, 332, 0, 333, 309, - 310, 315, 317, 318, 319, 324, 325, 329, 335, 235, - 201, 0, 191, 208, 339, 0, 414, 271, 522, 500, - 496, 0, 210, 0, 245, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, - 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, - 293, 294, 297, 303, 349, 355, 356, 357, 358, 375, - 376, 377, 380, 383, 384, 387, 389, 390, 393, 397, - 401, 402, 403, 404, 406, 408, 415, 420, 428, 429, - 430, 431, 432, 435, 436, 441, 442, 443, 444, 445, - 453, 454, 458, 476, 478, 490, 504, 509, 434, 281, - 485, 510, 0, 348, 0, 0, 350, 264, 284, 295, - 0, 499, 455, 214, 422, 273, 202, 233, 217, 242, - 257, 260, 299, 359, 366, 395, 400, 278, 254, 231, - 419, 228, 438, 461, 462, 463, 465, 363, 249, 399, - 0, 364, 346, 467, 468, 291, 466, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 382, 0, - 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, - 0, 0, 337, 250, 0, 0, 396, 0, 197, 0, - 440, 237, 347, 344, 473, 265, 256, 252, 236, 292, - 354, 394, 460, 388, 0, 341, 0, 0, 450, 367, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 298, 234, 300, 196, 379, - 451, 269, 0, 0, 0, 0, 188, 189, 190, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, - 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, - 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, - 247, 470, 0, 0, 0, 0, 0, 0, 0, 216, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1221, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 279, 0, 368, 240, 0, 0, 0, - 0, 506, 0, 0, 0, 0, 0, 0, 0, 336, - 0, 305, 192, 212, 0, 0, 378, 421, 427, 0, - 0, 0, 238, 0, 425, 392, 489, 220, 267, 418, - 398, 423, 405, 270, 0, 0, 424, 342, 475, 412, - 486, 507, 508, 246, 372, 497, 464, 503, 521, 213, - 243, 386, 457, 492, 447, 365, 471, 472, 304, 446, - 277, 195, 340, 513, 211, 433, 229, 218, 477, 495, - 272, 416, 203, 459, 484, 226, 437, 0, 0, 523, - 205, 482, 456, 361, 301, 302, 204, 0, 417, 251, - 275, 241, 381, 479, 480, 239, 524, 215, 502, 207, - 0, 501, 374, 474, 483, 362, 352, 206, 481, 360, - 351, 307, 326, 327, 263, 286, 410, 345, 411, 287, - 370, 369, 371, 198, 493, 0, 199, 0, 452, 494, - 525, 221, 222, 224, 0, 262, 266, 274, 276, 282, - 283, 290, 338, 385, 409, 407, 413, 0, 469, 487, - 498, 505, 511, 512, 514, 515, 516, 517, 518, 520, - 519, 373, 289, 448, 306, 343, 0, 0, 391, 426, - 227, 491, 449, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 526, 527, 528, 529, 530, 531, - 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, - 542, 543, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 544, 353, 439, 488, 308, 320, 323, 313, - 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, - 325, 329, 335, 235, 201, 0, 191, 208, 339, 0, - 414, 271, 522, 500, 496, 0, 210, 0, 245, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, - 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, - 356, 357, 358, 375, 376, 377, 380, 383, 384, 387, - 389, 390, 393, 397, 401, 402, 403, 404, 406, 408, - 415, 420, 428, 429, 430, 431, 432, 435, 436, 441, - 442, 443, 444, 445, 453, 454, 458, 476, 478, 490, - 504, 509, 434, 281, 485, 510, 0, 348, 0, 0, - 350, 264, 284, 295, 0, 499, 455, 214, 422, 273, - 202, 233, 217, 242, 257, 260, 299, 359, 366, 395, - 400, 278, 254, 231, 419, 228, 438, 461, 462, 463, - 465, 363, 249, 399, 0, 364, 346, 467, 468, 291, - 466, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, - 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, - 396, 0, 197, 0, 440, 237, 347, 344, 473, 265, - 256, 252, 236, 292, 354, 394, 460, 388, 0, 341, - 0, 0, 450, 367, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, - 234, 300, 196, 379, 451, 269, 0, 0, 0, 0, - 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, - 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, - 0, 248, 296, 255, 247, 470, 0, 0, 0, 0, - 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 279, 0, 368, - 240, 0, 0, 0, 0, 506, 0, 0, 0, 0, - 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, - 378, 421, 427, 0, 0, 0, 238, 0, 425, 392, - 489, 220, 267, 418, 398, 423, 405, 270, 0, 0, - 424, 342, 475, 412, 486, 507, 508, 246, 372, 497, - 464, 503, 521, 213, 243, 386, 457, 492, 447, 365, - 471, 472, 304, 446, 277, 195, 340, 513, 211, 433, - 229, 218, 477, 495, 272, 416, 203, 459, 484, 226, - 437, 0, 0, 523, 205, 482, 456, 361, 301, 302, - 204, 0, 417, 251, 275, 241, 381, 479, 480, 239, - 524, 215, 502, 207, 0, 501, 374, 474, 483, 362, - 352, 206, 481, 360, 351, 307, 326, 327, 263, 286, - 410, 345, 411, 287, 370, 369, 371, 198, 493, 0, - 199, 0, 452, 494, 525, 221, 222, 224, 0, 262, - 266, 274, 276, 282, 283, 290, 338, 385, 409, 407, - 413, 0, 469, 487, 498, 505, 511, 512, 514, 515, - 516, 517, 518, 520, 519, 373, 289, 448, 306, 343, - 0, 0, 391, 426, 227, 491, 449, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, - 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, - 538, 539, 540, 541, 542, 543, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 544, 353, 439, 488, - 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, - 317, 318, 319, 324, 325, 329, 335, 235, 201, 0, - 191, 208, 339, 1639, 414, 271, 522, 500, 496, 0, + 540, 541, 542, 543, 544, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 545, 353, 440, 489, 308, + 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, + 318, 319, 324, 325, 329, 335, 235, 201, 359, 0, + 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, - 297, 303, 349, 355, 356, 357, 358, 375, 376, 377, - 380, 383, 384, 387, 389, 390, 393, 397, 401, 402, - 403, 404, 406, 408, 415, 420, 428, 429, 430, 431, - 432, 435, 436, 441, 442, 443, 444, 445, 453, 454, - 458, 476, 478, 490, 504, 509, 434, 281, 485, 510, - 0, 348, 0, 0, 350, 264, 284, 295, 0, 499, - 455, 214, 422, 273, 202, 233, 217, 242, 257, 260, - 299, 359, 366, 395, 400, 278, 254, 231, 419, 228, - 438, 461, 462, 463, 465, 363, 249, 399, 0, 364, - 346, 467, 468, 291, 466, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 382, 0, 1509, 0, + 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, + 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, + 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, + 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, + 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, + 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, + 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, + 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, + 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, + 346, 468, 469, 291, 467, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, - 337, 250, 0, 0, 396, 0, 197, 0, 440, 237, - 347, 344, 473, 265, 256, 252, 236, 292, 354, 394, - 460, 388, 0, 341, 0, 0, 450, 367, 0, 0, + 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, + 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, + 461, 389, 0, 341, 0, 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 298, 234, 300, 196, 379, 451, 269, - 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, + 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, + 0, 0, 0, 0, 188, 189, 190, 0, 1169, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, - 0, 0, 0, 0, 0, 248, 296, 255, 247, 470, + 0, 0, 0, 0, 0, 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, @@ -4749,298 +5448,117 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 279, 0, 368, 240, 0, 0, 0, 0, 506, + 0, 279, 0, 369, 240, 0, 0, 0, 0, 507, 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, - 192, 212, 0, 0, 378, 421, 427, 0, 0, 0, - 238, 0, 425, 392, 489, 220, 267, 418, 398, 423, - 405, 270, 0, 0, 424, 342, 475, 412, 486, 507, - 508, 246, 372, 497, 464, 503, 521, 213, 243, 386, - 457, 492, 447, 365, 471, 472, 304, 446, 277, 195, - 340, 513, 211, 433, 229, 218, 477, 495, 272, 416, - 203, 459, 484, 226, 437, 0, 0, 523, 205, 482, - 456, 361, 301, 302, 204, 0, 417, 251, 275, 241, - 381, 479, 480, 239, 524, 215, 502, 207, 0, 501, - 374, 474, 483, 362, 352, 206, 481, 360, 351, 307, - 326, 327, 263, 286, 410, 345, 411, 287, 370, 369, - 371, 198, 493, 0, 199, 0, 452, 494, 525, 221, + 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, + 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, + 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, + 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, + 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, + 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, + 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, + 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, + 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, + 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, + 326, 327, 263, 286, 411, 345, 412, 287, 371, 370, + 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, - 338, 385, 409, 407, 413, 0, 469, 487, 498, 505, - 511, 512, 514, 515, 516, 517, 518, 520, 519, 373, - 289, 448, 306, 343, 0, 0, 391, 426, 227, 491, - 449, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 526, 527, 528, 529, 530, 531, 532, 533, - 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 544, 353, 439, 488, 308, 320, 323, 313, 332, 0, + 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, + 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, + 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, + 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 545, 353, 440, 489, 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, - 335, 235, 201, 0, 191, 208, 339, 0, 414, 271, - 522, 500, 496, 0, 210, 0, 245, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, - 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, - 285, 288, 293, 294, 297, 303, 349, 355, 356, 357, - 358, 375, 376, 377, 380, 383, 384, 387, 389, 390, - 393, 397, 401, 402, 403, 404, 406, 408, 415, 420, - 428, 429, 430, 431, 432, 435, 436, 441, 442, 443, - 444, 445, 453, 454, 458, 476, 478, 490, 504, 509, - 434, 281, 485, 510, 0, 348, 0, 0, 350, 264, - 284, 295, 0, 499, 455, 214, 422, 273, 202, 233, - 217, 242, 257, 260, 299, 359, 366, 395, 400, 278, - 254, 231, 419, 228, 438, 461, 462, 463, 465, 363, - 249, 399, 0, 364, 346, 467, 468, 291, 466, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 382, 0, 1507, 0, 0, 0, 0, 0, 0, 253, - 0, 0, 0, 0, 337, 250, 0, 0, 396, 0, - 197, 0, 440, 237, 347, 344, 473, 265, 256, 252, - 236, 292, 354, 394, 460, 388, 0, 341, 0, 0, - 450, 367, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, - 196, 379, 451, 269, 0, 0, 0, 0, 188, 189, - 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, - 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, - 296, 255, 247, 470, 0, 0, 0, 0, 0, 0, - 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 279, 0, 368, 240, 0, - 0, 0, 0, 506, 0, 0, 0, 0, 0, 0, - 0, 336, 0, 305, 192, 212, 0, 0, 378, 421, - 427, 0, 0, 0, 238, 0, 425, 392, 489, 220, - 267, 418, 398, 423, 405, 270, 0, 0, 424, 342, - 475, 412, 486, 507, 508, 246, 372, 497, 464, 503, - 521, 213, 243, 386, 457, 492, 447, 365, 471, 472, - 304, 446, 277, 195, 340, 513, 211, 433, 229, 218, - 477, 495, 272, 416, 203, 459, 484, 226, 437, 0, - 0, 523, 205, 482, 456, 361, 301, 302, 204, 0, - 417, 251, 275, 241, 381, 479, 480, 239, 524, 215, - 502, 207, 0, 501, 374, 474, 483, 362, 352, 206, - 481, 360, 351, 307, 326, 327, 263, 286, 410, 345, - 411, 287, 370, 369, 371, 198, 493, 0, 199, 0, - 452, 494, 525, 221, 222, 224, 0, 262, 266, 274, - 276, 282, 283, 290, 338, 385, 409, 407, 413, 0, - 469, 487, 498, 505, 511, 512, 514, 515, 516, 517, - 518, 520, 519, 373, 289, 448, 306, 343, 0, 0, - 391, 426, 227, 491, 449, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, + 335, 235, 201, 359, 0, 191, 208, 339, 0, 415, + 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, + 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, + 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, + 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, + 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, + 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, + 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, + 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, + 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, + 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, + 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, + 364, 249, 400, 0, 365, 346, 468, 469, 291, 467, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 383, 0, 0, 0, 0, 0, 0, 0, 0, + 253, 0, 0, 0, 0, 337, 250, 0, 0, 397, + 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, + 252, 236, 292, 354, 395, 461, 389, 0, 341, 0, + 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, + 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, + 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, + 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, + 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, + 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, + 0, 0, 0, 0, 507, 0, 0, 0, 0, 0, + 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, + 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, + 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, + 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, + 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, + 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, + 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, + 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, + 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, + 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, + 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, + 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, + 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, + 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, + 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, + 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, + 0, 392, 427, 227, 492, 450, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 544, 353, 439, 488, 308, 320, - 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, - 319, 324, 325, 329, 335, 235, 201, 0, 191, 208, - 339, 0, 414, 271, 522, 500, 496, 0, 210, 0, - 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, - 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, - 349, 355, 356, 357, 358, 375, 376, 377, 380, 383, - 384, 387, 389, 390, 393, 397, 401, 402, 403, 404, - 406, 408, 415, 420, 428, 429, 430, 431, 432, 435, - 436, 441, 442, 443, 444, 445, 453, 454, 458, 476, - 478, 490, 504, 509, 434, 281, 485, 510, 0, 348, - 0, 0, 350, 264, 284, 295, 0, 499, 455, 214, - 422, 273, 202, 233, 217, 242, 257, 260, 299, 359, - 366, 395, 400, 278, 254, 231, 419, 228, 438, 461, - 462, 463, 465, 363, 249, 399, 0, 364, 346, 467, - 468, 291, 466, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 382, 0, 1505, 0, 0, 0, - 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, - 0, 0, 396, 0, 197, 0, 440, 237, 347, 344, - 473, 265, 256, 252, 236, 292, 354, 394, 460, 388, - 0, 341, 0, 0, 450, 367, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 298, 234, 300, 196, 379, 451, 269, 0, 0, - 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, - 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, - 0, 0, 0, 248, 296, 255, 247, 470, 0, 0, - 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, - 0, 368, 240, 0, 0, 0, 0, 506, 0, 0, - 0, 0, 0, 0, 0, 336, 0, 305, 192, 212, - 0, 0, 378, 421, 427, 0, 0, 0, 238, 0, - 425, 392, 489, 220, 267, 418, 398, 423, 405, 270, - 0, 0, 424, 342, 475, 412, 486, 507, 508, 246, - 372, 497, 464, 503, 521, 213, 243, 386, 457, 492, - 447, 365, 471, 472, 304, 446, 277, 195, 340, 513, - 211, 433, 229, 218, 477, 495, 272, 416, 203, 459, - 484, 226, 437, 0, 0, 523, 205, 482, 456, 361, - 301, 302, 204, 0, 417, 251, 275, 241, 381, 479, - 480, 239, 524, 215, 502, 207, 0, 501, 374, 474, - 483, 362, 352, 206, 481, 360, 351, 307, 326, 327, - 263, 286, 410, 345, 411, 287, 370, 369, 371, 198, - 493, 0, 199, 0, 452, 494, 525, 221, 222, 224, - 0, 262, 266, 274, 276, 282, 283, 290, 338, 385, - 409, 407, 413, 0, 469, 487, 498, 505, 511, 512, - 514, 515, 516, 517, 518, 520, 519, 373, 289, 448, - 306, 343, 0, 0, 391, 426, 227, 491, 449, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, - 536, 537, 538, 539, 540, 541, 542, 543, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 544, 353, - 439, 488, 308, 320, 323, 313, 332, 0, 333, 309, - 310, 315, 317, 318, 319, 324, 325, 329, 335, 235, - 201, 0, 191, 208, 339, 0, 414, 271, 522, 500, - 496, 0, 210, 0, 245, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, - 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, - 293, 294, 297, 303, 349, 355, 356, 357, 358, 375, - 376, 377, 380, 383, 384, 387, 389, 390, 393, 397, - 401, 402, 403, 404, 406, 408, 415, 420, 428, 429, - 430, 431, 432, 435, 436, 441, 442, 443, 444, 445, - 453, 454, 458, 476, 478, 490, 504, 509, 434, 281, - 485, 510, 0, 348, 0, 0, 350, 264, 284, 295, - 0, 499, 455, 214, 422, 273, 202, 233, 217, 242, - 257, 260, 299, 359, 366, 395, 400, 278, 254, 231, - 419, 228, 438, 461, 462, 463, 465, 363, 249, 399, - 0, 364, 346, 467, 468, 291, 466, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 382, 0, - 1503, 0, 0, 0, 0, 0, 0, 253, 0, 0, - 0, 0, 337, 250, 0, 0, 396, 0, 197, 0, - 440, 237, 347, 344, 473, 265, 256, 252, 236, 292, - 354, 394, 460, 388, 0, 341, 0, 0, 450, 367, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 298, 234, 300, 196, 379, - 451, 269, 0, 0, 0, 0, 188, 189, 190, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, - 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, - 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, - 247, 470, 0, 0, 0, 0, 0, 0, 0, 216, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 279, 0, 368, 240, 0, 0, 0, - 0, 506, 0, 0, 0, 0, 0, 0, 0, 336, - 0, 305, 192, 212, 0, 0, 378, 421, 427, 0, - 0, 0, 238, 0, 425, 392, 489, 220, 267, 418, - 398, 423, 405, 270, 0, 0, 424, 342, 475, 412, - 486, 507, 508, 246, 372, 497, 464, 503, 521, 213, - 243, 386, 457, 492, 447, 365, 471, 472, 304, 446, - 277, 195, 340, 513, 211, 433, 229, 218, 477, 495, - 272, 416, 203, 459, 484, 226, 437, 0, 0, 523, - 205, 482, 456, 361, 301, 302, 204, 0, 417, 251, - 275, 241, 381, 479, 480, 239, 524, 215, 502, 207, - 0, 501, 374, 474, 483, 362, 352, 206, 481, 360, - 351, 307, 326, 327, 263, 286, 410, 345, 411, 287, - 370, 369, 371, 198, 493, 0, 199, 0, 452, 494, - 525, 221, 222, 224, 0, 262, 266, 274, 276, 282, - 283, 290, 338, 385, 409, 407, 413, 0, 469, 487, - 498, 505, 511, 512, 514, 515, 516, 517, 518, 520, - 519, 373, 289, 448, 306, 343, 0, 0, 391, 426, - 227, 491, 449, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 526, 527, 528, 529, 530, 531, - 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, - 542, 543, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 544, 353, 439, 488, 308, 320, 323, 313, - 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, - 325, 329, 335, 235, 201, 0, 191, 208, 339, 0, - 414, 271, 522, 500, 496, 0, 210, 0, 245, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, - 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, - 356, 357, 358, 375, 376, 377, 380, 383, 384, 387, - 389, 390, 393, 397, 401, 402, 403, 404, 406, 408, - 415, 420, 428, 429, 430, 431, 432, 435, 436, 441, - 442, 443, 444, 445, 453, 454, 458, 476, 478, 490, - 504, 509, 434, 281, 485, 510, 0, 348, 0, 0, - 350, 264, 284, 295, 0, 499, 455, 214, 422, 273, - 202, 233, 217, 242, 257, 260, 299, 359, 366, 395, - 400, 278, 254, 231, 419, 228, 438, 461, 462, 463, - 465, 363, 249, 399, 0, 364, 346, 467, 468, 291, - 466, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 382, 0, 1501, 0, 0, 0, 0, 0, - 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, - 396, 0, 197, 0, 440, 237, 347, 344, 473, 265, - 256, 252, 236, 292, 354, 394, 460, 388, 0, 341, - 0, 0, 450, 367, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, - 234, 300, 196, 379, 451, 269, 0, 0, 0, 0, - 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, - 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, - 0, 248, 296, 255, 247, 470, 0, 0, 0, 0, - 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 279, 0, 368, - 240, 0, 0, 0, 0, 506, 0, 0, 0, 0, - 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, - 378, 421, 427, 0, 0, 0, 238, 0, 425, 392, - 489, 220, 267, 418, 398, 423, 405, 270, 0, 0, - 424, 342, 475, 412, 486, 507, 508, 246, 372, 497, - 464, 503, 521, 213, 243, 386, 457, 492, 447, 365, - 471, 472, 304, 446, 277, 195, 340, 513, 211, 433, - 229, 218, 477, 495, 272, 416, 203, 459, 484, 226, - 437, 0, 0, 523, 205, 482, 456, 361, 301, 302, - 204, 0, 417, 251, 275, 241, 381, 479, 480, 239, - 524, 215, 502, 207, 0, 501, 374, 474, 483, 362, - 352, 206, 481, 360, 351, 307, 326, 327, 263, 286, - 410, 345, 411, 287, 370, 369, 371, 198, 493, 0, - 199, 0, 452, 494, 525, 221, 222, 224, 0, 262, - 266, 274, 276, 282, 283, 290, 338, 385, 409, 407, - 413, 0, 469, 487, 498, 505, 511, 512, 514, 515, - 516, 517, 518, 520, 519, 373, 289, 448, 306, 343, - 0, 0, 391, 426, 227, 491, 449, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, - 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, - 538, 539, 540, 541, 542, 543, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 544, 353, 439, 488, - 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, - 317, 318, 319, 324, 325, 329, 335, 235, 201, 0, - 191, 208, 339, 0, 414, 271, 522, 500, 496, 0, + 540, 541, 542, 543, 544, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 545, 353, 440, 489, 308, + 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, + 318, 319, 324, 325, 329, 335, 235, 201, 359, 0, + 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, + 783, 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, - 297, 303, 349, 355, 356, 357, 358, 375, 376, 377, - 380, 383, 384, 387, 389, 390, 393, 397, 401, 402, - 403, 404, 406, 408, 415, 420, 428, 429, 430, 431, - 432, 435, 436, 441, 442, 443, 444, 445, 453, 454, - 458, 476, 478, 490, 504, 509, 434, 281, 485, 510, - 0, 348, 0, 0, 350, 264, 284, 295, 0, 499, - 455, 214, 422, 273, 202, 233, 217, 242, 257, 260, - 299, 359, 366, 395, 400, 278, 254, 231, 419, 228, - 438, 461, 462, 463, 465, 363, 249, 399, 0, 364, - 346, 467, 468, 291, 466, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 382, 0, 1497, 0, + 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, + 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, + 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, + 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, + 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, + 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, + 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, + 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, + 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, + 346, 468, 469, 291, 467, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, - 337, 250, 0, 0, 396, 0, 197, 0, 440, 237, - 347, 344, 473, 265, 256, 252, 236, 292, 354, 394, - 460, 388, 0, 341, 0, 0, 450, 367, 0, 0, + 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, + 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, + 461, 389, 0, 341, 0, 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 298, 234, 300, 196, 379, 451, 269, + 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, - 0, 0, 0, 0, 0, 248, 296, 255, 247, 470, + 0, 0, 0, 0, 0, 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, @@ -5050,299 +5568,118 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 279, 0, 368, 240, 0, 0, 0, 0, 506, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 602, + 0, 279, 0, 369, 240, 0, 0, 0, 0, 507, 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, - 192, 212, 0, 0, 378, 421, 427, 0, 0, 0, - 238, 0, 425, 392, 489, 220, 267, 418, 398, 423, - 405, 270, 0, 0, 424, 342, 475, 412, 486, 507, - 508, 246, 372, 497, 464, 503, 521, 213, 243, 386, - 457, 492, 447, 365, 471, 472, 304, 446, 277, 195, - 340, 513, 211, 433, 229, 218, 477, 495, 272, 416, - 203, 459, 484, 226, 437, 0, 0, 523, 205, 482, - 456, 361, 301, 302, 204, 0, 417, 251, 275, 241, - 381, 479, 480, 239, 524, 215, 502, 207, 0, 501, - 374, 474, 483, 362, 352, 206, 481, 360, 351, 307, - 326, 327, 263, 286, 410, 345, 411, 287, 370, 369, - 371, 198, 493, 0, 199, 0, 452, 494, 525, 221, + 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, + 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, + 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, + 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, + 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, + 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, + 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, + 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, + 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, + 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, + 326, 327, 263, 286, 411, 345, 412, 287, 371, 370, + 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, - 338, 385, 409, 407, 413, 0, 469, 487, 498, 505, - 511, 512, 514, 515, 516, 517, 518, 520, 519, 373, - 289, 448, 306, 343, 0, 0, 391, 426, 227, 491, - 449, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 526, 527, 528, 529, 530, 531, 532, 533, - 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 544, 353, 439, 488, 308, 320, 323, 313, 332, 0, + 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, + 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, + 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, + 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 545, 353, 440, 489, 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, - 335, 235, 201, 0, 191, 208, 339, 0, 414, 271, - 522, 500, 496, 0, 210, 0, 245, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, - 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, - 285, 288, 293, 294, 297, 303, 349, 355, 356, 357, - 358, 375, 376, 377, 380, 383, 384, 387, 389, 390, - 393, 397, 401, 402, 403, 404, 406, 408, 415, 420, - 428, 429, 430, 431, 432, 435, 436, 441, 442, 443, - 444, 445, 453, 454, 458, 476, 478, 490, 504, 509, - 434, 281, 485, 510, 0, 348, 0, 0, 350, 264, - 284, 295, 0, 499, 455, 214, 422, 273, 202, 233, - 217, 242, 257, 260, 299, 359, 366, 395, 400, 278, - 254, 231, 419, 228, 438, 461, 462, 463, 465, 363, - 249, 399, 0, 364, 346, 467, 468, 291, 466, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 382, 0, 1495, 0, 0, 0, 0, 0, 0, 253, - 0, 0, 0, 0, 337, 250, 0, 0, 396, 0, - 197, 0, 440, 237, 347, 344, 473, 265, 256, 252, - 236, 292, 354, 394, 460, 388, 0, 341, 0, 0, - 450, 367, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, - 196, 379, 451, 269, 0, 0, 0, 0, 188, 189, - 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, - 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, - 296, 255, 247, 470, 0, 0, 0, 0, 0, 0, - 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 279, 0, 368, 240, 0, - 0, 0, 0, 506, 0, 0, 0, 0, 0, 0, - 0, 336, 0, 305, 192, 212, 0, 0, 378, 421, - 427, 0, 0, 0, 238, 0, 425, 392, 489, 220, - 267, 418, 398, 423, 405, 270, 0, 0, 424, 342, - 475, 412, 486, 507, 508, 246, 372, 497, 464, 503, - 521, 213, 243, 386, 457, 492, 447, 365, 471, 472, - 304, 446, 277, 195, 340, 513, 211, 433, 229, 218, - 477, 495, 272, 416, 203, 459, 484, 226, 437, 0, - 0, 523, 205, 482, 456, 361, 301, 302, 204, 0, - 417, 251, 275, 241, 381, 479, 480, 239, 524, 215, - 502, 207, 0, 501, 374, 474, 483, 362, 352, 206, - 481, 360, 351, 307, 326, 327, 263, 286, 410, 345, - 411, 287, 370, 369, 371, 198, 493, 0, 199, 0, - 452, 494, 525, 221, 222, 224, 0, 262, 266, 274, - 276, 282, 283, 290, 338, 385, 409, 407, 413, 0, - 469, 487, 498, 505, 511, 512, 514, 515, 516, 517, - 518, 520, 519, 373, 289, 448, 306, 343, 0, 0, - 391, 426, 227, 491, 449, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, + 335, 235, 201, 359, 0, 191, 208, 339, 0, 415, + 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, + 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, + 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, + 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, + 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, + 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, + 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, + 510, 435, 601, 486, 511, 0, 348, 0, 0, 350, + 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, + 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, + 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, + 364, 249, 400, 0, 365, 346, 468, 469, 291, 467, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 383, 0, 0, 0, 0, 0, 0, 0, 0, + 253, 0, 0, 0, 0, 337, 250, 0, 0, 397, + 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, + 252, 236, 292, 354, 395, 461, 389, 0, 341, 0, + 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, + 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, + 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, + 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, + 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, + 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, + 0, 0, 548, 0, 507, 0, 0, 0, 0, 0, + 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, + 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, + 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, + 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, + 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, + 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, + 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, + 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, + 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, + 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, + 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, + 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, + 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, + 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, + 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, + 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, + 0, 392, 427, 227, 492, 450, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 544, 353, 439, 488, 308, 320, - 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, - 319, 324, 325, 329, 335, 235, 201, 0, 191, 208, - 339, 0, 414, 271, 522, 500, 496, 0, 210, 0, - 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, - 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, - 349, 355, 356, 357, 358, 375, 376, 377, 380, 383, - 384, 387, 389, 390, 393, 397, 401, 402, 403, 404, - 406, 408, 415, 420, 428, 429, 430, 431, 432, 435, - 436, 441, 442, 443, 444, 445, 453, 454, 458, 476, - 478, 490, 504, 509, 434, 281, 485, 510, 0, 348, - 0, 0, 350, 264, 284, 295, 0, 499, 455, 214, - 422, 273, 202, 233, 217, 242, 257, 260, 299, 359, - 366, 395, 400, 278, 254, 231, 419, 228, 438, 461, - 462, 463, 465, 363, 249, 399, 0, 364, 346, 467, - 468, 291, 466, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 382, 0, 1493, 0, 0, 0, - 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, - 0, 0, 396, 0, 197, 0, 440, 237, 347, 344, - 473, 265, 256, 252, 236, 292, 354, 394, 460, 388, - 0, 341, 0, 0, 450, 367, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 298, 234, 300, 196, 379, 451, 269, 0, 0, - 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, - 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, - 0, 0, 0, 248, 296, 255, 247, 470, 0, 0, - 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, - 0, 368, 240, 0, 0, 0, 0, 506, 0, 0, - 0, 0, 0, 0, 0, 336, 0, 305, 192, 212, - 0, 0, 378, 421, 427, 0, 0, 0, 238, 0, - 425, 392, 489, 220, 267, 418, 398, 423, 405, 270, - 0, 0, 424, 342, 475, 412, 486, 507, 508, 246, - 372, 497, 464, 503, 521, 213, 243, 386, 457, 492, - 447, 365, 471, 472, 304, 446, 277, 195, 340, 513, - 211, 433, 229, 218, 477, 495, 272, 416, 203, 459, - 484, 226, 437, 0, 0, 523, 205, 482, 456, 361, - 301, 302, 204, 0, 417, 251, 275, 241, 381, 479, - 480, 239, 524, 215, 502, 207, 0, 501, 374, 474, - 483, 362, 352, 206, 481, 360, 351, 307, 326, 327, - 263, 286, 410, 345, 411, 287, 370, 369, 371, 198, - 493, 0, 199, 0, 452, 494, 525, 221, 222, 224, - 0, 262, 266, 274, 276, 282, 283, 290, 338, 385, - 409, 407, 413, 0, 469, 487, 498, 505, 511, 512, - 514, 515, 516, 517, 518, 520, 519, 373, 289, 448, - 306, 343, 0, 0, 391, 426, 227, 491, 449, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, - 536, 537, 538, 539, 540, 541, 542, 543, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 544, 353, - 439, 488, 308, 320, 323, 313, 332, 0, 333, 309, - 310, 315, 317, 318, 319, 324, 325, 329, 335, 235, - 201, 0, 191, 208, 339, 0, 414, 271, 522, 500, - 496, 0, 210, 0, 245, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, - 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, - 293, 294, 297, 303, 349, 355, 356, 357, 358, 375, - 376, 377, 380, 383, 384, 387, 389, 390, 393, 397, - 401, 402, 403, 404, 406, 408, 415, 420, 428, 429, - 430, 431, 432, 435, 436, 441, 442, 443, 444, 445, - 453, 454, 458, 476, 478, 490, 504, 509, 434, 281, - 485, 510, 0, 348, 0, 0, 350, 264, 284, 295, - 0, 499, 455, 214, 422, 273, 202, 233, 217, 242, - 257, 260, 299, 359, 366, 395, 400, 278, 254, 231, - 419, 228, 438, 461, 462, 463, 465, 363, 249, 399, - 0, 364, 346, 467, 468, 291, 466, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 382, 0, - 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, - 0, 0, 337, 250, 0, 0, 396, 0, 197, 0, - 440, 237, 347, 344, 473, 265, 256, 252, 236, 292, - 354, 394, 460, 388, 0, 341, 0, 0, 450, 367, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 298, 234, 300, 196, 379, - 451, 269, 0, 1468, 0, 0, 188, 189, 190, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, - 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, - 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, - 247, 470, 0, 0, 0, 0, 0, 0, 0, 216, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 279, 0, 368, 240, 0, 0, 0, - 0, 506, 0, 0, 0, 0, 0, 0, 0, 336, - 0, 305, 192, 212, 0, 0, 378, 421, 427, 0, - 0, 0, 238, 0, 425, 392, 489, 220, 267, 418, - 398, 423, 405, 270, 0, 0, 424, 342, 475, 412, - 486, 507, 508, 246, 372, 497, 464, 503, 521, 213, - 243, 386, 457, 492, 447, 365, 471, 472, 304, 446, - 277, 195, 340, 513, 211, 433, 229, 218, 477, 495, - 272, 416, 203, 459, 484, 226, 437, 0, 0, 523, - 205, 482, 456, 361, 301, 302, 204, 0, 417, 251, - 275, 241, 381, 479, 480, 239, 524, 215, 502, 207, - 0, 501, 374, 474, 483, 362, 352, 206, 481, 360, - 351, 307, 326, 327, 263, 286, 410, 345, 411, 287, - 370, 369, 371, 198, 493, 0, 199, 0, 452, 494, - 525, 221, 222, 224, 0, 262, 266, 274, 276, 282, - 283, 290, 338, 385, 409, 407, 413, 0, 469, 487, - 498, 505, 511, 512, 514, 515, 516, 517, 518, 520, - 519, 373, 289, 448, 306, 343, 0, 0, 391, 426, - 227, 491, 449, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 526, 527, 528, 529, 530, 531, - 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, - 542, 543, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 544, 353, 439, 488, 308, 320, 323, 313, - 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, - 325, 329, 335, 235, 201, 0, 191, 208, 339, 0, - 414, 271, 522, 500, 496, 0, 210, 0, 245, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, - 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, - 356, 357, 358, 375, 376, 377, 380, 383, 384, 387, - 389, 390, 393, 397, 401, 402, 403, 404, 406, 408, - 415, 420, 428, 429, 430, 431, 432, 435, 436, 441, - 442, 443, 444, 445, 453, 454, 458, 476, 478, 490, - 504, 509, 434, 281, 485, 510, 0, 348, 0, 0, - 350, 264, 284, 295, 0, 499, 455, 214, 422, 273, - 202, 233, 217, 242, 257, 260, 299, 359, 366, 395, - 400, 278, 254, 231, 419, 228, 438, 461, 462, 463, - 465, 363, 249, 399, 0, 364, 346, 467, 468, 291, - 466, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, - 1368, 253, 0, 0, 0, 0, 337, 250, 0, 0, - 396, 0, 197, 0, 440, 237, 347, 344, 473, 265, - 256, 252, 236, 292, 354, 394, 460, 388, 0, 341, - 0, 0, 450, 367, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, - 234, 300, 196, 379, 451, 269, 0, 0, 0, 0, - 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, - 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, - 0, 248, 296, 255, 247, 470, 0, 0, 0, 0, - 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 279, 0, 368, - 240, 0, 0, 0, 0, 506, 0, 0, 0, 0, - 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, - 378, 421, 427, 0, 0, 0, 238, 0, 425, 392, - 489, 220, 267, 418, 398, 423, 405, 270, 0, 0, - 424, 342, 475, 412, 486, 507, 508, 246, 372, 497, - 464, 503, 521, 213, 243, 386, 457, 492, 447, 365, - 471, 472, 304, 446, 277, 195, 340, 513, 211, 433, - 229, 218, 477, 495, 272, 416, 203, 459, 484, 226, - 437, 0, 0, 523, 205, 482, 456, 361, 301, 302, - 204, 0, 417, 251, 275, 241, 381, 479, 480, 239, - 524, 215, 502, 207, 0, 501, 374, 474, 483, 362, - 352, 206, 481, 360, 351, 307, 326, 327, 263, 286, - 410, 345, 411, 287, 370, 369, 371, 198, 493, 0, - 199, 0, 452, 494, 525, 221, 222, 224, 0, 262, - 266, 274, 276, 282, 283, 290, 338, 385, 409, 407, - 413, 0, 469, 487, 498, 505, 511, 512, 514, 515, - 516, 517, 518, 520, 519, 373, 289, 448, 306, 343, - 0, 0, 391, 426, 227, 491, 449, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, - 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, - 538, 539, 540, 541, 542, 543, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 544, 353, 439, 488, - 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, - 317, 318, 319, 324, 325, 329, 335, 235, 201, 0, - 191, 208, 339, 0, 414, 271, 522, 500, 496, 0, + 540, 541, 542, 543, 544, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 545, 353, 440, 489, 308, + 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, + 318, 319, 324, 325, 329, 335, 235, 201, 359, 0, + 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, - 297, 303, 349, 355, 356, 357, 358, 375, 376, 377, - 380, 383, 384, 387, 389, 390, 393, 397, 401, 402, - 403, 404, 406, 408, 415, 420, 428, 429, 430, 431, - 432, 435, 436, 441, 442, 443, 444, 445, 453, 454, - 458, 476, 478, 490, 504, 509, 434, 281, 485, 510, - 0, 348, 0, 0, 350, 264, 284, 295, 0, 499, - 455, 214, 422, 273, 202, 233, 217, 242, 257, 260, - 299, 359, 366, 395, 400, 278, 254, 231, 419, 228, - 438, 461, 462, 463, 465, 363, 249, 399, 0, 364, - 346, 467, 468, 291, 466, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 382, 0, 0, 0, + 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, + 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, + 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, + 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, + 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, + 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, + 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, + 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, + 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, + 346, 468, 469, 291, 467, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, - 337, 250, 0, 0, 396, 0, 197, 0, 440, 237, - 347, 344, 473, 265, 256, 252, 236, 292, 354, 394, - 460, 388, 0, 341, 0, 0, 450, 367, 0, 0, + 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, + 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, + 461, 389, 0, 341, 0, 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 298, 234, 300, 196, 379, 451, 269, - 0, 0, 0, 0, 188, 189, 190, 0, 1167, 0, + 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, + 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, - 0, 0, 0, 0, 0, 248, 296, 255, 247, 470, + 0, 0, 0, 0, 0, 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, @@ -5353,298 +5690,117 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 279, 0, 368, 240, 0, 0, 0, 0, 506, + 0, 279, 0, 369, 240, 0, 0, 0, 0, 507, 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, - 192, 212, 0, 0, 378, 421, 427, 0, 0, 0, - 238, 0, 425, 392, 489, 220, 267, 418, 398, 423, - 405, 270, 0, 0, 424, 342, 475, 412, 486, 507, - 508, 246, 372, 497, 464, 503, 521, 213, 243, 386, - 457, 492, 447, 365, 471, 472, 304, 446, 277, 195, - 340, 513, 211, 433, 229, 218, 477, 495, 272, 416, - 203, 459, 484, 226, 437, 0, 0, 523, 205, 482, - 456, 361, 301, 302, 204, 0, 417, 251, 275, 241, - 381, 479, 480, 239, 524, 215, 502, 207, 0, 501, - 374, 474, 483, 362, 352, 206, 481, 360, 351, 307, - 326, 327, 263, 286, 410, 345, 411, 287, 370, 369, - 371, 198, 493, 0, 199, 0, 452, 494, 525, 221, + 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, + 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, + 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, + 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, + 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, + 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, + 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, + 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, + 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, + 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, + 326, 327, 263, 286, 411, 345, 412, 287, 371, 370, + 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, - 338, 385, 409, 407, 413, 0, 469, 487, 498, 505, - 511, 512, 514, 515, 516, 517, 518, 520, 519, 373, - 289, 448, 306, 343, 0, 0, 391, 426, 227, 491, - 449, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 526, 527, 528, 529, 530, 531, 532, 533, - 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 544, 353, 439, 488, 308, 320, 323, 313, 332, 0, + 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, + 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, + 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, + 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 545, 353, 440, 489, 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, - 335, 235, 201, 0, 191, 208, 339, 0, 414, 271, - 522, 500, 496, 0, 210, 0, 245, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, - 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, - 285, 288, 293, 294, 297, 303, 349, 355, 356, 357, - 358, 375, 376, 377, 380, 383, 384, 387, 389, 390, - 393, 397, 401, 402, 403, 404, 406, 408, 415, 420, - 428, 429, 430, 431, 432, 435, 436, 441, 442, 443, - 444, 445, 453, 454, 458, 476, 478, 490, 504, 509, - 434, 281, 485, 510, 0, 348, 0, 0, 350, 264, - 284, 295, 0, 499, 455, 214, 422, 273, 202, 233, - 217, 242, 257, 260, 299, 359, 366, 395, 400, 278, - 254, 231, 419, 228, 438, 461, 462, 463, 465, 363, - 249, 399, 0, 364, 346, 467, 468, 291, 466, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 382, 0, 0, 0, 0, 0, 0, 0, 0, 253, - 0, 0, 0, 0, 337, 250, 0, 0, 396, 0, - 197, 0, 440, 237, 347, 344, 473, 265, 256, 252, - 236, 292, 354, 394, 460, 388, 0, 341, 0, 0, - 450, 367, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, - 196, 379, 451, 269, 0, 0, 0, 0, 188, 189, - 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, - 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, - 296, 255, 247, 470, 0, 0, 0, 0, 0, 0, - 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 279, 0, 368, 240, 0, - 0, 0, 0, 506, 0, 0, 0, 0, 0, 0, - 0, 336, 0, 305, 192, 212, 0, 0, 378, 421, - 427, 0, 0, 0, 238, 0, 425, 392, 489, 220, - 267, 418, 398, 423, 405, 270, 0, 0, 424, 342, - 475, 412, 486, 507, 508, 246, 372, 497, 464, 503, - 521, 213, 243, 386, 457, 492, 447, 365, 471, 472, - 304, 446, 277, 195, 340, 513, 211, 433, 229, 218, - 477, 495, 272, 416, 203, 459, 484, 226, 437, 0, - 0, 523, 205, 482, 456, 361, 301, 302, 204, 0, - 417, 251, 275, 241, 381, 479, 480, 239, 524, 215, - 502, 207, 0, 501, 374, 474, 483, 362, 352, 206, - 481, 360, 351, 307, 326, 327, 263, 286, 410, 345, - 411, 287, 370, 369, 371, 198, 493, 0, 199, 0, - 452, 494, 525, 221, 222, 224, 0, 262, 266, 274, - 276, 282, 283, 290, 338, 385, 409, 407, 413, 0, - 469, 487, 498, 505, 511, 512, 514, 515, 516, 517, - 518, 520, 519, 373, 289, 448, 306, 343, 0, 0, - 391, 426, 227, 491, 449, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, + 335, 235, 201, 359, 0, 191, 208, 339, 0, 415, + 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, + 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, + 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, + 357, 358, 3001, 377, 378, 381, 384, 385, 388, 390, + 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, + 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, + 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, + 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, + 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, + 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, + 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, + 364, 249, 400, 0, 365, 346, 468, 469, 291, 467, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 383, 0, 0, 0, 0, 0, 0, 0, 0, + 253, 0, 0, 0, 0, 337, 250, 0, 0, 397, + 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, + 252, 236, 292, 354, 395, 461, 389, 0, 341, 0, + 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, + 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, + 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, + 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, + 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, + 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, + 0, 0, 0, 0, 507, 0, 0, 0, 0, 0, + 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, + 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, + 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, + 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, + 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, + 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, + 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, + 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, + 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, + 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, + 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, + 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, + 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, + 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, + 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, + 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, + 0, 392, 427, 227, 492, 450, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 544, 353, 439, 488, 308, 320, - 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, - 319, 324, 325, 329, 335, 235, 201, 0, 191, 208, - 339, 0, 414, 271, 522, 500, 496, 0, 210, 0, - 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 781, 0, - 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, - 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, - 349, 355, 356, 357, 358, 375, 376, 377, 380, 383, - 384, 387, 389, 390, 393, 397, 401, 402, 403, 404, - 406, 408, 415, 420, 428, 429, 430, 431, 432, 435, - 436, 441, 442, 443, 444, 445, 453, 454, 458, 476, - 478, 490, 504, 509, 434, 281, 485, 510, 0, 348, - 0, 0, 350, 264, 284, 295, 0, 499, 455, 214, - 422, 273, 202, 233, 217, 242, 257, 260, 299, 359, - 366, 395, 400, 278, 254, 231, 419, 228, 438, 461, - 462, 463, 465, 363, 249, 399, 0, 364, 346, 467, - 468, 291, 466, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 382, 0, 0, 0, 0, 0, - 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, - 0, 0, 396, 0, 197, 0, 440, 237, 347, 344, - 473, 265, 256, 252, 236, 292, 354, 394, 460, 388, - 0, 341, 0, 0, 450, 367, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 298, 234, 300, 196, 379, 451, 269, 0, 0, - 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, - 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, - 0, 0, 0, 248, 296, 255, 247, 470, 0, 0, - 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 601, 0, 279, - 0, 368, 240, 0, 0, 0, 0, 506, 0, 0, - 0, 0, 0, 0, 0, 336, 0, 305, 192, 212, - 0, 0, 378, 421, 427, 0, 0, 0, 238, 0, - 425, 392, 489, 220, 267, 418, 398, 423, 405, 270, - 0, 0, 424, 342, 475, 412, 486, 507, 508, 246, - 372, 497, 464, 503, 521, 213, 243, 386, 457, 492, - 447, 365, 471, 472, 304, 446, 277, 195, 340, 513, - 211, 433, 229, 218, 477, 495, 272, 416, 203, 459, - 484, 226, 437, 0, 0, 523, 205, 482, 456, 361, - 301, 302, 204, 0, 417, 251, 275, 241, 381, 479, - 480, 239, 524, 215, 502, 207, 0, 501, 374, 474, - 483, 362, 352, 206, 481, 360, 351, 307, 326, 327, - 263, 286, 410, 345, 411, 287, 370, 369, 371, 198, - 493, 0, 199, 0, 452, 494, 525, 221, 222, 224, - 0, 262, 266, 274, 276, 282, 283, 290, 338, 385, - 409, 407, 413, 0, 469, 487, 498, 505, 511, 512, - 514, 515, 516, 517, 518, 520, 519, 373, 289, 448, - 306, 343, 0, 0, 391, 426, 227, 491, 449, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, - 536, 537, 538, 539, 540, 541, 542, 543, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 544, 353, - 439, 488, 308, 320, 323, 313, 332, 0, 333, 309, - 310, 315, 317, 318, 319, 324, 325, 329, 335, 235, - 201, 0, 191, 208, 339, 0, 414, 271, 522, 500, - 496, 0, 210, 0, 245, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, - 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, - 293, 294, 297, 303, 349, 355, 356, 357, 358, 375, - 376, 377, 380, 383, 384, 387, 389, 390, 393, 397, - 401, 402, 403, 404, 406, 408, 415, 420, 428, 429, - 430, 431, 432, 435, 436, 441, 442, 443, 444, 445, - 453, 454, 458, 476, 478, 490, 504, 509, 434, 600, - 485, 510, 0, 348, 0, 0, 350, 264, 284, 295, - 0, 499, 455, 214, 422, 273, 202, 233, 217, 242, - 257, 260, 299, 359, 366, 395, 400, 278, 254, 231, - 419, 228, 438, 461, 462, 463, 465, 363, 249, 399, - 0, 364, 346, 467, 468, 291, 466, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 382, 0, - 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, - 0, 0, 337, 250, 0, 0, 396, 0, 197, 0, - 440, 237, 347, 344, 473, 265, 256, 252, 236, 292, - 354, 394, 460, 388, 0, 341, 0, 0, 450, 367, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 298, 234, 300, 196, 379, - 451, 269, 0, 0, 0, 0, 188, 189, 190, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, - 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, - 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, - 247, 470, 0, 0, 0, 0, 0, 0, 0, 216, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 279, 0, 368, 240, 0, 0, 547, - 0, 506, 0, 0, 0, 0, 0, 0, 0, 336, - 0, 305, 192, 212, 0, 0, 378, 421, 427, 0, - 0, 0, 238, 0, 425, 392, 489, 220, 267, 418, - 398, 423, 405, 270, 0, 0, 424, 342, 475, 412, - 486, 507, 508, 246, 372, 497, 464, 503, 521, 213, - 243, 386, 457, 492, 447, 365, 471, 472, 304, 446, - 277, 195, 340, 513, 211, 433, 229, 218, 477, 495, - 272, 416, 203, 459, 484, 226, 437, 0, 0, 523, - 205, 482, 456, 361, 301, 302, 204, 0, 417, 251, - 275, 241, 381, 479, 480, 239, 524, 215, 502, 207, - 0, 501, 374, 474, 483, 362, 352, 206, 481, 360, - 351, 307, 326, 327, 263, 286, 410, 345, 411, 287, - 370, 369, 371, 198, 493, 0, 199, 0, 452, 494, - 525, 221, 222, 224, 0, 262, 266, 274, 276, 282, - 283, 290, 338, 385, 409, 407, 413, 0, 469, 487, - 498, 505, 511, 512, 514, 515, 516, 517, 518, 520, - 519, 373, 289, 448, 306, 343, 0, 0, 391, 426, - 227, 491, 449, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 526, 527, 528, 529, 530, 531, - 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, - 542, 543, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 544, 353, 439, 488, 308, 320, 323, 313, - 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, - 325, 329, 335, 235, 201, 0, 191, 208, 339, 0, - 414, 271, 522, 500, 496, 0, 210, 0, 245, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, - 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, - 356, 357, 358, 375, 376, 377, 380, 383, 384, 387, - 389, 390, 393, 397, 401, 402, 403, 404, 406, 408, - 415, 420, 428, 429, 430, 431, 432, 435, 436, 441, - 442, 443, 444, 445, 453, 454, 458, 476, 478, 490, - 504, 509, 434, 281, 485, 510, 0, 348, 0, 0, - 350, 264, 284, 295, 0, 499, 455, 214, 422, 273, - 202, 233, 217, 242, 257, 260, 299, 359, 366, 395, - 400, 278, 254, 231, 419, 228, 438, 461, 462, 463, - 465, 363, 249, 399, 0, 364, 346, 467, 468, 291, - 466, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, - 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, - 396, 0, 197, 0, 440, 237, 347, 344, 473, 265, - 256, 252, 236, 292, 354, 394, 460, 388, 0, 341, - 0, 0, 450, 367, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, - 234, 300, 196, 379, 451, 269, 0, 0, 0, 0, - 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, - 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, - 0, 248, 296, 255, 247, 470, 0, 0, 0, 0, - 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 279, 0, 368, - 240, 0, 0, 0, 0, 506, 0, 0, 0, 0, - 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, - 378, 421, 427, 0, 0, 0, 238, 0, 425, 392, - 489, 220, 267, 418, 398, 423, 405, 270, 0, 0, - 424, 342, 475, 412, 486, 507, 508, 246, 372, 497, - 464, 503, 521, 213, 243, 386, 457, 492, 447, 365, - 471, 472, 304, 446, 277, 195, 340, 513, 211, 433, - 229, 218, 477, 495, 272, 416, 203, 459, 484, 226, - 437, 0, 0, 523, 205, 482, 456, 361, 301, 302, - 204, 0, 417, 251, 275, 241, 381, 479, 480, 239, - 524, 215, 502, 207, 0, 501, 374, 474, 483, 362, - 352, 206, 481, 360, 351, 307, 326, 327, 263, 286, - 410, 345, 411, 287, 370, 369, 371, 198, 493, 0, - 199, 0, 452, 494, 525, 221, 222, 224, 0, 262, - 266, 274, 276, 282, 283, 290, 338, 385, 409, 407, - 413, 0, 469, 487, 498, 505, 511, 512, 514, 515, - 516, 517, 518, 520, 519, 373, 289, 448, 306, 343, - 0, 0, 391, 426, 227, 491, 449, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 526, 527, - 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, - 538, 539, 540, 541, 542, 543, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 544, 353, 439, 488, - 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, - 317, 318, 319, 324, 325, 329, 335, 235, 201, 0, - 191, 208, 339, 0, 414, 271, 522, 500, 496, 0, + 540, 541, 542, 543, 544, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 545, 353, 440, 489, 308, + 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, + 318, 319, 324, 325, 329, 335, 235, 201, 359, 0, + 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, - 297, 303, 349, 355, 356, 357, 358, 2995, 376, 377, - 380, 383, 384, 387, 389, 390, 393, 397, 401, 402, - 403, 404, 406, 408, 415, 420, 428, 429, 430, 431, - 432, 435, 436, 441, 442, 443, 444, 445, 453, 454, - 458, 476, 478, 490, 504, 509, 434, 281, 485, 510, - 0, 348, 0, 0, 350, 264, 284, 295, 0, 499, - 455, 214, 422, 273, 202, 233, 217, 242, 257, 260, - 299, 359, 366, 395, 400, 278, 254, 231, 419, 228, - 438, 461, 462, 463, 465, 363, 249, 399, 0, 364, - 346, 467, 468, 291, 466, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 382, 0, 0, 0, + 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, + 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, + 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, + 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, + 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, + 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, + 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, + 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, + 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, + 346, 468, 469, 291, 467, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, - 337, 250, 0, 0, 396, 0, 197, 0, 440, 237, - 347, 344, 473, 265, 256, 252, 236, 292, 354, 394, - 460, 388, 0, 341, 0, 0, 450, 367, 0, 0, + 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, + 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, + 461, 389, 0, 341, 0, 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 298, 234, 300, 196, 379, 451, 269, - 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, + 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, + 0, 0, 0, 0, 188, 2622, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, - 0, 0, 0, 0, 0, 248, 296, 255, 247, 470, + 0, 0, 0, 0, 0, 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, @@ -5655,188 +5811,131 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 279, 0, 368, 240, 0, 0, 0, 0, 506, + 0, 279, 0, 369, 240, 0, 0, 0, 0, 507, 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, - 192, 212, 0, 0, 378, 421, 427, 0, 0, 0, - 238, 0, 425, 392, 489, 220, 267, 418, 398, 423, - 405, 270, 0, 0, 424, 342, 475, 412, 486, 507, - 508, 246, 372, 497, 464, 503, 521, 213, 243, 386, - 457, 492, 447, 365, 471, 472, 304, 446, 277, 195, - 340, 513, 211, 433, 229, 218, 477, 495, 272, 416, - 203, 459, 484, 226, 437, 0, 0, 523, 205, 482, - 456, 361, 301, 302, 204, 0, 417, 251, 275, 241, - 381, 479, 480, 239, 524, 215, 502, 207, 0, 501, - 374, 474, 483, 362, 352, 206, 481, 360, 351, 307, - 326, 327, 263, 286, 410, 345, 411, 287, 370, 369, - 371, 198, 493, 0, 199, 0, 452, 494, 525, 221, + 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, + 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, + 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, + 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, + 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, + 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, + 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, + 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, + 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, + 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, + 326, 327, 263, 286, 411, 345, 412, 287, 371, 370, + 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, - 338, 385, 409, 407, 413, 0, 469, 487, 498, 505, - 511, 512, 514, 515, 516, 517, 518, 520, 519, 373, - 289, 448, 306, 343, 0, 0, 391, 426, 227, 491, - 449, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 526, 527, 528, 529, 530, 531, 532, 533, - 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 544, 353, 439, 488, 308, 320, 323, 313, 332, 0, + 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, + 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, + 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, + 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 545, 353, 440, 489, 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, - 335, 235, 201, 0, 191, 208, 339, 0, 414, 271, - 522, 500, 496, 0, 210, 0, 245, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, - 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, - 285, 288, 293, 294, 297, 303, 349, 355, 356, 357, - 358, 375, 376, 377, 380, 383, 384, 387, 389, 390, - 393, 397, 401, 402, 403, 404, 406, 408, 415, 420, - 428, 429, 430, 431, 432, 435, 436, 441, 442, 443, - 444, 445, 453, 454, 458, 476, 478, 490, 504, 509, - 434, 281, 485, 510, 0, 348, 0, 0, 350, 264, - 284, 295, 0, 499, 455, 214, 422, 273, 202, 233, - 217, 242, 257, 260, 299, 359, 366, 395, 400, 278, - 254, 231, 419, 228, 438, 461, 462, 463, 465, 363, - 249, 399, 0, 364, 346, 467, 468, 291, 466, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 382, 0, 0, 0, 0, 0, 0, 0, 0, 253, - 0, 0, 0, 0, 337, 250, 0, 0, 396, 0, - 197, 0, 440, 237, 347, 344, 473, 265, 256, 252, - 236, 292, 354, 394, 460, 388, 0, 341, 0, 0, - 450, 367, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, - 196, 379, 451, 269, 0, 0, 0, 0, 188, 2617, - 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, - 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, - 296, 255, 247, 470, 0, 0, 0, 0, 0, 0, - 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 279, 0, 368, 240, 0, - 0, 0, 0, 506, 0, 0, 0, 0, 0, 0, - 0, 336, 0, 305, 192, 212, 0, 0, 378, 421, - 427, 0, 0, 0, 238, 0, 425, 392, 489, 220, - 267, 418, 398, 423, 405, 270, 0, 0, 424, 342, - 475, 412, 486, 507, 508, 246, 372, 497, 464, 503, - 521, 213, 243, 386, 457, 492, 447, 365, 471, 472, - 304, 446, 277, 195, 340, 513, 211, 433, 229, 218, - 477, 495, 272, 416, 203, 459, 484, 226, 437, 0, - 0, 523, 205, 482, 456, 361, 301, 302, 204, 0, - 417, 251, 275, 241, 381, 479, 480, 239, 524, 215, - 502, 207, 0, 501, 374, 474, 483, 362, 352, 206, - 481, 360, 351, 307, 326, 327, 263, 286, 410, 345, - 411, 287, 370, 369, 371, 198, 493, 0, 199, 0, - 452, 494, 525, 221, 222, 224, 0, 262, 266, 274, - 276, 282, 283, 290, 338, 385, 409, 407, 413, 0, - 469, 487, 498, 505, 511, 512, 514, 515, 516, 517, - 518, 520, 519, 373, 289, 448, 306, 343, 0, 0, - 391, 426, 227, 491, 449, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 526, 527, 528, 529, + 335, 235, 201, 359, 0, 191, 208, 339, 0, 415, + 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, + 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, + 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, + 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, + 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, + 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, + 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, + 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, + 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, + 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, + 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, + 364, 249, 400, 0, 365, 346, 468, 469, 291, 467, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 383, 0, 0, 0, 0, 0, 0, 0, 0, + 253, 0, 0, 0, 0, 337, 250, 0, 0, 397, + 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, + 252, 236, 292, 354, 395, 461, 389, 0, 341, 0, + 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, + 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, + 2134, 190, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, + 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, + 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, + 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, + 0, 0, 0, 0, 507, 0, 0, 0, 0, 0, + 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, + 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, + 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, + 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, + 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, + 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, + 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, + 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, + 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, + 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, + 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, + 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, + 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, + 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, + 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, + 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, + 0, 392, 427, 227, 492, 450, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 544, 353, 439, 488, 308, 320, - 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, - 319, 324, 325, 329, 335, 235, 201, 0, 191, 208, - 339, 0, 414, 271, 522, 500, 496, 0, 210, 0, - 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, - 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, - 349, 355, 356, 357, 358, 375, 376, 377, 380, 383, - 384, 387, 389, 390, 393, 397, 401, 402, 403, 404, - 406, 408, 415, 420, 428, 429, 430, 431, 432, 435, - 436, 441, 442, 443, 444, 445, 453, 454, 458, 476, - 478, 490, 504, 509, 434, 281, 485, 510, 0, 348, - 0, 0, 350, 264, 284, 295, 0, 499, 455, 214, - 422, 273, 202, 233, 217, 242, 257, 260, 299, 359, - 366, 395, 400, 278, 254, 231, 419, 228, 438, 461, - 462, 463, 465, 363, 249, 399, 0, 364, 346, 467, - 468, 291, 466, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 382, 0, 0, 0, 0, 0, - 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, - 0, 0, 396, 0, 197, 0, 440, 237, 347, 344, - 473, 265, 256, 252, 236, 292, 354, 394, 460, 388, - 0, 341, 0, 0, 450, 367, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 298, 234, 300, 196, 379, 451, 269, 0, 0, - 0, 0, 188, 2129, 190, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, - 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, - 0, 0, 0, 248, 296, 255, 247, 470, 0, 0, - 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, - 0, 368, 240, 0, 0, 0, 0, 506, 0, 0, - 0, 0, 0, 0, 0, 336, 0, 305, 192, 212, - 0, 0, 378, 421, 427, 0, 0, 0, 238, 0, - 425, 392, 489, 220, 267, 418, 398, 423, 405, 270, - 0, 0, 424, 342, 475, 412, 486, 507, 508, 246, - 372, 497, 464, 503, 521, 213, 243, 386, 457, 492, - 447, 365, 471, 472, 304, 446, 277, 195, 340, 513, - 211, 433, 229, 218, 477, 495, 272, 416, 203, 459, - 484, 226, 437, 0, 0, 523, 205, 482, 456, 361, - 301, 302, 204, 0, 417, 251, 275, 241, 381, 479, - 480, 239, 524, 215, 502, 207, 0, 501, 374, 474, - 483, 362, 352, 206, 481, 360, 351, 307, 326, 327, - 263, 286, 410, 345, 411, 287, 370, 369, 371, 198, - 493, 0, 199, 0, 452, 494, 525, 221, 222, 224, - 0, 262, 266, 274, 276, 282, 283, 290, 338, 385, - 409, 407, 413, 0, 469, 487, 498, 505, 511, 512, - 514, 515, 516, 517, 518, 520, 519, 373, 289, 448, - 306, 343, 0, 0, 391, 426, 227, 491, 449, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, - 536, 537, 538, 539, 540, 541, 542, 543, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 544, 353, - 439, 488, 308, 320, 323, 313, 332, 0, 333, 309, - 310, 315, 317, 318, 319, 324, 325, 329, 335, 235, - 201, 0, 191, 208, 339, 0, 414, 271, 522, 500, - 496, 0, 210, 0, 245, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, - 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, - 293, 294, 297, 303, 349, 355, 356, 357, 358, 375, - 376, 377, 380, 383, 384, 387, 389, 390, 393, 397, - 401, 402, 403, 404, 406, 408, 415, 420, 428, 429, - 430, 431, 432, 435, 436, 441, 442, 443, 444, 445, - 453, 454, 458, 476, 478, 490, 504, 509, 434, 281, - 485, 510, 0, 348, 0, 0, 350, 264, 284, 295, - 0, 499, 455, 214, 422, 273, 202, 233, 217, 242, - 257, 260, 299, 359, 366, 395, 400, 278, 254, 231, - 419, 228, 438, 461, 462, 463, 465, 363, 249, 399, - 0, 0, 346, 467, 468, 291, + 540, 541, 542, 543, 544, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 545, 353, 440, 489, 308, + 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, + 318, 319, 324, 325, 329, 335, 235, 201, 359, 0, + 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, + 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, + 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, + 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, + 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, + 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, + 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, + 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, + 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, + 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, + 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, + 439, 462, 463, 464, 466, 364, 249, 400, 0, 0, + 346, 468, 469, 291, } var yyPact = [...]int{ - 3934, -1000, -411, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 5135, -1000, -415, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 2033, 2060, -1000, -1000, + -1000, -1000, 2191, -1000, 783, 1745, -1000, 1990, 3770, -1000, + 42860, 522, -1000, 41650, 517, 300, 42860, -1000, 170, -1000, + 162, 42860, 169, 41045, -1000, -1000, -293, 18650, 1930, 40, + 34, 42860, -1000, -1000, -1000, -1000, 2143, 1720, -1000, 332, + -1000, -1000, -1000, -1000, -1000, -1000, 40440, -1000, -1000, -1000, + 2016, 2020, 2195, 695, 1968, -1000, 2092, 1720, -1000, 18650, + 2136, 2077, 18045, -1000, 18045, 420, -1000, -1000, 13800, -1000, + -1000, 24710, 42860, 30760, 262, -1000, 1990, -1000, -1000, -1000, + 86, -1000, 295, 1609, -1000, 1607, -1000, 616, 694, 353, + 438, 437, 333, 329, 325, 311, 310, 309, 308, 307, + 359, -1000, 725, 725, -162, -167, 2690, 411, 400, 400, + 446, 1966, 1956, -1000, 693, -1000, 725, 725, 725, 383, + 725, 725, 725, 725, 270, 269, 725, 725, 725, 725, + 725, 725, 725, 725, 725, 725, 725, 725, 725, 725, + 725, 725, 725, 417, 1990, 241, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 2030, 2227, -1000, -1000, - -1000, -1000, 2191, -1000, 802, 1773, -1000, 2019, 3636, -1000, - 41925, 541, -1000, 40717, 537, 313, 41925, -1000, 183, -1000, - 166, 41925, 178, 40113, -1000, -1000, -314, 17755, 1973, 38, - 37, 41925, -1000, -1000, -1000, -1000, 2143, 1762, -1000, 335, - -1000, -1000, -1000, -1000, -1000, -1000, 39509, -1000, -1000, -1000, - 2022, 2027, 2197, 714, 1965, -1000, 2098, 1762, -1000, 17755, - 2133, 2076, 17151, -1000, 17151, 402, -1000, -1000, 12913, -1000, - -1000, 23805, 41925, 29845, 325, -1000, 2019, -1000, -1000, -1000, - 100, -1000, 329, 1601, -1000, 1594, -1000, 500, 612, 355, - 477, 476, 354, 352, 351, 350, 349, 345, 344, 340, - 364, -1000, 757, 757, -180, -185, 3337, 517, 401, 401, - 439, 1991, 1987, -1000, 646, -1000, 757, 757, 757, 303, - 757, 757, 757, 757, 315, 312, 757, 757, 757, 757, - 757, 757, 757, 757, 757, 757, 757, 757, 757, 757, - 757, 757, 757, 300, 2019, 290, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, @@ -5869,39 +5968,39 @@ var yyPact = [...]int{ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 42860, 151, 42860, -1000, + 612, 42860, 845, 845, 99, 845, 845, 845, 845, 167, + 602, 28, -1000, 158, 237, 156, 239, 840, 191, -1000, + -1000, 221, 840, 1284, -1000, 706, 131, -1000, 845, 845, + -1000, 11360, 164, 11360, 11360, -1000, 1984, -1000, -1000, -1000, + -1000, 1288, -1000, 427, -1000, -1000, -1000, -1000, 42860, 39835, + 327, 745, -1000, -1000, -1000, 148, -1000, -1000, 1449, 1205, + 18650, 911, -1000, 1547, 678, -1000, -1000, -1000, -1000, -1000, + 540, 19255, 19255, 19255, 19255, -1000, -1000, 1605, 1605, 1605, + 1605, 19255, 1605, 19255, 1605, 1605, 1605, 1605, 18650, 1605, + 1605, 1605, -1000, 1605, 1605, 1605, 1605, 1605, 1605, 1605, + 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, + 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, + 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, + 1605, 1605, 1605, 1605, 1605, 1605, 609, 1605, 1605, 1605, + 1605, 1605, -1000, -1000, -1000, -1000, 1605, 1605, 1605, 1605, + 1605, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 22285, -1000, 16230, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 41925, 260, 41925, -1000, 647, - 41925, 867, 867, 108, 867, 867, 867, 867, 163, 624, - 33, -1000, 152, 283, 146, 291, 870, 204, -1000, -1000, - 277, 870, 1254, -1000, 733, 137, -1000, 867, 867, -1000, - 10477, 148, 10477, 10477, -1000, 2006, -1000, -1000, -1000, -1000, - 1189, -1000, 437, -1000, -1000, -1000, -1000, 41925, 38905, 399, - 775, -1000, -1000, -1000, 74, -1000, -1000, 1371, 1049, 17755, - 1406, -1000, 836, 695, -1000, -1000, -1000, -1000, -1000, 614, - 18359, 18359, 18359, 18359, -1000, -1000, 1511, 1511, 1511, 1511, - 18359, 1511, 18359, 1511, 1511, 1511, 1511, 17755, 1511, 1511, - 1511, -1000, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, - 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, - 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, - 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, - 1511, 1511, 1511, 1511, 645, 1511, 1511, 1511, 1511, 1511, - -1000, -1000, -1000, -1000, 1511, 1511, 1511, 1511, 1511, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 21384, -1000, - 15339, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 42860, -1000, 1605, 186, 42860, 42860, 330, + 2092, 1720, -1000, 2143, 2138, 332, -1000, 2370, 1413, 1372, + 1312, 1720, 1586, 42860, -1000, 1616, -1000, -1000, -1000, 1856, + 1175, 1280, -1000, -1000, -1000, -1000, 1430, 18650, -1000, -1000, + 2177, -1000, 21680, 596, 855, 2174, 39230, -1000, 420, 420, + 1606, 13190, -22, -1000, -1000, -1000, 744, 28340, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 1984, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 41925, -1000, 1511, 223, 41925, 41925, 359, 2098, 1762, - -1000, 2143, 2188, 335, -1000, 2158, 1556, 1353, 1232, 1762, - 1531, 41925, -1000, 1621, -1000, -1000, -1000, 1901, 1165, 1253, - -1000, -1000, -1000, -1000, 1335, 17755, -1000, -1000, 2174, -1000, - 20780, 641, 879, 2172, 38301, -1000, 402, 402, 1579, 12304, - 2, -1000, -1000, -1000, 774, 27429, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 2006, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, @@ -5912,264 +6011,261 @@ var yyPact = [...]int{ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 1545, 42860, -1000, -1000, 3796, 1249, -1000, 1743, -1000, 1529, + -1000, 1667, 18650, 1751, 504, 1249, 498, 482, 468, -1000, + -64, -1000, -1000, -1000, -1000, -1000, -1000, 725, 725, 725, + -1000, 331, 2130, 3770, 5878, -1000, -1000, -1000, 38625, 1742, + 1249, -1000, 1738, -1000, 797, 519, 598, 598, 1249, -1000, + -1000, 42860, 1249, 796, 789, 1249, 1249, 42860, 42860, -1000, + 38020, -1000, 37415, 36810, 1100, 42860, 36205, 35600, 34995, 34390, + 33785, -1000, 1819, -1000, 1795, -1000, -1000, -1000, 42860, 1249, + 1249, 42860, 42860, 364, -1000, -1000, 42860, 1249, -1000, -1000, + 1081, 1073, 1072, 725, 725, 1070, 1278, 1271, 1270, 725, + 725, 1068, 1269, 29550, 1266, 240, 1059, 1058, 1055, 1098, + 1265, 190, 1264, 1075, 1067, 1040, 42860, 1736, 42860, -1000, + 228, 680, 401, 742, 1990, 1925, 1591, 426, 502, 1249, + 416, 416, 42860, -1000, 11970, -1000, -1000, 1263, 18650, -1000, + 852, 840, 840, -1000, -1000, -1000, -1000, -1000, -1000, 845, + 42860, 852, -1000, -1000, -1000, 840, 845, 42860, 845, 845, + 845, 845, 840, 840, 840, 845, 42860, 42860, 42860, 42860, + 42860, 42860, 42860, 42860, 42860, 11360, 706, 845, -313, -1000, + 1260, -1000, 1839, -1000, -1000, -1000, -1000, -1000, -1000, 11360, + 11360, -1000, -1000, -1000, -1000, 165, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -82, 1590, 33180, -1000, -314, + -315, -324, -326, -1000, -1000, -1000, -329, -331, -1000, -1000, + -1000, 18650, 18650, 18650, 18650, -192, -1000, 794, 19255, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 986, 730, 19255, 19255, + 19255, 19255, 19255, 19255, 19255, 19255, 19255, 19255, 19255, 19255, + 19255, 19255, 19255, 26525, 4471, 4471, 678, 678, 678, 678, + -1000, 18045, 18650, 18650, 678, -1000, 1249, 32575, 18045, 18045, + 18650, 2003, 734, 1205, 42860, -1000, 1312, -1000, -1000, -1000, + 1000, -1000, 2003, 861, 18650, 42860, 42860, 185, 18650, 18650, + 18650, 18650, 18650, 18650, 15015, 18650, 18650, 18650, 18650, 18650, + 18650, 18650, 18650, 18650, 18650, 18650, 18650, 18650, 18650, 18650, + 18650, 18650, 18650, 18650, 18650, 18650, 18650, 18650, 18650, 18650, + 18650, 14410, 11970, 18045, 18045, 18045, 18045, 18045, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 593, 1373, 1377, 1458, -1000, 1589, -1000, -143, 24105, 18650, + 1259, 2173, 1766, 42860, -1000, -1000, -1000, 2092, -1000, 2092, + 1373, 1959, 1859, 18045, -1000, -1000, 1959, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 1387, -1000, 42860, 1586, 2058, + 42860, 1854, 1238, 396, -1000, 18650, 18650, 1582, -1000, 1097, + 42860, -1000, -192, -1000, 31970, -1000, -1000, 10750, -1000, 42860, + 302, 42860, -1000, 23500, 31365, 12580, -22, -1000, 12580, 1563, + -1000, 4, -1, 15620, 665, -1000, -1000, -1000, 2690, 20465, + 1412, 665, 80, -1000, -1000, -1000, 1667, -1000, 1667, 1667, + 1667, 1667, 396, 396, 396, 396, -1000, -1000, -1000, -1000, + -1000, 1734, 1732, -1000, 1667, 1667, 1667, 1667, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1726, 41925, - -1000, -1000, 4117, 1245, -1000, 1767, -1000, 1720, -1000, 1717, - 17755, 1707, 531, 1245, 486, 485, 461, -1000, -65, -1000, - -1000, -1000, -1000, -1000, -1000, 757, 757, 757, -1000, 353, - 2130, 3636, 5820, -1000, -1000, -1000, 37697, 1766, 1245, -1000, - 1763, -1000, 821, 504, 596, 596, 1245, -1000, -1000, 41925, - 1245, 819, 818, 1245, 1245, 41925, 41925, -1000, 37093, -1000, - 36489, 35885, 1100, 41925, 35281, 34677, 34073, 33469, 32865, -1000, - 1923, -1000, 1849, -1000, -1000, -1000, 41925, 1245, 1245, 41925, - 41925, 324, -1000, -1000, 41925, 1245, -1000, -1000, 1097, 1096, - 1089, 757, 757, 1086, 1249, 1248, 1247, 757, 757, 1077, - 1244, 28637, 1235, 274, 1071, 1058, 1056, 1124, 1224, 189, - 1220, 1083, 957, 1055, 41925, 1757, 41925, -1000, 261, 747, - 552, 773, 2019, 1967, 1559, 434, 526, 1245, 421, 421, - 41925, -1000, 11086, -1000, -1000, 1218, 17755, -1000, 872, 870, - 870, -1000, -1000, -1000, -1000, -1000, -1000, 867, 41925, 872, - -1000, -1000, -1000, 870, 867, 41925, 867, 867, 867, 867, - 870, 870, 870, 867, 41925, 41925, 41925, 41925, 41925, 41925, - 41925, 41925, 41925, 10477, 733, 867, -318, -1000, 1210, -1000, - 1883, -1000, -1000, -1000, -1000, -1000, -1000, 10477, 10477, -1000, - -1000, -1000, -1000, 174, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -87, 1543, 32261, -1000, -319, -320, -323, - -324, -1000, -1000, -1000, -329, -330, -1000, -1000, -1000, 17755, - 17755, 17755, 17755, -213, -1000, 991, 18359, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 968, 761, 18359, 18359, 18359, 18359, - 18359, 18359, 18359, 18359, 18359, 18359, 18359, 18359, 18359, 18359, - 18359, 25617, 4538, 4538, 695, 695, 695, 695, -1000, 17151, - 17755, 17755, 695, -1000, 1245, 31657, 17151, 17151, 17755, 2010, - 780, 1049, 41925, -1000, 1232, -1000, -1000, -1000, 1080, -1000, - 2010, 852, 41925, 41925, 80, 17755, 17755, 17755, 17755, 17755, - 17755, 14126, 17755, 17755, 17755, 17755, 17755, 17755, 17755, 17755, - 17755, 17755, 17755, 17755, 17755, 17755, 17755, 17755, 17755, 17755, - 17755, 17755, 17755, 17755, 17755, 17755, 17755, 17755, 13522, 11086, - 17151, 17151, 17151, 17151, 17151, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 635, 1875, 1359, - 1567, -1000, 1540, -1000, -158, 23201, 17755, 1202, 2169, 1802, - 41925, -1000, -1000, -1000, 2098, -1000, 2098, 1875, 2016, 1911, - 17151, -1000, -1000, 2016, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 1326, -1000, 41925, 1531, 2069, 41925, 1891, 1201, - 422, -1000, 17755, 17755, 1519, -1000, 1169, 41925, -1000, -213, - -1000, 31053, -1000, -1000, 9868, -1000, 41925, 338, 41925, -1000, - 22597, 30449, 11695, 2, -1000, 11695, 1453, -1000, 8, -4, - 14730, 694, -1000, -1000, -1000, 3337, 19567, 1338, 694, 82, - -1000, -1000, -1000, 1717, -1000, 1717, 1717, 1717, 1717, 422, - 422, 422, 422, -1000, -1000, -1000, -1000, -1000, 1751, 1750, - -1000, 1717, 1717, 1717, 1717, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 1731, 1731, 1731, 1717, 1717, + 389, -1000, 18650, 326, 30760, 2024, 1032, 1504, 228, 418, + 1762, 1249, 1249, 1249, 418, -1000, 1256, 1112, 1090, -1000, + -402, 1579, -1000, -1000, 2128, -1000, -1000, 707, 814, 812, + 727, 42860, 192, 297, -1000, 386, -1000, 30760, 1249, 788, + 598, 1249, -1000, 1249, -1000, -1000, -1000, -1000, -1000, 1249, + -1000, -1000, 1578, -1000, 1594, 897, 811, 896, 800, 1578, + -1000, -1000, -136, 1578, -1000, 1578, -1000, 1578, -1000, 1578, + -1000, 1578, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 790, 159, -239, 42860, 192, 26525, -1000, 424, -1000, + -1000, -1000, 26525, 26525, -1000, -1000, -1000, -1000, 1237, 1234, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 1746, 1746, 1746, 1730, 1730, 392, -1000, 17755, - 282, 29845, 2038, 1050, 1503, 261, 424, 1791, 1245, 1245, - 1245, 424, -1000, 1476, 1456, 1334, -1000, -402, 1517, -1000, - -1000, 2126, -1000, -1000, 692, 841, 839, 703, 41925, 236, - 334, -1000, 385, -1000, 29845, 1245, 815, 596, 1245, -1000, - 1245, -1000, -1000, -1000, -1000, -1000, 1245, -1000, -1000, 1514, - -1000, 1565, 895, 837, 894, 833, 1514, -1000, -1000, -116, - 1514, -1000, 1514, -1000, 1514, -1000, 1514, -1000, 1514, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 763, 143, - -234, 41925, 236, 25617, -1000, 431, -1000, -1000, -1000, 25617, - 25617, -1000, -1000, -1000, -1000, 1184, 1183, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -390, + 42860, -1000, 207, 735, 282, 318, 251, 42860, 289, 2073, + 2067, 2064, 218, 267, 42860, 42860, 416, 1790, 42860, 2044, + 42860, -1000, -1000, -1000, -1000, -1000, 1205, 42860, -1000, -1000, + 845, 845, -1000, -1000, 42860, 845, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 845, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -388, 41925, -1000, 258, - 766, 316, 347, 323, 41925, 240, 2084, 2079, 2074, 286, - 310, 41925, 41925, 421, 1858, 41925, 2043, 41925, -1000, -1000, - -1000, -1000, -1000, 1049, 41925, -1000, -1000, 867, 867, -1000, - -1000, 41925, 867, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 867, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 41925, -1000, -1000, - -1000, -1000, 41925, -1000, -1000, -1000, -1000, -1000, 150, 1, - 318, -1000, -1000, -1000, -1000, -1000, 2094, -1000, 1049, 805, - 795, -1000, 1511, -1000, -1000, 1031, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 968, 18359, 18359, 18359, 1598, 460, 1510, - 898, 913, 878, 878, 846, 846, 700, 700, 700, 700, - 700, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1179, - -1000, 1638, -1000, 1706, 1267, 1232, -1000, 1638, 1638, 1329, - 17151, -1000, -1000, 784, -1000, 17755, 1232, -1000, -1000, 1232, - 1232, 17755, 1232, 17755, -1000, 1505, 1502, 2166, -1000, -1000, + 42860, -1000, -1000, -1000, -1000, 42860, -1000, -1000, -1000, -1000, + -1000, 166, 2, 305, -1000, -1000, -1000, -1000, -1000, 2089, + -1000, 1205, 769, 775, -1000, 1605, -1000, -1000, 835, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 986, 19255, 19255, 19255, + 1142, 458, 1558, 1744, 951, 880, 880, 849, 849, 682, + 682, 682, 682, 682, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 1227, -1000, 1477, -1000, 1308, 1273, 1312, -1000, + 1477, 1477, 945, 18045, -1000, -1000, 757, -1000, 18650, 1312, + -1000, -1000, 1312, 1312, 18650, 1312, 18650, -1000, 1504, 1574, + 1572, 2172, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 958, - 1503, 1503, 1503, 1503, 1503, 17755, 1241, -1000, -1000, -1000, - 1897, 1885, 1232, 1371, 1232, 1494, -1000, 1842, 1503, 1788, - 1783, 1777, 1370, 1769, 1764, 1752, 1503, 1503, 1503, 1227, - 1748, 1735, 1724, 1702, 1695, 1689, 1661, 1655, 1647, 1503, - 1232, 17151, 17151, 1475, 1511, 630, -1000, 1638, 1232, 1232, - 1638, 1638, 11086, 1232, -1000, 41925, -1000, -310, -1000, -28, - 723, 1511, -1000, 28637, 1232, -1000, 6714, -1000, 43133, -1000, - -1000, -1000, -1000, -1000, 26825, 1434, 2016, -1000, -1000, 1511, - 1718, -1000, -1000, 422, 66, 26221, 690, 690, 165, 1049, - 1049, 17755, -1000, -1000, -1000, -1000, -1000, -1000, 623, 2144, - 341, 1511, -1000, 1491, 2005, -1000, -1000, -1000, 2065, 20176, - -1000, 1511, 1511, 41925, 1697, 1626, -1000, 622, -1000, 1453, - 2, -25, -1000, -1000, -1000, -1000, 1049, -1000, 1322, 339, - 3064, -1000, 413, -1000, -1000, -1000, -1000, 1979, 59, -1000, - -1000, -1000, 203, 422, -1000, -1000, -1000, -1000, -1000, -1000, - 1177, 1177, -1000, -1000, -1000, -1000, -1000, 1038, -1000, -1000, - -1000, 1037, -1000, -1000, 1639, 1839, 282, -1000, -1000, 757, - 1174, -1000, -1000, 1981, 757, 757, 41925, -1000, -1000, 1319, - 2038, 258, 41925, 789, 1852, -1000, 1791, 1791, 1791, 41925, - -1000, -1000, -1000, -1000, -1000, -1000, -390, 64, 348, -1000, - -1000, -1000, 5614, 41925, 1714, -1000, 232, -1000, 1296, -1000, - 41925, -1000, 1692, 1743, 1245, 1245, -1000, -1000, -1000, 41925, - 1511, -1000, -1000, -1000, -1000, 502, 2012, 239, -1000, -1000, - -230, -1000, -1000, 236, 232, 694, 1245, -1000, -1000, -1000, - -1000, -1000, -391, 1642, 445, 242, 322, 41925, 41925, 41925, - 41925, 41925, 566, -1000, -1000, -1000, -1000, 193, -1000, -1000, - 193, -1000, -1000, -1000, -1000, 298, 428, -1000, 41925, 41925, - 610, -1000, -1000, -1000, 870, -1000, -1000, 870, -1000, -1000, - -1000, -1000, -1000, 1999, 41925, -12, -351, -1000, -347, 17755, - -1000, -1000, -1000, -1000, 1271, 459, 1510, 18359, 18359, 17151, - -105, 576, 576, 25617, -1000, -1000, -1000, 17755, 17755, 1465, - 762, -1000, 17755, 950, -1000, -1000, -1000, 1503, -1000, 1503, - 17755, 17755, 17755, 1232, 273, -1000, -1000, -1000, -1000, -1000, - 2152, -1000, 17755, 17755, 17755, -1000, -1000, 17755, 17755, -1000, - 17755, 17755, 18963, 1232, 18963, 17755, 17755, 18963, -1000, -1000, - -1000, -1000, 18963, 17755, 17755, 17755, 17755, 17755, 17755, 17755, - 17755, 17755, -1000, -1000, 1638, 1638, 17151, 11086, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 723, -1000, - 596, 596, 596, 41925, -1000, -1000, -1000, -1000, -1000, -1000, - 1432, 2087, -1000, 1929, 1918, 2148, 2144, -1000, 22597, 2016, - -1000, -1000, 41925, -304, -1000, 1962, 1926, 690, 690, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 9259, 2098, 17755, 1838, - 41925, 1511, -1000, 21993, 41925, 41925, 22597, 22597, 22597, 22597, - 22597, -1000, 1873, 1872, -1000, 1886, 1869, 1898, 41925, -1000, - 1634, 1232, 2188, 20176, 335, 17755, 24409, 1301, 22597, -1000, - -1000, 22597, 41925, 8650, -1000, -1000, -17, -10, -1000, -1000, - -1000, -1000, 3337, -1000, -1000, 245, 2060, 1977, -1000, -1000, - -1000, -1000, -1000, 1608, -1000, 1604, 1425, 1599, 143, -1000, - 1666, 1996, 757, 757, -1000, 1030, -1000, 1245, 1163, 1157, - -1000, -1000, -1000, 443, -1000, 2041, 41925, 1836, 1830, 1828, - -1000, -399, 1029, 1738, 1652, 17755, 1734, 2125, 1383, 41925, - -1000, -1000, 41925, -1000, 284, -1000, 282, 41925, -1000, -1000, - -1000, 334, 41925, -1000, 6672, -1000, -1000, -1000, 232, -1000, - -1000, -1000, -1000, -1000, -1000, 41925, 270, -1000, 1733, 1133, - -1000, -1000, 1778, -1000, -1000, -1000, -1000, 176, 306, 188, - 1151, 188, -1000, 41925, 597, 1839, 41925, -1000, -1000, -1000, - 867, 867, -1000, -1000, 1994, -1000, 1245, 1503, 18359, 18359, - -1000, 695, -1000, 1511, 1232, 1717, 1717, -1000, 1717, 1730, - -1000, 1717, 141, 1717, 135, 1717, -1000, -1000, 1232, 1232, - 1130, 1101, -74, -1000, 1049, 17755, -1000, -1000, 1633, 1615, - 1503, -1000, 1712, 1704, 17755, 1503, 1503, 1503, -1000, 1049, - 1370, 1607, 1450, -1000, -1000, -1000, -1000, 1409, 1503, 1580, - -302, 1232, 1573, 1573, 1573, 1573, 1573, 1567, 1567, 1567, - 1567, -1000, -1000, 1232, -1000, -1000, 2093, 2093, 2093, 1533, - 42529, 41925, -1000, -1000, -1000, -1000, 2144, 2142, 1401, -1000, - -1000, 66, 400, -1000, 1950, 1926, -1000, 2119, 1957, 2118, - -1000, -1000, -1000, -1000, -1000, 1049, -1000, 2007, 1315, -1000, - 764, 1342, -1000, -1000, 16547, 1537, 1914, 564, 1533, 1535, - 2005, 1801, 1823, 2302, -1000, -1000, -1000, -1000, 1871, -1000, - 1859, -1000, -1000, 1621, -1000, -1000, 1359, 1232, 1390, 338, - 22597, 1385, 1385, -1000, 560, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 859, 6542, 2195, -1000, 1150, -1000, 1306, 198, - 1027, -1000, -1000, 757, 757, -1000, 814, 813, -1000, 41925, - 1663, -1000, 422, 1149, 422, 1021, -1000, 1017, -1000, -1000, - -1000, -1000, 1827, 1915, -1000, -1000, -1000, -1000, 41925, -1000, - -1000, 41925, 41925, 41925, 1658, 2114, -1000, 17755, 1654, 760, - 1576, 41925, 41925, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 447, 757, -370, 302, 295, 757, - 757, 757, -400, -1000, -1000, 1528, 1526, -1000, -139, -1000, - 17755, -1000, -1000, -1000, 1074, 1074, -1000, 1621, -1000, -1000, - -1000, 1282, -1000, -1000, -118, 41925, 41925, 41925, 41925, -1000, - 1009, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 695, 18359, -1000, -1000, 422, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 17755, -1000, 17755, - -1000, 2098, 1145, 1049, 17755, 17755, -1000, 1016, 1004, 1503, - -1000, -1000, -1000, 1232, 18963, -1000, 18963, -1000, 17755, 234, - 576, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 1511, 1998, 1511, 1511, 24409, -1000, -1000, 2142, - 2137, 2111, 1930, 1946, 1946, 1950, -1000, 2108, 2107, -1000, - 1137, 2104, 1136, 811, -1000, 41925, 17755, 1511, -1000, 289, - 41925, 1511, 41925, -1000, 2135, -1000, -1000, 17755, 1637, -1000, - 17755, -1000, -1000, -1000, -1000, -1000, -1000, 4538, 2144, 1385, - -1000, -1000, 706, -1000, 17755, -1000, -1000, -1000, 4213, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1135, 1132, -1000, - -1000, 1623, 17755, -1000, -1000, -1000, 1280, 1276, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 1621, -1000, -1000, -1000, - -1000, 334, -395, 1544, 41925, 995, -1000, 1485, 1383, 321, - 1511, 1131, 757, 757, 757, 989, 976, 28637, 1483, -1000, - 41925, 365, -1000, 334, -1000, -189, -192, 1503, -1000, -1000, - 2051, -1000, -1000, 11086, -1000, -1000, 1614, 1784, -1000, -1000, - -1000, 304, -1000, 1503, 1503, 1232, -1000, 1503, 1503, 1273, - 1269, -1000, -1000, 1450, -1000, 982, -1000, 234, 1232, 1820, - -1000, -1000, 4538, -1000, 25013, -1000, 2103, 2102, 29241, 29241, - 723, 2137, -1000, 17755, 17755, 1942, 903, -1000, -1000, -1000, - -1000, 1128, 1119, -1000, 1117, -1000, 2189, -1000, 1049, -1000, - 1511, -1000, 557, 1342, -1000, 2098, 1049, 41925, 1049, 54, - 2135, -1000, 1503, -1000, 1511, 1511, 1511, 1511, 1511, 1511, - 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, - 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, - 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, -1000, -1000, - 41925, 1186, -1000, -1000, 2028, 1447, 63, -1000, 1423, -1000, - -1000, 503, -1000, 17755, -1000, 28637, 1114, 1110, -1000, -1000, - -1000, -1000, -400, -1000, -1000, -1000, -1000, -1000, -1000, 335, - 1379, -1000, 748, 41925, 41925, 1232, 294, -125, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 17755, -1000, 1232, - 1818, -1000, -247, -1000, 1416, -1000, -1000, -1000, -1000, -1000, - 1416, 1416, -1000, -1000, 1049, 1371, -1000, 901, -1000, -1000, - -1000, -1000, -1000, 41925, 1342, 41925, -1000, 1414, 1232, 1511, - 2098, -1000, 1356, -1000, 335, -1000, 1407, 1652, -1000, -1000, - -1000, 15943, -1000, -1000, -1000, -1000, -1000, 227, -117, 11086, - 8041, 1272, -1000, -1000, 1888, -109, -140, 1370, -1000, -340, - -1000, -1000, 28033, -1000, -1000, -1000, -1000, -1000, 1330, -1000, - -1000, 24409, 41321, -1000, -103, 314, -117, 17755, 1360, 1232, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -23, -1000, - -1000, -1000, -1000, -1000, 1778, -1000, 1856, -1000, 1232, -1000, - -1000, -1000, 1264, -1000, 2868, -260, 1809, -1000, -108, -1000, - -1000, -1000, 844, 1105, -1000, -1000, -1000, -1000, -1000, -1000, - 1113, 41925, -1000, 387, -1000, -1000, -118, -120, -1000, -1000, - 41321, -255, 694, 4538, -1000, 1805, 1789, 2165, -1000, -1000, - -1000, -1000, -1000, -1000, -407, 1262, 266, -1000, -131, -1000, - -1000, 2036, 54, -1000, 2186, -1000, 2178, 664, 664, -1000, - 911, -407, -1000, -150, -270, -1000, -1000, -1000, -1000, -1000, - 384, 977, -1000, -1000, -1000, -1000, 4538, -1000, -1000, -1000, - 215, 215, -1000, -1000, + -1000, -1000, -1000, 1196, 1504, 1504, 1504, 1504, 1504, 18650, + 1436, -1000, -1000, -1000, 2244, 2222, 1312, 1449, 1312, 1571, + -1000, 2209, 1504, 2198, 2189, 2162, 1383, 2093, 1998, 1994, + 1504, 1504, 1504, 1350, 1938, 1933, 1918, 1892, 1848, 1837, + 1832, 1805, 1800, 1504, 1312, 18045, 18045, 1568, 1605, 587, + -1000, 1477, 1312, 1312, 1477, 1477, 11970, 1312, -1000, 42860, + -1000, -305, -1000, -19, 646, 1605, -1000, 29550, 1312, -1000, + 1581, -1000, 44070, -1000, -1000, -1000, -1000, -1000, 27735, 1650, + 1959, -1000, -1000, 1605, 1525, -1000, -1000, 396, 60, 27130, + 661, 661, 87, 1205, 1205, 18650, -1000, -1000, -1000, -1000, + -1000, -1000, 580, 2163, 322, 1605, -1000, 1451, 2298, -1000, + -1000, -1000, 2057, 21075, -1000, 1605, 1605, 42860, 1611, 1567, + -1000, 565, -1000, 1563, -22, 15, -1000, -1000, -1000, -1000, + 1205, -1000, 1082, 303, 403, -1000, 388, -1000, -1000, -1000, + -1000, 1945, 75, -1000, -1000, -1000, 180, 396, -1000, -1000, + -1000, -1000, -1000, -1000, 1220, 1220, -1000, -1000, -1000, -1000, + -1000, 1031, -1000, -1000, -1000, 1028, -1000, -1000, 1726, 1809, + 326, -1000, -1000, 725, 1207, -1000, -1000, 1950, 725, 725, + 42860, -1000, -1000, 1368, 2024, 207, 42860, 766, 1787, -1000, + 1762, 1762, 1762, 42860, -1000, -1000, -1000, -1000, -1000, -1000, + -392, 71, 338, -1000, -1000, -1000, 4473, 42860, 1507, -1000, + 187, -1000, 1361, -1000, 42860, -1000, 1500, 1725, 1249, 1249, + -1000, -1000, -1000, 42860, 1605, -1000, -1000, -1000, -1000, 501, + 1988, 280, -1000, -1000, -212, -1000, -1000, 192, 187, 665, + 1249, -1000, -1000, -1000, -1000, -1000, -393, 1489, 465, 205, + 287, 42860, 42860, 42860, 42860, 42860, 552, -1000, -1000, -1000, + -1000, 163, -1000, -1000, 163, -1000, -1000, -1000, -1000, 246, + 422, -1000, 42860, 42860, 579, -1000, -1000, -1000, 840, -1000, + -1000, 840, -1000, -1000, -1000, -1000, -1000, 1979, 42860, -13, + -356, -1000, -353, 18650, -1000, -1000, -1000, -1000, 1080, 456, + 1558, 19255, 19255, 18045, -128, 747, 747, 26525, -1000, -1000, + -1000, 18650, 18650, 1486, 728, -1000, 18650, 940, -1000, -1000, + -1000, 1504, -1000, 1504, -1000, 18650, 18650, 18650, 1312, 294, + -1000, -1000, -1000, -1000, -1000, 2171, -1000, 18650, 18650, 18650, + -1000, -1000, 18650, 18650, -1000, 18650, 18650, 19860, 1312, 19860, + 18650, 18650, 19860, -1000, -1000, -1000, -1000, 19860, 18650, 18650, + 18650, 18650, 18650, 18650, 18650, 18650, 18650, -1000, -1000, 1477, + 1477, 18045, 11970, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 646, -1000, 598, 598, 598, 42860, -1000, + -1000, -1000, -1000, -1000, -1000, 1562, 2070, -1000, 1872, 1871, + 2165, 2163, -1000, 23500, 1959, -1000, -1000, 42860, -296, -1000, + 1919, 1952, 661, 661, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 10140, 2092, 18650, 1785, 42860, 1605, -1000, 22895, 42860, + 42860, 23500, 23500, 23500, 23500, 23500, -1000, 1822, 1816, -1000, + 1818, 1801, 1857, 42860, -1000, 1475, 1312, 2138, 21075, 332, + 18650, 25315, 1541, 23500, -1000, -1000, 23500, 42860, 9530, -1000, + -1000, -16, -10, -1000, -1000, -1000, -1000, 2690, -1000, -1000, + 408, 2054, 1937, -1000, -1000, -1000, -1000, -1000, 1471, -1000, + 1466, 1560, 1464, 159, -1000, 1587, 1978, 725, 725, -1000, + 1027, -1000, 1249, 1203, 1176, -1000, -1000, -1000, 460, -1000, + 2035, 42860, 1783, 1781, 1780, -1000, -400, 1012, 1724, 1564, + 18650, 1721, 2127, 1515, 42860, -1000, -1000, 42860, -1000, 189, + -1000, 326, 42860, -1000, -1000, -1000, 297, 42860, -1000, 6880, + -1000, -1000, -1000, 187, -1000, -1000, -1000, -1000, -1000, -1000, + 42860, 208, -1000, 1719, 1233, -1000, -1000, 1756, -1000, -1000, + -1000, -1000, 175, 279, 172, 1174, 172, -1000, 42860, 560, + 1809, 42860, -1000, -1000, -1000, 845, 845, -1000, -1000, 1976, + -1000, 1249, 1504, 19255, 19255, -1000, 678, -1000, 1605, 1312, + 1667, 1667, -1000, 1667, 1717, -1000, 1667, 154, 1667, 153, + 1667, -1000, -1000, 1312, 1312, 1338, 1190, -94, -1000, 1205, + 18650, -1000, -1000, 1794, 1747, 1504, -1000, 1666, 1661, 18650, + 1504, 1504, 1504, -1000, 1205, 1383, 1663, 1348, -1000, -1000, + -1000, -1000, 1559, 1504, 1610, -287, 1312, 1462, 1462, 1462, + 1462, 1462, 1458, 1458, 1458, 1458, -1000, -1000, 1312, -1000, + -1000, 2088, 2088, 2088, 1441, 43465, 42860, -1000, -1000, -1000, + -1000, 2163, 2151, 1554, -1000, -1000, 60, 399, -1000, 1898, + 1952, -1000, 2123, 1914, 2116, -1000, -1000, -1000, -1000, -1000, + 1205, -1000, 2008, 1455, -1000, 729, 1429, -1000, -1000, 17440, + 1453, 1863, 562, 1441, 1585, 2298, 1761, 1779, 1967, -1000, + -1000, -1000, -1000, 1803, -1000, 1802, -1000, -1000, 1616, -1000, + -1000, 1377, 1312, 1483, 302, 23500, 1424, 1424, -1000, 548, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 841, 5869, 2193, + -1000, 1170, -1000, 1041, 195, 1007, -1000, -1000, 725, 725, + -1000, 785, 784, -1000, 42860, 1658, -1000, 396, 1169, 396, + 1002, -1000, 1001, -1000, -1000, -1000, -1000, 1792, 1815, -1000, + -1000, -1000, -1000, 42860, -1000, -1000, 42860, 42860, 42860, 1652, + 2107, -1000, 18650, 1649, 726, 1604, 42860, 42860, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 409, + 725, -364, 263, 249, 725, 725, 725, -401, -1000, -1000, + 1422, 1419, -1000, -154, -1000, 18650, -1000, -1000, -1000, 959, + 959, -1000, 1616, -1000, -1000, -1000, 1353, -1000, -1000, -139, + 42860, 42860, 42860, 42860, -1000, 995, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 678, 19255, + -1000, -1000, 396, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 18650, -1000, 18650, -1000, 2092, 1168, 1205, 18650, + 18650, -1000, 998, 985, 1504, -1000, -1000, -1000, 1312, 19860, + -1000, 19860, -1000, 18650, 198, 747, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1605, 1940, 1605, + 1605, 25315, -1000, -1000, 2151, 2148, 2106, 1901, 1909, 1909, + 1898, -1000, 2101, 2099, -1000, 1136, 2097, 1135, 781, -1000, + 42860, 18650, 1605, -1000, 321, 42860, 1605, 42860, -1000, 2141, + -1000, -1000, 18650, 1646, -1000, 18650, -1000, -1000, -1000, -1000, + -1000, -1000, 4471, 2163, 1424, -1000, -1000, 688, -1000, 18650, + -1000, -1000, -1000, 3489, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 1132, 1130, -1000, -1000, 1643, 18650, -1000, -1000, + -1000, 1331, 1320, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 1616, -1000, -1000, -1000, -1000, 297, -399, 1595, 42860, + 957, -1000, 1393, 1515, 286, 1605, 1115, 725, 725, 725, + 913, 912, 29550, 1376, -1000, 42860, 323, -1000, 297, -1000, + -171, -172, 1504, -1000, -1000, 2048, -1000, -1000, 11970, -1000, + -1000, 1614, 1758, -1000, -1000, -1000, 293, -1000, 1504, 1504, + 1312, -1000, 1504, 1504, 1318, 1315, -1000, -1000, 1348, -1000, + 1178, -1000, 198, 1312, 1775, -1000, -1000, 4471, -1000, 25920, + -1000, 2096, 2095, 30155, 30155, 646, 2148, -1000, 18650, 18650, + 1877, 948, -1000, -1000, -1000, -1000, 1105, 1104, -1000, 1092, + -1000, 2188, -1000, 1205, -1000, 1605, -1000, 534, 1429, -1000, + 2092, 1205, 42860, 1205, 67, 2141, -1000, 1504, -1000, 1605, + 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, + 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, + 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, + 1605, 1605, 1605, 1605, -1000, -1000, 42860, 1444, -1000, -1000, + 2034, 1342, 70, -1000, 1336, -1000, -1000, 480, -1000, 18650, + -1000, 29550, 1084, 1043, -1000, -1000, -1000, -1000, -401, -1000, + -1000, -1000, -1000, -1000, -1000, 332, 1497, -1000, 719, 42860, + 42860, 1312, 301, -149, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 18650, -1000, 1312, 1773, -1000, -244, -1000, + 1334, -1000, -1000, -1000, -1000, -1000, 1334, 1334, -1000, -1000, + 1205, 1449, -1000, 903, -1000, -1000, -1000, -1000, -1000, 42860, + 1429, 42860, -1000, 1327, 1312, 1605, 2092, -1000, 1301, -1000, + 332, -1000, 1596, 1564, -1000, -1000, -1000, 16835, -1000, -1000, + -1000, -1000, -1000, 179, -137, 11970, 8920, 1298, -1000, -1000, + 1852, -131, -152, 1383, -1000, -333, -1000, -1000, 28945, -1000, + -1000, -1000, -1000, -1000, 1384, -1000, -1000, 25315, 42255, -1000, + -126, 271, -137, 18650, 1548, 1312, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -17, -1000, -1000, -1000, -1000, -1000, + 1756, -1000, 1838, -1000, 1312, -1000, -1000, -1000, 1296, -1000, + 2912, -243, 1772, -1000, -89, -1000, -1000, -1000, 827, 942, + -1000, -1000, -1000, -1000, -1000, -1000, 1230, 42860, -1000, 382, + -1000, -1000, -139, -140, -1000, -1000, 42255, -236, 665, 4471, + -1000, 1771, 1769, 2169, -1000, -1000, -1000, -1000, -1000, -1000, + -411, 1294, 216, -1000, -150, -1000, -1000, 2021, 67, -1000, + 2184, -1000, 2170, 619, 619, -1000, 872, -411, -1000, -158, + -251, -1000, -1000, -1000, -1000, -1000, 378, 914, -1000, -1000, + -1000, -1000, 4471, -1000, -1000, -1000, 200, 200, -1000, -1000, } var yyPgo = [...]int{ - 0, 2531, 2528, 30, 5, 37, 36, 2527, 26, 111, - 188, 25, 217, 105, 2526, 2525, 2523, 2521, 2520, 2519, - 2514, 225, 224, 219, 2513, 2512, 2511, 2510, 2509, 2505, - 2500, 2499, 2498, 2497, 221, 172, 184, 2496, 2495, 2491, - 127, 178, 97, 96, 181, 2490, 2487, 90, 2486, 2483, - 2482, 209, 208, 200, 865, 2481, 203, 130, 46, 2480, - 2479, 2478, 2477, 2474, 2473, 2472, 2471, 2469, 2468, 2467, - 2466, 2465, 2464, 2461, 2460, 2458, 316, 2457, 2456, 17, - 2455, 85, 2454, 2453, 2451, 2450, 142, 2449, 2448, 2447, - 38, 2446, 2445, 2444, 2443, 2442, 2440, 2439, 156, 2438, - 2437, 2436, 169, 192, 2435, 2434, 248, 126, 123, 2433, - 2432, 119, 183, 2431, 139, 2430, 2429, 2428, 161, 2426, - 5250, 2424, 76, 70, 2422, 71, 89, 61, 74, 10, - 23, 2421, 2415, 75, 103, 2414, 118, 81, 2413, 115, - 110, 2411, 2410, 12, 7, 2409, 1, 4, 2, 77, - 2407, 2406, 133, 2405, 2404, 2403, 108, 2402, 2401, 122, - 2400, 107, 145, 120, 84, 2397, 44, 65, 2396, 2395, - 2394, 2393, 2392, 53, 2391, 2390, 2389, 154, 73, 173, - 40, 68, 52, 148, 2384, 63, 93, 2377, 153, 152, - 2376, 69, 32, 42, 2367, 39, 147, 134, 58, 100, - 149, 2365, 2363, 66, 83, 2360, 2358, 2357, 2356, 2353, - 2350, 80, 2348, 60, 2347, 193, 2344, 14, 2343, 50, - 41, 2342, 78, 125, 79, 31, 2340, 223, 2339, 49, - 171, 143, 167, 2338, 2336, 2334, 2333, 182, 274, 2332, - 2331, 86, 174, 157, 160, 102, 2330, 268, 2329, 2328, - 99, 1536, 2252, 28, 170, 2327, 2325, 3741, 155, 43, - 18, 2324, 199, 2323, 2322, 2320, 195, 168, 132, 991, - 82, 2315, 2310, 15, 2309, 2308, 2306, 2305, 2304, 2299, - 101, 35, 34, 33, 196, 59, 9, 117, 175, 88, - 2292, 2291, 2289, 136, 95, 2288, 166, 164, 140, 190, - 2287, 179, 158, 150, 2284, 131, 29, 2280, 2277, 2274, - 2271, 98, 2268, 2267, 2264, 2262, 163, 159, 135, 92, - 2261, 94, 129, 162, 165, 48, 2260, 47, 2257, 2255, - 21, 180, 24, 2253, 13, 67, 55, 22, 121, 146, - 2251, 0, 2248, 16, 177, 273, 189, 2246, 2238, 6, - 8, 11, 2236, 2235, 2232, 2231, 151, 2227, 2226, 2219, - 2218, 20, 45, 19, 3, 128, 91, 2215, 2213, 2212, - 4822, 2808, 144, 2200, 201, + 0, 2563, 2562, 24, 4, 43, 41, 2561, 26, 103, + 196, 25, 192, 111, 2560, 2559, 2558, 2557, 2556, 2555, + 2550, 222, 220, 219, 2549, 2547, 2546, 2545, 2544, 2542, + 2540, 2539, 2538, 2537, 216, 172, 193, 2536, 2533, 2531, + 128, 185, 94, 96, 187, 2530, 2529, 88, 2528, 2526, + 2520, 180, 179, 175, 796, 2519, 203, 131, 46, 2518, + 2517, 2516, 2515, 2512, 2510, 2509, 2505, 2504, 2503, 2502, + 2501, 2500, 2496, 2488, 2487, 2486, 194, 2485, 2484, 17, + 2483, 92, 2482, 2481, 2478, 2477, 141, 2476, 2474, 2473, + 23, 2472, 2471, 2470, 2469, 2468, 2465, 2463, 155, 2462, + 2461, 2460, 174, 195, 2459, 2457, 263, 122, 127, 2456, + 2455, 125, 182, 2454, 134, 2453, 2452, 2451, 161, 2450, + 6123, 2449, 76, 73, 2448, 71, 85, 65, 68, 29, + 1, 2447, 2445, 75, 98, 2444, 116, 81, 2442, 119, + 110, 2441, 2440, 13, 7, 2439, 2, 6, 3, 77, + 2438, 2436, 130, 2432, 2431, 2430, 107, 2429, 2427, 3634, + 2425, 99, 149, 120, 83, 2423, 37, 66, 2422, 2420, + 2415, 2414, 2413, 53, 2410, 2409, 2407, 154, 47, 173, + 42, 69, 55, 148, 2406, 147, 89, 2404, 153, 151, + 2403, 61, 31, 45, 2402, 40, 144, 133, 67, 101, + 146, 2401, 2399, 58, 82, 2398, 2397, 2396, 2395, 2385, + 2384, 79, 2379, 60, 2377, 202, 2376, 14, 2375, 50, + 32, 2374, 80, 118, 78, 30, 2373, 168, 2372, 52, + 167, 142, 171, 2369, 2362, 2359, 2356, 190, 293, 2354, + 2353, 84, 178, 158, 160, 100, 2349, 285, 2344, 2341, + 105, 1539, 2381, 28, 170, 2340, 2339, 4406, 150, 36, + 18, 2338, 138, 2333, 2332, 2330, 198, 176, 129, 985, + 59, 2329, 2326, 12, 2320, 2319, 2314, 2311, 2306, 2305, + 97, 39, 38, 35, 197, 63, 10, 108, 169, 86, + 2295, 2287, 2282, 136, 95, 2279, 166, 165, 140, 189, + 2274, 177, 156, 145, 2273, 188, 34, 2271, 2269, 2267, + 2266, 102, 2265, 2264, 2260, 2259, 164, 157, 135, 93, + 2258, 90, 132, 162, 163, 48, 2256, 49, 2254, 2253, + 33, 186, 21, 2252, 15, 70, 74, 22, 123, 121, + 2251, 0, 2250, 16, 181, 284, 159, 2246, 2243, 8, + 9, 11, 2241, 2239, 2238, 2228, 152, 2227, 2219, 2218, + 2217, 20, 44, 19, 5, 126, 91, 2214, 2212, 2211, + 5165, 2523, 143, 2209, 200, } -//line sql.y:7142 +//line sql.y:7148 type yySymType struct { union any empty struct{} @@ -6864,30 +6960,31 @@ var yyR1 = [...]int{ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - 173, 173, 173, 271, 271, 337, 337, 336, 336, 335, - 335, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 94, 94, 94, 94, 94, 94, 94, - 94, 94, 374, 374, 284, 284, 284, 284, 175, 175, - 175, 175, 175, 101, 101, 101, 101, 101, 268, 268, - 268, 272, 272, 272, 270, 270, 270, 270, 270, 270, - 270, 270, 270, 270, 270, 270, 270, 270, 270, 189, - 189, 97, 97, 187, 187, 188, 190, 190, 185, 185, - 185, 171, 171, 171, 191, 191, 192, 192, 193, 193, - 195, 194, 194, 196, 197, 197, 197, 198, 198, 199, - 199, 199, 47, 47, 47, 47, 47, 42, 42, 42, - 42, 43, 43, 43, 43, 112, 112, 112, 112, 114, - 114, 113, 113, 79, 79, 80, 80, 80, 118, 118, - 119, 119, 119, 116, 116, 117, 117, 215, 215, 200, - 200, 200, 207, 207, 207, 203, 203, 205, 205, 205, - 206, 206, 206, 204, 212, 212, 214, 214, 213, 213, - 209, 209, 210, 210, 211, 211, 211, 208, 208, 170, - 170, 170, 170, 170, 216, 216, 216, 216, 224, 224, - 180, 180, 182, 182, 181, 135, 225, 225, 229, 226, - 226, 230, 230, 230, 230, 230, 227, 227, 228, 228, - 256, 256, 256, 234, 234, 247, 247, 243, 243, 244, - 244, 237, 237, 249, 249, 249, 74, 179, 179, 322, - 322, 319, 252, 252, 253, 253, 257, 257, 261, 261, - 258, 258, 250, 250, 250, 250, 250, 250, 250, 250, + 173, 173, 173, 173, 271, 271, 337, 337, 336, 336, + 335, 335, 95, 95, 95, 95, 95, 95, 95, 95, + 95, 95, 95, 95, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 374, 374, 284, 284, 284, 284, 175, + 175, 175, 175, 175, 101, 101, 101, 101, 101, 268, + 268, 268, 272, 272, 272, 270, 270, 270, 270, 270, + 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, + 189, 189, 97, 97, 187, 187, 188, 190, 190, 185, + 185, 185, 171, 171, 171, 191, 191, 192, 192, 193, + 193, 195, 194, 194, 196, 197, 197, 197, 198, 198, + 199, 199, 199, 47, 47, 47, 47, 47, 42, 42, + 42, 42, 43, 43, 43, 43, 112, 112, 112, 112, + 114, 114, 113, 113, 79, 79, 80, 80, 80, 118, + 118, 119, 119, 119, 116, 116, 117, 117, 215, 215, + 200, 200, 200, 207, 207, 207, 203, 203, 205, 205, + 205, 206, 206, 206, 204, 212, 212, 214, 214, 213, + 213, 209, 209, 210, 210, 211, 211, 211, 208, 208, + 170, 170, 170, 170, 170, 216, 216, 216, 216, 224, + 224, 180, 180, 182, 182, 181, 135, 225, 225, 229, + 226, 226, 230, 230, 230, 230, 230, 227, 227, 228, + 228, 256, 256, 256, 234, 234, 247, 247, 243, 243, + 244, 244, 237, 237, 249, 249, 249, 74, 179, 179, + 322, 322, 319, 252, 252, 253, 253, 257, 257, 261, + 261, 258, 258, 250, 250, 250, 250, 250, 250, 250, + 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, @@ -6901,7 +6998,6 @@ var yyR1 = [...]int{ 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, - 250, 250, 250, 250, 250, 250, 250, 250, 250, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, @@ -6937,7 +7033,8 @@ var yyR1 = [...]int{ 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, - 251, 251, 251, 370, 371, 266, 267, 267, 267, + 251, 251, 251, 251, 251, 370, 371, 266, 267, 267, + 267, } var yyR2 = [...]int{ @@ -7046,33 +7143,33 @@ var yyR2 = [...]int{ 1, 1, 1, 1, 1, 1, 1, 3, 4, 5, 5, 6, 4, 4, 8, 6, 8, 6, 8, 5, 4, 2, 2, 1, 2, 2, 2, 5, 4, 5, - 8, 8, 6, 5, 4, 4, 4, 4, 4, 7, - 4, 6, 6, 6, 4, 4, 4, 7, 8, 6, - 5, 6, 8, 11, 7, 8, 8, 9, 4, 4, - 4, 4, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 4, 0, 2, 0, 2, 1, 3, 1, + 4, 8, 8, 6, 5, 4, 4, 4, 4, 4, + 7, 4, 6, 6, 6, 4, 4, 4, 7, 8, + 6, 5, 6, 8, 11, 7, 8, 8, 9, 4, + 4, 4, 4, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 4, 0, 2, 0, 2, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 0, 2, 0, 2, 3, 3, 4, 4, - 4, 4, 4, 0, 3, 4, 7, 3, 1, 1, - 1, 0, 5, 5, 2, 3, 1, 2, 2, 1, - 2, 1, 2, 2, 1, 2, 2, 1, 1, 0, - 1, 0, 2, 1, 2, 4, 0, 2, 1, 3, - 5, 1, 2, 2, 0, 3, 0, 2, 0, 1, - 3, 1, 3, 2, 0, 1, 1, 0, 1, 2, - 4, 4, 0, 2, 2, 1, 1, 3, 3, 3, - 3, 3, 3, 3, 3, 0, 3, 3, 3, 0, - 3, 1, 1, 0, 4, 0, 1, 1, 0, 3, - 1, 3, 2, 1, 1, 0, 1, 2, 4, 9, - 3, 5, 0, 3, 3, 0, 1, 0, 2, 2, - 0, 2, 2, 2, 0, 2, 1, 2, 3, 3, - 0, 2, 1, 2, 3, 4, 3, 0, 1, 2, - 1, 5, 4, 4, 1, 3, 3, 5, 0, 5, - 1, 3, 1, 2, 3, 1, 1, 3, 3, 1, - 3, 3, 3, 3, 3, 2, 1, 2, 1, 1, - 1, 1, 1, 1, 1, 0, 1, 0, 2, 0, - 3, 0, 1, 0, 1, 1, 5, 0, 1, 0, - 1, 2, 1, 1, 1, 1, 1, 1, 0, 1, + 1, 1, 1, 0, 2, 0, 2, 3, 3, 4, + 4, 4, 4, 4, 0, 3, 4, 7, 3, 1, + 1, 1, 0, 5, 5, 2, 3, 1, 2, 2, + 1, 2, 1, 2, 2, 1, 2, 2, 1, 1, + 0, 1, 0, 2, 1, 2, 4, 0, 2, 1, + 3, 5, 1, 2, 2, 0, 3, 0, 2, 0, + 1, 3, 1, 3, 2, 0, 1, 1, 0, 1, + 2, 4, 4, 0, 2, 2, 1, 1, 3, 3, + 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, + 0, 3, 1, 1, 0, 4, 0, 1, 1, 0, + 3, 1, 3, 2, 1, 1, 0, 1, 2, 4, + 9, 3, 5, 0, 3, 3, 0, 1, 0, 2, + 2, 0, 2, 2, 2, 0, 2, 1, 2, 3, + 3, 0, 2, 1, 2, 3, 4, 3, 0, 1, + 2, 1, 5, 4, 4, 1, 3, 3, 5, 0, + 5, 1, 3, 1, 2, 3, 1, 1, 3, 3, + 1, 3, 3, 3, 3, 3, 2, 1, 2, 1, + 1, 1, 1, 1, 1, 1, 0, 1, 0, 2, + 0, 3, 0, 1, 0, 1, 1, 5, 0, 1, + 0, 1, 2, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -7123,7 +7220,8 @@ var yyR2 = [...]int{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 0, 0, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, + 1, } var yyChk = [...]int{ @@ -7135,306 +7233,306 @@ var yyChk = [...]int{ -50, 223, 222, 259, 224, 252, 74, 305, 306, 308, 309, 310, 311, -85, 257, 258, 226, 36, 45, 33, 34, 37, 230, 265, 266, 229, -10, -34, 8, -370, - 11, 436, 254, 253, 28, -12, 472, 86, -369, 613, + 11, 436, 254, 253, 28, -12, 473, 86, -369, 614, -215, -200, 22, 33, 29, -199, -195, -103, -200, 20, 18, 7, -76, -373, -76, -76, 12, 13, -76, -307, -309, 86, 156, 86, -76, -55, -54, -52, -51, -53, -56, 31, -45, -46, -331, -44, -41, 225, 222, 269, 120, 121, 259, 260, 261, 224, 243, 258, 262, 257, - 278, -40, 81, 33, 472, 475, -314, 221, 227, 228, - 437, 123, 122, 75, 223, -311, 359, 505, 583, -56, - 585, 102, 104, 584, 44, 233, 586, 587, 588, 512, - 589, 242, 590, 591, 592, 593, 599, 554, 600, 601, - 602, 124, 7, -76, -261, -257, -341, -251, 89, 90, - 91, 469, 245, 503, 504, 294, 81, 41, 356, 359, - 505, 467, 583, 305, 319, 313, 340, 332, 470, 506, - 479, 297, 246, 282, 580, 330, 132, 585, 300, 507, - 260, 364, 365, 508, 366, 102, 308, 403, 598, 299, - 509, 596, 104, 584, 79, 466, 51, 44, 255, 328, - 229, 324, 586, 283, 510, 481, 276, 123, 120, 605, - 36, 322, 50, 30, 595, 122, 49, 587, 147, 511, - 588, 512, 368, 347, 574, 48, 369, 261, 513, 84, - 266, 474, 303, 582, 370, 323, 371, 293, 594, 226, - 514, 566, 372, 373, 575, 515, 348, 352, 516, 395, - 374, 612, 52, 517, 518, 576, 121, 519, 78, 589, - 80, 317, 318, 520, 291, 244, 397, 344, 449, 456, + 278, -40, 81, 33, 473, 476, -314, 221, 227, 228, + 437, 123, 122, 75, 223, -311, 359, 506, 584, -56, + 586, 102, 104, 585, 44, 233, 587, 588, 589, 513, + 590, 242, 591, 592, 593, 594, 600, 555, 601, 602, + 603, 124, 7, -76, -261, -257, -341, -251, 89, 90, + 91, 470, 245, 504, 505, 294, 81, 41, 356, 359, + 506, 467, 584, 305, 319, 313, 340, 332, 471, 507, + 480, 297, 246, 282, 581, 330, 132, 586, 300, 508, + 260, 364, 365, 509, 366, 102, 308, 403, 599, 299, + 510, 597, 104, 585, 79, 466, 51, 44, 255, 328, + 229, 324, 587, 283, 511, 482, 276, 123, 120, 606, + 36, 322, 50, 30, 596, 122, 49, 588, 147, 512, + 589, 513, 368, 347, 575, 48, 369, 261, 514, 84, + 266, 475, 303, 583, 370, 323, 371, 293, 595, 226, + 515, 567, 372, 373, 576, 516, 348, 352, 517, 395, + 374, 613, 52, 518, 519, 577, 121, 520, 78, 590, + 80, 317, 318, 521, 291, 244, 397, 344, 449, 456, 457, 108, 109, 452, 110, 458, 111, 459, 460, 461, 450, 112, 105, 451, 462, 463, 345, 346, 113, 464, - 107, 106, 453, 455, 114, 465, 242, 35, 375, 471, - 295, 58, 270, 398, 46, 350, 609, 45, 570, 521, - 573, 343, 339, 446, 53, 522, 523, 524, 525, 590, - 342, 316, 338, 604, 4, 288, 591, 62, 228, 354, - 353, 355, 277, 394, 335, 526, 527, 528, 249, 82, - 529, 325, 21, 530, 531, 376, 284, 532, 56, 533, - 534, 401, 258, 535, 54, 592, 39, 536, 263, 606, - 593, 537, 538, 539, 540, 265, 541, 378, 542, 377, - 349, 351, 272, 379, 473, 543, 304, 321, 262, 597, - 544, 250, 581, 264, 269, 257, 402, 251, 545, 546, - 547, 548, 549, 298, 565, 550, 551, 309, 599, 447, - 43, 552, 553, 554, 555, 556, 292, 287, 396, 405, - 61, 83, 361, 557, 558, 579, 315, 285, 559, 306, - 55, 600, 601, 602, 279, 603, 9, 610, 611, 381, - 124, 289, 290, 47, 336, 271, 560, 301, 561, 326, - 327, 341, 314, 337, 307, 567, 273, 382, 448, 259, - 562, 404, 286, 357, 362, 302, 477, 278, 383, 578, - 476, 334, 331, 280, 563, 384, 234, 274, 275, 564, - 568, 385, 386, 296, 387, 388, 389, 390, 391, 393, - 392, 281, 475, 312, 329, 363, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, - 431, 432, 433, 434, 445, 232, -76, 232, -159, -257, - 232, -227, 365, -248, 367, 380, 375, 385, 373, -239, - 376, 378, 272, -358, 395, 232, 382, 220, 368, 377, - 386, 387, 296, 393, 388, 392, 281, 389, 390, 391, - -341, 173, 588, 603, 132, 333, 372, 370, 396, 570, - -257, 307, -264, 312, -252, -341, -251, 310, -159, -82, - 566, 224, -266, -266, -105, 570, 572, -178, -120, 140, - -131, -134, -125, -126, -172, -173, -174, -175, -132, -185, - 162, 163, 170, 141, -183, -135, 26, 468, 438, 437, - 173, 31, 216, 68, 69, 440, 441, 143, 57, 413, - 414, -133, 408, 415, 410, 467, 466, 443, 444, 115, - 445, 105, 107, 106, 446, 447, 448, 345, 346, 449, - 450, 451, 108, 109, 110, 111, 112, 113, 114, 452, - 455, 453, 454, 456, 457, 458, 463, 464, 459, 460, - 461, 462, 465, -252, -257, 237, 407, 231, 168, 436, - -127, -123, -8, -181, 406, 411, 412, 416, 409, -341, - -251, -129, -128, -168, 92, 98, 103, 99, -364, 116, - -370, 93, 94, 95, 96, 97, 117, 118, 174, 175, - 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, - 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, - 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, - 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, - 44, 381, 381, -159, -76, -76, -76, -76, -193, -103, - -195, -10, -8, -370, 8, -76, -8, -9, -13, -34, - -36, 499, -35, -257, -200, -215, 12, 158, 42, 50, - -198, -199, -12, -8, -120, 19, 23, 24, -108, 164, - -120, -257, -77, -108, -237, 236, -76, -76, -226, -269, - 307, -230, 396, 395, -253, -228, -252, -250, -227, 394, - 225, 23, 478, 139, 25, 27, 142, 173, 127, 19, - 143, 37, 227, 333, 243, 172, 239, 437, 220, 72, - 480, 408, 410, 406, 413, 439, 440, 407, 367, 31, - 13, 482, 28, 253, 24, 38, 166, 222, 146, 483, - 256, 26, 254, 115, 118, 485, 22, 75, 248, 14, - 241, 40, 16, 486, 487, 17, 237, 236, 158, 233, - 70, 11, 216, 29, 155, 66, 488, 134, 489, 490, - 491, 492, 128, 68, 156, 20, 607, 411, 412, 33, - 571, 468, 267, 168, 73, 59, 572, 140, 409, 493, - 494, 116, 495, 119, 76, 577, 136, 18, 71, 42, - 496, 268, 497, 238, 608, 498, 399, 499, 157, 223, - 436, 69, 500, 231, 380, 8, 442, 32, 252, 240, - 126, 67, 501, 232, 145, 443, 444, 235, 129, 117, - 7, 133, 34, 12, 74, 77, 414, 415, 416, 57, - 125, 472, 144, 15, 502, 400, 138, 132, -308, 156, - -294, -298, -252, 247, -324, 243, -159, -317, -316, -252, - -370, -104, -247, 233, 241, 240, 133, -345, 136, 289, - 407, 231, -51, -52, -53, -227, 172, 587, -86, 264, - 268, 87, 87, -298, -297, -296, -346, 268, 247, -323, - -315, 239, 248, -304, 240, 241, -299, 233, 134, -346, - -299, 238, 248, 243, 247, 268, 268, 124, 268, 124, - 268, 268, 268, 268, 268, 268, 268, 268, 268, 263, - -305, 148, -305, 476, 476, -311, -346, 243, 233, -346, - -346, 235, 35, 35, -249, -299, 235, 25, -305, -305, - -305, -227, 172, -305, -305, -305, -305, 276, 276, -305, - -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, - -305, -305, -305, -305, -305, -305, 232, -345, -112, 392, - 296, 81, -54, 278, -37, -159, -247, 233, 234, -345, - 265, -159, 217, -159, -241, 156, 15, -241, -238, 381, - 379, 366, 371, -241, -241, -241, -241, 279, 364, -300, - 233, 35, 244, 381, 279, 364, 279, 280, 279, 280, - 374, 384, 279, -262, 14, 158, 407, 369, 373, 272, - 232, 273, 234, 383, 280, -262, 93, -242, 156, 381, - 275, -241, -241, -267, -370, -253, 333, -341, 573, -267, - -267, 32, 90, 235, -252, -78, -252, 93, -15, -11, - -22, -21, -23, 148, -110, 381, -98, 173, 588, 574, - 575, 576, 573, 378, 581, 579, 577, 279, 578, 87, - 136, 138, 139, 4, -120, 155, -169, 148, 149, 150, - 151, 152, 153, 154, 158, 140, 142, 156, 157, 137, - 159, 160, 161, 162, 163, 164, 165, 167, 166, 168, - 169, 172, 218, 219, -126, -126, -126, -126, -183, -370, - -370, -370, -126, -236, -370, -126, -370, -370, -370, -370, - -189, -120, -370, -374, -370, -374, -374, -284, -370, -284, + 107, 106, 453, 455, 114, 465, 242, 35, 375, 472, + 295, 58, 270, 398, 46, 350, 610, 45, 571, 522, + 574, 343, 339, 446, 53, 523, 524, 525, 526, 468, + 591, 342, 316, 338, 605, 4, 288, 592, 62, 228, + 354, 353, 355, 277, 394, 335, 527, 528, 529, 249, + 82, 530, 325, 21, 531, 532, 376, 284, 533, 56, + 534, 535, 401, 258, 536, 54, 593, 39, 537, 263, + 607, 594, 538, 539, 540, 541, 265, 542, 378, 543, + 377, 349, 351, 272, 379, 474, 544, 304, 321, 262, + 598, 545, 250, 582, 264, 269, 257, 402, 251, 546, + 547, 548, 549, 550, 298, 566, 551, 552, 309, 600, + 447, 43, 553, 554, 555, 556, 557, 292, 287, 396, + 405, 61, 83, 361, 558, 559, 580, 315, 285, 560, + 306, 55, 601, 602, 603, 279, 604, 9, 611, 612, + 381, 124, 289, 290, 47, 336, 271, 561, 301, 562, + 326, 327, 341, 314, 337, 307, 568, 273, 382, 448, + 259, 563, 404, 286, 357, 362, 302, 478, 278, 383, + 579, 477, 334, 331, 280, 564, 384, 234, 274, 275, + 565, 569, 385, 386, 296, 387, 388, 389, 390, 391, + 393, 392, 281, 476, 312, 329, 363, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, 431, 432, 433, 434, 445, 232, -76, 232, -159, + -257, 232, -227, 365, -248, 367, 380, 375, 385, 373, + -239, 376, 378, 272, -358, 395, 232, 382, 220, 368, + 377, 386, 387, 296, 393, 388, 392, 281, 389, 390, + 391, -341, 173, 589, 604, 132, 333, 372, 370, 396, + 571, -257, 307, -264, 312, -252, -341, -251, 310, -159, + -82, 567, 224, -266, -266, -105, 571, 573, -178, -120, + 140, -131, -134, -125, -126, -172, -173, -174, -175, -132, + -185, 162, 163, 170, 141, -183, -135, 26, 469, 438, + 437, 173, 31, 216, 68, 69, 440, 441, 143, 57, + 413, 414, -133, 408, 415, 410, 467, 466, 468, 443, + 444, 115, 445, 105, 107, 106, 446, 447, 448, 345, + 346, 449, 450, 451, 108, 109, 110, 111, 112, 113, + 114, 452, 455, 453, 454, 456, 457, 458, 463, 464, + 459, 460, 461, 462, 465, -252, -257, 237, 407, 231, + 168, 436, -127, -123, -8, -181, 406, 411, 412, 416, + 409, -341, -251, -129, -128, -168, 92, 98, 103, 99, + -364, 116, -370, 93, 94, 95, 96, 97, 117, 118, + 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, + 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, + 214, 215, 44, 381, 381, -159, -76, -76, -76, -76, + -193, -103, -195, -10, -8, -370, 8, -76, -8, -9, + -13, -34, -36, 500, -35, -257, -200, -215, 12, 158, + 42, 50, -198, -199, -12, -8, -120, 19, 23, 24, + -108, 164, -120, -257, -77, -108, -237, 236, -76, -76, + -226, -269, 307, -230, 396, 395, -253, -228, -252, -250, + -227, 394, 225, 23, 479, 139, 25, 27, 142, 173, + 127, 19, 143, 37, 227, 333, 243, 172, 239, 437, + 220, 72, 481, 408, 410, 406, 413, 439, 440, 407, + 367, 31, 13, 483, 28, 253, 24, 38, 166, 222, + 146, 484, 256, 26, 254, 115, 118, 486, 22, 75, + 248, 14, 241, 40, 16, 487, 488, 17, 237, 236, + 158, 233, 70, 11, 216, 29, 155, 66, 489, 134, + 490, 491, 492, 493, 128, 68, 156, 20, 608, 411, + 412, 33, 572, 469, 267, 168, 73, 59, 573, 140, + 409, 494, 495, 116, 496, 119, 76, 578, 136, 18, + 71, 42, 497, 268, 498, 238, 609, 499, 399, 500, + 157, 223, 436, 69, 501, 231, 380, 8, 442, 32, + 252, 240, 126, 67, 502, 232, 145, 443, 444, 235, + 129, 117, 7, 133, 34, 12, 74, 77, 414, 415, + 416, 57, 125, 473, 144, 15, 503, 400, 138, 132, + -308, 156, -294, -298, -252, 247, -324, 243, -159, -317, + -316, -252, -370, -104, -247, 233, 241, 240, 133, -345, + 136, 289, 407, 231, -51, -52, -53, -227, 172, 588, + -86, 264, 268, 87, 87, -298, -297, -296, -346, 268, + 247, -323, -315, 239, 248, -304, 240, 241, -299, 233, + 134, -346, -299, 238, 248, 243, 247, 268, 268, 124, + 268, 124, 268, 268, 268, 268, 268, 268, 268, 268, + 268, 263, -305, 148, -305, 477, 477, -311, -346, 243, + 233, -346, -346, 235, 35, 35, -249, -299, 235, 25, + -305, -305, -305, -227, 172, -305, -305, -305, -305, 276, + 276, -305, -305, -305, -305, -305, -305, -305, -305, -305, + -305, -305, -305, -305, -305, -305, -305, -305, 232, -345, + -112, 392, 296, 81, -54, 278, -37, -159, -247, 233, + 234, -345, 265, -159, 217, -159, -241, 156, 15, -241, + -238, 381, 379, 366, 371, -241, -241, -241, -241, 279, + 364, -300, 233, 35, 244, 381, 279, 364, 279, 280, + 279, 280, 374, 384, 279, -262, 14, 158, 407, 369, + 373, 272, 232, 273, 234, 383, 280, -262, 93, -242, + 156, 381, 275, -241, -241, -267, -370, -253, 333, -341, + 574, -267, -267, 32, 90, 235, -252, -78, -252, 93, + -15, -11, -22, -21, -23, 148, -110, 381, -98, 173, + 589, 575, 576, 577, 574, 378, 582, 580, 578, 279, + 579, 87, 136, 138, 139, 4, -120, 155, -169, 148, + 149, 150, 151, 152, 153, 154, 158, 140, 142, 156, + 157, 137, 159, 160, 161, 162, 163, 164, 165, 167, + 166, 168, 169, 172, 218, 219, -126, -126, -126, -126, + -183, -370, -370, -370, -126, -236, -370, -126, -370, -370, + -370, -370, -189, -120, -370, -374, -370, -374, -374, -284, + -370, -284, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, - -370, -370, -370, -370, -370, -370, -370, -370, -370, 217, - -370, -370, -370, -370, -370, -284, -284, -284, -284, -284, - 103, 98, 92, -185, 99, 93, -252, -257, -8, -9, - -178, -266, -355, -356, -162, -159, -370, 296, -252, -252, - 265, -198, -12, -8, -193, -199, -195, -8, -76, -96, - -109, 63, 64, -111, 24, 38, 67, 65, 23, -371, - 88, -371, -215, -371, 87, -36, -219, 86, 61, 43, - 93, 93, 87, 21, -194, -196, -120, 14, -255, 4, - -254, 25, -252, 93, 217, 101, 14, -160, 29, -159, - -237, -237, 87, 307, -230, -269, -232, -231, 397, 399, - 148, -256, -252, 93, 31, 88, 87, -159, -273, -276, - -278, -277, -279, -274, -275, 330, 331, 173, 334, 336, - 337, 338, 339, 340, 341, 342, 343, 344, 347, 32, - 255, 326, 327, 328, 329, 348, 349, 350, 351, 352, - 353, 354, 355, 313, 332, 470, 314, 315, 316, 317, - 318, 319, 321, 322, 323, 324, 325, -344, -341, 86, - 88, 87, -280, 86, -120, -112, 232, -341, 233, 233, - 233, -76, 436, -305, -305, -305, 263, 19, -44, -41, - -331, 18, -40, -41, 225, 120, 121, 222, 86, -294, - 86, -303, -344, -341, 86, 134, 238, 133, -302, -299, - -302, -303, -341, -185, -341, 134, 134, -341, -341, -223, - -252, -223, -223, 23, -223, 23, -223, 23, 95, -252, - -223, 23, -223, 23, -223, 23, -223, 23, -223, 23, - 31, 78, 79, 80, 31, 82, 83, 84, -185, -341, - -341, -185, -294, -227, -159, -341, 95, 95, 95, -305, - -305, 95, 93, 93, 93, -305, -305, 95, 93, -259, - -257, 93, 93, -347, 249, 293, 295, 95, 95, 95, - 95, 31, 93, -348, 31, 595, 594, 596, 597, 598, - 93, 95, 31, 95, 31, 95, -252, 86, -159, -118, - 283, 220, 222, 225, 76, 93, 297, 301, 302, 148, - 44, 87, 235, 232, -341, -243, 237, -243, -252, -258, - -257, -250, 93, -120, -301, 14, 158, -262, -262, -241, - -159, -301, -262, -241, -159, -241, -241, -241, -241, -262, - -262, -262, -241, -257, -257, -159, -159, -159, -159, -159, - -159, -159, -267, -242, -241, 573, 93, -235, 14, 76, - -267, -267, -265, 310, 344, 567, 568, 569, 87, 472, - -152, -159, 573, 573, 573, 573, 573, 573, -120, -120, - -120, -120, 495, -176, 116, 140, 117, 118, -134, -177, - -181, -183, 100, 158, 142, 156, 157, -125, -126, -125, - -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, - -125, -125, -268, -252, 93, 173, -130, -129, 99, -364, - -130, -106, -108, -120, -120, -341, -252, -106, -106, -120, - -102, 24, 38, -187, -188, 144, -185, -371, -371, 95, - 99, -102, -367, -102, 164, -252, -252, -95, -94, 418, - 419, 420, 421, 423, 424, 425, 428, 429, 433, 434, - 417, 435, 422, 427, 430, 431, 432, 426, 329, -120, - -120, -120, -120, -120, -120, -83, -120, 127, 128, 129, - -120, -120, -179, -178, -340, -339, -338, -120, -120, -120, - -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, + -370, -370, 217, -370, -370, -370, -370, -370, -284, -284, + -284, -284, -284, 103, 98, 92, -185, 99, 93, -252, + -257, -8, -9, -178, -266, -355, -356, -162, -159, -370, + 296, -252, -252, 265, -198, -12, -8, -193, -199, -195, + -8, -76, -96, -109, 63, 64, -111, 24, 38, 67, + 65, 23, -371, 88, -371, -215, -371, 87, -36, -219, + 86, 61, 43, 93, 93, 87, 21, -194, -196, -120, + 14, -255, 4, -254, 25, -252, 93, 217, 101, 14, + -160, 29, -159, -237, -237, 87, 307, -230, -269, -232, + -231, 397, 399, 148, -256, -252, 93, 31, 88, 87, + -159, -273, -276, -278, -277, -279, -274, -275, 330, 331, + 173, 334, 336, 337, 338, 339, 340, 341, 342, 343, + 344, 347, 32, 255, 326, 327, 328, 329, 348, 349, + 350, 351, 352, 353, 354, 355, 313, 332, 471, 314, + 315, 316, 317, 318, 319, 321, 322, 323, 324, 325, + -344, -341, 86, 88, 87, -280, 86, -120, -112, 232, + -341, 233, 233, 233, -76, 436, -305, -305, -305, 263, + 19, -44, -41, -331, 18, -40, -41, 225, 120, 121, + 222, 86, -294, 86, -303, -344, -341, 86, 134, 238, + 133, -302, -299, -302, -303, -341, -185, -341, 134, 134, + -341, -341, -223, -252, -223, -223, 23, -223, 23, -223, + 23, 95, -252, -223, 23, -223, 23, -223, 23, -223, + 23, -223, 23, 31, 78, 79, 80, 31, 82, 83, + 84, -185, -341, -341, -185, -294, -227, -159, -341, 95, + 95, 95, -305, -305, 95, 93, 93, 93, -305, -305, + 95, 93, -259, -257, 93, 93, -347, 249, 293, 295, + 95, 95, 95, 95, 31, 93, -348, 31, 596, 595, + 597, 598, 599, 93, 95, 31, 95, 31, 95, -252, + 86, -159, -118, 283, 220, 222, 225, 76, 93, 297, + 301, 302, 148, 44, 87, 235, 232, -341, -243, 237, + -243, -252, -258, -257, -250, 93, -120, -301, 14, 158, + -262, -262, -241, -159, -301, -262, -241, -159, -241, -241, + -241, -241, -262, -262, -262, -241, -257, -257, -159, -159, + -159, -159, -159, -159, -159, -267, -242, -241, 574, 93, + -235, 14, 76, -267, -267, -265, 310, 344, 568, 569, + 570, 87, 473, -152, -159, 574, 574, 574, 574, 574, + 574, -120, -120, -120, -120, 496, -176, 116, 140, 117, + 118, -134, -177, -181, -183, 100, 158, 142, 156, 157, + -125, -126, -125, -125, -125, -125, -125, -125, -125, -125, + -125, -125, -125, -125, -125, -268, -252, 93, 173, -130, + -129, 99, -364, -130, -106, -108, -120, -120, -341, -252, + -106, -106, -120, -102, 24, 38, -187, -188, 144, -185, + -371, -371, 95, 99, -102, -367, -102, 164, -120, -252, + -252, -95, -94, 418, 419, 420, 421, 423, 424, 425, + 428, 429, 433, 434, 417, 435, 422, 427, 430, 431, + 432, 426, 329, -120, -120, -120, -120, -120, -120, -83, + -120, 127, 128, 129, -120, -120, -179, -178, -340, -339, + -338, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, - -107, 24, 38, -106, -253, -258, -250, -106, -107, -107, - -106, -106, 217, -215, -371, 87, -357, 399, 400, 571, - -260, 268, -259, 25, -179, 93, 14, -221, 77, -252, - -198, -198, 63, 64, 59, -106, -111, -371, -35, 25, - -217, -252, 62, 93, -285, -227, 356, 357, 173, -120, - -120, 87, -197, 27, 28, -159, -254, 164, -258, -159, - -222, 268, -159, -137, -139, -140, -141, -162, -184, -370, - -142, 491, 488, 14, -152, -153, -161, -257, -230, -232, - 87, 398, 400, 401, 76, 119, -120, -286, 172, -313, - -312, -311, -294, -296, -297, -298, 88, -286, -290, 362, - 361, -280, -280, -280, -280, -280, -285, -285, -285, -285, - 86, 86, -280, -280, -280, -280, -288, 86, -288, -288, - -289, 86, -289, -324, -120, -321, -320, -318, -319, 242, - 102, 564, 520, 472, 512, 554, 77, -316, -197, 95, - -371, -118, -244, 237, -322, -319, -341, -341, -341, -244, - -341, 93, -341, 93, -341, 93, -87, -58, -1, 607, - 608, 609, 87, 19, -295, -294, -57, 293, -327, -328, - 268, -323, -317, -303, 134, -302, -303, -303, -341, 87, - 29, 124, 124, 124, 124, 472, 222, 32, -245, 511, - 140, 564, 520, -294, -57, -268, 235, -268, -268, 93, - 93, -240, 603, -152, -114, 285, 148, 274, 274, 232, - 232, 287, -159, 298, 300, 299, 297, 301, 302, 23, - 23, 23, 286, 288, 290, 276, -159, -159, -243, 76, - -154, -159, 26, -257, -159, -241, -241, -159, -241, -241, - -159, -252, -98, 399, 87, 472, 22, -99, 22, -370, - 116, 117, 118, -177, -125, -126, -125, 139, 256, 87, - -371, 25, 87, 77, -371, -371, -371, 87, 14, -106, - -190, -188, 146, -120, -371, -371, -371, -120, -371, -120, - 87, 87, 14, -272, 25, -371, -371, -371, -371, -371, - -189, -371, 14, 87, 87, -371, -371, 87, 87, -371, - 87, 87, 87, -337, 87, 87, 87, 87, -371, -371, - -371, -371, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, -371, -371, -106, -106, -370, 217, -371, -371, - -371, -371, -371, -253, -356, 570, 400, -166, -165, -163, - 74, 236, 75, -370, -259, -371, -130, 90, -218, 90, - -217, -171, -252, 95, 99, -200, -136, -138, 14, -111, - -183, 88, 87, -285, -204, -209, -238, -252, 93, 173, - -287, 173, -287, 356, 357, -196, 217, -167, 15, -170, - 32, 57, -11, -370, -370, 32, 87, -155, -157, -156, - -158, 66, 70, 72, 67, 68, 69, 73, -263, 25, - -137, -9, -8, -370, -370, -370, -159, -152, -372, 14, - 77, -372, 87, 217, -231, -233, 402, 399, 405, -341, - 93, -86, 87, -311, -298, -201, -115, 40, -291, 363, - -285, 479, -285, -293, 93, -293, 95, 95, 88, -47, - -42, -43, 33, 81, -318, -305, 93, 39, -305, -305, - -252, 88, -197, -114, -159, 140, 76, -322, -322, -322, - -257, -2, 606, 612, 134, 86, 366, 18, -217, 87, - 88, -186, 294, 88, -88, -252, 88, 86, -303, -303, - -252, -370, 232, 31, 31, 564, 520, 511, -57, -186, - -286, -341, 605, 604, 88, 234, 292, -119, 413, -116, - 93, 89, -159, -159, -159, -159, -159, 225, 222, -365, - 303, -365, 277, 235, -152, -159, 87, -81, 251, 246, - -262, -262, 33, -159, 399, 582, 580, -120, 139, 256, - -134, -126, -108, 469, -270, 173, 330, 255, 328, 324, - 344, 335, 361, 326, 362, 323, 322, 321, -270, -268, - -120, -120, -193, 147, -120, 145, -371, -371, -120, -120, - -120, -371, 173, 330, 14, -120, -120, -120, -338, -120, - -120, -120, -336, -335, -130, -185, -371, -336, -120, -120, - -335, -335, -339, -339, -339, -339, -339, -178, -178, -178, - -178, -371, -371, -107, -253, -163, -299, -299, -299, -223, - 87, -234, 22, 14, 57, 57, -136, -167, -137, -111, - -252, -207, 566, -212, 46, -210, -211, 47, -208, 48, - 56, -287, -287, 164, -198, -120, -224, 76, -225, -229, - -185, -180, -182, -181, -370, -216, -371, -252, -223, -225, - -139, -140, -140, -139, -140, 66, 66, 66, 71, 66, - 71, 66, -156, -257, -371, -371, -9, -9, -120, -260, - 77, -137, -137, -161, -257, 164, 399, 403, 404, -311, - -363, 116, 140, 31, 76, 359, 102, -361, 172, 508, - 559, 564, 520, 512, 554, -362, 238, 133, 134, 250, - 25, 41, 88, 87, 88, 87, 88, 87, -246, -245, - -43, -42, -305, -305, 95, -341, 93, 93, 234, 26, - -159, 76, 76, 76, -89, 610, 95, 86, -3, 81, - -120, 86, 19, -294, -185, -329, -281, -330, -282, -283, - -5, -6, -306, -92, 57, 102, -61, 44, 233, 590, - 591, 124, -370, 603, -321, -217, -325, -327, -159, -122, - -370, -121, -123, -127, 162, 163, -186, -159, -113, 283, - 291, 86, -117, 90, -343, 77, 274, 359, 274, -366, - 304, 93, -366, -159, -81, -47, -159, -241, -241, 33, - -341, -371, -134, -126, -370, -371, -280, -280, -280, -289, - -280, 318, -280, 318, -280, -371, -371, 87, -371, 22, - -371, -97, 442, -120, 87, 87, -371, 86, 86, -120, - -371, -371, -371, -337, 87, -371, 87, -371, 87, -271, - 565, -371, -371, -371, -371, -371, -371, -371, -371, -371, - -371, -371, -164, 22, -164, -164, -371, 90, -159, -167, - -191, 16, -204, 51, 336, -214, -213, 55, 47, -211, - 19, 49, 19, 30, -224, 87, 148, 87, -371, -371, - 87, 57, 217, -371, -167, -150, -149, 76, 77, -151, - 76, -149, 66, 66, -219, -371, -371, 87, -222, -137, - -167, -167, 217, 116, -370, -124, -133, -122, 12, 93, - 93, -341, -360, 594, 595, 31, 95, -305, -305, 134, - 134, -159, 86, -285, 93, -285, 95, 95, 31, 82, - 83, 84, 31, 78, 79, 80, -159, -159, -159, -159, - -326, 86, 19, -120, 86, 148, 88, -217, -217, 270, - 158, -305, 588, 276, 276, -305, -305, -305, -91, -90, - 610, 88, -371, 87, -292, 472, 475, -120, -128, -128, - -219, 88, -334, 472, -342, -252, -252, -252, -252, 95, - 97, -125, -285, -120, -120, -198, 93, -120, -120, 95, - 95, -371, -371, -336, -335, -120, -371, -147, -146, -148, - 574, 116, 31, -270, -370, 66, 18, 16, -370, -370, - -260, -191, -192, 17, 19, -205, 53, -203, 52, -203, - -213, 19, 19, 93, 19, 93, 134, -229, -120, -182, - 57, -11, -252, -180, -252, -193, -120, 86, -120, -130, - -167, -167, -120, -173, 467, 466, 445, 105, 107, 106, - 446, 447, 448, 345, 346, 449, 450, 451, 108, 109, - 110, 111, 112, 113, 114, 452, 455, 453, 456, 457, - 458, 463, 464, 459, 460, 461, 462, 465, 93, 93, - 86, -120, 88, 88, -219, -325, -58, 88, -217, 95, - 88, 271, -181, -370, 93, -305, -305, -305, 95, 95, - -259, -371, 87, -252, -362, -327, 476, 476, -371, 25, - -333, -332, -253, 86, 77, -101, 158, 472, -371, -371, - -371, -371, -371, 88, 88, -371, -371, 87, -371, -146, - -148, -371, 76, -130, -220, -371, -252, 238, 19, 19, - -220, -220, -166, -192, -120, -178, -206, 54, 76, 119, - 93, 93, 93, 12, -180, 217, -198, -217, -144, 366, - -193, -371, -217, 88, 25, 88, 612, 134, 88, -181, - -100, -370, 267, -259, 93, 93, -90, -93, -11, 87, - 148, -217, -159, -371, 470, 73, 473, -120, -371, 76, - 483, 574, 87, -371, -371, -371, 76, 119, -225, -252, - 88, -371, -370, -198, 88, -202, -11, 86, -3, 267, - -281, -330, -282, -283, -5, -6, -306, -79, 472, -332, - -310, -253, 93, 95, 88, 62, 471, 474, -337, -252, - 238, -260, -145, -143, -252, 526, -353, -352, 468, -363, - -359, 116, 140, 102, -361, 564, 520, 125, 126, -79, - -120, 86, -371, -80, 282, 570, -343, 62, -371, -371, - 87, 22, -273, -60, 537, -350, -351, 76, -354, 372, - 536, 557, 116, 93, 88, -217, 243, -334, 472, -143, - 533, -286, -130, -351, 76, -350, 76, 13, 12, -4, - 611, 88, 284, 473, -59, 26, -144, -349, 251, 246, - 249, 32, -349, 95, -4, 474, 537, 245, 31, 116, - -130, -147, -146, -146, + -120, -120, -120, -120, -107, 24, 38, -106, -253, -258, + -250, -106, -107, -107, -106, -106, 217, -215, -371, 87, + -357, 399, 400, 572, -260, 268, -259, 25, -179, 93, + 14, -221, 77, -252, -198, -198, 63, 64, 59, -106, + -111, -371, -35, 25, -217, -252, 62, 93, -285, -227, + 356, 357, 173, -120, -120, 87, -197, 27, 28, -159, + -254, 164, -258, -159, -222, 268, -159, -137, -139, -140, + -141, -162, -184, -370, -142, 492, 489, 14, -152, -153, + -161, -257, -230, -232, 87, 398, 400, 401, 76, 119, + -120, -286, 172, -313, -312, -311, -294, -296, -297, -298, + 88, -286, -290, 362, 361, -280, -280, -280, -280, -280, + -285, -285, -285, -285, 86, 86, -280, -280, -280, -280, + -288, 86, -288, -288, -289, 86, -289, -324, -120, -321, + -320, -318, -319, 242, 102, 565, 521, 473, 513, 555, + 77, -316, -197, 95, -371, -118, -244, 237, -322, -319, + -341, -341, -341, -244, -341, 93, -341, 93, -341, 93, + -87, -58, -1, 608, 609, 610, 87, 19, -295, -294, + -57, 293, -327, -328, 268, -323, -317, -303, 134, -302, + -303, -303, -341, 87, 29, 124, 124, 124, 124, 473, + 222, 32, -245, 512, 140, 565, 521, -294, -57, -268, + 235, -268, -268, 93, 93, -240, 604, -152, -114, 285, + 148, 274, 274, 232, 232, 287, -159, 298, 300, 299, + 297, 301, 302, 23, 23, 23, 286, 288, 290, 276, + -159, -159, -243, 76, -154, -159, 26, -257, -159, -241, + -241, -159, -241, -241, -159, -252, -98, 399, 87, 473, + 22, -99, 22, -370, 116, 117, 118, -177, -125, -126, + -125, 139, 256, 87, -371, 25, 87, 77, -371, -371, + -371, 87, 14, -106, -190, -188, 146, -120, -371, -371, + -371, -120, -371, -120, -371, 87, 87, 14, -272, 25, + -371, -371, -371, -371, -371, -189, -371, 14, 87, 87, + -371, -371, 87, 87, -371, 87, 87, 87, -337, 87, + 87, 87, 87, -371, -371, -371, -371, 87, 87, 87, + 87, 87, 87, 87, 87, 87, 87, -371, -371, -106, + -106, -370, 217, -371, -371, -371, -371, -371, -253, -356, + 571, 400, -166, -165, -163, 74, 236, 75, -370, -259, + -371, -130, 90, -218, 90, -217, -171, -252, 95, 99, + -200, -136, -138, 14, -111, -183, 88, 87, -285, -204, + -209, -238, -252, 93, 173, -287, 173, -287, 356, 357, + -196, 217, -167, 15, -170, 32, 57, -11, -370, -370, + 32, 87, -155, -157, -156, -158, 66, 70, 72, 67, + 68, 69, 73, -263, 25, -137, -9, -8, -370, -370, + -370, -159, -152, -372, 14, 77, -372, 87, 217, -231, + -233, 402, 399, 405, -341, 93, -86, 87, -311, -298, + -201, -115, 40, -291, 363, -285, 480, -285, -293, 93, + -293, 95, 95, 88, -47, -42, -43, 33, 81, -318, + -305, 93, 39, -305, -305, -252, 88, -197, -114, -159, + 140, 76, -322, -322, -322, -257, -2, 607, 613, 134, + 86, 366, 18, -217, 87, 88, -186, 294, 88, -88, + -252, 88, 86, -303, -303, -252, -370, 232, 31, 31, + 565, 521, 512, -57, -186, -286, -341, 606, 605, 88, + 234, 292, -119, 413, -116, 93, 89, -159, -159, -159, + -159, -159, 225, 222, -365, 303, -365, 277, 235, -152, + -159, 87, -81, 251, 246, -262, -262, 33, -159, 399, + 583, 581, -120, 139, 256, -134, -126, -108, 470, -270, + 173, 330, 255, 328, 324, 344, 335, 361, 326, 362, + 323, 322, 321, -270, -268, -120, -120, -193, 147, -120, + 145, -371, -371, -120, -120, -120, -371, 173, 330, 14, + -120, -120, -120, -338, -120, -120, -120, -336, -335, -130, + -185, -371, -336, -120, -120, -335, -335, -339, -339, -339, + -339, -339, -178, -178, -178, -178, -371, -371, -107, -253, + -163, -299, -299, -299, -223, 87, -234, 22, 14, 57, + 57, -136, -167, -137, -111, -252, -207, 567, -212, 46, + -210, -211, 47, -208, 48, 56, -287, -287, 164, -198, + -120, -224, 76, -225, -229, -185, -180, -182, -181, -370, + -216, -371, -252, -223, -225, -139, -140, -140, -139, -140, + 66, 66, 66, 71, 66, 71, 66, -156, -257, -371, + -371, -9, -9, -120, -260, 77, -137, -137, -161, -257, + 164, 399, 403, 404, -311, -363, 116, 140, 31, 76, + 359, 102, -361, 172, 509, 560, 565, 521, 513, 555, + -362, 238, 133, 134, 250, 25, 41, 88, 87, 88, + 87, 88, 87, -246, -245, -43, -42, -305, -305, 95, + -341, 93, 93, 234, 26, -159, 76, 76, 76, -89, + 611, 95, 86, -3, 81, -120, 86, 19, -294, -185, + -329, -281, -330, -282, -283, -5, -6, -306, -92, 57, + 102, -61, 44, 233, 591, 592, 124, -370, 604, -321, + -217, -325, -327, -159, -122, -370, -121, -123, -127, 162, + 163, -186, -159, -113, 283, 291, 86, -117, 90, -343, + 77, 274, 359, 274, -366, 304, 93, -366, -159, -81, + -47, -159, -241, -241, 33, -341, -371, -134, -126, -370, + -371, -280, -280, -280, -289, -280, 318, -280, 318, -280, + -371, -371, 87, -371, 22, -371, -97, 442, -120, 87, + 87, -371, 86, 86, -120, -371, -371, -371, -337, 87, + -371, 87, -371, 87, -271, 566, -371, -371, -371, -371, + -371, -371, -371, -371, -371, -371, -371, -164, 22, -164, + -164, -371, 90, -159, -167, -191, 16, -204, 51, 336, + -214, -213, 55, 47, -211, 19, 49, 19, 30, -224, + 87, 148, 87, -371, -371, 87, 57, 217, -371, -167, + -150, -149, 76, 77, -151, 76, -149, 66, 66, -219, + -371, -371, 87, -222, -137, -167, -167, 217, 116, -370, + -124, -133, -122, 12, 93, 93, -341, -360, 595, 596, + 31, 95, -305, -305, 134, 134, -159, 86, -285, 93, + -285, 95, 95, 31, 82, 83, 84, 31, 78, 79, + 80, -159, -159, -159, -159, -326, 86, 19, -120, 86, + 148, 88, -217, -217, 270, 158, -305, 589, 276, 276, + -305, -305, -305, -91, -90, 611, 88, -371, 87, -292, + 473, 476, -120, -128, -128, -219, 88, -334, 473, -342, + -252, -252, -252, -252, 95, 97, -125, -285, -120, -120, + -198, 93, -120, -120, 95, 95, -371, -371, -336, -335, + -120, -371, -147, -146, -148, 575, 116, 31, -270, -370, + 66, 18, 16, -370, -370, -260, -191, -192, 17, 19, + -205, 53, -203, 52, -203, -213, 19, 19, 93, 19, + 93, 134, -229, -120, -182, 57, -11, -252, -180, -252, + -193, -120, 86, -120, -130, -167, -167, -120, -173, 467, + 466, 468, 445, 105, 107, 106, 446, 447, 448, 345, + 346, 449, 450, 451, 108, 109, 110, 111, 112, 113, + 114, 452, 455, 453, 456, 457, 458, 463, 464, 459, + 460, 461, 462, 465, 93, 93, 86, -120, 88, 88, + -219, -325, -58, 88, -217, 95, 88, 271, -181, -370, + 93, -305, -305, -305, 95, 95, -259, -371, 87, -252, + -362, -327, 477, 477, -371, 25, -333, -332, -253, 86, + 77, -101, 158, 473, -371, -371, -371, -371, -371, 88, + 88, -371, -371, 87, -371, -146, -148, -371, 76, -130, + -220, -371, -252, 238, 19, 19, -220, -220, -166, -192, + -120, -178, -206, 54, 76, 119, 93, 93, 93, 12, + -180, 217, -198, -217, -144, 366, -193, -371, -217, 88, + 25, 88, 613, 134, 88, -181, -100, -370, 267, -259, + 93, 93, -90, -93, -11, 87, 148, -217, -159, -371, + 471, 73, 474, -120, -371, 76, 484, 575, 87, -371, + -371, -371, 76, 119, -225, -252, 88, -371, -370, -198, + 88, -202, -11, 86, -3, 267, -281, -330, -282, -283, + -5, -6, -306, -79, 473, -332, -310, -253, 93, 95, + 88, 62, 472, 475, -337, -252, 238, -260, -145, -143, + -252, 527, -353, -352, 469, -363, -359, 116, 140, 102, + -361, 565, 521, 125, 126, -79, -120, 86, -371, -80, + 282, 571, -343, 62, -371, -371, 87, 22, -273, -60, + 538, -350, -351, 76, -354, 372, 537, 558, 116, 93, + 88, -217, 243, -334, 473, -143, 534, -286, -130, -351, + 76, -350, 76, 13, 12, -4, 612, 88, 284, 474, + -59, 26, -144, -349, 251, 246, 249, 32, -349, 95, + -4, 475, 538, 245, 31, 116, -130, -147, -146, -146, } var yyDef = [...]int{ @@ -7443,309 +7541,309 @@ var yyDef = [...]int{ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 68, 70, 71, 827, 827, 827, 0, 827, 0, 0, 827, -2, -2, 827, - 1318, 0, 827, 0, 0, -2, 759, 761, 0, 763, - -2, 0, 0, 772, 1825, 1825, 822, 0, 0, 0, - 0, 0, 827, 827, 827, 827, 1178, 48, 827, 0, - 83, 84, 778, 779, 780, 63, 0, 1823, 1, 3, - 69, 73, 0, 0, 0, 56, 1187, 0, 76, 0, - 0, 831, 0, 829, 0, 1301, 827, 827, 0, 114, + 1319, 0, 827, 0, 0, -2, 759, 761, 0, 763, + -2, 0, 0, 772, 1827, 1827, 822, 0, 0, 0, + 0, 0, 827, 827, 827, 827, 1179, 48, 827, 0, + 83, 84, 778, 779, 780, 63, 0, 1825, 1, 3, + 69, 73, 0, 0, 0, 56, 1188, 0, 76, 0, + 0, 831, 0, 829, 0, 1302, 827, 827, 0, 114, 115, 0, 0, 0, -2, 118, -2, 147, 148, 149, 0, 154, 573, 501, 552, 499, 537, -2, 487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 504, 377, 377, 0, 0, -2, 487, 487, 487, - 0, 0, 0, 534, 1303, 439, 377, 377, 377, 0, + 0, 0, 0, 534, 1304, 439, 377, 377, 377, 0, 377, 377, 377, 377, 0, 0, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, - 377, 377, 377, 1205, 153, 1319, 1316, 1317, 38, 39, - 40, 1469, 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, - 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, - 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, - 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507, - 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1515, 1516, 1517, - 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, - 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, - 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, - 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, - 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, - 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, - 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, - 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, - 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, - 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615, 1616, 1617, - 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, - 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637, - 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1647, - 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, - 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, - 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, - 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, - 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, - 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, - 1708, 1709, 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717, - 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, - 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, - 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, - 1748, 1749, 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, - 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1767, - 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, - 1778, 1779, 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, - 1788, 1789, 1790, 1791, 1792, 1793, 1794, 1795, 1796, 1797, - 1798, 1799, 1800, 1801, 1802, 1803, 1804, 1805, 1806, 1807, - 1808, 1809, 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817, - 1818, 1819, 1820, 1821, 1822, 0, 1295, 0, 686, 929, - 0, 748, 748, 0, 748, 748, 748, 748, 0, 0, - 0, 698, 0, 0, 0, 0, 745, 0, 714, 715, - 0, 745, 0, 721, 751, 0, 726, 748, 748, 729, - 1826, 0, 1826, 1826, 1286, 0, 742, 740, 754, 755, - 758, 762, 0, 767, 770, 1312, 1313, 0, 785, 47, - 1559, 777, 790, 791, 0, 823, 824, 43, 1026, 0, - 951, 956, 967, 980, 981, 982, 983, 984, 986, 987, - 0, 0, 0, 0, 992, 993, 0, 0, 0, 0, - 0, 1007, 0, 0, 0, 0, 0, 1159, 0, 1122, - 1122, 1043, 1122, 1124, 1124, 1479, 1513, 0, 0, 0, - 1822, 1600, 1608, 1609, 1631, 1717, 1766, 1604, 1605, 1586, - 1598, 1601, 1589, 1590, 1592, 1594, 1599, 1606, 1612, 1591, - 1611, 1610, 0, 1587, 1588, 1593, 1603, 1607, 1595, 1596, - 1597, 1602, 1613, 1168, 0, 0, 0, 0, 0, 0, - 273, 274, 1025, 1275, 1124, 1124, 1124, 1124, 1124, -2, - -2, 219, 220, 221, 222, 223, 224, 225, 0, 215, - 0, 278, 279, 275, 276, 277, 1009, 1010, 231, 232, - 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, - 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, - 1825, 0, 800, 0, 0, 0, 0, 0, 1187, 0, - 1179, 1178, 61, 0, 827, -2, 0, 0, 0, 0, - 45, 0, 50, 888, 75, 74, 1227, 0, 0, 0, - 57, 1188, 65, 67, 1189, 0, 832, 833, 0, 864, - 868, 0, 828, 0, 0, 1302, 1301, 1301, 100, 0, - 1762, 1279, -2, -2, 0, 0, 1314, 1315, 1288, -2, - 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, - 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, - 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, - 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, - 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, - 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, - 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, - 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, - 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, - 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421, - 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, - 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, - 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, - 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, - 1462, 1463, 1464, 1465, 1466, 1467, 1468, -2, 0, 0, - 165, 166, 0, 41, 404, 0, 161, 0, 397, 338, - 0, 1205, 0, 0, 0, 0, 0, 827, 0, 1296, - 142, 143, 150, 151, 152, 377, 377, 377, 549, 0, - 0, 153, 153, 508, 509, 510, 0, 0, -2, 402, - 0, 488, 0, 0, 391, 391, 395, 393, 394, 0, - 0, 0, 0, 0, 0, 0, 0, 526, 0, 527, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 634, - 0, 378, 0, 547, 548, 440, 0, 0, 0, 0, - 0, 0, 524, 525, 0, 0, 1304, 1305, 0, 0, - 0, 377, 377, 0, 0, 0, 0, 377, 377, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 141, 1218, 0, - 0, 0, -2, 0, 678, 0, 0, 0, 1297, 1297, - 0, 685, 0, 687, 688, 0, 0, 689, 0, 745, - 745, 743, 744, 691, 692, 693, 694, 748, 0, 0, - 386, 387, 388, 745, 748, 0, 748, 748, 748, 748, - 745, 745, 745, 748, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1826, 751, 748, 0, 722, 0, 723, - 724, 727, 728, 730, 1827, 1828, 1335, 1826, 1826, 734, - 738, 1287, 760, 768, 771, 788, 786, 787, 789, 781, - 782, 783, 784, 0, 802, 803, 808, 0, 0, 0, - 0, 814, 815, 816, 0, 0, 819, 820, 821, 0, - 0, 0, 0, 0, 949, 0, 0, 1015, 1016, 1017, - 1018, 1019, 1020, 1021, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 988, 989, 990, 991, 994, 0, - 0, 0, 999, 1000, 0, 0, 0, 0, 0, 837, - 0, 1160, 0, 1041, 0, 1042, 1044, 1045, 0, 1046, - 837, 837, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1307, 129, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 847, 0, - 0, 847, 847, 0, 0, 208, 209, 210, 211, 212, - 226, 227, 228, 229, 230, 280, 1168, 0, 1025, 0, - 0, 44, 792, 793, 0, 912, 1307, 0, 0, 843, - 0, 55, 64, 66, 1187, 59, 1187, 0, 849, 0, - 0, -2, -2, 850, 856, 857, 858, 859, 860, 52, - 1824, 53, 0, 72, 0, 46, 0, 0, 0, 0, - 350, 1230, 0, 0, 1180, 1181, 1184, 0, 865, 1642, - 869, 0, 871, 872, 0, 830, 0, 98, 0, 928, - 0, 0, 0, 1762, 1285, 0, 102, 103, 0, 0, - 0, 361, 1290, 1291, 1292, -2, 384, 0, 361, 345, - 288, 289, 290, 338, 292, 338, 338, 338, 338, 350, - 350, 350, 350, 321, 322, 323, 324, 325, 0, 0, - 307, 338, 338, 338, 338, 328, 329, 330, 331, 332, - 333, 334, 335, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 340, 340, 340, 342, 342, 0, 42, 0, - 365, 0, 1184, 0, 0, 1218, 1299, 1309, 0, 0, - 0, 1299, 120, 0, 0, 0, 550, 584, 502, 538, - 551, 0, 505, 506, -2, 0, 0, 487, 0, 489, - 0, 385, 0, -2, 0, 395, 0, 391, 395, 392, - 395, 383, 396, 528, 529, 530, 0, 532, 533, 614, - 898, 0, 0, 0, 0, 0, 620, 621, 622, 0, - 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, - 539, 540, 541, 542, 543, 544, 545, 546, 0, 0, - 0, 0, 489, 0, 535, 0, 441, 442, 443, 0, - 0, 446, 447, 448, 449, 0, 0, 452, 453, 454, - 915, 916, 455, 456, 481, 482, 483, 457, 458, 459, - 460, 461, 462, 463, 475, 476, 477, 478, 479, 480, - 464, 465, 466, 467, 468, 469, 472, 0, 135, 1209, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1297, 0, 0, 0, 0, 846, 930, - 1320, 1321, 749, 750, 0, 389, 390, 748, 748, 695, - 735, 0, 748, 699, 736, 700, 702, 701, 703, 716, - 717, 748, 706, 746, 747, 707, 708, 709, 710, 711, - 712, 713, 731, 718, 719, 720, 752, 0, 756, 757, - 732, 733, 0, 769, 773, 774, 775, 776, 0, 0, - 805, 94, 810, 811, 812, 813, 825, 818, 1027, 946, - 947, 948, 0, 950, 953, 0, 1011, 1013, 955, 957, - 1022, 1023, 1024, 0, 0, 0, 0, 0, 961, 965, - 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, - 978, 979, 985, 1138, 1139, 1140, 1002, 281, 282, 0, - 1003, 0, 862, 0, 0, 0, 1001, 0, 0, 0, - 0, 838, 839, 1166, 1163, 0, 0, 1123, 1125, 0, - 0, 0, 0, 0, 861, 0, 0, 0, 1101, 1102, - 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, - 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1141, - 0, 0, 0, 0, 0, 1159, 0, 1004, 1005, 1006, - 0, 0, 0, 1308, 0, 130, 131, 0, 0, 0, - 0, 0, 1095, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 848, 1169, 0, -2, 0, 0, 0, - 0, 0, 0, 0, 1274, 0, 795, 796, 798, 0, - 932, 0, 913, 0, 0, 801, 0, 842, 0, 845, - 58, 60, 854, 855, 0, 873, 851, 54, 49, 0, - 0, 890, 1228, 350, 1250, 0, 359, 359, 356, 1190, - 1191, 0, 1183, 1185, 1186, 77, 870, 866, 0, 944, - 0, 0, 927, 0, 876, 878, 879, 880, 910, 0, - 883, 0, 0, 0, 0, 0, 96, 929, 1280, 101, - 0, 0, 106, 107, 1281, 1282, 1283, 1284, 0, 573, - -2, 436, 167, 169, 170, 171, 162, -2, 348, 346, - 347, 291, 350, 350, 315, 316, 317, 318, 319, 320, - 0, 0, 308, 309, 310, 311, 302, 0, 303, 304, - 305, 0, 306, 403, 0, 1192, 366, 367, 369, 377, - 0, 372, 373, 0, 377, 377, 0, 398, 399, 0, - 1184, 1209, 0, 0, 0, 1310, 1309, 1309, 1309, 0, - 155, 156, 157, 158, 159, 160, 609, 0, 0, 585, - 607, 608, 153, 0, 0, 163, 491, 490, 0, 641, - 0, 401, 0, 0, 395, 395, 380, 381, 531, 0, - 0, 616, 617, 618, 619, 0, 0, 0, 518, 430, - 0, 519, 520, 489, 491, 361, 0, 444, 445, 450, - 451, 470, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 564, 565, 566, 567, 493, 571, 568, - 493, 572, 1206, 1207, 1208, 0, 0, 679, 0, 0, - 427, 92, 1298, 684, 745, 705, 737, 745, 697, 704, - 725, 765, 809, 0, 0, 0, 0, 817, 0, 0, - 954, 1012, 1014, 958, 0, 962, 966, 0, 0, 0, - 0, 0, 0, 0, 1008, 1032, 1033, 0, 0, 1178, - 0, 1164, 0, 0, 1040, 1126, 1127, 0, 1048, 0, - 0, 0, 0, 0, 0, 1054, 1055, 1056, 1057, 1058, - 0, 1060, 0, 0, 0, 1064, 1065, 0, 0, 1066, - 0, 0, 0, 0, 0, 0, 0, 0, 1078, 1079, - 1080, 1081, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1092, 1028, 0, 0, 847, 0, 1128, 1129, - 1130, 1131, 1132, 1169, 794, 797, 799, 886, 933, 934, - 0, 0, 0, 0, 914, 1306, 840, 841, 844, -2, - 0, 0, 1171, 0, 0, 873, 944, 874, 0, 852, - 51, 889, 0, 1232, 1231, 1244, 1257, 359, 359, 353, - 354, 360, 355, 357, 358, 1182, 0, 1187, 0, 1268, - 0, 0, 1260, 0, 0, 0, 0, 0, 0, 0, - 0, 917, 0, 0, 920, 0, 0, 0, 0, 911, - 0, 0, 0, 0, 0, 0, -2, 0, 0, 90, - 91, 0, 0, 0, 104, 105, 0, 0, 111, 362, - 363, 144, 153, 438, 168, 411, 0, 0, 287, 349, - 312, 313, 314, 0, 336, 0, 0, 0, 432, 116, - 1196, 1195, 377, 377, 368, 0, 371, 0, 0, 0, - 1311, 339, 400, 0, 134, 0, 0, 0, 0, 0, - 140, 579, 0, 0, 586, 0, 0, 0, 500, 0, - 511, 512, 0, 613, -2, 675, 365, 0, 379, 382, - 899, 0, 0, 513, 0, 516, 517, 431, 491, 522, - 523, 536, 473, 474, 471, 0, 0, 1219, 1220, 1225, - 1223, 1224, 121, 557, 559, 558, 562, 0, 0, 495, - 0, 495, 555, 0, 427, 1192, 0, 683, 428, 429, - 748, 748, 804, 95, 0, 807, 0, 0, 0, 0, - 959, 963, 863, 0, 0, 338, 338, 1146, 338, 342, - 1149, 338, 1151, 338, 1154, 338, 1157, 1158, 0, 0, - 0, 0, 1161, 1039, 1167, 0, 1047, 1049, 0, 0, - 0, 1053, 0, 0, 0, 0, 0, 0, 132, 133, - 1095, 0, 0, 1097, 1099, 1100, 1070, 1096, 0, 0, - 1093, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1029, 1030, 0, 1170, 935, 940, 940, 940, 0, - 0, 0, 1293, 1294, 1172, 1173, 944, 1174, 875, 853, - 891, 1250, 0, 1243, 0, -2, 1252, 0, 0, 0, - 1258, 351, 352, 867, 78, 945, 81, 0, 1268, 1276, - 0, 1259, 1270, 1272, 0, 0, 0, 1264, 0, 944, - 877, 906, 908, 0, 903, 918, 919, 921, 0, 923, - 0, 925, 926, 888, 882, 884, 0, 0, 0, 98, - 0, 944, 944, 97, 0, 931, 108, 109, 110, 437, - 172, 177, 0, 0, 0, 182, 0, 184, 0, 0, - 0, 189, 190, 377, 377, 412, 0, 284, 286, 0, - 0, 175, 350, 0, 350, 0, 343, 0, 413, 433, - 1193, 1194, 0, 0, 370, 374, 375, 376, 0, 1300, - 136, 0, 0, 0, 582, 0, 610, 0, 0, 0, - 0, 0, 0, 164, 492, 642, 643, 644, 645, 646, - 647, 648, 649, 650, 0, 377, 0, 0, 0, 377, - 377, 377, 0, 667, 364, 0, 0, 638, 635, 514, - 0, 213, 214, 216, 0, 0, 521, 888, 1210, 1211, - 1212, 0, 1222, 1226, 124, 0, 0, 0, 0, 569, - 0, 494, 570, 680, 681, 682, 93, 690, 696, 806, - 826, 952, 960, 964, 0, 996, 1144, 350, 1147, 1148, - 1150, 1152, 1153, 1155, 1156, 997, 998, 0, 1035, 0, - 1037, 1187, 0, 1165, 0, 0, 1052, 0, 0, 0, - 1061, 1062, 1063, 0, 0, 1069, 0, 1071, 0, 0, - 0, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, - 1091, 1031, 0, 0, 0, 0, 912, -2, 62, 1174, - 1176, 0, 1237, 1235, 1235, 1245, 1246, 0, 0, 1253, - 0, 0, 0, 0, 82, 0, 0, 0, 1273, 0, - 0, 0, 0, 99, 1178, 900, 907, 0, 0, 901, - 0, 902, 922, 924, 881, -2, 885, 0, 944, 944, - 88, 89, 0, 178, 0, 180, 206, 207, 0, 183, - 185, 186, 187, 193, 194, 195, 188, 0, 0, 283, - 285, 0, 0, 326, 337, 327, 0, 0, 1197, 1198, - 1199, 1200, 1201, 1202, 1203, 1204, 888, 137, 138, 139, - 574, 0, 584, 0, 0, 0, 577, 0, 503, 0, - 0, 0, 377, 377, 377, 0, 0, 0, 0, 652, - 0, 0, 615, 0, 623, 0, 0, 0, 217, 218, - 0, 1221, 556, 0, 122, 123, 0, 0, 561, 496, - 497, 1133, 1145, 0, 0, 0, 1162, 0, 0, 0, - 0, 1059, 1067, 0, 1098, 0, 1074, 0, 0, 0, - 604, 605, 0, 1094, 0, 941, 0, 0, 0, 0, - 932, 1176, 80, 0, 0, 1240, 0, 1233, 1236, 1234, - 1247, 0, 0, 1254, 0, 1256, 0, 1277, 1278, 1271, - 0, 1263, 1266, 1262, 1265, 1187, 904, 0, 909, 0, - 1178, 87, 0, 181, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, - 0, 0, 341, 344, 0, 0, 0, 575, 0, 587, - 578, 0, 665, 0, 669, 0, 0, 0, 672, 673, - 674, 651, 0, 655, 405, 639, 636, 637, 515, 0, - 125, 126, 0, 0, 0, 0, 0, 0, 1034, 1036, - 1038, 1050, 1051, 1142, 1143, 1068, 1072, 0, 1075, 0, - 0, 1076, 0, 606, 0, 937, 894, 895, 942, 943, - 0, 0, 887, 79, 1177, 1175, 1229, 0, 1238, 1239, - 1248, 1249, 1255, 0, 1261, 0, 85, 0, 0, 0, - 1187, 179, 0, 198, 0, 583, 0, 586, 576, 663, - 664, 0, 676, 668, 670, 671, 653, -2, 1213, 0, - 0, 0, 563, 995, 0, 0, 0, 1095, 1077, 0, - 602, 603, 0, 936, 938, 939, 1241, 1242, 1269, 1267, - 905, 912, 0, 86, 418, 411, 1213, 0, 0, 0, - 656, 657, 658, 659, 660, 661, 662, 553, 1215, 127, - 128, 484, 485, 486, 121, 1134, 0, 1137, 0, 896, - 897, 588, 0, 590, 0, -2, 406, 419, 0, 173, - 199, 200, 0, 0, 203, 204, 205, 196, 197, 117, - 0, 0, 677, 0, 1216, 1217, 124, 1135, 1073, 589, - 0, 0, 361, 0, 599, 407, 408, 0, 414, 415, - 416, 417, 201, 202, 611, 0, 0, 560, 0, 591, - 592, 600, 0, 409, 0, 410, 0, 0, 0, 580, - 0, 611, 1214, 0, 0, 601, 597, 420, 422, 423, - 0, 0, 421, 612, 581, 1136, 0, 424, 425, 426, - 593, 594, 595, 596, + 377, 377, 377, 1206, 153, 1320, 1317, 1318, 38, 39, + 40, 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, + 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, + 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1498, + 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507, 1508, + 1509, 1510, 1511, 1512, 1513, 1514, 1515, 1516, 1517, 1518, + 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, + 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, + 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, + 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, + 1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, + 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, + 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, + 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, + 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, + 1609, 1610, 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1618, + 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, + 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, + 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648, + 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, + 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, + 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678, + 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688, + 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, + 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, + 1709, 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, + 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, + 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, + 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, + 1749, 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1758, + 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, + 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, + 1779, 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, + 1789, 1790, 1791, 1792, 1793, 1794, 1795, 1796, 1797, 1798, + 1799, 1800, 1801, 1802, 1803, 1804, 1805, 1806, 1807, 1808, + 1809, 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818, + 1819, 1820, 1821, 1822, 1823, 1824, 0, 1296, 0, 686, + 929, 0, 748, 748, 0, 748, 748, 748, 748, 0, + 0, 0, 698, 0, 0, 0, 0, 745, 0, 714, + 715, 0, 745, 0, 721, 751, 0, 726, 748, 748, + 729, 1828, 0, 1828, 1828, 1287, 0, 742, 740, 754, + 755, 758, 762, 0, 767, 770, 1313, 1314, 0, 785, + 47, 1560, 777, 790, 791, 0, 823, 824, 43, 1026, + 0, 951, 956, 967, 980, 981, 982, 983, 984, 986, + 987, 0, 0, 0, 0, 992, 993, 0, 0, 0, + 0, 0, 1007, 0, 0, 0, 0, 0, 1160, 0, + 1123, 1123, 1043, 1123, 1125, 1125, 1480, 1514, 1638, 0, + 0, 0, 1824, 1601, 1609, 1610, 1632, 1719, 1768, 1605, + 1606, 1587, 1599, 1602, 1590, 1591, 1593, 1595, 1600, 1607, + 1613, 1592, 1612, 1611, 0, 1588, 1589, 1594, 1604, 1608, + 1596, 1597, 1598, 1603, 1614, 1169, 0, 0, 0, 0, + 0, 0, 273, 274, 1025, 1276, 1125, 1125, 1125, 1125, + 1125, -2, -2, 219, 220, 221, 222, 223, 224, 225, + 0, 215, 0, 278, 279, 275, 276, 277, 1009, 1010, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 1827, 0, 800, 0, 0, 0, 0, 0, + 1188, 0, 1180, 1179, 61, 0, 827, -2, 0, 0, + 0, 0, 45, 0, 50, 888, 75, 74, 1228, 0, + 0, 0, 57, 1189, 65, 67, 1190, 0, 832, 833, + 0, 864, 868, 0, 828, 0, 0, 1303, 1302, 1302, + 100, 0, 1764, 1280, -2, -2, 0, 0, 1315, 1316, + 1289, -2, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, + 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, + 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, + 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, + 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, + 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, + 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, + 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, + 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, + 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, + 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, + 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, + 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, + 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, + 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, -2, + 0, 0, 165, 166, 0, 41, 404, 0, 161, 0, + 397, 338, 0, 1206, 0, 0, 0, 0, 0, 827, + 0, 1297, 142, 143, 150, 151, 152, 377, 377, 377, + 549, 0, 0, 153, 153, 508, 509, 510, 0, 0, + -2, 402, 0, 488, 0, 0, 391, 391, 395, 393, + 394, 0, 0, 0, 0, 0, 0, 0, 0, 526, + 0, 527, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 634, 0, 378, 0, 547, 548, 440, 0, 0, + 0, 0, 0, 0, 524, 525, 0, 0, 1305, 1306, + 0, 0, 0, 377, 377, 0, 0, 0, 0, 377, + 377, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, + 1219, 0, 0, 0, -2, 0, 678, 0, 0, 0, + 1298, 1298, 0, 685, 0, 687, 688, 0, 0, 689, + 0, 745, 745, 743, 744, 691, 692, 693, 694, 748, + 0, 0, 386, 387, 388, 745, 748, 0, 748, 748, + 748, 748, 745, 745, 745, 748, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1828, 751, 748, 0, 722, + 0, 723, 724, 727, 728, 730, 1829, 1830, 1336, 1828, + 1828, 734, 738, 1288, 760, 768, 771, 788, 786, 787, + 789, 781, 782, 783, 784, 0, 802, 803, 808, 0, + 0, 0, 0, 814, 815, 816, 0, 0, 819, 820, + 821, 0, 0, 0, 0, 0, 949, 0, 0, 1015, + 1016, 1017, 1018, 1019, 1020, 1021, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 988, 989, 990, 991, + 994, 0, 0, 0, 999, 1000, 0, 0, 0, 0, + 0, 837, 0, 1161, 0, 1041, 0, 1042, 1044, 1045, + 0, 1046, 837, 837, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1308, 129, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 847, 0, 0, 847, 847, 0, 0, 208, 209, + 210, 211, 212, 226, 227, 228, 229, 230, 280, 1169, + 0, 1025, 0, 0, 44, 792, 793, 0, 912, 1308, + 0, 0, 843, 0, 55, 64, 66, 1188, 59, 1188, + 0, 849, 0, 0, -2, -2, 850, 856, 857, 858, + 859, 860, 52, 1826, 53, 0, 72, 0, 46, 0, + 0, 0, 0, 350, 1231, 0, 0, 1181, 1182, 1185, + 0, 865, 1644, 869, 0, 871, 872, 0, 830, 0, + 98, 0, 928, 0, 0, 0, 1764, 1286, 0, 102, + 103, 0, 0, 0, 361, 1291, 1292, 1293, -2, 384, + 0, 361, 345, 288, 289, 290, 338, 292, 338, 338, + 338, 338, 350, 350, 350, 350, 321, 322, 323, 324, + 325, 0, 0, 307, 338, 338, 338, 338, 328, 329, + 330, 331, 332, 333, 334, 335, 293, 294, 295, 296, + 297, 298, 299, 300, 301, 340, 340, 340, 342, 342, + 0, 42, 0, 365, 0, 1185, 0, 0, 1219, 1300, + 1310, 0, 0, 0, 1300, 120, 0, 0, 0, 550, + 584, 502, 538, 551, 0, 505, 506, -2, 0, 0, + 487, 0, 489, 0, 385, 0, -2, 0, 395, 0, + 391, 395, 392, 395, 383, 396, 528, 529, 530, 0, + 532, 533, 614, 898, 0, 0, 0, 0, 0, 620, + 621, 622, 0, 624, 625, 626, 627, 628, 629, 630, + 631, 632, 633, 539, 540, 541, 542, 543, 544, 545, + 546, 0, 0, 0, 0, 489, 0, 535, 0, 441, + 442, 443, 0, 0, 446, 447, 448, 449, 0, 0, + 452, 453, 454, 915, 916, 455, 456, 481, 482, 483, + 457, 458, 459, 460, 461, 462, 463, 475, 476, 477, + 478, 479, 480, 464, 465, 466, 467, 468, 469, 472, + 0, 135, 1210, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1298, 0, 0, 0, + 0, 846, 930, 1321, 1322, 749, 750, 0, 389, 390, + 748, 748, 695, 735, 0, 748, 699, 736, 700, 702, + 701, 703, 716, 717, 748, 706, 746, 747, 707, 708, + 709, 710, 711, 712, 713, 731, 718, 719, 720, 752, + 0, 756, 757, 732, 733, 0, 769, 773, 774, 775, + 776, 0, 0, 805, 94, 810, 811, 812, 813, 825, + 818, 1027, 946, 947, 948, 0, 950, 953, 0, 1011, + 1013, 955, 957, 1022, 1023, 1024, 0, 0, 0, 0, + 0, 961, 965, 968, 969, 970, 971, 972, 973, 974, + 975, 976, 977, 978, 979, 985, 1139, 1140, 1141, 1002, + 281, 282, 0, 1003, 0, 862, 0, 0, 0, 1001, + 0, 0, 0, 0, 838, 839, 1167, 1164, 0, 0, + 1124, 1126, 0, 0, 0, 0, 0, 861, 0, 0, + 0, 0, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, + 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, + 1120, 1121, 1122, 1142, 0, 0, 0, 0, 0, 1160, + 0, 1004, 1005, 1006, 0, 0, 0, 1309, 0, 130, + 131, 0, 0, 0, 0, 0, 1096, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 848, 1170, 0, + -2, 0, 0, 0, 0, 0, 0, 0, 1275, 0, + 795, 796, 798, 0, 932, 0, 913, 0, 0, 801, + 0, 842, 0, 845, 58, 60, 854, 855, 0, 873, + 851, 54, 49, 0, 0, 890, 1229, 350, 1251, 0, + 359, 359, 356, 1191, 1192, 0, 1184, 1186, 1187, 77, + 870, 866, 0, 944, 0, 0, 927, 0, 876, 878, + 879, 880, 910, 0, 883, 0, 0, 0, 0, 0, + 96, 929, 1281, 101, 0, 0, 106, 107, 1282, 1283, + 1284, 1285, 0, 573, -2, 436, 167, 169, 170, 171, + 162, -2, 348, 346, 347, 291, 350, 350, 315, 316, + 317, 318, 319, 320, 0, 0, 308, 309, 310, 311, + 302, 0, 303, 304, 305, 0, 306, 403, 0, 1193, + 366, 367, 369, 377, 0, 372, 373, 0, 377, 377, + 0, 398, 399, 0, 1185, 1210, 0, 0, 0, 1311, + 1310, 1310, 1310, 0, 155, 156, 157, 158, 159, 160, + 609, 0, 0, 585, 607, 608, 153, 0, 0, 163, + 491, 490, 0, 641, 0, 401, 0, 0, 395, 395, + 380, 381, 531, 0, 0, 616, 617, 618, 619, 0, + 0, 0, 518, 430, 0, 519, 520, 489, 491, 361, + 0, 444, 445, 450, 451, 470, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 564, 565, 566, + 567, 493, 571, 568, 493, 572, 1207, 1208, 1209, 0, + 0, 679, 0, 0, 427, 92, 1299, 684, 745, 705, + 737, 745, 697, 704, 725, 765, 809, 0, 0, 0, + 0, 817, 0, 0, 954, 1012, 1014, 958, 0, 962, + 966, 0, 0, 0, 0, 0, 0, 0, 1008, 1032, + 1033, 0, 0, 1179, 0, 1165, 0, 0, 1040, 1127, + 1128, 0, 1048, 0, 1050, 0, 0, 0, 0, 0, + 1055, 1056, 1057, 1058, 1059, 0, 1061, 0, 0, 0, + 1065, 1066, 0, 0, 1067, 0, 0, 0, 0, 0, + 0, 0, 0, 1079, 1080, 1081, 1082, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1093, 1028, 0, + 0, 847, 0, 1129, 1130, 1131, 1132, 1133, 1170, 794, + 797, 799, 886, 933, 934, 0, 0, 0, 0, 914, + 1307, 840, 841, 844, -2, 0, 0, 1172, 0, 0, + 873, 944, 874, 0, 852, 51, 889, 0, 1233, 1232, + 1245, 1258, 359, 359, 353, 354, 360, 355, 357, 358, + 1183, 0, 1188, 0, 1269, 0, 0, 1261, 0, 0, + 0, 0, 0, 0, 0, 0, 917, 0, 0, 920, + 0, 0, 0, 0, 911, 0, 0, 0, 0, 0, + 0, -2, 0, 0, 90, 91, 0, 0, 0, 104, + 105, 0, 0, 111, 362, 363, 144, 153, 438, 168, + 411, 0, 0, 287, 349, 312, 313, 314, 0, 336, + 0, 0, 0, 432, 116, 1197, 1196, 377, 377, 368, + 0, 371, 0, 0, 0, 1312, 339, 400, 0, 134, + 0, 0, 0, 0, 0, 140, 579, 0, 0, 586, + 0, 0, 0, 500, 0, 511, 512, 0, 613, -2, + 675, 365, 0, 379, 382, 899, 0, 0, 513, 0, + 516, 517, 431, 491, 522, 523, 536, 473, 474, 471, + 0, 0, 1220, 1221, 1226, 1224, 1225, 121, 557, 559, + 558, 562, 0, 0, 495, 0, 495, 555, 0, 427, + 1193, 0, 683, 428, 429, 748, 748, 804, 95, 0, + 807, 0, 0, 0, 0, 959, 963, 863, 0, 0, + 338, 338, 1147, 338, 342, 1150, 338, 1152, 338, 1155, + 338, 1158, 1159, 0, 0, 0, 0, 1162, 1039, 1168, + 0, 1047, 1049, 0, 0, 0, 1054, 0, 0, 0, + 0, 0, 0, 132, 133, 1096, 0, 0, 1098, 1100, + 1101, 1071, 1097, 0, 0, 1094, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1029, 1030, 0, 1171, + 935, 940, 940, 940, 0, 0, 0, 1294, 1295, 1173, + 1174, 944, 1175, 875, 853, 891, 1251, 0, 1244, 0, + -2, 1253, 0, 0, 0, 1259, 351, 352, 867, 78, + 945, 81, 0, 1269, 1277, 0, 1260, 1271, 1273, 0, + 0, 0, 1265, 0, 944, 877, 906, 908, 0, 903, + 918, 919, 921, 0, 923, 0, 925, 926, 888, 882, + 884, 0, 0, 0, 98, 0, 944, 944, 97, 0, + 931, 108, 109, 110, 437, 172, 177, 0, 0, 0, + 182, 0, 184, 0, 0, 0, 189, 190, 377, 377, + 412, 0, 284, 286, 0, 0, 175, 350, 0, 350, + 0, 343, 0, 413, 433, 1194, 1195, 0, 0, 370, + 374, 375, 376, 0, 1301, 136, 0, 0, 0, 582, + 0, 610, 0, 0, 0, 0, 0, 0, 164, 492, + 642, 643, 644, 645, 646, 647, 648, 649, 650, 0, + 377, 0, 0, 0, 377, 377, 377, 0, 667, 364, + 0, 0, 638, 635, 514, 0, 213, 214, 216, 0, + 0, 521, 888, 1211, 1212, 1213, 0, 1223, 1227, 124, + 0, 0, 0, 0, 569, 0, 494, 570, 680, 681, + 682, 93, 690, 696, 806, 826, 952, 960, 964, 0, + 996, 1145, 350, 1148, 1149, 1151, 1153, 1154, 1156, 1157, + 997, 998, 0, 1035, 0, 1037, 1188, 0, 1166, 0, + 0, 1053, 0, 0, 0, 1062, 1063, 1064, 0, 0, + 1070, 0, 1072, 0, 0, 0, 1083, 1084, 1085, 1086, + 1087, 1088, 1089, 1090, 1091, 1092, 1031, 0, 0, 0, + 0, 912, -2, 62, 1175, 1177, 0, 1238, 1236, 1236, + 1246, 1247, 0, 0, 1254, 0, 0, 0, 0, 82, + 0, 0, 0, 1274, 0, 0, 0, 0, 99, 1179, + 900, 907, 0, 0, 901, 0, 902, 922, 924, 881, + -2, 885, 0, 944, 944, 88, 89, 0, 178, 0, + 180, 206, 207, 0, 183, 185, 186, 187, 193, 194, + 195, 188, 0, 0, 283, 285, 0, 0, 326, 337, + 327, 0, 0, 1198, 1199, 1200, 1201, 1202, 1203, 1204, + 1205, 888, 137, 138, 139, 574, 0, 584, 0, 0, + 0, 577, 0, 503, 0, 0, 0, 377, 377, 377, + 0, 0, 0, 0, 652, 0, 0, 615, 0, 623, + 0, 0, 0, 217, 218, 0, 1222, 556, 0, 122, + 123, 0, 0, 561, 496, 497, 1134, 1146, 0, 0, + 0, 1163, 0, 0, 0, 0, 1060, 1068, 0, 1099, + 0, 1075, 0, 0, 0, 604, 605, 0, 1095, 0, + 941, 0, 0, 0, 0, 932, 1177, 80, 0, 0, + 1241, 0, 1234, 1237, 1235, 1248, 0, 0, 1255, 0, + 1257, 0, 1278, 1279, 1272, 0, 1264, 1267, 1263, 1266, + 1188, 904, 0, 909, 0, 1179, 87, 0, 181, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 191, 192, 0, 0, 341, 344, + 0, 0, 0, 575, 0, 587, 578, 0, 665, 0, + 669, 0, 0, 0, 672, 673, 674, 651, 0, 655, + 405, 639, 636, 637, 515, 0, 125, 126, 0, 0, + 0, 0, 0, 0, 1034, 1036, 1038, 1051, 1052, 1143, + 1144, 1069, 1073, 0, 1076, 0, 0, 1077, 0, 606, + 0, 937, 894, 895, 942, 943, 0, 0, 887, 79, + 1178, 1176, 1230, 0, 1239, 1240, 1249, 1250, 1256, 0, + 1262, 0, 85, 0, 0, 0, 1188, 179, 0, 198, + 0, 583, 0, 586, 576, 663, 664, 0, 676, 668, + 670, 671, 653, -2, 1214, 0, 0, 0, 563, 995, + 0, 0, 0, 1096, 1078, 0, 602, 603, 0, 936, + 938, 939, 1242, 1243, 1270, 1268, 905, 912, 0, 86, + 418, 411, 1214, 0, 0, 0, 656, 657, 658, 659, + 660, 661, 662, 553, 1216, 127, 128, 484, 485, 486, + 121, 1135, 0, 1138, 0, 896, 897, 588, 0, 590, + 0, -2, 406, 419, 0, 173, 199, 200, 0, 0, + 203, 204, 205, 196, 197, 117, 0, 0, 677, 0, + 1217, 1218, 124, 1136, 1074, 589, 0, 0, 361, 0, + 599, 407, 408, 0, 414, 415, 416, 417, 201, 202, + 611, 0, 0, 560, 0, 591, 592, 600, 0, 409, + 0, 410, 0, 0, 0, 580, 0, 611, 1215, 0, + 0, 601, 597, 420, 422, 423, 0, 0, 421, 612, + 581, 1137, 0, 424, 425, 426, 593, 594, 595, 596, } var yyTok1 = [...]int{ @@ -7754,7 +7852,7 @@ var yyTok1 = [...]int{ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 141, 3, 3, 3, 167, 159, 3, 86, 88, 164, 162, 87, 163, 217, 165, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 613, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 614, 149, 148, 150, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, @@ -7861,7 +7959,7 @@ var yyTok3 = [...]int{ 57920, 595, 57921, 596, 57922, 597, 57923, 598, 57924, 599, 57925, 600, 57926, 601, 57927, 602, 57928, 603, 57929, 604, 57930, 605, 57931, 606, 57932, 607, 57933, 608, 57934, 609, - 57935, 610, 57936, 611, 57937, 612, 0, + 57935, 610, 57936, 611, 57937, 612, 57938, 613, 0, } var yyErrorMessages = [...]struct { @@ -8211,68 +8309,68 @@ yydefault: case 1: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:536 +//line sql.y:537 { setParseTree(yylex, yyDollar[1].statementUnion()) } case 2: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:541 +//line sql.y:542 { } case 3: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:542 +//line sql.y:543 { } case 4: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:546 +//line sql.y:547 { yyLOCAL = yyDollar[1].selStmtUnion() } yyVAL.union = yyLOCAL case 37: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:582 +//line sql.y:583 { setParseTree(yylex, nil) } case 38: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:588 +//line sql.y:589 { yyVAL.colIdent = NewColIdentWithAt(string(yyDollar[1].str), NoAt) } case 39: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:592 +//line sql.y:593 { yyVAL.colIdent = NewColIdentWithAt(string(yyDollar[1].str), SingleAt) } case 40: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:596 +//line sql.y:597 { yyVAL.colIdent = NewColIdentWithAt(string(yyDollar[1].str), DoubleAt) } case 41: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:601 +//line sql.y:602 { yyVAL.colIdent = NewColIdentWithAt("", NoAt) } case 42: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:605 +//line sql.y:606 { yyVAL.colIdent = yyDollar[1].colIdent } case 43: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:611 +//line sql.y:612 { yyLOCAL = &OtherAdmin{} } @@ -8280,7 +8378,7 @@ yydefault: case 44: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:617 +//line sql.y:618 { yyLOCAL = &Load{} } @@ -8288,7 +8386,7 @@ yydefault: case 45: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *With -//line sql.y:623 +//line sql.y:624 { yyLOCAL = &With{ctes: yyDollar[2].ctesUnion(), Recursive: false} } @@ -8296,7 +8394,7 @@ yydefault: case 46: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *With -//line sql.y:627 +//line sql.y:628 { yyLOCAL = &With{ctes: yyDollar[3].ctesUnion(), Recursive: true} } @@ -8304,7 +8402,7 @@ yydefault: case 47: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *With -//line sql.y:632 +//line sql.y:633 { yyLOCAL = nil } @@ -8312,14 +8410,14 @@ yydefault: case 48: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *With -//line sql.y:636 +//line sql.y:637 { yyLOCAL = yyDollar[1].withUnion() } yyVAL.union = yyLOCAL case 49: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:642 +//line sql.y:643 { yySLICE := (*[]*CommonTableExpr)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].cteUnion()) @@ -8327,7 +8425,7 @@ yydefault: case 50: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*CommonTableExpr -//line sql.y:646 +//line sql.y:647 { yyLOCAL = []*CommonTableExpr{yyDollar[1].cteUnion()} } @@ -8335,7 +8433,7 @@ yydefault: case 51: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *CommonTableExpr -//line sql.y:652 +//line sql.y:653 { yyLOCAL = &CommonTableExpr{TableID: yyDollar[1].tableIdent, Columns: yyDollar[2].columnsUnion(), Subquery: yyDollar[4].subqueryUnion()} } @@ -8343,7 +8441,7 @@ yydefault: case 52: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:658 +//line sql.y:659 { yyLOCAL = yyDollar[2].selStmtUnion() } @@ -8351,7 +8449,7 @@ yydefault: case 53: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:662 +//line sql.y:663 { yyLOCAL = yyDollar[2].selStmtUnion() } @@ -8359,7 +8457,7 @@ yydefault: case 54: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:666 +//line sql.y:667 { setLockInSelect(yyDollar[2].selStmtUnion(), yyDollar[3].lockUnion()) yyLOCAL = yyDollar[2].selStmtUnion() @@ -8368,7 +8466,7 @@ yydefault: case 55: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:689 +//line sql.y:690 { yyDollar[1].selStmtUnion().SetOrderBy(yyDollar[2].orderByUnion()) yyDollar[1].selStmtUnion().SetLimit(yyDollar[3].limitUnion()) @@ -8378,7 +8476,7 @@ yydefault: case 56: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:695 +//line sql.y:696 { yyDollar[1].selStmtUnion().SetLimit(yyDollar[2].limitUnion()) yyLOCAL = yyDollar[1].selStmtUnion() @@ -8387,7 +8485,7 @@ yydefault: case 57: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:700 +//line sql.y:701 { yyDollar[1].selStmtUnion().SetOrderBy(yyDollar[2].orderByUnion()) yyDollar[1].selStmtUnion().SetLimit(yyDollar[3].limitUnion()) @@ -8397,7 +8495,7 @@ yydefault: case 58: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:706 +//line sql.y:707 { yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion()) yyDollar[2].selStmtUnion().SetOrderBy(yyDollar[3].orderByUnion()) @@ -8408,7 +8506,7 @@ yydefault: case 59: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:713 +//line sql.y:714 { yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion()) yyDollar[2].selStmtUnion().SetLimit(yyDollar[3].limitUnion()) @@ -8418,7 +8516,7 @@ yydefault: case 60: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:719 +//line sql.y:720 { yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion()) yyDollar[2].selStmtUnion().SetOrderBy(yyDollar[3].orderByUnion()) @@ -8428,14 +8526,14 @@ yydefault: yyVAL.union = yyLOCAL case 61: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:726 +//line sql.y:727 { yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion()) } case 62: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:730 +//line sql.y:731 { 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*/) } @@ -8443,7 +8541,7 @@ yydefault: case 63: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:736 +//line sql.y:737 { yyLOCAL = yyDollar[1].selStmtUnion() } @@ -8451,7 +8549,7 @@ yydefault: case 64: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:740 +//line sql.y:741 { yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()} } @@ -8459,7 +8557,7 @@ yydefault: case 65: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:744 +//line sql.y:745 { yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()} } @@ -8467,7 +8565,7 @@ yydefault: case 66: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:748 +//line sql.y:749 { yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()} } @@ -8475,7 +8573,7 @@ yydefault: case 67: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:752 +//line sql.y:753 { yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()} } @@ -8483,7 +8581,7 @@ yydefault: case 68: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:758 +//line sql.y:759 { yyLOCAL = yyDollar[1].selStmtUnion() } @@ -8491,7 +8589,7 @@ yydefault: case 69: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:762 +//line sql.y:763 { setLockInSelect(yyDollar[1].selStmtUnion(), yyDollar[2].lockUnion()) yyLOCAL = yyDollar[1].selStmtUnion() @@ -8500,7 +8598,7 @@ yydefault: case 70: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:767 +//line sql.y:768 { yyLOCAL = yyDollar[1].selStmtUnion() } @@ -8508,7 +8606,7 @@ yydefault: case 71: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:771 +//line sql.y:772 { yyLOCAL = yyDollar[1].selStmtUnion() } @@ -8516,7 +8614,7 @@ yydefault: case 72: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:777 +//line sql.y:778 { yyLOCAL = yyDollar[2].selStmtUnion() } @@ -8524,7 +8622,7 @@ yydefault: case 73: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:781 +//line sql.y:782 { yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion()) yyLOCAL = yyDollar[1].selStmtUnion() @@ -8533,7 +8631,7 @@ yydefault: case 74: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:786 +//line sql.y:787 { yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion()) yyDollar[1].selStmtUnion().SetLock(yyDollar[3].lockUnion()) @@ -8543,7 +8641,7 @@ yydefault: case 75: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:792 +//line sql.y:793 { yyDollar[1].selStmtUnion().SetInto(yyDollar[3].selectIntoUnion()) yyDollar[1].selStmtUnion().SetLock(yyDollar[2].lockUnion()) @@ -8553,7 +8651,7 @@ yydefault: case 76: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:798 +//line sql.y:799 { yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion()) yyLOCAL = yyDollar[1].selStmtUnion() @@ -8562,7 +8660,7 @@ yydefault: case 77: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:805 +//line sql.y:806 { yyLOCAL = &Stream{Comments: Comments(yyDollar[2].strs).Parsed(), SelectExpr: yyDollar[3].selectExprUnion(), Table: yyDollar[5].tableName} } @@ -8570,7 +8668,7 @@ yydefault: case 78: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:811 +//line sql.y:812 { yyLOCAL = &VStream{Comments: Comments(yyDollar[2].strs).Parsed(), SelectExpr: yyDollar[3].selectExprUnion(), Table: yyDollar[5].tableName, Where: NewWhere(WhereClause, yyDollar[6].exprUnion()), Limit: yyDollar[7].limitUnion()} } @@ -8578,7 +8676,7 @@ yydefault: case 79: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:819 +//line sql.y:820 { 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())) } @@ -8586,7 +8684,7 @@ yydefault: case 80: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:823 +//line sql.y:824 { 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())) } @@ -8594,7 +8692,7 @@ yydefault: case 81: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:829 +//line sql.y:830 { // insert_data returns a *Insert pre-filled with Columns & Values ins := yyDollar[6].insUnion() @@ -8610,7 +8708,7 @@ yydefault: case 82: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Statement -//line sql.y:841 +//line sql.y:842 { cols := make(Columns, 0, len(yyDollar[7].updateExprsUnion())) vals := make(ValTuple, 0, len(yyDollar[8].updateExprsUnion())) @@ -8624,7 +8722,7 @@ yydefault: case 83: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL InsertAction -//line sql.y:853 +//line sql.y:854 { yyLOCAL = InsertAct } @@ -8632,7 +8730,7 @@ yydefault: case 84: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL InsertAction -//line sql.y:857 +//line sql.y:858 { yyLOCAL = ReplaceAct } @@ -8640,7 +8738,7 @@ yydefault: case 85: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL Statement -//line sql.y:863 +//line sql.y:864 { yyLOCAL = &Update{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), 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()} } @@ -8648,7 +8746,7 @@ yydefault: case 86: yyDollar = yyS[yypt-11 : yypt+1] var yyLOCAL Statement -//line sql.y:869 +//line sql.y:870 { yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), 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()} } @@ -8656,7 +8754,7 @@ yydefault: case 87: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL Statement -//line sql.y:873 +//line sql.y:874 { yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), Targets: yyDollar[6].tableNamesUnion(), TableExprs: yyDollar[8].tableExprsUnion(), Where: NewWhere(WhereClause, yyDollar[9].exprUnion())} } @@ -8664,7 +8762,7 @@ yydefault: case 88: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Statement -//line sql.y:877 +//line sql.y:878 { yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), Targets: yyDollar[5].tableNamesUnion(), TableExprs: yyDollar[7].tableExprsUnion(), Where: NewWhere(WhereClause, yyDollar[8].exprUnion())} } @@ -8672,32 +8770,32 @@ yydefault: case 89: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Statement -//line sql.y:881 +//line sql.y:882 { yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), Targets: yyDollar[5].tableNamesUnion(), TableExprs: yyDollar[7].tableExprsUnion(), Where: NewWhere(WhereClause, yyDollar[8].exprUnion())} } yyVAL.union = yyLOCAL case 90: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:886 +//line sql.y:887 { } case 91: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:887 +//line sql.y:888 { } case 92: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableNames -//line sql.y:891 +//line sql.y:892 { yyLOCAL = TableNames{yyDollar[1].tableName.ToViewName()} } yyVAL.union = yyLOCAL case 93: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:895 +//line sql.y:896 { yySLICE := (*TableNames)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableName.ToViewName()) @@ -8705,14 +8803,14 @@ yydefault: case 94: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableNames -//line sql.y:901 +//line sql.y:902 { yyLOCAL = TableNames{yyDollar[1].tableName} } yyVAL.union = yyLOCAL case 95: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:905 +//line sql.y:906 { yySLICE := (*TableNames)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableName) @@ -8720,14 +8818,14 @@ yydefault: case 96: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableNames -//line sql.y:911 +//line sql.y:912 { yyLOCAL = TableNames{yyDollar[1].tableName} } yyVAL.union = yyLOCAL case 97: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:915 +//line sql.y:916 { yySLICE := (*TableNames)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableName) @@ -8735,7 +8833,7 @@ yydefault: case 98: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Partitions -//line sql.y:920 +//line sql.y:921 { yyLOCAL = nil } @@ -8743,7 +8841,7 @@ yydefault: case 99: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Partitions -//line sql.y:924 +//line sql.y:925 { yyLOCAL = yyDollar[3].partitionsUnion() } @@ -8751,7 +8849,7 @@ yydefault: case 100: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:930 +//line sql.y:931 { yyLOCAL = &Set{Comments: Comments(yyDollar[2].strs).Parsed(), Exprs: yyDollar[3].setExprsUnion()} } @@ -8759,7 +8857,7 @@ yydefault: case 101: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:936 +//line sql.y:937 { yyLOCAL = &SetTransaction{Comments: Comments(yyDollar[2].strs).Parsed(), Scope: yyDollar[3].scopeUnion(), Characteristics: yyDollar[5].characteristicsUnion()} } @@ -8767,7 +8865,7 @@ yydefault: case 102: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:940 +//line sql.y:941 { yyLOCAL = &SetTransaction{Comments: Comments(yyDollar[2].strs).Parsed(), Characteristics: yyDollar[4].characteristicsUnion(), Scope: ImplicitScope} } @@ -8775,14 +8873,14 @@ yydefault: case 103: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []Characteristic -//line sql.y:946 +//line sql.y:947 { yyLOCAL = []Characteristic{yyDollar[1].characteristicUnion()} } yyVAL.union = yyLOCAL case 104: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:950 +//line sql.y:951 { yySLICE := (*[]Characteristic)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].characteristicUnion()) @@ -8790,7 +8888,7 @@ yydefault: case 105: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Characteristic -//line sql.y:956 +//line sql.y:957 { yyLOCAL = yyDollar[3].isolationLevelUnion() } @@ -8798,7 +8896,7 @@ yydefault: case 106: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Characteristic -//line sql.y:960 +//line sql.y:961 { yyLOCAL = ReadWrite } @@ -8806,7 +8904,7 @@ yydefault: case 107: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Characteristic -//line sql.y:964 +//line sql.y:965 { yyLOCAL = ReadOnly } @@ -8814,7 +8912,7 @@ yydefault: case 108: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IsolationLevel -//line sql.y:970 +//line sql.y:971 { yyLOCAL = RepeatableRead } @@ -8822,7 +8920,7 @@ yydefault: case 109: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IsolationLevel -//line sql.y:974 +//line sql.y:975 { yyLOCAL = ReadCommitted } @@ -8830,7 +8928,7 @@ yydefault: case 110: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IsolationLevel -//line sql.y:978 +//line sql.y:979 { yyLOCAL = ReadUncommitted } @@ -8838,7 +8936,7 @@ yydefault: case 111: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IsolationLevel -//line sql.y:982 +//line sql.y:983 { yyLOCAL = Serializable } @@ -8846,7 +8944,7 @@ yydefault: case 112: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Scope -//line sql.y:988 +//line sql.y:989 { yyLOCAL = SessionScope } @@ -8854,7 +8952,7 @@ yydefault: case 113: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Scope -//line sql.y:992 +//line sql.y:993 { yyLOCAL = GlobalScope } @@ -8862,7 +8960,7 @@ yydefault: case 114: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:998 +//line sql.y:999 { yyDollar[1].createTableUnion().TableSpec = yyDollar[2].tableSpecUnion() yyDollar[1].createTableUnion().FullyParsed = true @@ -8872,7 +8970,7 @@ yydefault: case 115: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:1004 +//line sql.y:1005 { // Create table [name] like [name] yyDollar[1].createTableUnion().OptLike = yyDollar[2].optLikeUnion() @@ -8883,7 +8981,7 @@ yydefault: case 116: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:1011 +//line sql.y:1012 { indexDef := yyDollar[1].alterTableUnion().AlterOptions[0].(*AddIndexDefinition).IndexDefinition indexDef.Columns = yyDollar[3].indexColumnsUnion() @@ -8896,7 +8994,7 @@ yydefault: case 117: yyDollar = yyS[yypt-12 : yypt+1] var yyLOCAL Statement -//line sql.y:1020 +//line sql.y:1021 { yyLOCAL = &CreateView{ViewName: yyDollar[8].tableName.ToViewName(), Comments: Comments(yyDollar[2].strs).Parsed(), IsReplace: yyDollar[3].booleanUnion(), Algorithm: yyDollar[4].str, Definer: yyDollar[5].definerUnion(), Security: yyDollar[6].str, Columns: yyDollar[9].columnsUnion(), Select: yyDollar[11].selStmtUnion(), CheckOption: yyDollar[12].str} } @@ -8904,7 +9002,7 @@ yydefault: case 118: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:1024 +//line sql.y:1025 { yyDollar[1].createDatabaseUnion().FullyParsed = true yyDollar[1].createDatabaseUnion().CreateOptions = yyDollar[2].databaseOptionsUnion() @@ -8914,7 +9012,7 @@ yydefault: case 119: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:1031 +//line sql.y:1032 { yyLOCAL = false } @@ -8922,33 +9020,33 @@ yydefault: case 120: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:1035 +//line sql.y:1036 { yyLOCAL = true } yyVAL.union = yyLOCAL case 121: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1040 +//line sql.y:1041 { yyVAL.colIdent = NewColIdent("") } case 122: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1044 +//line sql.y:1045 { yyVAL.colIdent = yyDollar[2].colIdent } case 123: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1050 +//line sql.y:1051 { yyVAL.colIdent = yyDollar[1].colIdent } case 124: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []VindexParam -//line sql.y:1055 +//line sql.y:1056 { var v []VindexParam yyLOCAL = v @@ -8957,7 +9055,7 @@ yydefault: case 125: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []VindexParam -//line sql.y:1060 +//line sql.y:1061 { yyLOCAL = yyDollar[2].vindexParamsUnion() } @@ -8965,7 +9063,7 @@ yydefault: case 126: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []VindexParam -//line sql.y:1066 +//line sql.y:1067 { yyLOCAL = make([]VindexParam, 0, 4) yyLOCAL = append(yyLOCAL, yyDollar[1].vindexParam) @@ -8973,21 +9071,21 @@ yydefault: yyVAL.union = yyLOCAL case 127: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1071 +//line sql.y:1072 { yySLICE := (*[]VindexParam)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].vindexParam) } case 128: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1077 +//line sql.y:1078 { yyVAL.vindexParam = VindexParam{Key: yyDollar[1].colIdent, Val: yyDollar[3].str} } case 129: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*JSONObjectParam -//line sql.y:1082 +//line sql.y:1083 { yyLOCAL = nil } @@ -8995,7 +9093,7 @@ yydefault: case 130: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*JSONObjectParam -//line sql.y:1086 +//line sql.y:1087 { yyLOCAL = yyDollar[1].jsonObjectParamsUnion() } @@ -9003,28 +9101,28 @@ yydefault: case 131: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*JSONObjectParam -//line sql.y:1092 +//line sql.y:1093 { yyLOCAL = []*JSONObjectParam{yyDollar[1].jsonObjectParam} } yyVAL.union = yyLOCAL case 132: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1096 +//line sql.y:1097 { yySLICE := (*[]*JSONObjectParam)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].jsonObjectParam) } case 133: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1102 +//line sql.y:1103 { yyVAL.jsonObjectParam = &JSONObjectParam{Key: yyDollar[1].exprUnion(), Value: yyDollar[3].exprUnion()} } case 134: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *CreateTable -//line sql.y:1108 +//line sql.y:1109 { yyLOCAL = &CreateTable{Comments: Comments(yyDollar[2].strs).Parsed(), Table: yyDollar[6].tableName, IfNotExists: yyDollar[5].booleanUnion(), Temp: yyDollar[3].booleanUnion()} setDDL(yylex, yyLOCAL) @@ -9033,7 +9131,7 @@ yydefault: case 135: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *AlterTable -//line sql.y:1115 +//line sql.y:1116 { yyLOCAL = &AlterTable{Comments: Comments(yyDollar[2].strs).Parsed(), Table: yyDollar[4].tableName} setDDL(yylex, yyLOCAL) @@ -9042,7 +9140,7 @@ yydefault: case 136: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *AlterTable -//line sql.y:1122 +//line sql.y:1123 { 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()}}}} setDDL(yylex, yyLOCAL) @@ -9051,7 +9149,7 @@ yydefault: case 137: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *AlterTable -//line sql.y:1127 +//line sql.y:1128 { 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()}}}} setDDL(yylex, yyLOCAL) @@ -9060,7 +9158,7 @@ yydefault: case 138: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *AlterTable -//line sql.y:1132 +//line sql.y:1133 { 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()}}}} setDDL(yylex, yyLOCAL) @@ -9069,7 +9167,7 @@ yydefault: case 139: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *AlterTable -//line sql.y:1137 +//line sql.y:1138 { 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()}}}} setDDL(yylex, yyLOCAL) @@ -9078,7 +9176,7 @@ yydefault: case 140: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *CreateDatabase -//line sql.y:1144 +//line sql.y:1145 { yyLOCAL = &CreateDatabase{Comments: Comments(yyDollar[4].strs).Parsed(), DBName: yyDollar[6].tableIdent, IfNotExists: yyDollar[5].booleanUnion()} setDDL(yylex, yyLOCAL) @@ -9087,7 +9185,7 @@ yydefault: case 141: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *AlterDatabase -//line sql.y:1151 +//line sql.y:1152 { yyLOCAL = &AlterDatabase{} setDDL(yylex, yyLOCAL) @@ -9096,7 +9194,7 @@ yydefault: case 144: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *TableSpec -//line sql.y:1162 +//line sql.y:1163 { yyLOCAL = yyDollar[2].tableSpecUnion() yyLOCAL.Options = yyDollar[4].tableOptionsUnion() @@ -9106,7 +9204,7 @@ yydefault: case 145: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []DatabaseOption -//line sql.y:1169 +//line sql.y:1170 { yyLOCAL = nil } @@ -9114,7 +9212,7 @@ yydefault: case 146: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []DatabaseOption -//line sql.y:1173 +//line sql.y:1174 { yyLOCAL = yyDollar[1].databaseOptionsUnion() } @@ -9122,7 +9220,7 @@ yydefault: case 147: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []DatabaseOption -//line sql.y:1179 +//line sql.y:1180 { yyLOCAL = []DatabaseOption{yyDollar[1].databaseOption} } @@ -9130,7 +9228,7 @@ yydefault: case 148: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []DatabaseOption -//line sql.y:1183 +//line sql.y:1184 { yyLOCAL = []DatabaseOption{yyDollar[1].databaseOption} } @@ -9138,28 +9236,28 @@ yydefault: case 149: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []DatabaseOption -//line sql.y:1187 +//line sql.y:1188 { yyLOCAL = []DatabaseOption{yyDollar[1].databaseOption} } yyVAL.union = yyLOCAL case 150: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1191 +//line sql.y:1192 { yySLICE := (*[]DatabaseOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].databaseOption) } case 151: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1195 +//line sql.y:1196 { yySLICE := (*[]DatabaseOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].databaseOption) } case 152: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1199 +//line sql.y:1200 { yySLICE := (*[]DatabaseOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].databaseOption) @@ -9167,7 +9265,7 @@ yydefault: case 153: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:1205 +//line sql.y:1206 { yyLOCAL = false } @@ -9175,51 +9273,51 @@ yydefault: case 154: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:1209 +//line sql.y:1210 { yyLOCAL = true } yyVAL.union = yyLOCAL case 155: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1215 +//line sql.y:1216 { yyVAL.databaseOption = DatabaseOption{Type: CharacterSetType, Value: (yyDollar[4].colIdent.String()), IsDefault: yyDollar[1].booleanUnion()} } case 156: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1219 +//line sql.y:1220 { yyVAL.databaseOption = DatabaseOption{Type: CharacterSetType, Value: (encodeSQLString(yyDollar[4].str)), IsDefault: yyDollar[1].booleanUnion()} } case 157: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1225 +//line sql.y:1226 { yyVAL.databaseOption = DatabaseOption{Type: CollateType, Value: (yyDollar[4].colIdent.String()), IsDefault: yyDollar[1].booleanUnion()} } case 158: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1229 +//line sql.y:1230 { yyVAL.databaseOption = DatabaseOption{Type: CollateType, Value: (encodeSQLString(yyDollar[4].str)), IsDefault: yyDollar[1].booleanUnion()} } case 159: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1235 +//line sql.y:1236 { yyVAL.databaseOption = DatabaseOption{Type: EncryptionType, Value: (yyDollar[4].colIdent.String()), IsDefault: yyDollar[1].booleanUnion()} } case 160: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1239 +//line sql.y:1240 { yyVAL.databaseOption = DatabaseOption{Type: EncryptionType, Value: (encodeSQLString(yyDollar[4].str)), IsDefault: yyDollar[1].booleanUnion()} } case 161: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *OptLike -//line sql.y:1245 +//line sql.y:1246 { yyLOCAL = &OptLike{LikeTable: yyDollar[2].tableName} } @@ -9227,7 +9325,7 @@ yydefault: case 162: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *OptLike -//line sql.y:1249 +//line sql.y:1250 { yyLOCAL = &OptLike{LikeTable: yyDollar[3].tableName} } @@ -9235,14 +9333,14 @@ yydefault: case 163: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*ColumnDefinition -//line sql.y:1255 +//line sql.y:1256 { yyLOCAL = []*ColumnDefinition{yyDollar[1].columnDefinitionUnion()} } yyVAL.union = yyLOCAL case 164: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1259 +//line sql.y:1260 { yySLICE := (*[]*ColumnDefinition)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].columnDefinitionUnion()) @@ -9250,7 +9348,7 @@ yydefault: case 165: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *TableSpec -//line sql.y:1265 +//line sql.y:1266 { yyLOCAL = &TableSpec{} yyLOCAL.AddColumn(yyDollar[1].columnDefinitionUnion()) @@ -9259,7 +9357,7 @@ yydefault: case 166: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *TableSpec -//line sql.y:1270 +//line sql.y:1271 { yyLOCAL = &TableSpec{} yyLOCAL.AddConstraint(yyDollar[1].constraintDefinitionUnion()) @@ -9267,39 +9365,39 @@ yydefault: yyVAL.union = yyLOCAL case 167: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1275 +//line sql.y:1276 { yyVAL.tableSpecUnion().AddColumn(yyDollar[3].columnDefinitionUnion()) } case 168: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1279 +//line sql.y:1280 { yyVAL.tableSpecUnion().AddColumn(yyDollar[3].columnDefinitionUnion()) yyVAL.tableSpecUnion().AddConstraint(yyDollar[4].constraintDefinitionUnion()) } case 169: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1284 +//line sql.y:1285 { yyVAL.tableSpecUnion().AddIndex(yyDollar[3].indexDefinitionUnion()) } case 170: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1288 +//line sql.y:1289 { yyVAL.tableSpecUnion().AddConstraint(yyDollar[3].constraintDefinitionUnion()) } case 171: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1292 +//line sql.y:1293 { yyVAL.tableSpecUnion().AddConstraint(yyDollar[3].constraintDefinitionUnion()) } case 172: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ColumnDefinition -//line sql.y:1303 +//line sql.y:1304 { yyDollar[2].columnType.Options = yyDollar[4].columnTypeOptionsUnion() if yyDollar[2].columnType.Options.Collate == "" { @@ -9312,7 +9410,7 @@ yydefault: case 173: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL *ColumnDefinition -//line sql.y:1312 +//line sql.y:1313 { yyDollar[2].columnType.Options = yyDollar[9].columnTypeOptionsUnion() yyDollar[2].columnType.Options.As = yyDollar[7].exprUnion() @@ -9323,20 +9421,20 @@ yydefault: yyVAL.union = yyLOCAL case 174: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1321 +//line sql.y:1322 { yyVAL.str = "" } case 175: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1325 +//line sql.y:1326 { yyVAL.str = "" } case 176: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1334 +//line sql.y:1335 { yyLOCAL = &ColumnTypeOptions{Null: nil, Default: nil, OnUpdate: nil, Autoincrement: false, KeyOpt: colKeyNone, Comment: nil, As: nil, Invisible: nil, Format: UnspecifiedFormat, EngineAttribute: nil, SecondaryEngineAttribute: nil} } @@ -9344,7 +9442,7 @@ yydefault: case 177: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1338 +//line sql.y:1339 { val := true yyDollar[1].columnTypeOptionsUnion().Null = &val @@ -9354,7 +9452,7 @@ yydefault: case 178: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1344 +//line sql.y:1345 { val := false yyDollar[1].columnTypeOptionsUnion().Null = &val @@ -9364,7 +9462,7 @@ yydefault: case 179: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1350 +//line sql.y:1351 { yyDollar[1].columnTypeOptionsUnion().Default = yyDollar[4].exprUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9373,7 +9471,7 @@ yydefault: case 180: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1355 +//line sql.y:1356 { yyDollar[1].columnTypeOptionsUnion().Default = yyDollar[3].exprUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9382,7 +9480,7 @@ yydefault: case 181: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1360 +//line sql.y:1361 { yyDollar[1].columnTypeOptionsUnion().OnUpdate = yyDollar[4].exprUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9391,7 +9489,7 @@ yydefault: case 182: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1365 +//line sql.y:1366 { yyDollar[1].columnTypeOptionsUnion().Autoincrement = true yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9400,7 +9498,7 @@ yydefault: case 183: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1370 +//line sql.y:1371 { yyDollar[1].columnTypeOptionsUnion().Comment = NewStrLiteral(yyDollar[3].str) yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9409,7 +9507,7 @@ yydefault: case 184: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1375 +//line sql.y:1376 { yyDollar[1].columnTypeOptionsUnion().KeyOpt = yyDollar[2].colKeyOptUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9417,14 +9515,14 @@ yydefault: yyVAL.union = yyLOCAL case 185: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1380 +//line sql.y:1381 { yyDollar[1].columnTypeOptionsUnion().Collate = encodeSQLString(yyDollar[3].str) } case 186: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1384 +//line sql.y:1385 { yyDollar[1].columnTypeOptionsUnion().Collate = string(yyDollar[3].colIdent.String()) yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9432,14 +9530,14 @@ yydefault: yyVAL.union = yyLOCAL case 187: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1389 +//line sql.y:1390 { yyDollar[1].columnTypeOptionsUnion().Format = yyDollar[3].columnFormatUnion() } case 188: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1393 +//line sql.y:1394 { yyDollar[1].columnTypeOptionsUnion().SRID = NewIntLiteral(yyDollar[3].str) yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9448,7 +9546,7 @@ yydefault: case 189: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1398 +//line sql.y:1399 { val := false yyDollar[1].columnTypeOptionsUnion().Invisible = &val @@ -9458,7 +9556,7 @@ yydefault: case 190: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1404 +//line sql.y:1405 { val := true yyDollar[1].columnTypeOptionsUnion().Invisible = &val @@ -9467,20 +9565,20 @@ yydefault: yyVAL.union = yyLOCAL case 191: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1410 +//line sql.y:1411 { yyDollar[1].columnTypeOptionsUnion().EngineAttribute = NewStrLiteral(yyDollar[4].str) } case 192: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1414 +//line sql.y:1415 { yyDollar[1].columnTypeOptionsUnion().SecondaryEngineAttribute = NewStrLiteral(yyDollar[4].str) } case 193: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnFormat -//line sql.y:1420 +//line sql.y:1421 { yyLOCAL = FixedFormat } @@ -9488,7 +9586,7 @@ yydefault: case 194: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnFormat -//line sql.y:1424 +//line sql.y:1425 { yyLOCAL = DynamicFormat } @@ -9496,7 +9594,7 @@ yydefault: case 195: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnFormat -//line sql.y:1428 +//line sql.y:1429 { yyLOCAL = DefaultFormat } @@ -9504,7 +9602,7 @@ yydefault: case 196: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnStorage -//line sql.y:1434 +//line sql.y:1435 { yyLOCAL = VirtualStorage } @@ -9512,7 +9610,7 @@ yydefault: case 197: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnStorage -//line sql.y:1438 +//line sql.y:1439 { yyLOCAL = StoredStorage } @@ -9520,7 +9618,7 @@ yydefault: case 198: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1443 +//line sql.y:1444 { yyLOCAL = &ColumnTypeOptions{} } @@ -9528,7 +9626,7 @@ yydefault: case 199: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1447 +//line sql.y:1448 { yyDollar[1].columnTypeOptionsUnion().Storage = yyDollar[2].columnStorageUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9537,7 +9635,7 @@ yydefault: case 200: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1452 +//line sql.y:1453 { val := true yyDollar[1].columnTypeOptionsUnion().Null = &val @@ -9547,7 +9645,7 @@ yydefault: case 201: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1458 +//line sql.y:1459 { val := false yyDollar[1].columnTypeOptionsUnion().Null = &val @@ -9557,7 +9655,7 @@ yydefault: case 202: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1464 +//line sql.y:1465 { yyDollar[1].columnTypeOptionsUnion().Comment = NewStrLiteral(yyDollar[3].str) yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9566,7 +9664,7 @@ yydefault: case 203: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1469 +//line sql.y:1470 { yyDollar[1].columnTypeOptionsUnion().KeyOpt = yyDollar[2].colKeyOptUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9575,7 +9673,7 @@ yydefault: case 204: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1474 +//line sql.y:1475 { val := false yyDollar[1].columnTypeOptionsUnion().Invisible = &val @@ -9585,7 +9683,7 @@ yydefault: case 205: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1480 +//line sql.y:1481 { val := true yyDollar[1].columnTypeOptionsUnion().Invisible = &val @@ -9595,7 +9693,7 @@ yydefault: case 206: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1488 +//line sql.y:1489 { yyLOCAL = yyDollar[1].exprUnion() } @@ -9603,7 +9701,7 @@ yydefault: case 208: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1495 +//line sql.y:1496 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("current_timestamp"), Fsp: yyDollar[2].exprUnion()} } @@ -9611,7 +9709,7 @@ yydefault: case 209: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1499 +//line sql.y:1500 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("localtime"), Fsp: yyDollar[2].exprUnion()} } @@ -9619,7 +9717,7 @@ yydefault: case 210: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1503 +//line sql.y:1504 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("localtimestamp"), Fsp: yyDollar[2].exprUnion()} } @@ -9627,7 +9725,7 @@ yydefault: case 211: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1507 +//line sql.y:1508 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("utc_timestamp"), Fsp: yyDollar[2].exprUnion()} } @@ -9635,7 +9733,7 @@ yydefault: case 212: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1511 +//line sql.y:1512 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("now"), Fsp: yyDollar[2].exprUnion()} } @@ -9643,7 +9741,7 @@ yydefault: case 215: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1521 +//line sql.y:1522 { yyLOCAL = &NullVal{} } @@ -9651,7 +9749,7 @@ yydefault: case 217: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1528 +//line sql.y:1529 { yyLOCAL = yyDollar[2].exprUnion() } @@ -9659,7 +9757,7 @@ yydefault: case 218: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1532 +//line sql.y:1533 { yyLOCAL = &UnaryExpr{Operator: UMinusOp, Expr: yyDollar[2].exprUnion()} } @@ -9667,7 +9765,7 @@ yydefault: case 219: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1538 +//line sql.y:1539 { yyLOCAL = yyDollar[1].exprUnion() } @@ -9675,7 +9773,7 @@ yydefault: case 220: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1542 +//line sql.y:1543 { yyLOCAL = yyDollar[1].exprUnion() } @@ -9683,7 +9781,7 @@ yydefault: case 221: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1546 +//line sql.y:1547 { yyLOCAL = yyDollar[1].boolValUnion() } @@ -9691,7 +9789,7 @@ yydefault: case 222: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1550 +//line sql.y:1551 { yyLOCAL = NewHexLiteral(yyDollar[1].str) } @@ -9699,7 +9797,7 @@ yydefault: case 223: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1554 +//line sql.y:1555 { yyLOCAL = NewHexNumLiteral(yyDollar[1].str) } @@ -9707,7 +9805,7 @@ yydefault: case 224: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1558 +//line sql.y:1559 { yyLOCAL = NewBitLiteral(yyDollar[1].str) } @@ -9715,7 +9813,7 @@ yydefault: case 225: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1562 +//line sql.y:1563 { yyLOCAL = NewArgument(yyDollar[1].str[1:]) bindVariable(yylex, yyDollar[1].str[1:]) @@ -9724,7 +9822,7 @@ yydefault: case 226: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1567 +//line sql.y:1568 { yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewBitLiteral(yyDollar[2].str)} } @@ -9732,7 +9830,7 @@ yydefault: case 227: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1571 +//line sql.y:1572 { yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewHexNumLiteral(yyDollar[2].str)} } @@ -9740,7 +9838,7 @@ yydefault: case 228: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1575 +//line sql.y:1576 { yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewHexLiteral(yyDollar[2].str)} } @@ -9748,7 +9846,7 @@ yydefault: case 229: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1579 +//line sql.y:1580 { yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: yyDollar[2].colNameUnion()} } @@ -9756,7 +9854,7 @@ yydefault: case 230: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1583 +//line sql.y:1584 { bindVariable(yylex, yyDollar[2].str[1:]) yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewArgument(yyDollar[2].str[1:])} @@ -9764,260 +9862,260 @@ yydefault: yyVAL.union = yyLOCAL case 231: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1590 +//line sql.y:1591 { yyVAL.str = Armscii8Str } case 232: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1594 +//line sql.y:1595 { yyVAL.str = ASCIIStr } case 233: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1598 +//line sql.y:1599 { yyVAL.str = Big5Str } case 234: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1602 +//line sql.y:1603 { yyVAL.str = UBinaryStr } case 235: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1606 +//line sql.y:1607 { yyVAL.str = Cp1250Str } case 236: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1610 +//line sql.y:1611 { yyVAL.str = Cp1251Str } case 237: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1614 +//line sql.y:1615 { yyVAL.str = Cp1256Str } case 238: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1618 +//line sql.y:1619 { yyVAL.str = Cp1257Str } case 239: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1622 +//line sql.y:1623 { yyVAL.str = Cp850Str } case 240: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1626 +//line sql.y:1627 { yyVAL.str = Cp852Str } case 241: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1630 +//line sql.y:1631 { yyVAL.str = Cp866Str } case 242: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1634 +//line sql.y:1635 { yyVAL.str = Cp932Str } case 243: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1638 +//line sql.y:1639 { yyVAL.str = Dec8Str } case 244: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1642 +//line sql.y:1643 { yyVAL.str = EucjpmsStr } case 245: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1646 +//line sql.y:1647 { yyVAL.str = EuckrStr } case 246: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1650 +//line sql.y:1651 { yyVAL.str = Gb18030Str } case 247: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1654 +//line sql.y:1655 { yyVAL.str = Gb2312Str } case 248: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1658 +//line sql.y:1659 { yyVAL.str = GbkStr } case 249: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1662 +//line sql.y:1663 { yyVAL.str = Geostd8Str } case 250: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1666 +//line sql.y:1667 { yyVAL.str = GreekStr } case 251: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1670 +//line sql.y:1671 { yyVAL.str = HebrewStr } case 252: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1674 +//line sql.y:1675 { yyVAL.str = Hp8Str } case 253: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1678 +//line sql.y:1679 { yyVAL.str = Keybcs2Str } case 254: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1682 +//line sql.y:1683 { yyVAL.str = Koi8rStr } case 255: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1686 +//line sql.y:1687 { yyVAL.str = Koi8uStr } case 256: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1690 +//line sql.y:1691 { yyVAL.str = Latin1Str } case 257: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1694 +//line sql.y:1695 { yyVAL.str = Latin2Str } case 258: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1698 +//line sql.y:1699 { yyVAL.str = Latin5Str } case 259: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1702 +//line sql.y:1703 { yyVAL.str = Latin7Str } case 260: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1706 +//line sql.y:1707 { yyVAL.str = MacceStr } case 261: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1710 +//line sql.y:1711 { yyVAL.str = MacromanStr } case 262: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1714 +//line sql.y:1715 { yyVAL.str = SjisStr } case 263: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1718 +//line sql.y:1719 { yyVAL.str = Swe7Str } case 264: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1722 +//line sql.y:1723 { yyVAL.str = Tis620Str } case 265: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1726 +//line sql.y:1727 { yyVAL.str = Ucs2Str } case 266: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1730 +//line sql.y:1731 { yyVAL.str = UjisStr } case 267: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1734 +//line sql.y:1735 { yyVAL.str = Utf16Str } case 268: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1738 +//line sql.y:1739 { yyVAL.str = Utf16leStr } case 269: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1742 +//line sql.y:1743 { yyVAL.str = Utf32Str } case 270: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1746 +//line sql.y:1747 { yyVAL.str = Utf8Str } case 271: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1750 +//line sql.y:1751 { yyVAL.str = Utf8mb4Str } case 272: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1754 +//line sql.y:1755 { yyVAL.str = Utf8Str } case 275: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1764 +//line sql.y:1765 { yyLOCAL = NewIntLiteral(yyDollar[1].str) } @@ -10025,7 +10123,7 @@ yydefault: case 276: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1768 +//line sql.y:1769 { yyLOCAL = NewFloatLiteral(yyDollar[1].str) } @@ -10033,7 +10131,7 @@ yydefault: case 277: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1772 +//line sql.y:1773 { yyLOCAL = NewDecimalLiteral(yyDollar[1].str) } @@ -10041,7 +10139,7 @@ yydefault: case 278: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1778 +//line sql.y:1779 { yyLOCAL = NewStrLiteral(yyDollar[1].str) } @@ -10049,7 +10147,7 @@ yydefault: case 279: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1782 +//line sql.y:1783 { yyLOCAL = &UnaryExpr{Operator: NStringOp, Expr: NewStrLiteral(yyDollar[1].str)} } @@ -10057,7 +10155,7 @@ yydefault: case 280: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1786 +//line sql.y:1787 { yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewStrLiteral(yyDollar[2].str)} } @@ -10065,7 +10163,7 @@ yydefault: case 281: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1792 +//line sql.y:1793 { yyLOCAL = yyDollar[1].exprUnion() } @@ -10073,7 +10171,7 @@ yydefault: case 282: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1796 +//line sql.y:1797 { yyLOCAL = NewArgument(yyDollar[1].str[1:]) bindVariable(yylex, yyDollar[1].str[1:]) @@ -10082,7 +10180,7 @@ yydefault: case 283: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ColumnKeyOption -//line sql.y:1803 +//line sql.y:1804 { yyLOCAL = colKeyPrimary } @@ -10090,7 +10188,7 @@ yydefault: case 284: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnKeyOption -//line sql.y:1807 +//line sql.y:1808 { yyLOCAL = colKeyUnique } @@ -10098,7 +10196,7 @@ yydefault: case 285: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ColumnKeyOption -//line sql.y:1811 +//line sql.y:1812 { yyLOCAL = colKeyUniqueKey } @@ -10106,14 +10204,14 @@ yydefault: case 286: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnKeyOption -//line sql.y:1815 +//line sql.y:1816 { yyLOCAL = colKey } yyVAL.union = yyLOCAL case 287: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1821 +//line sql.y:1822 { yyVAL.columnType = yyDollar[1].columnType yyVAL.columnType.Unsigned = yyDollar[2].booleanUnion() @@ -10121,74 +10219,74 @@ yydefault: } case 291: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1832 +//line sql.y:1833 { yyVAL.columnType = yyDollar[1].columnType yyVAL.columnType.Length = yyDollar[2].literalUnion() } case 292: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1837 +//line sql.y:1838 { yyVAL.columnType = yyDollar[1].columnType } case 293: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1843 +//line sql.y:1844 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 294: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1847 +//line sql.y:1848 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 295: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1851 +//line sql.y:1852 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 296: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1855 +//line sql.y:1856 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 297: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1859 +//line sql.y:1860 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 298: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1863 +//line sql.y:1864 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 299: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1867 +//line sql.y:1868 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 300: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1871 +//line sql.y:1872 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 301: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1875 +//line sql.y:1876 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 302: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1881 +//line sql.y:1882 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -10196,7 +10294,7 @@ yydefault: } case 303: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1887 +//line sql.y:1888 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -10204,7 +10302,7 @@ yydefault: } case 304: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1893 +//line sql.y:1894 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -10212,7 +10310,7 @@ yydefault: } case 305: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1899 +//line sql.y:1900 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -10220,7 +10318,7 @@ yydefault: } case 306: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1905 +//line sql.y:1906 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -10228,43 +10326,43 @@ yydefault: } case 307: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1913 +//line sql.y:1914 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 308: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1917 +//line sql.y:1918 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 309: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1921 +//line sql.y:1922 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 310: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1925 +//line sql.y:1926 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 311: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1929 +//line sql.y:1930 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 312: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1935 +//line sql.y:1936 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion(), Charset: yyDollar[3].columnCharset} } case 313: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1939 +//line sql.y:1940 { // CHAR BYTE is an alias for binary. See also: // https://dev.mysql.com/doc/refman/8.0/en/string-type-syntax.html @@ -10272,153 +10370,153 @@ yydefault: } case 314: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1945 +//line sql.y:1946 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion(), Charset: yyDollar[3].columnCharset} } case 315: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1949 +//line sql.y:1950 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 316: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1953 +//line sql.y:1954 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 317: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1957 +//line sql.y:1958 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset} } case 318: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1961 +//line sql.y:1962 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset} } case 319: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1965 +//line sql.y:1966 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset} } case 320: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1969 +//line sql.y:1970 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset} } case 321: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1973 +//line sql.y:1974 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 322: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1977 +//line sql.y:1978 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 323: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1981 +//line sql.y:1982 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 324: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1985 +//line sql.y:1986 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 325: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1989 +//line sql.y:1990 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 326: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1993 +//line sql.y:1994 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].columnCharset} } case 327: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1998 +//line sql.y:1999 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].columnCharset} } case 328: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2004 +//line sql.y:2005 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 329: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2008 +//line sql.y:2009 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 330: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2012 +//line sql.y:2013 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 331: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2016 +//line sql.y:2017 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 332: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2020 +//line sql.y:2021 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 333: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2024 +//line sql.y:2025 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 334: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2028 +//line sql.y:2029 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 335: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2032 +//line sql.y:2033 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 336: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2038 +//line sql.y:2039 { yyVAL.strs = make([]string, 0, 4) yyVAL.strs = append(yyVAL.strs, encodeSQLString(yyDollar[1].str)) } case 337: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2043 +//line sql.y:2044 { yyVAL.strs = append(yyDollar[1].strs, encodeSQLString(yyDollar[3].str)) } case 338: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *Literal -//line sql.y:2048 +//line sql.y:2049 { yyLOCAL = nil } @@ -10426,20 +10524,20 @@ yydefault: case 339: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *Literal -//line sql.y:2052 +//line sql.y:2053 { yyLOCAL = NewIntLiteral(yyDollar[2].str) } yyVAL.union = yyLOCAL case 340: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2057 +//line sql.y:2058 { yyVAL.LengthScaleOption = LengthScaleOption{} } case 341: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2061 +//line sql.y:2062 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: NewIntLiteral(yyDollar[2].str), @@ -10448,13 +10546,13 @@ yydefault: } case 342: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2069 +//line sql.y:2070 { yyVAL.LengthScaleOption = LengthScaleOption{} } case 343: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2073 +//line sql.y:2074 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: NewIntLiteral(yyDollar[2].str), @@ -10462,7 +10560,7 @@ yydefault: } case 344: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2079 +//line sql.y:2080 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: NewIntLiteral(yyDollar[2].str), @@ -10472,7 +10570,7 @@ yydefault: case 345: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:2087 +//line sql.y:2088 { yyLOCAL = false } @@ -10480,7 +10578,7 @@ yydefault: case 346: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2091 +//line sql.y:2092 { yyLOCAL = true } @@ -10488,7 +10586,7 @@ yydefault: case 347: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2095 +//line sql.y:2096 { yyLOCAL = false } @@ -10496,7 +10594,7 @@ yydefault: case 348: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:2100 +//line sql.y:2101 { yyLOCAL = false } @@ -10504,66 +10602,66 @@ yydefault: case 349: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2104 +//line sql.y:2105 { yyLOCAL = true } yyVAL.union = yyLOCAL case 350: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2109 +//line sql.y:2110 { yyVAL.columnCharset = ColumnCharset{} } case 351: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2113 +//line sql.y:2114 { yyVAL.columnCharset = ColumnCharset{Name: string(yyDollar[2].colIdent.String()), Binary: yyDollar[3].booleanUnion()} } case 352: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2117 +//line sql.y:2118 { yyVAL.columnCharset = ColumnCharset{Name: encodeSQLString(yyDollar[2].str), Binary: yyDollar[3].booleanUnion()} } case 353: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2121 +//line sql.y:2122 { yyVAL.columnCharset = ColumnCharset{Name: string(yyDollar[2].str)} } case 354: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2125 +//line sql.y:2126 { // ASCII: Shorthand for CHARACTER SET latin1. yyVAL.columnCharset = ColumnCharset{Name: "latin1", Binary: yyDollar[2].booleanUnion()} } case 355: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2130 +//line sql.y:2131 { // UNICODE: Shorthand for CHARACTER SET ucs2. yyVAL.columnCharset = ColumnCharset{Name: "ucs2", Binary: yyDollar[2].booleanUnion()} } case 356: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2135 +//line sql.y:2136 { // BINARY: Shorthand for default CHARACTER SET but with binary collation yyVAL.columnCharset = ColumnCharset{Name: "", Binary: true} } case 357: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2140 +//line sql.y:2141 { // BINARY ASCII: Shorthand for CHARACTER SET latin1 with binary collation yyVAL.columnCharset = ColumnCharset{Name: "latin1", Binary: true} } case 358: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2145 +//line sql.y:2146 { // BINARY UNICODE: Shorthand for CHARACTER SET ucs2 with binary collation yyVAL.columnCharset = ColumnCharset{Name: "ucs2", Binary: true} @@ -10571,7 +10669,7 @@ yydefault: case 359: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:2151 +//line sql.y:2152 { yyLOCAL = false } @@ -10579,33 +10677,33 @@ yydefault: case 360: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2155 +//line sql.y:2156 { yyLOCAL = true } yyVAL.union = yyLOCAL case 361: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2160 +//line sql.y:2161 { yyVAL.str = "" } case 362: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2164 +//line sql.y:2165 { yyVAL.str = string(yyDollar[2].colIdent.String()) } case 363: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2168 +//line sql.y:2169 { yyVAL.str = encodeSQLString(yyDollar[2].str) } case 364: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *IndexDefinition -//line sql.y:2174 +//line sql.y:2175 { yyLOCAL = &IndexDefinition{Info: yyDollar[1].indexInfoUnion(), Columns: yyDollar[3].indexColumnsUnion(), Options: yyDollar[5].indexOptionsUnion()} } @@ -10613,7 +10711,7 @@ yydefault: case 365: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:2179 +//line sql.y:2180 { yyLOCAL = nil } @@ -10621,7 +10719,7 @@ yydefault: case 366: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:2183 +//line sql.y:2184 { yyLOCAL = yyDollar[1].indexOptionsUnion() } @@ -10629,14 +10727,14 @@ yydefault: case 367: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:2189 +//line sql.y:2190 { yyLOCAL = []*IndexOption{yyDollar[1].indexOptionUnion()} } yyVAL.union = yyLOCAL case 368: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2193 +//line sql.y:2194 { yySLICE := (*[]*IndexOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].indexOptionUnion()) @@ -10644,7 +10742,7 @@ yydefault: case 369: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2199 +//line sql.y:2200 { yyLOCAL = yyDollar[1].indexOptionUnion() } @@ -10652,7 +10750,7 @@ yydefault: case 370: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2203 +//line sql.y:2204 { // should not be string yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} @@ -10661,7 +10759,7 @@ yydefault: case 371: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2208 +//line sql.y:2209 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[2].str)} } @@ -10669,7 +10767,7 @@ yydefault: case 372: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2212 +//line sql.y:2213 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str)} } @@ -10677,7 +10775,7 @@ yydefault: case 373: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2216 +//line sql.y:2217 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str)} } @@ -10685,7 +10783,7 @@ yydefault: case 374: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2220 +//line sql.y:2221 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str) + " " + string(yyDollar[2].str), String: yyDollar[3].colIdent.String()} } @@ -10693,7 +10791,7 @@ yydefault: case 375: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2224 +//line sql.y:2225 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -10701,27 +10799,27 @@ yydefault: case 376: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2228 +//line sql.y:2229 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } yyVAL.union = yyLOCAL case 377: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2234 +//line sql.y:2235 { yyVAL.str = "" } case 378: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2238 +//line sql.y:2239 { yyVAL.str = string(yyDollar[1].str) } case 379: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *IndexInfo -//line sql.y:2244 +//line sql.y:2245 { yyLOCAL = &IndexInfo{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), ConstraintName: NewColIdent(yyDollar[1].str), Name: NewColIdent("PRIMARY"), Primary: true, Unique: true} } @@ -10729,7 +10827,7 @@ yydefault: case 380: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexInfo -//line sql.y:2248 +//line sql.y:2249 { yyLOCAL = &IndexInfo{Type: string(yyDollar[1].str) + " " + string(yyDollar[2].str), Name: NewColIdent(yyDollar[3].str), Spatial: true, Unique: false} } @@ -10737,7 +10835,7 @@ yydefault: case 381: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexInfo -//line sql.y:2252 +//line sql.y:2253 { yyLOCAL = &IndexInfo{Type: string(yyDollar[1].str) + " " + string(yyDollar[2].str), Name: NewColIdent(yyDollar[3].str), Fulltext: true, Unique: false} } @@ -10745,7 +10843,7 @@ yydefault: case 382: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *IndexInfo -//line sql.y:2256 +//line sql.y:2257 { yyLOCAL = &IndexInfo{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), ConstraintName: NewColIdent(yyDollar[1].str), Name: NewColIdent(yyDollar[4].str), Unique: true} } @@ -10753,100 +10851,100 @@ yydefault: case 383: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *IndexInfo -//line sql.y:2260 +//line sql.y:2261 { yyLOCAL = &IndexInfo{Type: string(yyDollar[1].str), Name: NewColIdent(yyDollar[2].str), Unique: false} } yyVAL.union = yyLOCAL case 384: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2265 +//line sql.y:2266 { yyVAL.str = "" } case 385: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2269 +//line sql.y:2270 { yyVAL.str = yyDollar[2].str } case 386: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2275 +//line sql.y:2276 { yyVAL.str = string(yyDollar[1].str) } case 387: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2279 +//line sql.y:2280 { yyVAL.str = string(yyDollar[1].str) } case 388: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2283 +//line sql.y:2284 { yyVAL.str = string(yyDollar[1].str) } case 389: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2289 +//line sql.y:2290 { yyVAL.str = string(yyDollar[1].str) } case 390: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2293 +//line sql.y:2294 { yyVAL.str = string(yyDollar[1].str) } case 391: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2298 +//line sql.y:2299 { yyVAL.str = "key" } case 392: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2302 +//line sql.y:2303 { yyVAL.str = yyDollar[1].str } case 393: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2308 +//line sql.y:2309 { yyVAL.str = string(yyDollar[1].str) } case 394: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2312 +//line sql.y:2313 { yyVAL.str = string(yyDollar[1].str) } case 395: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2317 +//line sql.y:2318 { yyVAL.str = "" } case 396: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2321 +//line sql.y:2322 { yyVAL.str = string(yyDollar[1].colIdent.String()) } case 397: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*IndexColumn -//line sql.y:2327 +//line sql.y:2328 { yyLOCAL = []*IndexColumn{yyDollar[1].indexColumnUnion()} } yyVAL.union = yyLOCAL case 398: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2331 +//line sql.y:2332 { yySLICE := (*[]*IndexColumn)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].indexColumnUnion()) @@ -10854,7 +10952,7 @@ yydefault: case 399: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexColumn -//line sql.y:2337 +//line sql.y:2338 { yyLOCAL = &IndexColumn{Column: yyDollar[1].colIdent, Length: yyDollar[2].literalUnion(), Direction: yyDollar[3].orderDirectionUnion()} } @@ -10862,7 +10960,7 @@ yydefault: case 400: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *IndexColumn -//line sql.y:2341 +//line sql.y:2342 { yyLOCAL = &IndexColumn{Expression: yyDollar[2].exprUnion(), Direction: yyDollar[4].orderDirectionUnion()} } @@ -10870,7 +10968,7 @@ yydefault: case 401: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ConstraintDefinition -//line sql.y:2347 +//line sql.y:2348 { yyLOCAL = &ConstraintDefinition{Name: yyDollar[2].colIdent, Details: yyDollar[3].constraintInfoUnion()} } @@ -10878,7 +10976,7 @@ yydefault: case 402: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConstraintDefinition -//line sql.y:2351 +//line sql.y:2352 { yyLOCAL = &ConstraintDefinition{Details: yyDollar[1].constraintInfoUnion()} } @@ -10886,7 +10984,7 @@ yydefault: case 403: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ConstraintDefinition -//line sql.y:2357 +//line sql.y:2358 { yyLOCAL = &ConstraintDefinition{Name: yyDollar[2].colIdent, Details: yyDollar[3].constraintInfoUnion()} } @@ -10894,7 +10992,7 @@ yydefault: case 404: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConstraintDefinition -//line sql.y:2361 +//line sql.y:2362 { yyLOCAL = &ConstraintDefinition{Details: yyDollar[1].constraintInfoUnion()} } @@ -10902,7 +11000,7 @@ yydefault: case 405: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL ConstraintInfo -//line sql.y:2367 +//line sql.y:2368 { yyLOCAL = &ForeignKeyDefinition{IndexName: NewColIdent(yyDollar[3].str), Source: yyDollar[5].columnsUnion(), ReferenceDefinition: yyDollar[7].referenceDefinitionUnion()} } @@ -10910,7 +11008,7 @@ yydefault: case 406: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2373 +//line sql.y:2374 { yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion()} } @@ -10918,7 +11016,7 @@ yydefault: case 407: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2377 +//line sql.y:2378 { yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnDelete: yyDollar[7].referenceActionUnion()} } @@ -10926,7 +11024,7 @@ yydefault: case 408: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2381 +//line sql.y:2382 { yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnUpdate: yyDollar[7].referenceActionUnion()} } @@ -10934,7 +11032,7 @@ yydefault: case 409: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2385 +//line sql.y:2386 { yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnDelete: yyDollar[7].referenceActionUnion(), OnUpdate: yyDollar[8].referenceActionUnion()} } @@ -10942,7 +11040,7 @@ yydefault: case 410: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2389 +//line sql.y:2390 { yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnUpdate: yyDollar[7].referenceActionUnion(), OnDelete: yyDollar[8].referenceActionUnion()} } @@ -10950,7 +11048,7 @@ yydefault: case 411: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2394 +//line sql.y:2395 { yyLOCAL = nil } @@ -10958,7 +11056,7 @@ yydefault: case 412: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2398 +//line sql.y:2399 { yyLOCAL = yyDollar[1].referenceDefinitionUnion() } @@ -10966,7 +11064,7 @@ yydefault: case 413: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL ConstraintInfo -//line sql.y:2404 +//line sql.y:2405 { yyLOCAL = &CheckConstraintDefinition{Expr: yyDollar[3].exprUnion(), Enforced: yyDollar[5].booleanUnion()} } @@ -10974,7 +11072,7 @@ yydefault: case 414: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2410 +//line sql.y:2411 { yyLOCAL = yyDollar[2].matchActionUnion() } @@ -10982,7 +11080,7 @@ yydefault: case 415: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2416 +//line sql.y:2417 { yyLOCAL = Full } @@ -10990,7 +11088,7 @@ yydefault: case 416: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2420 +//line sql.y:2421 { yyLOCAL = Partial } @@ -10998,7 +11096,7 @@ yydefault: case 417: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2424 +//line sql.y:2425 { yyLOCAL = Simple } @@ -11006,7 +11104,7 @@ yydefault: case 418: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2429 +//line sql.y:2430 { yyLOCAL = DefaultMatch } @@ -11014,7 +11112,7 @@ yydefault: case 419: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2433 +//line sql.y:2434 { yyLOCAL = yyDollar[1].matchActionUnion() } @@ -11022,7 +11120,7 @@ yydefault: case 420: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2439 +//line sql.y:2440 { yyLOCAL = yyDollar[3].referenceActionUnion() } @@ -11030,7 +11128,7 @@ yydefault: case 421: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2445 +//line sql.y:2446 { yyLOCAL = yyDollar[3].referenceActionUnion() } @@ -11038,7 +11136,7 @@ yydefault: case 422: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2451 +//line sql.y:2452 { yyLOCAL = Restrict } @@ -11046,7 +11144,7 @@ yydefault: case 423: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2455 +//line sql.y:2456 { yyLOCAL = Cascade } @@ -11054,7 +11152,7 @@ yydefault: case 424: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2459 +//line sql.y:2460 { yyLOCAL = NoAction } @@ -11062,7 +11160,7 @@ yydefault: case 425: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2463 +//line sql.y:2464 { yyLOCAL = SetDefault } @@ -11070,33 +11168,33 @@ yydefault: case 426: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2467 +//line sql.y:2468 { yyLOCAL = SetNull } yyVAL.union = yyLOCAL case 427: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2472 +//line sql.y:2473 { yyVAL.str = "" } case 428: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2476 +//line sql.y:2477 { yyVAL.str = string(yyDollar[1].str) } case 429: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2480 +//line sql.y:2481 { yyVAL.str = string(yyDollar[1].str) } case 430: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2486 +//line sql.y:2487 { yyLOCAL = true } @@ -11104,7 +11202,7 @@ yydefault: case 431: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:2490 +//line sql.y:2491 { yyLOCAL = false } @@ -11112,7 +11210,7 @@ yydefault: case 432: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:2495 +//line sql.y:2496 { yyLOCAL = true } @@ -11120,7 +11218,7 @@ yydefault: case 433: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2499 +//line sql.y:2500 { yyLOCAL = yyDollar[1].booleanUnion() } @@ -11128,7 +11226,7 @@ yydefault: case 434: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL TableOptions -//line sql.y:2504 +//line sql.y:2505 { yyLOCAL = nil } @@ -11136,7 +11234,7 @@ yydefault: case 435: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableOptions -//line sql.y:2508 +//line sql.y:2509 { yyLOCAL = yyDollar[1].tableOptionsUnion() } @@ -11144,21 +11242,21 @@ yydefault: case 436: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableOptions -//line sql.y:2514 +//line sql.y:2515 { yyLOCAL = TableOptions{yyDollar[1].tableOptionUnion()} } yyVAL.union = yyLOCAL case 437: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2518 +//line sql.y:2519 { yySLICE := (*TableOptions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableOptionUnion()) } case 438: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2522 +//line sql.y:2523 { yySLICE := (*TableOptions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].tableOptionUnion()) @@ -11166,14 +11264,14 @@ yydefault: case 439: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableOptions -//line sql.y:2528 +//line sql.y:2529 { yyLOCAL = TableOptions{yyDollar[1].tableOptionUnion()} } yyVAL.union = yyLOCAL case 440: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2532 +//line sql.y:2533 { yySLICE := (*TableOptions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].tableOptionUnion()) @@ -11181,7 +11279,7 @@ yydefault: case 441: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2538 +//line sql.y:2539 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11189,7 +11287,7 @@ yydefault: case 442: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2542 +//line sql.y:2543 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11197,7 +11295,7 @@ yydefault: case 443: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2546 +//line sql.y:2547 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11205,7 +11303,7 @@ yydefault: case 444: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2550 +//line sql.y:2551 { yyLOCAL = &TableOption{Name: (string(yyDollar[2].str)), String: yyDollar[4].str, CaseSensitive: true} } @@ -11213,7 +11311,7 @@ yydefault: case 445: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2554 +//line sql.y:2555 { yyLOCAL = &TableOption{Name: string(yyDollar[2].str), String: yyDollar[4].str, CaseSensitive: true} } @@ -11221,7 +11319,7 @@ yydefault: case 446: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2558 +//line sql.y:2559 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11229,7 +11327,7 @@ yydefault: case 447: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2562 +//line sql.y:2563 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11237,7 +11335,7 @@ yydefault: case 448: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2566 +//line sql.y:2567 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11245,7 +11343,7 @@ yydefault: case 449: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2570 +//line sql.y:2571 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11253,7 +11351,7 @@ yydefault: case 450: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2574 +//line sql.y:2575 { yyLOCAL = &TableOption{Name: (string(yyDollar[1].str) + " " + string(yyDollar[2].str)), Value: NewStrLiteral(yyDollar[4].str)} } @@ -11261,7 +11359,7 @@ yydefault: case 451: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2578 +//line sql.y:2579 { yyLOCAL = &TableOption{Name: (string(yyDollar[1].str) + " " + string(yyDollar[2].str)), Value: NewStrLiteral(yyDollar[4].str)} } @@ -11269,7 +11367,7 @@ yydefault: case 452: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2582 +//line sql.y:2583 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11277,7 +11375,7 @@ yydefault: case 453: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2586 +//line sql.y:2587 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11285,7 +11383,7 @@ yydefault: case 454: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2590 +//line sql.y:2591 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: yyDollar[3].tableIdent.String(), CaseSensitive: true} } @@ -11293,7 +11391,7 @@ yydefault: case 455: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2594 +//line sql.y:2595 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11301,7 +11399,7 @@ yydefault: case 456: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2598 +//line sql.y:2599 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} } @@ -11309,7 +11407,7 @@ yydefault: case 457: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2602 +//line sql.y:2603 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11317,7 +11415,7 @@ yydefault: case 458: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2606 +//line sql.y:2607 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11325,7 +11423,7 @@ yydefault: case 459: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2610 +//line sql.y:2611 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11333,7 +11431,7 @@ yydefault: case 460: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2614 +//line sql.y:2615 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11341,7 +11439,7 @@ yydefault: case 461: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2618 +//line sql.y:2619 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} } @@ -11349,7 +11447,7 @@ yydefault: case 462: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2622 +//line sql.y:2623 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11357,7 +11455,7 @@ yydefault: case 463: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2626 +//line sql.y:2627 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} } @@ -11365,7 +11463,7 @@ yydefault: case 464: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2630 +//line sql.y:2631 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11373,7 +11471,7 @@ yydefault: case 465: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2634 +//line sql.y:2635 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11381,7 +11479,7 @@ yydefault: case 466: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2638 +//line sql.y:2639 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} } @@ -11389,7 +11487,7 @@ yydefault: case 467: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2642 +//line sql.y:2643 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11397,7 +11495,7 @@ yydefault: case 468: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2646 +//line sql.y:2647 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} } @@ -11405,7 +11503,7 @@ yydefault: case 469: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2650 +//line sql.y:2651 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11413,7 +11511,7 @@ yydefault: case 470: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2654 +//line sql.y:2655 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: (yyDollar[3].colIdent.String() + yyDollar[4].str)} } @@ -11421,57 +11519,57 @@ yydefault: case 471: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2658 +//line sql.y:2659 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Tables: yyDollar[4].tableNamesUnion()} } yyVAL.union = yyLOCAL case 472: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2663 +//line sql.y:2664 { yyVAL.str = "" } case 473: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2667 +//line sql.y:2668 { yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 474: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2671 +//line sql.y:2672 { yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 484: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2690 +//line sql.y:2691 { yyVAL.str = yyDollar[1].colIdent.String() } case 485: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2694 +//line sql.y:2695 { yyVAL.str = encodeSQLString(yyDollar[1].str) } case 486: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2698 +//line sql.y:2699 { yyVAL.str = string(yyDollar[1].str) } case 487: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2703 +//line sql.y:2704 { yyVAL.str = "" } case 489: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:2709 +//line sql.y:2710 { yyLOCAL = false } @@ -11479,7 +11577,7 @@ yydefault: case 490: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2713 +//line sql.y:2714 { yyLOCAL = true } @@ -11487,7 +11585,7 @@ yydefault: case 491: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ColName -//line sql.y:2718 +//line sql.y:2719 { yyLOCAL = nil } @@ -11495,27 +11593,27 @@ yydefault: case 492: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColName -//line sql.y:2722 +//line sql.y:2723 { yyLOCAL = yyDollar[2].colNameUnion() } yyVAL.union = yyLOCAL case 493: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2727 +//line sql.y:2728 { yyVAL.str = "" } case 494: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2731 +//line sql.y:2732 { yyVAL.str = string(yyDollar[2].str) } case 495: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *Literal -//line sql.y:2736 +//line sql.y:2737 { yyLOCAL = nil } @@ -11523,7 +11621,7 @@ yydefault: case 496: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Literal -//line sql.y:2740 +//line sql.y:2741 { yyLOCAL = NewIntLiteral(yyDollar[2].str) } @@ -11531,7 +11629,7 @@ yydefault: case 497: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Literal -//line sql.y:2744 +//line sql.y:2745 { yyLOCAL = NewDecimalLiteral(yyDollar[2].str) } @@ -11539,7 +11637,7 @@ yydefault: case 498: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2749 +//line sql.y:2750 { yyLOCAL = nil } @@ -11547,14 +11645,14 @@ yydefault: case 499: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2753 +//line sql.y:2754 { yyLOCAL = yyDollar[1].alterOptionsUnion() } yyVAL.union = yyLOCAL case 500: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2757 +//line sql.y:2758 { yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, &OrderByOption{Cols: yyDollar[5].columnsUnion()}) @@ -11562,14 +11660,14 @@ yydefault: case 501: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2761 +//line sql.y:2762 { yyLOCAL = yyDollar[1].alterOptionsUnion() } yyVAL.union = yyLOCAL case 502: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2765 +//line sql.y:2766 { yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].alterOptionsUnion()...) @@ -11577,7 +11675,7 @@ yydefault: case 503: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2769 +//line sql.y:2770 { yyLOCAL = append(append(yyDollar[1].alterOptionsUnion(), yyDollar[3].alterOptionsUnion()...), &OrderByOption{Cols: yyDollar[7].columnsUnion()}) } @@ -11585,21 +11683,21 @@ yydefault: case 504: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2775 +//line sql.y:2776 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} } yyVAL.union = yyLOCAL case 505: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2779 +//line sql.y:2780 { yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion()) } case 506: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2783 +//line sql.y:2784 { yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion()) @@ -11607,7 +11705,7 @@ yydefault: case 507: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2789 +//line sql.y:2790 { yyLOCAL = yyDollar[1].tableOptionsUnion() } @@ -11615,7 +11713,7 @@ yydefault: case 508: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2793 +//line sql.y:2794 { yyLOCAL = &AddConstraintDefinition{ConstraintDefinition: yyDollar[2].constraintDefinitionUnion()} } @@ -11623,7 +11721,7 @@ yydefault: case 509: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2797 +//line sql.y:2798 { yyLOCAL = &AddConstraintDefinition{ConstraintDefinition: yyDollar[2].constraintDefinitionUnion()} } @@ -11631,7 +11729,7 @@ yydefault: case 510: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2801 +//line sql.y:2802 { yyLOCAL = &AddIndexDefinition{IndexDefinition: yyDollar[2].indexDefinitionUnion()} } @@ -11639,7 +11737,7 @@ yydefault: case 511: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2805 +//line sql.y:2806 { yyLOCAL = &AddColumns{Columns: yyDollar[4].columnDefinitionsUnion()} } @@ -11647,7 +11745,7 @@ yydefault: case 512: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2809 +//line sql.y:2810 { yyLOCAL = &AddColumns{Columns: []*ColumnDefinition{yyDollar[3].columnDefinitionUnion()}, First: yyDollar[4].booleanUnion(), After: yyDollar[5].colNameUnion()} } @@ -11655,7 +11753,7 @@ yydefault: case 513: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2813 +//line sql.y:2814 { yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: true} } @@ -11663,7 +11761,7 @@ yydefault: case 514: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2817 +//line sql.y:2818 { yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: false, DefaultVal: yyDollar[6].exprUnion()} } @@ -11671,7 +11769,7 @@ yydefault: case 515: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2821 +//line sql.y:2822 { yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: false, DefaultVal: yyDollar[7].exprUnion()} } @@ -11679,7 +11777,7 @@ yydefault: case 516: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2825 +//line sql.y:2826 { val := false yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), Invisible: &val} @@ -11688,7 +11786,7 @@ yydefault: case 517: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2830 +//line sql.y:2831 { val := true yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), Invisible: &val} @@ -11697,7 +11795,7 @@ yydefault: case 518: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2835 +//line sql.y:2836 { yyLOCAL = &AlterCheck{Name: yyDollar[3].colIdent, Enforced: yyDollar[4].booleanUnion()} } @@ -11705,7 +11803,7 @@ yydefault: case 519: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2839 +//line sql.y:2840 { yyLOCAL = &AlterIndex{Name: yyDollar[3].colIdent, Invisible: false} } @@ -11713,7 +11811,7 @@ yydefault: case 520: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2843 +//line sql.y:2844 { yyLOCAL = &AlterIndex{Name: yyDollar[3].colIdent, Invisible: true} } @@ -11721,7 +11819,7 @@ yydefault: case 521: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2847 +//line sql.y:2848 { yyLOCAL = &ChangeColumn{OldColumn: yyDollar[3].colNameUnion(), NewColDefinition: yyDollar[4].columnDefinitionUnion(), First: yyDollar[5].booleanUnion(), After: yyDollar[6].colNameUnion()} } @@ -11729,7 +11827,7 @@ yydefault: case 522: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2851 +//line sql.y:2852 { yyLOCAL = &ModifyColumn{NewColDefinition: yyDollar[3].columnDefinitionUnion(), First: yyDollar[4].booleanUnion(), After: yyDollar[5].colNameUnion()} } @@ -11737,7 +11835,7 @@ yydefault: case 523: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2855 +//line sql.y:2856 { yyLOCAL = &AlterCharset{CharacterSet: yyDollar[4].str, Collate: yyDollar[5].str} } @@ -11745,7 +11843,7 @@ yydefault: case 524: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2859 +//line sql.y:2860 { yyLOCAL = &KeyState{Enable: false} } @@ -11753,7 +11851,7 @@ yydefault: case 525: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2863 +//line sql.y:2864 { yyLOCAL = &KeyState{Enable: true} } @@ -11761,7 +11859,7 @@ yydefault: case 526: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2867 +//line sql.y:2868 { yyLOCAL = &TablespaceOperation{Import: false} } @@ -11769,7 +11867,7 @@ yydefault: case 527: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2871 +//line sql.y:2872 { yyLOCAL = &TablespaceOperation{Import: true} } @@ -11777,7 +11875,7 @@ yydefault: case 528: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2875 +//line sql.y:2876 { yyLOCAL = &DropColumn{Name: yyDollar[3].colNameUnion()} } @@ -11785,7 +11883,7 @@ yydefault: case 529: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2879 +//line sql.y:2880 { yyLOCAL = &DropKey{Type: NormalKeyType, Name: yyDollar[3].colIdent} } @@ -11793,7 +11891,7 @@ yydefault: case 530: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2883 +//line sql.y:2884 { yyLOCAL = &DropKey{Type: PrimaryKeyType} } @@ -11801,7 +11899,7 @@ yydefault: case 531: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2887 +//line sql.y:2888 { yyLOCAL = &DropKey{Type: ForeignKeyType, Name: yyDollar[4].colIdent} } @@ -11809,7 +11907,7 @@ yydefault: case 532: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2891 +//line sql.y:2892 { yyLOCAL = &DropKey{Type: CheckKeyType, Name: yyDollar[3].colIdent} } @@ -11817,7 +11915,7 @@ yydefault: case 533: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2895 +//line sql.y:2896 { yyLOCAL = &DropKey{Type: CheckKeyType, Name: yyDollar[3].colIdent} } @@ -11825,7 +11923,7 @@ yydefault: case 534: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2899 +//line sql.y:2900 { yyLOCAL = &Force{} } @@ -11833,7 +11931,7 @@ yydefault: case 535: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2903 +//line sql.y:2904 { yyLOCAL = &RenameTableName{Table: yyDollar[3].tableName} } @@ -11841,7 +11939,7 @@ yydefault: case 536: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2907 +//line sql.y:2908 { yyLOCAL = &RenameIndex{OldName: yyDollar[3].colIdent, NewName: yyDollar[5].colIdent} } @@ -11849,14 +11947,14 @@ yydefault: case 537: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2913 +//line sql.y:2914 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} } yyVAL.union = yyLOCAL case 538: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2917 +//line sql.y:2918 { yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion()) @@ -11864,7 +11962,7 @@ yydefault: case 539: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2923 +//line sql.y:2924 { yyLOCAL = AlgorithmValue(string(yyDollar[3].str)) } @@ -11872,7 +11970,7 @@ yydefault: case 540: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2927 +//line sql.y:2928 { yyLOCAL = AlgorithmValue(string(yyDollar[3].str)) } @@ -11880,7 +11978,7 @@ yydefault: case 541: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2931 +//line sql.y:2932 { yyLOCAL = AlgorithmValue(string(yyDollar[3].str)) } @@ -11888,7 +11986,7 @@ yydefault: case 542: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2935 +//line sql.y:2936 { yyLOCAL = AlgorithmValue(string(yyDollar[3].str)) } @@ -11896,7 +11994,7 @@ yydefault: case 543: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2939 +//line sql.y:2940 { yyLOCAL = &LockOption{Type: DefaultType} } @@ -11904,7 +12002,7 @@ yydefault: case 544: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2943 +//line sql.y:2944 { yyLOCAL = &LockOption{Type: NoneType} } @@ -11912,7 +12010,7 @@ yydefault: case 545: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2947 +//line sql.y:2948 { yyLOCAL = &LockOption{Type: SharedType} } @@ -11920,7 +12018,7 @@ yydefault: case 546: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2951 +//line sql.y:2952 { yyLOCAL = &LockOption{Type: ExclusiveType} } @@ -11928,7 +12026,7 @@ yydefault: case 547: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2955 +//line sql.y:2956 { yyLOCAL = &Validation{With: true} } @@ -11936,7 +12034,7 @@ yydefault: case 548: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2959 +//line sql.y:2960 { yyLOCAL = &Validation{With: false} } @@ -11944,7 +12042,7 @@ yydefault: case 549: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:2965 +//line sql.y:2966 { yyDollar[1].alterTableUnion().FullyParsed = true yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion() @@ -11955,7 +12053,7 @@ yydefault: case 550: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:2972 +//line sql.y:2973 { yyDollar[1].alterTableUnion().FullyParsed = true yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion() @@ -11966,7 +12064,7 @@ yydefault: case 551: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:2979 +//line sql.y:2980 { yyDollar[1].alterTableUnion().FullyParsed = true yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion() @@ -11977,7 +12075,7 @@ yydefault: case 552: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:2986 +//line sql.y:2987 { yyDollar[1].alterTableUnion().FullyParsed = true yyDollar[1].alterTableUnion().PartitionSpec = yyDollar[2].partSpecUnion() @@ -11987,7 +12085,7 @@ yydefault: case 553: yyDollar = yyS[yypt-11 : yypt+1] var yyLOCAL Statement -//line sql.y:2992 +//line sql.y:2993 { yyLOCAL = &AlterView{ViewName: yyDollar[7].tableName.ToViewName(), Comments: Comments(yyDollar[2].strs).Parsed(), Algorithm: yyDollar[3].str, Definer: yyDollar[4].definerUnion(), Security: yyDollar[5].str, Columns: yyDollar[8].columnsUnion(), Select: yyDollar[10].selStmtUnion(), CheckOption: yyDollar[11].str} } @@ -11995,7 +12093,7 @@ yydefault: case 554: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3002 +//line sql.y:3003 { yyDollar[1].alterDatabaseUnion().FullyParsed = true yyDollar[1].alterDatabaseUnion().DBName = yyDollar[2].tableIdent @@ -12006,7 +12104,7 @@ yydefault: case 555: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3009 +//line sql.y:3010 { yyDollar[1].alterDatabaseUnion().FullyParsed = true yyDollar[1].alterDatabaseUnion().DBName = yyDollar[2].tableIdent @@ -12017,7 +12115,7 @@ yydefault: case 556: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Statement -//line sql.y:3016 +//line sql.y:3017 { yyLOCAL = &AlterVschema{ Action: CreateVindexDDLAction, @@ -12033,7 +12131,7 @@ yydefault: case 557: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3028 +//line sql.y:3029 { yyLOCAL = &AlterVschema{ Action: DropVindexDDLAction, @@ -12047,7 +12145,7 @@ yydefault: case 558: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3038 +//line sql.y:3039 { yyLOCAL = &AlterVschema{Action: AddVschemaTableDDLAction, Table: yyDollar[6].tableName} } @@ -12055,7 +12153,7 @@ yydefault: case 559: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3042 +//line sql.y:3043 { yyLOCAL = &AlterVschema{Action: DropVschemaTableDDLAction, Table: yyDollar[6].tableName} } @@ -12063,7 +12161,7 @@ yydefault: case 560: yyDollar = yyS[yypt-13 : yypt+1] var yyLOCAL Statement -//line sql.y:3046 +//line sql.y:3047 { yyLOCAL = &AlterVschema{ Action: AddColVindexDDLAction, @@ -12080,7 +12178,7 @@ yydefault: case 561: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Statement -//line sql.y:3059 +//line sql.y:3060 { yyLOCAL = &AlterVschema{ Action: DropColVindexDDLAction, @@ -12094,7 +12192,7 @@ yydefault: case 562: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3069 +//line sql.y:3070 { yyLOCAL = &AlterVschema{Action: AddSequenceDDLAction, Table: yyDollar[6].tableName} } @@ -12102,7 +12200,7 @@ yydefault: case 563: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL Statement -//line sql.y:3073 +//line sql.y:3074 { yyLOCAL = &AlterVschema{ Action: AddAutoIncDDLAction, @@ -12117,7 +12215,7 @@ yydefault: case 564: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3084 +//line sql.y:3085 { yyLOCAL = &AlterMigration{ Type: RetryMigrationType, @@ -12128,7 +12226,7 @@ yydefault: case 565: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3091 +//line sql.y:3092 { yyLOCAL = &AlterMigration{ Type: CleanupMigrationType, @@ -12139,7 +12237,7 @@ yydefault: case 566: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3098 +//line sql.y:3099 { yyLOCAL = &AlterMigration{ Type: CompleteMigrationType, @@ -12150,7 +12248,7 @@ yydefault: case 567: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3105 +//line sql.y:3106 { yyLOCAL = &AlterMigration{ Type: CancelMigrationType, @@ -12161,7 +12259,7 @@ yydefault: case 568: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3112 +//line sql.y:3113 { yyLOCAL = &AlterMigration{ Type: CancelAllMigrationType, @@ -12171,7 +12269,7 @@ yydefault: case 569: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3118 +//line sql.y:3119 { yyLOCAL = &AlterMigration{ Type: ThrottleMigrationType, @@ -12184,7 +12282,7 @@ yydefault: case 570: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3127 +//line sql.y:3128 { yyLOCAL = &AlterMigration{ Type: ThrottleAllMigrationType, @@ -12196,7 +12294,7 @@ yydefault: case 571: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3135 +//line sql.y:3136 { yyLOCAL = &AlterMigration{ Type: UnthrottleMigrationType, @@ -12207,7 +12305,7 @@ yydefault: case 572: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3142 +//line sql.y:3143 { yyLOCAL = &AlterMigration{ Type: UnthrottleAllMigrationType, @@ -12217,7 +12315,7 @@ yydefault: case 573: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3149 +//line sql.y:3150 { yyLOCAL = nil } @@ -12225,7 +12323,7 @@ yydefault: case 574: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3153 +//line sql.y:3154 { yyDollar[3].partitionOptionUnion().Partitions = yyDollar[4].integerUnion() yyDollar[3].partitionOptionUnion().SubPartition = yyDollar[5].subPartitionUnion() @@ -12236,7 +12334,7 @@ yydefault: case 575: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3162 +//line sql.y:3163 { yyLOCAL = &PartitionOption{ IsLinear: yyDollar[1].booleanUnion(), @@ -12248,7 +12346,7 @@ yydefault: case 576: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3170 +//line sql.y:3171 { yyLOCAL = &PartitionOption{ IsLinear: yyDollar[1].booleanUnion(), @@ -12261,7 +12359,7 @@ yydefault: case 577: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3179 +//line sql.y:3180 { yyLOCAL = &PartitionOption{ Type: yyDollar[1].partitionByTypeUnion(), @@ -12272,7 +12370,7 @@ yydefault: case 578: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3186 +//line sql.y:3187 { yyLOCAL = &PartitionOption{ Type: yyDollar[1].partitionByTypeUnion(), @@ -12283,7 +12381,7 @@ yydefault: case 579: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *SubPartition -//line sql.y:3194 +//line sql.y:3195 { yyLOCAL = nil } @@ -12291,7 +12389,7 @@ yydefault: case 580: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *SubPartition -//line sql.y:3198 +//line sql.y:3199 { yyLOCAL = &SubPartition{ IsLinear: yyDollar[3].booleanUnion(), @@ -12304,7 +12402,7 @@ yydefault: case 581: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL *SubPartition -//line sql.y:3207 +//line sql.y:3208 { yyLOCAL = &SubPartition{ IsLinear: yyDollar[3].booleanUnion(), @@ -12318,7 +12416,7 @@ yydefault: case 582: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*PartitionDefinition -//line sql.y:3218 +//line sql.y:3219 { yyLOCAL = nil } @@ -12326,7 +12424,7 @@ yydefault: case 583: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*PartitionDefinition -//line sql.y:3222 +//line sql.y:3223 { yyLOCAL = yyDollar[2].partDefsUnion() } @@ -12334,7 +12432,7 @@ yydefault: case 584: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3227 +//line sql.y:3228 { yyLOCAL = false } @@ -12342,7 +12440,7 @@ yydefault: case 585: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3231 +//line sql.y:3232 { yyLOCAL = true } @@ -12350,7 +12448,7 @@ yydefault: case 586: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int -//line sql.y:3236 +//line sql.y:3237 { yyLOCAL = 0 } @@ -12358,7 +12456,7 @@ yydefault: case 587: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int -//line sql.y:3240 +//line sql.y:3241 { yyLOCAL = convertStringToInt(yyDollar[3].str) } @@ -12366,7 +12464,7 @@ yydefault: case 588: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL TableExpr -//line sql.y:3246 +//line sql.y:3247 { yyLOCAL = &JSONTableExpr{Expr: yyDollar[3].exprUnion(), Filter: yyDollar[5].exprUnion(), Columns: yyDollar[6].jtColumnListUnion(), Alias: yyDollar[8].tableIdent} } @@ -12374,7 +12472,7 @@ yydefault: case 589: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL []*JtColumnDefinition -//line sql.y:3252 +//line sql.y:3253 { yyLOCAL = yyDollar[3].jtColumnListUnion() } @@ -12382,14 +12480,14 @@ yydefault: case 590: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*JtColumnDefinition -//line sql.y:3258 +//line sql.y:3259 { yyLOCAL = []*JtColumnDefinition{yyDollar[1].jtColumnDefinitionUnion()} } yyVAL.union = yyLOCAL case 591: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3262 +//line sql.y:3263 { yySLICE := (*[]*JtColumnDefinition)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].jtColumnDefinitionUnion()) @@ -12397,7 +12495,7 @@ yydefault: case 592: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3268 +//line sql.y:3269 { yyLOCAL = &JtColumnDefinition{JtOrdinal: &JtOrdinalColDef{Name: yyDollar[1].colIdent}} } @@ -12405,7 +12503,7 @@ yydefault: case 593: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3272 +//line sql.y:3273 { yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str} jtPath := &JtPathColDef{Name: yyDollar[1].colIdent, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion()} @@ -12415,7 +12513,7 @@ yydefault: case 594: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3278 +//line sql.y:3279 { yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str} jtPath := &JtPathColDef{Name: yyDollar[1].colIdent, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion()} @@ -12425,7 +12523,7 @@ yydefault: case 595: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3284 +//line sql.y:3285 { yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str} jtPath := &JtPathColDef{Name: yyDollar[1].colIdent, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion(), ErrorOnResponse: yyDollar[7].jtOnResponseUnion()} @@ -12435,7 +12533,7 @@ yydefault: case 596: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3290 +//line sql.y:3291 { yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str} jtPath := &JtPathColDef{Name: yyDollar[1].colIdent, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion(), ErrorOnResponse: yyDollar[8].jtOnResponseUnion()} @@ -12445,7 +12543,7 @@ yydefault: case 597: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3296 +//line sql.y:3297 { jtNestedPath := &JtNestedPathColDef{Path: yyDollar[3].exprUnion(), Columns: yyDollar[4].jtColumnListUnion()} yyLOCAL = &JtColumnDefinition{JtNestedPath: jtNestedPath} @@ -12454,7 +12552,7 @@ yydefault: case 598: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3302 +//line sql.y:3303 { yyLOCAL = false } @@ -12462,7 +12560,7 @@ yydefault: case 599: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3306 +//line sql.y:3307 { yyLOCAL = true } @@ -12470,7 +12568,7 @@ yydefault: case 600: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3310 +//line sql.y:3311 { yyLOCAL = false } @@ -12478,7 +12576,7 @@ yydefault: case 601: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3314 +//line sql.y:3315 { yyLOCAL = true } @@ -12486,7 +12584,7 @@ yydefault: case 602: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3320 +//line sql.y:3321 { yyLOCAL = yyDollar[1].jtOnResponseUnion() } @@ -12494,7 +12592,7 @@ yydefault: case 603: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3326 +//line sql.y:3327 { yyLOCAL = yyDollar[1].jtOnResponseUnion() } @@ -12502,7 +12600,7 @@ yydefault: case 604: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3332 +//line sql.y:3333 { yyLOCAL = &JtOnResponse{ResponseType: ErrorJSONType} } @@ -12510,7 +12608,7 @@ yydefault: case 605: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3336 +//line sql.y:3337 { yyLOCAL = &JtOnResponse{ResponseType: NullJSONType} } @@ -12518,7 +12616,7 @@ yydefault: case 606: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3340 +//line sql.y:3341 { yyLOCAL = &JtOnResponse{ResponseType: DefaultJSONType, Expr: yyDollar[2].exprUnion()} } @@ -12526,7 +12624,7 @@ yydefault: case 607: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL PartitionByType -//line sql.y:3346 +//line sql.y:3347 { yyLOCAL = RangeType } @@ -12534,7 +12632,7 @@ yydefault: case 608: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL PartitionByType -//line sql.y:3350 +//line sql.y:3351 { yyLOCAL = ListType } @@ -12542,7 +12640,7 @@ yydefault: case 609: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int -//line sql.y:3355 +//line sql.y:3356 { yyLOCAL = -1 } @@ -12550,7 +12648,7 @@ yydefault: case 610: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL int -//line sql.y:3359 +//line sql.y:3360 { yyLOCAL = convertStringToInt(yyDollar[2].str) } @@ -12558,7 +12656,7 @@ yydefault: case 611: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int -//line sql.y:3364 +//line sql.y:3365 { yyLOCAL = -1 } @@ -12566,7 +12664,7 @@ yydefault: case 612: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL int -//line sql.y:3368 +//line sql.y:3369 { yyLOCAL = convertStringToInt(yyDollar[2].str) } @@ -12574,7 +12672,7 @@ yydefault: case 613: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3374 +//line sql.y:3375 { yyLOCAL = &PartitionSpec{Action: AddAction, Definitions: []*PartitionDefinition{yyDollar[4].partDefUnion()}} } @@ -12582,7 +12680,7 @@ yydefault: case 614: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3378 +//line sql.y:3379 { yyLOCAL = &PartitionSpec{Action: DropAction, Names: yyDollar[3].partitionsUnion()} } @@ -12590,7 +12688,7 @@ yydefault: case 615: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3382 +//line sql.y:3383 { yyLOCAL = &PartitionSpec{Action: ReorganizeAction, Names: yyDollar[3].partitionsUnion(), Definitions: yyDollar[6].partDefsUnion()} } @@ -12598,7 +12696,7 @@ yydefault: case 616: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3386 +//line sql.y:3387 { yyLOCAL = &PartitionSpec{Action: DiscardAction, Names: yyDollar[3].partitionsUnion()} } @@ -12606,7 +12704,7 @@ yydefault: case 617: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3390 +//line sql.y:3391 { yyLOCAL = &PartitionSpec{Action: DiscardAction, IsAll: true} } @@ -12614,7 +12712,7 @@ yydefault: case 618: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3394 +//line sql.y:3395 { yyLOCAL = &PartitionSpec{Action: ImportAction, Names: yyDollar[3].partitionsUnion()} } @@ -12622,7 +12720,7 @@ yydefault: case 619: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3398 +//line sql.y:3399 { yyLOCAL = &PartitionSpec{Action: ImportAction, IsAll: true} } @@ -12630,7 +12728,7 @@ yydefault: case 620: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3402 +//line sql.y:3403 { yyLOCAL = &PartitionSpec{Action: TruncateAction, Names: yyDollar[3].partitionsUnion()} } @@ -12638,7 +12736,7 @@ yydefault: case 621: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3406 +//line sql.y:3407 { yyLOCAL = &PartitionSpec{Action: TruncateAction, IsAll: true} } @@ -12646,7 +12744,7 @@ yydefault: case 622: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3410 +//line sql.y:3411 { yyLOCAL = &PartitionSpec{Action: CoalesceAction, Number: NewIntLiteral(yyDollar[3].str)} } @@ -12654,7 +12752,7 @@ yydefault: case 623: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3414 +//line sql.y:3415 { yyLOCAL = &PartitionSpec{Action: ExchangeAction, Names: Partitions{yyDollar[3].colIdent}, TableName: yyDollar[6].tableName, WithoutValidation: yyDollar[7].booleanUnion()} } @@ -12662,7 +12760,7 @@ yydefault: case 624: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3418 +//line sql.y:3419 { yyLOCAL = &PartitionSpec{Action: AnalyzeAction, Names: yyDollar[3].partitionsUnion()} } @@ -12670,7 +12768,7 @@ yydefault: case 625: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3422 +//line sql.y:3423 { yyLOCAL = &PartitionSpec{Action: AnalyzeAction, IsAll: true} } @@ -12678,7 +12776,7 @@ yydefault: case 626: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3426 +//line sql.y:3427 { yyLOCAL = &PartitionSpec{Action: CheckAction, Names: yyDollar[3].partitionsUnion()} } @@ -12686,7 +12784,7 @@ yydefault: case 627: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3430 +//line sql.y:3431 { yyLOCAL = &PartitionSpec{Action: CheckAction, IsAll: true} } @@ -12694,7 +12792,7 @@ yydefault: case 628: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3434 +//line sql.y:3435 { yyLOCAL = &PartitionSpec{Action: OptimizeAction, Names: yyDollar[3].partitionsUnion()} } @@ -12702,7 +12800,7 @@ yydefault: case 629: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3438 +//line sql.y:3439 { yyLOCAL = &PartitionSpec{Action: OptimizeAction, IsAll: true} } @@ -12710,7 +12808,7 @@ yydefault: case 630: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3442 +//line sql.y:3443 { yyLOCAL = &PartitionSpec{Action: RebuildAction, Names: yyDollar[3].partitionsUnion()} } @@ -12718,7 +12816,7 @@ yydefault: case 631: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3446 +//line sql.y:3447 { yyLOCAL = &PartitionSpec{Action: RebuildAction, IsAll: true} } @@ -12726,7 +12824,7 @@ yydefault: case 632: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3450 +//line sql.y:3451 { yyLOCAL = &PartitionSpec{Action: RepairAction, Names: yyDollar[3].partitionsUnion()} } @@ -12734,7 +12832,7 @@ yydefault: case 633: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3454 +//line sql.y:3455 { yyLOCAL = &PartitionSpec{Action: RepairAction, IsAll: true} } @@ -12742,7 +12840,7 @@ yydefault: case 634: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3458 +//line sql.y:3459 { yyLOCAL = &PartitionSpec{Action: UpgradeAction} } @@ -12750,7 +12848,7 @@ yydefault: case 635: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3463 +//line sql.y:3464 { yyLOCAL = false } @@ -12758,7 +12856,7 @@ yydefault: case 636: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:3467 +//line sql.y:3468 { yyLOCAL = false } @@ -12766,7 +12864,7 @@ yydefault: case 637: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:3471 +//line sql.y:3472 { yyLOCAL = true } @@ -12774,28 +12872,28 @@ yydefault: case 638: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*PartitionDefinition -//line sql.y:3477 +//line sql.y:3478 { yyLOCAL = []*PartitionDefinition{yyDollar[1].partDefUnion()} } yyVAL.union = yyLOCAL case 639: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3481 +//line sql.y:3482 { yySLICE := (*[]*PartitionDefinition)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].partDefUnion()) } case 640: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3487 +//line sql.y:3488 { yyVAL.partDefUnion().Options = yyDollar[2].partitionDefinitionOptionsUnion() } case 641: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3492 +//line sql.y:3493 { yyLOCAL = &PartitionDefinitionOptions{} } @@ -12803,7 +12901,7 @@ yydefault: case 642: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3496 +//line sql.y:3497 { yyDollar[1].partitionDefinitionOptionsUnion().ValueRange = yyDollar[2].partitionValueRangeUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -12812,7 +12910,7 @@ yydefault: case 643: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3501 +//line sql.y:3502 { yyDollar[1].partitionDefinitionOptionsUnion().Comment = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -12821,7 +12919,7 @@ yydefault: case 644: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3506 +//line sql.y:3507 { yyDollar[1].partitionDefinitionOptionsUnion().Engine = yyDollar[2].partitionEngineUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -12830,7 +12928,7 @@ yydefault: case 645: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3511 +//line sql.y:3512 { yyDollar[1].partitionDefinitionOptionsUnion().DataDirectory = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -12839,7 +12937,7 @@ yydefault: case 646: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3516 +//line sql.y:3517 { yyDollar[1].partitionDefinitionOptionsUnion().IndexDirectory = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -12848,7 +12946,7 @@ yydefault: case 647: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3521 +//line sql.y:3522 { val := yyDollar[2].integerUnion() yyDollar[1].partitionDefinitionOptionsUnion().MaxRows = &val @@ -12858,7 +12956,7 @@ yydefault: case 648: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3527 +//line sql.y:3528 { val := yyDollar[2].integerUnion() yyDollar[1].partitionDefinitionOptionsUnion().MinRows = &val @@ -12868,7 +12966,7 @@ yydefault: case 649: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3533 +//line sql.y:3534 { yyDollar[1].partitionDefinitionOptionsUnion().TableSpace = yyDollar[2].str yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -12877,7 +12975,7 @@ yydefault: case 650: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3538 +//line sql.y:3539 { yyDollar[1].partitionDefinitionOptionsUnion().SubPartitionDefinitions = yyDollar[2].subPartitionDefinitionsUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -12886,7 +12984,7 @@ yydefault: case 651: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SubPartitionDefinitions -//line sql.y:3544 +//line sql.y:3545 { yyLOCAL = yyDollar[2].subPartitionDefinitionsUnion() } @@ -12894,14 +12992,14 @@ yydefault: case 652: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SubPartitionDefinitions -//line sql.y:3550 +//line sql.y:3551 { yyLOCAL = SubPartitionDefinitions{yyDollar[1].subPartitionDefinitionUnion()} } yyVAL.union = yyLOCAL case 653: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3554 +//line sql.y:3555 { yySLICE := (*SubPartitionDefinitions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].subPartitionDefinitionUnion()) @@ -12909,7 +13007,7 @@ yydefault: case 654: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SubPartitionDefinition -//line sql.y:3560 +//line sql.y:3561 { yyLOCAL = &SubPartitionDefinition{Name: yyDollar[2].colIdent, Options: yyDollar[3].subPartitionDefinitionOptionsUnion()} } @@ -12917,7 +13015,7 @@ yydefault: case 655: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3565 +//line sql.y:3566 { yyLOCAL = &SubPartitionDefinitionOptions{} } @@ -12925,7 +13023,7 @@ yydefault: case 656: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3569 +//line sql.y:3570 { yyDollar[1].subPartitionDefinitionOptionsUnion().Comment = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() @@ -12934,7 +13032,7 @@ yydefault: case 657: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3574 +//line sql.y:3575 { yyDollar[1].subPartitionDefinitionOptionsUnion().Engine = yyDollar[2].partitionEngineUnion() yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() @@ -12943,7 +13041,7 @@ yydefault: case 658: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3579 +//line sql.y:3580 { yyDollar[1].subPartitionDefinitionOptionsUnion().DataDirectory = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() @@ -12952,7 +13050,7 @@ yydefault: case 659: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3584 +//line sql.y:3585 { yyDollar[1].subPartitionDefinitionOptionsUnion().IndexDirectory = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() @@ -12961,7 +13059,7 @@ yydefault: case 660: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3589 +//line sql.y:3590 { val := yyDollar[2].integerUnion() yyDollar[1].subPartitionDefinitionOptionsUnion().MaxRows = &val @@ -12971,7 +13069,7 @@ yydefault: case 661: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3595 +//line sql.y:3596 { val := yyDollar[2].integerUnion() yyDollar[1].subPartitionDefinitionOptionsUnion().MinRows = &val @@ -12981,7 +13079,7 @@ yydefault: case 662: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3601 +//line sql.y:3602 { yyDollar[1].subPartitionDefinitionOptionsUnion().TableSpace = yyDollar[2].str yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() @@ -12990,7 +13088,7 @@ yydefault: case 663: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionValueRange -//line sql.y:3608 +//line sql.y:3609 { yyLOCAL = &PartitionValueRange{ Type: LessThanType, @@ -13001,7 +13099,7 @@ yydefault: case 664: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionValueRange -//line sql.y:3615 +//line sql.y:3616 { yyLOCAL = &PartitionValueRange{ Type: LessThanType, @@ -13012,7 +13110,7 @@ yydefault: case 665: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionValueRange -//line sql.y:3622 +//line sql.y:3623 { yyLOCAL = &PartitionValueRange{ Type: InType, @@ -13023,7 +13121,7 @@ yydefault: case 666: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3630 +//line sql.y:3631 { yyLOCAL = false } @@ -13031,7 +13129,7 @@ yydefault: case 667: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3634 +//line sql.y:3635 { yyLOCAL = true } @@ -13039,7 +13137,7 @@ yydefault: case 668: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionEngine -//line sql.y:3640 +//line sql.y:3641 { yyLOCAL = &PartitionEngine{Storage: yyDollar[1].booleanUnion(), Name: yyDollar[4].tableIdent.String()} } @@ -13047,7 +13145,7 @@ yydefault: case 669: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *Literal -//line sql.y:3646 +//line sql.y:3647 { yyLOCAL = NewStrLiteral(yyDollar[3].str) } @@ -13055,7 +13153,7 @@ yydefault: case 670: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Literal -//line sql.y:3652 +//line sql.y:3653 { yyLOCAL = NewStrLiteral(yyDollar[4].str) } @@ -13063,7 +13161,7 @@ yydefault: case 671: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Literal -//line sql.y:3658 +//line sql.y:3659 { yyLOCAL = NewStrLiteral(yyDollar[4].str) } @@ -13071,7 +13169,7 @@ yydefault: case 672: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int -//line sql.y:3664 +//line sql.y:3665 { yyLOCAL = convertStringToInt(yyDollar[3].str) } @@ -13079,41 +13177,41 @@ yydefault: case 673: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int -//line sql.y:3670 +//line sql.y:3671 { yyLOCAL = convertStringToInt(yyDollar[3].str) } yyVAL.union = yyLOCAL case 674: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3676 +//line sql.y:3677 { yyVAL.str = yyDollar[3].tableIdent.String() } case 675: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinition -//line sql.y:3682 +//line sql.y:3683 { yyLOCAL = &PartitionDefinition{Name: yyDollar[2].colIdent} } yyVAL.union = yyLOCAL case 676: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3688 +//line sql.y:3689 { yyVAL.str = "" } case 677: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3692 +//line sql.y:3693 { yyVAL.str = "" } case 678: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3698 +//line sql.y:3699 { yyLOCAL = &RenameTable{TablePairs: yyDollar[3].renameTablePairsUnion()} } @@ -13121,14 +13219,14 @@ yydefault: case 679: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*RenameTablePair -//line sql.y:3704 +//line sql.y:3705 { yyLOCAL = []*RenameTablePair{{FromTable: yyDollar[1].tableName, ToTable: yyDollar[3].tableName}} } yyVAL.union = yyLOCAL case 680: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3708 +//line sql.y:3709 { yySLICE := (*[]*RenameTablePair)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, &RenameTablePair{FromTable: yyDollar[3].tableName, ToTable: yyDollar[5].tableName}) @@ -13136,7 +13234,7 @@ yydefault: case 681: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3714 +//line sql.y:3715 { yyLOCAL = &DropTable{FromTables: yyDollar[6].tableNamesUnion(), IfExists: yyDollar[5].booleanUnion(), Comments: Comments(yyDollar[2].strs).Parsed(), Temp: yyDollar[3].booleanUnion()} } @@ -13144,7 +13242,7 @@ yydefault: case 682: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3718 +//line sql.y:3719 { // Change this to an alter statement if yyDollar[4].colIdent.Lowered() == "primary" { @@ -13157,7 +13255,7 @@ yydefault: case 683: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3727 +//line sql.y:3728 { yyLOCAL = &DropView{FromTables: yyDollar[5].tableNamesUnion(), Comments: Comments(yyDollar[2].strs).Parsed(), IfExists: yyDollar[4].booleanUnion()} } @@ -13165,7 +13263,7 @@ yydefault: case 684: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3731 +//line sql.y:3732 { yyLOCAL = &DropDatabase{Comments: Comments(yyDollar[2].strs).Parsed(), DBName: yyDollar[5].tableIdent, IfExists: yyDollar[4].booleanUnion()} } @@ -13173,7 +13271,7 @@ yydefault: case 685: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3737 +//line sql.y:3738 { yyLOCAL = &TruncateTable{Table: yyDollar[3].tableName} } @@ -13181,7 +13279,7 @@ yydefault: case 686: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3741 +//line sql.y:3742 { yyLOCAL = &TruncateTable{Table: yyDollar[2].tableName} } @@ -13189,7 +13287,7 @@ yydefault: case 687: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3747 +//line sql.y:3748 { yyLOCAL = &OtherRead{} } @@ -13197,7 +13295,7 @@ yydefault: case 688: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3753 +//line sql.y:3754 { yyLOCAL = &Show{&ShowBasic{Command: Charset, Filter: yyDollar[3].showFilterUnion()}} } @@ -13205,7 +13303,7 @@ yydefault: case 689: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3757 +//line sql.y:3758 { yyLOCAL = &Show{&ShowBasic{Command: Collation, Filter: yyDollar[3].showFilterUnion()}} } @@ -13213,7 +13311,7 @@ yydefault: case 690: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3761 +//line sql.y:3762 { yyLOCAL = &Show{&ShowBasic{Full: yyDollar[2].booleanUnion(), Command: Column, Tbl: yyDollar[5].tableName, DbName: yyDollar[6].tableIdent, Filter: yyDollar[7].showFilterUnion()}} } @@ -13221,7 +13319,7 @@ yydefault: case 691: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3765 +//line sql.y:3766 { yyLOCAL = &Show{&ShowBasic{Command: Database, Filter: yyDollar[3].showFilterUnion()}} } @@ -13229,7 +13327,7 @@ yydefault: case 692: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3769 +//line sql.y:3770 { yyLOCAL = &Show{&ShowBasic{Command: Database, Filter: yyDollar[3].showFilterUnion()}} } @@ -13237,7 +13335,7 @@ yydefault: case 693: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3773 +//line sql.y:3774 { yyLOCAL = &Show{&ShowBasic{Command: Keyspace, Filter: yyDollar[3].showFilterUnion()}} } @@ -13245,7 +13343,7 @@ yydefault: case 694: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3777 +//line sql.y:3778 { yyLOCAL = &Show{&ShowBasic{Command: Keyspace, Filter: yyDollar[3].showFilterUnion()}} } @@ -13253,7 +13351,7 @@ yydefault: case 695: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3781 +//line sql.y:3782 { yyLOCAL = &Show{&ShowBasic{Command: Function, Filter: yyDollar[4].showFilterUnion()}} } @@ -13261,7 +13359,7 @@ yydefault: case 696: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3785 +//line sql.y:3786 { yyLOCAL = &Show{&ShowBasic{Command: Index, Tbl: yyDollar[5].tableName, DbName: yyDollar[6].tableIdent, Filter: yyDollar[7].showFilterUnion()}} } @@ -13269,7 +13367,7 @@ yydefault: case 697: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3789 +//line sql.y:3790 { yyLOCAL = &Show{&ShowBasic{Command: OpenTable, DbName: yyDollar[4].tableIdent, Filter: yyDollar[5].showFilterUnion()}} } @@ -13277,7 +13375,7 @@ yydefault: case 698: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3793 +//line sql.y:3794 { yyLOCAL = &Show{&ShowBasic{Command: Privilege}} } @@ -13285,7 +13383,7 @@ yydefault: case 699: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3797 +//line sql.y:3798 { yyLOCAL = &Show{&ShowBasic{Command: Procedure, Filter: yyDollar[4].showFilterUnion()}} } @@ -13293,7 +13391,7 @@ yydefault: case 700: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3801 +//line sql.y:3802 { yyLOCAL = &Show{&ShowBasic{Command: StatusSession, Filter: yyDollar[4].showFilterUnion()}} } @@ -13301,7 +13399,7 @@ yydefault: case 701: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3805 +//line sql.y:3806 { yyLOCAL = &Show{&ShowBasic{Command: StatusGlobal, Filter: yyDollar[4].showFilterUnion()}} } @@ -13309,7 +13407,7 @@ yydefault: case 702: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3809 +//line sql.y:3810 { yyLOCAL = &Show{&ShowBasic{Command: VariableSession, Filter: yyDollar[4].showFilterUnion()}} } @@ -13317,7 +13415,7 @@ yydefault: case 703: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3813 +//line sql.y:3814 { yyLOCAL = &Show{&ShowBasic{Command: VariableGlobal, Filter: yyDollar[4].showFilterUnion()}} } @@ -13325,7 +13423,7 @@ yydefault: case 704: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3817 +//line sql.y:3818 { yyLOCAL = &Show{&ShowBasic{Command: TableStatus, DbName: yyDollar[4].tableIdent, Filter: yyDollar[5].showFilterUnion()}} } @@ -13333,7 +13431,7 @@ yydefault: case 705: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3821 +//line sql.y:3822 { yyLOCAL = &Show{&ShowBasic{Command: Table, Full: yyDollar[2].booleanUnion(), DbName: yyDollar[4].tableIdent, Filter: yyDollar[5].showFilterUnion()}} } @@ -13341,7 +13439,7 @@ yydefault: case 706: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3825 +//line sql.y:3826 { yyLOCAL = &Show{&ShowBasic{Command: Trigger, DbName: yyDollar[3].tableIdent, Filter: yyDollar[4].showFilterUnion()}} } @@ -13349,7 +13447,7 @@ yydefault: case 707: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3829 +//line sql.y:3830 { yyLOCAL = &Show{&ShowCreate{Command: CreateDb, Op: yyDollar[4].tableName}} } @@ -13357,7 +13455,7 @@ yydefault: case 708: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3833 +//line sql.y:3834 { yyLOCAL = &Show{&ShowCreate{Command: CreateE, Op: yyDollar[4].tableName}} } @@ -13365,7 +13463,7 @@ yydefault: case 709: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3837 +//line sql.y:3838 { yyLOCAL = &Show{&ShowCreate{Command: CreateF, Op: yyDollar[4].tableName}} } @@ -13373,7 +13471,7 @@ yydefault: case 710: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3841 +//line sql.y:3842 { yyLOCAL = &Show{&ShowCreate{Command: CreateProc, Op: yyDollar[4].tableName}} } @@ -13381,7 +13479,7 @@ yydefault: case 711: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3845 +//line sql.y:3846 { yyLOCAL = &Show{&ShowCreate{Command: CreateTbl, Op: yyDollar[4].tableName}} } @@ -13389,7 +13487,7 @@ yydefault: case 712: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3849 +//line sql.y:3850 { yyLOCAL = &Show{&ShowCreate{Command: CreateTr, Op: yyDollar[4].tableName}} } @@ -13397,7 +13495,7 @@ yydefault: case 713: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3853 +//line sql.y:3854 { yyLOCAL = &Show{&ShowCreate{Command: CreateV, Op: yyDollar[4].tableName}} } @@ -13405,7 +13503,7 @@ yydefault: case 714: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3857 +//line sql.y:3858 { yyLOCAL = &Show{&ShowBasic{Command: Engines}} } @@ -13413,7 +13511,7 @@ yydefault: case 715: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3861 +//line sql.y:3862 { yyLOCAL = &Show{&ShowBasic{Command: Plugins}} } @@ -13421,7 +13519,7 @@ yydefault: case 716: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3865 +//line sql.y:3866 { yyLOCAL = &Show{&ShowBasic{Command: GtidExecGlobal, DbName: yyDollar[4].tableIdent}} } @@ -13429,7 +13527,7 @@ yydefault: case 717: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3869 +//line sql.y:3870 { yyLOCAL = &Show{&ShowBasic{Command: VGtidExecGlobal, DbName: yyDollar[4].tableIdent}} } @@ -13437,7 +13535,7 @@ yydefault: case 718: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3873 +//line sql.y:3874 { yyLOCAL = &Show{&ShowBasic{Command: VitessVariables, Filter: yyDollar[4].showFilterUnion()}} } @@ -13445,7 +13543,7 @@ yydefault: case 719: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3877 +//line sql.y:3878 { yyLOCAL = &Show{&ShowBasic{Command: VitessMigrations, Filter: yyDollar[4].showFilterUnion(), DbName: yyDollar[3].tableIdent}} } @@ -13453,7 +13551,7 @@ yydefault: case 720: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3881 +//line sql.y:3882 { yyLOCAL = &ShowMigrationLogs{UUID: string(yyDollar[3].str)} } @@ -13461,7 +13559,7 @@ yydefault: case 721: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3885 +//line sql.y:3886 { yyLOCAL = &ShowThrottledApps{} } @@ -13469,7 +13567,7 @@ yydefault: case 722: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3889 +//line sql.y:3890 { yyLOCAL = &Show{&ShowBasic{Command: VitessReplicationStatus, Filter: yyDollar[3].showFilterUnion()}} } @@ -13477,7 +13575,7 @@ yydefault: case 723: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3893 +//line sql.y:3894 { yyLOCAL = &Show{&ShowBasic{Command: VschemaTables}} } @@ -13485,7 +13583,7 @@ yydefault: case 724: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3897 +//line sql.y:3898 { yyLOCAL = &Show{&ShowBasic{Command: VschemaVindexes}} } @@ -13493,7 +13591,7 @@ yydefault: case 725: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3901 +//line sql.y:3902 { yyLOCAL = &Show{&ShowBasic{Command: VschemaVindexes, Tbl: yyDollar[5].tableName}} } @@ -13501,7 +13599,7 @@ yydefault: case 726: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3905 +//line sql.y:3906 { yyLOCAL = &Show{&ShowBasic{Command: Warnings}} } @@ -13509,7 +13607,7 @@ yydefault: case 727: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3909 +//line sql.y:3910 { yyLOCAL = &Show{&ShowBasic{Command: VitessShards, Filter: yyDollar[3].showFilterUnion()}} } @@ -13517,7 +13615,7 @@ yydefault: case 728: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3913 +//line sql.y:3914 { yyLOCAL = &Show{&ShowBasic{Command: VitessTablets, Filter: yyDollar[3].showFilterUnion()}} } @@ -13525,7 +13623,7 @@ yydefault: case 729: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3917 +//line sql.y:3918 { yyLOCAL = &Show{&ShowBasic{Command: VitessTarget}} } @@ -13533,7 +13631,7 @@ yydefault: case 730: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3924 +//line sql.y:3925 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].colIdent.String())}} } @@ -13541,7 +13639,7 @@ yydefault: case 731: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3928 +//line sql.y:3929 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str)}} } @@ -13549,7 +13647,7 @@ yydefault: case 732: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3932 +//line sql.y:3933 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + yyDollar[3].colIdent.String()}} } @@ -13557,7 +13655,7 @@ yydefault: case 733: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3936 +//line sql.y:3937 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str)}} } @@ -13565,7 +13663,7 @@ yydefault: case 734: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3940 +//line sql.y:3941 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str)}} } @@ -13573,7 +13671,7 @@ yydefault: case 735: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3944 +//line sql.y:3945 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str) + " " + String(yyDollar[4].tableName)}} } @@ -13581,7 +13679,7 @@ yydefault: case 736: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3948 +//line sql.y:3949 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str) + " " + String(yyDollar[4].tableName)}} } @@ -13589,7 +13687,7 @@ yydefault: case 737: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3952 +//line sql.y:3953 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[3].str)}} } @@ -13597,27 +13695,27 @@ yydefault: case 738: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3956 +//line sql.y:3957 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str)}} } yyVAL.union = yyLOCAL case 739: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3962 +//line sql.y:3963 { yyVAL.str = "" } case 740: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3966 +//line sql.y:3967 { yyVAL.str = "extended " } case 741: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3972 +//line sql.y:3973 { yyLOCAL = false } @@ -13625,45 +13723,45 @@ yydefault: case 742: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3976 +//line sql.y:3977 { yyLOCAL = true } yyVAL.union = yyLOCAL case 743: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3982 +//line sql.y:3983 { yyVAL.str = string(yyDollar[1].str) } case 744: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3986 +//line sql.y:3987 { yyVAL.str = string(yyDollar[1].str) } case 745: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3992 +//line sql.y:3993 { yyVAL.tableIdent = NewTableIdent("") } case 746: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3996 +//line sql.y:3997 { yyVAL.tableIdent = yyDollar[2].tableIdent } case 747: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4000 +//line sql.y:4001 { yyVAL.tableIdent = yyDollar[2].tableIdent } case 748: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:4006 +//line sql.y:4007 { yyLOCAL = nil } @@ -13671,7 +13769,7 @@ yydefault: case 749: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:4010 +//line sql.y:4011 { yyLOCAL = &ShowFilter{Like: string(yyDollar[2].str)} } @@ -13679,7 +13777,7 @@ yydefault: case 750: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:4014 +//line sql.y:4015 { yyLOCAL = &ShowFilter{Filter: yyDollar[2].exprUnion()} } @@ -13687,7 +13785,7 @@ yydefault: case 751: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:4020 +//line sql.y:4021 { yyLOCAL = nil } @@ -13695,45 +13793,45 @@ yydefault: case 752: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:4024 +//line sql.y:4025 { yyLOCAL = &ShowFilter{Like: string(yyDollar[2].str)} } yyVAL.union = yyLOCAL case 753: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4030 +//line sql.y:4031 { yyVAL.empty = struct{}{} } case 754: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4034 +//line sql.y:4035 { yyVAL.empty = struct{}{} } case 755: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4038 +//line sql.y:4039 { yyVAL.empty = struct{}{} } case 756: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4044 +//line sql.y:4045 { yyVAL.str = string(yyDollar[1].str) } case 757: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4048 +//line sql.y:4049 { yyVAL.str = string(yyDollar[1].str) } case 758: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4054 +//line sql.y:4055 { yyLOCAL = &Use{DBName: yyDollar[2].tableIdent} } @@ -13741,7 +13839,7 @@ yydefault: case 759: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4058 +//line sql.y:4059 { yyLOCAL = &Use{DBName: TableIdent{v: ""}} } @@ -13749,7 +13847,7 @@ yydefault: case 760: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4062 +//line sql.y:4063 { yyLOCAL = &Use{DBName: NewTableIdent(yyDollar[2].tableIdent.String() + "@" + string(yyDollar[3].str))} } @@ -13757,7 +13855,7 @@ yydefault: case 761: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4068 +//line sql.y:4069 { yyLOCAL = &Begin{} } @@ -13765,7 +13863,7 @@ yydefault: case 762: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4072 +//line sql.y:4073 { yyLOCAL = &Begin{} } @@ -13773,7 +13871,7 @@ yydefault: case 763: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4078 +//line sql.y:4079 { yyLOCAL = &Commit{} } @@ -13781,7 +13879,7 @@ yydefault: case 764: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4084 +//line sql.y:4085 { yyLOCAL = &Rollback{} } @@ -13789,39 +13887,39 @@ yydefault: case 765: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:4088 +//line sql.y:4089 { yyLOCAL = &SRollback{Name: yyDollar[5].colIdent} } yyVAL.union = yyLOCAL case 766: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4093 +//line sql.y:4094 { yyVAL.empty = struct{}{} } case 767: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4095 +//line sql.y:4096 { yyVAL.empty = struct{}{} } case 768: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4098 +//line sql.y:4099 { yyVAL.empty = struct{}{} } case 769: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4100 +//line sql.y:4101 { yyVAL.empty = struct{}{} } case 770: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4104 +//line sql.y:4105 { yyLOCAL = &Savepoint{Name: yyDollar[2].colIdent} } @@ -13829,7 +13927,7 @@ yydefault: case 771: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4110 +//line sql.y:4111 { yyLOCAL = &Release{Name: yyDollar[3].colIdent} } @@ -13837,7 +13935,7 @@ yydefault: case 772: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4115 +//line sql.y:4116 { yyLOCAL = EmptyType } @@ -13845,7 +13943,7 @@ yydefault: case 773: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4119 +//line sql.y:4120 { yyLOCAL = JSONType } @@ -13853,7 +13951,7 @@ yydefault: case 774: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4123 +//line sql.y:4124 { yyLOCAL = TreeType } @@ -13861,7 +13959,7 @@ yydefault: case 775: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4127 +//line sql.y:4128 { yyLOCAL = VitessType } @@ -13869,7 +13967,7 @@ yydefault: case 776: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4131 +//line sql.y:4132 { yyLOCAL = TraditionalType } @@ -13877,33 +13975,33 @@ yydefault: case 777: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4135 +//line sql.y:4136 { yyLOCAL = AnalyzeType } yyVAL.union = yyLOCAL case 778: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4141 +//line sql.y:4142 { yyVAL.str = yyDollar[1].str } case 779: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4145 +//line sql.y:4146 { yyVAL.str = yyDollar[1].str } case 780: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4149 +//line sql.y:4150 { yyVAL.str = yyDollar[1].str } case 781: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4155 +//line sql.y:4156 { yyLOCAL = yyDollar[1].selStmtUnion() } @@ -13911,7 +14009,7 @@ yydefault: case 782: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4159 +//line sql.y:4160 { yyLOCAL = yyDollar[1].statementUnion() } @@ -13919,7 +14017,7 @@ yydefault: case 783: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4163 +//line sql.y:4164 { yyLOCAL = yyDollar[1].statementUnion() } @@ -13927,33 +14025,33 @@ yydefault: case 784: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4167 +//line sql.y:4168 { yyLOCAL = yyDollar[1].statementUnion() } yyVAL.union = yyLOCAL case 785: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4172 +//line sql.y:4173 { yyVAL.str = "" } case 786: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4176 +//line sql.y:4177 { yyVAL.str = yyDollar[1].colIdent.val } case 787: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4180 +//line sql.y:4181 { yyVAL.str = encodeSQLString(yyDollar[1].str) } case 788: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4186 +//line sql.y:4187 { yyLOCAL = &ExplainTab{Table: yyDollar[2].tableName, Wild: yyDollar[3].str} } @@ -13961,7 +14059,7 @@ yydefault: case 789: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4190 +//line sql.y:4191 { yyLOCAL = &ExplainStmt{Type: yyDollar[2].explainTypeUnion(), Statement: yyDollar[3].statementUnion()} } @@ -13969,7 +14067,7 @@ yydefault: case 790: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4196 +//line sql.y:4197 { yyLOCAL = &OtherAdmin{} } @@ -13977,7 +14075,7 @@ yydefault: case 791: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4200 +//line sql.y:4201 { yyLOCAL = &OtherAdmin{} } @@ -13985,7 +14083,7 @@ yydefault: case 792: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4206 +//line sql.y:4207 { yyLOCAL = &LockTables{Tables: yyDollar[3].tableAndLockTypesUnion()} } @@ -13993,14 +14091,14 @@ yydefault: case 793: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableAndLockTypes -//line sql.y:4212 +//line sql.y:4213 { yyLOCAL = TableAndLockTypes{yyDollar[1].tableAndLockTypeUnion()} } yyVAL.union = yyLOCAL case 794: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4216 +//line sql.y:4217 { yySLICE := (*TableAndLockTypes)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableAndLockTypeUnion()) @@ -14008,7 +14106,7 @@ yydefault: case 795: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *TableAndLockType -//line sql.y:4222 +//line sql.y:4223 { yyLOCAL = &TableAndLockType{Table: yyDollar[1].aliasedTableNameUnion(), Lock: yyDollar[2].lockTypeUnion()} } @@ -14016,7 +14114,7 @@ yydefault: case 796: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL LockType -//line sql.y:4228 +//line sql.y:4229 { yyLOCAL = Read } @@ -14024,7 +14122,7 @@ yydefault: case 797: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL LockType -//line sql.y:4232 +//line sql.y:4233 { yyLOCAL = ReadLocal } @@ -14032,7 +14130,7 @@ yydefault: case 798: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL LockType -//line sql.y:4236 +//line sql.y:4237 { yyLOCAL = Write } @@ -14040,7 +14138,7 @@ yydefault: case 799: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL LockType -//line sql.y:4240 +//line sql.y:4241 { yyLOCAL = LowPriorityWrite } @@ -14048,7 +14146,7 @@ yydefault: case 800: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4246 +//line sql.y:4247 { yyLOCAL = &UnlockTables{} } @@ -14056,7 +14154,7 @@ yydefault: case 801: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4252 +//line sql.y:4253 { yyLOCAL = &RevertMigration{Comments: Comments(yyDollar[2].strs).Parsed(), UUID: string(yyDollar[4].str)} } @@ -14064,7 +14162,7 @@ yydefault: case 802: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4258 +//line sql.y:4259 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), FlushOptions: yyDollar[3].strs} } @@ -14072,7 +14170,7 @@ yydefault: case 803: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4262 +//line sql.y:4263 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion()} } @@ -14080,7 +14178,7 @@ yydefault: case 804: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:4266 +//line sql.y:4267 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), WithLock: true} } @@ -14088,7 +14186,7 @@ yydefault: case 805: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4270 +//line sql.y:4271 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion()} } @@ -14096,7 +14194,7 @@ yydefault: case 806: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:4274 +//line sql.y:4275 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion(), WithLock: true} } @@ -14104,99 +14202,99 @@ yydefault: case 807: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:4278 +//line sql.y:4279 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion(), ForExport: true} } yyVAL.union = yyLOCAL case 808: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4284 +//line sql.y:4285 { yyVAL.strs = []string{yyDollar[1].str} } case 809: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4288 +//line sql.y:4289 { yyVAL.strs = append(yyDollar[1].strs, yyDollar[3].str) } case 810: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4294 +//line sql.y:4295 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 811: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4298 +//line sql.y:4299 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 812: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4302 +//line sql.y:4303 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 813: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4306 +//line sql.y:4307 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 814: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4310 +//line sql.y:4311 { yyVAL.str = string(yyDollar[1].str) } case 815: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4314 +//line sql.y:4315 { yyVAL.str = string(yyDollar[1].str) } case 816: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4318 +//line sql.y:4319 { yyVAL.str = string(yyDollar[1].str) } case 817: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4322 +//line sql.y:4323 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) + yyDollar[3].str } case 818: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4326 +//line sql.y:4327 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 819: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4330 +//line sql.y:4331 { yyVAL.str = string(yyDollar[1].str) } case 820: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4334 +//line sql.y:4335 { yyVAL.str = string(yyDollar[1].str) } case 821: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4338 +//line sql.y:4339 { yyVAL.str = string(yyDollar[1].str) } case 822: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:4343 +//line sql.y:4344 { yyLOCAL = false } @@ -14204,7 +14302,7 @@ yydefault: case 823: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4347 +//line sql.y:4348 { yyLOCAL = true } @@ -14212,52 +14310,52 @@ yydefault: case 824: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4351 +//line sql.y:4352 { yyLOCAL = true } yyVAL.union = yyLOCAL case 825: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4356 +//line sql.y:4357 { yyVAL.str = "" } case 826: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4360 +//line sql.y:4361 { yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str) + " " + yyDollar[3].colIdent.String() } case 827: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4365 +//line sql.y:4366 { setAllowComments(yylex, true) } case 828: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4369 +//line sql.y:4370 { yyVAL.strs = yyDollar[2].strs setAllowComments(yylex, false) } case 829: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4375 +//line sql.y:4376 { yyVAL.strs = nil } case 830: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4379 +//line sql.y:4380 { yyVAL.strs = append(yyDollar[1].strs, yyDollar[2].str) } case 831: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4385 +//line sql.y:4386 { yyLOCAL = true } @@ -14265,7 +14363,7 @@ yydefault: case 832: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:4389 +//line sql.y:4390 { yyLOCAL = false } @@ -14273,33 +14371,33 @@ yydefault: case 833: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:4393 +//line sql.y:4394 { yyLOCAL = true } yyVAL.union = yyLOCAL case 834: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4398 +//line sql.y:4399 { yyVAL.str = "" } case 835: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4402 +//line sql.y:4403 { yyVAL.str = SQLNoCacheStr } case 836: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4406 +//line sql.y:4407 { yyVAL.str = SQLCacheStr } case 837: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:4411 +//line sql.y:4412 { yyLOCAL = false } @@ -14307,7 +14405,7 @@ yydefault: case 838: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4415 +//line sql.y:4416 { yyLOCAL = true } @@ -14315,7 +14413,7 @@ yydefault: case 839: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4419 +//line sql.y:4420 { yyLOCAL = true } @@ -14323,7 +14421,7 @@ yydefault: case 840: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:4425 +//line sql.y:4426 { yyLOCAL = &PrepareStmt{Name: yyDollar[3].colIdent, Comments: Comments(yyDollar[2].strs).Parsed(), Statement: yyDollar[5].exprUnion()} } @@ -14331,7 +14429,7 @@ yydefault: case 841: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:4429 +//line sql.y:4430 { yyLOCAL = &PrepareStmt{ Name: yyDollar[3].colIdent, @@ -14345,7 +14443,7 @@ yydefault: case 842: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4441 +//line sql.y:4442 { yyLOCAL = &ExecuteStmt{Name: yyDollar[3].colIdent, Comments: Comments(yyDollar[2].strs).Parsed(), Arguments: yyDollar[4].columnsUnion()} } @@ -14353,7 +14451,7 @@ yydefault: case 843: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Columns -//line sql.y:4446 +//line sql.y:4447 { yyLOCAL = nil } @@ -14361,7 +14459,7 @@ yydefault: case 844: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Columns -//line sql.y:4450 +//line sql.y:4451 { yyLOCAL = yyDollar[2].columnsUnion() } @@ -14369,7 +14467,7 @@ yydefault: case 845: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4456 +//line sql.y:4457 { yyLOCAL = &DeallocateStmt{Type: DeallocateType, Comments: Comments(yyDollar[2].strs).Parsed(), Name: yyDollar[4].colIdent} } @@ -14377,7 +14475,7 @@ yydefault: case 846: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4460 +//line sql.y:4461 { yyLOCAL = &DeallocateStmt{Type: DropType, Comments: Comments(yyDollar[2].strs).Parsed(), Name: yyDollar[4].colIdent} } @@ -14385,7 +14483,7 @@ yydefault: case 847: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL SelectExprs -//line sql.y:4465 +//line sql.y:4466 { yyLOCAL = nil } @@ -14393,87 +14491,87 @@ yydefault: case 848: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectExprs -//line sql.y:4469 +//line sql.y:4470 { yyLOCAL = yyDollar[1].selectExprsUnion() } yyVAL.union = yyLOCAL case 849: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4474 +//line sql.y:4475 { yyVAL.strs = nil } case 850: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4478 +//line sql.y:4479 { yyVAL.strs = []string{yyDollar[1].str} } case 851: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4482 +//line sql.y:4483 { // TODO: This is a hack since I couldn't get it to work in a nicer way. I got 'conflicts: 8 shift/reduce' yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str} } case 852: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4486 +//line sql.y:4487 { yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str, yyDollar[3].str} } case 853: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4490 +//line sql.y:4491 { yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str, yyDollar[3].str, yyDollar[4].str} } case 854: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4496 +//line sql.y:4497 { yyVAL.str = SQLNoCacheStr } case 855: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4500 +//line sql.y:4501 { yyVAL.str = SQLCacheStr } case 856: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4504 +//line sql.y:4505 { yyVAL.str = DistinctStr } case 857: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4508 +//line sql.y:4509 { yyVAL.str = DistinctStr } case 858: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4512 +//line sql.y:4513 { yyVAL.str = StraightJoinHint } case 859: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4516 +//line sql.y:4517 { yyVAL.str = SQLCalcFoundRowsStr } case 860: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4520 +//line sql.y:4521 { 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 } case 861: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL StarExpr -//line sql.y:4526 +//line sql.y:4527 { yyLOCAL = StarExpr{} } @@ -14481,14 +14579,14 @@ yydefault: case 862: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectExprs -//line sql.y:4532 +//line sql.y:4533 { yyLOCAL = SelectExprs{yyDollar[1].selectExprUnion()} } yyVAL.union = yyLOCAL case 863: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4536 +//line sql.y:4537 { yySLICE := (*SelectExprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].selectExprUnion()) @@ -14496,7 +14594,7 @@ yydefault: case 864: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectExpr -//line sql.y:4542 +//line sql.y:4543 { yyLOCAL = &StarExpr{} } @@ -14504,7 +14602,7 @@ yydefault: case 865: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectExpr -//line sql.y:4546 +//line sql.y:4547 { yyLOCAL = &AliasedExpr{Expr: yyDollar[1].exprUnion(), As: yyDollar[2].colIdent} } @@ -14512,7 +14610,7 @@ yydefault: case 866: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectExpr -//line sql.y:4550 +//line sql.y:4551 { yyLOCAL = &StarExpr{TableName: TableName{Name: yyDollar[1].tableIdent}} } @@ -14520,39 +14618,39 @@ yydefault: case 867: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL SelectExpr -//line sql.y:4554 +//line sql.y:4555 { yyLOCAL = &StarExpr{TableName: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}} } yyVAL.union = yyLOCAL case 868: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4559 +//line sql.y:4560 { yyVAL.colIdent = ColIdent{} } case 869: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4563 +//line sql.y:4564 { yyVAL.colIdent = yyDollar[1].colIdent } case 870: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4567 +//line sql.y:4568 { yyVAL.colIdent = yyDollar[2].colIdent } case 872: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4574 +//line sql.y:4575 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].str)) } case 873: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL TableExprs -//line sql.y:4579 +//line sql.y:4580 { yyLOCAL = TableExprs{&AliasedTableExpr{Expr: TableName{Name: NewTableIdent("dual")}}} } @@ -14560,7 +14658,7 @@ yydefault: case 874: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableExprs -//line sql.y:4583 +//line sql.y:4584 { yyLOCAL = yyDollar[1].tableExprsUnion() } @@ -14568,7 +14666,7 @@ yydefault: case 875: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL TableExprs -//line sql.y:4589 +//line sql.y:4590 { yyLOCAL = yyDollar[2].tableExprsUnion() } @@ -14576,14 +14674,14 @@ yydefault: case 876: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableExprs -//line sql.y:4595 +//line sql.y:4596 { yyLOCAL = TableExprs{yyDollar[1].tableExprUnion()} } yyVAL.union = yyLOCAL case 877: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4599 +//line sql.y:4600 { yySLICE := (*TableExprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableExprUnion()) @@ -14591,7 +14689,7 @@ yydefault: case 880: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4609 +//line sql.y:4610 { yyLOCAL = yyDollar[1].aliasedTableNameUnion() } @@ -14599,7 +14697,7 @@ yydefault: case 881: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4613 +//line sql.y:4614 { yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].derivedTableUnion(), As: yyDollar[3].tableIdent, Columns: yyDollar[4].columnsUnion()} } @@ -14607,7 +14705,7 @@ yydefault: case 882: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4617 +//line sql.y:4618 { yyLOCAL = &ParenTableExpr{Exprs: yyDollar[2].tableExprsUnion()} } @@ -14615,7 +14713,7 @@ yydefault: case 883: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4621 +//line sql.y:4622 { yyLOCAL = yyDollar[1].tableExprUnion() } @@ -14623,7 +14721,7 @@ yydefault: case 884: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *DerivedTable -//line sql.y:4627 +//line sql.y:4628 { yyLOCAL = &DerivedTable{Lateral: false, Select: yyDollar[2].selStmtUnion()} } @@ -14631,7 +14729,7 @@ yydefault: case 885: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *DerivedTable -//line sql.y:4631 +//line sql.y:4632 { yyLOCAL = &DerivedTable{Lateral: true, Select: yyDollar[3].selStmtUnion()} } @@ -14639,7 +14737,7 @@ yydefault: case 886: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *AliasedTableExpr -//line sql.y:4637 +//line sql.y:4638 { yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].tableName, As: yyDollar[2].tableIdent, Hints: yyDollar[3].indexHintsUnion()} } @@ -14647,7 +14745,7 @@ yydefault: case 887: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *AliasedTableExpr -//line sql.y:4641 +//line sql.y:4642 { yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].tableName, Partitions: yyDollar[4].partitionsUnion(), As: yyDollar[6].tableIdent, Hints: yyDollar[7].indexHintsUnion()} } @@ -14655,7 +14753,7 @@ yydefault: case 888: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Columns -//line sql.y:4646 +//line sql.y:4647 { yyLOCAL = nil } @@ -14663,7 +14761,7 @@ yydefault: case 889: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Columns -//line sql.y:4650 +//line sql.y:4651 { yyLOCAL = yyDollar[2].columnsUnion() } @@ -14671,14 +14769,14 @@ yydefault: case 890: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:4656 +//line sql.y:4657 { yyLOCAL = Columns{yyDollar[1].colIdent} } yyVAL.union = yyLOCAL case 891: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4660 +//line sql.y:4661 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].colIdent) @@ -14686,14 +14784,14 @@ yydefault: case 892: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:4666 +//line sql.y:4667 { yyLOCAL = Columns{NewColIdentWithAt(string(yyDollar[1].str), SingleAt)} } yyVAL.union = yyLOCAL case 893: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4670 +//line sql.y:4671 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, NewColIdentWithAt(string(yyDollar[3].str), SingleAt)) @@ -14701,7 +14799,7 @@ yydefault: case 894: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:4676 +//line sql.y:4677 { yyLOCAL = Columns{yyDollar[1].colIdent} } @@ -14709,21 +14807,21 @@ yydefault: case 895: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:4680 +//line sql.y:4681 { yyLOCAL = Columns{NewColIdent(string(yyDollar[1].str))} } yyVAL.union = yyLOCAL case 896: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4684 +//line sql.y:4685 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].colIdent) } case 897: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4688 +//line sql.y:4689 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, NewColIdent(string(yyDollar[3].str))) @@ -14731,14 +14829,14 @@ yydefault: case 898: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Partitions -//line sql.y:4694 +//line sql.y:4695 { yyLOCAL = Partitions{yyDollar[1].colIdent} } yyVAL.union = yyLOCAL case 899: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4698 +//line sql.y:4699 { yySLICE := (*Partitions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].colIdent) @@ -14746,7 +14844,7 @@ yydefault: case 900: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4711 +//line sql.y:4712 { yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition} } @@ -14754,7 +14852,7 @@ yydefault: case 901: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4715 +//line sql.y:4716 { yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition} } @@ -14762,7 +14860,7 @@ yydefault: case 902: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4719 +//line sql.y:4720 { yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition} } @@ -14770,87 +14868,87 @@ yydefault: case 903: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4723 +//line sql.y:4724 { yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion()} } yyVAL.union = yyLOCAL case 904: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4729 +//line sql.y:4730 { yyVAL.joinCondition = &JoinCondition{On: yyDollar[2].exprUnion()} } case 905: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4731 +//line sql.y:4732 { yyVAL.joinCondition = &JoinCondition{Using: yyDollar[3].columnsUnion()} } case 906: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4735 +//line sql.y:4736 { yyVAL.joinCondition = &JoinCondition{} } case 907: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4737 +//line sql.y:4738 { yyVAL.joinCondition = yyDollar[1].joinCondition } case 908: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4741 +//line sql.y:4742 { yyVAL.joinCondition = &JoinCondition{} } case 909: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4743 +//line sql.y:4744 { yyVAL.joinCondition = &JoinCondition{On: yyDollar[2].exprUnion()} } case 910: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4746 +//line sql.y:4747 { yyVAL.empty = struct{}{} } case 911: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4748 +//line sql.y:4749 { yyVAL.empty = struct{}{} } case 912: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4751 +//line sql.y:4752 { yyVAL.tableIdent = NewTableIdent("") } case 913: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4755 +//line sql.y:4756 { yyVAL.tableIdent = yyDollar[1].tableIdent } case 914: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4759 +//line sql.y:4760 { yyVAL.tableIdent = yyDollar[2].tableIdent } case 916: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4766 +//line sql.y:4767 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].str)) } case 917: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL JoinType -//line sql.y:4772 +//line sql.y:4773 { yyLOCAL = NormalJoinType } @@ -14858,7 +14956,7 @@ yydefault: case 918: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4776 +//line sql.y:4777 { yyLOCAL = NormalJoinType } @@ -14866,7 +14964,7 @@ yydefault: case 919: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4780 +//line sql.y:4781 { yyLOCAL = NormalJoinType } @@ -14874,7 +14972,7 @@ yydefault: case 920: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL JoinType -//line sql.y:4786 +//line sql.y:4787 { yyLOCAL = StraightJoinType } @@ -14882,7 +14980,7 @@ yydefault: case 921: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4792 +//line sql.y:4793 { yyLOCAL = LeftJoinType } @@ -14890,7 +14988,7 @@ yydefault: case 922: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL JoinType -//line sql.y:4796 +//line sql.y:4797 { yyLOCAL = LeftJoinType } @@ -14898,7 +14996,7 @@ yydefault: case 923: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4800 +//line sql.y:4801 { yyLOCAL = RightJoinType } @@ -14906,7 +15004,7 @@ yydefault: case 924: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL JoinType -//line sql.y:4804 +//line sql.y:4805 { yyLOCAL = RightJoinType } @@ -14914,7 +15012,7 @@ yydefault: case 925: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4810 +//line sql.y:4811 { yyLOCAL = NaturalJoinType } @@ -14922,7 +15020,7 @@ yydefault: case 926: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4814 +//line sql.y:4815 { if yyDollar[2].joinTypeUnion() == LeftJoinType { yyLOCAL = NaturalLeftJoinType @@ -14933,38 +15031,38 @@ yydefault: yyVAL.union = yyLOCAL case 927: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4824 +//line sql.y:4825 { yyVAL.tableName = yyDollar[2].tableName } case 928: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4828 +//line sql.y:4829 { yyVAL.tableName = yyDollar[1].tableName } case 929: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4834 +//line sql.y:4835 { yyVAL.tableName = TableName{Name: yyDollar[1].tableIdent} } case 930: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4838 +//line sql.y:4839 { yyVAL.tableName = TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent} } case 931: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4844 +//line sql.y:4845 { yyVAL.tableName = TableName{Name: yyDollar[1].tableIdent} } case 932: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL IndexHints -//line sql.y:4849 +//line sql.y:4850 { yyLOCAL = nil } @@ -14972,7 +15070,7 @@ yydefault: case 933: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IndexHints -//line sql.y:4853 +//line sql.y:4854 { yyLOCAL = yyDollar[1].indexHintsUnion() } @@ -14980,14 +15078,14 @@ yydefault: case 934: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IndexHints -//line sql.y:4859 +//line sql.y:4860 { yyLOCAL = IndexHints{yyDollar[1].indexHintUnion()} } yyVAL.union = yyLOCAL case 935: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4863 +//line sql.y:4864 { yySLICE := (*IndexHints)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].indexHintUnion()) @@ -14995,7 +15093,7 @@ yydefault: case 936: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *IndexHint -//line sql.y:4869 +//line sql.y:4870 { yyLOCAL = &IndexHint{Type: UseOp, ForType: yyDollar[3].indexHintForTypeUnion(), Indexes: yyDollar[5].columnsUnion()} } @@ -15003,7 +15101,7 @@ yydefault: case 937: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *IndexHint -//line sql.y:4873 +//line sql.y:4874 { yyLOCAL = &IndexHint{Type: UseOp, ForType: yyDollar[3].indexHintForTypeUnion()} } @@ -15011,7 +15109,7 @@ yydefault: case 938: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *IndexHint -//line sql.y:4877 +//line sql.y:4878 { yyLOCAL = &IndexHint{Type: IgnoreOp, ForType: yyDollar[3].indexHintForTypeUnion(), Indexes: yyDollar[5].columnsUnion()} } @@ -15019,7 +15117,7 @@ yydefault: case 939: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *IndexHint -//line sql.y:4881 +//line sql.y:4882 { yyLOCAL = &IndexHint{Type: ForceOp, ForType: yyDollar[3].indexHintForTypeUnion(), Indexes: yyDollar[5].columnsUnion()} } @@ -15027,7 +15125,7 @@ yydefault: case 940: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL IndexHintForType -//line sql.y:4886 +//line sql.y:4887 { yyLOCAL = NoForType } @@ -15035,7 +15133,7 @@ yydefault: case 941: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IndexHintForType -//line sql.y:4890 +//line sql.y:4891 { yyLOCAL = JoinForType } @@ -15043,7 +15141,7 @@ yydefault: case 942: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL IndexHintForType -//line sql.y:4894 +//line sql.y:4895 { yyLOCAL = OrderByForType } @@ -15051,7 +15149,7 @@ yydefault: case 943: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL IndexHintForType -//line sql.y:4898 +//line sql.y:4899 { yyLOCAL = GroupByForType } @@ -15059,7 +15157,7 @@ yydefault: case 944: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:4904 +//line sql.y:4905 { yyLOCAL = nil } @@ -15067,7 +15165,7 @@ yydefault: case 945: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:4908 +//line sql.y:4909 { yyLOCAL = yyDollar[2].exprUnion() } @@ -15075,7 +15173,7 @@ yydefault: case 946: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4915 +//line sql.y:4916 { yyLOCAL = &OrExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()} } @@ -15083,7 +15181,7 @@ yydefault: case 947: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4919 +//line sql.y:4920 { yyLOCAL = &XorExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()} } @@ -15091,7 +15189,7 @@ yydefault: case 948: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4923 +//line sql.y:4924 { yyLOCAL = &AndExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()} } @@ -15099,7 +15197,7 @@ yydefault: case 949: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:4927 +//line sql.y:4928 { yyLOCAL = &NotExpr{Expr: yyDollar[2].exprUnion()} } @@ -15107,7 +15205,7 @@ yydefault: case 950: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4931 +//line sql.y:4932 { yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].isExprOperatorUnion()} } @@ -15115,7 +15213,7 @@ yydefault: case 951: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:4935 +//line sql.y:4936 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15123,7 +15221,7 @@ yydefault: case 952: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:4939 +//line sql.y:4940 { yyLOCAL = &MemberOfExpr{Value: yyDollar[1].exprUnion(), JSONArr: yyDollar[5].exprUnion()} } @@ -15131,7 +15229,7 @@ yydefault: case 953: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4946 +//line sql.y:4947 { yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: IsNullOp} } @@ -15139,7 +15237,7 @@ yydefault: case 954: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:4950 +//line sql.y:4951 { yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: IsNotNullOp} } @@ -15147,7 +15245,7 @@ yydefault: case 955: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4954 +//line sql.y:4955 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: yyDollar[2].comparisonExprOperatorUnion(), Right: yyDollar[3].exprUnion()} } @@ -15155,7 +15253,7 @@ yydefault: case 956: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:4958 +//line sql.y:4959 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15163,7 +15261,7 @@ yydefault: case 957: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4964 +//line sql.y:4965 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: InOp, Right: yyDollar[3].colTupleUnion()} } @@ -15171,7 +15269,7 @@ yydefault: case 958: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:4968 +//line sql.y:4969 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotInOp, Right: yyDollar[4].colTupleUnion()} } @@ -15179,7 +15277,7 @@ yydefault: case 959: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:4972 +//line sql.y:4973 { yyLOCAL = &BetweenExpr{Left: yyDollar[1].exprUnion(), IsBetween: true, From: yyDollar[3].exprUnion(), To: yyDollar[5].exprUnion()} } @@ -15187,7 +15285,7 @@ yydefault: case 960: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:4976 +//line sql.y:4977 { yyLOCAL = &BetweenExpr{Left: yyDollar[1].exprUnion(), IsBetween: false, From: yyDollar[4].exprUnion(), To: yyDollar[6].exprUnion()} } @@ -15195,7 +15293,7 @@ yydefault: case 961: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4980 +//line sql.y:4981 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: LikeOp, Right: yyDollar[3].exprUnion()} } @@ -15203,7 +15301,7 @@ yydefault: case 962: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:4984 +//line sql.y:4985 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotLikeOp, Right: yyDollar[4].exprUnion()} } @@ -15211,7 +15309,7 @@ yydefault: case 963: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:4988 +//line sql.y:4989 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: LikeOp, Right: yyDollar[3].exprUnion(), Escape: yyDollar[5].exprUnion()} } @@ -15219,7 +15317,7 @@ yydefault: case 964: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:4992 +//line sql.y:4993 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotLikeOp, Right: yyDollar[4].exprUnion(), Escape: yyDollar[6].exprUnion()} } @@ -15227,7 +15325,7 @@ yydefault: case 965: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4996 +//line sql.y:4997 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: RegexpOp, Right: yyDollar[3].exprUnion()} } @@ -15235,7 +15333,7 @@ yydefault: case 966: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5000 +//line sql.y:5001 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotRegexpOp, Right: yyDollar[4].exprUnion()} } @@ -15243,7 +15341,7 @@ yydefault: case 967: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5004 +//line sql.y:5005 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15251,7 +15349,7 @@ yydefault: case 968: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5010 +//line sql.y:5011 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitOrOp, Right: yyDollar[3].exprUnion()} } @@ -15259,7 +15357,7 @@ yydefault: case 969: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5014 +//line sql.y:5015 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitAndOp, Right: yyDollar[3].exprUnion()} } @@ -15267,7 +15365,7 @@ yydefault: case 970: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5018 +//line sql.y:5019 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ShiftLeftOp, Right: yyDollar[3].exprUnion()} } @@ -15275,7 +15373,7 @@ yydefault: case 971: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5022 +//line sql.y:5023 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ShiftRightOp, Right: yyDollar[3].exprUnion()} } @@ -15283,7 +15381,7 @@ yydefault: case 972: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5026 +//line sql.y:5027 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: PlusOp, Right: yyDollar[3].exprUnion()} } @@ -15291,7 +15389,7 @@ yydefault: case 973: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5030 +//line sql.y:5031 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: MinusOp, Right: yyDollar[3].exprUnion()} } @@ -15299,7 +15397,7 @@ yydefault: case 974: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5034 +//line sql.y:5035 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: MultOp, Right: yyDollar[3].exprUnion()} } @@ -15307,7 +15405,7 @@ yydefault: case 975: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5038 +//line sql.y:5039 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: DivOp, Right: yyDollar[3].exprUnion()} } @@ -15315,7 +15413,7 @@ yydefault: case 976: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5042 +//line sql.y:5043 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ModOp, Right: yyDollar[3].exprUnion()} } @@ -15323,7 +15421,7 @@ yydefault: case 977: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5046 +//line sql.y:5047 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: IntDivOp, Right: yyDollar[3].exprUnion()} } @@ -15331,7 +15429,7 @@ yydefault: case 978: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5050 +//line sql.y:5051 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ModOp, Right: yyDollar[3].exprUnion()} } @@ -15339,7 +15437,7 @@ yydefault: case 979: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5054 +//line sql.y:5055 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitXorOp, Right: yyDollar[3].exprUnion()} } @@ -15347,7 +15445,7 @@ yydefault: case 980: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5058 +//line sql.y:5059 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15355,7 +15453,7 @@ yydefault: case 981: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5064 +//line sql.y:5065 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15363,7 +15461,7 @@ yydefault: case 982: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5068 +//line sql.y:5069 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15371,7 +15469,7 @@ yydefault: case 983: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5072 +//line sql.y:5073 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15379,7 +15477,7 @@ yydefault: case 984: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5076 +//line sql.y:5077 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15387,7 +15485,7 @@ yydefault: case 985: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5080 +//line sql.y:5081 { yyLOCAL = &CollateExpr{Expr: yyDollar[1].exprUnion(), Collation: yyDollar[3].str} } @@ -15395,7 +15493,7 @@ yydefault: case 986: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5084 +//line sql.y:5085 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15403,7 +15501,7 @@ yydefault: case 987: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5088 +//line sql.y:5089 { yyLOCAL = yyDollar[1].colNameUnion() } @@ -15411,7 +15509,7 @@ yydefault: case 988: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5092 +//line sql.y:5093 { yyLOCAL = yyDollar[2].exprUnion() // TODO: do we really want to ignore unary '+' before any kind of literals? } @@ -15419,7 +15517,7 @@ yydefault: case 989: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5096 +//line sql.y:5097 { yyLOCAL = &UnaryExpr{Operator: UMinusOp, Expr: yyDollar[2].exprUnion()} } @@ -15427,7 +15525,7 @@ yydefault: case 990: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5100 +//line sql.y:5101 { yyLOCAL = &UnaryExpr{Operator: TildaOp, Expr: yyDollar[2].exprUnion()} } @@ -15435,7 +15533,7 @@ yydefault: case 991: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5104 +//line sql.y:5105 { yyLOCAL = &UnaryExpr{Operator: BangOp, Expr: yyDollar[2].exprUnion()} } @@ -15443,7 +15541,7 @@ yydefault: case 992: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5108 +//line sql.y:5109 { yyLOCAL = yyDollar[1].subqueryUnion() } @@ -15451,7 +15549,7 @@ yydefault: case 993: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5112 +//line sql.y:5113 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15459,7 +15557,7 @@ yydefault: case 994: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5116 +//line sql.y:5117 { yyLOCAL = &ExistsExpr{Subquery: yyDollar[2].subqueryUnion()} } @@ -15467,7 +15565,7 @@ yydefault: case 995: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL Expr -//line sql.y:5120 +//line sql.y:5121 { yyLOCAL = &MatchExpr{Columns: yyDollar[3].selectExprsUnion(), Expr: yyDollar[7].exprUnion(), Option: yyDollar[8].matchExprOptionUnion()} } @@ -15475,7 +15573,7 @@ yydefault: case 996: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5124 +//line sql.y:5125 { yyLOCAL = &ConvertExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].convertTypeUnion()} } @@ -15483,7 +15581,7 @@ yydefault: case 997: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5128 +//line sql.y:5129 { yyLOCAL = &ConvertExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].convertTypeUnion()} } @@ -15491,7 +15589,7 @@ yydefault: case 998: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5132 +//line sql.y:5133 { yyLOCAL = &ConvertUsingExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].str} } @@ -15499,7 +15597,7 @@ yydefault: case 999: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5136 +//line sql.y:5137 { // From: https://dev.mysql.com/doc/refman/8.0/en/cast-functions.html#operator_binary // To convert a string expression to a binary string, these constructs are equivalent: @@ -15511,7 +15609,7 @@ yydefault: case 1000: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5144 +//line sql.y:5145 { yyLOCAL = &Default{ColName: yyDollar[2].str} } @@ -15519,7 +15617,7 @@ yydefault: case 1001: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5148 +//line sql.y:5149 { // This rule prevents the usage of INTERVAL // as a function. If support is needed for that, @@ -15531,7 +15629,7 @@ yydefault: case 1002: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5156 +//line sql.y:5157 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].colNameUnion(), Operator: JSONExtractOp, Right: yyDollar[3].exprUnion()} } @@ -15539,7 +15637,7 @@ yydefault: case 1003: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5160 +//line sql.y:5161 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].colNameUnion(), Operator: JSONUnquoteExtractOp, Right: yyDollar[3].exprUnion()} } @@ -15547,7 +15645,7 @@ yydefault: case 1004: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TrimType -//line sql.y:5166 +//line sql.y:5167 { yyLOCAL = BothTrimType } @@ -15555,7 +15653,7 @@ yydefault: case 1005: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TrimType -//line sql.y:5170 +//line sql.y:5171 { yyLOCAL = LeadingTrimType } @@ -15563,27 +15661,27 @@ yydefault: case 1006: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TrimType -//line sql.y:5174 +//line sql.y:5175 { yyLOCAL = TrailingTrimType } yyVAL.union = yyLOCAL case 1007: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5180 +//line sql.y:5181 { yyVAL.str = "" } case 1008: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5184 +//line sql.y:5185 { yyVAL.str = string(yyDollar[2].colIdent.String()) } case 1009: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL BoolVal -//line sql.y:5190 +//line sql.y:5191 { yyLOCAL = BoolVal(true) } @@ -15591,7 +15689,7 @@ yydefault: case 1010: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL BoolVal -//line sql.y:5194 +//line sql.y:5195 { yyLOCAL = BoolVal(false) } @@ -15599,7 +15697,7 @@ yydefault: case 1011: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IsExprOperator -//line sql.y:5201 +//line sql.y:5202 { yyLOCAL = IsTrueOp } @@ -15607,7 +15705,7 @@ yydefault: case 1012: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IsExprOperator -//line sql.y:5205 +//line sql.y:5206 { yyLOCAL = IsNotTrueOp } @@ -15615,7 +15713,7 @@ yydefault: case 1013: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IsExprOperator -//line sql.y:5209 +//line sql.y:5210 { yyLOCAL = IsFalseOp } @@ -15623,7 +15721,7 @@ yydefault: case 1014: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IsExprOperator -//line sql.y:5213 +//line sql.y:5214 { yyLOCAL = IsNotFalseOp } @@ -15631,7 +15729,7 @@ yydefault: case 1015: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5219 +//line sql.y:5220 { yyLOCAL = EqualOp } @@ -15639,7 +15737,7 @@ yydefault: case 1016: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5223 +//line sql.y:5224 { yyLOCAL = LessThanOp } @@ -15647,7 +15745,7 @@ yydefault: case 1017: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5227 +//line sql.y:5228 { yyLOCAL = GreaterThanOp } @@ -15655,7 +15753,7 @@ yydefault: case 1018: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5231 +//line sql.y:5232 { yyLOCAL = LessEqualOp } @@ -15663,7 +15761,7 @@ yydefault: case 1019: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5235 +//line sql.y:5236 { yyLOCAL = GreaterEqualOp } @@ -15671,7 +15769,7 @@ yydefault: case 1020: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5239 +//line sql.y:5240 { yyLOCAL = NotEqualOp } @@ -15679,7 +15777,7 @@ yydefault: case 1021: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5243 +//line sql.y:5244 { yyLOCAL = NullSafeEqualOp } @@ -15687,7 +15785,7 @@ yydefault: case 1022: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColTuple -//line sql.y:5249 +//line sql.y:5250 { yyLOCAL = yyDollar[1].valTupleUnion() } @@ -15695,7 +15793,7 @@ yydefault: case 1023: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColTuple -//line sql.y:5253 +//line sql.y:5254 { yyLOCAL = yyDollar[1].subqueryUnion() } @@ -15703,7 +15801,7 @@ yydefault: case 1024: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColTuple -//line sql.y:5257 +//line sql.y:5258 { yyLOCAL = ListArg(yyDollar[1].str[2:]) bindVariable(yylex, yyDollar[1].str[2:]) @@ -15712,7 +15810,7 @@ yydefault: case 1025: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Subquery -//line sql.y:5264 +//line sql.y:5265 { yyLOCAL = &Subquery{yyDollar[1].selStmtUnion()} } @@ -15720,14 +15818,14 @@ yydefault: case 1026: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Exprs -//line sql.y:5270 +//line sql.y:5271 { yyLOCAL = Exprs{yyDollar[1].exprUnion()} } yyVAL.union = yyLOCAL case 1027: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5274 +//line sql.y:5275 { yySLICE := (*Exprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].exprUnion()) @@ -15735,7 +15833,7 @@ yydefault: case 1028: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5284 +//line sql.y:5285 { yyLOCAL = &FuncExpr{Name: yyDollar[1].colIdent, Exprs: yyDollar[3].selectExprsUnion()} } @@ -15743,7 +15841,7 @@ yydefault: case 1029: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5288 +//line sql.y:5289 { yyLOCAL = &FuncExpr{Name: yyDollar[1].colIdent, Distinct: true, Exprs: yyDollar[4].selectExprsUnion()} } @@ -15751,7 +15849,7 @@ yydefault: case 1030: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5292 +//line sql.y:5293 { yyLOCAL = &FuncExpr{Name: yyDollar[1].colIdent, Distinct: true, Exprs: yyDollar[4].selectExprsUnion()} } @@ -15759,7 +15857,7 @@ yydefault: case 1031: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5296 +//line sql.y:5297 { yyLOCAL = &FuncExpr{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].colIdent, Exprs: yyDollar[5].selectExprsUnion()} } @@ -15767,7 +15865,7 @@ yydefault: case 1032: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5306 +//line sql.y:5307 { yyLOCAL = &FuncExpr{Name: NewColIdent("left"), Exprs: yyDollar[3].selectExprsUnion()} } @@ -15775,7 +15873,7 @@ yydefault: case 1033: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5310 +//line sql.y:5311 { yyLOCAL = &FuncExpr{Name: NewColIdent("right"), Exprs: yyDollar[3].selectExprsUnion()} } @@ -15783,7 +15881,7 @@ yydefault: case 1034: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5314 +//line sql.y:5315 { yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion(), To: yyDollar[7].exprUnion()} } @@ -15791,7 +15889,7 @@ yydefault: case 1035: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5318 +//line sql.y:5319 { yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion()} } @@ -15799,7 +15897,7 @@ yydefault: case 1036: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5322 +//line sql.y:5323 { yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion(), To: yyDollar[7].exprUnion()} } @@ -15807,7 +15905,7 @@ yydefault: case 1037: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5326 +//line sql.y:5327 { yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion()} } @@ -15815,7 +15913,7 @@ yydefault: case 1038: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5330 +//line sql.y:5331 { yyLOCAL = &GroupConcatExpr{Distinct: yyDollar[3].booleanUnion(), Exprs: yyDollar[4].selectExprsUnion(), OrderBy: yyDollar[5].orderByUnion(), Separator: yyDollar[6].str, Limit: yyDollar[7].limitUnion()} } @@ -15823,7 +15921,7 @@ yydefault: case 1039: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5334 +//line sql.y:5335 { yyLOCAL = &CaseExpr{Expr: yyDollar[2].exprUnion(), Whens: yyDollar[3].whensUnion(), Else: yyDollar[4].exprUnion()} } @@ -15831,7 +15929,7 @@ yydefault: case 1040: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5338 +//line sql.y:5339 { yyLOCAL = &ValuesFuncExpr{Name: yyDollar[3].colNameUnion()} } @@ -15839,7 +15937,7 @@ yydefault: case 1041: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5342 +//line sql.y:5343 { yyLOCAL = &FuncExpr{Name: NewColIdent(yyDollar[1].str)} } @@ -15847,7 +15945,7 @@ yydefault: case 1042: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5353 +//line sql.y:5354 { yyLOCAL = &FuncExpr{Name: NewColIdent("utc_date")} } @@ -15855,7 +15953,7 @@ yydefault: case 1043: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5357 +//line sql.y:5358 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15863,7 +15961,7 @@ yydefault: case 1044: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5363 +//line sql.y:5364 { yyLOCAL = &FuncExpr{Name: NewColIdent("current_date")} } @@ -15871,7 +15969,7 @@ yydefault: case 1045: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5367 +//line sql.y:5368 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("utc_time"), Fsp: yyDollar[2].exprUnion()} } @@ -15879,7 +15977,7 @@ yydefault: case 1046: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5372 +//line sql.y:5373 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("current_time"), Fsp: yyDollar[2].exprUnion()} } @@ -15887,7 +15985,7 @@ yydefault: case 1047: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5376 +//line sql.y:5377 { yyLOCAL = &Avg{Arg: yyDollar[4].exprUnion(), Distinct: yyDollar[3].booleanUnion()} } @@ -15895,7 +15993,7 @@ yydefault: case 1048: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5380 +//line sql.y:5381 { yyLOCAL = &CountStar{Star: yyDollar[3].starExprUnion()} } @@ -15903,951 +16001,959 @@ yydefault: case 1049: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5384 +//line sql.y:5385 { yyLOCAL = &Count{Arg: yyDollar[4].exprUnion(), Distinct: yyDollar[3].booleanUnion()} } yyVAL.union = yyLOCAL case 1050: + yyDollar = yyS[yypt-4 : yypt+1] + var yyLOCAL Expr +//line sql.y:5389 + { + yyLOCAL = &Max{Arg: yyDollar[3].exprUnion()} + } + yyVAL.union = yyLOCAL + case 1051: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5388 +//line sql.y:5393 { yyLOCAL = &TimestampFuncExpr{Name: string("timestampadd"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].exprUnion(), Expr2: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1051: + case 1052: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5392 +//line sql.y:5397 { yyLOCAL = &TimestampFuncExpr{Name: string("timestampdiff"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].exprUnion(), Expr2: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1052: + case 1053: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5396 +//line sql.y:5401 { yyLOCAL = &ExtractFuncExpr{IntervalTypes: yyDollar[3].intervalTypeUnion(), Expr: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1053: + case 1054: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5400 +//line sql.y:5405 { yyLOCAL = &WeightStringFuncExpr{Expr: yyDollar[3].exprUnion(), As: yyDollar[4].convertTypeUnion()} } yyVAL.union = yyLOCAL - case 1054: + case 1055: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5404 +//line sql.y:5409 { yyLOCAL = &JSONPrettyExpr{JSONVal: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1055: + case 1056: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5408 +//line sql.y:5413 { yyLOCAL = &JSONStorageFreeExpr{JSONVal: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1056: + case 1057: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5412 +//line sql.y:5417 { yyLOCAL = &JSONStorageSizeExpr{JSONVal: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1057: + case 1058: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5416 +//line sql.y:5421 { yyLOCAL = &TrimFuncExpr{TrimFuncType: LTrimType, StringArg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1058: + case 1059: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5420 +//line sql.y:5425 { yyLOCAL = &TrimFuncExpr{TrimFuncType: RTrimType, StringArg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1059: + case 1060: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Expr -//line sql.y:5424 +//line sql.y:5429 { yyLOCAL = &TrimFuncExpr{Type: yyDollar[3].trimTypeUnion(), TrimArg: yyDollar[4].exprUnion(), StringArg: yyDollar[6].exprUnion()} } yyVAL.union = yyLOCAL - case 1060: + case 1061: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5428 +//line sql.y:5433 { yyLOCAL = &TrimFuncExpr{StringArg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1061: + case 1062: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5432 +//line sql.y:5437 { yyLOCAL = &TrimFuncExpr{TrimArg: yyDollar[3].exprUnion(), StringArg: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1062: + case 1063: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5436 +//line sql.y:5441 { yyLOCAL = &JSONSchemaValidFuncExpr{Schema: yyDollar[3].exprUnion(), Document: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1063: + case 1064: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5440 +//line sql.y:5445 { yyLOCAL = &JSONSchemaValidationReportFuncExpr{Schema: yyDollar[3].exprUnion(), Document: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1064: + case 1065: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5444 +//line sql.y:5449 { yyLOCAL = &JSONArrayExpr{Params: yyDollar[3].exprsUnion()} } yyVAL.union = yyLOCAL - case 1065: + case 1066: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5448 +//line sql.y:5453 { yyLOCAL = &JSONObjectExpr{Params: yyDollar[3].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1066: + case 1067: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5452 +//line sql.y:5457 { yyLOCAL = &JSONQuoteExpr{StringArg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1067: + case 1068: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Expr -//line sql.y:5456 +//line sql.y:5461 { yyLOCAL = &JSONContainsExpr{Target: yyDollar[3].exprUnion(), Candidate: yyDollar[5].exprUnion(), PathList: yyDollar[6].jsonPathParamsUnion()} } yyVAL.union = yyLOCAL - case 1068: + case 1069: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5460 +//line sql.y:5465 { yyLOCAL = &JSONContainsPathExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), PathList: yyDollar[7].jsonPathParamsUnion()} } yyVAL.union = yyLOCAL - case 1069: + case 1070: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5464 +//line sql.y:5469 { yyLOCAL = &JSONExtractExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[5].jsonPathParamsUnion()} } yyVAL.union = yyLOCAL - case 1070: + case 1071: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5468 +//line sql.y:5473 { yyLOCAL = &JSONKeysExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[4].jsonPathParamsUnion()} } yyVAL.union = yyLOCAL - case 1071: + case 1072: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5472 +//line sql.y:5477 { yyLOCAL = &JSONOverlapsExpr{JSONDoc1: yyDollar[3].exprUnion(), JSONDoc2: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1072: + case 1073: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5476 +//line sql.y:5481 { yyLOCAL = &JSONSearchExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), SearchStr: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1073: + case 1074: yyDollar = yyS[yypt-11 : yypt+1] var yyLOCAL Expr -//line sql.y:5480 +//line sql.y:5485 { yyLOCAL = &JSONSearchExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), SearchStr: yyDollar[7].exprUnion(), EscapeChar: yyDollar[9].exprUnion(), PathList: yyDollar[10].jsonPathParamsUnion()} } yyVAL.union = yyLOCAL - case 1074: + case 1075: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Expr -//line sql.y:5484 +//line sql.y:5489 { yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam, ReturningType: yyDollar[6].convertTypeUnion()} } yyVAL.union = yyLOCAL - case 1075: + case 1076: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5488 +//line sql.y:5493 { yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam, ReturningType: yyDollar[6].convertTypeUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion()} } yyVAL.union = yyLOCAL - case 1076: + case 1077: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5492 +//line sql.y:5497 { yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam, ReturningType: yyDollar[6].convertTypeUnion(), ErrorOnResponse: yyDollar[7].jtOnResponseUnion()} } yyVAL.union = yyLOCAL - case 1077: + case 1078: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL Expr -//line sql.y:5496 +//line sql.y:5501 { yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam, ReturningType: yyDollar[6].convertTypeUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion(), ErrorOnResponse: yyDollar[8].jtOnResponseUnion()} } yyVAL.union = yyLOCAL - case 1078: + case 1079: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5500 +//line sql.y:5505 { yyLOCAL = &JSONAttributesExpr{Type: DepthAttributeType, JSONDoc: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1079: + case 1080: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5504 +//line sql.y:5509 { yyLOCAL = &JSONAttributesExpr{Type: ValidAttributeType, JSONDoc: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1080: + case 1081: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5508 +//line sql.y:5513 { yyLOCAL = &JSONAttributesExpr{Type: TypeAttributeType, JSONDoc: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1081: + case 1082: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5512 +//line sql.y:5517 { yyLOCAL = &JSONAttributesExpr{Type: LengthAttributeType, JSONDoc: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1082: + case 1083: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5516 +//line sql.y:5521 { yyLOCAL = &JSONAttributesExpr{Type: LengthAttributeType, JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam} } yyVAL.union = yyLOCAL - case 1083: + case 1084: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5520 +//line sql.y:5525 { yyLOCAL = &JSONValueModifierExpr{Type: JSONArrayAppendType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1084: + case 1085: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5524 +//line sql.y:5529 { yyLOCAL = &JSONValueModifierExpr{Type: JSONArrayInsertType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1085: + case 1086: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5528 +//line sql.y:5533 { yyLOCAL = &JSONValueModifierExpr{Type: JSONInsertType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1086: + case 1087: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5532 +//line sql.y:5537 { yyLOCAL = &JSONValueModifierExpr{Type: JSONReplaceType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1087: + case 1088: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5536 +//line sql.y:5541 { yyLOCAL = &JSONValueModifierExpr{Type: JSONSetType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1088: + case 1089: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5540 +//line sql.y:5545 { yyLOCAL = &JSONValueMergeExpr{Type: JSONMergeType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()} } yyVAL.union = yyLOCAL - case 1089: + case 1090: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5544 +//line sql.y:5549 { yyLOCAL = &JSONValueMergeExpr{Type: JSONMergePatchType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()} } yyVAL.union = yyLOCAL - case 1090: + case 1091: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5548 +//line sql.y:5553 { yyLOCAL = &JSONValueMergeExpr{Type: JSONMergePreserveType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()} } yyVAL.union = yyLOCAL - case 1091: + case 1092: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5552 +//line sql.y:5557 { yyLOCAL = &JSONRemoveExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[5].exprsUnion()} } yyVAL.union = yyLOCAL - case 1092: + case 1093: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5556 +//line sql.y:5561 { yyLOCAL = &JSONUnquoteExpr{JSONValue: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1093: + case 1094: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5561 +//line sql.y:5566 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1094: + case 1095: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5565 +//line sql.y:5570 { yyLOCAL = yyDollar[2].convertTypeUnion() } yyVAL.union = yyLOCAL - case 1095: + case 1096: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []JSONPathParam -//line sql.y:5570 +//line sql.y:5575 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1096: + case 1097: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []JSONPathParam -//line sql.y:5574 +//line sql.y:5579 { yyLOCAL = yyDollar[2].jsonPathParamsUnion() } yyVAL.union = yyLOCAL - case 1097: + case 1098: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []JSONPathParam -//line sql.y:5580 +//line sql.y:5585 { yyLOCAL = []JSONPathParam{yyDollar[1].jsonPathParam} } yyVAL.union = yyLOCAL - case 1098: + case 1099: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5584 +//line sql.y:5589 { yySLICE := (*[]JSONPathParam)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].jsonPathParam) } - case 1099: + case 1100: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5590 +//line sql.y:5595 { yyVAL.jsonPathParam = JSONPathParam(yyDollar[1].exprUnion()) } - case 1100: + case 1101: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5594 +//line sql.y:5599 { yyVAL.jsonPathParam = JSONPathParam(yyDollar[1].colNameUnion()) } - case 1101: + case 1102: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5600 +//line sql.y:5605 { } - case 1102: + case 1103: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5602 +//line sql.y:5607 { yyLOCAL = IntervalDayHour } yyVAL.union = yyLOCAL - case 1103: + case 1104: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5606 +//line sql.y:5611 { yyLOCAL = IntervalDayMicrosecond } yyVAL.union = yyLOCAL - case 1104: + case 1105: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5610 +//line sql.y:5615 { yyLOCAL = IntervalDayMinute } yyVAL.union = yyLOCAL - case 1105: + case 1106: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5614 +//line sql.y:5619 { yyLOCAL = IntervalDaySecond } yyVAL.union = yyLOCAL - case 1106: + case 1107: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5618 +//line sql.y:5623 { yyLOCAL = IntervalHourMicrosecond } yyVAL.union = yyLOCAL - case 1107: + case 1108: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5622 +//line sql.y:5627 { yyLOCAL = IntervalHourMinute } yyVAL.union = yyLOCAL - case 1108: + case 1109: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5626 +//line sql.y:5631 { yyLOCAL = IntervalHourSecond } yyVAL.union = yyLOCAL - case 1109: + case 1110: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5630 +//line sql.y:5635 { yyLOCAL = IntervalMinuteMicrosecond } yyVAL.union = yyLOCAL - case 1110: + case 1111: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5634 +//line sql.y:5639 { yyLOCAL = IntervalMinuteSecond } yyVAL.union = yyLOCAL - case 1111: + case 1112: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5638 +//line sql.y:5643 { yyLOCAL = IntervalSecondMicrosecond } yyVAL.union = yyLOCAL - case 1112: + case 1113: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5642 +//line sql.y:5647 { yyLOCAL = IntervalYearMonth } yyVAL.union = yyLOCAL - case 1113: + case 1114: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5648 +//line sql.y:5653 { yyLOCAL = IntervalDay } yyVAL.union = yyLOCAL - case 1114: + case 1115: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5652 +//line sql.y:5657 { yyLOCAL = IntervalWeek } yyVAL.union = yyLOCAL - case 1115: + case 1116: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5656 +//line sql.y:5661 { yyLOCAL = IntervalHour } yyVAL.union = yyLOCAL - case 1116: + case 1117: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5660 +//line sql.y:5665 { yyLOCAL = IntervalMinute } yyVAL.union = yyLOCAL - case 1117: + case 1118: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5664 +//line sql.y:5669 { yyLOCAL = IntervalMonth } yyVAL.union = yyLOCAL - case 1118: + case 1119: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5668 +//line sql.y:5673 { yyLOCAL = IntervalQuarter } yyVAL.union = yyLOCAL - case 1119: + case 1120: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5672 +//line sql.y:5677 { yyLOCAL = IntervalSecond } yyVAL.union = yyLOCAL - case 1120: + case 1121: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5676 +//line sql.y:5681 { yyLOCAL = IntervalMicrosecond } yyVAL.union = yyLOCAL - case 1121: + case 1122: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5680 +//line sql.y:5685 { yyLOCAL = IntervalYear } yyVAL.union = yyLOCAL - case 1124: + case 1125: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:5690 +//line sql.y:5695 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1125: + case 1126: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5694 +//line sql.y:5699 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1126: + case 1127: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5698 +//line sql.y:5703 { yyLOCAL = NewIntLiteral(yyDollar[2].str) } yyVAL.union = yyLOCAL - case 1127: + case 1128: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5702 +//line sql.y:5707 { yyLOCAL = NewArgument(yyDollar[2].str[1:]) bindVariable(yylex, yyDollar[2].str[1:]) } yyVAL.union = yyLOCAL - case 1128: + case 1129: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5713 +//line sql.y:5718 { yyLOCAL = &FuncExpr{Name: NewColIdent("if"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1129: + case 1130: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5717 +//line sql.y:5722 { yyLOCAL = &FuncExpr{Name: NewColIdent("database"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1130: + case 1131: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5721 +//line sql.y:5726 { yyLOCAL = &FuncExpr{Name: NewColIdent("schema"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1131: + case 1132: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5725 +//line sql.y:5730 { yyLOCAL = &FuncExpr{Name: NewColIdent("mod"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1132: + case 1133: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5729 +//line sql.y:5734 { yyLOCAL = &FuncExpr{Name: NewColIdent("replace"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1133: + case 1134: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:5735 +//line sql.y:5740 { yyLOCAL = NoOption } yyVAL.union = yyLOCAL - case 1134: + case 1135: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:5739 +//line sql.y:5744 { yyLOCAL = BooleanModeOpt } yyVAL.union = yyLOCAL - case 1135: + case 1136: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:5743 +//line sql.y:5748 { yyLOCAL = NaturalLanguageModeOpt } yyVAL.union = yyLOCAL - case 1136: + case 1137: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:5747 +//line sql.y:5752 { yyLOCAL = NaturalLanguageModeWithQueryExpansionOpt } yyVAL.union = yyLOCAL - case 1137: + case 1138: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:5751 +//line sql.y:5756 { yyLOCAL = QueryExpansionOpt } yyVAL.union = yyLOCAL - case 1138: + case 1139: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5757 +//line sql.y:5762 { yyVAL.str = string(yyDollar[1].colIdent.String()) } - case 1139: + case 1140: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5761 +//line sql.y:5766 { yyVAL.str = string(yyDollar[1].str) } - case 1140: + case 1141: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5765 +//line sql.y:5770 { yyVAL.str = string(yyDollar[1].str) } - case 1141: + case 1142: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5771 +//line sql.y:5776 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1142: + case 1143: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5775 +//line sql.y:5780 { yyLOCAL = &ConvertType{Type: string(yyDollar[2].str), Length: NewIntLiteral(yyDollar[4].str)} } yyVAL.union = yyLOCAL - case 1143: + case 1144: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5779 +//line sql.y:5784 { yyLOCAL = &ConvertType{Type: string(yyDollar[2].str), Length: NewIntLiteral(yyDollar[4].str)} } yyVAL.union = yyLOCAL - case 1144: + case 1145: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5785 +//line sql.y:5790 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } yyVAL.union = yyLOCAL - case 1145: + case 1146: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5789 +//line sql.y:5794 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion(), Charset: yyDollar[3].columnCharset} } yyVAL.union = yyLOCAL - case 1146: + case 1147: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5793 +//line sql.y:5798 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1147: + case 1148: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5797 +//line sql.y:5802 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } yyVAL.union = yyLOCAL - case 1148: + case 1149: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5801 +//line sql.y:5806 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} yyLOCAL.Length = yyDollar[2].LengthScaleOption.Length yyLOCAL.Scale = yyDollar[2].LengthScaleOption.Scale } yyVAL.union = yyLOCAL - case 1149: + case 1150: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5807 +//line sql.y:5812 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1150: + case 1151: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5811 +//line sql.y:5816 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } yyVAL.union = yyLOCAL - case 1151: + case 1152: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5815 +//line sql.y:5820 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1152: + case 1153: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5819 +//line sql.y:5824 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1153: + case 1154: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5823 +//line sql.y:5828 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } yyVAL.union = yyLOCAL - case 1154: + case 1155: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5827 +//line sql.y:5832 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1155: + case 1156: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5831 +//line sql.y:5836 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1156: + case 1157: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5835 +//line sql.y:5840 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } yyVAL.union = yyLOCAL - case 1157: + case 1158: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5839 +//line sql.y:5844 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1158: + case 1159: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5843 +//line sql.y:5848 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1159: + case 1160: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:5849 +//line sql.y:5854 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1160: + case 1161: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5853 +//line sql.y:5858 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 1161: + case 1162: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5858 +//line sql.y:5863 { yyVAL.str = string("") } - case 1162: + case 1163: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5862 +//line sql.y:5867 { yyVAL.str = " separator " + encodeSQLString(yyDollar[2].str) } - case 1163: + case 1164: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*When -//line sql.y:5868 +//line sql.y:5873 { yyLOCAL = []*When{yyDollar[1].whenUnion()} } yyVAL.union = yyLOCAL - case 1164: + case 1165: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5872 +//line sql.y:5877 { yySLICE := (*[]*When)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].whenUnion()) } - case 1165: + case 1166: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *When -//line sql.y:5878 +//line sql.y:5883 { yyLOCAL = &When{Cond: yyDollar[2].exprUnion(), Val: yyDollar[4].exprUnion()} } yyVAL.union = yyLOCAL - case 1166: + case 1167: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:5883 +//line sql.y:5888 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1167: + case 1168: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5887 +//line sql.y:5892 { yyLOCAL = yyDollar[2].exprUnion() } yyVAL.union = yyLOCAL - case 1168: + case 1169: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ColName -//line sql.y:5893 +//line sql.y:5898 { yyLOCAL = &ColName{Name: yyDollar[1].colIdent} } yyVAL.union = yyLOCAL - case 1169: + case 1170: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColName -//line sql.y:5897 +//line sql.y:5902 { yyLOCAL = &ColName{Qualifier: TableName{Name: yyDollar[1].tableIdent}, Name: yyDollar[3].colIdent} } yyVAL.union = yyLOCAL - case 1170: + case 1171: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ColName -//line sql.y:5901 +//line sql.y:5906 { yyLOCAL = &ColName{Qualifier: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}, Name: yyDollar[5].colIdent} } yyVAL.union = yyLOCAL - case 1171: + case 1172: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5907 +//line sql.y:5912 { // TODO(sougou): Deprecate this construct. if yyDollar[1].colIdent.Lowered() != "value" { @@ -16857,388 +16963,388 @@ yydefault: yyLOCAL = NewIntLiteral("1") } yyVAL.union = yyLOCAL - case 1172: + case 1173: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5916 +//line sql.y:5921 { yyLOCAL = NewIntLiteral(yyDollar[1].str) } yyVAL.union = yyLOCAL - case 1173: + case 1174: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5920 +//line sql.y:5925 { yyLOCAL = NewArgument(yyDollar[1].str[1:]) bindVariable(yylex, yyDollar[1].str[1:]) } yyVAL.union = yyLOCAL - case 1174: + case 1175: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Exprs -//line sql.y:5926 +//line sql.y:5931 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1175: + case 1176: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Exprs -//line sql.y:5930 +//line sql.y:5935 { yyLOCAL = yyDollar[3].exprsUnion() } yyVAL.union = yyLOCAL - case 1176: + case 1177: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:5935 +//line sql.y:5940 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1177: + case 1178: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5939 +//line sql.y:5944 { yyLOCAL = yyDollar[2].exprUnion() } yyVAL.union = yyLOCAL - case 1178: + case 1179: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL OrderBy -//line sql.y:5944 +//line sql.y:5949 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1179: + case 1180: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL OrderBy -//line sql.y:5948 +//line sql.y:5953 { yyLOCAL = yyDollar[1].orderByUnion() } yyVAL.union = yyLOCAL - case 1180: + case 1181: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL OrderBy -//line sql.y:5954 +//line sql.y:5959 { yyLOCAL = yyDollar[3].orderByUnion() } yyVAL.union = yyLOCAL - case 1181: + case 1182: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL OrderBy -//line sql.y:5960 +//line sql.y:5965 { yyLOCAL = OrderBy{yyDollar[1].orderUnion()} } yyVAL.union = yyLOCAL - case 1182: + case 1183: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5964 +//line sql.y:5969 { yySLICE := (*OrderBy)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].orderUnion()) } - case 1183: + case 1184: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Order -//line sql.y:5970 +//line sql.y:5975 { yyLOCAL = &Order{Expr: yyDollar[1].exprUnion(), Direction: yyDollar[2].orderDirectionUnion()} } yyVAL.union = yyLOCAL - case 1184: + case 1185: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL OrderDirection -//line sql.y:5975 +//line sql.y:5980 { yyLOCAL = AscOrder } yyVAL.union = yyLOCAL - case 1185: + case 1186: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL OrderDirection -//line sql.y:5979 +//line sql.y:5984 { yyLOCAL = AscOrder } yyVAL.union = yyLOCAL - case 1186: + case 1187: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL OrderDirection -//line sql.y:5983 +//line sql.y:5988 { yyLOCAL = DescOrder } yyVAL.union = yyLOCAL - case 1187: + case 1188: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *Limit -//line sql.y:5988 +//line sql.y:5993 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1188: + case 1189: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Limit -//line sql.y:5992 +//line sql.y:5997 { yyLOCAL = yyDollar[1].limitUnion() } yyVAL.union = yyLOCAL - case 1189: + case 1190: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Limit -//line sql.y:5998 +//line sql.y:6003 { yyLOCAL = &Limit{Rowcount: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 1190: + case 1191: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Limit -//line sql.y:6002 +//line sql.y:6007 { yyLOCAL = &Limit{Offset: yyDollar[2].exprUnion(), Rowcount: yyDollar[4].exprUnion()} } yyVAL.union = yyLOCAL - case 1191: + case 1192: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Limit -//line sql.y:6006 +//line sql.y:6011 { yyLOCAL = &Limit{Offset: yyDollar[4].exprUnion(), Rowcount: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 1192: + case 1193: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:6011 +//line sql.y:6016 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1193: + case 1194: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:6015 +//line sql.y:6020 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion(), yyDollar[2].alterOptionUnion()} } yyVAL.union = yyLOCAL - case 1194: + case 1195: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:6019 +//line sql.y:6024 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion(), yyDollar[2].alterOptionUnion()} } yyVAL.union = yyLOCAL - case 1195: + case 1196: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:6023 +//line sql.y:6028 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} } yyVAL.union = yyLOCAL - case 1196: + case 1197: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:6027 +//line sql.y:6032 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} } yyVAL.union = yyLOCAL - case 1197: + case 1198: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6034 +//line sql.y:6039 { yyLOCAL = &LockOption{Type: DefaultType} } yyVAL.union = yyLOCAL - case 1198: + case 1199: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6038 +//line sql.y:6043 { yyLOCAL = &LockOption{Type: NoneType} } yyVAL.union = yyLOCAL - case 1199: + case 1200: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6042 +//line sql.y:6047 { yyLOCAL = &LockOption{Type: SharedType} } yyVAL.union = yyLOCAL - case 1200: + case 1201: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6046 +//line sql.y:6051 { yyLOCAL = &LockOption{Type: ExclusiveType} } yyVAL.union = yyLOCAL - case 1201: + case 1202: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6052 +//line sql.y:6057 { yyLOCAL = AlgorithmValue(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1202: + case 1203: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6056 +//line sql.y:6061 { yyLOCAL = AlgorithmValue(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1203: + case 1204: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6060 +//line sql.y:6065 { yyLOCAL = AlgorithmValue(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1204: + case 1205: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6064 +//line sql.y:6069 { yyLOCAL = AlgorithmValue(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1205: + case 1206: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6069 +//line sql.y:6074 { yyVAL.str = "" } - case 1206: + case 1207: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6073 +//line sql.y:6078 { yyVAL.str = string(yyDollar[3].str) } - case 1207: + case 1208: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6077 +//line sql.y:6082 { yyVAL.str = string(yyDollar[3].str) } - case 1208: + case 1209: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6081 +//line sql.y:6086 { yyVAL.str = string(yyDollar[3].str) } - case 1209: + case 1210: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6086 +//line sql.y:6091 { yyVAL.str = "" } - case 1210: + case 1211: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6090 +//line sql.y:6095 { yyVAL.str = yyDollar[3].str } - case 1211: + case 1212: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6096 +//line sql.y:6101 { yyVAL.str = string(yyDollar[1].str) } - case 1212: + case 1213: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6100 +//line sql.y:6105 { yyVAL.str = string(yyDollar[1].str) } - case 1213: + case 1214: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6105 +//line sql.y:6110 { yyVAL.str = "" } - case 1214: + case 1215: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:6109 +//line sql.y:6114 { yyVAL.str = yyDollar[2].str } - case 1215: + case 1216: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6114 +//line sql.y:6119 { yyVAL.str = "cascaded" } - case 1216: + case 1217: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6118 +//line sql.y:6123 { yyVAL.str = string(yyDollar[1].str) } - case 1217: + case 1218: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6122 +//line sql.y:6127 { yyVAL.str = string(yyDollar[1].str) } - case 1218: + case 1219: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *Definer -//line sql.y:6127 +//line sql.y:6132 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1219: + case 1220: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *Definer -//line sql.y:6131 +//line sql.y:6136 { yyLOCAL = yyDollar[3].definerUnion() } yyVAL.union = yyLOCAL - case 1220: + case 1221: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Definer -//line sql.y:6137 +//line sql.y:6142 { yyLOCAL = &Definer{ Name: string(yyDollar[1].str), } } yyVAL.union = yyLOCAL - case 1221: + case 1222: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *Definer -//line sql.y:6143 +//line sql.y:6148 { yyLOCAL = &Definer{ Name: string(yyDollar[1].str), } } yyVAL.union = yyLOCAL - case 1222: + case 1223: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Definer -//line sql.y:6149 +//line sql.y:6154 { yyLOCAL = &Definer{ Name: yyDollar[1].str, @@ -17246,361 +17352,361 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1223: + case 1224: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6158 +//line sql.y:6163 { yyVAL.str = encodeSQLString(yyDollar[1].str) } - case 1224: + case 1225: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6162 +//line sql.y:6167 { yyVAL.str = formatIdentifier(yyDollar[1].str) } - case 1225: + case 1226: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6167 +//line sql.y:6172 { yyVAL.str = "" } - case 1226: + case 1227: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6171 +//line sql.y:6176 { yyVAL.str = formatAddress(yyDollar[1].str) } - case 1227: + case 1228: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Lock -//line sql.y:6177 +//line sql.y:6182 { yyLOCAL = ForUpdateLock } yyVAL.union = yyLOCAL - case 1228: + case 1229: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Lock -//line sql.y:6181 +//line sql.y:6186 { yyLOCAL = ShareModeLock } yyVAL.union = yyLOCAL - case 1229: + case 1230: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL *SelectInto -//line sql.y:6187 +//line sql.y:6192 { yyLOCAL = &SelectInto{Type: IntoOutfileS3, FileName: encodeSQLString(yyDollar[4].str), Charset: yyDollar[5].columnCharset, FormatOption: yyDollar[6].str, ExportOption: yyDollar[7].str, Manifest: yyDollar[8].str, Overwrite: yyDollar[9].str} } yyVAL.union = yyLOCAL - case 1230: + case 1231: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SelectInto -//line sql.y:6191 +//line sql.y:6196 { yyLOCAL = &SelectInto{Type: IntoDumpfile, FileName: encodeSQLString(yyDollar[3].str), Charset: ColumnCharset{}, FormatOption: "", ExportOption: "", Manifest: "", Overwrite: ""} } yyVAL.union = yyLOCAL - case 1231: + case 1232: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *SelectInto -//line sql.y:6195 +//line sql.y:6200 { yyLOCAL = &SelectInto{Type: IntoOutfile, FileName: encodeSQLString(yyDollar[3].str), Charset: yyDollar[4].columnCharset, FormatOption: "", ExportOption: yyDollar[5].str, Manifest: "", Overwrite: ""} } yyVAL.union = yyLOCAL - case 1232: + case 1233: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6200 +//line sql.y:6205 { yyVAL.str = "" } - case 1233: + case 1234: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6204 +//line sql.y:6209 { yyVAL.str = " format csv" + yyDollar[3].str } - case 1234: + case 1235: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6208 +//line sql.y:6213 { yyVAL.str = " format text" + yyDollar[3].str } - case 1235: + case 1236: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6213 +//line sql.y:6218 { yyVAL.str = "" } - case 1236: + case 1237: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6217 +//line sql.y:6222 { yyVAL.str = " header" } - case 1237: + case 1238: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6222 +//line sql.y:6227 { yyVAL.str = "" } - case 1238: + case 1239: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6226 +//line sql.y:6231 { yyVAL.str = " manifest on" } - case 1239: + case 1240: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6230 +//line sql.y:6235 { yyVAL.str = " manifest off" } - case 1240: + case 1241: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6235 +//line sql.y:6240 { yyVAL.str = "" } - case 1241: + case 1242: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6239 +//line sql.y:6244 { yyVAL.str = " overwrite on" } - case 1242: + case 1243: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6243 +//line sql.y:6248 { yyVAL.str = " overwrite off" } - case 1243: + case 1244: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6249 +//line sql.y:6254 { yyVAL.str = yyDollar[1].str + yyDollar[2].str } - case 1244: + case 1245: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6254 +//line sql.y:6259 { yyVAL.str = "" } - case 1245: + case 1246: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6258 +//line sql.y:6263 { yyVAL.str = " lines" + yyDollar[2].str } - case 1246: + case 1247: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6264 +//line sql.y:6269 { yyVAL.str = yyDollar[1].str } - case 1247: + case 1248: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6268 +//line sql.y:6273 { yyVAL.str = yyDollar[1].str + yyDollar[2].str } - case 1248: + case 1249: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6274 +//line sql.y:6279 { yyVAL.str = " starting by " + encodeSQLString(yyDollar[3].str) } - case 1249: + case 1250: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6278 +//line sql.y:6283 { yyVAL.str = " terminated by " + encodeSQLString(yyDollar[3].str) } - case 1250: + case 1251: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6283 +//line sql.y:6288 { yyVAL.str = "" } - case 1251: + case 1252: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6287 +//line sql.y:6292 { yyVAL.str = " " + yyDollar[1].str + yyDollar[2].str } - case 1252: + case 1253: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6293 +//line sql.y:6298 { yyVAL.str = yyDollar[1].str } - case 1253: + case 1254: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6297 +//line sql.y:6302 { yyVAL.str = yyDollar[1].str + yyDollar[2].str } - case 1254: + case 1255: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6303 +//line sql.y:6308 { yyVAL.str = " terminated by " + encodeSQLString(yyDollar[3].str) } - case 1255: + case 1256: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:6307 +//line sql.y:6312 { yyVAL.str = yyDollar[1].str + " enclosed by " + encodeSQLString(yyDollar[4].str) } - case 1256: + case 1257: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6311 +//line sql.y:6316 { yyVAL.str = " escaped by " + encodeSQLString(yyDollar[3].str) } - case 1257: + case 1258: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6316 +//line sql.y:6321 { yyVAL.str = "" } - case 1258: + case 1259: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6320 +//line sql.y:6325 { yyVAL.str = " optionally" } - case 1259: + case 1260: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Insert -//line sql.y:6333 +//line sql.y:6338 { yyLOCAL = &Insert{Rows: yyDollar[2].valuesUnion()} } yyVAL.union = yyLOCAL - case 1260: + case 1261: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Insert -//line sql.y:6337 +//line sql.y:6342 { yyLOCAL = &Insert{Rows: yyDollar[1].selStmtUnion()} } yyVAL.union = yyLOCAL - case 1261: + case 1262: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *Insert -//line sql.y:6341 +//line sql.y:6346 { yyLOCAL = &Insert{Columns: yyDollar[2].columnsUnion(), Rows: yyDollar[5].valuesUnion()} } yyVAL.union = yyLOCAL - case 1262: + case 1263: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Insert -//line sql.y:6345 +//line sql.y:6350 { yyLOCAL = &Insert{Rows: yyDollar[4].valuesUnion()} } yyVAL.union = yyLOCAL - case 1263: + case 1264: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Insert -//line sql.y:6349 +//line sql.y:6354 { yyLOCAL = &Insert{Columns: yyDollar[2].columnsUnion(), Rows: yyDollar[4].selStmtUnion()} } yyVAL.union = yyLOCAL - case 1264: + case 1265: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:6355 +//line sql.y:6360 { yyLOCAL = Columns{yyDollar[1].colIdent} } yyVAL.union = yyLOCAL - case 1265: + case 1266: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Columns -//line sql.y:6359 +//line sql.y:6364 { yyLOCAL = Columns{yyDollar[3].colIdent} } yyVAL.union = yyLOCAL - case 1266: + case 1267: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6363 +//line sql.y:6368 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].colIdent) } - case 1267: + case 1268: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:6367 +//line sql.y:6372 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[5].colIdent) } - case 1268: + case 1269: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL UpdateExprs -//line sql.y:6372 +//line sql.y:6377 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1269: + case 1270: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL UpdateExprs -//line sql.y:6376 +//line sql.y:6381 { yyLOCAL = yyDollar[5].updateExprsUnion() } yyVAL.union = yyLOCAL - case 1270: + case 1271: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Values -//line sql.y:6382 +//line sql.y:6387 { yyLOCAL = Values{yyDollar[1].valTupleUnion()} } yyVAL.union = yyLOCAL - case 1271: + case 1272: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6386 +//line sql.y:6391 { yySLICE := (*Values)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].valTupleUnion()) } - case 1272: + case 1273: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ValTuple -//line sql.y:6392 +//line sql.y:6397 { yyLOCAL = yyDollar[1].valTupleUnion() } yyVAL.union = yyLOCAL - case 1273: + case 1274: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ValTuple -//line sql.y:6396 +//line sql.y:6401 { yyLOCAL = ValTuple{} } yyVAL.union = yyLOCAL - case 1274: + case 1275: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ValTuple -//line sql.y:6402 +//line sql.y:6407 { yyLOCAL = ValTuple(yyDollar[2].exprsUnion()) } yyVAL.union = yyLOCAL - case 1275: + case 1276: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:6407 +//line sql.y:6412 { if len(yyDollar[1].valTupleUnion()) == 1 { yyLOCAL = yyDollar[1].valTupleUnion()[0] @@ -17609,329 +17715,329 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1276: + case 1277: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL UpdateExprs -//line sql.y:6417 +//line sql.y:6422 { yyLOCAL = UpdateExprs{yyDollar[1].updateExprUnion()} } yyVAL.union = yyLOCAL - case 1277: + case 1278: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6421 +//line sql.y:6426 { yySLICE := (*UpdateExprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].updateExprUnion()) } - case 1278: + case 1279: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *UpdateExpr -//line sql.y:6427 +//line sql.y:6432 { yyLOCAL = &UpdateExpr{Name: yyDollar[1].colNameUnion(), Expr: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1279: + case 1280: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SetExprs -//line sql.y:6433 +//line sql.y:6438 { yyLOCAL = SetExprs{yyDollar[1].setExprUnion()} } yyVAL.union = yyLOCAL - case 1280: + case 1281: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6437 +//line sql.y:6442 { yySLICE := (*SetExprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].setExprUnion()) } - case 1281: + case 1282: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:6443 +//line sql.y:6448 { yyLOCAL = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: NewStrLiteral("on")} } yyVAL.union = yyLOCAL - case 1282: + case 1283: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:6447 +//line sql.y:6452 { yyLOCAL = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: NewStrLiteral("off")} } yyVAL.union = yyLOCAL - case 1283: + case 1284: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:6451 +//line sql.y:6456 { yyLOCAL = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1284: + case 1285: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:6455 +//line sql.y:6460 { yyLOCAL = &SetExpr{Name: NewColIdent(string(yyDollar[1].str)), Scope: ImplicitScope, Expr: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 1285: + case 1286: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:6459 +//line sql.y:6464 { yyDollar[2].setExprUnion().Scope = yyDollar[1].scopeUnion() yyLOCAL = yyDollar[2].setExprUnion() } yyVAL.union = yyLOCAL - case 1287: + case 1288: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6467 +//line sql.y:6472 { yyVAL.str = "charset" } - case 1290: + case 1291: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:6477 +//line sql.y:6482 { yyLOCAL = NewStrLiteral(yyDollar[1].colIdent.String()) } yyVAL.union = yyLOCAL - case 1291: + case 1292: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:6481 +//line sql.y:6486 { yyLOCAL = NewStrLiteral(yyDollar[1].str) } yyVAL.union = yyLOCAL - case 1292: + case 1293: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:6485 +//line sql.y:6490 { yyLOCAL = &Default{} } yyVAL.union = yyLOCAL - case 1295: + case 1296: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:6494 +//line sql.y:6499 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1296: + case 1297: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:6496 +//line sql.y:6501 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1297: + case 1298: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:6499 +//line sql.y:6504 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1298: + case 1299: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:6501 +//line sql.y:6506 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1299: + case 1300: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:6504 +//line sql.y:6509 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1300: + case 1301: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL bool -//line sql.y:6506 +//line sql.y:6511 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1301: + case 1302: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Ignore -//line sql.y:6509 +//line sql.y:6514 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1302: + case 1303: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Ignore -//line sql.y:6511 +//line sql.y:6516 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1303: + case 1304: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6514 +//line sql.y:6519 { yyVAL.empty = struct{}{} } - case 1304: + case 1305: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6516 +//line sql.y:6521 { yyVAL.empty = struct{}{} } - case 1305: + case 1306: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6518 +//line sql.y:6523 { yyVAL.empty = struct{}{} } - case 1306: + case 1307: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:6522 +//line sql.y:6527 { yyLOCAL = &CallProc{Name: yyDollar[2].tableName, Params: yyDollar[4].exprsUnion()} } yyVAL.union = yyLOCAL - case 1307: + case 1308: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Exprs -//line sql.y:6527 +//line sql.y:6532 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1308: + case 1309: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Exprs -//line sql.y:6531 +//line sql.y:6536 { yyLOCAL = yyDollar[1].exprsUnion() } yyVAL.union = yyLOCAL - case 1309: + case 1310: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:6536 +//line sql.y:6541 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1310: + case 1311: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:6538 +//line sql.y:6543 { yyLOCAL = []*IndexOption{yyDollar[1].indexOptionUnion()} } yyVAL.union = yyLOCAL - case 1311: + case 1312: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:6542 +//line sql.y:6547 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), String: string(yyDollar[2].colIdent.String())} } yyVAL.union = yyLOCAL - case 1312: + case 1313: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6548 +//line sql.y:6553 { yyVAL.colIdent = yyDollar[1].colIdent } - case 1313: + case 1314: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6552 +//line sql.y:6557 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].str)) } - case 1315: + case 1316: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6559 +//line sql.y:6564 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].str)) } - case 1316: + case 1317: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6565 +//line sql.y:6570 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].colIdent.String())) } - case 1317: + case 1318: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6569 +//line sql.y:6574 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].str)) } - case 1318: + case 1319: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6575 +//line sql.y:6580 { yyVAL.tableIdent = NewTableIdent("") } - case 1319: + case 1320: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6579 +//line sql.y:6584 { yyVAL.tableIdent = yyDollar[1].tableIdent } - case 1321: + case 1322: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6586 +//line sql.y:6591 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].str)) } - case 1823: + case 1825: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7112 +//line sql.y:7118 { if incNesting(yylex) { yylex.Error("max nesting level reached") return 1 } } - case 1824: + case 1826: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7121 +//line sql.y:7127 { decNesting(yylex) } - case 1825: + case 1827: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7126 +//line sql.y:7132 { skipToEnd(yylex) } - case 1826: + case 1828: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7131 +//line sql.y:7137 { skipToEnd(yylex) } - case 1827: + case 1829: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7135 +//line sql.y:7141 { skipToEnd(yylex) } - case 1828: + case 1830: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7139 +//line sql.y:7145 { skipToEnd(yylex) } diff --git a/go/vt/sqlparser/sql.y b/go/vt/sqlparser/sql.y index 15ec400a817..22b41255fdf 100644 --- a/go/vt/sqlparser/sql.y +++ b/go/vt/sqlparser/sql.y @@ -325,6 +325,7 @@ func bindVariable(yylex yyLexer, bvar string) { %token JSON_ARRAY_APPEND JSON_ARRAY_INSERT JSON_INSERT JSON_MERGE JSON_MERGE_PATCH JSON_MERGE_PRESERVE JSON_REMOVE JSON_REPLACE JSON_SET JSON_UNQUOTE %token COUNT // aggregate function %token AVG // aggregate function +%token MAX // aggregate function // Match %token MATCH AGAINST BOOLEAN LANGUAGE WITH QUERY EXPANSION WITHOUT VALIDATION @@ -5384,6 +5385,10 @@ UTC_DATE func_paren_opt { $$ = &Count{Arg:$4, Distinct:$3} } +| MAX openb expression closeb + { + $$ = &Max{Arg:$3} + } | TIMESTAMPADD openb sql_id ',' expression ',' expression closeb { $$ = &TimestampFuncExpr{Name:string("timestampadd"), Unit:$3.String(), Expr1:$5, Expr2:$7} @@ -6920,6 +6925,7 @@ non_reserved_keyword: | MASTER_PUBLIC_KEY_PATH | MASTER_TLS_CIPHERSUITES | MASTER_ZSTD_COMPRESSION_LEVEL +| MAX | MAX_ROWS | MEDIUMBLOB | MEDIUMINT From 28def9a32dee3dc4673ebfd08e21c192ff9f237d Mon Sep 17 00:00:00 2001 From: Rameez Sajwani Date: Thu, 19 May 2022 17:28:00 -0700 Subject: [PATCH 05/22] SQLParser:Refactoring Add min struct Signed-off-by: Rameez Sajwani --- go/vt/sqlparser/ast.go | 5 + go/vt/sqlparser/ast_clone.go | 16 + go/vt/sqlparser/ast_equals.go | 29 + go/vt/sqlparser/ast_format.go | 4 + go/vt/sqlparser/ast_format_fast.go | 6 + go/vt/sqlparser/ast_rewrite.go | 33 + go/vt/sqlparser/ast_visit.go | 18 + go/vt/sqlparser/cached_size.go | 14 + go/vt/sqlparser/keywords.go | 1 + go/vt/sqlparser/parse_test.go | 1 + go/vt/sqlparser/sql.go | 13897 +++++++++++++-------------- go/vt/sqlparser/sql.y | 6 + 12 files changed, 7027 insertions(+), 7003 deletions(-) diff --git a/go/vt/sqlparser/ast.go b/go/vt/sqlparser/ast.go index e3b45e0609f..91aaa67106a 100644 --- a/go/vt/sqlparser/ast.go +++ b/go/vt/sqlparser/ast.go @@ -2574,9 +2574,14 @@ type ( Max struct { Arg Expr } + + Min struct { + Arg Expr + } ) // iExpr ensures that only expressions nodes can be assigned to a Expr +func (*Min) iExpr() {} func (*Max) iExpr() {} func (*Avg) iExpr() {} func (*CountStar) iExpr() {} diff --git a/go/vt/sqlparser/ast_clone.go b/go/vt/sqlparser/ast_clone.go index 0a9447f2600..70066e57875 100644 --- a/go/vt/sqlparser/ast_clone.go +++ b/go/vt/sqlparser/ast_clone.go @@ -255,6 +255,8 @@ func CloneSQLNode(in SQLNode) SQLNode { return CloneRefOfMax(in) case *MemberOfExpr: return CloneRefOfMemberOfExpr(in) + case *Min: + return CloneRefOfMin(in) case *ModifyColumn: return CloneRefOfModifyColumn(in) case *Nextval: @@ -1620,6 +1622,16 @@ func CloneRefOfMemberOfExpr(n *MemberOfExpr) *MemberOfExpr { return &out } +// CloneRefOfMin creates a deep clone of the input. +func CloneRefOfMin(n *Min) *Min { + if n == nil { + return nil + } + out := *n + out.Arg = CloneExpr(n.Arg) + return &out +} + // CloneRefOfModifyColumn creates a deep clone of the input. func CloneRefOfModifyColumn(n *ModifyColumn) *ModifyColumn { if n == nil { @@ -2867,6 +2879,8 @@ func CloneExpr(in Expr) Expr { return CloneRefOfMax(in) case *MemberOfExpr: return CloneRefOfMemberOfExpr(in) + case *Min: + return CloneRefOfMin(in) case *NotExpr: return CloneRefOfNotExpr(in) case *NullVal: @@ -3021,6 +3035,8 @@ func CloneJSONPathParam(in JSONPathParam) JSONPathParam { return CloneRefOfMax(in) case *MemberOfExpr: return CloneRefOfMemberOfExpr(in) + case *Min: + return CloneRefOfMin(in) case *NotExpr: return CloneRefOfNotExpr(in) case *NullVal: diff --git a/go/vt/sqlparser/ast_equals.go b/go/vt/sqlparser/ast_equals.go index c5a5e29c3ea..97b2b934c48 100644 --- a/go/vt/sqlparser/ast_equals.go +++ b/go/vt/sqlparser/ast_equals.go @@ -722,6 +722,12 @@ func EqualsSQLNode(inA, inB SQLNode) bool { return false } return EqualsRefOfMemberOfExpr(a, b) + case *Min: + b, ok := inB.(*Min) + if !ok { + return false + } + return EqualsRefOfMin(a, b) case *ModifyColumn: b, ok := inB.(*ModifyColumn) if !ok { @@ -2631,6 +2637,17 @@ func EqualsRefOfMemberOfExpr(a, b *MemberOfExpr) bool { EqualsExpr(a.JSONArr, b.JSONArr) } +// EqualsRefOfMin does deep equals between the two objects. +func EqualsRefOfMin(a, b *Min) bool { + if a == b { + return true + } + if a == nil || b == nil { + return false + } + return EqualsExpr(a.Arg, b.Arg) +} + // EqualsRefOfModifyColumn does deep equals between the two objects. func EqualsRefOfModifyColumn(a, b *ModifyColumn) bool { if a == b { @@ -4536,6 +4553,12 @@ func EqualsExpr(inA, inB Expr) bool { return false } return EqualsRefOfMemberOfExpr(a, b) + case *Min: + b, ok := inB.(*Min) + if !ok { + return false + } + return EqualsRefOfMin(a, b) case *NotExpr: b, ok := inB.(*NotExpr) if !ok { @@ -4956,6 +4979,12 @@ func EqualsJSONPathParam(inA, inB JSONPathParam) bool { return false } return EqualsRefOfMemberOfExpr(a, b) + case *Min: + b, ok := inB.(*Min) + if !ok { + return false + } + return EqualsRefOfMin(a, b) case *NotExpr: b, ok := inB.(*NotExpr) if !ok { diff --git a/go/vt/sqlparser/ast_format.go b/go/vt/sqlparser/ast_format.go index 9a93be7c96e..645ca62e3c2 100644 --- a/go/vt/sqlparser/ast_format.go +++ b/go/vt/sqlparser/ast_format.go @@ -2368,3 +2368,7 @@ func (node *Avg) Format(buf *TrackedBuffer) { func (node *Max) Format(buf *TrackedBuffer) { buf.astPrintf(node, "max(%v)", node.Arg) } + +func (node *Min) Format(buf *TrackedBuffer) { + buf.astPrintf(node, "min(%v)", node.Arg) +} diff --git a/go/vt/sqlparser/ast_format_fast.go b/go/vt/sqlparser/ast_format_fast.go index 849638c13ed..e6c7bce84b4 100644 --- a/go/vt/sqlparser/ast_format_fast.go +++ b/go/vt/sqlparser/ast_format_fast.go @@ -3086,3 +3086,9 @@ func (node *Max) formatFast(buf *TrackedBuffer) { buf.printExpr(node, node.Arg, true) buf.WriteByte(')') } + +func (node *Min) formatFast(buf *TrackedBuffer) { + buf.WriteString("min(") + buf.printExpr(node, node.Arg, true) + buf.WriteByte(')') +} diff --git a/go/vt/sqlparser/ast_rewrite.go b/go/vt/sqlparser/ast_rewrite.go index a607681e6e0..13d0051060b 100644 --- a/go/vt/sqlparser/ast_rewrite.go +++ b/go/vt/sqlparser/ast_rewrite.go @@ -254,6 +254,8 @@ func (a *application) rewriteSQLNode(parent SQLNode, node SQLNode, replacer repl return a.rewriteRefOfMax(parent, node, replacer) case *MemberOfExpr: return a.rewriteRefOfMemberOfExpr(parent, node, replacer) + case *Min: + return a.rewriteRefOfMin(parent, node, replacer) case *ModifyColumn: return a.rewriteRefOfModifyColumn(parent, node, replacer) case *Nextval: @@ -3941,6 +3943,33 @@ func (a *application) rewriteRefOfMemberOfExpr(parent SQLNode, node *MemberOfExp } return true } +func (a *application) rewriteRefOfMin(parent SQLNode, node *Min, replacer replacerFunc) bool { + if node == nil { + return true + } + if a.pre != nil { + a.cur.replacer = replacer + a.cur.parent = parent + a.cur.node = node + if !a.pre(&a.cur) { + return true + } + } + if !a.rewriteExpr(node, node.Arg, func(newNode, parent SQLNode) { + parent.(*Min).Arg = newNode.(Expr) + }) { + return false + } + if a.post != nil { + a.cur.replacer = replacer + a.cur.parent = parent + a.cur.node = node + if !a.post(&a.cur) { + return false + } + } + return true +} func (a *application) rewriteRefOfModifyColumn(parent SQLNode, node *ModifyColumn, replacer replacerFunc) bool { if node == nil { return true @@ -6973,6 +7002,8 @@ func (a *application) rewriteExpr(parent SQLNode, node Expr, replacer replacerFu return a.rewriteRefOfMax(parent, node, replacer) case *MemberOfExpr: return a.rewriteRefOfMemberOfExpr(parent, node, replacer) + case *Min: + return a.rewriteRefOfMin(parent, node, replacer) case *NotExpr: return a.rewriteRefOfNotExpr(parent, node, replacer) case *NullVal: @@ -7123,6 +7154,8 @@ func (a *application) rewriteJSONPathParam(parent SQLNode, node JSONPathParam, r return a.rewriteRefOfMax(parent, node, replacer) case *MemberOfExpr: return a.rewriteRefOfMemberOfExpr(parent, node, replacer) + case *Min: + return a.rewriteRefOfMin(parent, node, replacer) case *NotExpr: return a.rewriteRefOfNotExpr(parent, node, replacer) case *NullVal: diff --git a/go/vt/sqlparser/ast_visit.go b/go/vt/sqlparser/ast_visit.go index 66f9f407e44..a5b02dd29b3 100644 --- a/go/vt/sqlparser/ast_visit.go +++ b/go/vt/sqlparser/ast_visit.go @@ -254,6 +254,8 @@ func VisitSQLNode(in SQLNode, f Visit) error { return VisitRefOfMax(in, f) case *MemberOfExpr: return VisitRefOfMemberOfExpr(in, f) + case *Min: + return VisitRefOfMin(in, f) case *ModifyColumn: return VisitRefOfModifyColumn(in, f) case *Nextval: @@ -2038,6 +2040,18 @@ func VisitRefOfMemberOfExpr(in *MemberOfExpr, f Visit) error { } return nil } +func VisitRefOfMin(in *Min, f Visit) error { + if in == nil { + return nil + } + if cont, err := f(in); err != nil || !cont { + return err + } + if err := VisitExpr(in.Arg, f); err != nil { + return err + } + return nil +} func VisitRefOfModifyColumn(in *ModifyColumn, f Visit) error { if in == nil { return nil @@ -3562,6 +3576,8 @@ func VisitExpr(in Expr, f Visit) error { return VisitRefOfMax(in, f) case *MemberOfExpr: return VisitRefOfMemberOfExpr(in, f) + case *Min: + return VisitRefOfMin(in, f) case *NotExpr: return VisitRefOfNotExpr(in, f) case *NullVal: @@ -3712,6 +3728,8 @@ func VisitJSONPathParam(in JSONPathParam, f Visit) error { return VisitRefOfMax(in, f) case *MemberOfExpr: return VisitRefOfMemberOfExpr(in, f) + case *Min: + return VisitRefOfMin(in, f) case *NotExpr: return VisitRefOfNotExpr(in, f) case *NullVal: diff --git a/go/vt/sqlparser/cached_size.go b/go/vt/sqlparser/cached_size.go index 5f460feeae5..7b0c332182b 100644 --- a/go/vt/sqlparser/cached_size.go +++ b/go/vt/sqlparser/cached_size.go @@ -2116,6 +2116,20 @@ func (cached *MemberOfExpr) CachedSize(alloc bool) int64 { } return size } +func (cached *Min) CachedSize(alloc bool) int64 { + if cached == nil { + return int64(0) + } + size := int64(0) + if alloc { + size += int64(16) + } + // field Arg vitess.io/vitess/go/vt/sqlparser.Expr + if cc, ok := cached.Arg.(cachedObject); ok { + size += cc.CachedSize(true) + } + return size +} func (cached *ModifyColumn) CachedSize(alloc bool) int64 { if cached == nil { return int64(0) diff --git a/go/vt/sqlparser/keywords.go b/go/vt/sqlparser/keywords.go index 9349cff2c99..1ca0c61e640 100644 --- a/go/vt/sqlparser/keywords.go +++ b/go/vt/sqlparser/keywords.go @@ -393,6 +393,7 @@ var keywords = []keyword{ {"loop", UNUSED}, {"low_priority", LOW_PRIORITY}, {"ltrim", LTRIM}, + {"min", MIN}, {"manifest", MANIFEST}, {"master_bind", UNUSED}, {"match", MATCH}, diff --git a/go/vt/sqlparser/parse_test.go b/go/vt/sqlparser/parse_test.go index d82813080ab..1ae3ba52e58 100644 --- a/go/vt/sqlparser/parse_test.go +++ b/go/vt/sqlparser/parse_test.go @@ -50,6 +50,7 @@ var ( {input: "select avg(a) 'Avg Price' from products"}, {input: "select format(avg(distinct a), 2) from products"}, {input: "select max(a) from products"}, + {input: "select min(a) from products"}, } validSQL = []struct { input string diff --git a/go/vt/sqlparser/sql.go b/go/vt/sqlparser/sql.go index 785113b0d6e..dffb9d428f8 100644 --- a/go/vt/sqlparser/sql.go +++ b/go/vt/sqlparser/sql.go @@ -493,151 +493,152 @@ const JSON_UNQUOTE = 57790 const COUNT = 57791 const AVG = 57792 const MAX = 57793 -const MATCH = 57794 -const AGAINST = 57795 -const BOOLEAN = 57796 -const LANGUAGE = 57797 -const WITH = 57798 -const QUERY = 57799 -const EXPANSION = 57800 -const WITHOUT = 57801 -const VALIDATION = 57802 -const UNUSED = 57803 -const ARRAY = 57804 -const BYTE = 57805 -const CUME_DIST = 57806 -const DESCRIPTION = 57807 -const DENSE_RANK = 57808 -const EMPTY = 57809 -const EXCEPT = 57810 -const FIRST_VALUE = 57811 -const GROUPING = 57812 -const GROUPS = 57813 -const JSON_TABLE = 57814 -const LAG = 57815 -const LAST_VALUE = 57816 -const LATERAL = 57817 -const LEAD = 57818 -const NTH_VALUE = 57819 -const NTILE = 57820 -const OF = 57821 -const OVER = 57822 -const PERCENT_RANK = 57823 -const RANK = 57824 -const RECURSIVE = 57825 -const ROW_NUMBER = 57826 -const SYSTEM = 57827 -const WINDOW = 57828 -const ACTIVE = 57829 -const ADMIN = 57830 -const AUTOEXTEND_SIZE = 57831 -const BUCKETS = 57832 -const CLONE = 57833 -const COLUMN_FORMAT = 57834 -const COMPONENT = 57835 -const DEFINITION = 57836 -const ENFORCED = 57837 -const ENGINE_ATTRIBUTE = 57838 -const EXCLUDE = 57839 -const FOLLOWING = 57840 -const GEOMCOLLECTION = 57841 -const GET_MASTER_PUBLIC_KEY = 57842 -const HISTOGRAM = 57843 -const HISTORY = 57844 -const INACTIVE = 57845 -const INVISIBLE = 57846 -const LOCKED = 57847 -const MASTER_COMPRESSION_ALGORITHMS = 57848 -const MASTER_PUBLIC_KEY_PATH = 57849 -const MASTER_TLS_CIPHERSUITES = 57850 -const MASTER_ZSTD_COMPRESSION_LEVEL = 57851 -const NESTED = 57852 -const NETWORK_NAMESPACE = 57853 -const NOWAIT = 57854 -const NULLS = 57855 -const OJ = 57856 -const OLD = 57857 -const OPTIONAL = 57858 -const ORDINALITY = 57859 -const ORGANIZATION = 57860 -const OTHERS = 57861 -const PARTIAL = 57862 -const PATH = 57863 -const PERSIST = 57864 -const PERSIST_ONLY = 57865 -const PRECEDING = 57866 -const PRIVILEGE_CHECKS_USER = 57867 -const PROCESS = 57868 -const RANDOM = 57869 -const REFERENCE = 57870 -const REQUIRE_ROW_FORMAT = 57871 -const RESOURCE = 57872 -const RESPECT = 57873 -const RESTART = 57874 -const RETAIN = 57875 -const REUSE = 57876 -const ROLE = 57877 -const SECONDARY = 57878 -const SECONDARY_ENGINE = 57879 -const SECONDARY_ENGINE_ATTRIBUTE = 57880 -const SECONDARY_LOAD = 57881 -const SECONDARY_UNLOAD = 57882 -const SIMPLE = 57883 -const SKIP = 57884 -const SRID = 57885 -const THREAD_PRIORITY = 57886 -const TIES = 57887 -const UNBOUNDED = 57888 -const VCPU = 57889 -const VISIBLE = 57890 -const RETURNING = 57891 -const FORMAT = 57892 -const TREE = 57893 -const VITESS = 57894 -const TRADITIONAL = 57895 -const LOCAL = 57896 -const LOW_PRIORITY = 57897 -const NO_WRITE_TO_BINLOG = 57898 -const LOGS = 57899 -const ERROR = 57900 -const GENERAL = 57901 -const HOSTS = 57902 -const OPTIMIZER_COSTS = 57903 -const USER_RESOURCES = 57904 -const SLOW = 57905 -const CHANNEL = 57906 -const RELAY = 57907 -const EXPORT = 57908 -const AVG_ROW_LENGTH = 57909 -const CONNECTION = 57910 -const CHECKSUM = 57911 -const DELAY_KEY_WRITE = 57912 -const ENCRYPTION = 57913 -const ENGINE = 57914 -const INSERT_METHOD = 57915 -const MAX_ROWS = 57916 -const MIN_ROWS = 57917 -const PACK_KEYS = 57918 -const PASSWORD = 57919 -const FIXED = 57920 -const DYNAMIC = 57921 -const COMPRESSED = 57922 -const REDUNDANT = 57923 -const COMPACT = 57924 -const ROW_FORMAT = 57925 -const STATS_AUTO_RECALC = 57926 -const STATS_PERSISTENT = 57927 -const STATS_SAMPLE_PAGES = 57928 -const STORAGE = 57929 -const MEMORY = 57930 -const DISK = 57931 -const PARTITIONS = 57932 -const LINEAR = 57933 -const RANGE = 57934 -const LIST = 57935 -const SUBPARTITION = 57936 -const SUBPARTITIONS = 57937 -const HASH = 57938 +const MIN = 57794 +const MATCH = 57795 +const AGAINST = 57796 +const BOOLEAN = 57797 +const LANGUAGE = 57798 +const WITH = 57799 +const QUERY = 57800 +const EXPANSION = 57801 +const WITHOUT = 57802 +const VALIDATION = 57803 +const UNUSED = 57804 +const ARRAY = 57805 +const BYTE = 57806 +const CUME_DIST = 57807 +const DESCRIPTION = 57808 +const DENSE_RANK = 57809 +const EMPTY = 57810 +const EXCEPT = 57811 +const FIRST_VALUE = 57812 +const GROUPING = 57813 +const GROUPS = 57814 +const JSON_TABLE = 57815 +const LAG = 57816 +const LAST_VALUE = 57817 +const LATERAL = 57818 +const LEAD = 57819 +const NTH_VALUE = 57820 +const NTILE = 57821 +const OF = 57822 +const OVER = 57823 +const PERCENT_RANK = 57824 +const RANK = 57825 +const RECURSIVE = 57826 +const ROW_NUMBER = 57827 +const SYSTEM = 57828 +const WINDOW = 57829 +const ACTIVE = 57830 +const ADMIN = 57831 +const AUTOEXTEND_SIZE = 57832 +const BUCKETS = 57833 +const CLONE = 57834 +const COLUMN_FORMAT = 57835 +const COMPONENT = 57836 +const DEFINITION = 57837 +const ENFORCED = 57838 +const ENGINE_ATTRIBUTE = 57839 +const EXCLUDE = 57840 +const FOLLOWING = 57841 +const GEOMCOLLECTION = 57842 +const GET_MASTER_PUBLIC_KEY = 57843 +const HISTOGRAM = 57844 +const HISTORY = 57845 +const INACTIVE = 57846 +const INVISIBLE = 57847 +const LOCKED = 57848 +const MASTER_COMPRESSION_ALGORITHMS = 57849 +const MASTER_PUBLIC_KEY_PATH = 57850 +const MASTER_TLS_CIPHERSUITES = 57851 +const MASTER_ZSTD_COMPRESSION_LEVEL = 57852 +const NESTED = 57853 +const NETWORK_NAMESPACE = 57854 +const NOWAIT = 57855 +const NULLS = 57856 +const OJ = 57857 +const OLD = 57858 +const OPTIONAL = 57859 +const ORDINALITY = 57860 +const ORGANIZATION = 57861 +const OTHERS = 57862 +const PARTIAL = 57863 +const PATH = 57864 +const PERSIST = 57865 +const PERSIST_ONLY = 57866 +const PRECEDING = 57867 +const PRIVILEGE_CHECKS_USER = 57868 +const PROCESS = 57869 +const RANDOM = 57870 +const REFERENCE = 57871 +const REQUIRE_ROW_FORMAT = 57872 +const RESOURCE = 57873 +const RESPECT = 57874 +const RESTART = 57875 +const RETAIN = 57876 +const REUSE = 57877 +const ROLE = 57878 +const SECONDARY = 57879 +const SECONDARY_ENGINE = 57880 +const SECONDARY_ENGINE_ATTRIBUTE = 57881 +const SECONDARY_LOAD = 57882 +const SECONDARY_UNLOAD = 57883 +const SIMPLE = 57884 +const SKIP = 57885 +const SRID = 57886 +const THREAD_PRIORITY = 57887 +const TIES = 57888 +const UNBOUNDED = 57889 +const VCPU = 57890 +const VISIBLE = 57891 +const RETURNING = 57892 +const FORMAT = 57893 +const TREE = 57894 +const VITESS = 57895 +const TRADITIONAL = 57896 +const LOCAL = 57897 +const LOW_PRIORITY = 57898 +const NO_WRITE_TO_BINLOG = 57899 +const LOGS = 57900 +const ERROR = 57901 +const GENERAL = 57902 +const HOSTS = 57903 +const OPTIMIZER_COSTS = 57904 +const USER_RESOURCES = 57905 +const SLOW = 57906 +const CHANNEL = 57907 +const RELAY = 57908 +const EXPORT = 57909 +const AVG_ROW_LENGTH = 57910 +const CONNECTION = 57911 +const CHECKSUM = 57912 +const DELAY_KEY_WRITE = 57913 +const ENCRYPTION = 57914 +const ENGINE = 57915 +const INSERT_METHOD = 57916 +const MAX_ROWS = 57917 +const MIN_ROWS = 57918 +const PACK_KEYS = 57919 +const PASSWORD = 57920 +const FIXED = 57921 +const DYNAMIC = 57922 +const COMPRESSED = 57923 +const REDUNDANT = 57924 +const COMPACT = 57925 +const ROW_FORMAT = 57926 +const STATS_AUTO_RECALC = 57927 +const STATS_PERSISTENT = 57928 +const STATS_SAMPLE_PAGES = 57929 +const STORAGE = 57930 +const MEMORY = 57931 +const DISK = 57932 +const PARTITIONS = 57933 +const LINEAR = 57934 +const RANGE = 57935 +const LIST = 57936 +const SUBPARTITION = 57937 +const SUBPARTITIONS = 57938 +const HASH = 57939 var yyToknames = [...]string{ "$end", @@ -1108,6 +1109,7 @@ var yyToknames = [...]string{ "COUNT", "AVG", "MAX", + "MIN", "MATCH", "AGAINST", "BOOLEAN", @@ -1273,7 +1275,7 @@ var yyExca = [...]int{ -2, 0, -1, 47, 1, 145, - 614, 145, + 615, 145, -2, 153, -1, 48, 132, 153, @@ -1291,11 +1293,11 @@ var yyExca = [...]int{ 235, 766, -2, 764, -1, 114, - 232, 1296, + 232, 1297, -2, 119, -1, 116, 1, 146, - 614, 146, + 615, 146, -2, 153, -1, 127, 133, 384, @@ -1306,4017 +1308,2135 @@ var yyExca = [...]int{ 172, 153, 333, 153, -2, 507, - -1, 701, - 217, 1317, - -2, 1313, - -1, 702, + -1, 703, 217, 1318, -2, 1314, - -1, 777, + -1, 704, + 217, 1319, + -2, 1315, + -1, 779, 59, 834, -2, 849, - -1, 814, - 148, 1728, + -1, 816, + 148, 1730, -2, 112, - -1, 815, - 148, 1568, + -1, 817, + 148, 1569, -2, 113, - -1, 821, - 148, 1653, - -2, 1290, - -1, 969, - 148, 1495, - -2, 1287, - -1, 1010, + -1, 823, + 148, 1655, + -2, 1291, + -1, 971, + 148, 1496, + -2, 1288, + -1, 1012, 243, 41, 248, 41, -2, 395, - -1, 1094, + -1, 1096, 1, 554, - 614, 554, + 615, 554, -2, 153, - -1, 1334, + -1, 1337, 59, 835, -2, 854, - -1, 1335, + -1, 1338, 59, 836, -2, 855, - -1, 1388, + -1, 1391, 132, 153, 172, 153, 333, 153, -2, 434, - -1, 1467, + -1, 1470, 133, 384, 238, 384, -2, 487, - -1, 1476, + -1, 1479, 243, 42, 248, 42, -2, 396, - -1, 1790, - 217, 1322, - -2, 1316, - -1, 1874, + -1, 1794, + 217, 1323, + -2, 1317, + -1, 1878, 132, 153, 172, 153, 333, 153, -2, 435, - -1, 1881, + -1, 1885, 25, 174, -2, 176, - -1, 2134, + -1, 2139, 87, 39, -2, 892, - -1, 2191, + -1, 2196, 77, 94, 87, 94, -2, 912, - -1, 2259, - 589, 666, + -1, 2264, + 590, 666, -2, 640, - -1, 2400, - 49, 1258, - -2, 1252, - -1, 2622, + -1, 2405, + 49, 1259, + -2, 1253, + -1, 2627, 87, 39, -2, 893, - -1, 2660, + -1, 2665, 7, 53, 18, 53, 20, 53, 88, 53, -2, 884, - -1, 2943, - 589, 666, + -1, 2949, + 590, 666, -2, 654, - -1, 3001, - 22, 1655, - 32, 1655, - 173, 1655, - 255, 1655, - 313, 1655, - 314, 1655, - 315, 1655, - 316, 1655, - 317, 1655, - 318, 1655, - 319, 1655, - 321, 1655, - 322, 1655, - 323, 1655, - 324, 1655, - 325, 1655, - 326, 1655, - 327, 1655, - 328, 1655, - 329, 1655, - 330, 1655, - 331, 1655, - 332, 1655, - 334, 1655, - 336, 1655, - 337, 1655, - 338, 1655, - 339, 1655, - 340, 1655, - 341, 1655, - 342, 1655, - 343, 1655, - 344, 1655, - 347, 1655, - 348, 1655, - 349, 1655, - 350, 1655, - 351, 1655, - 352, 1655, - 353, 1655, - 354, 1655, - 355, 1655, - 471, 1655, + -1, 3007, + 22, 1657, + 32, 1657, + 173, 1657, + 255, 1657, + 313, 1657, + 314, 1657, + 315, 1657, + 316, 1657, + 317, 1657, + 318, 1657, + 319, 1657, + 321, 1657, + 322, 1657, + 323, 1657, + 324, 1657, + 325, 1657, + 326, 1657, + 327, 1657, + 328, 1657, + 329, 1657, + 330, 1657, + 331, 1657, + 332, 1657, + 334, 1657, + 336, 1657, + 337, 1657, + 338, 1657, + 339, 1657, + 340, 1657, + 341, 1657, + 342, 1657, + 343, 1657, + 344, 1657, + 347, 1657, + 348, 1657, + 349, 1657, + 350, 1657, + 351, 1657, + 352, 1657, + 353, 1657, + 354, 1657, + 355, 1657, + 472, 1657, -2, 598, } const yyPrivate = 57344 -const yyLast = 44684 +const yyLast = 43453 var yyAct = [...]int{ - 701, 2359, 2763, 2764, 3055, 710, 2762, 2924, 3063, 3031, - 1871, 3032, 1391, 2999, 1824, 2737, 2549, 2983, 1804, 2455, - 2462, 2877, 2088, 2724, 2503, 3, 694, 37, 1157, 703, - 2413, 2777, 2900, 2512, 2517, 2514, 1806, 2122, 2513, 2511, - 96, 2516, 2416, 2515, 2470, 770, 1941, 1313, 2531, 2532, - 1349, 186, 2414, 616, 186, 2417, 581, 186, 2782, 2319, - 2631, 2625, 596, 1828, 186, 692, 2162, 792, 704, 695, - 2358, 613, 186, 693, 2357, 642, 2534, 2651, 2411, 2401, - 1844, 2185, 2149, 2617, 1106, 614, 1904, 186, 2224, 2256, - 1909, 2554, 2302, 1929, 2225, 972, 2226, 1445, 612, 1860, - 1972, 793, 155, 36, 774, 819, 778, 2174, 2155, 596, - 1849, 38, 596, 186, 596, 608, 2141, 772, 1492, 1848, - 2124, 1759, 1784, 1760, 795, 1336, 2294, 1695, 141, 1685, - 1643, 1950, 1928, 1836, 1988, 1911, 2218, 816, 1135, 95, - 1005, 1000, 1380, 2193, 1358, 1474, 91, 620, 625, 1851, - 1592, 1242, 1316, 1707, 1662, 1178, 1481, 979, 1588, 1008, - 1926, 1572, 1011, 976, 980, 1006, 1007, 1377, 1829, 1900, - 1363, 1379, 784, 1756, 1703, 119, 1155, 1597, 1149, 117, - 118, 1440, 1090, 779, 98, 1466, 124, 125, 1042, 1018, - 806, 780, 85, 782, 102, 97, 76, 1249, 603, 89, - 1245, 3056, 1797, 159, 2933, 2249, 1943, 1944, 1945, 1943, - 2725, 2500, 2278, 2277, 1986, 2247, 781, 77, 585, 8, - 7, 1557, 6, 2522, 552, 2717, 2680, 2310, 2311, 2767, - 800, 2767, 805, 2522, 126, 104, 105, 786, 108, 90, - 2956, 114, 2957, 1650, 183, 1649, 2519, 547, 1648, 1047, - 1647, 120, 973, 188, 189, 190, 1801, 1802, 998, 1646, - 1645, 1628, 1637, 1787, 604, 3020, 2120, 766, 767, 768, - 769, 2397, 771, 777, 773, 87, 813, 820, 606, 2605, - 607, 2520, 1976, 3035, 989, 984, 1343, 3072, 1021, 997, - 794, 2520, 996, 2151, 787, 3030, 995, 994, 3046, 1974, - 2272, 808, 809, 2526, 1655, 2873, 2872, 1048, 1051, 1052, - 1046, 2269, 585, 2526, 2766, 1045, 2766, 3071, 1022, 2730, - 120, 1179, 2731, 2993, 3059, 2952, 1975, 2030, 1063, 78, - 78, 2957, 1044, 3044, 2738, 78, 2984, 1969, 80, 1179, - 78, 2992, 2318, 3004, 1057, 1060, 1061, 1062, 2587, 1065, - 1066, 1067, 1068, 1832, 2165, 1071, 1072, 1073, 1074, 1075, - 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, - 1086, 1087, 1455, 3009, 2951, 1381, 2286, 1382, 2795, 2166, - 2285, 2121, 993, 2451, 1099, 1100, 2309, 3007, 120, 188, - 189, 190, 2028, 2452, 2453, 988, 3013, 3014, 990, 1866, - 1867, 2027, 1865, 1920, 2472, 2473, 1152, 87, 87, 1125, - 182, 3008, 2523, 87, 2202, 764, 1102, 2201, 87, 586, - 2203, 763, 2523, 1142, 2250, 1144, 1113, 1189, 1914, 1803, - 1211, 1114, 585, 2925, 121, 1130, 1131, 1126, 2214, 2458, - 991, 1884, 1883, 2158, 2159, 1189, 1119, 164, 3036, 2551, - 2628, 2882, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1220, - 1219, 1221, 1222, 1141, 1143, 1113, 2295, 2347, 1089, 3037, - 1114, 2578, 2576, 582, 594, 1636, 2555, 592, 1112, 598, - 1111, 2257, 1320, 1994, 2459, 1951, 1638, 1639, 1640, 1547, - 2207, 2544, 1989, 993, 1578, 985, 585, 2281, 1093, 2545, - 3058, 1146, 987, 986, 2006, 161, 2007, 162, 2008, 2471, - 2461, 1573, 1151, 586, 1742, 585, 1128, 1129, 1134, 1095, - 568, 2474, 1127, 2297, 2456, 2719, 1185, 181, 585, 1177, - 1132, 1120, 566, 1548, 2552, 1549, 1830, 1831, 1995, 2718, - 1133, 2472, 2473, 2009, 1185, 1070, 1069, 186, 2457, 186, - 1993, 991, 186, 2553, 3021, 1064, 1991, 2857, 992, 1001, - 1139, 1031, 1029, 1002, 1140, 1954, 87, 2715, 1913, 1832, - 1845, 1002, 563, 2474, 1145, 1040, 1039, 1038, 1037, 1036, - 2463, 577, 596, 1159, 596, 596, 2000, 1997, 1999, 1998, - 2001, 2002, 1992, 1035, 1459, 1323, 573, 1034, 1138, 596, - 596, 1033, 1734, 1723, 1724, 1725, 1726, 1736, 1727, 1728, - 1729, 1741, 1737, 1730, 1731, 1738, 1739, 1740, 1732, 1733, - 1735, 1028, 1041, 3073, 2348, 3042, 1171, 37, 1223, 977, - 1223, 977, 977, 586, 1014, 975, 165, 1123, 1109, 1013, - 1115, 1116, 1117, 1118, 1050, 171, 2471, 2028, 993, 1088, - 1013, 3067, 1480, 1589, 1049, 1927, 807, 2298, 2474, 1980, - 2216, 1585, 1165, 1153, 1154, 553, 2301, 555, 569, 992, - 588, 1973, 587, 559, 999, 557, 561, 570, 562, 2714, - 556, 1053, 567, 2932, 2248, 558, 571, 572, 575, 578, - 579, 580, 576, 574, 2493, 565, 589, 586, 1579, 2280, - 2283, 1453, 1580, 1581, 2251, 1032, 1030, 1226, 1227, 1228, - 1229, 1147, 2314, 1092, 2042, 1452, 586, 1234, 1059, 1237, - 2125, 2127, 1184, 1181, 1182, 1183, 1188, 1190, 1187, 586, - 1186, 1451, 1020, 2267, 1586, 2629, 1449, 1180, 1160, 1311, - 1184, 1181, 1182, 1183, 1188, 1190, 1187, 2938, 1186, 551, - 1020, 2921, 1830, 1831, 546, 1180, 1577, 1479, 1224, 1225, - 1161, 1162, 156, 81, 186, 2667, 2883, 2460, 596, 596, - 2524, 2525, 2950, 2765, 2293, 2765, 1230, 2292, 2029, 2647, - 2524, 2525, 2198, 2528, 186, 1559, 1558, 1560, 1561, 1562, - 2678, 2679, 3012, 2528, 86, 86, 116, 2161, 1326, 1917, - 86, 2271, 1330, 596, 2112, 86, 2304, 186, 774, 1091, - 1796, 2303, 596, 1367, 772, 1329, 1312, 77, 596, 1327, - 1174, 1172, 1971, 1173, 992, 2304, 1292, 1020, 1020, 1104, - 2303, 1019, 1101, 1098, 2156, 1122, 3011, 1872, 1324, 1918, - 816, 1020, 1247, 1251, 1248, 2270, 1124, 1916, 1110, 1019, - 1223, 1222, 2450, 789, 1136, 1013, 1016, 1017, 1306, 977, - 1108, 1020, 1150, 1010, 1014, 3065, 1598, 2946, 3066, 111, - 3064, 590, 1667, 1043, 2710, 2338, 1328, 2641, 1708, 1312, - 95, 1919, 2126, 1990, 1009, 1704, 1668, 1669, 1666, 583, - 1582, 1915, 1383, 1175, 1298, 1299, 1300, 1301, 1302, 1705, - 1574, 1708, 1575, 2056, 584, 1576, 2240, 1193, 1194, 157, - 1657, 1659, 1660, 1317, 1194, 2791, 169, 2464, 2685, 2684, - 2320, 2468, 1958, 1489, 1968, 98, 1019, 1019, 1058, 2467, - 1488, 1478, 1023, 1013, 1658, 1966, 1031, 1025, 1029, 112, - 1019, 1026, 1024, 3038, 1195, 3074, 1013, 1016, 1017, 1195, - 977, 2034, 2035, 2036, 1010, 1014, 1368, 2668, 177, 2052, - 1019, 1314, 1027, 2469, 1325, 1023, 1013, 3069, 2465, 771, - 1025, 1331, 186, 2466, 1026, 1024, 1441, 1348, 773, 2962, - 820, 1094, 1345, 1963, 1963, 1378, 1450, 158, 163, 160, - 166, 167, 168, 170, 172, 173, 174, 175, 1137, 1373, - 1374, 1107, 2322, 176, 178, 179, 180, 2865, 2864, 596, - 1599, 1476, 1970, 1217, 1218, 1220, 1219, 1221, 1222, 1485, - 1967, 1965, 2963, 1487, 2914, 1717, 1490, 1491, 596, 596, - 3075, 596, 2051, 596, 596, 3039, 596, 596, 596, 596, - 596, 596, 1215, 1216, 1217, 1218, 1220, 1219, 1221, 1222, - 1522, 1523, 2855, 596, 715, 716, 717, 186, 1528, 1199, - 1200, 1201, 1202, 1203, 1204, 1205, 1197, 2915, 2332, 2331, - 2330, 2324, 87, 2328, 186, 2323, 1192, 2321, 1193, 1194, - 2755, 1192, 2326, 1193, 1194, 2340, 1665, 596, 1343, 186, - 2744, 2325, 2745, 2754, 811, 1712, 2692, 2691, 1567, 1713, - 1587, 1195, 2681, 596, 1472, 186, 1565, 2501, 2327, 2329, - 1542, 1213, 1214, 1215, 1216, 1217, 1218, 1220, 1219, 1221, - 1222, 186, 2489, 2222, 1837, 1838, 2221, 1923, 186, 1554, - 188, 189, 190, 1465, 2675, 1568, 2941, 186, 186, 186, - 186, 186, 186, 186, 186, 186, 596, 1494, 1525, 1495, - 1552, 1497, 1499, 1551, 1550, 1503, 1505, 1507, 1509, 1511, - 596, 596, 1566, 1540, 1484, 1534, 1448, 1531, 1530, 1486, - 1564, 188, 189, 190, 1483, 2205, 1529, 2940, 186, 188, - 189, 190, 1195, 1939, 1454, 2918, 1456, 1457, 1458, 1462, - 1463, 1461, 1475, 1553, 1195, 1501, 1521, 2917, 2916, 1524, - 1195, 188, 189, 190, 1602, 1937, 1482, 1482, 2860, 1195, - 1594, 1606, 2584, 1608, 1609, 1610, 1611, 1211, 1352, 2313, - 1615, 2069, 1526, 2845, 596, 2844, 1689, 1693, 2790, 2788, - 1692, 1692, 1627, 1192, 1195, 1193, 1194, 1698, 596, 1212, - 1213, 1214, 1215, 1216, 1217, 1218, 1220, 1219, 1221, 1222, - 1600, 1601, 1532, 1533, 1690, 1690, 596, 596, 1538, 1539, - 1590, 2751, 2689, 2674, 1605, 2893, 1343, 2556, 1353, 2492, - 996, 1612, 1613, 1614, 995, 994, 1663, 1195, 1343, 1211, - 1670, 2041, 1672, 1673, 1674, 1675, 1676, 1677, 1678, 1679, - 1680, 1681, 1682, 1683, 1684, 1671, 2491, 1661, 120, 1604, - 2231, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1220, 1219, - 1221, 1222, 1195, 2219, 1192, 1757, 1193, 1194, 3040, 186, - 1308, 1788, 1625, 2548, 596, 1626, 1192, 1984, 1193, 1194, - 1983, 1827, 1192, 2045, 1193, 1194, 1633, 1634, 188, 189, - 190, 1192, 1195, 1193, 1194, 188, 189, 190, 186, 1935, - 2047, 596, 1809, 1629, 1195, 1664, 1595, 1563, 1555, 1545, - 2046, 186, 1541, 1537, 1536, 596, 1192, 1757, 1193, 1194, - 186, 1535, 186, 1354, 186, 186, 596, 1148, 1164, 596, - 101, 2147, 3057, 3026, 1343, 2147, 2990, 1195, 2147, 2970, - 596, 100, 1709, 99, 92, 1814, 1788, 1815, 1790, 92, - 1343, 94, 1881, 2890, 816, 93, 2889, 816, 2849, 1192, - 93, 1193, 1194, 95, 2147, 2966, 94, 1792, 1793, 2848, - 101, 2958, 1343, 2147, 2934, 2582, 1343, 1714, 1716, 2728, - 2931, 100, 95, 99, 1195, 2601, 1343, 2097, 1343, 2163, - 1195, 2736, 94, 1789, 1192, 596, 1193, 1194, 1195, 2258, - 2077, 1356, 1930, 1931, 1932, 1847, 2236, 1934, 1936, 1938, - 1343, 1343, 1820, 2868, 1343, 1343, 1890, 1891, 1892, 1893, - 2089, 2640, 596, 1790, 1192, 1343, 1193, 1194, 596, 1485, - 2147, 2856, 1485, 2170, 1485, 1876, 1192, 1195, 1193, 1194, - 1962, 1875, 786, 1808, 1885, 1694, 1886, 1887, 1888, 1889, - 1880, 1343, 1700, 1701, 100, 1858, 2728, 1343, 1195, 2147, - 2726, 2171, 1896, 1897, 1898, 1899, 2642, 1355, 1842, 1192, - 1822, 1193, 1194, 1952, 1343, 596, 1906, 596, 1963, 1343, - 1879, 2412, 2929, 596, 596, 1840, 1191, 1912, 2171, 702, - 2645, 1343, 2640, 1862, 820, 1191, 1343, 820, 1863, 2082, - 1343, 2482, 2481, 2478, 2479, 1878, 1877, 1791, 2478, 2477, - 1794, 1795, 2171, 1343, 2043, 1343, 1192, 1949, 1193, 1194, - 2662, 186, 1192, 2043, 1193, 1194, 2028, 2279, 186, 1922, - 1192, 2194, 1193, 1194, 2945, 186, 186, 1444, 2261, 186, - 187, 186, 1343, 187, 2254, 2255, 187, 1819, 186, 1195, - 2163, 597, 2147, 187, 1907, 186, 1902, 1903, 1195, 1921, - 1925, 187, 2147, 2146, 1195, 1933, 1444, 1443, 2445, 1192, - 1977, 1193, 1194, 1964, 1957, 2194, 187, 1960, 2028, 1961, - 1021, 186, 1389, 1388, 3017, 1956, 596, 1959, 1955, 1907, - 1192, 2171, 1193, 1194, 2195, 2504, 2601, 2480, 597, 2385, - 1864, 597, 187, 597, 2197, 2043, 1979, 1978, 2082, 2066, - 1022, 2065, 1981, 1982, 2143, 1963, 1946, 1195, 2228, 1835, - 1482, 2132, 2640, 1347, 713, 714, 1799, 1641, 1584, 94, - 1691, 1963, 2973, 2853, 1211, 2019, 2020, 1207, 2195, 1208, - 2022, 87, 2711, 1375, 1004, 1211, 1003, 2603, 2028, 2023, - 2879, 1987, 1350, 1209, 1210, 1206, 1212, 1213, 1214, 1215, - 1216, 1217, 1218, 1220, 1219, 1221, 1222, 1212, 1213, 1214, - 1215, 1216, 1217, 1218, 1220, 1219, 1221, 1222, 776, 2846, - 1195, 1192, 2802, 1193, 1194, 2709, 1663, 2043, 2706, 2038, - 1192, 2040, 1193, 1194, 2687, 2012, 1192, 2593, 1193, 1194, - 2599, 1195, 2592, 1446, 2039, 720, 721, 722, 723, 724, - 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, - 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, - 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, - 755, 756, 757, 758, 759, 760, 761, 2026, 1195, 1192, - 186, 1193, 1194, 1905, 1195, 2546, 87, 2506, 186, 1195, - 2502, 2262, 2131, 596, 2223, 1664, 1692, 1901, 1895, 596, - 1894, 2037, 1570, 2693, 1477, 2118, 1517, 2135, 1473, 1442, - 596, 113, 1093, 2550, 2590, 2880, 1195, 2652, 2653, 1920, - 1690, 1195, 2227, 1812, 2129, 3052, 2697, 3050, 3033, 2955, - 1513, 2898, 1195, 1631, 186, 2655, 2498, 2497, 186, 2496, - 2055, 2412, 1192, 2241, 1193, 1194, 2013, 2434, 2658, 2657, - 2167, 37, 2435, 2204, 2694, 2695, 2696, 1518, 1519, 1520, - 2187, 2589, 2431, 1192, 2432, 1193, 1194, 2106, 2430, 2433, - 2228, 2148, 2105, 2698, 2699, 2700, 1195, 1514, 1515, 1516, - 3023, 2075, 1790, 1212, 1213, 1214, 1215, 1216, 1217, 1218, - 1220, 1219, 1221, 1222, 2991, 1632, 1826, 1351, 1818, 2104, - 2646, 596, 1195, 2436, 2103, 2180, 2181, 186, 2390, 2389, - 1192, 2913, 1193, 1194, 186, 2102, 1192, 1195, 1193, 1194, - 2157, 1192, 1195, 1193, 1194, 2633, 2144, 1789, 596, 1317, - 2215, 2217, 2119, 2632, 2781, 596, 2772, 2186, 2771, 1485, - 1485, 2783, 2253, 2636, 596, 2399, 2140, 2053, 1192, 1583, - 1193, 1194, 2145, 1192, 762, 1193, 1194, 2208, 2476, 2101, - 2160, 2276, 1341, 1337, 1192, 2212, 1193, 1194, 2192, 2232, - 2275, 1055, 186, 186, 186, 186, 186, 1338, 1195, 2402, - 2404, 1054, 1195, 2196, 1912, 2100, 2770, 2199, 2405, 2564, - 790, 2227, 2307, 186, 186, 2206, 1163, 2209, 791, 2268, - 2099, 121, 1816, 1817, 1340, 2098, 1339, 1704, 1192, 186, - 1193, 1194, 2220, 2176, 2179, 2180, 2181, 2177, 2638, 2178, - 2182, 1705, 92, 2652, 2653, 94, 2229, 3061, 596, 2109, - 2110, 1837, 1838, 93, 1192, 92, 1193, 1194, 2237, 2930, - 2238, 2494, 94, 2242, 2243, 2244, 93, 101, 2274, 1192, - 2016, 1193, 1194, 2875, 1192, 1465, 1193, 1194, 100, 2475, - 99, 2092, 2184, 1823, 2388, 2091, 187, 2005, 187, 94, - 2004, 187, 2387, 1692, 772, 1692, 2003, 1195, 1692, 2337, - 798, 799, 2230, 1692, 2263, 2264, 2333, 2233, 2234, 2273, - 2618, 2032, 99, 596, 2905, 2904, 2789, 1690, 2787, 1690, - 2786, 597, 1690, 597, 597, 2779, 2707, 1690, 2316, 596, - 1192, 2296, 1193, 1194, 1192, 2637, 1193, 1194, 597, 597, - 2315, 2379, 2635, 2299, 186, 101, 2507, 1947, 596, 1460, - 101, 2372, 2373, 2374, 2375, 797, 100, 2305, 99, 100, - 2306, 100, 596, 2365, 2362, 2778, 1195, 2626, 2366, 596, - 596, 2317, 186, 186, 186, 186, 186, 2334, 2163, 2143, - 2090, 3054, 3053, 3053, 186, 2349, 2067, 1810, 1369, 186, - 2379, 1360, 186, 1195, 186, 778, 3054, 186, 186, 186, - 2919, 2424, 1195, 106, 107, 2673, 2353, 788, 2392, 103, - 2444, 88, 1, 1195, 1715, 1330, 2187, 2677, 3006, 564, - 2367, 2368, 2369, 2370, 2371, 2393, 1195, 1800, 1315, 1192, - 2409, 1193, 1194, 2490, 2378, 2360, 2418, 2360, 3034, 3002, - 2360, 3003, 186, 1556, 2380, 2360, 1546, 2384, 1195, 2087, - 2739, 1758, 2876, 2510, 1953, 596, 2705, 2391, 1910, 1012, - 146, 2406, 2407, 596, 1873, 1874, 2986, 110, 186, 970, - 2394, 109, 779, 1015, 1121, 2446, 2086, 2530, 2447, 1948, - 780, 186, 2729, 2426, 2427, 2085, 2429, 2213, 2423, 95, - 2437, 2425, 2441, 2442, 2428, 1882, 2083, 2448, 1192, 186, - 1193, 1194, 186, 187, 1594, 1395, 1393, 597, 597, 2079, - 2454, 1394, 2565, 2415, 1392, 2381, 2382, 2383, 2415, 1397, - 1396, 2486, 2485, 187, 2484, 1192, 2068, 1193, 1194, 2604, - 1635, 2078, 593, 2183, 1192, 2538, 1193, 1194, 184, 1384, - 1361, 1056, 597, 2537, 554, 1192, 187, 1193, 1194, 2483, - 2508, 597, 2529, 1985, 560, 1912, 1235, 597, 1192, 1630, - 1193, 1194, 2386, 2541, 2176, 2179, 2180, 2181, 2177, 2200, - 2178, 2182, 817, 810, 1811, 2133, 2420, 2630, 2598, 2398, - 1192, 685, 1193, 1194, 2400, 2150, 596, 186, 2557, 2560, - 2562, 2563, 2559, 1341, 1337, 2403, 2396, 2912, 2780, 2971, - 2568, 2210, 1357, 2054, 1706, 2509, 1852, 1656, 1338, 618, - 617, 2574, 2567, 615, 2136, 2164, 2487, 2488, 2571, 2572, - 1198, 2573, 705, 2123, 2575, 1370, 2577, 2175, 2579, 2173, - 2172, 2014, 1859, 1334, 1335, 1340, 2654, 1339, 2650, 2998, - 1854, 1850, 2142, 595, 626, 619, 186, 611, 2670, 2536, - 2282, 2547, 2284, 2211, 2543, 1176, 1333, 605, 2624, 983, - 2881, 2936, 2031, 2586, 2676, 1332, 2619, 2620, 1721, 1722, - 2943, 2518, 2723, 2499, 2259, 186, 1940, 63, 41, 2627, - 2634, 1749, 600, 3019, 1167, 804, 32, 31, 30, 2659, - 818, 2649, 2639, 974, 186, 981, 29, 186, 186, 186, - 28, 23, 22, 21, 20, 19, 2656, 596, 596, 25, - 18, 187, 17, 2665, 2666, 16, 2521, 3029, 3060, 115, - 50, 2712, 2713, 1342, 2538, 2663, 47, 2664, 45, 123, - 122, 48, 2537, 44, 2671, 2672, 1096, 42, 27, 26, - 15, 2688, 14, 2690, 13, 12, 11, 10, 597, 9, - 5, 596, 596, 596, 596, 4, 35, 34, 33, 1170, - 24, 2, 2246, 1942, 0, 0, 0, 597, 597, 0, - 597, 0, 597, 597, 0, 597, 597, 597, 597, 597, - 597, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 597, 2735, 0, 0, 187, 0, 0, 0, - 0, 0, 0, 0, 0, 1692, 0, 1692, 2733, 2734, + 703, 712, 2768, 2769, 3061, 705, 3069, 2767, 2930, 3037, + 2364, 3038, 3005, 2742, 1828, 1394, 2554, 1875, 2989, 1808, + 2460, 2467, 2093, 2517, 2883, 3, 696, 37, 1159, 2522, + 2508, 2418, 2782, 2519, 2518, 2516, 2521, 2520, 794, 2729, + 2421, 2906, 2127, 772, 2475, 1810, 1945, 2537, 96, 2536, + 1352, 186, 2422, 617, 186, 2419, 582, 186, 2636, 2362, + 1316, 2787, 597, 621, 186, 697, 2167, 2630, 2324, 614, + 2363, 694, 186, 695, 706, 643, 2539, 2190, 2416, 1848, + 2656, 2406, 1832, 2154, 2622, 615, 1908, 186, 2229, 2261, + 2307, 2559, 1448, 1933, 613, 2230, 1913, 1864, 2231, 821, + 36, 1976, 2179, 795, 776, 974, 780, 155, 2160, 597, + 1853, 38, 597, 186, 597, 2146, 2129, 1764, 1788, 1108, + 2299, 1852, 1646, 1954, 797, 774, 141, 1932, 609, 1840, + 1688, 1339, 1915, 1007, 2223, 1495, 1763, 818, 1698, 1020, + 1992, 95, 1002, 1383, 626, 2198, 1855, 1361, 1595, 1319, + 1244, 1710, 1665, 1180, 1591, 91, 981, 1013, 1477, 978, + 1930, 1010, 1484, 1575, 982, 1008, 1009, 1833, 1382, 1904, + 1366, 1380, 786, 1706, 1151, 1600, 159, 1157, 1760, 1791, + 781, 119, 117, 1443, 118, 1469, 124, 125, 808, 784, + 97, 782, 76, 98, 604, 1092, 1251, 85, 89, 3062, + 1801, 1137, 1247, 2939, 2254, 188, 189, 190, 102, 1947, + 1948, 1949, 1947, 2730, 2505, 2252, 2527, 2283, 2282, 1990, + 2527, 8, 1560, 553, 120, 783, 77, 1181, 7, 6, + 2685, 2722, 586, 2524, 126, 2315, 2316, 90, 2772, 2962, + 2772, 802, 2963, 807, 1653, 975, 788, 1181, 586, 104, + 105, 1652, 108, 1651, 1049, 114, 1805, 1806, 183, 1650, + 605, 548, 87, 188, 189, 190, 1649, 773, 1024, 1648, + 775, 1631, 1000, 607, 2525, 608, 822, 3026, 2525, 2125, + 815, 768, 769, 770, 771, 2402, 2610, 779, 999, 583, + 1023, 1640, 789, 120, 1059, 796, 2531, 1346, 998, 997, + 2531, 996, 2156, 1980, 986, 3078, 2274, 3036, 3015, 1050, + 1053, 1054, 3052, 3041, 2277, 810, 811, 1978, 1658, 586, + 2879, 2878, 3013, 2771, 1048, 2771, 2735, 1065, 1047, 2736, + 2963, 3019, 3020, 1191, 3077, 78, 569, 991, 2999, 2477, + 2478, 78, 78, 3065, 2958, 1213, 3014, 1979, 567, 3050, + 2743, 78, 2990, 1191, 80, 1973, 2998, 1924, 2957, 2170, + 1836, 120, 2323, 3010, 2592, 1458, 2888, 1214, 1215, 1216, + 1217, 1218, 1219, 1220, 1222, 1221, 1223, 1224, 2126, 2291, + 2034, 1095, 1918, 2290, 2171, 2457, 2458, 1144, 564, 1146, + 2800, 1384, 2207, 1385, 1869, 2206, 2456, 578, 2208, 1870, + 1871, 2314, 2031, 1115, 995, 2528, 1101, 1102, 1116, 2528, + 1127, 766, 574, 87, 765, 2255, 1114, 1154, 1113, 87, + 87, 1115, 2931, 2219, 1132, 1133, 1116, 1143, 1145, 87, + 1807, 2633, 1187, 587, 2352, 1179, 1888, 1887, 1104, 2163, + 2164, 1128, 1121, 2583, 2476, 2032, 586, 586, 2581, 587, + 595, 1639, 1187, 599, 2463, 2556, 2479, 586, 593, 2262, + 2560, 2300, 993, 1323, 1955, 2010, 3064, 2011, 990, 2012, + 2286, 992, 2004, 2001, 2003, 2002, 2005, 2006, 1993, 3042, + 1998, 554, 1136, 556, 570, 1576, 589, 1836, 588, 560, + 1550, 558, 562, 571, 563, 1148, 557, 1066, 568, 2464, + 3043, 559, 572, 573, 576, 579, 580, 581, 577, 575, + 1097, 566, 590, 2302, 1746, 1581, 1641, 1642, 1643, 1134, + 587, 1091, 1917, 1153, 1141, 2466, 1129, 1122, 1142, 1135, + 2724, 995, 1090, 2549, 1551, 1999, 1552, 1997, 1147, 2461, + 2557, 2550, 2558, 1834, 1835, 1130, 1131, 2723, 186, 2013, + 186, 1995, 1072, 186, 1071, 2863, 2477, 2478, 1033, 1958, + 2720, 1031, 1140, 2462, 87, 1003, 995, 3027, 987, 1004, + 1849, 1004, 1042, 1326, 1041, 989, 988, 1040, 1039, 1996, + 994, 1038, 1225, 597, 1161, 597, 597, 1037, 1036, 1035, + 1030, 2353, 2032, 1462, 1043, 2468, 1094, 1225, 2479, 3073, + 597, 597, 1738, 1727, 1728, 1729, 1730, 1740, 1731, 1732, + 1733, 1745, 1741, 1734, 1735, 1742, 1743, 1744, 1736, 1737, + 1739, 979, 3079, 1015, 993, 977, 1022, 1173, 37, 1186, + 1183, 1184, 1185, 1190, 1192, 1189, 979, 1188, 3048, 2306, + 1125, 1016, 979, 1483, 1182, 1592, 1931, 587, 587, 1186, + 1183, 1184, 1185, 1190, 1192, 1189, 809, 1188, 587, 1052, + 1022, 2476, 2303, 1984, 1182, 1015, 2319, 1588, 2221, 1051, + 1834, 1835, 2719, 2479, 1111, 1167, 1117, 1118, 1119, 1120, + 1055, 2046, 2889, 2938, 2253, 2498, 2130, 2132, 591, 1001, + 1977, 2285, 1093, 1044, 1456, 2256, 1455, 1454, 2272, 1155, + 1156, 1589, 1034, 2288, 1452, 1032, 584, 994, 1228, 1229, + 1230, 1231, 1061, 552, 547, 2927, 2634, 2672, 1236, 1582, + 1239, 585, 2161, 1583, 1584, 1021, 2298, 1876, 3018, 2297, + 2652, 1015, 1018, 1019, 1975, 979, 1226, 1227, 2203, 1012, + 1016, 1314, 994, 116, 1580, 2944, 2166, 2117, 1482, 1162, + 1800, 2309, 2325, 1370, 1921, 1295, 2308, 2956, 1106, 1021, + 1011, 1225, 1163, 1164, 2529, 2530, 186, 1224, 2529, 2530, + 597, 597, 3017, 1232, 2455, 1149, 1309, 2533, 1022, 81, + 791, 2533, 2465, 2770, 1152, 2770, 186, 1562, 1561, 1563, + 1564, 1565, 1707, 1110, 1922, 2683, 2684, 2276, 2309, 2952, + 1329, 86, 1920, 2308, 1333, 597, 1708, 86, 86, 186, + 776, 1327, 1022, 3071, 597, 1315, 3072, 86, 3070, 1330, + 597, 1022, 1045, 1176, 774, 1332, 1138, 77, 1601, 2715, + 1174, 1175, 2033, 2646, 2327, 2343, 1923, 1046, 1124, 1994, + 111, 2275, 818, 1253, 1022, 1249, 1919, 1250, 2131, 1126, + 1062, 1063, 1064, 1100, 1067, 1068, 1069, 1070, 1112, 1585, + 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, + 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1021, 1315, 1386, + 1331, 1177, 1025, 1015, 95, 1197, 1103, 1027, 1577, 1711, + 1578, 1028, 1026, 1579, 1196, 1301, 1302, 1303, 1304, 1305, + 2337, 2336, 2335, 2329, 1711, 2333, 2060, 2328, 2796, 2326, + 112, 1021, 1320, 1972, 2331, 1670, 1025, 1015, 2690, 2245, + 1021, 1027, 1060, 2330, 1974, 1028, 1026, 2689, 1096, 1671, + 1672, 1669, 1720, 2469, 1109, 1962, 98, 2473, 1195, 1196, + 2332, 2334, 1492, 1021, 1491, 2472, 1029, 1197, 1967, 1015, + 1018, 1019, 1481, 979, 1970, 1033, 1031, 1012, 1016, 1317, + 1219, 1220, 1222, 1221, 1223, 1224, 773, 3044, 2074, 1197, + 1139, 1328, 1602, 2968, 186, 1351, 775, 1197, 1444, 2474, + 2673, 822, 1348, 1381, 2470, 1971, 1967, 1334, 1453, 2471, + 1217, 1218, 1219, 1220, 1222, 1221, 1223, 1224, 2049, 1376, + 1377, 1215, 1216, 1217, 1218, 1219, 1220, 1222, 1221, 1223, + 1224, 597, 3080, 1479, 1371, 3075, 2969, 1194, 2871, 1195, + 1196, 1488, 1197, 1969, 2870, 1490, 2345, 2861, 1493, 1494, + 597, 597, 2082, 597, 2920, 597, 597, 2760, 597, 597, + 597, 597, 597, 597, 1201, 1202, 1203, 1204, 1205, 1206, + 1207, 1199, 1525, 1526, 1197, 597, 1660, 1662, 1663, 186, + 1531, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1222, 1221, + 1223, 1224, 2038, 2039, 2040, 2759, 186, 2921, 2697, 1194, + 1661, 1195, 1196, 2749, 87, 2750, 1570, 1489, 1346, 597, + 1197, 186, 813, 2553, 2696, 1715, 2686, 3081, 1668, 1716, + 2056, 1194, 1590, 1195, 1196, 597, 1346, 186, 2506, 1194, + 1197, 1195, 1196, 1346, 1524, 2494, 1475, 1527, 717, 718, + 719, 1545, 2227, 186, 2226, 1927, 1568, 1571, 2589, 1197, + 186, 1557, 1555, 1468, 1554, 1553, 1197, 2899, 1346, 186, + 186, 186, 186, 186, 186, 186, 186, 186, 597, 1543, + 1569, 1537, 1841, 1842, 1194, 1534, 1195, 1196, 1485, 1485, + 1528, 1533, 597, 597, 1532, 1504, 1497, 3045, 1498, 2947, + 1500, 1502, 1197, 2055, 1506, 1508, 1510, 1512, 1514, 1487, + 186, 1451, 1486, 2946, 1355, 1213, 1194, 2318, 1195, 1196, + 1567, 1465, 1466, 1464, 1346, 1556, 1478, 188, 189, 190, + 1457, 2680, 2924, 2923, 2922, 2866, 1597, 1214, 1215, 1216, + 1217, 1218, 1219, 1220, 1222, 1221, 1223, 1224, 2896, 2587, + 1346, 2851, 1194, 1529, 1195, 1196, 597, 1197, 1695, 1695, + 2850, 1197, 1693, 1693, 1356, 2795, 2793, 1692, 1696, 1701, + 597, 1605, 1194, 2756, 1195, 1196, 2694, 2679, 1609, 2561, + 1611, 1612, 1613, 1614, 2497, 2102, 1346, 1618, 1593, 597, + 597, 1194, 1197, 1195, 1196, 2496, 1197, 2236, 1194, 1630, + 1195, 1196, 2224, 120, 1666, 188, 189, 190, 998, 997, + 1673, 996, 1675, 1676, 1677, 1678, 1679, 1680, 1681, 1682, + 1683, 1684, 1685, 1686, 1687, 1664, 1311, 1674, 1988, 1607, + 1987, 1197, 1831, 1813, 1194, 1632, 1195, 1196, 1197, 1598, + 1712, 3046, 1566, 1558, 2094, 1603, 1604, 1548, 1359, 1544, + 1166, 1540, 186, 1629, 1792, 1628, 1539, 597, 1538, 1608, + 1357, 1761, 1197, 1150, 2895, 2051, 1615, 1616, 1617, 1636, + 1637, 2645, 188, 189, 190, 2050, 2210, 2152, 3063, 2855, + 2935, 186, 2854, 1667, 597, 94, 188, 189, 190, 1194, + 1943, 1195, 1196, 1194, 186, 1195, 1196, 2741, 597, 1818, + 2263, 1819, 100, 186, 1197, 186, 2241, 186, 186, 597, + 3032, 1346, 597, 1761, 1358, 3023, 1197, 188, 189, 190, + 2199, 1941, 1346, 597, 1194, 1794, 1195, 1196, 1194, 1792, + 1195, 1196, 188, 189, 190, 2199, 1939, 818, 2152, 2996, + 818, 92, 1885, 1697, 1346, 2667, 1796, 1797, 95, 1197, + 1703, 1704, 93, 2152, 2976, 2152, 2972, 1884, 1717, 1719, + 2964, 1346, 2148, 1194, 2647, 1195, 1196, 95, 2152, 2940, + 1194, 2047, 1195, 1196, 1793, 2733, 2937, 94, 597, 2450, + 1197, 2606, 1346, 2200, 1851, 1934, 1935, 1936, 2859, 2032, + 1938, 1940, 1942, 2202, 1194, 1193, 1195, 1196, 2200, 2608, + 1794, 1824, 2874, 1346, 2951, 597, 1795, 1346, 2032, 1798, + 1799, 597, 1488, 2152, 2862, 1488, 2152, 1488, 1894, 1895, + 1896, 1897, 1889, 1966, 1890, 1891, 1892, 1893, 1880, 1879, + 1862, 1812, 2175, 2716, 788, 2047, 1194, 2168, 1195, 1196, + 1900, 1901, 1902, 1903, 101, 1197, 1823, 1968, 1194, 1846, + 1195, 1196, 2176, 1826, 1956, 100, 1883, 99, 597, 1910, + 597, 2733, 1346, 2604, 2152, 2731, 597, 597, 1844, 1213, + 1916, 2045, 704, 1967, 1346, 92, 822, 2606, 1867, 822, + 1866, 1194, 94, 1195, 1196, 2485, 93, 2176, 1882, 1881, + 2168, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1222, 1221, + 1223, 1224, 2650, 1346, 186, 1967, 1197, 2390, 1926, 2176, + 1953, 186, 1194, 1868, 1195, 1196, 1197, 2047, 186, 186, + 1193, 1346, 186, 187, 186, 1346, 187, 2087, 2595, 187, + 2071, 186, 2070, 1911, 598, 1967, 187, 1950, 186, 1906, + 1907, 1346, 1925, 1024, 187, 1929, 2087, 1346, 1937, 2487, + 2486, 2483, 2484, 1485, 2483, 2482, 2176, 1346, 1839, 187, + 2047, 1346, 2645, 1981, 186, 1023, 1959, 1960, 1911, 597, + 1961, 1350, 1197, 1964, 1803, 1965, 1963, 1194, 1197, 1195, + 1196, 598, 1982, 1197, 598, 187, 598, 1644, 1213, 2594, + 1983, 1209, 1197, 1210, 2032, 2284, 1985, 1986, 1197, 2979, + 2228, 1447, 2266, 1197, 1587, 1213, 1378, 1211, 1212, 1208, + 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1222, 1221, 1223, + 1224, 1006, 1197, 1459, 1460, 1461, 1991, 1214, 1215, 1216, + 1217, 1218, 1219, 1220, 1222, 1221, 1223, 1224, 1194, 1197, + 1195, 1196, 2259, 2260, 2152, 2151, 1197, 2698, 1194, 1005, + 1195, 1196, 87, 2023, 2024, 2111, 1447, 1446, 2026, 2885, + 101, 2110, 1197, 1392, 1391, 1666, 2109, 2027, 1197, 2417, + 2042, 100, 2044, 99, 2016, 2108, 1353, 1197, 2852, 2509, + 2645, 2107, 94, 1197, 778, 2233, 2106, 2043, 2807, 1535, + 1536, 2714, 1197, 2711, 2692, 1541, 1542, 2598, 2699, 2700, + 2701, 1197, 1095, 2597, 1194, 2105, 1195, 1196, 1449, 1909, + 1194, 2551, 1195, 1196, 2511, 1194, 1197, 1195, 1196, 2507, + 2267, 2555, 2104, 1905, 1194, 1197, 1195, 1196, 2030, 2103, + 1194, 1899, 1195, 1196, 186, 1194, 1898, 1195, 1196, 1634, + 1573, 1346, 186, 1480, 1667, 2097, 1695, 597, 1476, 1445, + 1693, 2096, 2041, 597, 1194, 2136, 1195, 1196, 113, 2123, + 2095, 2140, 87, 2886, 597, 2232, 2092, 1924, 1520, 2657, + 2658, 1194, 1816, 1195, 1196, 2091, 3058, 3056, 1194, 3039, + 1195, 1196, 2961, 2904, 2090, 2660, 1197, 2134, 186, 2503, + 2702, 2059, 186, 1516, 1194, 2502, 1195, 1196, 2501, 2088, + 1194, 1635, 1195, 1196, 2172, 37, 2417, 2209, 2084, 1194, + 2246, 1195, 1196, 2233, 2192, 1194, 2057, 1195, 1196, 1521, + 1522, 1523, 2017, 2439, 1194, 1354, 1195, 1196, 2440, 2663, + 1794, 1344, 1340, 1194, 2080, 1195, 1196, 2703, 2704, 2705, + 1517, 1518, 1519, 2662, 2153, 2436, 1341, 2437, 1194, 2435, + 1195, 1196, 2438, 3029, 2997, 597, 1830, 1194, 1822, 1195, + 1196, 186, 2441, 2651, 2185, 2186, 1344, 1340, 186, 2083, + 2395, 1820, 1821, 1343, 2162, 1342, 2394, 2919, 2786, 1793, + 1320, 1341, 597, 2124, 2638, 2777, 2149, 2776, 2191, 597, + 2788, 2641, 2637, 1488, 1488, 2404, 2258, 792, 597, 2114, + 2115, 1586, 2150, 2220, 2222, 793, 1337, 1338, 1343, 2145, + 1342, 764, 2481, 2217, 2197, 2281, 2213, 2165, 1194, 2237, + 1195, 1196, 1707, 2407, 2409, 1057, 186, 186, 186, 186, + 186, 2280, 2410, 2569, 92, 2775, 1708, 1056, 1916, 2201, + 2232, 94, 2204, 2312, 2214, 93, 1165, 186, 186, 92, + 2211, 2181, 2184, 2185, 2186, 2182, 2273, 2183, 2187, 121, + 93, 2657, 2658, 186, 2225, 2181, 2184, 2185, 2186, 2182, + 2643, 2183, 2187, 101, 1841, 1842, 3067, 2234, 94, 2499, + 2020, 2936, 597, 2881, 100, 2480, 99, 2189, 2242, 1827, + 800, 801, 2247, 2248, 2249, 94, 2393, 2009, 2008, 2007, + 2243, 2623, 2279, 101, 2392, 2036, 99, 1468, 2911, 2910, + 2794, 2792, 2791, 2784, 100, 100, 99, 2712, 2642, 2640, + 187, 2512, 187, 1951, 1695, 187, 1695, 1463, 1693, 1695, + 1693, 2342, 101, 1693, 1695, 2278, 774, 799, 1693, 2783, + 2631, 2168, 2148, 100, 3060, 3059, 3060, 2354, 597, 2338, + 2072, 2268, 2269, 1814, 1372, 598, 1363, 598, 598, 2301, + 106, 107, 2321, 3059, 597, 2925, 2678, 790, 103, 2304, + 2320, 88, 598, 598, 1, 1718, 2384, 2682, 3012, 186, + 565, 1804, 1318, 597, 2367, 3040, 2365, 3008, 2365, 3009, + 1559, 2365, 1345, 1549, 2744, 1762, 2365, 597, 2370, 2377, + 2378, 2379, 2380, 2371, 597, 597, 2882, 186, 186, 186, + 186, 186, 2339, 2515, 1957, 2710, 2322, 1914, 1014, 186, + 146, 1877, 1878, 2992, 186, 2384, 110, 186, 972, 186, + 780, 109, 186, 186, 186, 2358, 2414, 2429, 1017, 1123, + 1952, 2734, 2218, 2397, 1886, 1398, 2449, 1396, 1397, 1395, + 1333, 2192, 1400, 1399, 2310, 2073, 2398, 2311, 2609, 1638, + 687, 594, 2188, 184, 2420, 2383, 1387, 2423, 2495, 2420, + 2372, 2373, 2374, 2375, 2376, 2385, 1364, 186, 1058, 555, + 2488, 1989, 561, 1237, 1633, 2391, 2205, 819, 812, 1815, + 597, 2396, 2138, 2425, 2635, 2403, 2411, 2412, 597, 2389, + 2386, 2387, 2388, 186, 781, 2405, 2451, 2155, 2408, 2452, + 2401, 2399, 2535, 2918, 2785, 782, 186, 2977, 2431, 2432, + 2442, 2434, 596, 2215, 2446, 2447, 95, 1360, 2430, 2058, + 2453, 2433, 1709, 1597, 186, 1856, 1659, 186, 187, 619, + 2428, 618, 598, 598, 616, 2141, 2169, 2570, 1200, 707, + 2459, 2128, 1373, 2180, 2178, 2177, 2514, 2491, 187, 2490, + 2489, 2018, 1863, 2659, 2655, 3004, 1858, 1854, 2147, 820, + 627, 620, 976, 612, 983, 2675, 2543, 598, 2542, 2541, + 2287, 187, 2552, 2289, 2216, 2548, 598, 1178, 1336, 606, + 1916, 985, 598, 2534, 2887, 2513, 2942, 2035, 2546, 2591, + 1335, 1725, 1726, 2949, 2523, 2728, 2504, 2264, 1944, 63, + 41, 1753, 601, 2603, 3025, 1169, 806, 32, 31, 30, + 29, 597, 186, 2562, 2565, 2564, 28, 23, 22, 21, + 20, 19, 25, 18, 17, 2573, 16, 2526, 3035, 3066, + 115, 50, 47, 2572, 45, 123, 2579, 122, 2576, 2577, + 48, 2578, 44, 1098, 2580, 42, 2582, 27, 2584, 26, + 2567, 2568, 15, 14, 13, 12, 11, 10, 9, 5, + 4, 35, 34, 33, 1172, 24, 2, 2251, 1946, 0, + 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2629, 0, 0, 0, 0, 0, 2681, + 0, 0, 2624, 2625, 0, 0, 0, 0, 0, 0, + 186, 0, 0, 0, 0, 2632, 0, 2639, 0, 0, + 0, 0, 0, 0, 2664, 0, 2654, 2644, 0, 186, + 0, 0, 186, 186, 186, 0, 0, 0, 0, 0, + 0, 0, 597, 597, 2661, 0, 187, 0, 2670, 2671, + 0, 0, 0, 0, 0, 0, 2717, 2718, 2669, 2668, + 0, 0, 0, 0, 0, 2543, 0, 2542, 0, 2676, + 2677, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 598, 0, 0, 597, 597, 597, 597, + 0, 0, 0, 0, 0, 2693, 0, 2695, 0, 0, + 0, 0, 598, 598, 0, 598, 0, 598, 598, 0, + 598, 598, 598, 598, 598, 598, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 598, 2740, 0, + 0, 187, 0, 0, 0, 0, 1695, 0, 1695, 0, + 1693, 2235, 1693, 0, 0, 0, 2238, 2239, 187, 2738, + 2739, 0, 0, 0, 0, 0, 0, 186, 0, 0, + 2755, 598, 0, 187, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2751, 0, 2780, 598, 0, 187, + 0, 597, 0, 597, 0, 0, 0, 0, 0, 0, + 2752, 0, 0, 0, 2763, 187, 0, 0, 2365, 1695, + 2365, 0, 187, 1693, 0, 2801, 37, 2764, 2809, 2773, + 0, 187, 187, 187, 187, 187, 187, 187, 187, 187, + 598, 0, 2803, 0, 2790, 0, 2789, 2781, 2805, 0, + 2799, 2797, 0, 774, 598, 598, 0, 0, 0, 2420, + 0, 0, 0, 2423, 0, 597, 0, 2423, 0, 0, + 0, 0, 187, 0, 0, 0, 0, 0, 186, 2860, + 0, 597, 2813, 0, 0, 2810, 2811, 0, 0, 0, + 0, 0, 0, 0, 597, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2856, 0, 2858, + 0, 2857, 0, 0, 0, 0, 0, 0, 598, 0, + 2901, 2902, 2884, 2872, 1695, 597, 2876, 0, 1693, 597, + 597, 2877, 598, 2905, 0, 0, 2864, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 598, 598, 0, 0, 0, 0, 0, 597, 0, + 0, 0, 0, 820, 2915, 820, 820, 0, 0, 0, + 2912, 2913, 2929, 2914, 0, 0, 0, 0, 0, 0, + 1168, 1170, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2926, 0, 0, 2928, 2917, 0, 0, 0, 0, + 0, 0, 0, 597, 2932, 0, 0, 0, 0, 774, + 0, 0, 0, 0, 187, 0, 2423, 2934, 186, 598, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 597, 186, 0, 0, + 0, 0, 0, 187, 0, 0, 598, 0, 0, 0, + 2953, 0, 0, 0, 0, 0, 187, 2950, 37, 0, + 598, 0, 0, 2945, 2948, 187, 0, 187, 0, 187, + 187, 598, 0, 0, 598, 0, 2492, 2493, 597, 2941, + 0, 0, 0, 0, 0, 598, 0, 0, 0, 0, + 0, 0, 0, 1312, 1347, 1349, 0, 0, 0, 0, + 0, 0, 597, 597, 0, 0, 0, 2970, 0, 0, + 0, 0, 2978, 37, 0, 597, 0, 0, 0, 0, + 2980, 2975, 0, 2983, 186, 597, 2991, 0, 0, 2988, + 2884, 2993, 3000, 2985, 2984, 2982, 2987, 2986, 0, 2420, + 598, 0, 0, 3003, 0, 3033, 0, 3021, 3011, 3016, + 1324, 1325, 0, 0, 0, 1415, 0, 0, 0, 0, + 0, 0, 0, 3028, 0, 0, 0, 598, 0, 0, + 0, 0, 3034, 598, 597, 0, 0, 0, 0, 0, + 0, 0, 0, 597, 0, 1368, 0, 1695, 3047, 0, + 0, 1693, 3049, 0, 820, 3051, 3054, 0, 3057, 3055, + 1388, 0, 3053, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3068, 0, 0, 0, 3074, 3076, 0, + 598, 0, 598, 0, 0, 0, 0, 0, 598, 598, + 1695, 0, 0, 0, 1693, 3084, 3085, 2902, 0, 3082, + 3083, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 187, 0, 0, 0, 0, 0, 0, 187, 0, 0, 0, 0, 0, 0, - 0, 0, 186, 0, 0, 0, 597, 0, 187, 1690, - 0, 1690, 0, 0, 0, 0, 2747, 0, 0, 0, - 2775, 2746, 597, 0, 187, 0, 596, 0, 596, 0, - 0, 0, 0, 0, 2750, 0, 0, 2682, 2683, 0, - 187, 0, 0, 0, 2804, 2768, 0, 187, 1692, 0, - 2796, 37, 2759, 0, 2758, 0, 187, 187, 187, 187, - 187, 187, 187, 187, 187, 597, 2776, 0, 2784, 2798, - 772, 2785, 1690, 2792, 0, 2800, 0, 182, 2794, 597, - 597, 0, 0, 0, 0, 0, 0, 0, 0, 2716, - 596, 0, 2418, 2720, 2721, 2722, 2418, 187, 0, 0, - 0, 121, 0, 186, 2854, 0, 596, 2808, 0, 0, - 2805, 2806, 0, 0, 164, 0, 0, 0, 0, 596, - 0, 0, 0, 0, 0, 0, 0, 2360, 0, 2360, - 0, 0, 2850, 0, 2852, 2851, 0, 0, 0, 2866, - 0, 0, 0, 597, 0, 2895, 2896, 2878, 0, 2899, - 596, 2870, 0, 1692, 596, 596, 0, 597, 2871, 0, - 0, 0, 0, 0, 0, 2858, 0, 0, 2415, 0, - 0, 0, 161, 0, 162, 597, 597, 1690, 0, 0, - 0, 0, 0, 596, 0, 0, 2906, 2907, 2909, 0, - 0, 0, 0, 2908, 181, 0, 0, 2923, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2911, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2920, 0, - 0, 0, 0, 0, 0, 0, 772, 596, 0, 0, - 0, 2926, 0, 0, 0, 0, 0, 0, 187, 0, - 0, 2928, 186, 597, 0, 2418, 0, 0, 2922, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 596, 186, 0, 0, 0, 0, 0, 187, 0, 0, - 597, 0, 2942, 0, 2947, 0, 0, 0, 2939, 0, - 187, 2944, 37, 0, 597, 0, 2861, 2862, 2863, 187, - 0, 187, 0, 187, 187, 597, 0, 0, 597, 0, - 0, 0, 596, 165, 0, 0, 0, 2935, 0, 597, - 0, 0, 171, 0, 3027, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1412, 0, 596, 596, 0, 0, - 2964, 0, 0, 0, 0, 0, 2972, 37, 2974, 596, - 0, 0, 0, 818, 0, 818, 818, 2985, 186, 596, - 0, 0, 0, 0, 2878, 2987, 2994, 2977, 2982, 2979, - 1166, 1168, 2978, 2976, 597, 2981, 2997, 2980, 0, 0, - 3015, 3005, 3010, 0, 2969, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3022, 0, 0, - 0, 597, 0, 3028, 0, 0, 0, 597, 596, 0, - 0, 0, 0, 0, 0, 0, 0, 596, 0, 0, - 0, 3048, 3041, 0, 0, 1692, 0, 0, 3043, 3047, - 3045, 0, 3051, 3049, 0, 0, 0, 0, 0, 156, - 0, 0, 0, 0, 0, 0, 3062, 0, 0, 1690, - 0, 0, 3070, 3068, 597, 0, 597, 2415, 0, 0, - 0, 0, 597, 597, 3076, 0, 0, 0, 1692, 3078, - 3079, 2896, 0, 3077, 0, 1400, 0, 0, 0, 0, - 0, 0, 1309, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1690, 0, 0, 0, 0, 0, 0, 0, - 187, 0, 0, 0, 0, 0, 0, 187, 0, 0, - 0, 0, 0, 0, 187, 187, 0, 0, 187, 0, - 187, 0, 0, 0, 0, 0, 0, 187, 0, 0, - 0, 0, 0, 0, 187, 0, 0, 0, 0, 1321, - 1322, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1413, 0, 0, - 187, 0, 0, 0, 0, 597, 0, 0, 0, 0, - 0, 0, 0, 0, 1365, 0, 0, 0, 0, 0, - 0, 0, 0, 818, 0, 0, 157, 0, 0, 1385, - 0, 0, 0, 169, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1426, 1429, 1430, 1431, 1432, - 1433, 1434, 0, 1435, 1436, 1437, 1438, 1439, 1414, 1415, - 1416, 1417, 1398, 1399, 1427, 177, 1401, 0, 1402, 1403, - 1404, 1405, 1406, 1407, 1408, 1409, 1410, 0, 0, 1411, - 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 0, 0, + 187, 187, 0, 0, 187, 0, 187, 0, 0, 0, + 0, 0, 0, 187, 0, 0, 1403, 0, 0, 0, + 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2687, 2688, 0, + 0, 0, 0, 0, 0, 0, 187, 0, 0, 0, + 0, 598, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2721, + 0, 0, 0, 2725, 2726, 2727, 0, 0, 1416, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 976, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1312, 0, 182, 0, 0, 0, + 1496, 1496, 0, 1496, 0, 1496, 1496, 0, 1505, 1496, + 1496, 1496, 1496, 1496, 0, 0, 0, 0, 0, 0, + 121, 1312, 0, 0, 1312, 976, 1429, 1432, 1433, 1434, + 1435, 1436, 1437, 164, 1438, 1439, 1440, 1441, 1442, 1417, + 1418, 1419, 1420, 1401, 1402, 1430, 0, 1404, 0, 1405, + 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 0, 1572, + 1414, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 0, + 0, 0, 0, 0, 0, 1594, 2212, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 187, 0, 0, 0, + 0, 161, 0, 162, 187, 0, 0, 0, 0, 598, + 0, 0, 0, 0, 0, 598, 0, 0, 0, 0, + 0, 0, 0, 181, 0, 0, 598, 0, 820, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 820, 820, 0, 0, 0, 0, 0, 0, + 187, 0, 0, 0, 187, 0, 0, 0, 0, 0, + 0, 1713, 0, 0, 0, 1714, 2867, 2868, 2869, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1431, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1689, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 598, 0, 0, + 1702, 0, 0, 187, 0, 0, 0, 1312, 1347, 1802, + 187, 0, 165, 0, 0, 0, 0, 0, 0, 1723, + 1724, 171, 0, 0, 598, 0, 0, 0, 0, 0, + 0, 598, 0, 0, 0, 0, 0, 0, 0, 0, + 598, 1825, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 820, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 187, 187, + 187, 187, 187, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 182, 1817, 0, 187, + 187, 0, 0, 0, 0, 0, 0, 2257, 0, 0, + 0, 0, 0, 0, 0, 187, 0, 0, 0, 0, + 121, 0, 143, 0, 1829, 0, 0, 0, 0, 0, + 0, 0, 0, 164, 598, 0, 0, 0, 1368, 0, + 0, 820, 0, 0, 0, 0, 0, 0, 156, 820, + 0, 0, 820, 1928, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 976, 153, 0, 0, 0, 0, 0, + 142, 0, 0, 0, 0, 0, 0, 0, 1321, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 161, 0, 162, 0, 0, 0, 0, 0, 0, + 598, 0, 0, 0, 182, 0, 0, 0, 0, 1471, + 1472, 152, 151, 181, 0, 0, 598, 0, 983, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 121, 0, + 0, 187, 550, 0, 0, 598, 0, 0, 0, 0, + 0, 164, 600, 0, 0, 976, 0, 0, 0, 598, + 767, 983, 0, 0, 0, 0, 598, 598, 0, 187, + 187, 187, 187, 187, 0, 0, 0, 0, 0, 0, + 0, 187, 0, 0, 0, 0, 187, 0, 0, 187, + 0, 187, 0, 0, 187, 187, 187, 0, 0, 0, + 0, 980, 0, 0, 0, 0, 157, 0, 976, 161, + 1689, 162, 0, 169, 0, 0, 1689, 1689, 0, 0, + 147, 1473, 154, 0, 1470, 0, 148, 149, 0, 0, + 0, 181, 165, 0, 0, 0, 0, 0, 0, 187, + 0, 171, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 598, 0, 0, 177, 0, 0, 0, 0, + 598, 0, 0, 0, 0, 187, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 187, 0, 0, 0, 0, 0, 158, 163, 160, 166, 167, 168, - 170, 172, 173, 174, 175, 0, 0, 0, 0, 0, + 170, 172, 173, 174, 175, 0, 187, 0, 0, 187, 176, 178, 179, 180, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1344, 1346, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, - 0, 0, 0, 0, 0, 0, 0, 187, 0, 0, - 0, 0, 597, 0, 0, 0, 0, 0, 597, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 597, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1428, 0, 0, 0, 0, 0, 0, - 974, 0, 0, 187, 0, 0, 0, 187, 0, 0, - 0, 0, 0, 1309, 0, 0, 0, 0, 0, 1493, - 1493, 0, 1493, 0, 1493, 1493, 0, 1502, 1493, 1493, - 1493, 1493, 1493, 0, 0, 0, 0, 0, 0, 0, - 1309, 0, 0, 1309, 974, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 597, 0, 0, 0, 0, 0, 187, 0, 1569, 0, + 2048, 0, 0, 0, 2052, 0, 2053, 2054, 0, 2029, + 0, 0, 0, 0, 0, 2062, 0, 0, 2063, 2064, + 0, 2066, 0, 0, 2068, 2069, 0, 0, 0, 0, + 165, 0, 0, 0, 0, 0, 0, 0, 0, 171, + 0, 0, 0, 0, 0, 0, 0, 0, 156, 0, + 0, 2075, 2076, 2077, 2078, 2079, 0, 2081, 0, 0, + 0, 0, 0, 2085, 0, 2086, 0, 0, 0, 2089, + 0, 0, 0, 598, 187, 0, 0, 2098, 2099, 2100, + 2101, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2112, 2113, 0, 0, 0, 0, 0, 0, 2118, 2119, + 2120, 2121, 2122, 0, 1825, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2135, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 187, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1591, 0, 0, 597, 0, 0, - 0, 0, 0, 0, 597, 0, 0, 0, 0, 0, - 0, 0, 0, 597, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 818, 0, 0, - 0, 187, 187, 187, 187, 187, 0, 0, 0, 0, - 0, 818, 818, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 187, 187, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 187, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 597, 0, 0, - 0, 0, 0, 0, 2813, 2815, 2814, 2824, 2825, 2826, - 2827, 2828, 2829, 2830, 651, 1686, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1699, - 0, 0, 0, 0, 0, 0, 1309, 0, 0, 0, - 0, 0, 0, 0, 1318, 0, 0, 1719, 1720, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 597, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 597, 0, - 0, 0, 0, 0, 818, 0, 0, 0, 0, 0, - 0, 0, 0, 187, 0, 0, 0, 597, 549, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 599, 0, - 0, 597, 0, 0, 0, 1813, 765, 0, 597, 597, - 0, 187, 187, 187, 187, 187, 0, 0, 0, 0, - 0, 0, 0, 187, 0, 0, 0, 0, 187, 0, - 0, 187, 1825, 187, 0, 0, 187, 187, 187, 0, - 0, 0, 0, 0, 0, 0, 1365, 978, 0, 818, - 0, 0, 0, 0, 0, 0, 0, 818, 0, 0, - 818, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1710, 974, 0, 0, 1711, 0, 0, 182, 0, 0, - 0, 187, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 597, 0, 0, 0, 0, 0, - 0, 121, 597, 143, 0, 0, 0, 187, 0, 0, - 0, 0, 0, 0, 164, 0, 0, 0, 0, 0, - 187, 0, 0, 0, 0, 0, 981, 0, 1412, 0, - 0, 0, 0, 0, 2819, 2820, 1344, 1798, 187, 0, - 0, 187, 0, 0, 0, 153, 0, 0, 0, 0, - 0, 142, 0, 974, 0, 0, 0, 0, 0, 981, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1821, - 0, 0, 161, 0, 162, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 130, 131, 152, 151, 181, 696, 0, 643, 700, 645, - 697, 698, 0, 641, 644, 699, 974, 0, 1686, 0, - 0, 0, 0, 0, 1686, 1686, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 597, 187, 0, 0, 0, - 0, 0, 649, 650, 2812, 2816, 2817, 2818, 2821, 2822, - 2823, 2831, 2833, 674, 2832, 2834, 2835, 2836, 2839, 2840, - 2841, 2842, 2837, 2838, 2843, 2810, 2809, 2811, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1400, - 0, 1924, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 187, 0, 0, 0, 0, - 0, 147, 128, 154, 135, 127, 0, 148, 149, 0, - 0, 0, 0, 165, 0, 0, 0, 0, 0, 0, - 0, 0, 171, 136, 187, 0, 0, 2025, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 139, 137, 132, - 133, 134, 138, 187, 0, 0, 187, 187, 187, 129, - 0, 0, 0, 0, 0, 0, 597, 597, 140, 0, - 0, 1413, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 597, 597, 597, 597, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1426, - 1429, 1430, 1431, 1432, 1433, 1434, 0, 1435, 1436, 1437, - 1438, 1439, 1414, 1415, 1416, 1417, 1398, 1399, 1427, 156, - 1401, 0, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, - 1410, 0, 0, 1411, 1418, 1419, 1420, 1421, 1422, 1423, - 1424, 1425, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 187, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 818, 0, - 0, 1097, 0, 1103, 0, 597, 1105, 597, 0, 0, - 0, 0, 0, 0, 1825, 0, 0, 0, 0, 0, - 2137, 0, 0, 0, 0, 0, 0, 150, 0, 0, - 0, 2152, 0, 0, 0, 0, 0, 0, 2044, 0, - 0, 0, 2048, 0, 2049, 2050, 0, 0, 0, 0, - 0, 0, 0, 2058, 0, 0, 2059, 2060, 0, 2062, - 0, 0, 2064, 144, 0, 0, 145, 0, 0, 597, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 187, 0, 0, 597, 0, 1428, 2070, 2071, - 2072, 2073, 2074, 0, 2076, 0, 157, 0, 597, 0, - 2080, 0, 2081, 169, 0, 0, 2084, 0, 0, 0, - 0, 0, 0, 0, 2093, 2094, 2095, 2096, 0, 0, - 0, 0, 2235, 0, 0, 0, 0, 2107, 2108, 597, - 0, 0, 0, 597, 597, 2113, 2114, 2115, 2116, 2117, - 0, 1821, 0, 0, 0, 177, 0, 0, 0, 1825, - 0, 0, 2130, 0, 0, 0, 2260, 0, 0, 0, - 0, 0, 597, 0, 0, 2265, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 688, 0, + 0, 0, 0, 0, 0, 0, 156, 0, 0, 0, + 0, 0, 187, 144, 0, 0, 145, 0, 0, 0, + 0, 820, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 187, 0, 0, 187, 187, 187, 1829, 0, 0, + 0, 0, 0, 2142, 598, 598, 157, 0, 0, 185, + 0, 0, 551, 169, 2157, 592, 0, 0, 0, 0, + 0, 0, 551, 0, 0, 0, 0, 0, 0, 0, + 551, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 787, 0, 0, 598, 598, + 598, 598, 0, 0, 0, 177, 0, 0, 0, 0, + 0, 805, 0, 805, 0, 0, 0, 0, 0, 0, + 0, 551, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 158, 163, 160, 166, 167, 168, 170, 172, 173, 174, 175, 0, 0, 0, 0, 0, - 176, 178, 179, 180, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 597, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 187, 0, 0, 0, 0, 686, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 597, - 187, 0, 0, 0, 0, 0, 0, 0, 0, 1686, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1372, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 185, 0, 0, - 550, 597, 0, 591, 0, 0, 0, 0, 0, 1309, - 550, 1309, 0, 0, 1309, 0, 0, 0, 550, 1309, - 182, 0, 0, 0, 0, 597, 597, 0, 0, 0, - 0, 2252, 0, 785, 818, 0, 0, 0, 597, 0, - 0, 0, 0, 0, 121, 0, 143, 187, 597, 803, - 1493, 803, 0, 0, 0, 0, 0, 164, 0, 550, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2395, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 818, 0, 0, 0, 1309, 153, 0, - 2422, 1493, 1309, 0, 142, 0, 0, 597, 0, 0, - 0, 0, 0, 0, 713, 714, 597, 0, 0, 0, - 1691, 0, 0, 0, 0, 161, 0, 162, 0, 0, - 0, 0, 0, 0, 0, 2341, 0, 2342, 0, 0, - 0, 0, 2346, 1468, 1469, 152, 151, 181, 0, 0, - 0, 0, 0, 0, 0, 0, 1390, 0, 0, 0, - 0, 0, 2361, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2376, 2377, 0, 974, 0, 0, 1309, - 0, 0, 0, 0, 1825, 720, 721, 722, 723, 724, - 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, - 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, - 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, - 755, 756, 757, 758, 759, 760, 761, 0, 0, 0, - 0, 1527, 2421, 0, 147, 1470, 154, 0, 1467, 0, - 148, 149, 0, 0, 0, 0, 165, 0, 0, 2439, - 2440, 0, 0, 0, 0, 171, 0, 0, 0, 0, - 0, 0, 0, 1571, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1603, 0, 0, 0, 0, - 0, 0, 1607, 0, 0, 0, 0, 2395, 0, 0, - 0, 0, 0, 1618, 1619, 1620, 1621, 1622, 1623, 1624, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1644, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 156, 0, 0, 0, 2566, 0, 0, 0, - 0, 0, 0, 2570, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2580, 2581, 2583, - 2585, 0, 0, 0, 0, 0, 0, 0, 0, 2591, - 0, 0, 0, 0, 2595, 2596, 2597, 0, 0, 0, - 0, 2600, 0, 0, 0, 0, 0, 2602, 1825, 1825, - 2606, 2607, 2608, 2609, 2610, 2611, 2612, 2613, 2614, 2615, - 0, 0, 2616, 0, 0, 0, 0, 0, 2621, 0, + 176, 178, 179, 180, 0, 2240, 0, 0, 0, 0, + 0, 0, 0, 0, 157, 0, 0, 0, 0, 187, + 0, 169, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1829, 0, 0, 0, 1099, 0, 1105, 2265, + 0, 1107, 0, 598, 0, 598, 0, 0, 2270, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 177, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2346, 0, + 2347, 0, 0, 0, 0, 0, 2351, 0, 0, 0, + 0, 0, 158, 163, 160, 166, 167, 168, 170, 172, + 173, 174, 175, 0, 0, 0, 2366, 598, 176, 178, + 179, 180, 0, 0, 0, 0, 0, 0, 0, 0, + 187, 0, 0, 598, 0, 0, 0, 2381, 2382, 0, + 0, 0, 1689, 0, 0, 0, 598, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 598, 0, 0, + 0, 598, 598, 1312, 0, 1312, 0, 0, 1312, 0, + 0, 0, 0, 1312, 0, 0, 2426, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 820, 0, + 598, 0, 0, 2444, 2445, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1496, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2400, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 598, 0, 820, 0, 0, + 0, 1312, 0, 0, 2427, 1496, 1312, 0, 0, 0, + 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 598, 187, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1375, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 598, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2571, 0, 0, 0, 0, 0, 0, 2575, 0, 0, + 976, 0, 0, 1312, 598, 598, 0, 0, 1829, 0, + 0, 2585, 2586, 2588, 2590, 0, 0, 598, 0, 0, + 0, 0, 0, 2596, 0, 0, 187, 598, 2600, 2601, + 2602, 0, 0, 0, 0, 2605, 0, 0, 0, 0, + 0, 2607, 0, 0, 2611, 2612, 2613, 2614, 2615, 2616, + 2617, 2618, 2619, 2620, 0, 0, 2621, 0, 0, 0, + 0, 0, 2626, 0, 0, 0, 551, 0, 551, 0, + 0, 551, 0, 0, 0, 0, 598, 0, 804, 0, + 0, 0, 0, 0, 0, 598, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2648, 2649, 0, + 182, 2653, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2665, + 2666, 0, 1393, 0, 121, 0, 143, 0, 0, 0, + 0, 2400, 0, 0, 0, 0, 0, 164, 0, 0, + 0, 0, 0, 0, 0, 0, 610, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 78, 39, 40, 80, 0, 0, 153, 0, + 0, 0, 0, 0, 142, 0, 0, 0, 798, 0, + 0, 0, 84, 0, 0, 0, 43, 69, 70, 0, + 67, 71, 0, 0, 0, 161, 0, 162, 0, 68, + 0, 0, 0, 0, 0, 0, 0, 1530, 0, 2732, + 0, 0, 0, 130, 131, 152, 151, 181, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 56, 0, + 0, 1313, 0, 0, 0, 0, 0, 0, 0, 1574, + 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1829, 1829, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 714, 79, + 0, 1606, 2761, 0, 0, 0, 2762, 0, 1610, 0, + 0, 0, 2766, 0, 551, 0, 0, 0, 0, 1621, + 1622, 1623, 1624, 1625, 1626, 1627, 2745, 2746, 2747, 2748, + 0, 0, 0, 0, 787, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 147, 128, 154, 135, 127, 0, + 148, 149, 0, 0, 0, 0, 165, 551, 1647, 0, + 0, 0, 0, 0, 0, 171, 136, 0, 0, 0, + 0, 0, 0, 0, 0, 1312, 777, 1312, 79, 0, + 139, 137, 132, 133, 134, 138, 0, 0, 0, 0, + 0, 0, 129, 0, 0, 0, 777, 0, 0, 0, + 0, 140, 0, 0, 46, 49, 52, 51, 54, 0, + 66, 0, 984, 75, 72, 0, 1312, 0, 0, 0, + 0, 2802, 0, 2804, 0, 0, 0, 0, 0, 0, + 0, 2873, 0, 0, 0, 0, 55, 83, 82, 0, + 2880, 64, 65, 53, 0, 0, 0, 0, 0, 73, + 74, 0, 0, 0, 0, 0, 2890, 2891, 2892, 0, + 2893, 2894, 0, 0, 0, 0, 2897, 0, 2898, 0, + 2900, 2903, 0, 0, 0, 0, 0, 2907, 0, 0, + 0, 0, 156, 0, 0, 1829, 0, 0, 0, 57, + 58, 0, 59, 60, 61, 62, 0, 0, 0, 0, + 0, 2875, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 820, 2933, 0, 0, 0, 0, + 0, 0, 551, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1843, 0, 0, 2908, 0, 0, 0, 2908, + 2908, 1847, 0, 1850, 0, 0, 1647, 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2740, 2741, 2742, 2743, 0, 0, 0, 0, - 0, 0, 0, 2643, 2644, 0, 144, 2648, 0, 145, - 0, 0, 0, 550, 0, 550, 0, 0, 550, 0, - 0, 0, 0, 0, 0, 2660, 2661, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 157, - 0, 1309, 0, 1309, 0, 0, 169, 0, 0, 0, - 0, 0, 0, 0, 0, 1839, 0, 0, 0, 0, - 0, 0, 0, 0, 1843, 0, 1846, 0, 0, 1644, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1309, 0, 0, 0, 0, 2797, 177, 2799, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2727, 0, 158, 163, 160, - 166, 167, 168, 170, 172, 173, 174, 175, 0, 0, - 0, 0, 0, 176, 178, 179, 180, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1825, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2869, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1310, 2756, 0, - 818, 0, 2757, 0, 0, 0, 0, 0, 2761, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 78, 39, 40, 80, 0, 0, 0, - 0, 2902, 0, 0, 0, 2902, 2902, 0, 0, 0, - 0, 0, 0, 84, 0, 712, 79, 43, 69, 70, - 550, 67, 71, 0, 0, 0, 0, 0, 0, 0, - 68, 0, 0, 0, 1825, 0, 0, 0, 0, 0, - 785, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1644, 0, 0, 0, 56, - 0, 0, 1996, 550, 0, 0, 0, 0, 0, 2010, - 2011, 87, 0, 2015, 0, 0, 0, 0, 1825, 0, - 0, 0, 2018, 0, 0, 0, 0, 0, 0, 2021, - 0, 0, 0, 775, 0, 79, 0, 2867, 0, 0, - 0, 0, 0, 0, 0, 0, 2874, 0, 0, 0, - 0, 1825, 0, 775, 0, 2024, 0, 0, 0, 0, - 0, 0, 2884, 2885, 2886, 0, 2887, 2888, 0, 982, - 0, 0, 2891, 0, 2892, 0, 2894, 2897, 0, 0, - 0, 0, 0, 2901, 0, 0, 0, 0, 0, 0, - 0, 1309, 0, 2965, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 818, 818, 0, - 0, 2927, 0, 0, 0, 0, 0, 0, 0, 0, - 2995, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3000, 0, 0, 0, 0, 46, 49, 52, 51, 54, - 0, 66, 0, 0, 75, 72, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 550, 0, - 0, 0, 0, 0, 0, 0, 0, 55, 83, 82, - 0, 0, 64, 65, 53, 0, 0, 0, 0, 1825, - 73, 74, 0, 0, 0, 2949, 0, 0, 3000, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2954, - 0, 0, 0, 0, 2959, 0, 0, 0, 1310, 0, - 2960, 2961, 0, 0, 0, 0, 0, 0, 0, 0, - 57, 58, 0, 59, 60, 61, 62, 0, 2967, 0, - 0, 0, 0, 0, 0, 1310, 0, 0, 1310, 0, - 0, 0, 0, 550, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1543, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2191, 0, 0, 550, 0, 0, 0, 3018, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1593, 0, 0, 0, 0, 0, 0, 3024, 0, - 0, 0, 3025, 0, 0, 0, 0, 550, 0, 0, - 0, 0, 0, 0, 550, 0, 0, 0, 0, 0, - 0, 0, 0, 1616, 1617, 550, 550, 550, 550, 550, - 550, 550, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2239, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 550, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 86, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2287, 2288, 2289, 2290, - 2291, 0, 0, 0, 0, 0, 0, 0, 803, 0, - 0, 0, 0, 0, 0, 803, 803, 1644, 2300, 0, - 0, 1310, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2308, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 803, 1593, - 803, 803, 803, 803, 803, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1543, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 803, 0, 0, 0, 0, 0, 0, 1156, 0, 1156, - 1156, 0, 0, 0, 785, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 79, 550, 0, 0, - 0, 0, 0, 0, 1593, 0, 550, 0, 550, 0, - 550, 1861, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 775, 1231, 1232, 1233, 0, 1236, 0, - 1238, 1239, 1240, 1241, 0, 1244, 1246, 1246, 0, 1246, - 1250, 1250, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, - 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, - 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, - 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, - 1290, 1291, 0, 1293, 1294, 1295, 1296, 1297, 0, 0, - 0, 0, 1250, 1250, 1250, 1250, 1250, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2495, 0, 0, 0, - 0, 0, 0, 0, 0, 182, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1464, 0, 0, 0, - 0, 0, 2533, 0, 0, 0, 0, 0, 0, 121, - 0, 143, 0, 0, 0, 2542, 0, 0, 0, 0, - 0, 0, 164, 0, 0, 0, 0, 0, 0, 0, - 0, 1319, 0, 2558, 0, 0, 2561, 775, 0, 0, - 0, 775, 0, 0, 0, 0, 0, 775, 0, 0, - 0, 0, 0, 153, 0, 87, 0, 0, 0, 142, - 0, 706, 713, 714, 715, 716, 717, 707, 709, 0, - 0, 0, 708, 0, 0, 0, 0, 550, 0, 0, - 161, 0, 162, 0, 550, 711, 718, 719, 0, 0, - 0, 550, 550, 0, 0, 550, 0, 2017, 1468, 1469, - 152, 151, 181, 0, 550, 0, 0, 0, 0, 0, - 0, 550, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2623, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2539, 2540, 0, 0, 0, 0, 550, 0, 0, - 0, 0, 0, 720, 721, 722, 723, 724, 725, 726, + 0, 0, 1313, 0, 0, 0, 0, 0, 1829, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2955, 0, 0, 0, 0, 0, 0, 144, 0, 1313, + 145, 0, 1313, 0, 2960, 0, 0, 551, 0, 2965, + 0, 0, 0, 0, 0, 2966, 2967, 0, 0, 0, + 81, 0, 0, 1829, 1546, 0, 0, 0, 0, 0, + 157, 0, 0, 2973, 0, 0, 0, 169, 0, 551, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1596, 1829, 0, 86, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 551, 0, 0, 0, 0, 0, 0, 551, 177, + 0, 0, 0, 0, 3024, 0, 0, 1619, 1620, 551, + 551, 551, 551, 551, 551, 551, 1312, 0, 2971, 0, + 0, 0, 0, 3030, 0, 0, 0, 3031, 158, 163, + 160, 166, 167, 168, 170, 172, 173, 174, 175, 0, + 1198, 0, 820, 820, 176, 178, 179, 180, 551, 0, + 0, 0, 0, 0, 0, 3001, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3006, 0, 0, 1245, 0, + 0, 0, 1647, 0, 0, 0, 0, 0, 0, 2000, + 0, 0, 0, 0, 0, 0, 2014, 2015, 0, 0, + 2019, 0, 0, 0, 0, 0, 0, 0, 0, 2022, + 0, 0, 805, 0, 0, 0, 2025, 0, 0, 805, + 805, 0, 0, 0, 1829, 1313, 0, 0, 0, 0, + 0, 0, 0, 3006, 0, 0, 0, 0, 0, 0, + 0, 0, 2028, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 610, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 805, 1596, 805, 805, 805, 805, 805, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1546, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1158, 0, 1158, 1158, 805, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 787, + 79, 0, 0, 0, 0, 0, 0, 0, 1362, 0, + 0, 0, 551, 0, 0, 0, 0, 0, 0, 1596, + 0, 551, 0, 551, 0, 551, 1865, 777, 1233, 1234, + 1235, 0, 1238, 0, 1240, 1241, 1242, 1243, 0, 1246, + 1248, 1248, 0, 1248, 1252, 1252, 1254, 1255, 1256, 1257, + 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, + 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, + 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, + 1288, 1289, 1290, 1291, 1292, 1293, 1294, 0, 1296, 1297, + 1298, 1299, 1300, 0, 0, 0, 0, 1252, 1252, 1252, + 1252, 1252, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2196, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1322, 0, 0, 0, + 0, 0, 777, 0, 0, 0, 777, 0, 0, 0, + 0, 0, 777, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1450, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2244, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 551, 0, 0, 0, 0, 0, 0, 551, + 0, 0, 0, 0, 0, 0, 551, 551, 0, 0, + 551, 0, 2021, 0, 0, 0, 0, 0, 0, 551, + 0, 0, 0, 0, 0, 0, 551, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2292, 2293, 2294, 2295, 2296, 0, + 0, 0, 551, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1647, 2305, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2313, 0, 0, 0, 0, 0, 0, 0, 1599, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 805, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2819, 2821, + 2820, 2830, 2831, 2832, 2833, 2834, 2835, 2836, 653, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1654, 1655, 1656, 1657, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 805, 805, + 0, 0, 0, 1699, 1700, 0, 0, 0, 0, 1596, + 0, 1705, 551, 0, 0, 0, 0, 0, 0, 0, + 1546, 0, 0, 0, 0, 1721, 1722, 0, 0, 0, + 1747, 1748, 1749, 1750, 1751, 1752, 1754, 1758, 1759, 610, + 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, + 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1782, 1783, 1784, + 1785, 1786, 1787, 0, 0, 0, 551, 0, 0, 0, + 551, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2500, 0, 0, 0, 0, + 0, 610, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1158, 0, 0, 0, + 0, 2538, 0, 0, 0, 0, 0, 0, 0, 0, + 1158, 1158, 0, 0, 2547, 0, 0, 1837, 1838, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 551, + 0, 0, 2563, 0, 0, 2566, 2250, 0, 182, 0, + 0, 0, 0, 0, 0, 1874, 0, 0, 0, 1467, + 0, 0, 0, 0, 0, 0, 0, 0, 2825, 2826, + 0, 0, 121, 0, 143, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 164, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 551, 551, 551, 551, 551, 0, + 0, 0, 0, 0, 1912, 0, 153, 0, 0, 0, + 0, 0, 142, 0, 0, 551, 551, 0, 0, 698, + 2628, 644, 702, 646, 699, 700, 0, 642, 645, 701, + 0, 551, 0, 161, 0, 162, 0, 0, 0, 1415, + 0, 0, 0, 0, 0, 0, 805, 0, 0, 0, + 0, 1471, 1472, 152, 151, 181, 651, 652, 2818, 2822, + 2823, 2824, 2827, 2828, 2829, 2837, 2839, 676, 2838, 2840, + 2841, 2842, 2845, 2846, 2847, 2848, 2843, 2844, 2849, 2815, + 2814, 2816, 2817, 0, 0, 0, 0, 0, 0, 0, + 0, 1313, 0, 1313, 0, 0, 1313, 0, 0, 0, + 0, 1313, 0, 0, 0, 0, 0, 0, 2691, 0, + 0, 0, 0, 0, 0, 805, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1857, 0, 2706, 0, 0, + 2707, 2708, 2709, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 551, 0, 0, + 0, 0, 147, 1473, 154, 0, 1470, 0, 148, 149, + 0, 0, 0, 0, 165, 0, 0, 0, 0, 1313, + 0, 0, 0, 171, 1313, 551, 551, 551, 551, 551, + 1403, 0, 0, 0, 0, 0, 0, 2443, 0, 0, + 0, 0, 551, 0, 0, 1546, 984, 551, 0, 0, + 551, 2454, 1596, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 984, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 551, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1313, 1416, 0, 0, 0, 0, 0, 0, 0, + 2061, 551, 0, 0, 0, 0, 2065, 0, 2067, 0, + 0, 0, 0, 0, 551, 0, 0, 0, 0, 0, + 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 551, 0, 0, 551, 0, 0, 0, 0, + 0, 0, 1245, 0, 0, 0, 0, 0, 0, 0, + 1429, 1432, 1433, 1434, 1435, 1436, 1437, 0, 1438, 1439, + 1440, 1441, 1442, 1417, 1418, 1419, 1420, 1401, 1402, 1430, + 0, 1404, 0, 1405, 1406, 1407, 1408, 1409, 1410, 1411, + 1412, 1413, 0, 0, 1414, 1421, 1422, 1423, 1424, 1425, + 1426, 1427, 1428, 0, 0, 0, 0, 0, 150, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 551, 0, 0, 0, 0, 0, 0, 0, 1362, 0, + 0, 0, 0, 0, 0, 144, 0, 2037, 145, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 157, 0, + 0, 0, 0, 0, 0, 169, 0, 0, 0, 551, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 551, 1431, + 0, 0, 0, 0, 0, 0, 0, 177, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 551, 0, 0, + 551, 551, 551, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2954, 158, 163, 160, 166, + 167, 168, 170, 172, 173, 174, 175, 0, 0, 0, + 0, 0, 176, 178, 179, 180, 0, 0, 0, 0, + 0, 2116, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2133, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 777, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2317, 2173, 2174, 0, + 0, 0, 0, 1313, 0, 1313, 2193, 0, 2194, 2195, + 0, 0, 0, 0, 2340, 2341, 0, 0, 0, 2344, + 0, 0, 0, 0, 0, 1546, 0, 0, 0, 2348, + 2349, 2350, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2355, 2356, 2357, 1313, 0, 1765, 2359, 0, 2360, + 2361, 0, 0, 0, 2368, 2369, 0, 0, 0, 0, + 0, 0, 1765, 1765, 1765, 1765, 1765, 610, 610, 610, + 610, 87, 0, 0, 0, 0, 0, 708, 715, 716, + 717, 718, 719, 709, 711, 0, 0, 0, 710, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 713, 720, 721, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2271, 0, 0, + 0, 0, 0, 0, 0, 0, 1546, 2415, 0, 0, + 0, 2137, 0, 0, 715, 716, 0, 0, 0, 0, + 1694, 0, 0, 0, 0, 0, 0, 2544, 2545, 0, + 0, 0, 0, 0, 2448, 0, 0, 0, 0, 722, + 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, + 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, + 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, + 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, + 763, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2510, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, - 757, 758, 759, 760, 761, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 147, - 1470, 154, 0, 1467, 0, 148, 149, 0, 0, 2686, - 803, 165, 0, 0, 0, 0, 0, 0, 0, 0, - 171, 0, 0, 802, 0, 0, 0, 0, 2701, 0, - 0, 2702, 2703, 2704, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 609, 803, 803, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1593, 0, 0, 550, 0, 0, 0, - 0, 0, 0, 0, 1543, 0, 0, 0, 0, 0, - 0, 0, 0, 796, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 156, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 550, 0, 0, 0, 550, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 696, 0, 0, 700, 0, - 697, 698, 0, 0, 0, 699, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1156, 0, 0, 0, 150, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1156, 1156, 0, 0, 0, - 0, 0, 0, 550, 0, 0, 0, 0, 0, 0, - 2245, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 144, 0, 0, 145, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 157, 0, 0, 0, 0, 0, - 0, 169, 0, 0, 0, 0, 0, 0, 550, 550, - 550, 550, 550, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 550, - 550, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 177, 0, 550, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 803, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 158, 163, 160, 166, 167, 168, 170, 172, - 173, 174, 175, 0, 0, 0, 0, 0, 176, 178, - 179, 180, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1310, 0, 1310, 0, 0, 1310, - 0, 0, 0, 0, 1310, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2948, 0, 0, 803, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1853, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 550, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1310, 0, 0, 0, 0, 1310, 550, 550, - 550, 550, 550, 0, 0, 0, 0, 0, 0, 0, - 2438, 0, 0, 0, 0, 550, 0, 0, 1543, 0, - 550, 0, 0, 550, 2449, 1593, 0, 0, 0, 0, - 982, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 982, 0, 0, 0, 0, 550, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1310, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 550, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 550, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 550, 0, 0, 550, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1196, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1243, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 550, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2033, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 609, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 550, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 550, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 550, 0, 0, 550, 550, 550, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1359, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2111, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 87, 0, 0, 0, - 0, 2128, 706, 713, 714, 715, 716, 717, 707, 709, - 0, 0, 0, 708, 0, 0, 0, 0, 0, 775, - 0, 0, 0, 0, 0, 0, 711, 718, 719, 0, - 0, 0, 0, 0, 0, 0, 1310, 0, 1310, 0, - 2168, 2169, 0, 0, 0, 0, 0, 0, 0, 2188, - 0, 2189, 2190, 0, 0, 0, 0, 0, 1543, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2539, 2540, 0, 0, 0, 1310, 0, 0, - 0, 0, 0, 0, 720, 721, 722, 723, 724, 725, - 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, - 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, - 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, - 756, 757, 758, 759, 760, 761, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1447, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1543, - 2266, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1596, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1543, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 550, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1853, - 0, 0, 0, 0, 0, 1651, 1652, 1653, 1654, 0, - 0, 0, 0, 0, 0, 0, 1310, 0, 0, 0, - 0, 0, 2419, 0, 79, 0, 0, 1853, 1853, 1853, - 1853, 1853, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2188, 775, 1696, 1697, 0, 1853, - 0, 0, 1853, 0, 1702, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1543, 0, 0, 0, 1718, 0, - 0, 0, 1743, 1744, 1745, 1746, 1747, 1748, 1750, 1754, - 1755, 609, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, - 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, - 1779, 1780, 1781, 1782, 1783, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2527, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2535, 0, 0, 0, 0, - 0, 0, 0, 609, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1833, - 1834, 0, 0, 0, 2569, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1870, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1908, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1853, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2669, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2769, 0, 2773, 2774, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2419, 0, - 79, 0, 2419, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2057, 0, 0, 0, 0, 0, 2061, 0, - 2063, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1243, 0, 0, 0, 0, 0, 0, - 0, 2859, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, - 0, 2419, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1252, 1253, 1254, 1258, 1259, - 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, - 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, - 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2937, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2968, 0, 0, 0, 0, 79, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2312, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2335, 2336, 0, 0, 0, - 2339, 0, 0, 0, 0, 0, 0, 0, 0, 2343, - 2344, 2345, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2350, 2351, 2352, 0, 0, 1761, 2354, 0, 2355, - 2356, 0, 0, 0, 2363, 2364, 0, 0, 0, 0, - 0, 0, 1761, 1761, 1761, 1761, 1761, 609, 609, 609, - 609, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2410, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2443, 0, 0, 0, 0, 0, + 757, 758, 759, 760, 761, 762, 763, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1546, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 551, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1857, 0, 0, + 0, 0, 0, 0, 2593, 0, 0, 0, 0, 0, + 0, 0, 0, 2599, 0, 0, 0, 0, 0, 0, + 2424, 0, 79, 0, 1313, 1857, 1857, 1857, 1857, 1857, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2193, 777, 0, 0, 0, 1857, 0, 0, + 1857, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1546, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 610, 0, 0, 0, 0, 0, 0, + 0, 698, 0, 0, 702, 0, 699, 700, 0, 0, + 0, 701, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2532, 0, 0, 0, 0, 0, 715, + 716, 0, 0, 2540, 0, 1694, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2505, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2713, 0, 0, 0, + 0, 0, 2574, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2737, + 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, + 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, + 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, + 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, + 762, 763, 0, 0, 0, 0, 2753, 0, 2754, 0, + 0, 0, 0, 2757, 2758, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 87, 0, 0, 2765, 0, 0, + 708, 715, 716, 717, 718, 719, 709, 711, 0, 0, + 0, 710, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 713, 720, 721, 0, 0, 1857, + 0, 0, 0, 0, 0, 2798, 0, 0, 0, 0, + 0, 0, 2674, 0, 0, 0, 2806, 0, 0, 2808, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2812, 0, 0, 0, 0, 0, 0, + 2544, 2545, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2853, 722, 723, 724, 725, 726, 727, 728, 729, + 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, + 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, + 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, + 760, 761, 762, 763, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2588, 0, 0, 0, 0, 0, - 0, 0, 0, 2594, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 609, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2708, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2732, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2748, 0, 2749, 0, - 0, 0, 0, 2752, 2753, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2760, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2793, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2801, 0, 0, 2803, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2807, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2847, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2910, 609, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 365, 0, 0, 952, 937, 467, - 0, 883, 955, 852, 871, 965, 874, 877, 919, 831, - 897, 383, 868, 823, 856, 826, 863, 827, 854, 885, - 253, 851, 939, 901, 954, 337, 250, 833, 857, 397, - 873, 197, 921, 441, 237, 347, 344, 474, 265, 256, - 252, 236, 292, 354, 395, 461, 389, 961, 341, 907, - 0, 451, 368, 609, 0, 0, 887, 943, 895, 933, - 882, 920, 841, 906, 956, 869, 916, 957, 298, 234, - 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, - 189, 190, 0, 2988, 0, 2989, 0, 2953, 0, 0, - 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, - 314, 316, 321, 328, 334, 865, 913, 951, 866, 915, - 248, 296, 255, 247, 471, 962, 942, 830, 894, 950, - 0, 0, 216, 953, 889, 0, 918, 0, 968, 825, - 909, 609, 828, 832, 964, 946, 860, 258, 0, 0, - 0, 0, 0, 0, 0, 886, 896, 930, 880, 0, - 0, 0, 0, 0, 0, 0, 858, 0, 905, 0, - 0, 0, 837, 829, 0, 0, 0, 3016, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 884, 0, 0, 0, - 840, 0, 859, 931, 0, 822, 279, 834, 369, 240, - 0, 935, 945, 881, 507, 949, 879, 878, 925, 838, - 941, 872, 336, 836, 305, 192, 212, 0, 870, 379, - 422, 428, 940, 855, 864, 238, 862, 426, 393, 490, - 220, 267, 419, 399, 424, 406, 270, 904, 923, 425, - 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, - 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, - 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, - 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, - 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, - 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, - 215, 503, 207, 1158, 502, 375, 475, 484, 363, 352, - 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, - 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, - 0, 453, 495, 526, 221, 222, 224, 850, 262, 266, - 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, - 936, 470, 488, 499, 506, 512, 513, 515, 516, 517, - 518, 519, 521, 520, 374, 289, 449, 306, 343, 928, - 967, 392, 427, 227, 492, 450, 845, 849, 843, 910, - 844, 899, 900, 846, 958, 959, 960, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 0, 932, 839, 0, 847, - 848, 0, 938, 947, 948, 545, 353, 440, 489, 308, - 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, - 318, 319, 324, 325, 329, 335, 235, 201, 359, 903, - 191, 208, 339, 963, 415, 271, 523, 501, 497, 824, - 210, 842, 245, 853, 861, 0, 867, 875, 876, 888, - 890, 891, 892, 893, 911, 912, 914, 922, 924, 927, - 929, 934, 944, 966, 193, 194, 200, 209, 219, 223, - 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, - 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, - 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, - 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, - 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, - 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, - 0, 348, 902, 908, 350, 264, 284, 295, 917, 500, - 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, - 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, - 439, 462, 463, 464, 466, 364, 249, 400, 898, 926, - 346, 468, 469, 291, 365, 0, 0, 952, 937, 467, - 0, 883, 955, 852, 871, 965, 874, 877, 919, 831, - 897, 383, 868, 823, 856, 826, 863, 827, 854, 885, - 253, 851, 939, 901, 954, 337, 250, 833, 857, 397, - 873, 197, 921, 441, 237, 347, 344, 474, 265, 256, - 252, 236, 292, 354, 395, 461, 389, 961, 341, 907, - 0, 451, 368, 0, 0, 0, 887, 943, 895, 933, - 882, 920, 841, 906, 956, 869, 916, 957, 298, 234, - 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, - 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, - 314, 316, 321, 328, 334, 865, 913, 951, 866, 915, - 248, 296, 255, 247, 471, 962, 942, 830, 894, 950, - 0, 0, 216, 953, 889, 0, 918, 0, 968, 825, - 909, 0, 828, 832, 964, 946, 860, 258, 0, 0, - 0, 0, 0, 0, 0, 886, 896, 930, 880, 0, - 0, 0, 0, 0, 2450, 0, 858, 0, 905, 0, - 0, 0, 837, 829, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 884, 0, 0, 0, - 840, 0, 859, 931, 0, 822, 279, 834, 369, 240, - 0, 935, 945, 881, 507, 949, 879, 878, 925, 838, - 941, 872, 336, 836, 305, 192, 212, 0, 870, 379, - 422, 428, 940, 855, 864, 238, 862, 426, 393, 490, - 220, 267, 419, 399, 424, 406, 270, 904, 923, 425, - 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, - 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, - 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, - 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, - 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, - 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, - 215, 503, 207, 1158, 502, 375, 475, 484, 363, 352, - 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, - 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, - 0, 453, 495, 526, 221, 222, 224, 850, 262, 266, - 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, - 936, 470, 488, 499, 506, 512, 513, 515, 516, 517, - 518, 519, 521, 520, 374, 289, 449, 306, 343, 928, - 967, 392, 427, 227, 492, 450, 845, 849, 843, 910, - 844, 899, 900, 846, 958, 959, 960, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 0, 932, 839, 0, 847, - 848, 0, 938, 947, 948, 545, 353, 440, 489, 308, - 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, - 318, 319, 324, 325, 329, 335, 235, 201, 359, 903, - 191, 208, 339, 963, 415, 271, 523, 501, 497, 824, - 210, 842, 245, 853, 861, 0, 867, 875, 876, 888, - 890, 891, 892, 893, 911, 912, 914, 922, 924, 927, - 929, 934, 944, 966, 193, 194, 200, 209, 219, 223, - 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, - 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, - 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, - 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, - 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, - 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, - 0, 348, 902, 908, 350, 264, 284, 295, 917, 500, - 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, - 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, - 439, 462, 463, 464, 466, 364, 249, 400, 898, 926, - 346, 468, 469, 291, 365, 0, 0, 952, 937, 467, - 0, 883, 955, 852, 871, 965, 874, 877, 919, 831, - 897, 383, 868, 823, 856, 826, 863, 827, 854, 885, - 253, 851, 939, 901, 954, 337, 250, 833, 857, 397, - 873, 197, 921, 441, 237, 347, 344, 474, 265, 256, - 252, 236, 292, 354, 395, 461, 389, 961, 341, 907, - 0, 451, 368, 0, 0, 0, 887, 943, 895, 933, - 882, 920, 841, 906, 956, 869, 916, 957, 298, 234, - 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, - 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, - 314, 316, 321, 328, 334, 865, 913, 951, 866, 915, - 248, 296, 255, 247, 471, 962, 942, 830, 894, 950, - 0, 0, 216, 953, 889, 0, 918, 0, 968, 825, - 909, 0, 828, 832, 964, 946, 860, 258, 0, 0, - 0, 0, 0, 0, 0, 886, 896, 930, 880, 0, - 0, 0, 0, 0, 2408, 0, 858, 0, 905, 0, - 0, 0, 837, 829, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 884, 0, 0, 0, - 840, 0, 859, 931, 0, 822, 279, 834, 369, 240, - 0, 935, 945, 881, 507, 949, 879, 878, 925, 838, - 941, 872, 336, 836, 305, 192, 212, 0, 870, 379, - 422, 428, 940, 855, 864, 238, 862, 426, 393, 490, - 220, 267, 419, 399, 424, 406, 270, 904, 923, 425, - 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, - 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, - 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, - 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, - 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, - 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, - 215, 503, 207, 1158, 502, 375, 475, 484, 363, 352, - 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, - 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, - 0, 453, 495, 526, 221, 222, 224, 850, 262, 266, - 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, - 936, 470, 488, 499, 506, 512, 513, 515, 516, 517, - 518, 519, 521, 520, 374, 289, 449, 306, 343, 928, - 967, 392, 427, 227, 492, 450, 845, 849, 843, 910, - 844, 899, 900, 846, 958, 959, 960, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 0, 932, 839, 0, 847, - 848, 0, 938, 947, 948, 545, 353, 440, 489, 308, - 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, - 318, 319, 324, 325, 329, 335, 235, 201, 359, 903, - 191, 208, 339, 963, 415, 271, 523, 501, 497, 824, - 210, 842, 245, 853, 861, 0, 867, 875, 876, 888, - 890, 891, 892, 893, 911, 912, 914, 922, 924, 927, - 929, 934, 944, 966, 193, 194, 200, 209, 219, 223, - 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, - 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, - 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, - 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, - 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, - 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, - 0, 348, 902, 908, 350, 264, 284, 295, 917, 500, - 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, - 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, - 439, 462, 463, 464, 466, 364, 249, 400, 898, 926, - 346, 468, 469, 291, 365, 0, 0, 952, 937, 467, - 0, 883, 955, 852, 871, 965, 874, 877, 919, 831, - 897, 383, 868, 823, 856, 826, 863, 827, 854, 885, - 253, 851, 939, 901, 954, 337, 250, 833, 857, 397, - 873, 197, 921, 441, 237, 347, 344, 474, 265, 256, - 252, 236, 292, 354, 395, 461, 389, 961, 341, 907, - 0, 451, 368, 0, 0, 0, 887, 943, 895, 933, - 882, 920, 841, 906, 956, 869, 916, 957, 298, 234, - 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, - 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, - 314, 316, 321, 328, 334, 865, 913, 951, 866, 915, - 248, 296, 255, 247, 471, 962, 942, 830, 894, 950, - 0, 0, 216, 953, 889, 0, 918, 0, 968, 825, - 909, 0, 828, 832, 964, 946, 860, 258, 0, 0, - 0, 0, 0, 0, 0, 886, 896, 930, 880, 0, - 0, 0, 0, 0, 1841, 0, 858, 0, 905, 0, - 0, 0, 837, 829, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 884, 0, 0, 0, - 840, 0, 859, 931, 0, 822, 279, 834, 369, 240, - 0, 935, 945, 881, 507, 949, 879, 878, 925, 838, - 941, 872, 336, 836, 305, 192, 212, 0, 870, 379, - 422, 428, 940, 855, 864, 238, 862, 426, 393, 490, - 220, 267, 419, 399, 424, 406, 270, 904, 923, 425, - 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, - 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, - 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, - 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, - 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, - 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, - 215, 503, 207, 1158, 502, 375, 475, 484, 363, 352, - 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, - 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, - 0, 453, 495, 526, 221, 222, 224, 850, 262, 266, - 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, - 936, 470, 488, 499, 506, 512, 513, 515, 516, 517, - 518, 519, 521, 520, 374, 289, 449, 306, 343, 928, - 967, 392, 427, 227, 492, 450, 845, 849, 843, 910, - 844, 899, 900, 846, 958, 959, 960, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 0, 932, 839, 0, 847, - 848, 0, 938, 947, 948, 545, 353, 440, 489, 308, - 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, - 318, 319, 324, 325, 329, 335, 235, 201, 359, 903, - 191, 208, 339, 963, 415, 271, 523, 501, 497, 824, - 210, 842, 245, 853, 861, 0, 867, 875, 876, 888, - 890, 891, 892, 893, 911, 912, 914, 922, 924, 927, - 929, 934, 944, 966, 193, 194, 200, 209, 219, 223, - 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, - 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, - 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, - 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, - 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, - 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, - 0, 348, 902, 908, 350, 264, 284, 295, 917, 500, - 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, - 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, - 439, 462, 463, 464, 466, 364, 249, 400, 898, 926, - 346, 468, 469, 291, 365, 0, 0, 952, 937, 467, - 0, 883, 955, 852, 871, 965, 874, 877, 919, 831, - 897, 383, 868, 823, 856, 826, 863, 827, 854, 885, - 253, 851, 939, 901, 954, 337, 250, 833, 857, 397, - 873, 197, 921, 441, 237, 347, 344, 474, 265, 256, - 252, 236, 292, 354, 395, 461, 389, 961, 341, 907, - 0, 451, 368, 0, 0, 0, 887, 943, 895, 933, - 882, 920, 841, 906, 956, 869, 916, 957, 298, 234, - 300, 196, 380, 452, 269, 0, 87, 0, 0, 188, - 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, - 314, 316, 321, 328, 334, 865, 913, 951, 866, 915, - 248, 296, 255, 247, 471, 962, 942, 830, 894, 950, - 0, 0, 216, 953, 889, 0, 918, 0, 968, 825, - 909, 0, 828, 832, 964, 946, 860, 258, 0, 0, - 0, 0, 0, 0, 0, 886, 896, 930, 880, 0, - 0, 0, 0, 0, 0, 0, 858, 0, 905, 0, - 0, 0, 837, 829, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 884, 0, 0, 0, - 840, 0, 859, 931, 0, 822, 279, 834, 369, 240, - 0, 935, 945, 881, 507, 949, 879, 878, 925, 838, - 941, 872, 336, 836, 305, 192, 212, 0, 870, 379, - 422, 428, 940, 855, 864, 238, 862, 426, 393, 490, - 220, 267, 419, 399, 424, 406, 270, 904, 923, 425, - 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, - 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, - 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, - 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, - 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, - 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, - 215, 503, 207, 1158, 502, 375, 475, 484, 363, 352, - 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, - 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, - 0, 453, 495, 526, 221, 222, 224, 850, 262, 266, - 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, - 936, 470, 488, 499, 506, 512, 513, 515, 516, 517, - 518, 519, 521, 520, 374, 289, 449, 306, 343, 928, - 967, 392, 427, 227, 492, 450, 845, 849, 843, 910, - 844, 899, 900, 846, 958, 959, 960, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 0, 932, 839, 0, 847, - 848, 0, 938, 947, 948, 545, 353, 440, 489, 308, - 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, - 318, 319, 324, 325, 329, 335, 235, 201, 359, 903, - 191, 208, 339, 963, 415, 271, 523, 501, 497, 824, - 210, 842, 245, 853, 861, 0, 867, 875, 876, 888, - 890, 891, 892, 893, 911, 912, 914, 922, 924, 927, - 929, 934, 944, 966, 193, 194, 200, 209, 219, 223, - 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, - 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, - 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, - 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, - 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, - 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, - 0, 348, 902, 908, 350, 264, 284, 295, 917, 500, - 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, - 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, - 439, 462, 463, 464, 466, 364, 249, 400, 898, 926, - 346, 468, 469, 291, 365, 0, 0, 952, 937, 467, - 0, 883, 955, 852, 871, 965, 874, 877, 919, 831, - 897, 383, 868, 823, 856, 826, 863, 827, 854, 885, - 253, 851, 939, 901, 954, 337, 250, 833, 857, 397, - 873, 197, 921, 441, 237, 347, 344, 474, 265, 256, - 252, 236, 292, 354, 395, 461, 389, 961, 341, 907, - 0, 451, 368, 0, 0, 0, 887, 943, 895, 933, - 882, 920, 841, 906, 956, 869, 916, 957, 298, 234, - 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, - 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, - 314, 316, 321, 328, 334, 865, 913, 951, 866, 915, - 248, 296, 255, 247, 471, 962, 942, 830, 894, 950, - 0, 0, 216, 953, 889, 0, 918, 0, 968, 825, - 909, 0, 828, 832, 964, 946, 860, 258, 0, 0, - 0, 0, 0, 0, 0, 886, 896, 930, 880, 0, - 0, 0, 0, 0, 0, 0, 858, 0, 905, 0, - 0, 0, 837, 829, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 884, 0, 0, 0, - 840, 0, 859, 931, 0, 822, 279, 834, 369, 240, - 0, 935, 945, 881, 507, 949, 879, 878, 925, 838, - 941, 872, 336, 836, 305, 192, 212, 0, 870, 379, - 422, 428, 940, 855, 864, 238, 862, 426, 393, 490, - 220, 267, 419, 399, 424, 406, 270, 904, 923, 425, - 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, - 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, - 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, - 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, - 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, - 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, - 215, 503, 207, 1158, 502, 375, 475, 484, 363, 352, - 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, - 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, - 0, 453, 495, 526, 221, 222, 224, 850, 262, 266, - 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, - 936, 470, 488, 499, 506, 512, 513, 515, 516, 517, - 518, 519, 521, 520, 374, 289, 449, 306, 343, 928, - 967, 392, 427, 227, 492, 450, 845, 849, 843, 910, - 844, 899, 900, 846, 958, 959, 960, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 0, 932, 839, 0, 847, - 848, 0, 938, 947, 948, 545, 353, 440, 489, 308, - 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, - 318, 319, 324, 325, 329, 335, 235, 201, 359, 903, - 191, 208, 339, 963, 415, 271, 523, 501, 497, 824, - 210, 842, 245, 853, 861, 0, 867, 875, 876, 888, - 890, 891, 892, 893, 911, 912, 914, 922, 924, 927, - 929, 934, 944, 966, 193, 194, 200, 209, 219, 223, - 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, - 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, - 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, - 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, - 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, - 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, - 0, 348, 902, 908, 350, 264, 284, 295, 917, 500, - 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, - 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, - 439, 462, 463, 464, 466, 364, 249, 400, 898, 926, - 346, 468, 469, 291, 365, 0, 0, 952, 937, 467, - 0, 883, 955, 852, 871, 965, 874, 877, 919, 831, - 897, 383, 868, 823, 856, 826, 863, 827, 854, 885, - 253, 851, 939, 901, 954, 337, 250, 833, 857, 397, - 873, 197, 921, 441, 237, 347, 344, 474, 265, 256, - 252, 236, 292, 354, 395, 461, 389, 961, 341, 907, - 0, 451, 368, 0, 0, 0, 887, 943, 895, 933, - 882, 920, 841, 906, 956, 869, 916, 957, 298, 234, - 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, - 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, - 314, 316, 321, 328, 334, 865, 913, 951, 866, 915, - 248, 296, 255, 247, 471, 962, 942, 830, 894, 950, - 0, 0, 969, 953, 889, 0, 918, 0, 968, 825, - 909, 0, 828, 832, 964, 946, 860, 258, 0, 0, - 0, 0, 0, 0, 0, 886, 896, 930, 880, 0, - 0, 0, 0, 0, 0, 0, 858, 0, 905, 0, - 0, 0, 837, 829, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 884, 0, 0, 0, - 840, 0, 859, 931, 0, 822, 279, 834, 369, 240, - 0, 935, 945, 881, 507, 949, 879, 878, 925, 838, - 941, 872, 336, 836, 305, 192, 212, 0, 870, 379, - 422, 428, 940, 855, 864, 238, 862, 426, 393, 490, - 220, 267, 419, 399, 424, 406, 270, 904, 923, 425, - 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, - 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, - 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, - 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, - 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, - 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, - 215, 503, 207, 835, 502, 375, 475, 484, 363, 352, - 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, - 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, - 0, 453, 495, 526, 221, 222, 224, 850, 262, 266, - 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, - 936, 470, 488, 499, 506, 512, 513, 515, 516, 517, - 518, 519, 521, 520, 821, 815, 814, 306, 343, 928, - 967, 392, 427, 227, 492, 450, 845, 849, 843, 910, - 844, 899, 900, 846, 958, 959, 960, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 0, 932, 839, 0, 847, - 848, 0, 938, 947, 948, 545, 353, 440, 489, 308, - 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, - 318, 319, 324, 325, 329, 335, 235, 201, 359, 903, - 191, 208, 339, 963, 415, 271, 523, 501, 497, 824, - 210, 842, 245, 853, 861, 0, 867, 875, 876, 888, - 890, 891, 892, 893, 911, 912, 914, 922, 924, 927, - 929, 934, 944, 966, 193, 194, 200, 209, 219, 223, - 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, - 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, - 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, - 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, - 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, - 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, - 0, 348, 902, 908, 350, 264, 284, 295, 917, 500, - 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, - 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, - 439, 462, 463, 464, 466, 364, 249, 400, 898, 926, - 346, 468, 469, 291, 365, 0, 0, 952, 937, 467, - 0, 883, 955, 852, 871, 965, 874, 877, 919, 831, - 897, 383, 868, 823, 856, 826, 863, 827, 854, 885, - 253, 851, 939, 901, 954, 337, 250, 833, 857, 397, - 873, 197, 921, 441, 237, 347, 344, 474, 265, 256, - 252, 236, 292, 354, 395, 461, 389, 961, 341, 907, - 0, 451, 368, 0, 0, 0, 887, 943, 895, 933, - 882, 920, 841, 906, 956, 869, 916, 957, 298, 234, - 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, - 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, - 314, 316, 321, 328, 334, 865, 913, 951, 866, 915, - 248, 296, 255, 247, 471, 962, 942, 830, 894, 950, - 0, 0, 969, 953, 889, 0, 918, 0, 968, 825, - 909, 0, 828, 832, 964, 946, 860, 258, 0, 0, - 0, 0, 0, 0, 0, 886, 896, 930, 880, 0, - 0, 0, 0, 0, 0, 0, 858, 0, 905, 0, - 0, 0, 837, 829, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 884, 0, 0, 0, - 840, 0, 859, 931, 0, 822, 279, 834, 369, 240, - 0, 935, 945, 881, 507, 949, 879, 878, 925, 838, - 941, 872, 336, 836, 305, 192, 212, 0, 870, 379, - 422, 428, 940, 855, 864, 238, 862, 426, 393, 490, - 220, 267, 419, 399, 424, 406, 270, 904, 923, 425, - 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, - 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, - 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, - 218, 478, 496, 272, 417, 203, 460, 1376, 226, 438, - 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, - 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, - 215, 503, 207, 835, 502, 375, 475, 484, 363, 352, - 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, - 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, - 0, 453, 495, 526, 221, 222, 224, 850, 262, 266, - 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, - 936, 470, 488, 499, 506, 512, 513, 515, 516, 517, - 518, 519, 521, 520, 821, 815, 814, 306, 343, 928, - 967, 392, 427, 227, 492, 450, 845, 849, 843, 910, - 844, 899, 900, 846, 958, 959, 960, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 0, 932, 839, 0, 847, - 848, 0, 938, 947, 948, 545, 353, 440, 489, 308, - 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, - 318, 319, 324, 325, 329, 335, 235, 201, 359, 903, - 191, 208, 339, 963, 415, 271, 523, 501, 497, 824, - 210, 842, 245, 853, 861, 0, 867, 875, 876, 888, - 890, 891, 892, 893, 911, 912, 914, 922, 924, 927, - 929, 934, 944, 966, 193, 194, 200, 209, 219, 223, - 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, - 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, - 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, - 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, - 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, - 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, - 0, 348, 902, 908, 350, 264, 284, 295, 917, 500, - 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, - 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, - 439, 462, 463, 464, 466, 364, 249, 400, 898, 926, - 346, 468, 469, 291, 365, 0, 0, 952, 937, 467, - 0, 883, 955, 852, 871, 965, 874, 877, 919, 831, - 897, 383, 868, 823, 856, 826, 863, 827, 854, 885, - 253, 851, 939, 901, 954, 337, 250, 833, 857, 397, - 873, 197, 921, 441, 237, 347, 344, 474, 265, 256, - 252, 236, 292, 354, 395, 461, 389, 961, 341, 907, - 0, 451, 368, 0, 0, 0, 887, 943, 895, 933, - 882, 920, 841, 906, 956, 869, 916, 957, 298, 234, - 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, - 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, - 314, 316, 321, 328, 334, 865, 913, 951, 866, 915, - 248, 296, 255, 247, 471, 962, 942, 830, 894, 950, - 0, 0, 969, 953, 889, 0, 918, 0, 968, 825, - 909, 0, 828, 832, 964, 946, 860, 258, 0, 0, - 0, 0, 0, 0, 0, 886, 896, 930, 880, 0, - 0, 0, 0, 0, 0, 0, 858, 0, 905, 0, - 0, 0, 837, 829, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 884, 0, 0, 0, - 840, 0, 859, 931, 0, 822, 279, 834, 369, 240, - 0, 935, 945, 881, 507, 949, 879, 878, 925, 838, - 941, 872, 336, 836, 305, 192, 212, 0, 870, 379, - 422, 428, 940, 855, 864, 238, 862, 426, 393, 490, - 220, 267, 419, 399, 424, 406, 270, 904, 923, 425, - 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, - 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, - 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, - 218, 478, 496, 272, 417, 203, 460, 812, 226, 438, - 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, - 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, - 215, 503, 207, 835, 502, 375, 475, 484, 363, 352, - 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, - 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, - 0, 453, 495, 526, 221, 222, 224, 850, 262, 266, - 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, - 936, 470, 488, 499, 506, 512, 513, 515, 516, 517, - 518, 519, 521, 520, 821, 815, 814, 306, 343, 928, - 967, 392, 427, 227, 492, 450, 845, 849, 843, 910, - 844, 899, 900, 846, 958, 959, 960, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 0, 932, 839, 0, 847, - 848, 0, 938, 947, 948, 545, 353, 440, 489, 308, - 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, - 318, 319, 324, 325, 329, 335, 235, 201, 359, 903, - 191, 208, 339, 963, 415, 271, 523, 501, 497, 824, - 210, 842, 245, 853, 861, 0, 867, 875, 876, 888, - 890, 891, 892, 893, 911, 912, 914, 922, 924, 927, - 929, 934, 944, 966, 193, 194, 200, 209, 219, 223, - 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, - 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, - 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, - 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, - 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, - 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, - 0, 348, 902, 908, 350, 264, 284, 295, 917, 500, - 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, - 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, - 439, 462, 463, 464, 466, 364, 249, 400, 898, 926, - 346, 468, 469, 291, 365, 0, 0, 0, 0, 467, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 383, 0, 0, 1785, 0, 627, 0, 0, 0, - 253, 632, 0, 0, 0, 337, 250, 0, 1786, 397, - 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, - 252, 236, 292, 354, 395, 461, 389, 639, 341, 0, - 0, 451, 368, 0, 0, 0, 0, 0, 634, 635, - 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, - 300, 196, 380, 452, 269, 0, 87, 0, 0, 188, - 189, 190, 706, 713, 714, 715, 716, 717, 707, 709, - 0, 0, 225, 708, 232, 653, 655, 654, 664, 665, - 666, 667, 668, 669, 670, 651, 711, 718, 719, 0, - 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, - 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, - 610, 624, 0, 638, 0, 0, 0, 258, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 621, 622, 801, 0, 0, 0, 690, 0, - 623, 0, 0, 631, 720, 721, 722, 723, 724, 725, - 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, - 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, - 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, - 756, 757, 758, 759, 760, 761, 633, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, - 0, 689, 0, 0, 507, 0, 0, 687, 0, 0, - 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, - 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, - 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, - 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, - 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, - 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, - 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, - 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, - 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, - 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, - 206, 482, 361, 351, 307, 659, 660, 263, 286, 411, - 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, - 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, - 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, - 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, - 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, - 0, 392, 427, 227, 492, 450, 696, 688, 643, 700, - 645, 697, 698, 640, 641, 644, 699, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 0, 691, 630, 629, 0, - 636, 637, 0, 649, 650, 652, 656, 657, 658, 661, - 662, 663, 671, 673, 674, 672, 675, 676, 677, 680, - 681, 682, 683, 678, 679, 684, 647, 646, 648, 628, - 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, - 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, - 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, - 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, - 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, - 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, - 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, - 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, - 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, - 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, - 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, - 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, - 346, 468, 469, 291, 467, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, - 0, 627, 0, 0, 0, 253, 632, 0, 0, 0, - 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, - 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, - 461, 389, 639, 341, 0, 0, 451, 368, 0, 0, - 0, 0, 0, 634, 635, 0, 0, 0, 0, 0, - 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, - 0, 87, 0, 0, 188, 189, 190, 706, 713, 714, - 715, 716, 717, 707, 709, 0, 0, 225, 708, 232, - 653, 655, 654, 664, 665, 666, 667, 668, 669, 670, - 651, 711, 718, 719, 0, 248, 296, 255, 247, 471, - 0, 0, 1751, 1752, 1753, 0, 0, 216, 0, 0, - 0, 0, 0, 0, 0, 610, 624, 0, 638, 0, - 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 621, 622, 0, - 0, 0, 0, 690, 0, 623, 0, 0, 631, 720, - 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, - 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, - 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, - 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, - 761, 633, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 279, 0, 369, 240, 0, 689, 0, 0, 507, - 0, 0, 687, 0, 0, 0, 0, 336, 0, 305, - 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, - 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, - 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, - 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, - 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, - 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, - 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, - 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, - 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, - 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, - 659, 660, 263, 286, 411, 345, 412, 287, 371, 370, - 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, - 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, - 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, - 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, - 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, - 450, 696, 688, 643, 700, 645, 697, 698, 640, 641, - 644, 699, 527, 528, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 0, 691, 630, 629, 0, 636, 637, 0, 649, 650, - 652, 656, 657, 658, 661, 662, 663, 671, 673, 674, - 672, 675, 676, 677, 680, 681, 682, 683, 678, 679, - 684, 647, 646, 648, 628, 191, 208, 339, 0, 415, - 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, - 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, - 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, - 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, - 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, - 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, - 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, - 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, - 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, - 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, - 364, 249, 400, 0, 365, 346, 468, 469, 291, 467, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 383, 0, 0, 0, 0, 627, 0, 0, 0, - 253, 632, 0, 0, 0, 337, 250, 0, 0, 397, - 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, - 252, 236, 292, 354, 395, 461, 389, 639, 341, 0, - 0, 451, 368, 0, 0, 0, 0, 0, 634, 635, - 0, 0, 0, 0, 0, 0, 1868, 0, 298, 234, - 300, 196, 380, 452, 269, 0, 87, 0, 0, 188, - 189, 190, 706, 713, 714, 715, 716, 717, 707, 709, - 0, 0, 225, 708, 232, 653, 655, 654, 664, 665, - 666, 667, 668, 669, 670, 651, 711, 718, 719, 1869, - 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, - 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, - 610, 624, 0, 638, 0, 0, 0, 258, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 621, 622, 0, 0, 0, 0, 690, 0, - 623, 0, 0, 631, 720, 721, 722, 723, 724, 725, - 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, - 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, - 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, - 756, 757, 758, 759, 760, 761, 633, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, - 0, 689, 0, 0, 507, 0, 0, 687, 0, 0, - 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, - 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, - 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, - 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, - 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, - 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, - 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, - 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, - 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, - 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, - 206, 482, 361, 351, 307, 659, 660, 263, 286, 411, - 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, - 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, - 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, - 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, - 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, - 0, 392, 427, 227, 492, 450, 696, 688, 643, 700, - 645, 697, 698, 640, 641, 644, 699, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 0, 691, 630, 629, 0, - 636, 637, 0, 649, 650, 652, 656, 657, 658, 661, - 662, 663, 671, 673, 674, 672, 675, 676, 677, 680, - 681, 682, 683, 678, 679, 684, 647, 646, 648, 628, - 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, - 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, - 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, - 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, - 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, - 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, - 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, - 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, - 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, - 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, - 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, - 439, 462, 463, 464, 466, 364, 249, 400, 0, 0, - 346, 468, 469, 291, 365, 0, 0, 0, 78, 467, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 383, 0, 0, 0, 0, 627, 0, 0, 0, - 253, 632, 0, 0, 0, 337, 250, 0, 0, 397, - 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, - 252, 236, 292, 354, 395, 461, 389, 639, 341, 0, - 0, 451, 368, 0, 0, 0, 0, 0, 634, 635, - 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, - 300, 196, 380, 452, 269, 0, 87, 0, 0, 188, - 189, 190, 706, 713, 714, 715, 716, 717, 707, 709, - 0, 0, 225, 708, 232, 653, 655, 654, 664, 665, - 666, 667, 668, 669, 670, 651, 711, 718, 719, 0, - 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, - 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, - 610, 624, 0, 638, 0, 0, 0, 258, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 621, 622, 0, 0, 0, 0, 690, 0, - 623, 0, 0, 631, 720, 721, 722, 723, 724, 725, - 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, - 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, - 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, - 756, 757, 758, 759, 760, 761, 633, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, - 0, 689, 0, 0, 507, 0, 0, 687, 0, 0, - 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, - 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, - 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, - 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, - 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, - 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, - 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, - 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, - 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, - 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, - 206, 482, 361, 351, 307, 659, 660, 263, 286, 411, - 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, - 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, - 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, - 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, - 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, - 0, 392, 427, 227, 492, 450, 696, 688, 643, 700, - 645, 697, 698, 640, 641, 644, 699, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 0, 691, 630, 629, 0, - 636, 637, 0, 649, 650, 652, 656, 657, 658, 661, - 662, 663, 671, 673, 674, 672, 675, 676, 677, 680, - 681, 682, 683, 678, 679, 684, 647, 646, 648, 628, - 191, 208, 339, 86, 415, 271, 523, 501, 497, 0, - 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, - 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, - 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, - 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, - 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, - 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, - 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, - 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, - 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, - 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, - 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, - 346, 468, 469, 291, 467, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, - 0, 627, 0, 0, 0, 253, 632, 0, 0, 0, - 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, - 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, - 461, 389, 639, 341, 0, 0, 451, 368, 0, 0, - 0, 0, 0, 634, 635, 0, 0, 0, 0, 0, - 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, - 0, 87, 0, 0, 188, 189, 190, 706, 713, 714, - 715, 716, 717, 707, 709, 0, 0, 225, 708, 232, - 653, 655, 654, 664, 665, 666, 667, 668, 669, 670, - 651, 711, 718, 719, 0, 248, 296, 255, 247, 471, - 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, - 0, 0, 0, 0, 0, 610, 624, 0, 638, 0, - 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 621, 622, 0, - 0, 0, 0, 690, 0, 623, 0, 0, 631, 720, - 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, - 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, - 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, - 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, - 761, 633, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 279, 0, 369, 240, 0, 689, 0, 0, 507, - 0, 0, 687, 0, 0, 0, 0, 336, 0, 305, - 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, - 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, - 406, 270, 2975, 0, 425, 342, 476, 413, 487, 508, - 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, - 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, - 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, - 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, - 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, - 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, - 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, - 659, 660, 263, 286, 411, 345, 412, 287, 371, 370, - 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, - 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, - 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, - 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, - 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, - 450, 696, 688, 643, 700, 645, 697, 698, 640, 641, - 644, 699, 527, 528, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 0, 691, 630, 629, 0, 636, 637, 0, 649, 650, - 652, 656, 657, 658, 661, 662, 663, 671, 673, 674, - 672, 675, 676, 677, 680, 681, 682, 683, 678, 679, - 684, 647, 646, 648, 628, 191, 208, 339, 0, 415, - 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, - 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, - 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, - 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, - 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, - 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, - 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, - 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, - 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, - 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, - 364, 249, 400, 0, 365, 346, 468, 469, 291, 467, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 383, 0, 0, 0, 0, 627, 0, 0, 0, - 253, 632, 0, 0, 0, 337, 250, 0, 0, 397, - 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, - 252, 236, 292, 354, 395, 461, 389, 639, 341, 0, - 0, 451, 368, 0, 0, 0, 0, 0, 634, 635, - 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, - 300, 196, 380, 452, 269, 0, 87, 0, 1343, 188, - 189, 190, 706, 713, 714, 715, 716, 717, 707, 709, - 0, 0, 225, 708, 232, 653, 655, 654, 664, 665, - 666, 667, 668, 669, 670, 651, 711, 718, 719, 0, - 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, - 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, - 610, 624, 0, 638, 0, 0, 0, 258, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 621, 622, 0, 0, 0, 0, 690, 0, - 623, 0, 0, 631, 720, 721, 722, 723, 724, 725, - 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, - 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, - 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, - 756, 757, 758, 759, 760, 761, 633, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, - 0, 689, 0, 0, 507, 0, 0, 687, 0, 0, - 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, - 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, - 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, - 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, - 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, - 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, - 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, - 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, - 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, - 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, - 206, 482, 361, 351, 307, 659, 660, 263, 286, 411, - 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, - 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, - 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, - 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, - 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, - 0, 392, 427, 227, 492, 450, 696, 688, 643, 700, - 645, 697, 698, 640, 641, 644, 699, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 0, 691, 630, 629, 0, - 636, 637, 0, 649, 650, 652, 656, 657, 658, 661, - 662, 663, 671, 673, 674, 672, 675, 676, 677, 680, - 681, 682, 683, 678, 679, 684, 647, 646, 648, 628, - 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, - 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, - 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, - 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, - 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, - 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, - 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, - 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, - 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, - 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, - 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, - 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, - 346, 468, 469, 291, 467, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, - 0, 627, 0, 0, 0, 253, 632, 0, 0, 0, - 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, - 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, - 461, 389, 639, 341, 0, 0, 451, 368, 0, 0, - 0, 0, 0, 634, 635, 0, 0, 0, 0, 0, - 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, - 0, 87, 0, 0, 188, 189, 190, 706, 713, 714, - 715, 716, 717, 707, 709, 0, 0, 225, 708, 232, - 653, 655, 654, 664, 665, 666, 667, 668, 669, 670, - 651, 711, 718, 719, 0, 248, 296, 255, 247, 471, - 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, - 0, 0, 0, 0, 0, 610, 624, 0, 638, 0, - 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 621, 622, 801, - 0, 0, 0, 690, 0, 623, 0, 0, 631, 720, - 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, - 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, - 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, - 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, - 761, 633, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 279, 0, 369, 240, 0, 689, 0, 0, 507, - 0, 0, 687, 0, 0, 0, 0, 336, 0, 305, - 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, - 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, - 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, - 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, - 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, - 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, - 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, - 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, - 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, - 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, - 659, 660, 263, 286, 411, 345, 412, 287, 371, 370, - 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, - 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, - 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, - 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, - 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, - 450, 696, 688, 643, 700, 645, 697, 698, 640, 641, - 644, 699, 527, 528, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 0, 691, 630, 629, 0, 636, 637, 0, 649, 650, - 652, 656, 657, 658, 661, 662, 663, 671, 673, 674, - 672, 675, 676, 677, 680, 681, 682, 683, 678, 679, - 684, 647, 646, 648, 628, 191, 208, 339, 0, 415, - 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, - 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, - 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, - 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, - 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, - 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, - 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, - 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, - 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, - 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, - 364, 249, 400, 0, 365, 346, 468, 469, 291, 467, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 383, 0, 0, 0, 0, 627, 0, 0, 0, - 253, 632, 0, 0, 0, 337, 250, 0, 0, 397, - 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, - 252, 236, 292, 354, 395, 461, 389, 639, 341, 0, - 0, 451, 368, 0, 0, 0, 0, 0, 634, 635, - 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, - 300, 196, 380, 452, 269, 0, 87, 0, 0, 188, - 189, 190, 706, 713, 714, 715, 716, 717, 707, 709, - 0, 0, 225, 708, 232, 653, 655, 654, 664, 665, - 666, 667, 668, 669, 670, 651, 711, 718, 719, 0, - 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, - 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, - 610, 624, 0, 638, 0, 0, 0, 258, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 621, 622, 0, 0, 0, 0, 690, 0, - 623, 0, 0, 631, 720, 721, 722, 723, 724, 725, - 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, - 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, - 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, - 756, 757, 758, 759, 760, 761, 633, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, - 0, 689, 0, 0, 507, 0, 0, 687, 0, 0, - 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, - 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, - 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, - 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, - 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, - 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, - 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, - 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, - 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, - 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, - 206, 482, 361, 351, 307, 659, 660, 263, 286, 411, - 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, - 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, - 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, - 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, - 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, - 0, 392, 427, 227, 492, 450, 696, 688, 643, 700, - 645, 697, 698, 640, 641, 644, 699, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 0, 691, 630, 629, 0, - 636, 637, 0, 649, 650, 652, 656, 657, 658, 661, - 662, 663, 671, 673, 674, 672, 675, 676, 677, 680, - 681, 682, 683, 678, 679, 684, 647, 646, 648, 628, - 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, - 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, - 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, - 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, - 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, - 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, - 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, - 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, - 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, - 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, - 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, - 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, - 346, 468, 469, 291, 467, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, - 0, 627, 0, 0, 0, 253, 632, 0, 0, 0, - 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, - 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, - 461, 389, 639, 341, 0, 0, 451, 368, 0, 0, - 0, 0, 0, 634, 635, 0, 0, 0, 0, 0, - 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, - 0, 87, 0, 0, 188, 189, 190, 706, 713, 714, - 715, 716, 717, 707, 709, 0, 0, 225, 708, 232, - 653, 655, 654, 664, 665, 666, 667, 668, 669, 670, - 651, 711, 718, 719, 0, 248, 296, 255, 247, 471, - 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, - 0, 0, 0, 0, 0, 0, 624, 0, 638, 0, - 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 621, 622, 0, - 0, 0, 0, 690, 0, 623, 0, 0, 631, 720, - 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, - 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, - 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, - 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, - 761, 633, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 279, 0, 369, 240, 0, 689, 0, 0, 507, - 0, 0, 687, 0, 0, 0, 0, 336, 0, 305, - 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, - 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, - 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, - 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, - 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, - 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, - 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, - 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, - 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, - 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, - 659, 660, 263, 286, 411, 345, 412, 287, 371, 370, - 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, - 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, - 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, - 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, - 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, - 450, 696, 688, 643, 700, 645, 697, 698, 640, 641, - 644, 699, 527, 528, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 0, 691, 630, 629, 0, 636, 637, 0, 649, 650, - 652, 656, 657, 658, 661, 662, 663, 671, 673, 674, - 672, 675, 676, 677, 680, 681, 682, 683, 678, 679, - 684, 647, 646, 648, 628, 191, 208, 339, 0, 415, - 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, - 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, - 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, - 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, - 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, - 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, - 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, - 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, - 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, - 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, - 364, 249, 400, 0, 365, 346, 468, 469, 291, 467, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 383, 0, 0, 0, 0, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 337, 250, 0, 0, 397, - 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, - 252, 236, 292, 354, 395, 461, 389, 0, 341, 0, - 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, - 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, - 189, 190, 0, 713, 714, 0, 0, 0, 0, 1691, - 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, - 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, - 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, - 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 720, 721, 722, 723, 724, 725, - 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, - 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, - 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, - 756, 757, 758, 759, 760, 761, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, - 0, 0, 0, 0, 507, 0, 0, 0, 0, 0, - 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, - 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, - 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, - 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, - 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, - 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, - 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, - 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, - 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, - 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, - 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, - 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, - 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, - 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, - 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, - 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, - 0, 392, 427, 227, 492, 450, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 545, 353, 440, 489, 308, - 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, - 318, 319, 324, 325, 329, 335, 235, 201, 359, 0, - 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, - 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, - 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, - 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, - 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, - 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, - 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, - 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, - 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, - 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, - 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, - 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, - 346, 468, 469, 291, 467, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, - 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, - 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, - 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, - 461, 389, 0, 341, 0, 0, 451, 368, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, - 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, - 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, - 0, 0, 0, 0, 0, 248, 296, 255, 247, 471, - 0, 0, 0, 0, 0, 0, 0, 216, 0, 1020, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 279, 0, 369, 240, 0, 0, 0, 1019, 507, - 0, 0, 0, 0, 0, 1016, 1017, 336, 977, 305, - 192, 212, 1010, 1014, 379, 422, 428, 0, 0, 0, - 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, - 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, - 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, - 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, - 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, - 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, - 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, - 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, - 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, - 326, 327, 263, 286, 411, 345, 412, 287, 371, 370, - 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, - 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, - 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, - 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, - 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, - 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 545, 353, 440, 489, 308, 320, 323, 313, 332, 0, - 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, - 335, 235, 201, 359, 0, 191, 208, 339, 0, 415, - 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, - 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, - 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, - 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, - 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, - 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, - 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, - 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, - 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, - 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, - 364, 249, 400, 0, 0, 346, 468, 469, 291, 365, - 0, 0, 0, 78, 467, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, - 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, - 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, - 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, - 461, 389, 0, 341, 0, 0, 451, 368, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, - 0, 87, 0, 0, 188, 189, 190, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, - 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, - 0, 0, 0, 0, 0, 248, 296, 255, 247, 471, - 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 279, 0, 369, 240, 0, 0, 0, 0, 507, - 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, - 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, - 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, - 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, - 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, - 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, - 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, - 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, - 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, - 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, - 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, - 326, 327, 263, 286, 411, 345, 412, 287, 371, 370, - 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, - 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, - 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, - 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, - 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, - 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 545, 353, 440, 489, 308, 320, 323, 313, 332, 0, - 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, - 335, 235, 201, 359, 0, 191, 208, 339, 86, 415, - 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, - 0, 0, 0, 0, 1856, 0, 0, 1855, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, - 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, - 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, - 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, - 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, - 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, - 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, - 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, - 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, - 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, - 364, 249, 400, 0, 1362, 346, 468, 469, 291, 467, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 383, 0, 0, 0, 1364, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 337, 250, 0, 0, 397, - 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, - 252, 236, 292, 354, 395, 461, 389, 0, 341, 0, - 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, - 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, - 189, 190, 0, 1366, 0, 0, 0, 0, 0, 0, - 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, - 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, - 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, - 0, 0, 216, 0, 0, 0, 1192, 0, 1193, 1194, - 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, - 0, 0, 0, 0, 507, 0, 0, 0, 0, 0, - 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, - 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, - 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, - 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, - 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, - 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, - 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, - 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, - 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, - 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, - 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, - 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, - 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, - 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, - 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, - 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, - 0, 392, 427, 227, 492, 450, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 545, 353, 440, 489, 308, - 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, - 318, 319, 324, 325, 329, 335, 235, 201, 359, 0, - 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, - 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, - 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, - 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, - 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, - 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, - 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, - 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, - 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, - 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, - 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, - 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, - 346, 468, 469, 291, 467, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, - 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, - 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, - 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, - 461, 389, 0, 341, 0, 0, 451, 368, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, - 0, 0, 0, 0, 188, 189, 190, 1305, 1308, 0, - 0, 0, 0, 1304, 1307, 0, 0, 225, 1303, 232, - 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, - 0, 0, 0, 0, 0, 248, 296, 255, 247, 471, - 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 279, 0, 369, 240, 0, 0, 0, 0, 507, - 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, - 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, - 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, - 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, - 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, - 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, - 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, - 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, - 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, - 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, - 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, - 326, 327, 263, 286, 411, 345, 412, 287, 371, 370, - 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, - 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, - 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, - 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, - 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, - 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 545, 353, 440, 489, 308, 320, 323, 313, 332, 0, - 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, - 335, 235, 201, 359, 0, 191, 208, 339, 0, 415, - 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, - 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, - 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, - 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, - 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, - 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, - 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, - 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, - 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, - 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, - 364, 249, 400, 0, 0, 346, 468, 469, 291, 365, - 0, 0, 0, 78, 467, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, - 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, - 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, - 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, - 461, 389, 0, 341, 0, 0, 451, 368, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, - 0, 87, 0, 1343, 188, 189, 190, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, - 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, - 0, 0, 0, 0, 0, 248, 296, 255, 247, 471, - 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 279, 0, 369, 240, 0, 0, 0, 0, 507, - 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, - 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, - 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, - 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, - 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, - 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, - 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, - 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, - 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, - 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, - 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, - 326, 327, 263, 286, 411, 345, 412, 287, 371, 370, - 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, - 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, - 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, - 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, - 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, - 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 545, 353, 440, 489, 308, 320, 323, 313, 332, 0, - 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, - 335, 235, 201, 359, 0, 191, 208, 339, 86, 415, - 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, - 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, - 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, - 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, - 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, - 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, - 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, - 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, - 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, - 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, - 364, 249, 400, 0, 365, 346, 468, 469, 291, 467, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 383, 0, 0, 0, 0, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 337, 250, 0, 0, 397, - 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, - 252, 236, 292, 354, 395, 461, 389, 0, 341, 0, - 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, - 300, 196, 380, 452, 269, 0, 87, 0, 0, 188, - 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, - 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, - 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, - 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, - 0, 0, 0, 0, 507, 0, 0, 0, 0, 0, - 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, - 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, - 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, - 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, - 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, - 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, - 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, - 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, - 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, - 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, - 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, - 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, - 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, - 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, - 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, - 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, - 0, 392, 427, 227, 492, 450, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 545, 353, 440, 489, 308, - 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, - 318, 319, 324, 325, 329, 335, 235, 201, 359, 0, - 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, - 210, 0, 245, 0, 0, 0, 0, 0, 0, 1856, - 0, 0, 1855, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, - 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, - 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, - 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, - 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, - 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, - 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, - 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, - 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, - 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, - 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, - 346, 468, 469, 291, 467, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, - 1807, 0, 0, 0, 0, 253, 0, 0, 0, 0, - 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, - 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, - 461, 389, 0, 341, 0, 0, 451, 368, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, - 0, 0, 0, 0, 188, 189, 190, 0, 1544, 0, - 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, - 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, - 0, 0, 0, 0, 0, 248, 296, 255, 247, 471, - 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 279, 0, 369, 240, 0, 0, 0, 0, 507, - 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, - 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, - 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, - 406, 270, 0, 1805, 425, 342, 476, 413, 487, 508, - 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, - 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, - 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, - 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, - 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, - 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, - 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, - 326, 327, 263, 286, 411, 345, 412, 287, 371, 370, - 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, - 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, - 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, - 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, - 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, - 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 545, 353, 440, 489, 308, 320, 323, 313, 332, 0, - 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, - 335, 235, 201, 359, 0, 191, 208, 339, 0, 415, - 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, - 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, - 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, - 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, - 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, - 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, - 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, - 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, - 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, - 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, - 364, 249, 400, 0, 365, 346, 468, 469, 291, 467, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 383, 0, 0, 0, 0, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 337, 250, 0, 0, 397, - 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, - 252, 236, 292, 354, 395, 461, 389, 0, 341, 0, - 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, - 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, - 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, - 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, - 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, - 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, - 0, 0, 0, 0, 0, 0, 971, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, - 0, 0, 0, 0, 507, 0, 0, 0, 0, 0, - 0, 0, 336, 977, 305, 192, 212, 975, 0, 379, - 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, - 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, - 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, - 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, - 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, - 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, - 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, - 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, - 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, - 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, - 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, - 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, - 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, - 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, - 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, - 0, 392, 427, 227, 492, 450, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 545, 353, 440, 489, 308, - 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, - 318, 319, 324, 325, 329, 335, 235, 201, 359, 0, - 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, - 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, - 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, - 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, - 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, - 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, - 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, - 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, - 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, - 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, - 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, - 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, - 346, 468, 469, 291, 467, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, - 1807, 0, 0, 0, 0, 253, 0, 0, 0, 0, - 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, - 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, - 461, 389, 0, 341, 0, 0, 451, 368, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, - 0, 0, 0, 0, 188, 189, 190, 0, 1544, 0, - 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, - 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, - 0, 0, 0, 0, 0, 248, 296, 255, 247, 471, - 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 279, 0, 369, 240, 0, 0, 0, 0, 507, - 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, - 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, - 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, - 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, - 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, - 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, - 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, - 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, - 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, - 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, - 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, - 326, 327, 263, 286, 411, 345, 412, 287, 371, 370, - 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, - 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, - 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, - 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, - 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, - 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 545, 353, 440, 489, 308, 320, 323, 313, 332, 0, - 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, - 335, 235, 201, 359, 0, 191, 208, 339, 0, 415, - 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, - 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, - 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, - 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, - 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, - 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, - 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, - 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, - 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, - 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, - 364, 249, 400, 0, 365, 346, 468, 469, 291, 467, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 383, 0, 0, 0, 0, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 337, 250, 0, 0, 397, - 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, - 252, 236, 292, 354, 395, 461, 389, 0, 341, 0, - 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, - 300, 196, 380, 452, 269, 0, 0, 0, 1343, 188, - 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, - 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, - 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, - 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, - 0, 0, 0, 0, 507, 0, 0, 0, 2903, 0, - 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, - 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, - 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, - 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, - 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, - 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, - 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, - 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, - 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, - 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, - 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, - 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, - 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, - 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, - 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, - 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, - 0, 392, 427, 227, 492, 450, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 545, 353, 440, 489, 308, - 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, - 318, 319, 324, 325, 329, 335, 235, 201, 359, 0, - 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, - 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, - 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, - 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, - 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, - 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, - 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, - 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, - 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, - 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, - 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, - 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, - 346, 468, 469, 291, 467, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, - 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, - 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, - 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, - 461, 389, 0, 341, 0, 0, 451, 368, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, - 0, 0, 0, 0, 188, 189, 190, 0, 1687, 0, - 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, - 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, - 0, 0, 0, 0, 0, 248, 296, 255, 247, 471, - 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1688, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 279, 0, 369, 240, 0, 0, 0, 0, 507, - 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, - 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, - 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, - 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, - 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, - 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, - 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, - 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, - 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, - 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, - 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, - 326, 327, 263, 286, 411, 345, 412, 287, 371, 370, - 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, - 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, - 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, - 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, - 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, - 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 545, 353, 440, 489, 308, 320, 323, 313, 332, 0, - 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, - 335, 235, 201, 359, 0, 191, 208, 339, 0, 415, - 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, - 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, - 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, - 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, - 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, - 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, - 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, - 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, - 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, - 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, - 364, 249, 400, 0, 365, 346, 468, 469, 291, 467, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 383, 0, 0, 0, 0, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 337, 250, 0, 0, 397, - 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, - 252, 236, 292, 354, 395, 461, 389, 0, 341, 0, - 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, - 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, - 189, 190, 0, 2153, 0, 0, 0, 0, 0, 0, - 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, - 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, - 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, - 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2154, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, - 0, 0, 0, 0, 507, 0, 0, 0, 0, 0, - 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, - 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, - 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, - 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, - 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, - 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, - 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, - 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, - 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, - 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, - 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, - 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, - 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, - 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, - 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, - 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, - 0, 392, 427, 227, 492, 450, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 545, 353, 440, 489, 308, - 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, - 318, 319, 324, 325, 329, 335, 235, 201, 359, 0, - 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, - 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, - 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, - 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, - 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, - 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, - 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, - 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, - 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, - 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, - 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, - 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, - 346, 468, 469, 291, 467, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, - 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, - 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, - 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, - 461, 389, 0, 341, 0, 0, 451, 368, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, - 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, - 2138, 0, 0, 0, 2139, 0, 0, 225, 0, 232, - 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, - 0, 0, 0, 0, 0, 248, 296, 255, 247, 471, - 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 279, 0, 369, 240, 0, 0, 0, 0, 507, - 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, - 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, - 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, - 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, - 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, - 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, - 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, - 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, - 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, - 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, - 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, - 326, 327, 263, 286, 411, 345, 412, 287, 371, 370, - 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, - 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, - 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, - 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, - 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, - 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 545, 353, 440, 489, 308, 320, 323, 313, 332, 0, - 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, - 335, 235, 201, 359, 0, 191, 208, 339, 0, 415, - 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, - 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, - 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, - 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, - 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, - 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, - 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, - 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, - 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, - 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, - 364, 249, 400, 0, 365, 346, 468, 469, 291, 467, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 383, 0, 0, 0, 0, 0, 0, 0, 0, - 253, 1387, 0, 0, 0, 337, 250, 0, 0, 397, - 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, - 252, 236, 292, 354, 395, 461, 389, 0, 341, 0, - 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, - 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, - 189, 190, 0, 1386, 0, 0, 0, 0, 0, 0, - 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, - 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, - 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, - 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, - 0, 0, 0, 0, 507, 0, 0, 0, 0, 0, - 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, - 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, - 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, - 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, - 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, - 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, - 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, - 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, - 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, - 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, - 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, - 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, - 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, - 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, - 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, - 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, - 0, 392, 427, 227, 492, 450, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 545, 353, 440, 489, 308, - 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, - 318, 319, 324, 325, 329, 335, 235, 201, 359, 0, - 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, - 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, - 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, - 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, - 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, - 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, - 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, - 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, - 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, - 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, - 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, - 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, - 346, 468, 469, 291, 467, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, - 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, - 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, - 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, - 461, 389, 0, 341, 0, 0, 451, 368, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, - 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, - 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, - 0, 0, 0, 0, 0, 248, 296, 255, 247, 471, - 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 279, 0, 369, 240, 0, 0, 0, 0, 507, - 0, 0, 0, 2996, 0, 0, 0, 336, 0, 305, - 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, - 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, - 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, - 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, - 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, - 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, - 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, - 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, - 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, - 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, - 326, 327, 263, 286, 411, 345, 412, 287, 371, 370, - 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, - 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, - 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, - 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, - 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, - 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 545, 353, 440, 489, 308, 320, 323, 313, 332, 0, - 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, - 335, 235, 201, 359, 0, 191, 208, 339, 0, 415, - 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, - 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, - 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, - 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, - 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, - 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, - 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, - 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, - 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, - 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, - 364, 249, 400, 0, 365, 346, 468, 469, 291, 467, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 383, 0, 0, 0, 0, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 337, 250, 0, 0, 397, - 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, - 252, 236, 292, 354, 395, 461, 389, 0, 341, 0, - 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, - 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, - 189, 190, 0, 1544, 0, 0, 0, 0, 0, 0, - 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, - 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, - 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, - 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, - 0, 0, 0, 0, 507, 0, 0, 0, 0, 0, - 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, - 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, - 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, - 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, - 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, - 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, - 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, - 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, - 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, - 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, - 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, - 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, - 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, - 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, - 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, - 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, - 0, 392, 427, 227, 492, 450, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 545, 353, 440, 489, 308, - 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, - 318, 319, 324, 325, 329, 335, 235, 201, 359, 0, - 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, - 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, - 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, - 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, - 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, - 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, - 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, - 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, - 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, - 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, - 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, - 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, - 346, 468, 469, 291, 467, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, - 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, - 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, - 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, - 461, 389, 0, 341, 0, 0, 451, 368, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, - 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, - 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, - 0, 0, 0, 0, 0, 248, 296, 255, 247, 471, - 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 279, 0, 369, 240, 0, 0, 0, 0, 507, - 0, 0, 0, 2903, 0, 0, 0, 336, 0, 305, - 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, - 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, - 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, - 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, - 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, - 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, - 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, - 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, - 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, - 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, - 326, 327, 263, 286, 411, 345, 412, 287, 371, 370, - 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, - 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, - 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, - 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, - 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, - 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 545, 353, 440, 489, 308, 320, 323, 313, 332, 0, - 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, - 335, 235, 201, 359, 0, 191, 208, 339, 0, 415, - 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, - 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, - 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, - 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, - 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, - 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, - 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, - 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, - 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, - 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, - 364, 249, 400, 0, 365, 346, 468, 469, 291, 467, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 383, 0, 0, 0, 0, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 337, 250, 0, 0, 397, - 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, - 252, 236, 292, 354, 395, 461, 389, 0, 341, 0, - 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, - 300, 196, 380, 452, 269, 0, 87, 0, 0, 188, - 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, - 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, - 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, - 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, - 0, 0, 0, 0, 507, 0, 0, 0, 0, 0, - 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, - 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, - 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, - 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, - 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, - 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, - 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, - 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, - 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, - 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, - 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, - 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, - 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, - 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, - 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, - 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, - 0, 392, 427, 227, 492, 450, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 545, 353, 440, 489, 308, - 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, - 318, 319, 324, 325, 329, 335, 235, 201, 359, 0, - 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, - 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, - 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, - 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, - 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, - 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, - 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, - 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, - 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, - 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, - 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, - 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, - 346, 468, 469, 291, 467, 0, 0, 0, 0, 1857, - 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, - 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, - 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, - 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, - 461, 389, 0, 341, 0, 0, 451, 368, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, - 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, - 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, - 0, 0, 0, 0, 0, 248, 296, 255, 247, 471, - 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 279, 0, 369, 240, 0, 0, 0, 0, 507, - 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, - 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, - 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, - 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, - 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, - 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, - 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, - 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, - 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, - 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, - 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, - 326, 327, 263, 286, 411, 345, 412, 287, 371, 370, - 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, - 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, - 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, - 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, - 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, - 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 545, 353, 440, 489, 308, 320, 323, 313, 332, 0, - 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, - 335, 235, 201, 359, 0, 191, 208, 339, 0, 415, - 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, - 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, - 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, - 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, - 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, - 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, - 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, - 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, - 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, - 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, - 364, 249, 400, 0, 365, 346, 468, 469, 291, 467, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 383, 0, 0, 0, 0, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 337, 250, 0, 0, 397, - 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, - 252, 236, 292, 354, 395, 461, 389, 0, 341, 0, - 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, - 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, - 189, 190, 0, 1366, 0, 0, 0, 0, 0, 0, - 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, - 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, - 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, - 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, - 0, 0, 0, 0, 507, 0, 0, 0, 0, 0, - 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, - 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, - 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, - 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, - 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, - 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, - 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, - 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, - 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, - 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, - 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, - 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, - 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, - 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, - 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, - 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, - 0, 392, 427, 227, 492, 450, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 545, 353, 440, 489, 308, - 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, - 318, 319, 324, 325, 329, 335, 235, 201, 359, 0, - 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, - 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, - 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, - 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, - 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, - 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, - 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, - 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, - 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, - 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, - 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, - 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, - 346, 468, 469, 291, 467, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, - 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, - 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, - 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, - 461, 389, 0, 341, 0, 0, 451, 368, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, - 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, - 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, - 0, 0, 0, 0, 0, 248, 296, 255, 247, 471, - 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1223, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 279, 0, 369, 240, 0, 0, 0, 0, 507, - 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, - 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, - 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, - 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, - 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, - 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, - 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, - 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, - 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, - 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, - 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, - 326, 327, 263, 286, 411, 345, 412, 287, 371, 370, - 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, - 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, - 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, - 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, - 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, - 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 545, 353, 440, 489, 308, 320, 323, 313, 332, 0, - 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, - 335, 235, 201, 359, 0, 191, 208, 339, 0, 415, - 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, - 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, - 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, - 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, - 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, - 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, - 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, - 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, - 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, - 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, - 364, 249, 400, 0, 365, 346, 468, 469, 291, 467, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 383, 0, 0, 0, 0, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 337, 250, 0, 0, 397, - 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, - 252, 236, 292, 354, 395, 461, 389, 0, 341, 0, - 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, - 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, - 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, - 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, - 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, - 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, - 0, 0, 0, 0, 507, 0, 0, 0, 0, 0, - 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, - 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, - 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, - 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, - 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, - 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, - 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, - 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, - 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, - 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, - 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, - 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, - 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, - 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, - 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, - 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, - 0, 392, 427, 227, 492, 450, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 545, 353, 440, 489, 308, - 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, - 318, 319, 324, 325, 329, 335, 235, 201, 359, 0, - 191, 208, 339, 1642, 415, 271, 523, 501, 497, 0, - 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, - 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, - 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, - 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, - 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, - 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, - 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, - 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, - 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, - 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, - 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, - 346, 468, 469, 291, 467, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 383, 0, 1512, 0, - 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, - 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, - 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, - 461, 389, 0, 341, 0, 0, 451, 368, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, - 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, - 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, - 0, 0, 0, 0, 0, 248, 296, 255, 247, 471, - 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 279, 0, 369, 240, 0, 0, 0, 0, 507, - 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, - 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, - 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, - 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, - 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, - 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, - 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, - 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, - 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, - 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, - 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, - 326, 327, 263, 286, 411, 345, 412, 287, 371, 370, - 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, - 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, - 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, - 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, - 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, - 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 545, 353, 440, 489, 308, 320, 323, 313, 332, 0, - 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, - 335, 235, 201, 359, 0, 191, 208, 339, 0, 415, - 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, - 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, - 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, - 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, - 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, - 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, - 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, - 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, - 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, - 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, - 364, 249, 400, 0, 365, 346, 468, 469, 291, 467, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 383, 0, 1510, 0, 0, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 337, 250, 0, 0, 397, - 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, - 252, 236, 292, 354, 395, 461, 389, 0, 341, 0, - 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, - 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, - 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, - 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, - 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, - 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, - 0, 0, 0, 0, 507, 0, 0, 0, 0, 0, - 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, - 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, - 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, - 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, - 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, - 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, - 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, - 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, - 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, - 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, - 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, - 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, - 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, - 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, - 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, - 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, - 0, 392, 427, 227, 492, 450, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 545, 353, 440, 489, 308, - 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, - 318, 319, 324, 325, 329, 335, 235, 201, 359, 0, - 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, - 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, - 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, - 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, - 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, - 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, - 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, - 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, - 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, - 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, - 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, - 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, - 346, 468, 469, 291, 467, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 383, 0, 1508, 0, - 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, - 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, - 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, - 461, 389, 0, 341, 0, 0, 451, 368, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, - 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, - 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, - 0, 0, 0, 0, 0, 248, 296, 255, 247, 471, - 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 279, 0, 369, 240, 0, 0, 0, 0, 507, - 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, - 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, - 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, - 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, - 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, - 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, - 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, - 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, - 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, - 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, - 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, - 326, 327, 263, 286, 411, 345, 412, 287, 371, 370, - 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, - 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, - 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, - 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, - 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, - 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 545, 353, 440, 489, 308, 320, 323, 313, 332, 0, - 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, - 335, 235, 201, 359, 0, 191, 208, 339, 0, 415, - 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, - 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, - 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, - 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, - 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, - 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, - 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, - 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, - 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, - 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, - 364, 249, 400, 0, 365, 346, 468, 469, 291, 467, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 383, 0, 1506, 0, 0, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 337, 250, 0, 0, 397, - 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, - 252, 236, 292, 354, 395, 461, 389, 0, 341, 0, - 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, - 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, - 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, - 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, - 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, - 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, - 0, 0, 0, 0, 507, 0, 0, 0, 0, 0, - 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, - 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, - 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, - 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, - 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, - 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, - 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, - 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, - 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, - 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, - 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, - 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, - 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, - 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, - 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, - 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, - 0, 392, 427, 227, 492, 450, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 545, 353, 440, 489, 308, - 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, - 318, 319, 324, 325, 329, 335, 235, 201, 359, 0, - 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, - 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, - 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, - 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, - 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, - 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, - 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, - 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, - 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, - 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, - 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, - 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, - 346, 468, 469, 291, 467, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 383, 0, 1504, 0, - 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, - 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, - 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, - 461, 389, 0, 341, 0, 0, 451, 368, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, - 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, - 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, - 0, 0, 0, 0, 0, 248, 296, 255, 247, 471, - 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 279, 0, 369, 240, 0, 0, 0, 0, 507, - 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, - 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, - 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, - 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, - 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, - 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, - 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, - 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, - 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, - 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, - 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, - 326, 327, 263, 286, 411, 345, 412, 287, 371, 370, - 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, - 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, - 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, - 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, - 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, - 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 545, 353, 440, 489, 308, 320, 323, 313, 332, 0, - 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, - 335, 235, 201, 359, 0, 191, 208, 339, 0, 415, - 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, - 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, - 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, - 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, - 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, - 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, - 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, - 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, - 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, - 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, - 364, 249, 400, 0, 365, 346, 468, 469, 291, 467, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 383, 0, 1500, 0, 0, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 337, 250, 0, 0, 397, - 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, - 252, 236, 292, 354, 395, 461, 389, 0, 341, 0, - 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, - 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, - 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, - 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, - 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, - 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, - 0, 0, 0, 0, 507, 0, 0, 0, 0, 0, - 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, - 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, - 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, - 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, - 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, - 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, - 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, - 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, - 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, - 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, - 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, - 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, - 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, - 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, - 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, - 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, - 0, 392, 427, 227, 492, 450, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 545, 353, 440, 489, 308, - 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, - 318, 319, 324, 325, 329, 335, 235, 201, 359, 0, - 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, - 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, - 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, - 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, - 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, - 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, - 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, - 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, - 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, - 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, - 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, - 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, - 346, 468, 469, 291, 467, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 383, 0, 1498, 0, - 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, - 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, - 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, - 461, 389, 0, 341, 0, 0, 451, 368, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, - 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, - 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, - 0, 0, 0, 0, 0, 248, 296, 255, 247, 471, - 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2916, 610, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2774, 0, 2778, 2779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2424, 0, 79, 0, + 2424, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 279, 0, 369, 240, 0, 0, 0, 0, 507, - 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, - 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, - 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, - 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, - 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, - 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, - 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, - 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, - 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, - 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, - 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, - 326, 327, 263, 286, 411, 345, 412, 287, 371, 370, - 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, - 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, - 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, - 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, - 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, - 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 0, 0, 0, 0, 610, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 545, 353, 440, 489, 308, 320, 323, 313, 332, 0, - 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, - 335, 235, 201, 359, 0, 191, 208, 339, 0, 415, - 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, - 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, - 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, - 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, - 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, - 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, - 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, - 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, - 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, - 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, - 364, 249, 400, 0, 365, 346, 468, 469, 291, 467, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 383, 0, 1496, 0, 0, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 337, 250, 0, 0, 397, - 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, - 252, 236, 292, 354, 395, 461, 389, 0, 341, 0, - 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, - 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, - 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, - 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, - 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, - 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2959, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2865, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 610, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 3022, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2424, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1254, 1255, 1256, 1257, 1261, 1262, 1263, + 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, + 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1284, + 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, - 0, 0, 0, 0, 507, 0, 0, 0, 0, 0, - 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, - 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, - 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, - 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, - 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, - 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, - 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, - 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, - 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, - 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, - 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, - 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, - 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, - 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, - 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, - 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, - 0, 392, 427, 227, 492, 450, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 545, 353, 440, 489, 308, + 0, 0, 2943, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 365, 0, 0, 954, 939, 468, + 79, 885, 957, 854, 873, 967, 876, 879, 921, 833, + 899, 384, 870, 825, 858, 828, 865, 829, 856, 887, + 253, 853, 941, 903, 956, 337, 250, 835, 859, 398, + 875, 197, 923, 442, 237, 347, 344, 475, 265, 256, + 252, 236, 292, 354, 396, 462, 390, 963, 341, 909, + 2974, 452, 369, 0, 0, 79, 889, 945, 897, 935, + 884, 922, 843, 908, 958, 871, 918, 959, 298, 234, + 300, 196, 381, 453, 269, 0, 0, 0, 0, 188, + 189, 190, 0, 2994, 0, 2995, 0, 0, 0, 0, + 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, + 314, 316, 321, 328, 334, 867, 915, 953, 868, 917, + 248, 296, 255, 247, 472, 964, 944, 832, 896, 952, + 0, 0, 216, 955, 891, 0, 920, 0, 970, 827, + 911, 0, 830, 834, 966, 948, 862, 258, 0, 0, + 0, 0, 0, 0, 0, 888, 898, 932, 882, 0, + 0, 0, 0, 0, 0, 0, 860, 0, 907, 0, + 0, 0, 839, 831, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 886, 0, 0, 0, + 842, 0, 861, 933, 0, 824, 279, 836, 370, 240, + 0, 937, 947, 883, 508, 951, 881, 880, 927, 840, + 943, 874, 336, 838, 305, 192, 212, 0, 872, 380, + 423, 429, 942, 857, 866, 238, 864, 427, 394, 491, + 220, 267, 420, 400, 425, 407, 270, 906, 925, 426, + 342, 477, 414, 488, 509, 510, 246, 374, 499, 466, + 505, 523, 213, 243, 388, 459, 494, 449, 366, 473, + 474, 304, 448, 277, 195, 340, 515, 211, 435, 229, + 218, 479, 497, 272, 418, 203, 461, 486, 226, 439, + 0, 0, 525, 205, 484, 458, 362, 301, 302, 204, + 0, 419, 251, 275, 241, 383, 481, 482, 239, 526, + 215, 504, 207, 1160, 503, 376, 476, 485, 363, 352, + 206, 483, 361, 351, 307, 326, 327, 263, 286, 412, + 345, 413, 287, 372, 371, 373, 198, 495, 0, 199, + 0, 454, 496, 527, 221, 222, 224, 852, 262, 266, + 274, 276, 282, 283, 290, 338, 387, 411, 409, 415, + 938, 471, 489, 500, 507, 513, 514, 516, 517, 518, + 519, 520, 522, 521, 375, 289, 450, 306, 343, 930, + 969, 393, 428, 227, 493, 451, 847, 851, 845, 912, + 846, 901, 902, 848, 960, 961, 962, 528, 529, 530, + 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, + 541, 542, 543, 544, 545, 0, 934, 841, 0, 849, + 850, 0, 940, 949, 950, 546, 353, 441, 490, 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, - 318, 319, 324, 325, 329, 335, 235, 201, 359, 0, - 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, + 318, 319, 324, 325, 329, 335, 235, 201, 359, 367, + 905, 191, 208, 339, 965, 416, 271, 524, 502, 498, + 826, 210, 844, 245, 855, 863, 0, 869, 877, 878, + 890, 892, 893, 894, 895, 913, 914, 916, 924, 926, + 929, 931, 936, 946, 968, 193, 194, 200, 209, 219, + 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, + 294, 297, 303, 349, 355, 356, 357, 358, 377, 378, + 379, 382, 385, 386, 389, 391, 392, 395, 399, 403, + 404, 405, 406, 408, 410, 417, 422, 430, 431, 432, + 433, 434, 437, 438, 443, 444, 445, 446, 447, 455, + 456, 460, 478, 480, 492, 506, 511, 436, 281, 487, + 512, 0, 348, 904, 910, 350, 264, 284, 295, 919, + 501, 457, 214, 424, 273, 202, 233, 217, 242, 257, + 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, + 228, 440, 463, 464, 465, 467, 364, 249, 401, 900, + 928, 346, 469, 470, 291, 365, 0, 0, 954, 939, + 468, 0, 885, 957, 854, 873, 967, 876, 879, 921, + 833, 899, 384, 870, 825, 858, 828, 865, 829, 856, + 887, 253, 853, 941, 903, 956, 337, 250, 835, 859, + 398, 875, 197, 923, 442, 237, 347, 344, 475, 265, + 256, 252, 236, 292, 354, 396, 462, 390, 963, 341, + 909, 0, 452, 369, 0, 0, 0, 889, 945, 897, + 935, 884, 922, 843, 908, 958, 871, 918, 959, 298, + 234, 300, 196, 381, 453, 269, 0, 0, 0, 0, + 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, + 312, 314, 316, 321, 328, 334, 867, 915, 953, 868, + 917, 248, 296, 255, 247, 472, 964, 944, 832, 896, + 952, 0, 0, 216, 955, 891, 0, 920, 0, 970, + 827, 911, 0, 830, 834, 966, 948, 862, 258, 0, + 0, 0, 0, 0, 0, 0, 888, 898, 932, 882, + 0, 0, 0, 0, 0, 2455, 0, 860, 0, 907, + 0, 0, 0, 839, 831, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 886, 0, 0, + 0, 842, 0, 861, 933, 0, 824, 279, 836, 370, + 240, 0, 937, 947, 883, 508, 951, 881, 880, 927, + 840, 943, 874, 336, 838, 305, 192, 212, 0, 872, + 380, 423, 429, 942, 857, 866, 238, 864, 427, 394, + 491, 220, 267, 420, 400, 425, 407, 270, 906, 925, + 426, 342, 477, 414, 488, 509, 510, 246, 374, 499, + 466, 505, 523, 213, 243, 388, 459, 494, 449, 366, + 473, 474, 304, 448, 277, 195, 340, 515, 211, 435, + 229, 218, 479, 497, 272, 418, 203, 461, 486, 226, + 439, 0, 0, 525, 205, 484, 458, 362, 301, 302, + 204, 0, 419, 251, 275, 241, 383, 481, 482, 239, + 526, 215, 504, 207, 1160, 503, 376, 476, 485, 363, + 352, 206, 483, 361, 351, 307, 326, 327, 263, 286, + 412, 345, 413, 287, 372, 371, 373, 198, 495, 0, + 199, 0, 454, 496, 527, 221, 222, 224, 852, 262, + 266, 274, 276, 282, 283, 290, 338, 387, 411, 409, + 415, 938, 471, 489, 500, 507, 513, 514, 516, 517, + 518, 519, 520, 522, 521, 375, 289, 450, 306, 343, + 930, 969, 393, 428, 227, 493, 451, 847, 851, 845, + 912, 846, 901, 902, 848, 960, 961, 962, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 545, 0, 934, 841, 0, + 849, 850, 0, 940, 949, 950, 546, 353, 441, 490, + 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, + 317, 318, 319, 324, 325, 329, 335, 235, 201, 359, + 367, 905, 191, 208, 339, 965, 416, 271, 524, 502, + 498, 826, 210, 844, 245, 855, 863, 0, 869, 877, + 878, 890, 892, 893, 894, 895, 913, 914, 916, 924, + 926, 929, 931, 936, 946, 968, 193, 194, 200, 209, + 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, + 293, 294, 297, 303, 349, 355, 356, 357, 358, 377, + 378, 379, 382, 385, 386, 389, 391, 392, 395, 399, + 403, 404, 405, 406, 408, 410, 417, 422, 430, 431, + 432, 433, 434, 437, 438, 443, 444, 445, 446, 447, + 455, 456, 460, 478, 480, 492, 506, 511, 436, 281, + 487, 512, 0, 348, 904, 910, 350, 264, 284, 295, + 919, 501, 457, 214, 424, 273, 202, 233, 217, 242, + 257, 260, 299, 360, 368, 397, 402, 278, 254, 231, + 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, + 900, 928, 346, 469, 470, 291, 365, 0, 0, 954, + 939, 468, 0, 885, 957, 854, 873, 967, 876, 879, + 921, 833, 899, 384, 870, 825, 858, 828, 865, 829, + 856, 887, 253, 853, 941, 903, 956, 337, 250, 835, + 859, 398, 875, 197, 923, 442, 237, 347, 344, 475, + 265, 256, 252, 236, 292, 354, 396, 462, 390, 963, + 341, 909, 0, 452, 369, 0, 0, 0, 889, 945, + 897, 935, 884, 922, 843, 908, 958, 871, 918, 959, + 298, 234, 300, 196, 381, 453, 269, 0, 0, 0, + 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, + 311, 312, 314, 316, 321, 328, 334, 867, 915, 953, + 868, 917, 248, 296, 255, 247, 472, 964, 944, 832, + 896, 952, 0, 0, 216, 955, 891, 0, 920, 0, + 970, 827, 911, 0, 830, 834, 966, 948, 862, 258, + 0, 0, 0, 0, 0, 0, 0, 888, 898, 932, + 882, 0, 0, 0, 0, 0, 2413, 0, 860, 0, + 907, 0, 0, 0, 839, 831, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 886, 0, + 0, 0, 842, 0, 861, 933, 0, 824, 279, 836, + 370, 240, 0, 937, 947, 883, 508, 951, 881, 880, + 927, 840, 943, 874, 336, 838, 305, 192, 212, 0, + 872, 380, 423, 429, 942, 857, 866, 238, 864, 427, + 394, 491, 220, 267, 420, 400, 425, 407, 270, 906, + 925, 426, 342, 477, 414, 488, 509, 510, 246, 374, + 499, 466, 505, 523, 213, 243, 388, 459, 494, 449, + 366, 473, 474, 304, 448, 277, 195, 340, 515, 211, + 435, 229, 218, 479, 497, 272, 418, 203, 461, 486, + 226, 439, 0, 0, 525, 205, 484, 458, 362, 301, + 302, 204, 0, 419, 251, 275, 241, 383, 481, 482, + 239, 526, 215, 504, 207, 1160, 503, 376, 476, 485, + 363, 352, 206, 483, 361, 351, 307, 326, 327, 263, + 286, 412, 345, 413, 287, 372, 371, 373, 198, 495, + 0, 199, 0, 454, 496, 527, 221, 222, 224, 852, + 262, 266, 274, 276, 282, 283, 290, 338, 387, 411, + 409, 415, 938, 471, 489, 500, 507, 513, 514, 516, + 517, 518, 519, 520, 522, 521, 375, 289, 450, 306, + 343, 930, 969, 393, 428, 227, 493, 451, 847, 851, + 845, 912, 846, 901, 902, 848, 960, 961, 962, 528, + 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, + 539, 540, 541, 542, 543, 544, 545, 0, 934, 841, + 0, 849, 850, 0, 940, 949, 950, 546, 353, 441, + 490, 308, 320, 323, 313, 332, 0, 333, 309, 310, + 315, 317, 318, 319, 324, 325, 329, 335, 235, 201, + 359, 367, 905, 191, 208, 339, 965, 416, 271, 524, + 502, 498, 826, 210, 844, 245, 855, 863, 0, 869, + 877, 878, 890, 892, 893, 894, 895, 913, 914, 916, + 924, 926, 929, 931, 936, 946, 968, 193, 194, 200, + 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, + 288, 293, 294, 297, 303, 349, 355, 356, 357, 358, + 377, 378, 379, 382, 385, 386, 389, 391, 392, 395, + 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, + 431, 432, 433, 434, 437, 438, 443, 444, 445, 446, + 447, 455, 456, 460, 478, 480, 492, 506, 511, 436, + 281, 487, 512, 0, 348, 904, 910, 350, 264, 284, + 295, 919, 501, 457, 214, 424, 273, 202, 233, 217, + 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, + 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, + 401, 900, 928, 346, 469, 470, 291, 365, 0, 0, + 954, 939, 468, 0, 885, 957, 854, 873, 967, 876, + 879, 921, 833, 899, 384, 870, 825, 858, 828, 865, + 829, 856, 887, 253, 853, 941, 903, 956, 337, 250, + 835, 859, 398, 875, 197, 923, 442, 237, 347, 344, + 475, 265, 256, 252, 236, 292, 354, 396, 462, 390, + 963, 341, 909, 0, 452, 369, 0, 0, 0, 889, + 945, 897, 935, 884, 922, 843, 908, 958, 871, 918, + 959, 298, 234, 300, 196, 381, 453, 269, 0, 0, + 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, + 330, 311, 312, 314, 316, 321, 328, 334, 867, 915, + 953, 868, 917, 248, 296, 255, 247, 472, 964, 944, + 832, 896, 952, 0, 0, 216, 955, 891, 0, 920, + 0, 970, 827, 911, 0, 830, 834, 966, 948, 862, + 258, 0, 0, 0, 0, 0, 0, 0, 888, 898, + 932, 882, 0, 0, 0, 0, 0, 1845, 0, 860, + 0, 907, 0, 0, 0, 839, 831, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 886, + 0, 0, 0, 842, 0, 861, 933, 0, 824, 279, + 836, 370, 240, 0, 937, 947, 883, 508, 951, 881, + 880, 927, 840, 943, 874, 336, 838, 305, 192, 212, + 0, 872, 380, 423, 429, 942, 857, 866, 238, 864, + 427, 394, 491, 220, 267, 420, 400, 425, 407, 270, + 906, 925, 426, 342, 477, 414, 488, 509, 510, 246, + 374, 499, 466, 505, 523, 213, 243, 388, 459, 494, + 449, 366, 473, 474, 304, 448, 277, 195, 340, 515, + 211, 435, 229, 218, 479, 497, 272, 418, 203, 461, + 486, 226, 439, 0, 0, 525, 205, 484, 458, 362, + 301, 302, 204, 0, 419, 251, 275, 241, 383, 481, + 482, 239, 526, 215, 504, 207, 1160, 503, 376, 476, + 485, 363, 352, 206, 483, 361, 351, 307, 326, 327, + 263, 286, 412, 345, 413, 287, 372, 371, 373, 198, + 495, 0, 199, 0, 454, 496, 527, 221, 222, 224, + 852, 262, 266, 274, 276, 282, 283, 290, 338, 387, + 411, 409, 415, 938, 471, 489, 500, 507, 513, 514, + 516, 517, 518, 519, 520, 522, 521, 375, 289, 450, + 306, 343, 930, 969, 393, 428, 227, 493, 451, 847, + 851, 845, 912, 846, 901, 902, 848, 960, 961, 962, + 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 0, 934, + 841, 0, 849, 850, 0, 940, 949, 950, 546, 353, + 441, 490, 308, 320, 323, 313, 332, 0, 333, 309, + 310, 315, 317, 318, 319, 324, 325, 329, 335, 235, + 201, 359, 367, 905, 191, 208, 339, 965, 416, 271, + 524, 502, 498, 826, 210, 844, 245, 855, 863, 0, + 869, 877, 878, 890, 892, 893, 894, 895, 913, 914, + 916, 924, 926, 929, 931, 936, 946, 968, 193, 194, + 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, + 285, 288, 293, 294, 297, 303, 349, 355, 356, 357, + 358, 377, 378, 379, 382, 385, 386, 389, 391, 392, + 395, 399, 403, 404, 405, 406, 408, 410, 417, 422, + 430, 431, 432, 433, 434, 437, 438, 443, 444, 445, + 446, 447, 455, 456, 460, 478, 480, 492, 506, 511, + 436, 281, 487, 512, 0, 348, 904, 910, 350, 264, + 284, 295, 919, 501, 457, 214, 424, 273, 202, 233, + 217, 242, 257, 260, 299, 360, 368, 397, 402, 278, + 254, 231, 421, 228, 440, 463, 464, 465, 467, 364, + 249, 401, 900, 928, 346, 469, 470, 291, 365, 0, + 0, 954, 939, 468, 0, 885, 957, 854, 873, 967, + 876, 879, 921, 833, 899, 384, 870, 825, 858, 828, + 865, 829, 856, 887, 253, 853, 941, 903, 956, 337, + 250, 835, 859, 398, 875, 197, 923, 442, 237, 347, + 344, 475, 265, 256, 252, 236, 292, 354, 396, 462, + 390, 963, 341, 909, 0, 452, 369, 0, 0, 0, + 889, 945, 897, 935, 884, 922, 843, 908, 958, 871, + 918, 959, 298, 234, 300, 196, 381, 453, 269, 0, + 87, 0, 0, 188, 189, 190, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, + 331, 330, 311, 312, 314, 316, 321, 328, 334, 867, + 915, 953, 868, 917, 248, 296, 255, 247, 472, 964, + 944, 832, 896, 952, 0, 0, 216, 955, 891, 0, + 920, 0, 970, 827, 911, 0, 830, 834, 966, 948, + 862, 258, 0, 0, 0, 0, 0, 0, 0, 888, + 898, 932, 882, 0, 0, 0, 0, 0, 0, 0, + 860, 0, 907, 0, 0, 0, 839, 831, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 886, 0, 0, 0, 842, 0, 861, 933, 0, 824, + 279, 836, 370, 240, 0, 937, 947, 883, 508, 951, + 881, 880, 927, 840, 943, 874, 336, 838, 305, 192, + 212, 0, 872, 380, 423, 429, 942, 857, 866, 238, + 864, 427, 394, 491, 220, 267, 420, 400, 425, 407, + 270, 906, 925, 426, 342, 477, 414, 488, 509, 510, + 246, 374, 499, 466, 505, 523, 213, 243, 388, 459, + 494, 449, 366, 473, 474, 304, 448, 277, 195, 340, + 515, 211, 435, 229, 218, 479, 497, 272, 418, 203, + 461, 486, 226, 439, 0, 0, 525, 205, 484, 458, + 362, 301, 302, 204, 0, 419, 251, 275, 241, 383, + 481, 482, 239, 526, 215, 504, 207, 1160, 503, 376, + 476, 485, 363, 352, 206, 483, 361, 351, 307, 326, + 327, 263, 286, 412, 345, 413, 287, 372, 371, 373, + 198, 495, 0, 199, 0, 454, 496, 527, 221, 222, + 224, 852, 262, 266, 274, 276, 282, 283, 290, 338, + 387, 411, 409, 415, 938, 471, 489, 500, 507, 513, + 514, 516, 517, 518, 519, 520, 522, 521, 375, 289, + 450, 306, 343, 930, 969, 393, 428, 227, 493, 451, + 847, 851, 845, 912, 846, 901, 902, 848, 960, 961, + 962, 528, 529, 530, 531, 532, 533, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 543, 544, 545, 0, + 934, 841, 0, 849, 850, 0, 940, 949, 950, 546, + 353, 441, 490, 308, 320, 323, 313, 332, 0, 333, + 309, 310, 315, 317, 318, 319, 324, 325, 329, 335, + 235, 201, 359, 367, 905, 191, 208, 339, 965, 416, + 271, 524, 502, 498, 826, 210, 844, 245, 855, 863, + 0, 869, 877, 878, 890, 892, 893, 894, 895, 913, + 914, 916, 924, 926, 929, 931, 936, 946, 968, 193, + 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, + 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, + 357, 358, 377, 378, 379, 382, 385, 386, 389, 391, + 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, + 422, 430, 431, 432, 433, 434, 437, 438, 443, 444, + 445, 446, 447, 455, 456, 460, 478, 480, 492, 506, + 511, 436, 281, 487, 512, 0, 348, 904, 910, 350, + 264, 284, 295, 919, 501, 457, 214, 424, 273, 202, + 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, + 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, + 364, 249, 401, 900, 928, 346, 469, 470, 291, 365, + 0, 0, 954, 939, 468, 0, 885, 957, 854, 873, + 967, 876, 879, 921, 833, 899, 384, 870, 825, 858, + 828, 865, 829, 856, 887, 253, 853, 941, 903, 956, + 337, 250, 835, 859, 398, 875, 197, 923, 442, 237, + 347, 344, 475, 265, 256, 252, 236, 292, 354, 396, + 462, 390, 963, 341, 909, 0, 452, 369, 0, 0, + 0, 889, 945, 897, 935, 884, 922, 843, 908, 958, + 871, 918, 959, 298, 234, 300, 196, 381, 453, 269, + 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, + 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, + 867, 915, 953, 868, 917, 248, 296, 255, 247, 472, + 964, 944, 832, 896, 952, 0, 0, 216, 955, 891, + 0, 920, 0, 970, 827, 911, 0, 830, 834, 966, + 948, 862, 258, 0, 0, 0, 0, 0, 0, 0, + 888, 898, 932, 882, 0, 0, 0, 0, 0, 0, + 0, 860, 0, 907, 0, 0, 0, 839, 831, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 886, 0, 0, 0, 842, 0, 861, 933, 0, + 824, 279, 836, 370, 240, 0, 937, 947, 883, 508, + 951, 881, 880, 927, 840, 943, 874, 336, 838, 305, + 192, 212, 0, 872, 380, 423, 429, 942, 857, 866, + 238, 864, 427, 394, 491, 220, 267, 420, 400, 425, + 407, 270, 906, 925, 426, 342, 477, 414, 488, 509, + 510, 246, 374, 499, 466, 505, 523, 213, 243, 388, + 459, 494, 449, 366, 473, 474, 304, 448, 277, 195, + 340, 515, 211, 435, 229, 218, 479, 497, 272, 418, + 203, 461, 486, 226, 439, 0, 0, 525, 205, 484, + 458, 362, 301, 302, 204, 0, 419, 251, 275, 241, + 383, 481, 482, 239, 526, 215, 504, 207, 1160, 503, + 376, 476, 485, 363, 352, 206, 483, 361, 351, 307, + 326, 327, 263, 286, 412, 345, 413, 287, 372, 371, + 373, 198, 495, 0, 199, 0, 454, 496, 527, 221, + 222, 224, 852, 262, 266, 274, 276, 282, 283, 290, + 338, 387, 411, 409, 415, 938, 471, 489, 500, 507, + 513, 514, 516, 517, 518, 519, 520, 522, 521, 375, + 289, 450, 306, 343, 930, 969, 393, 428, 227, 493, + 451, 847, 851, 845, 912, 846, 901, 902, 848, 960, + 961, 962, 528, 529, 530, 531, 532, 533, 534, 535, + 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, + 0, 934, 841, 0, 849, 850, 0, 940, 949, 950, + 546, 353, 441, 490, 308, 320, 323, 313, 332, 0, + 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, + 335, 235, 201, 359, 367, 905, 191, 208, 339, 965, + 416, 271, 524, 502, 498, 826, 210, 844, 245, 855, + 863, 0, 869, 877, 878, 890, 892, 893, 894, 895, + 913, 914, 916, 924, 926, 929, 931, 936, 946, 968, + 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, + 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, + 356, 357, 358, 377, 378, 379, 382, 385, 386, 389, + 391, 392, 395, 399, 403, 404, 405, 406, 408, 410, + 417, 422, 430, 431, 432, 433, 434, 437, 438, 443, + 444, 445, 446, 447, 455, 456, 460, 478, 480, 492, + 506, 511, 436, 281, 487, 512, 0, 348, 904, 910, + 350, 264, 284, 295, 919, 501, 457, 214, 424, 273, + 202, 233, 217, 242, 257, 260, 299, 360, 368, 397, + 402, 278, 254, 231, 421, 228, 440, 463, 464, 465, + 467, 364, 249, 401, 900, 928, 346, 469, 470, 291, + 365, 0, 0, 954, 939, 468, 0, 885, 957, 854, + 873, 967, 876, 879, 921, 833, 899, 384, 870, 825, + 858, 828, 865, 829, 856, 887, 253, 853, 941, 903, + 956, 337, 250, 835, 859, 398, 875, 197, 923, 442, + 237, 347, 344, 475, 265, 256, 252, 236, 292, 354, + 396, 462, 390, 963, 341, 909, 0, 452, 369, 0, + 0, 0, 889, 945, 897, 935, 884, 922, 843, 908, + 958, 871, 918, 959, 298, 234, 300, 196, 381, 453, + 269, 0, 0, 0, 0, 188, 189, 190, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, + 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, + 334, 867, 915, 953, 868, 917, 248, 296, 255, 247, + 472, 964, 944, 832, 896, 952, 0, 0, 971, 955, + 891, 0, 920, 0, 970, 827, 911, 0, 830, 834, + 966, 948, 862, 258, 0, 0, 0, 0, 0, 0, + 0, 888, 898, 932, 882, 0, 0, 0, 0, 0, + 0, 0, 860, 0, 907, 0, 0, 0, 839, 831, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 886, 0, 0, 0, 842, 0, 861, 933, + 0, 824, 279, 836, 370, 240, 0, 937, 947, 883, + 508, 951, 881, 880, 927, 840, 943, 874, 336, 838, + 305, 192, 212, 0, 872, 380, 423, 429, 942, 857, + 866, 238, 864, 427, 394, 491, 220, 267, 420, 400, + 425, 407, 270, 906, 925, 426, 342, 477, 414, 488, + 509, 510, 246, 374, 499, 466, 505, 523, 213, 243, + 388, 459, 494, 449, 366, 473, 474, 304, 448, 277, + 195, 340, 515, 211, 435, 229, 218, 479, 497, 272, + 418, 203, 461, 486, 226, 439, 0, 0, 525, 205, + 484, 458, 362, 301, 302, 204, 0, 419, 251, 275, + 241, 383, 481, 482, 239, 526, 215, 504, 207, 837, + 503, 376, 476, 485, 363, 352, 206, 483, 361, 351, + 307, 326, 327, 263, 286, 412, 345, 413, 287, 372, + 371, 373, 198, 495, 0, 199, 0, 454, 496, 527, + 221, 222, 224, 852, 262, 266, 274, 276, 282, 283, + 290, 338, 387, 411, 409, 415, 938, 471, 489, 500, + 507, 513, 514, 516, 517, 518, 519, 520, 522, 521, + 823, 817, 816, 306, 343, 930, 969, 393, 428, 227, + 493, 451, 847, 851, 845, 912, 846, 901, 902, 848, + 960, 961, 962, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 545, 0, 934, 841, 0, 849, 850, 0, 940, 949, + 950, 546, 353, 441, 490, 308, 320, 323, 313, 332, + 0, 333, 309, 310, 315, 317, 318, 319, 324, 325, + 329, 335, 235, 201, 359, 367, 905, 191, 208, 339, + 965, 416, 271, 524, 502, 498, 826, 210, 844, 245, + 855, 863, 0, 869, 877, 878, 890, 892, 893, 894, + 895, 913, 914, 916, 924, 926, 929, 931, 936, 946, + 968, 193, 194, 200, 209, 219, 223, 230, 244, 259, + 261, 268, 280, 285, 288, 293, 294, 297, 303, 349, + 355, 356, 357, 358, 377, 378, 379, 382, 385, 386, + 389, 391, 392, 395, 399, 403, 404, 405, 406, 408, + 410, 417, 422, 430, 431, 432, 433, 434, 437, 438, + 443, 444, 445, 446, 447, 455, 456, 460, 478, 480, + 492, 506, 511, 436, 281, 487, 512, 0, 348, 904, + 910, 350, 264, 284, 295, 919, 501, 457, 214, 424, + 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, + 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, + 465, 467, 364, 249, 401, 900, 928, 346, 469, 470, + 291, 365, 0, 0, 954, 939, 468, 0, 885, 957, + 854, 873, 967, 876, 879, 921, 833, 899, 384, 870, + 825, 858, 828, 865, 829, 856, 887, 253, 853, 941, + 903, 956, 337, 250, 835, 859, 398, 875, 197, 923, + 442, 237, 347, 344, 475, 265, 256, 252, 236, 292, + 354, 396, 462, 390, 963, 341, 909, 0, 452, 369, + 0, 0, 0, 889, 945, 897, 935, 884, 922, 843, + 908, 958, 871, 918, 959, 298, 234, 300, 196, 381, + 453, 269, 0, 0, 0, 0, 188, 189, 190, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, + 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, + 328, 334, 867, 915, 953, 868, 917, 248, 296, 255, + 247, 472, 964, 944, 832, 896, 952, 0, 0, 971, + 955, 891, 0, 920, 0, 970, 827, 911, 0, 830, + 834, 966, 948, 862, 258, 0, 0, 0, 0, 0, + 0, 0, 888, 898, 932, 882, 0, 0, 0, 0, + 0, 0, 0, 860, 0, 907, 0, 0, 0, 839, + 831, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 886, 0, 0, 0, 842, 0, 861, + 933, 0, 824, 279, 836, 370, 240, 0, 937, 947, + 883, 508, 951, 881, 880, 927, 840, 943, 874, 336, + 838, 305, 192, 212, 0, 872, 380, 423, 429, 942, + 857, 866, 238, 864, 427, 394, 491, 220, 267, 420, + 400, 425, 407, 270, 906, 925, 426, 342, 477, 414, + 488, 509, 510, 246, 374, 499, 466, 505, 523, 213, + 243, 388, 459, 494, 449, 366, 473, 474, 304, 448, + 277, 195, 340, 515, 211, 435, 229, 218, 479, 497, + 272, 418, 203, 461, 1379, 226, 439, 0, 0, 525, + 205, 484, 458, 362, 301, 302, 204, 0, 419, 251, + 275, 241, 383, 481, 482, 239, 526, 215, 504, 207, + 837, 503, 376, 476, 485, 363, 352, 206, 483, 361, + 351, 307, 326, 327, 263, 286, 412, 345, 413, 287, + 372, 371, 373, 198, 495, 0, 199, 0, 454, 496, + 527, 221, 222, 224, 852, 262, 266, 274, 276, 282, + 283, 290, 338, 387, 411, 409, 415, 938, 471, 489, + 500, 507, 513, 514, 516, 517, 518, 519, 520, 522, + 521, 823, 817, 816, 306, 343, 930, 969, 393, 428, + 227, 493, 451, 847, 851, 845, 912, 846, 901, 902, + 848, 960, 961, 962, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 0, 934, 841, 0, 849, 850, 0, 940, + 949, 950, 546, 353, 441, 490, 308, 320, 323, 313, + 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, + 325, 329, 335, 235, 201, 359, 367, 905, 191, 208, + 339, 965, 416, 271, 524, 502, 498, 826, 210, 844, + 245, 855, 863, 0, 869, 877, 878, 890, 892, 893, + 894, 895, 913, 914, 916, 924, 926, 929, 931, 936, + 946, 968, 193, 194, 200, 209, 219, 223, 230, 244, + 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, + 349, 355, 356, 357, 358, 377, 378, 379, 382, 385, + 386, 389, 391, 392, 395, 399, 403, 404, 405, 406, + 408, 410, 417, 422, 430, 431, 432, 433, 434, 437, + 438, 443, 444, 445, 446, 447, 455, 456, 460, 478, + 480, 492, 506, 511, 436, 281, 487, 512, 0, 348, + 904, 910, 350, 264, 284, 295, 919, 501, 457, 214, + 424, 273, 202, 233, 217, 242, 257, 260, 299, 360, + 368, 397, 402, 278, 254, 231, 421, 228, 440, 463, + 464, 465, 467, 364, 249, 401, 900, 928, 346, 469, + 470, 291, 365, 0, 0, 954, 939, 468, 0, 885, + 957, 854, 873, 967, 876, 879, 921, 833, 899, 384, + 870, 825, 858, 828, 865, 829, 856, 887, 253, 853, + 941, 903, 956, 337, 250, 835, 859, 398, 875, 197, + 923, 442, 237, 347, 344, 475, 265, 256, 252, 236, + 292, 354, 396, 462, 390, 963, 341, 909, 0, 452, + 369, 0, 0, 0, 889, 945, 897, 935, 884, 922, + 843, 908, 958, 871, 918, 959, 298, 234, 300, 196, + 381, 453, 269, 0, 0, 0, 0, 188, 189, 190, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, + 321, 328, 334, 867, 915, 953, 868, 917, 248, 296, + 255, 247, 472, 964, 944, 832, 896, 952, 0, 0, + 971, 955, 891, 0, 920, 0, 970, 827, 911, 0, + 830, 834, 966, 948, 862, 258, 0, 0, 0, 0, + 0, 0, 0, 888, 898, 932, 882, 0, 0, 0, + 0, 0, 0, 0, 860, 0, 907, 0, 0, 0, + 839, 831, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 886, 0, 0, 0, 842, 0, + 861, 933, 0, 824, 279, 836, 370, 240, 0, 937, + 947, 883, 508, 951, 881, 880, 927, 840, 943, 874, + 336, 838, 305, 192, 212, 0, 872, 380, 423, 429, + 942, 857, 866, 238, 864, 427, 394, 491, 220, 267, + 420, 400, 425, 407, 270, 906, 925, 426, 342, 477, + 414, 488, 509, 510, 246, 374, 499, 466, 505, 523, + 213, 243, 388, 459, 494, 449, 366, 473, 474, 304, + 448, 277, 195, 340, 515, 211, 435, 229, 218, 479, + 497, 272, 418, 203, 461, 814, 226, 439, 0, 0, + 525, 205, 484, 458, 362, 301, 302, 204, 0, 419, + 251, 275, 241, 383, 481, 482, 239, 526, 215, 504, + 207, 837, 503, 376, 476, 485, 363, 352, 206, 483, + 361, 351, 307, 326, 327, 263, 286, 412, 345, 413, + 287, 372, 371, 373, 198, 495, 0, 199, 0, 454, + 496, 527, 221, 222, 224, 852, 262, 266, 274, 276, + 282, 283, 290, 338, 387, 411, 409, 415, 938, 471, + 489, 500, 507, 513, 514, 516, 517, 518, 519, 520, + 522, 521, 823, 817, 816, 306, 343, 930, 969, 393, + 428, 227, 493, 451, 847, 851, 845, 912, 846, 901, + 902, 848, 960, 961, 962, 528, 529, 530, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 0, 934, 841, 0, 849, 850, 0, + 940, 949, 950, 546, 353, 441, 490, 308, 320, 323, + 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, + 324, 325, 329, 335, 235, 201, 359, 367, 905, 191, + 208, 339, 965, 416, 271, 524, 502, 498, 826, 210, + 844, 245, 855, 863, 0, 869, 877, 878, 890, 892, + 893, 894, 895, 913, 914, 916, 924, 926, 929, 931, + 936, 946, 968, 193, 194, 200, 209, 219, 223, 230, + 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, + 303, 349, 355, 356, 357, 358, 377, 378, 379, 382, + 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, + 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, + 437, 438, 443, 444, 445, 446, 447, 455, 456, 460, + 478, 480, 492, 506, 511, 436, 281, 487, 512, 0, + 348, 904, 910, 350, 264, 284, 295, 919, 501, 457, + 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, + 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, + 463, 464, 465, 467, 364, 249, 401, 900, 928, 346, + 469, 470, 291, 365, 0, 0, 0, 0, 468, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 384, 0, 0, 1789, 0, 628, 0, 0, 0, 253, + 633, 0, 0, 0, 337, 250, 0, 1790, 398, 0, + 197, 0, 442, 237, 347, 344, 475, 265, 256, 252, + 236, 292, 354, 396, 462, 390, 640, 341, 0, 0, + 452, 369, 0, 0, 0, 0, 0, 635, 636, 0, + 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, + 196, 381, 453, 269, 0, 87, 0, 0, 188, 189, + 190, 708, 715, 716, 717, 718, 719, 709, 711, 0, + 0, 225, 710, 232, 655, 657, 656, 666, 667, 668, + 669, 670, 671, 672, 653, 713, 720, 721, 0, 248, + 296, 255, 247, 472, 0, 0, 0, 0, 0, 0, + 0, 216, 0, 0, 0, 0, 0, 0, 0, 611, + 625, 0, 639, 0, 0, 0, 258, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 622, 623, 803, 0, 0, 0, 692, 0, 624, + 0, 0, 632, 722, 723, 724, 725, 726, 727, 728, + 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, + 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, + 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, + 759, 760, 761, 762, 763, 634, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 279, 0, 370, 240, 0, + 691, 0, 0, 508, 0, 0, 689, 0, 0, 0, + 0, 336, 0, 305, 192, 212, 0, 0, 380, 423, + 429, 0, 0, 0, 238, 0, 427, 394, 491, 220, + 267, 420, 400, 425, 407, 270, 0, 0, 426, 342, + 477, 414, 488, 509, 510, 246, 374, 499, 466, 505, + 523, 213, 243, 388, 459, 494, 449, 366, 473, 474, + 304, 448, 277, 195, 340, 515, 211, 435, 229, 218, + 479, 497, 272, 418, 203, 461, 486, 226, 439, 0, + 0, 525, 205, 484, 458, 362, 301, 302, 204, 0, + 419, 251, 275, 241, 383, 481, 482, 239, 526, 215, + 504, 207, 0, 503, 376, 476, 485, 363, 352, 206, + 483, 361, 351, 307, 661, 662, 263, 286, 412, 345, + 413, 287, 372, 371, 373, 198, 495, 0, 199, 0, + 454, 496, 527, 221, 222, 224, 0, 262, 266, 274, + 276, 282, 283, 290, 338, 387, 411, 409, 415, 0, + 471, 489, 500, 507, 513, 514, 516, 517, 518, 519, + 520, 522, 521, 375, 289, 450, 306, 343, 0, 0, + 393, 428, 227, 493, 451, 698, 690, 644, 702, 646, + 699, 700, 641, 642, 645, 701, 528, 529, 530, 531, + 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, + 542, 543, 544, 545, 0, 693, 631, 630, 0, 637, + 638, 0, 651, 652, 654, 658, 659, 660, 663, 664, + 665, 673, 675, 676, 674, 677, 678, 679, 682, 683, + 684, 685, 680, 681, 686, 648, 647, 649, 650, 629, + 191, 208, 339, 0, 416, 271, 524, 502, 498, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, - 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, - 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, - 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, - 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, - 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, - 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, - 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, - 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, - 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, - 346, 468, 469, 291, 467, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, + 297, 303, 349, 355, 356, 357, 358, 377, 378, 379, + 382, 385, 386, 389, 391, 392, 395, 399, 403, 404, + 405, 406, 408, 410, 417, 422, 430, 431, 432, 433, + 434, 437, 438, 443, 444, 445, 446, 447, 455, 456, + 460, 478, 480, 492, 506, 511, 436, 281, 487, 512, + 0, 348, 0, 0, 350, 264, 284, 295, 0, 501, + 457, 214, 424, 273, 202, 233, 217, 242, 257, 260, + 299, 360, 368, 397, 402, 278, 254, 231, 421, 228, + 440, 463, 464, 465, 467, 364, 249, 401, 0, 365, + 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 384, 0, 0, 0, + 0, 628, 0, 0, 0, 253, 633, 0, 0, 0, + 337, 250, 0, 0, 398, 0, 197, 0, 442, 237, + 347, 344, 475, 265, 256, 252, 236, 292, 354, 396, + 462, 390, 640, 341, 0, 0, 452, 369, 0, 0, + 0, 0, 0, 635, 636, 0, 0, 0, 0, 0, + 0, 0, 0, 298, 234, 300, 196, 381, 453, 269, + 0, 87, 0, 0, 188, 189, 190, 708, 715, 716, + 717, 718, 719, 709, 711, 0, 0, 225, 710, 232, + 655, 657, 656, 666, 667, 668, 669, 670, 671, 672, + 653, 713, 720, 721, 0, 248, 296, 255, 247, 472, + 0, 0, 1755, 1756, 1757, 0, 0, 216, 0, 0, + 0, 0, 0, 0, 0, 611, 625, 0, 639, 0, + 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 622, 623, 0, + 0, 0, 0, 692, 0, 624, 0, 0, 632, 722, + 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, + 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, + 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, + 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, + 763, 634, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 279, 0, 370, 240, 0, 691, 0, 0, 508, + 0, 0, 689, 0, 0, 0, 0, 336, 0, 305, + 192, 212, 0, 0, 380, 423, 429, 0, 0, 0, + 238, 0, 427, 394, 491, 220, 267, 420, 400, 425, + 407, 270, 0, 0, 426, 342, 477, 414, 488, 509, + 510, 246, 374, 499, 466, 505, 523, 213, 243, 388, + 459, 494, 449, 366, 473, 474, 304, 448, 277, 195, + 340, 515, 211, 435, 229, 218, 479, 497, 272, 418, + 203, 461, 486, 226, 439, 0, 0, 525, 205, 484, + 458, 362, 301, 302, 204, 0, 419, 251, 275, 241, + 383, 481, 482, 239, 526, 215, 504, 207, 0, 503, + 376, 476, 485, 363, 352, 206, 483, 361, 351, 307, + 661, 662, 263, 286, 412, 345, 413, 287, 372, 371, + 373, 198, 495, 0, 199, 0, 454, 496, 527, 221, + 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, + 338, 387, 411, 409, 415, 0, 471, 489, 500, 507, + 513, 514, 516, 517, 518, 519, 520, 522, 521, 375, + 289, 450, 306, 343, 0, 0, 393, 428, 227, 493, + 451, 698, 690, 644, 702, 646, 699, 700, 641, 642, + 645, 701, 528, 529, 530, 531, 532, 533, 534, 535, + 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, + 0, 693, 631, 630, 0, 637, 638, 0, 651, 652, + 654, 658, 659, 660, 663, 664, 665, 673, 675, 676, + 674, 677, 678, 679, 682, 683, 684, 685, 680, 681, + 686, 648, 647, 649, 650, 629, 191, 208, 339, 0, + 416, 271, 524, 502, 498, 0, 210, 0, 245, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, + 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, + 356, 357, 358, 377, 378, 379, 382, 385, 386, 389, + 391, 392, 395, 399, 403, 404, 405, 406, 408, 410, + 417, 422, 430, 431, 432, 433, 434, 437, 438, 443, + 444, 445, 446, 447, 455, 456, 460, 478, 480, 492, + 506, 511, 436, 281, 487, 512, 0, 348, 0, 0, + 350, 264, 284, 295, 0, 501, 457, 214, 424, 273, + 202, 233, 217, 242, 257, 260, 299, 360, 368, 397, + 402, 278, 254, 231, 421, 228, 440, 463, 464, 465, + 467, 364, 249, 401, 0, 365, 346, 469, 470, 291, + 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 384, 0, 0, 0, 0, 628, 0, 0, + 0, 253, 633, 0, 0, 0, 337, 250, 0, 0, + 398, 0, 197, 0, 442, 237, 347, 344, 475, 265, + 256, 252, 236, 292, 354, 396, 462, 390, 640, 341, + 0, 0, 452, 369, 0, 0, 0, 0, 0, 635, + 636, 0, 0, 0, 0, 0, 0, 1872, 0, 298, + 234, 300, 196, 381, 453, 269, 0, 87, 0, 0, + 188, 189, 190, 708, 715, 716, 717, 718, 719, 709, + 711, 0, 0, 225, 710, 232, 655, 657, 656, 666, + 667, 668, 669, 670, 671, 672, 653, 713, 720, 721, + 1873, 248, 296, 255, 247, 472, 0, 0, 0, 0, + 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, + 0, 611, 625, 0, 639, 0, 0, 0, 258, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 622, 623, 0, 0, 0, 0, 692, + 0, 624, 0, 0, 632, 722, 723, 724, 725, 726, + 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, + 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, + 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, + 757, 758, 759, 760, 761, 762, 763, 634, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 279, 0, 370, + 240, 0, 691, 0, 0, 508, 0, 0, 689, 0, + 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, + 380, 423, 429, 0, 0, 0, 238, 0, 427, 394, + 491, 220, 267, 420, 400, 425, 407, 270, 0, 0, + 426, 342, 477, 414, 488, 509, 510, 246, 374, 499, + 466, 505, 523, 213, 243, 388, 459, 494, 449, 366, + 473, 474, 304, 448, 277, 195, 340, 515, 211, 435, + 229, 218, 479, 497, 272, 418, 203, 461, 486, 226, + 439, 0, 0, 525, 205, 484, 458, 362, 301, 302, + 204, 0, 419, 251, 275, 241, 383, 481, 482, 239, + 526, 215, 504, 207, 0, 503, 376, 476, 485, 363, + 352, 206, 483, 361, 351, 307, 661, 662, 263, 286, + 412, 345, 413, 287, 372, 371, 373, 198, 495, 0, + 199, 0, 454, 496, 527, 221, 222, 224, 0, 262, + 266, 274, 276, 282, 283, 290, 338, 387, 411, 409, + 415, 0, 471, 489, 500, 507, 513, 514, 516, 517, + 518, 519, 520, 522, 521, 375, 289, 450, 306, 343, + 0, 0, 393, 428, 227, 493, 451, 698, 690, 644, + 702, 646, 699, 700, 641, 642, 645, 701, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 545, 0, 693, 631, 630, + 0, 637, 638, 0, 651, 652, 654, 658, 659, 660, + 663, 664, 665, 673, 675, 676, 674, 677, 678, 679, + 682, 683, 684, 685, 680, 681, 686, 648, 647, 649, + 650, 629, 191, 208, 339, 0, 416, 271, 524, 502, + 498, 0, 210, 0, 245, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, + 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, + 293, 294, 297, 303, 349, 355, 356, 357, 358, 377, + 378, 379, 382, 385, 386, 389, 391, 392, 395, 399, + 403, 404, 405, 406, 408, 410, 417, 422, 430, 431, + 432, 433, 434, 437, 438, 443, 444, 445, 446, 447, + 455, 456, 460, 478, 480, 492, 506, 511, 436, 281, + 487, 512, 0, 348, 0, 0, 350, 264, 284, 295, + 0, 501, 457, 214, 424, 273, 202, 233, 217, 242, + 257, 260, 299, 360, 368, 397, 402, 278, 254, 231, + 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, + 0, 0, 346, 469, 470, 291, 365, 0, 0, 0, + 78, 468, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 384, 0, 0, 0, 0, 628, 0, + 0, 0, 253, 633, 0, 0, 0, 337, 250, 0, + 0, 398, 0, 197, 0, 442, 237, 347, 344, 475, + 265, 256, 252, 236, 292, 354, 396, 462, 390, 640, + 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, + 635, 636, 0, 0, 0, 0, 0, 0, 0, 0, + 298, 234, 300, 196, 381, 453, 269, 0, 87, 0, + 0, 188, 189, 190, 708, 715, 716, 717, 718, 719, + 709, 711, 0, 0, 225, 710, 232, 655, 657, 656, + 666, 667, 668, 669, 670, 671, 672, 653, 713, 720, + 721, 0, 248, 296, 255, 247, 472, 0, 0, 0, + 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, + 0, 0, 611, 625, 0, 639, 0, 0, 0, 258, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 622, 623, 0, 0, 0, 0, + 692, 0, 624, 0, 0, 632, 722, 723, 724, 725, + 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, + 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, + 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, + 756, 757, 758, 759, 760, 761, 762, 763, 634, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, + 370, 240, 0, 691, 0, 0, 508, 0, 0, 689, + 0, 0, 0, 0, 336, 0, 305, 192, 212, 0, + 0, 380, 423, 429, 0, 0, 0, 238, 0, 427, + 394, 491, 220, 267, 420, 400, 425, 407, 270, 0, + 0, 426, 342, 477, 414, 488, 509, 510, 246, 374, + 499, 466, 505, 523, 213, 243, 388, 459, 494, 449, + 366, 473, 474, 304, 448, 277, 195, 340, 515, 211, + 435, 229, 218, 479, 497, 272, 418, 203, 461, 486, + 226, 439, 0, 0, 525, 205, 484, 458, 362, 301, + 302, 204, 0, 419, 251, 275, 241, 383, 481, 482, + 239, 526, 215, 504, 207, 0, 503, 376, 476, 485, + 363, 352, 206, 483, 361, 351, 307, 661, 662, 263, + 286, 412, 345, 413, 287, 372, 371, 373, 198, 495, + 0, 199, 0, 454, 496, 527, 221, 222, 224, 0, + 262, 266, 274, 276, 282, 283, 290, 338, 387, 411, + 409, 415, 0, 471, 489, 500, 507, 513, 514, 516, + 517, 518, 519, 520, 522, 521, 375, 289, 450, 306, + 343, 0, 0, 393, 428, 227, 493, 451, 698, 690, + 644, 702, 646, 699, 700, 641, 642, 645, 701, 528, + 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, + 539, 540, 541, 542, 543, 544, 545, 0, 693, 631, + 630, 0, 637, 638, 0, 651, 652, 654, 658, 659, + 660, 663, 664, 665, 673, 675, 676, 674, 677, 678, + 679, 682, 683, 684, 685, 680, 681, 686, 648, 647, + 649, 650, 629, 191, 208, 339, 86, 416, 271, 524, + 502, 498, 0, 210, 0, 245, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, + 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, + 288, 293, 294, 297, 303, 349, 355, 356, 357, 358, + 377, 378, 379, 382, 385, 386, 389, 391, 392, 395, + 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, + 431, 432, 433, 434, 437, 438, 443, 444, 445, 446, + 447, 455, 456, 460, 478, 480, 492, 506, 511, 436, + 281, 487, 512, 0, 348, 0, 0, 350, 264, 284, + 295, 0, 501, 457, 214, 424, 273, 202, 233, 217, + 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, + 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, + 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, + 0, 0, 0, 0, 628, 0, 0, 0, 253, 633, + 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, + 0, 442, 237, 347, 344, 475, 265, 256, 252, 236, + 292, 354, 396, 462, 390, 640, 341, 0, 0, 452, + 369, 0, 0, 0, 0, 0, 635, 636, 0, 0, + 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, + 381, 453, 269, 0, 87, 0, 0, 188, 189, 190, + 708, 715, 716, 717, 718, 719, 709, 711, 0, 0, + 225, 710, 232, 655, 657, 656, 666, 667, 668, 669, + 670, 671, 672, 653, 713, 720, 721, 0, 248, 296, + 255, 247, 472, 0, 0, 0, 0, 0, 0, 0, + 216, 0, 0, 0, 0, 0, 0, 0, 611, 625, + 0, 639, 0, 0, 0, 258, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 622, 623, 0, 0, 0, 0, 692, 0, 624, 0, + 0, 632, 722, 723, 724, 725, 726, 727, 728, 729, + 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, + 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, + 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, + 760, 761, 762, 763, 634, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 279, 0, 370, 240, 0, 691, + 0, 0, 508, 0, 0, 689, 0, 0, 0, 0, + 336, 0, 305, 192, 212, 0, 0, 380, 423, 429, + 0, 0, 0, 238, 0, 427, 394, 491, 220, 267, + 420, 400, 425, 407, 270, 2981, 0, 426, 342, 477, + 414, 488, 509, 510, 246, 374, 499, 466, 505, 523, + 213, 243, 388, 459, 494, 449, 366, 473, 474, 304, + 448, 277, 195, 340, 515, 211, 435, 229, 218, 479, + 497, 272, 418, 203, 461, 486, 226, 439, 0, 0, + 525, 205, 484, 458, 362, 301, 302, 204, 0, 419, + 251, 275, 241, 383, 481, 482, 239, 526, 215, 504, + 207, 0, 503, 376, 476, 485, 363, 352, 206, 483, + 361, 351, 307, 661, 662, 263, 286, 412, 345, 413, + 287, 372, 371, 373, 198, 495, 0, 199, 0, 454, + 496, 527, 221, 222, 224, 0, 262, 266, 274, 276, + 282, 283, 290, 338, 387, 411, 409, 415, 0, 471, + 489, 500, 507, 513, 514, 516, 517, 518, 519, 520, + 522, 521, 375, 289, 450, 306, 343, 0, 0, 393, + 428, 227, 493, 451, 698, 690, 644, 702, 646, 699, + 700, 641, 642, 645, 701, 528, 529, 530, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 0, 693, 631, 630, 0, 637, 638, + 0, 651, 652, 654, 658, 659, 660, 663, 664, 665, + 673, 675, 676, 674, 677, 678, 679, 682, 683, 684, + 685, 680, 681, 686, 648, 647, 649, 650, 629, 191, + 208, 339, 0, 416, 271, 524, 502, 498, 0, 210, + 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, + 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, + 303, 349, 355, 356, 357, 358, 377, 378, 379, 382, + 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, + 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, + 437, 438, 443, 444, 445, 446, 447, 455, 456, 460, + 478, 480, 492, 506, 511, 436, 281, 487, 512, 0, + 348, 0, 0, 350, 264, 284, 295, 0, 501, 457, + 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, + 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, + 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, + 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 384, 0, 0, 0, 0, + 628, 0, 0, 0, 253, 633, 0, 0, 0, 337, + 250, 0, 0, 398, 0, 197, 0, 442, 237, 347, + 344, 475, 265, 256, 252, 236, 292, 354, 396, 462, + 390, 640, 341, 0, 0, 452, 369, 0, 0, 0, + 0, 0, 635, 636, 0, 0, 0, 0, 0, 0, + 0, 0, 298, 234, 300, 196, 381, 453, 269, 0, + 87, 0, 1346, 188, 189, 190, 708, 715, 716, 717, + 718, 719, 709, 711, 0, 0, 225, 710, 232, 655, + 657, 656, 666, 667, 668, 669, 670, 671, 672, 653, + 713, 720, 721, 0, 248, 296, 255, 247, 472, 0, + 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, + 0, 0, 0, 0, 611, 625, 0, 639, 0, 0, + 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 622, 623, 0, 0, + 0, 0, 692, 0, 624, 0, 0, 632, 722, 723, + 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, + 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, + 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, + 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, + 634, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 279, 0, 370, 240, 0, 691, 0, 0, 508, 0, + 0, 689, 0, 0, 0, 0, 336, 0, 305, 192, + 212, 0, 0, 380, 423, 429, 0, 0, 0, 238, + 0, 427, 394, 491, 220, 267, 420, 400, 425, 407, + 270, 0, 0, 426, 342, 477, 414, 488, 509, 510, + 246, 374, 499, 466, 505, 523, 213, 243, 388, 459, + 494, 449, 366, 473, 474, 304, 448, 277, 195, 340, + 515, 211, 435, 229, 218, 479, 497, 272, 418, 203, + 461, 486, 226, 439, 0, 0, 525, 205, 484, 458, + 362, 301, 302, 204, 0, 419, 251, 275, 241, 383, + 481, 482, 239, 526, 215, 504, 207, 0, 503, 376, + 476, 485, 363, 352, 206, 483, 361, 351, 307, 661, + 662, 263, 286, 412, 345, 413, 287, 372, 371, 373, + 198, 495, 0, 199, 0, 454, 496, 527, 221, 222, + 224, 0, 262, 266, 274, 276, 282, 283, 290, 338, + 387, 411, 409, 415, 0, 471, 489, 500, 507, 513, + 514, 516, 517, 518, 519, 520, 522, 521, 375, 289, + 450, 306, 343, 0, 0, 393, 428, 227, 493, 451, + 698, 690, 644, 702, 646, 699, 700, 641, 642, 645, + 701, 528, 529, 530, 531, 532, 533, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 543, 544, 545, 0, + 693, 631, 630, 0, 637, 638, 0, 651, 652, 654, + 658, 659, 660, 663, 664, 665, 673, 675, 676, 674, + 677, 678, 679, 682, 683, 684, 685, 680, 681, 686, + 648, 647, 649, 650, 629, 191, 208, 339, 0, 416, + 271, 524, 502, 498, 0, 210, 0, 245, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, + 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, + 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, + 357, 358, 377, 378, 379, 382, 385, 386, 389, 391, + 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, + 422, 430, 431, 432, 433, 434, 437, 438, 443, 444, + 445, 446, 447, 455, 456, 460, 478, 480, 492, 506, + 511, 436, 281, 487, 512, 0, 348, 0, 0, 350, + 264, 284, 295, 0, 501, 457, 214, 424, 273, 202, + 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, + 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, + 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 384, 0, 0, 0, 0, 628, 0, 0, 0, + 253, 633, 0, 0, 0, 337, 250, 0, 0, 398, + 0, 197, 0, 442, 237, 347, 344, 475, 265, 256, + 252, 236, 292, 354, 396, 462, 390, 640, 341, 0, + 0, 452, 369, 0, 0, 0, 0, 0, 635, 636, + 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, + 300, 196, 381, 453, 269, 0, 87, 0, 0, 188, + 189, 190, 708, 715, 716, 717, 718, 719, 709, 711, + 0, 0, 225, 710, 232, 655, 657, 656, 666, 667, + 668, 669, 670, 671, 672, 653, 713, 720, 721, 0, + 248, 296, 255, 247, 472, 0, 0, 0, 0, 0, + 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, + 611, 625, 0, 639, 0, 0, 0, 258, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 622, 623, 803, 0, 0, 0, 692, 0, + 624, 0, 0, 632, 722, 723, 724, 725, 726, 727, + 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, + 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, + 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, + 758, 759, 760, 761, 762, 763, 634, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 279, 0, 370, 240, + 0, 691, 0, 0, 508, 0, 0, 689, 0, 0, + 0, 0, 336, 0, 305, 192, 212, 0, 0, 380, + 423, 429, 0, 0, 0, 238, 0, 427, 394, 491, + 220, 267, 420, 400, 425, 407, 270, 0, 0, 426, + 342, 477, 414, 488, 509, 510, 246, 374, 499, 466, + 505, 523, 213, 243, 388, 459, 494, 449, 366, 473, + 474, 304, 448, 277, 195, 340, 515, 211, 435, 229, + 218, 479, 497, 272, 418, 203, 461, 486, 226, 439, + 0, 0, 525, 205, 484, 458, 362, 301, 302, 204, + 0, 419, 251, 275, 241, 383, 481, 482, 239, 526, + 215, 504, 207, 0, 503, 376, 476, 485, 363, 352, + 206, 483, 361, 351, 307, 661, 662, 263, 286, 412, + 345, 413, 287, 372, 371, 373, 198, 495, 0, 199, + 0, 454, 496, 527, 221, 222, 224, 0, 262, 266, + 274, 276, 282, 283, 290, 338, 387, 411, 409, 415, + 0, 471, 489, 500, 507, 513, 514, 516, 517, 518, + 519, 520, 522, 521, 375, 289, 450, 306, 343, 0, + 0, 393, 428, 227, 493, 451, 698, 690, 644, 702, + 646, 699, 700, 641, 642, 645, 701, 528, 529, 530, + 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, + 541, 542, 543, 544, 545, 0, 693, 631, 630, 0, + 637, 638, 0, 651, 652, 654, 658, 659, 660, 663, + 664, 665, 673, 675, 676, 674, 677, 678, 679, 682, + 683, 684, 685, 680, 681, 686, 648, 647, 649, 650, + 629, 191, 208, 339, 0, 416, 271, 524, 502, 498, + 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, + 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, + 294, 297, 303, 349, 355, 356, 357, 358, 377, 378, + 379, 382, 385, 386, 389, 391, 392, 395, 399, 403, + 404, 405, 406, 408, 410, 417, 422, 430, 431, 432, + 433, 434, 437, 438, 443, 444, 445, 446, 447, 455, + 456, 460, 478, 480, 492, 506, 511, 436, 281, 487, + 512, 0, 348, 0, 0, 350, 264, 284, 295, 0, + 501, 457, 214, 424, 273, 202, 233, 217, 242, 257, + 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, + 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, + 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 384, 0, 0, + 0, 0, 628, 0, 0, 0, 253, 633, 0, 0, + 0, 337, 250, 0, 0, 398, 0, 197, 0, 442, + 237, 347, 344, 475, 265, 256, 252, 236, 292, 354, + 396, 462, 390, 640, 341, 0, 0, 452, 369, 0, + 0, 0, 0, 0, 635, 636, 0, 0, 0, 0, + 0, 0, 0, 0, 298, 234, 300, 196, 381, 453, + 269, 0, 87, 0, 0, 188, 189, 190, 708, 715, + 716, 717, 718, 719, 709, 711, 0, 0, 225, 710, + 232, 655, 657, 656, 666, 667, 668, 669, 670, 671, + 672, 653, 713, 720, 721, 0, 248, 296, 255, 247, + 472, 0, 0, 0, 0, 0, 0, 0, 216, 0, + 0, 0, 0, 0, 0, 0, 611, 625, 0, 639, + 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 622, 623, + 0, 0, 0, 0, 692, 0, 624, 0, 0, 632, + 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, + 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, + 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, + 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, + 762, 763, 634, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 279, 0, 370, 240, 0, 691, 0, 0, + 508, 0, 0, 689, 0, 0, 0, 0, 336, 0, + 305, 192, 212, 0, 0, 380, 423, 429, 0, 0, + 0, 238, 0, 427, 394, 491, 220, 267, 420, 400, + 425, 407, 270, 0, 0, 426, 342, 477, 414, 488, + 509, 510, 246, 374, 499, 466, 505, 523, 213, 243, + 388, 459, 494, 449, 366, 473, 474, 304, 448, 277, + 195, 340, 515, 211, 435, 229, 218, 479, 497, 272, + 418, 203, 461, 486, 226, 439, 0, 0, 525, 205, + 484, 458, 362, 301, 302, 204, 0, 419, 251, 275, + 241, 383, 481, 482, 239, 526, 215, 504, 207, 0, + 503, 376, 476, 485, 363, 352, 206, 483, 361, 351, + 307, 661, 662, 263, 286, 412, 345, 413, 287, 372, + 371, 373, 198, 495, 0, 199, 0, 454, 496, 527, + 221, 222, 224, 0, 262, 266, 274, 276, 282, 283, + 290, 338, 387, 411, 409, 415, 0, 471, 489, 500, + 507, 513, 514, 516, 517, 518, 519, 520, 522, 521, + 375, 289, 450, 306, 343, 0, 0, 393, 428, 227, + 493, 451, 698, 690, 644, 702, 646, 699, 700, 641, + 642, 645, 701, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 545, 0, 693, 631, 630, 0, 637, 638, 0, 651, + 652, 654, 658, 659, 660, 663, 664, 665, 673, 675, + 676, 674, 677, 678, 679, 682, 683, 684, 685, 680, + 681, 686, 648, 647, 649, 650, 629, 191, 208, 339, + 0, 416, 271, 524, 502, 498, 0, 210, 0, 245, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, + 261, 268, 280, 285, 288, 293, 294, 297, 303, 349, + 355, 356, 357, 358, 377, 378, 379, 382, 385, 386, + 389, 391, 392, 395, 399, 403, 404, 405, 406, 408, + 410, 417, 422, 430, 431, 432, 433, 434, 437, 438, + 443, 444, 445, 446, 447, 455, 456, 460, 478, 480, + 492, 506, 511, 436, 281, 487, 512, 0, 348, 0, + 0, 350, 264, 284, 295, 0, 501, 457, 214, 424, + 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, + 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, + 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, + 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 384, 0, 0, 0, 0, 628, 0, + 0, 0, 253, 633, 0, 0, 0, 337, 250, 0, + 0, 398, 0, 197, 0, 442, 237, 347, 344, 475, + 265, 256, 252, 236, 292, 354, 396, 462, 390, 640, + 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, + 635, 636, 0, 0, 0, 0, 0, 0, 0, 0, + 298, 234, 300, 196, 381, 453, 269, 0, 87, 0, + 0, 188, 189, 190, 708, 715, 716, 717, 718, 719, + 709, 711, 0, 0, 225, 710, 232, 655, 657, 656, + 666, 667, 668, 669, 670, 671, 672, 653, 713, 720, + 721, 0, 248, 296, 255, 247, 472, 0, 0, 0, + 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, + 0, 0, 0, 625, 0, 639, 0, 0, 0, 258, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 622, 623, 0, 0, 0, 0, + 692, 0, 624, 0, 0, 632, 722, 723, 724, 725, + 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, + 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, + 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, + 756, 757, 758, 759, 760, 761, 762, 763, 634, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, + 370, 240, 0, 691, 0, 0, 508, 0, 0, 689, + 0, 0, 0, 0, 336, 0, 305, 192, 212, 0, + 0, 380, 423, 429, 0, 0, 0, 238, 0, 427, + 394, 491, 220, 267, 420, 400, 425, 407, 270, 0, + 0, 426, 342, 477, 414, 488, 509, 510, 246, 374, + 499, 466, 505, 523, 213, 243, 388, 459, 494, 449, + 366, 473, 474, 304, 448, 277, 195, 340, 515, 211, + 435, 229, 218, 479, 497, 272, 418, 203, 461, 486, + 226, 439, 0, 0, 525, 205, 484, 458, 362, 301, + 302, 204, 0, 419, 251, 275, 241, 383, 481, 482, + 239, 526, 215, 504, 207, 0, 503, 376, 476, 485, + 363, 352, 206, 483, 361, 351, 307, 661, 662, 263, + 286, 412, 345, 413, 287, 372, 371, 373, 198, 495, + 0, 199, 0, 454, 496, 527, 221, 222, 224, 0, + 262, 266, 274, 276, 282, 283, 290, 338, 387, 411, + 409, 415, 0, 471, 489, 500, 507, 513, 514, 516, + 517, 518, 519, 520, 522, 521, 375, 289, 450, 306, + 343, 0, 0, 393, 428, 227, 493, 451, 698, 690, + 644, 702, 646, 699, 700, 641, 642, 645, 701, 528, + 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, + 539, 540, 541, 542, 543, 544, 545, 0, 693, 631, + 630, 0, 637, 638, 0, 651, 652, 654, 658, 659, + 660, 663, 664, 665, 673, 675, 676, 674, 677, 678, + 679, 682, 683, 684, 685, 680, 681, 686, 648, 647, + 649, 650, 629, 191, 208, 339, 0, 416, 271, 524, + 502, 498, 0, 210, 0, 245, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, + 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, + 288, 293, 294, 297, 303, 349, 355, 356, 357, 358, + 377, 378, 379, 382, 385, 386, 389, 391, 392, 395, + 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, + 431, 432, 433, 434, 437, 438, 443, 444, 445, 446, + 447, 455, 456, 460, 478, 480, 492, 506, 511, 436, + 281, 487, 512, 0, 348, 0, 0, 350, 264, 284, + 295, 0, 501, 457, 214, 424, 273, 202, 233, 217, + 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, + 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, + 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, + 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, + 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, + 0, 442, 237, 347, 344, 475, 265, 256, 252, 236, + 292, 354, 396, 462, 390, 0, 341, 0, 0, 452, + 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, + 381, 453, 269, 0, 0, 0, 0, 188, 189, 190, + 0, 715, 716, 0, 0, 0, 0, 1694, 0, 0, + 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, + 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, + 255, 247, 472, 0, 0, 0, 0, 0, 0, 0, + 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 722, 723, 724, 725, 726, 727, 728, 729, + 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, + 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, + 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, + 760, 761, 762, 763, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 279, 0, 370, 240, 0, 0, + 0, 0, 508, 0, 0, 0, 0, 0, 0, 0, + 336, 0, 305, 192, 212, 0, 0, 380, 423, 429, + 0, 0, 0, 238, 0, 427, 394, 491, 220, 267, + 420, 400, 425, 407, 270, 0, 0, 426, 342, 477, + 414, 488, 509, 510, 246, 374, 499, 466, 505, 523, + 213, 243, 388, 459, 494, 449, 366, 473, 474, 304, + 448, 277, 195, 340, 515, 211, 435, 229, 218, 479, + 497, 272, 418, 203, 461, 486, 226, 439, 0, 0, + 525, 205, 484, 458, 362, 301, 302, 204, 0, 419, + 251, 275, 241, 383, 481, 482, 239, 526, 215, 504, + 207, 0, 503, 376, 476, 485, 363, 352, 206, 483, + 361, 351, 307, 326, 327, 263, 286, 412, 345, 413, + 287, 372, 371, 373, 198, 495, 0, 199, 0, 454, + 496, 527, 221, 222, 224, 0, 262, 266, 274, 276, + 282, 283, 290, 338, 387, 411, 409, 415, 0, 471, + 489, 500, 507, 513, 514, 516, 517, 518, 519, 520, + 522, 521, 375, 289, 450, 306, 343, 0, 0, 393, + 428, 227, 493, 451, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 528, 529, 530, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 546, 353, 441, 490, 308, 320, 323, + 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, + 324, 325, 329, 335, 235, 201, 359, 367, 0, 191, + 208, 339, 0, 416, 271, 524, 502, 498, 0, 210, + 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, + 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, + 303, 349, 355, 356, 357, 358, 377, 378, 379, 382, + 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, + 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, + 437, 438, 443, 444, 445, 446, 447, 455, 456, 460, + 478, 480, 492, 506, 511, 436, 281, 487, 512, 0, + 348, 0, 0, 350, 264, 284, 295, 0, 501, 457, + 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, + 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, + 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, + 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 384, 0, 0, 0, 0, + 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, + 250, 0, 0, 398, 0, 197, 0, 442, 237, 347, + 344, 475, 265, 256, 252, 236, 292, 354, 396, 462, + 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 298, 234, 300, 196, 381, 453, 269, 0, + 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, + 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, + 0, 0, 0, 0, 248, 296, 255, 247, 472, 0, + 0, 0, 0, 0, 0, 0, 216, 0, 1022, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 279, 0, 370, 240, 0, 0, 0, 1021, 508, 0, + 0, 0, 0, 0, 1018, 1019, 336, 979, 305, 192, + 212, 1012, 1016, 380, 423, 429, 0, 0, 0, 238, + 0, 427, 394, 491, 220, 267, 420, 400, 425, 407, + 270, 0, 0, 426, 342, 477, 414, 488, 509, 510, + 246, 374, 499, 466, 505, 523, 213, 243, 388, 459, + 494, 449, 366, 473, 474, 304, 448, 277, 195, 340, + 515, 211, 435, 229, 218, 479, 497, 272, 418, 203, + 461, 486, 226, 439, 0, 0, 525, 205, 484, 458, + 362, 301, 302, 204, 0, 419, 251, 275, 241, 383, + 481, 482, 239, 526, 215, 504, 207, 0, 503, 376, + 476, 485, 363, 352, 206, 483, 361, 351, 307, 326, + 327, 263, 286, 412, 345, 413, 287, 372, 371, 373, + 198, 495, 0, 199, 0, 454, 496, 527, 221, 222, + 224, 0, 262, 266, 274, 276, 282, 283, 290, 338, + 387, 411, 409, 415, 0, 471, 489, 500, 507, 513, + 514, 516, 517, 518, 519, 520, 522, 521, 375, 289, + 450, 306, 343, 0, 0, 393, 428, 227, 493, 451, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 528, 529, 530, 531, 532, 533, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 543, 544, 545, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 546, + 353, 441, 490, 308, 320, 323, 313, 332, 0, 333, + 309, 310, 315, 317, 318, 319, 324, 325, 329, 335, + 235, 201, 359, 367, 0, 191, 208, 339, 0, 416, + 271, 524, 502, 498, 0, 210, 0, 245, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, + 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, + 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, + 357, 358, 377, 378, 379, 382, 385, 386, 389, 391, + 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, + 422, 430, 431, 432, 433, 434, 437, 438, 443, 444, + 445, 446, 447, 455, 456, 460, 478, 480, 492, 506, + 511, 436, 281, 487, 512, 0, 348, 0, 0, 350, + 264, 284, 295, 0, 501, 457, 214, 424, 273, 202, + 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, + 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, + 364, 249, 401, 0, 0, 346, 469, 470, 291, 365, + 0, 0, 0, 78, 468, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 384, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, - 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, - 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, - 461, 389, 0, 341, 0, 0, 451, 368, 0, 0, + 337, 250, 0, 0, 398, 0, 197, 0, 442, 237, + 347, 344, 475, 265, 256, 252, 236, 292, 354, 396, + 462, 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, - 0, 1471, 0, 0, 188, 189, 190, 0, 0, 0, + 0, 0, 0, 298, 234, 300, 196, 381, 453, 269, + 0, 87, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, - 0, 0, 0, 0, 0, 248, 296, 255, 247, 471, + 0, 0, 0, 0, 0, 248, 296, 255, 247, 472, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, @@ -5327,57 +3447,300 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 279, 0, 369, 240, 0, 0, 0, 0, 507, + 0, 279, 0, 370, 240, 0, 0, 0, 0, 508, 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, - 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, - 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, - 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, - 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, - 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, - 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, - 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, - 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, - 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, - 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, - 326, 327, 263, 286, 411, 345, 412, 287, 371, 370, - 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, + 192, 212, 0, 0, 380, 423, 429, 0, 0, 0, + 238, 0, 427, 394, 491, 220, 267, 420, 400, 425, + 407, 270, 0, 0, 426, 342, 477, 414, 488, 509, + 510, 246, 374, 499, 466, 505, 523, 213, 243, 388, + 459, 494, 449, 366, 473, 474, 304, 448, 277, 195, + 340, 515, 211, 435, 229, 218, 479, 497, 272, 418, + 203, 461, 486, 226, 439, 0, 0, 525, 205, 484, + 458, 362, 301, 302, 204, 0, 419, 251, 275, 241, + 383, 481, 482, 239, 526, 215, 504, 207, 0, 503, + 376, 476, 485, 363, 352, 206, 483, 361, 351, 307, + 326, 327, 263, 286, 412, 345, 413, 287, 372, 371, + 373, 198, 495, 0, 199, 0, 454, 496, 527, 221, 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, - 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, - 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, - 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, - 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 545, 353, 440, 489, 308, 320, 323, 313, 332, 0, + 338, 387, 411, 409, 415, 0, 471, 489, 500, 507, + 513, 514, 516, 517, 518, 519, 520, 522, 521, 375, + 289, 450, 306, 343, 0, 0, 393, 428, 227, 493, + 451, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 528, 529, 530, 531, 532, 533, 534, 535, + 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 546, 353, 441, 490, 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, - 335, 235, 201, 359, 0, 191, 208, 339, 0, 415, - 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 335, 235, 201, 359, 367, 0, 191, 208, 339, 86, + 416, 271, 524, 502, 498, 0, 210, 0, 245, 0, + 0, 0, 0, 0, 0, 1860, 0, 0, 1859, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, + 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, + 356, 357, 358, 377, 378, 379, 382, 385, 386, 389, + 391, 392, 395, 399, 403, 404, 405, 406, 408, 410, + 417, 422, 430, 431, 432, 433, 434, 437, 438, 443, + 444, 445, 446, 447, 455, 456, 460, 478, 480, 492, + 506, 511, 436, 281, 487, 512, 0, 348, 0, 0, + 350, 264, 284, 295, 0, 501, 457, 214, 424, 273, + 202, 233, 217, 242, 257, 260, 299, 360, 368, 397, + 402, 278, 254, 231, 421, 228, 440, 463, 464, 465, + 467, 364, 249, 401, 0, 1365, 346, 469, 470, 291, + 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 384, 0, 0, 0, 1367, 0, 0, 0, + 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, + 398, 0, 197, 0, 442, 237, 347, 344, 475, 265, + 256, 252, 236, 292, 354, 396, 462, 390, 0, 341, + 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, + 234, 300, 196, 381, 453, 269, 0, 0, 0, 0, + 188, 189, 190, 0, 1369, 0, 0, 0, 0, 0, + 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, + 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, + 0, 248, 296, 255, 247, 472, 0, 0, 0, 0, + 0, 0, 0, 216, 0, 0, 0, 1194, 0, 1195, + 1196, 0, 0, 0, 0, 0, 0, 0, 258, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 279, 0, 370, + 240, 0, 0, 0, 0, 508, 0, 0, 0, 0, + 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, + 380, 423, 429, 0, 0, 0, 238, 0, 427, 394, + 491, 220, 267, 420, 400, 425, 407, 270, 0, 0, + 426, 342, 477, 414, 488, 509, 510, 246, 374, 499, + 466, 505, 523, 213, 243, 388, 459, 494, 449, 366, + 473, 474, 304, 448, 277, 195, 340, 515, 211, 435, + 229, 218, 479, 497, 272, 418, 203, 461, 486, 226, + 439, 0, 0, 525, 205, 484, 458, 362, 301, 302, + 204, 0, 419, 251, 275, 241, 383, 481, 482, 239, + 526, 215, 504, 207, 0, 503, 376, 476, 485, 363, + 352, 206, 483, 361, 351, 307, 326, 327, 263, 286, + 412, 345, 413, 287, 372, 371, 373, 198, 495, 0, + 199, 0, 454, 496, 527, 221, 222, 224, 0, 262, + 266, 274, 276, 282, 283, 290, 338, 387, 411, 409, + 415, 0, 471, 489, 500, 507, 513, 514, 516, 517, + 518, 519, 520, 522, 521, 375, 289, 450, 306, 343, + 0, 0, 393, 428, 227, 493, 451, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 528, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 545, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 546, 353, 441, 490, + 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, + 317, 318, 319, 324, 325, 329, 335, 235, 201, 359, + 367, 0, 191, 208, 339, 0, 416, 271, 524, 502, + 498, 0, 210, 0, 245, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, + 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, + 293, 294, 297, 303, 349, 355, 356, 357, 358, 377, + 378, 379, 382, 385, 386, 389, 391, 392, 395, 399, + 403, 404, 405, 406, 408, 410, 417, 422, 430, 431, + 432, 433, 434, 437, 438, 443, 444, 445, 446, 447, + 455, 456, 460, 478, 480, 492, 506, 511, 436, 281, + 487, 512, 0, 348, 0, 0, 350, 264, 284, 295, + 0, 501, 457, 214, 424, 273, 202, 233, 217, 242, + 257, 260, 299, 360, 368, 397, 402, 278, 254, 231, + 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, + 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 384, 0, + 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, + 0, 0, 337, 250, 0, 0, 398, 0, 197, 0, + 442, 237, 347, 344, 475, 265, 256, 252, 236, 292, + 354, 396, 462, 390, 0, 341, 0, 0, 452, 369, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 298, 234, 300, 196, 381, + 453, 269, 0, 0, 0, 0, 188, 189, 190, 1308, + 1311, 0, 0, 0, 0, 1307, 1310, 0, 0, 225, + 1306, 232, 322, 331, 330, 311, 312, 314, 316, 321, + 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, + 247, 472, 0, 0, 0, 0, 0, 0, 0, 216, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 279, 0, 370, 240, 0, 0, 0, + 0, 508, 0, 0, 0, 0, 0, 0, 0, 336, + 0, 305, 192, 212, 0, 0, 380, 423, 429, 0, + 0, 0, 238, 0, 427, 394, 491, 220, 267, 420, + 400, 425, 407, 270, 0, 0, 426, 342, 477, 414, + 488, 509, 510, 246, 374, 499, 466, 505, 523, 213, + 243, 388, 459, 494, 449, 366, 473, 474, 304, 448, + 277, 195, 340, 515, 211, 435, 229, 218, 479, 497, + 272, 418, 203, 461, 486, 226, 439, 0, 0, 525, + 205, 484, 458, 362, 301, 302, 204, 0, 419, 251, + 275, 241, 383, 481, 482, 239, 526, 215, 504, 207, + 0, 503, 376, 476, 485, 363, 352, 206, 483, 361, + 351, 307, 326, 327, 263, 286, 412, 345, 413, 287, + 372, 371, 373, 198, 495, 0, 199, 0, 454, 496, + 527, 221, 222, 224, 0, 262, 266, 274, 276, 282, + 283, 290, 338, 387, 411, 409, 415, 0, 471, 489, + 500, 507, 513, 514, 516, 517, 518, 519, 520, 522, + 521, 375, 289, 450, 306, 343, 0, 0, 393, 428, + 227, 493, 451, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 546, 353, 441, 490, 308, 320, 323, 313, + 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, + 325, 329, 335, 235, 201, 359, 367, 0, 191, 208, + 339, 0, 416, 271, 524, 502, 498, 0, 210, 0, + 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, + 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, + 349, 355, 356, 357, 358, 377, 378, 379, 382, 385, + 386, 389, 391, 392, 395, 399, 403, 404, 405, 406, + 408, 410, 417, 422, 430, 431, 432, 433, 434, 437, + 438, 443, 444, 445, 446, 447, 455, 456, 460, 478, + 480, 492, 506, 511, 436, 281, 487, 512, 0, 348, + 0, 0, 350, 264, 284, 295, 0, 501, 457, 214, + 424, 273, 202, 233, 217, 242, 257, 260, 299, 360, + 368, 397, 402, 278, 254, 231, 421, 228, 440, 463, + 464, 465, 467, 364, 249, 401, 0, 0, 346, 469, + 470, 291, 365, 0, 0, 0, 78, 468, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, + 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, + 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, + 0, 442, 237, 347, 344, 475, 265, 256, 252, 236, + 292, 354, 396, 462, 390, 0, 341, 0, 0, 452, + 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, + 381, 453, 269, 0, 87, 0, 1346, 188, 189, 190, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, + 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, + 255, 247, 472, 0, 0, 0, 0, 0, 0, 0, + 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 279, 0, 370, 240, 0, 0, + 0, 0, 508, 0, 0, 0, 0, 0, 0, 0, + 336, 0, 305, 192, 212, 0, 0, 380, 423, 429, + 0, 0, 0, 238, 0, 427, 394, 491, 220, 267, + 420, 400, 425, 407, 270, 0, 0, 426, 342, 477, + 414, 488, 509, 510, 246, 374, 499, 466, 505, 523, + 213, 243, 388, 459, 494, 449, 366, 473, 474, 304, + 448, 277, 195, 340, 515, 211, 435, 229, 218, 479, + 497, 272, 418, 203, 461, 486, 226, 439, 0, 0, + 525, 205, 484, 458, 362, 301, 302, 204, 0, 419, + 251, 275, 241, 383, 481, 482, 239, 526, 215, 504, + 207, 0, 503, 376, 476, 485, 363, 352, 206, 483, + 361, 351, 307, 326, 327, 263, 286, 412, 345, 413, + 287, 372, 371, 373, 198, 495, 0, 199, 0, 454, + 496, 527, 221, 222, 224, 0, 262, 266, 274, 276, + 282, 283, 290, 338, 387, 411, 409, 415, 0, 471, + 489, 500, 507, 513, 514, 516, 517, 518, 519, 520, + 522, 521, 375, 289, 450, 306, 343, 0, 0, 393, + 428, 227, 493, 451, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 528, 529, 530, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 546, 353, 441, 490, 308, 320, 323, + 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, + 324, 325, 329, 335, 235, 201, 359, 367, 0, 191, + 208, 339, 86, 416, 271, 524, 502, 498, 0, 210, + 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, + 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, + 303, 349, 355, 356, 357, 358, 377, 378, 379, 382, + 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, + 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, + 437, 438, 443, 444, 445, 446, 447, 455, 456, 460, + 478, 480, 492, 506, 511, 436, 281, 487, 512, 0, + 348, 0, 0, 350, 264, 284, 295, 0, 501, 457, + 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, + 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, + 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, + 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 384, 0, 0, 0, 0, + 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, + 250, 0, 0, 398, 0, 197, 0, 442, 237, 347, + 344, 475, 265, 256, 252, 236, 292, 354, 396, 462, + 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 298, 234, 300, 196, 381, 453, 269, 0, + 87, 0, 0, 188, 189, 190, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, + 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, + 0, 0, 0, 0, 248, 296, 255, 247, 472, 0, + 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 279, 0, 370, 240, 0, 0, 0, 0, 508, 0, + 0, 0, 0, 0, 0, 0, 336, 0, 305, 192, + 212, 0, 0, 380, 423, 429, 0, 0, 0, 238, + 0, 427, 394, 491, 220, 267, 420, 400, 425, 407, + 270, 0, 0, 426, 342, 477, 414, 488, 509, 510, + 246, 374, 499, 466, 505, 523, 213, 243, 388, 459, + 494, 449, 366, 473, 474, 304, 448, 277, 195, 340, + 515, 211, 435, 229, 218, 479, 497, 272, 418, 203, + 461, 486, 226, 439, 0, 0, 525, 205, 484, 458, + 362, 301, 302, 204, 0, 419, 251, 275, 241, 383, + 481, 482, 239, 526, 215, 504, 207, 0, 503, 376, + 476, 485, 363, 352, 206, 483, 361, 351, 307, 326, + 327, 263, 286, 412, 345, 413, 287, 372, 371, 373, + 198, 495, 0, 199, 0, 454, 496, 527, 221, 222, + 224, 0, 262, 266, 274, 276, 282, 283, 290, 338, + 387, 411, 409, 415, 0, 471, 489, 500, 507, 513, + 514, 516, 517, 518, 519, 520, 522, 521, 375, 289, + 450, 306, 343, 0, 0, 393, 428, 227, 493, 451, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 528, 529, 530, 531, 532, 533, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 543, 544, 545, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 546, + 353, 441, 490, 308, 320, 323, 313, 332, 0, 333, + 309, 310, 315, 317, 318, 319, 324, 325, 329, 335, + 235, 201, 359, 367, 0, 191, 208, 339, 0, 416, + 271, 524, 502, 498, 0, 210, 0, 245, 0, 0, + 0, 0, 0, 0, 1860, 0, 0, 1859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, - 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, - 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, - 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, - 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, - 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, - 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, - 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, - 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, - 364, 249, 400, 0, 365, 346, 468, 469, 291, 467, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 383, 0, 0, 0, 0, 0, 0, 0, 1371, - 253, 0, 0, 0, 0, 337, 250, 0, 0, 397, - 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, - 252, 236, 292, 354, 395, 461, 389, 0, 341, 0, - 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, + 357, 358, 377, 378, 379, 382, 385, 386, 389, 391, + 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, + 422, 430, 431, 432, 433, 434, 437, 438, 443, 444, + 445, 446, 447, 455, 456, 460, 478, 480, 492, 506, + 511, 436, 281, 487, 512, 0, 348, 0, 0, 350, + 264, 284, 295, 0, 501, 457, 214, 424, 273, 202, + 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, + 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, + 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 384, 0, 0, 0, 1811, 0, 0, 0, 0, + 253, 0, 0, 0, 0, 337, 250, 0, 0, 398, + 0, 197, 0, 442, 237, 347, 344, 475, 265, 256, + 252, 236, 292, 354, 396, 462, 390, 0, 341, 0, + 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, - 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, - 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, + 300, 196, 381, 453, 269, 0, 0, 0, 0, 188, + 189, 190, 0, 1547, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, - 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, + 248, 296, 255, 247, 472, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5387,118 +3750,603 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, - 0, 0, 0, 0, 507, 0, 0, 0, 0, 0, - 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, - 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, - 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, - 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, - 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, - 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, - 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, - 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, - 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, - 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, - 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, - 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, - 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, - 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, - 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, - 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, - 0, 392, 427, 227, 492, 450, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 545, 353, 440, 489, 308, + 0, 0, 0, 0, 0, 0, 279, 0, 370, 240, + 0, 0, 0, 0, 508, 0, 0, 0, 0, 0, + 0, 0, 336, 0, 305, 192, 212, 0, 0, 380, + 423, 429, 0, 0, 0, 238, 0, 427, 394, 491, + 220, 267, 420, 400, 425, 407, 270, 0, 1809, 426, + 342, 477, 414, 488, 509, 510, 246, 374, 499, 466, + 505, 523, 213, 243, 388, 459, 494, 449, 366, 473, + 474, 304, 448, 277, 195, 340, 515, 211, 435, 229, + 218, 479, 497, 272, 418, 203, 461, 486, 226, 439, + 0, 0, 525, 205, 484, 458, 362, 301, 302, 204, + 0, 419, 251, 275, 241, 383, 481, 482, 239, 526, + 215, 504, 207, 0, 503, 376, 476, 485, 363, 352, + 206, 483, 361, 351, 307, 326, 327, 263, 286, 412, + 345, 413, 287, 372, 371, 373, 198, 495, 0, 199, + 0, 454, 496, 527, 221, 222, 224, 0, 262, 266, + 274, 276, 282, 283, 290, 338, 387, 411, 409, 415, + 0, 471, 489, 500, 507, 513, 514, 516, 517, 518, + 519, 520, 522, 521, 375, 289, 450, 306, 343, 0, + 0, 393, 428, 227, 493, 451, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 528, 529, 530, + 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, + 541, 542, 543, 544, 545, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 546, 353, 441, 490, 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, - 318, 319, 324, 325, 329, 335, 235, 201, 359, 0, - 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, - 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, - 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, - 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, - 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, - 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, - 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, - 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, - 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, - 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, - 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, - 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, - 346, 468, 469, 291, 467, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, - 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, - 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, - 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, - 461, 389, 0, 341, 0, 0, 451, 368, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, - 0, 0, 0, 0, 188, 189, 190, 0, 1169, 0, - 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, - 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, - 0, 0, 0, 0, 0, 248, 296, 255, 247, 471, - 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 318, 319, 324, 325, 329, 335, 235, 201, 359, 367, + 0, 191, 208, 339, 0, 416, 271, 524, 502, 498, + 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, + 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, + 294, 297, 303, 349, 355, 356, 357, 358, 377, 378, + 379, 382, 385, 386, 389, 391, 392, 395, 399, 403, + 404, 405, 406, 408, 410, 417, 422, 430, 431, 432, + 433, 434, 437, 438, 443, 444, 445, 446, 447, 455, + 456, 460, 478, 480, 492, 506, 511, 436, 281, 487, + 512, 0, 348, 0, 0, 350, 264, 284, 295, 0, + 501, 457, 214, 424, 273, 202, 233, 217, 242, 257, + 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, + 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, + 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 384, 0, 0, + 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, + 0, 337, 250, 0, 0, 398, 0, 197, 0, 442, + 237, 347, 344, 475, 265, 256, 252, 236, 292, 354, + 396, 462, 390, 0, 341, 0, 0, 452, 369, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 298, 234, 300, 196, 381, 453, + 269, 0, 0, 0, 0, 188, 189, 190, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, + 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, + 334, 0, 0, 0, 0, 0, 248, 296, 255, 247, + 472, 0, 0, 0, 0, 0, 0, 0, 216, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, + 0, 0, 973, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 279, 0, 370, 240, 0, 0, 0, 0, + 508, 0, 0, 0, 0, 0, 0, 0, 336, 979, + 305, 192, 212, 977, 0, 380, 423, 429, 0, 0, + 0, 238, 0, 427, 394, 491, 220, 267, 420, 400, + 425, 407, 270, 0, 0, 426, 342, 477, 414, 488, + 509, 510, 246, 374, 499, 466, 505, 523, 213, 243, + 388, 459, 494, 449, 366, 473, 474, 304, 448, 277, + 195, 340, 515, 211, 435, 229, 218, 479, 497, 272, + 418, 203, 461, 486, 226, 439, 0, 0, 525, 205, + 484, 458, 362, 301, 302, 204, 0, 419, 251, 275, + 241, 383, 481, 482, 239, 526, 215, 504, 207, 0, + 503, 376, 476, 485, 363, 352, 206, 483, 361, 351, + 307, 326, 327, 263, 286, 412, 345, 413, 287, 372, + 371, 373, 198, 495, 0, 199, 0, 454, 496, 527, + 221, 222, 224, 0, 262, 266, 274, 276, 282, 283, + 290, 338, 387, 411, 409, 415, 0, 471, 489, 500, + 507, 513, 514, 516, 517, 518, 519, 520, 522, 521, + 375, 289, 450, 306, 343, 0, 0, 393, 428, 227, + 493, 451, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 546, 353, 441, 490, 308, 320, 323, 313, 332, + 0, 333, 309, 310, 315, 317, 318, 319, 324, 325, + 329, 335, 235, 201, 359, 367, 0, 191, 208, 339, + 0, 416, 271, 524, 502, 498, 0, 210, 0, 245, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, + 261, 268, 280, 285, 288, 293, 294, 297, 303, 349, + 355, 356, 357, 358, 377, 378, 379, 382, 385, 386, + 389, 391, 392, 395, 399, 403, 404, 405, 406, 408, + 410, 417, 422, 430, 431, 432, 433, 434, 437, 438, + 443, 444, 445, 446, 447, 455, 456, 460, 478, 480, + 492, 506, 511, 436, 281, 487, 512, 0, 348, 0, + 0, 350, 264, 284, 295, 0, 501, 457, 214, 424, + 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, + 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, + 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, + 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 384, 0, 0, 0, 1811, 0, 0, + 0, 0, 253, 0, 0, 0, 0, 337, 250, 0, + 0, 398, 0, 197, 0, 442, 237, 347, 344, 475, + 265, 256, 252, 236, 292, 354, 396, 462, 390, 0, + 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 298, 234, 300, 196, 381, 453, 269, 0, 0, 0, + 0, 188, 189, 190, 0, 1547, 0, 0, 0, 0, + 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, + 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, + 0, 0, 248, 296, 255, 247, 472, 0, 0, 0, + 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, + 370, 240, 0, 0, 0, 0, 508, 0, 0, 0, + 0, 0, 0, 0, 336, 0, 305, 192, 212, 0, + 0, 380, 423, 429, 0, 0, 0, 238, 0, 427, + 394, 491, 220, 267, 420, 400, 425, 407, 270, 0, + 0, 426, 342, 477, 414, 488, 509, 510, 246, 374, + 499, 466, 505, 523, 213, 243, 388, 459, 494, 449, + 366, 473, 474, 304, 448, 277, 195, 340, 515, 211, + 435, 229, 218, 479, 497, 272, 418, 203, 461, 486, + 226, 439, 0, 0, 525, 205, 484, 458, 362, 301, + 302, 204, 0, 419, 251, 275, 241, 383, 481, 482, + 239, 526, 215, 504, 207, 0, 503, 376, 476, 485, + 363, 352, 206, 483, 361, 351, 307, 326, 327, 263, + 286, 412, 345, 413, 287, 372, 371, 373, 198, 495, + 0, 199, 0, 454, 496, 527, 221, 222, 224, 0, + 262, 266, 274, 276, 282, 283, 290, 338, 387, 411, + 409, 415, 0, 471, 489, 500, 507, 513, 514, 516, + 517, 518, 519, 520, 522, 521, 375, 289, 450, 306, + 343, 0, 0, 393, 428, 227, 493, 451, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 528, + 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, + 539, 540, 541, 542, 543, 544, 545, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 546, 353, 441, + 490, 308, 320, 323, 313, 332, 0, 333, 309, 310, + 315, 317, 318, 319, 324, 325, 329, 335, 235, 201, + 359, 367, 0, 191, 208, 339, 0, 416, 271, 524, + 502, 498, 0, 210, 0, 245, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, + 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, + 288, 293, 294, 297, 303, 349, 355, 356, 357, 358, + 377, 378, 379, 382, 385, 386, 389, 391, 392, 395, + 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, + 431, 432, 433, 434, 437, 438, 443, 444, 445, 446, + 447, 455, 456, 460, 478, 480, 492, 506, 511, 436, + 281, 487, 512, 0, 348, 0, 0, 350, 264, 284, + 295, 0, 501, 457, 214, 424, 273, 202, 233, 217, + 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, + 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, + 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, + 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, + 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, + 0, 442, 237, 347, 344, 475, 265, 256, 252, 236, + 292, 354, 396, 462, 390, 0, 341, 0, 0, 452, + 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, + 381, 453, 269, 0, 0, 0, 1346, 188, 189, 190, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, + 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, + 255, 247, 472, 0, 0, 0, 0, 0, 0, 0, + 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 279, 0, 370, 240, 0, 0, + 0, 0, 508, 0, 0, 0, 2909, 0, 0, 0, + 336, 0, 305, 192, 212, 0, 0, 380, 423, 429, + 0, 0, 0, 238, 0, 427, 394, 491, 220, 267, + 420, 400, 425, 407, 270, 0, 0, 426, 342, 477, + 414, 488, 509, 510, 246, 374, 499, 466, 505, 523, + 213, 243, 388, 459, 494, 449, 366, 473, 474, 304, + 448, 277, 195, 340, 515, 211, 435, 229, 218, 479, + 497, 272, 418, 203, 461, 486, 226, 439, 0, 0, + 525, 205, 484, 458, 362, 301, 302, 204, 0, 419, + 251, 275, 241, 383, 481, 482, 239, 526, 215, 504, + 207, 0, 503, 376, 476, 485, 363, 352, 206, 483, + 361, 351, 307, 326, 327, 263, 286, 412, 345, 413, + 287, 372, 371, 373, 198, 495, 0, 199, 0, 454, + 496, 527, 221, 222, 224, 0, 262, 266, 274, 276, + 282, 283, 290, 338, 387, 411, 409, 415, 0, 471, + 489, 500, 507, 513, 514, 516, 517, 518, 519, 520, + 522, 521, 375, 289, 450, 306, 343, 0, 0, 393, + 428, 227, 493, 451, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 528, 529, 530, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 546, 353, 441, 490, 308, 320, 323, + 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, + 324, 325, 329, 335, 235, 201, 359, 367, 0, 191, + 208, 339, 0, 416, 271, 524, 502, 498, 0, 210, + 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, + 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, + 303, 349, 355, 356, 357, 358, 377, 378, 379, 382, + 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, + 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, + 437, 438, 443, 444, 445, 446, 447, 455, 456, 460, + 478, 480, 492, 506, 511, 436, 281, 487, 512, 0, + 348, 0, 0, 350, 264, 284, 295, 0, 501, 457, + 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, + 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, + 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, + 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 384, 0, 0, 0, 0, + 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, + 250, 0, 0, 398, 0, 197, 0, 442, 237, 347, + 344, 475, 265, 256, 252, 236, 292, 354, 396, 462, + 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 298, 234, 300, 196, 381, 453, 269, 0, + 0, 0, 0, 188, 189, 190, 0, 1690, 0, 0, + 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, + 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, + 0, 0, 0, 0, 248, 296, 255, 247, 472, 0, + 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1691, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 279, 0, 370, 240, 0, 0, 0, 0, 508, 0, + 0, 0, 0, 0, 0, 0, 336, 0, 305, 192, + 212, 0, 0, 380, 423, 429, 0, 0, 0, 238, + 0, 427, 394, 491, 220, 267, 420, 400, 425, 407, + 270, 0, 0, 426, 342, 477, 414, 488, 509, 510, + 246, 374, 499, 466, 505, 523, 213, 243, 388, 459, + 494, 449, 366, 473, 474, 304, 448, 277, 195, 340, + 515, 211, 435, 229, 218, 479, 497, 272, 418, 203, + 461, 486, 226, 439, 0, 0, 525, 205, 484, 458, + 362, 301, 302, 204, 0, 419, 251, 275, 241, 383, + 481, 482, 239, 526, 215, 504, 207, 0, 503, 376, + 476, 485, 363, 352, 206, 483, 361, 351, 307, 326, + 327, 263, 286, 412, 345, 413, 287, 372, 371, 373, + 198, 495, 0, 199, 0, 454, 496, 527, 221, 222, + 224, 0, 262, 266, 274, 276, 282, 283, 290, 338, + 387, 411, 409, 415, 0, 471, 489, 500, 507, 513, + 514, 516, 517, 518, 519, 520, 522, 521, 375, 289, + 450, 306, 343, 0, 0, 393, 428, 227, 493, 451, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 528, 529, 530, 531, 532, 533, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 543, 544, 545, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 546, + 353, 441, 490, 308, 320, 323, 313, 332, 0, 333, + 309, 310, 315, 317, 318, 319, 324, 325, 329, 335, + 235, 201, 359, 367, 0, 191, 208, 339, 0, 416, + 271, 524, 502, 498, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, + 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, + 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, + 357, 358, 377, 378, 379, 382, 385, 386, 389, 391, + 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, + 422, 430, 431, 432, 433, 434, 437, 438, 443, 444, + 445, 446, 447, 455, 456, 460, 478, 480, 492, 506, + 511, 436, 281, 487, 512, 0, 348, 0, 0, 350, + 264, 284, 295, 0, 501, 457, 214, 424, 273, 202, + 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, + 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, + 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 384, 0, 0, 0, 0, 0, 0, 0, 0, + 253, 0, 0, 0, 0, 337, 250, 0, 0, 398, + 0, 197, 0, 442, 237, 347, 344, 475, 265, 256, + 252, 236, 292, 354, 396, 462, 390, 0, 341, 0, + 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, + 300, 196, 381, 453, 269, 0, 0, 0, 0, 188, + 189, 190, 0, 2158, 0, 0, 0, 0, 0, 0, + 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, + 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, + 248, 296, 255, 247, 472, 0, 0, 0, 0, 0, + 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 279, 0, 369, 240, 0, 0, 0, 0, 507, - 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, - 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, - 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, - 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, - 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, - 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, - 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, - 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, - 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, - 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, - 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, - 326, 327, 263, 286, 411, 345, 412, 287, 371, 370, - 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, - 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, - 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, - 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, - 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, - 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, + 0, 0, 0, 2159, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 279, 0, 370, 240, + 0, 0, 0, 0, 508, 0, 0, 0, 0, 0, + 0, 0, 336, 0, 305, 192, 212, 0, 0, 380, + 423, 429, 0, 0, 0, 238, 0, 427, 394, 491, + 220, 267, 420, 400, 425, 407, 270, 0, 0, 426, + 342, 477, 414, 488, 509, 510, 246, 374, 499, 466, + 505, 523, 213, 243, 388, 459, 494, 449, 366, 473, + 474, 304, 448, 277, 195, 340, 515, 211, 435, 229, + 218, 479, 497, 272, 418, 203, 461, 486, 226, 439, + 0, 0, 525, 205, 484, 458, 362, 301, 302, 204, + 0, 419, 251, 275, 241, 383, 481, 482, 239, 526, + 215, 504, 207, 0, 503, 376, 476, 485, 363, 352, + 206, 483, 361, 351, 307, 326, 327, 263, 286, 412, + 345, 413, 287, 372, 371, 373, 198, 495, 0, 199, + 0, 454, 496, 527, 221, 222, 224, 0, 262, 266, + 274, 276, 282, 283, 290, 338, 387, 411, 409, 415, + 0, 471, 489, 500, 507, 513, 514, 516, 517, 518, + 519, 520, 522, 521, 375, 289, 450, 306, 343, 0, + 0, 393, 428, 227, 493, 451, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 528, 529, 530, + 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, + 541, 542, 543, 544, 545, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 546, 353, 441, 490, 308, + 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, + 318, 319, 324, 325, 329, 335, 235, 201, 359, 367, + 0, 191, 208, 339, 0, 416, 271, 524, 502, 498, + 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, + 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, + 294, 297, 303, 349, 355, 356, 357, 358, 377, 378, + 379, 382, 385, 386, 389, 391, 392, 395, 399, 403, + 404, 405, 406, 408, 410, 417, 422, 430, 431, 432, + 433, 434, 437, 438, 443, 444, 445, 446, 447, 455, + 456, 460, 478, 480, 492, 506, 511, 436, 281, 487, + 512, 0, 348, 0, 0, 350, 264, 284, 295, 0, + 501, 457, 214, 424, 273, 202, 233, 217, 242, 257, + 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, + 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, + 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 384, 0, 0, + 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, + 0, 337, 250, 0, 0, 398, 0, 197, 0, 442, + 237, 347, 344, 475, 265, 256, 252, 236, 292, 354, + 396, 462, 390, 0, 341, 0, 0, 452, 369, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 298, 234, 300, 196, 381, 453, + 269, 0, 0, 0, 0, 188, 189, 190, 0, 0, + 0, 2143, 0, 0, 0, 2144, 0, 0, 225, 0, + 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, + 334, 0, 0, 0, 0, 0, 248, 296, 255, 247, + 472, 0, 0, 0, 0, 0, 0, 0, 216, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 279, 0, 370, 240, 0, 0, 0, 0, + 508, 0, 0, 0, 0, 0, 0, 0, 336, 0, + 305, 192, 212, 0, 0, 380, 423, 429, 0, 0, + 0, 238, 0, 427, 394, 491, 220, 267, 420, 400, + 425, 407, 270, 0, 0, 426, 342, 477, 414, 488, + 509, 510, 246, 374, 499, 466, 505, 523, 213, 243, + 388, 459, 494, 449, 366, 473, 474, 304, 448, 277, + 195, 340, 515, 211, 435, 229, 218, 479, 497, 272, + 418, 203, 461, 486, 226, 439, 0, 0, 525, 205, + 484, 458, 362, 301, 302, 204, 0, 419, 251, 275, + 241, 383, 481, 482, 239, 526, 215, 504, 207, 0, + 503, 376, 476, 485, 363, 352, 206, 483, 361, 351, + 307, 326, 327, 263, 286, 412, 345, 413, 287, 372, + 371, 373, 198, 495, 0, 199, 0, 454, 496, 527, + 221, 222, 224, 0, 262, 266, 274, 276, 282, 283, + 290, 338, 387, 411, 409, 415, 0, 471, 489, 500, + 507, 513, 514, 516, 517, 518, 519, 520, 522, 521, + 375, 289, 450, 306, 343, 0, 0, 393, 428, 227, + 493, 451, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 545, 353, 440, 489, 308, 320, 323, 313, 332, 0, - 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, - 335, 235, 201, 359, 0, 191, 208, 339, 0, 415, - 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, + 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 546, 353, 441, 490, 308, 320, 323, 313, 332, + 0, 333, 309, 310, 315, 317, 318, 319, 324, 325, + 329, 335, 235, 201, 359, 367, 0, 191, 208, 339, + 0, 416, 271, 524, 502, 498, 0, 210, 0, 245, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, + 261, 268, 280, 285, 288, 293, 294, 297, 303, 349, + 355, 356, 357, 358, 377, 378, 379, 382, 385, 386, + 389, 391, 392, 395, 399, 403, 404, 405, 406, 408, + 410, 417, 422, 430, 431, 432, 433, 434, 437, 438, + 443, 444, 445, 446, 447, 455, 456, 460, 478, 480, + 492, 506, 511, 436, 281, 487, 512, 0, 348, 0, + 0, 350, 264, 284, 295, 0, 501, 457, 214, 424, + 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, + 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, + 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, + 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 384, 0, 0, 0, 0, 0, 0, + 0, 0, 253, 1390, 0, 0, 0, 337, 250, 0, + 0, 398, 0, 197, 0, 442, 237, 347, 344, 475, + 265, 256, 252, 236, 292, 354, 396, 462, 390, 0, + 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 298, 234, 300, 196, 381, 453, 269, 0, 0, 0, + 0, 188, 189, 190, 0, 1389, 0, 0, 0, 0, + 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, + 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, + 0, 0, 248, 296, 255, 247, 472, 0, 0, 0, + 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, + 370, 240, 0, 0, 0, 0, 508, 0, 0, 0, + 0, 0, 0, 0, 336, 0, 305, 192, 212, 0, + 0, 380, 423, 429, 0, 0, 0, 238, 0, 427, + 394, 491, 220, 267, 420, 400, 425, 407, 270, 0, + 0, 426, 342, 477, 414, 488, 509, 510, 246, 374, + 499, 466, 505, 523, 213, 243, 388, 459, 494, 449, + 366, 473, 474, 304, 448, 277, 195, 340, 515, 211, + 435, 229, 218, 479, 497, 272, 418, 203, 461, 486, + 226, 439, 0, 0, 525, 205, 484, 458, 362, 301, + 302, 204, 0, 419, 251, 275, 241, 383, 481, 482, + 239, 526, 215, 504, 207, 0, 503, 376, 476, 485, + 363, 352, 206, 483, 361, 351, 307, 326, 327, 263, + 286, 412, 345, 413, 287, 372, 371, 373, 198, 495, + 0, 199, 0, 454, 496, 527, 221, 222, 224, 0, + 262, 266, 274, 276, 282, 283, 290, 338, 387, 411, + 409, 415, 0, 471, 489, 500, 507, 513, 514, 516, + 517, 518, 519, 520, 522, 521, 375, 289, 450, 306, + 343, 0, 0, 393, 428, 227, 493, 451, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 528, + 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, + 539, 540, 541, 542, 543, 544, 545, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 546, 353, 441, + 490, 308, 320, 323, 313, 332, 0, 333, 309, 310, + 315, 317, 318, 319, 324, 325, 329, 335, 235, 201, + 359, 367, 0, 191, 208, 339, 0, 416, 271, 524, + 502, 498, 0, 210, 0, 245, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, + 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, + 288, 293, 294, 297, 303, 349, 355, 356, 357, 358, + 377, 378, 379, 382, 385, 386, 389, 391, 392, 395, + 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, + 431, 432, 433, 434, 437, 438, 443, 444, 445, 446, + 447, 455, 456, 460, 478, 480, 492, 506, 511, 436, + 281, 487, 512, 0, 348, 0, 0, 350, 264, 284, + 295, 0, 501, 457, 214, 424, 273, 202, 233, 217, + 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, + 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, + 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, + 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, + 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, + 0, 442, 237, 347, 344, 475, 265, 256, 252, 236, + 292, 354, 396, 462, 390, 0, 341, 0, 0, 452, + 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, + 381, 453, 269, 0, 0, 0, 0, 188, 189, 190, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, + 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, + 255, 247, 472, 0, 0, 0, 0, 0, 0, 0, + 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 279, 0, 370, 240, 0, 0, + 0, 0, 508, 0, 0, 0, 3002, 0, 0, 0, + 336, 0, 305, 192, 212, 0, 0, 380, 423, 429, + 0, 0, 0, 238, 0, 427, 394, 491, 220, 267, + 420, 400, 425, 407, 270, 0, 0, 426, 342, 477, + 414, 488, 509, 510, 246, 374, 499, 466, 505, 523, + 213, 243, 388, 459, 494, 449, 366, 473, 474, 304, + 448, 277, 195, 340, 515, 211, 435, 229, 218, 479, + 497, 272, 418, 203, 461, 486, 226, 439, 0, 0, + 525, 205, 484, 458, 362, 301, 302, 204, 0, 419, + 251, 275, 241, 383, 481, 482, 239, 526, 215, 504, + 207, 0, 503, 376, 476, 485, 363, 352, 206, 483, + 361, 351, 307, 326, 327, 263, 286, 412, 345, 413, + 287, 372, 371, 373, 198, 495, 0, 199, 0, 454, + 496, 527, 221, 222, 224, 0, 262, 266, 274, 276, + 282, 283, 290, 338, 387, 411, 409, 415, 0, 471, + 489, 500, 507, 513, 514, 516, 517, 518, 519, 520, + 522, 521, 375, 289, 450, 306, 343, 0, 0, 393, + 428, 227, 493, 451, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 528, 529, 530, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 546, 353, 441, 490, 308, 320, 323, + 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, + 324, 325, 329, 335, 235, 201, 359, 367, 0, 191, + 208, 339, 0, 416, 271, 524, 502, 498, 0, 210, + 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, + 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, + 303, 349, 355, 356, 357, 358, 377, 378, 379, 382, + 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, + 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, + 437, 438, 443, 444, 445, 446, 447, 455, 456, 460, + 478, 480, 492, 506, 511, 436, 281, 487, 512, 0, + 348, 0, 0, 350, 264, 284, 295, 0, 501, 457, + 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, + 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, + 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, + 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 384, 0, 0, 0, 0, + 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, + 250, 0, 0, 398, 0, 197, 0, 442, 237, 347, + 344, 475, 265, 256, 252, 236, 292, 354, 396, 462, + 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 298, 234, 300, 196, 381, 453, 269, 0, + 0, 0, 0, 188, 189, 190, 0, 1547, 0, 0, + 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, + 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, + 0, 0, 0, 0, 248, 296, 255, 247, 472, 0, + 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 279, 0, 370, 240, 0, 0, 0, 0, 508, 0, + 0, 0, 0, 0, 0, 0, 336, 0, 305, 192, + 212, 0, 0, 380, 423, 429, 0, 0, 0, 238, + 0, 427, 394, 491, 220, 267, 420, 400, 425, 407, + 270, 0, 0, 426, 342, 477, 414, 488, 509, 510, + 246, 374, 499, 466, 505, 523, 213, 243, 388, 459, + 494, 449, 366, 473, 474, 304, 448, 277, 195, 340, + 515, 211, 435, 229, 218, 479, 497, 272, 418, 203, + 461, 486, 226, 439, 0, 0, 525, 205, 484, 458, + 362, 301, 302, 204, 0, 419, 251, 275, 241, 383, + 481, 482, 239, 526, 215, 504, 207, 0, 503, 376, + 476, 485, 363, 352, 206, 483, 361, 351, 307, 326, + 327, 263, 286, 412, 345, 413, 287, 372, 371, 373, + 198, 495, 0, 199, 0, 454, 496, 527, 221, 222, + 224, 0, 262, 266, 274, 276, 282, 283, 290, 338, + 387, 411, 409, 415, 0, 471, 489, 500, 507, 513, + 514, 516, 517, 518, 519, 520, 522, 521, 375, 289, + 450, 306, 343, 0, 0, 393, 428, 227, 493, 451, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 528, 529, 530, 531, 532, 533, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 543, 544, 545, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 546, + 353, 441, 490, 308, 320, 323, 313, 332, 0, 333, + 309, 310, 315, 317, 318, 319, 324, 325, 329, 335, + 235, 201, 359, 367, 0, 191, 208, 339, 0, 416, + 271, 524, 502, 498, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, - 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, - 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, - 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, - 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, - 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, - 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, - 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, - 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, - 364, 249, 400, 0, 365, 346, 468, 469, 291, 467, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 383, 0, 0, 0, 0, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 337, 250, 0, 0, 397, - 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, - 252, 236, 292, 354, 395, 461, 389, 0, 341, 0, - 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, + 357, 358, 377, 378, 379, 382, 385, 386, 389, 391, + 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, + 422, 430, 431, 432, 433, 434, 437, 438, 443, 444, + 445, 446, 447, 455, 456, 460, 478, 480, 492, 506, + 511, 436, 281, 487, 512, 0, 348, 0, 0, 350, + 264, 284, 295, 0, 501, 457, 214, 424, 273, 202, + 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, + 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, + 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 384, 0, 0, 0, 0, 0, 0, 0, 0, + 253, 0, 0, 0, 0, 337, 250, 0, 0, 398, + 0, 197, 0, 442, 237, 347, 344, 475, 265, 256, + 252, 236, 292, 354, 396, 462, 390, 0, 341, 0, + 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, - 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, + 300, 196, 381, 453, 269, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, - 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, + 248, 296, 255, 247, 472, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5508,118 +4356,300 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, - 0, 0, 0, 0, 507, 0, 0, 0, 0, 0, - 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, - 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, - 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, - 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, - 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, - 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, - 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, - 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, - 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, - 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, - 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, - 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, - 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, - 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, - 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, - 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, - 0, 392, 427, 227, 492, 450, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 545, 353, 440, 489, 308, + 0, 0, 0, 0, 0, 0, 279, 0, 370, 240, + 0, 0, 0, 0, 508, 0, 0, 0, 2909, 0, + 0, 0, 336, 0, 305, 192, 212, 0, 0, 380, + 423, 429, 0, 0, 0, 238, 0, 427, 394, 491, + 220, 267, 420, 400, 425, 407, 270, 0, 0, 426, + 342, 477, 414, 488, 509, 510, 246, 374, 499, 466, + 505, 523, 213, 243, 388, 459, 494, 449, 366, 473, + 474, 304, 448, 277, 195, 340, 515, 211, 435, 229, + 218, 479, 497, 272, 418, 203, 461, 486, 226, 439, + 0, 0, 525, 205, 484, 458, 362, 301, 302, 204, + 0, 419, 251, 275, 241, 383, 481, 482, 239, 526, + 215, 504, 207, 0, 503, 376, 476, 485, 363, 352, + 206, 483, 361, 351, 307, 326, 327, 263, 286, 412, + 345, 413, 287, 372, 371, 373, 198, 495, 0, 199, + 0, 454, 496, 527, 221, 222, 224, 0, 262, 266, + 274, 276, 282, 283, 290, 338, 387, 411, 409, 415, + 0, 471, 489, 500, 507, 513, 514, 516, 517, 518, + 519, 520, 522, 521, 375, 289, 450, 306, 343, 0, + 0, 393, 428, 227, 493, 451, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 528, 529, 530, + 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, + 541, 542, 543, 544, 545, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 546, 353, 441, 490, 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, - 318, 319, 324, 325, 329, 335, 235, 201, 359, 0, - 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, - 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 783, 0, 0, 0, 193, 194, 200, 209, 219, 223, - 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, - 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, - 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, - 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, - 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, - 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, - 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, - 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, - 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, - 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, - 346, 468, 469, 291, 467, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, - 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, - 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, - 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, - 461, 389, 0, 341, 0, 0, 451, 368, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, - 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, - 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, - 0, 0, 0, 0, 0, 248, 296, 255, 247, 471, - 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 602, - 0, 279, 0, 369, 240, 0, 0, 0, 0, 507, - 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, - 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, - 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, - 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, - 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, - 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, - 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, - 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, - 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, - 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, - 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, - 326, 327, 263, 286, 411, 345, 412, 287, 371, 370, - 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, - 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, - 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, - 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, - 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, - 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, + 318, 319, 324, 325, 329, 335, 235, 201, 359, 367, + 0, 191, 208, 339, 0, 416, 271, 524, 502, 498, + 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, + 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, + 294, 297, 303, 349, 355, 356, 357, 358, 377, 378, + 379, 382, 385, 386, 389, 391, 392, 395, 399, 403, + 404, 405, 406, 408, 410, 417, 422, 430, 431, 432, + 433, 434, 437, 438, 443, 444, 445, 446, 447, 455, + 456, 460, 478, 480, 492, 506, 511, 436, 281, 487, + 512, 0, 348, 0, 0, 350, 264, 284, 295, 0, + 501, 457, 214, 424, 273, 202, 233, 217, 242, 257, + 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, + 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, + 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 384, 0, 0, + 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, + 0, 337, 250, 0, 0, 398, 0, 197, 0, 442, + 237, 347, 344, 475, 265, 256, 252, 236, 292, 354, + 396, 462, 390, 0, 341, 0, 0, 452, 369, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 298, 234, 300, 196, 381, 453, + 269, 0, 87, 0, 0, 188, 189, 190, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, + 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, + 334, 0, 0, 0, 0, 0, 248, 296, 255, 247, + 472, 0, 0, 0, 0, 0, 0, 0, 216, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 279, 0, 370, 240, 0, 0, 0, 0, + 508, 0, 0, 0, 0, 0, 0, 0, 336, 0, + 305, 192, 212, 0, 0, 380, 423, 429, 0, 0, + 0, 238, 0, 427, 394, 491, 220, 267, 420, 400, + 425, 407, 270, 0, 0, 426, 342, 477, 414, 488, + 509, 510, 246, 374, 499, 466, 505, 523, 213, 243, + 388, 459, 494, 449, 366, 473, 474, 304, 448, 277, + 195, 340, 515, 211, 435, 229, 218, 479, 497, 272, + 418, 203, 461, 486, 226, 439, 0, 0, 525, 205, + 484, 458, 362, 301, 302, 204, 0, 419, 251, 275, + 241, 383, 481, 482, 239, 526, 215, 504, 207, 0, + 503, 376, 476, 485, 363, 352, 206, 483, 361, 351, + 307, 326, 327, 263, 286, 412, 345, 413, 287, 372, + 371, 373, 198, 495, 0, 199, 0, 454, 496, 527, + 221, 222, 224, 0, 262, 266, 274, 276, 282, 283, + 290, 338, 387, 411, 409, 415, 0, 471, 489, 500, + 507, 513, 514, 516, 517, 518, 519, 520, 522, 521, + 375, 289, 450, 306, 343, 0, 0, 393, 428, 227, + 493, 451, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 545, 353, 440, 489, 308, 320, 323, 313, 332, 0, - 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, - 335, 235, 201, 359, 0, 191, 208, 339, 0, 415, - 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, + 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 546, 353, 441, 490, 308, 320, 323, 313, 332, + 0, 333, 309, 310, 315, 317, 318, 319, 324, 325, + 329, 335, 235, 201, 359, 367, 0, 191, 208, 339, + 0, 416, 271, 524, 502, 498, 0, 210, 0, 245, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, + 261, 268, 280, 285, 288, 293, 294, 297, 303, 349, + 355, 356, 357, 358, 377, 378, 379, 382, 385, 386, + 389, 391, 392, 395, 399, 403, 404, 405, 406, 408, + 410, 417, 422, 430, 431, 432, 433, 434, 437, 438, + 443, 444, 445, 446, 447, 455, 456, 460, 478, 480, + 492, 506, 511, 436, 281, 487, 512, 0, 348, 0, + 0, 350, 264, 284, 295, 0, 501, 457, 214, 424, + 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, + 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, + 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, + 291, 468, 0, 0, 0, 0, 1861, 0, 0, 0, + 0, 0, 0, 384, 0, 0, 0, 0, 0, 0, + 0, 0, 253, 0, 0, 0, 0, 337, 250, 0, + 0, 398, 0, 197, 0, 442, 237, 347, 344, 475, + 265, 256, 252, 236, 292, 354, 396, 462, 390, 0, + 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 298, 234, 300, 196, 381, 453, 269, 0, 0, 0, + 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, + 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, + 0, 0, 248, 296, 255, 247, 472, 0, 0, 0, + 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, + 370, 240, 0, 0, 0, 0, 508, 0, 0, 0, + 0, 0, 0, 0, 336, 0, 305, 192, 212, 0, + 0, 380, 423, 429, 0, 0, 0, 238, 0, 427, + 394, 491, 220, 267, 420, 400, 425, 407, 270, 0, + 0, 426, 342, 477, 414, 488, 509, 510, 246, 374, + 499, 466, 505, 523, 213, 243, 388, 459, 494, 449, + 366, 473, 474, 304, 448, 277, 195, 340, 515, 211, + 435, 229, 218, 479, 497, 272, 418, 203, 461, 486, + 226, 439, 0, 0, 525, 205, 484, 458, 362, 301, + 302, 204, 0, 419, 251, 275, 241, 383, 481, 482, + 239, 526, 215, 504, 207, 0, 503, 376, 476, 485, + 363, 352, 206, 483, 361, 351, 307, 326, 327, 263, + 286, 412, 345, 413, 287, 372, 371, 373, 198, 495, + 0, 199, 0, 454, 496, 527, 221, 222, 224, 0, + 262, 266, 274, 276, 282, 283, 290, 338, 387, 411, + 409, 415, 0, 471, 489, 500, 507, 513, 514, 516, + 517, 518, 519, 520, 522, 521, 375, 289, 450, 306, + 343, 0, 0, 393, 428, 227, 493, 451, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 528, + 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, + 539, 540, 541, 542, 543, 544, 545, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 546, 353, 441, + 490, 308, 320, 323, 313, 332, 0, 333, 309, 310, + 315, 317, 318, 319, 324, 325, 329, 335, 235, 201, + 359, 367, 0, 191, 208, 339, 0, 416, 271, 524, + 502, 498, 0, 210, 0, 245, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, + 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, + 288, 293, 294, 297, 303, 349, 355, 356, 357, 358, + 377, 378, 379, 382, 385, 386, 389, 391, 392, 395, + 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, + 431, 432, 433, 434, 437, 438, 443, 444, 445, 446, + 447, 455, 456, 460, 478, 480, 492, 506, 511, 436, + 281, 487, 512, 0, 348, 0, 0, 350, 264, 284, + 295, 0, 501, 457, 214, 424, 273, 202, 233, 217, + 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, + 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, + 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, + 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, + 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, + 0, 442, 237, 347, 344, 475, 265, 256, 252, 236, + 292, 354, 396, 462, 390, 0, 341, 0, 0, 452, + 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, + 381, 453, 269, 0, 0, 0, 0, 188, 189, 190, + 0, 1369, 0, 0, 0, 0, 0, 0, 0, 0, + 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, + 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, + 255, 247, 472, 0, 0, 0, 0, 0, 0, 0, + 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 279, 0, 370, 240, 0, 0, + 0, 0, 508, 0, 0, 0, 0, 0, 0, 0, + 336, 0, 305, 192, 212, 0, 0, 380, 423, 429, + 0, 0, 0, 238, 0, 427, 394, 491, 220, 267, + 420, 400, 425, 407, 270, 0, 0, 426, 342, 477, + 414, 488, 509, 510, 246, 374, 499, 466, 505, 523, + 213, 243, 388, 459, 494, 449, 366, 473, 474, 304, + 448, 277, 195, 340, 515, 211, 435, 229, 218, 479, + 497, 272, 418, 203, 461, 486, 226, 439, 0, 0, + 525, 205, 484, 458, 362, 301, 302, 204, 0, 419, + 251, 275, 241, 383, 481, 482, 239, 526, 215, 504, + 207, 0, 503, 376, 476, 485, 363, 352, 206, 483, + 361, 351, 307, 326, 327, 263, 286, 412, 345, 413, + 287, 372, 371, 373, 198, 495, 0, 199, 0, 454, + 496, 527, 221, 222, 224, 0, 262, 266, 274, 276, + 282, 283, 290, 338, 387, 411, 409, 415, 0, 471, + 489, 500, 507, 513, 514, 516, 517, 518, 519, 520, + 522, 521, 375, 289, 450, 306, 343, 0, 0, 393, + 428, 227, 493, 451, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 528, 529, 530, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 546, 353, 441, 490, 308, 320, 323, + 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, + 324, 325, 329, 335, 235, 201, 359, 367, 0, 191, + 208, 339, 0, 416, 271, 524, 502, 498, 0, 210, + 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, + 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, + 303, 349, 355, 356, 357, 358, 377, 378, 379, 382, + 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, + 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, + 437, 438, 443, 444, 445, 446, 447, 455, 456, 460, + 478, 480, 492, 506, 511, 436, 281, 487, 512, 0, + 348, 0, 0, 350, 264, 284, 295, 0, 501, 457, + 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, + 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, + 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, + 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 384, 0, 0, 0, 0, + 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, + 250, 0, 0, 398, 0, 197, 0, 442, 237, 347, + 344, 475, 265, 256, 252, 236, 292, 354, 396, 462, + 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 298, 234, 300, 196, 381, 453, 269, 0, + 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, + 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, + 0, 0, 0, 0, 248, 296, 255, 247, 472, 0, + 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1225, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 279, 0, 370, 240, 0, 0, 0, 0, 508, 0, + 0, 0, 0, 0, 0, 0, 336, 0, 305, 192, + 212, 0, 0, 380, 423, 429, 0, 0, 0, 238, + 0, 427, 394, 491, 220, 267, 420, 400, 425, 407, + 270, 0, 0, 426, 342, 477, 414, 488, 509, 510, + 246, 374, 499, 466, 505, 523, 213, 243, 388, 459, + 494, 449, 366, 473, 474, 304, 448, 277, 195, 340, + 515, 211, 435, 229, 218, 479, 497, 272, 418, 203, + 461, 486, 226, 439, 0, 0, 525, 205, 484, 458, + 362, 301, 302, 204, 0, 419, 251, 275, 241, 383, + 481, 482, 239, 526, 215, 504, 207, 0, 503, 376, + 476, 485, 363, 352, 206, 483, 361, 351, 307, 326, + 327, 263, 286, 412, 345, 413, 287, 372, 371, 373, + 198, 495, 0, 199, 0, 454, 496, 527, 221, 222, + 224, 0, 262, 266, 274, 276, 282, 283, 290, 338, + 387, 411, 409, 415, 0, 471, 489, 500, 507, 513, + 514, 516, 517, 518, 519, 520, 522, 521, 375, 289, + 450, 306, 343, 0, 0, 393, 428, 227, 493, 451, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 528, 529, 530, 531, 532, 533, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 543, 544, 545, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 546, + 353, 441, 490, 308, 320, 323, 313, 332, 0, 333, + 309, 310, 315, 317, 318, 319, 324, 325, 329, 335, + 235, 201, 359, 367, 0, 191, 208, 339, 0, 416, + 271, 524, 502, 498, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, - 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, - 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, - 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, - 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, - 510, 435, 601, 486, 511, 0, 348, 0, 0, 350, - 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, - 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, - 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, - 364, 249, 400, 0, 365, 346, 468, 469, 291, 467, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 383, 0, 0, 0, 0, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 337, 250, 0, 0, 397, - 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, - 252, 236, 292, 354, 395, 461, 389, 0, 341, 0, - 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, + 357, 358, 377, 378, 379, 382, 385, 386, 389, 391, + 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, + 422, 430, 431, 432, 433, 434, 437, 438, 443, 444, + 445, 446, 447, 455, 456, 460, 478, 480, 492, 506, + 511, 436, 281, 487, 512, 0, 348, 0, 0, 350, + 264, 284, 295, 0, 501, 457, 214, 424, 273, 202, + 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, + 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, + 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 384, 0, 0, 0, 0, 0, 0, 0, 0, + 253, 0, 0, 0, 0, 337, 250, 0, 0, 398, + 0, 197, 0, 442, 237, 347, 344, 475, 265, 256, + 252, 236, 292, 354, 396, 462, 390, 0, 341, 0, + 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, - 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, + 300, 196, 381, 453, 269, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, - 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, + 248, 296, 255, 247, 472, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5629,118 +4659,300 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, - 0, 0, 548, 0, 507, 0, 0, 0, 0, 0, - 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, - 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, - 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, - 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, - 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, - 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, - 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, - 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, - 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, - 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, - 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, - 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, - 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, - 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, - 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, - 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, - 0, 392, 427, 227, 492, 450, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 545, 353, 440, 489, 308, + 0, 0, 0, 0, 0, 0, 279, 0, 370, 240, + 0, 0, 0, 0, 508, 0, 0, 0, 0, 0, + 0, 0, 336, 0, 305, 192, 212, 0, 0, 380, + 423, 429, 0, 0, 0, 238, 0, 427, 394, 491, + 220, 267, 420, 400, 425, 407, 270, 0, 0, 426, + 342, 477, 414, 488, 509, 510, 246, 374, 499, 466, + 505, 523, 213, 243, 388, 459, 494, 449, 366, 473, + 474, 304, 448, 277, 195, 340, 515, 211, 435, 229, + 218, 479, 497, 272, 418, 203, 461, 486, 226, 439, + 0, 0, 525, 205, 484, 458, 362, 301, 302, 204, + 0, 419, 251, 275, 241, 383, 481, 482, 239, 526, + 215, 504, 207, 0, 503, 376, 476, 485, 363, 352, + 206, 483, 361, 351, 307, 326, 327, 263, 286, 412, + 345, 413, 287, 372, 371, 373, 198, 495, 0, 199, + 0, 454, 496, 527, 221, 222, 224, 0, 262, 266, + 274, 276, 282, 283, 290, 338, 387, 411, 409, 415, + 0, 471, 489, 500, 507, 513, 514, 516, 517, 518, + 519, 520, 522, 521, 375, 289, 450, 306, 343, 0, + 0, 393, 428, 227, 493, 451, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 528, 529, 530, + 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, + 541, 542, 543, 544, 545, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 546, 353, 441, 490, 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, - 318, 319, 324, 325, 329, 335, 235, 201, 359, 0, - 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, - 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, - 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, - 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, - 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, - 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, - 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, - 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, - 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, - 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, - 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, - 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, - 346, 468, 469, 291, 467, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, - 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, - 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, - 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, - 461, 389, 0, 341, 0, 0, 451, 368, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, - 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, - 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, - 0, 0, 0, 0, 0, 248, 296, 255, 247, 471, - 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 279, 0, 369, 240, 0, 0, 0, 0, 507, - 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, - 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, - 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, - 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, - 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, - 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, - 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, - 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, - 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, - 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, - 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, - 326, 327, 263, 286, 411, 345, 412, 287, 371, 370, - 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, - 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, - 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, - 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, - 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, - 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, + 318, 319, 324, 325, 329, 335, 235, 201, 359, 367, + 0, 191, 208, 339, 1645, 416, 271, 524, 502, 498, + 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, + 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, + 294, 297, 303, 349, 355, 356, 357, 358, 377, 378, + 379, 382, 385, 386, 389, 391, 392, 395, 399, 403, + 404, 405, 406, 408, 410, 417, 422, 430, 431, 432, + 433, 434, 437, 438, 443, 444, 445, 446, 447, 455, + 456, 460, 478, 480, 492, 506, 511, 436, 281, 487, + 512, 0, 348, 0, 0, 350, 264, 284, 295, 0, + 501, 457, 214, 424, 273, 202, 233, 217, 242, 257, + 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, + 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, + 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 384, 0, 1515, + 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, + 0, 337, 250, 0, 0, 398, 0, 197, 0, 442, + 237, 347, 344, 475, 265, 256, 252, 236, 292, 354, + 396, 462, 390, 0, 341, 0, 0, 452, 369, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 298, 234, 300, 196, 381, 453, + 269, 0, 0, 0, 0, 188, 189, 190, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, + 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, + 334, 0, 0, 0, 0, 0, 248, 296, 255, 247, + 472, 0, 0, 0, 0, 0, 0, 0, 216, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 279, 0, 370, 240, 0, 0, 0, 0, + 508, 0, 0, 0, 0, 0, 0, 0, 336, 0, + 305, 192, 212, 0, 0, 380, 423, 429, 0, 0, + 0, 238, 0, 427, 394, 491, 220, 267, 420, 400, + 425, 407, 270, 0, 0, 426, 342, 477, 414, 488, + 509, 510, 246, 374, 499, 466, 505, 523, 213, 243, + 388, 459, 494, 449, 366, 473, 474, 304, 448, 277, + 195, 340, 515, 211, 435, 229, 218, 479, 497, 272, + 418, 203, 461, 486, 226, 439, 0, 0, 525, 205, + 484, 458, 362, 301, 302, 204, 0, 419, 251, 275, + 241, 383, 481, 482, 239, 526, 215, 504, 207, 0, + 503, 376, 476, 485, 363, 352, 206, 483, 361, 351, + 307, 326, 327, 263, 286, 412, 345, 413, 287, 372, + 371, 373, 198, 495, 0, 199, 0, 454, 496, 527, + 221, 222, 224, 0, 262, 266, 274, 276, 282, 283, + 290, 338, 387, 411, 409, 415, 0, 471, 489, 500, + 507, 513, 514, 516, 517, 518, 519, 520, 522, 521, + 375, 289, 450, 306, 343, 0, 0, 393, 428, 227, + 493, 451, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 545, 353, 440, 489, 308, 320, 323, 313, 332, 0, - 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, - 335, 235, 201, 359, 0, 191, 208, 339, 0, 415, - 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, + 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 546, 353, 441, 490, 308, 320, 323, 313, 332, + 0, 333, 309, 310, 315, 317, 318, 319, 324, 325, + 329, 335, 235, 201, 359, 367, 0, 191, 208, 339, + 0, 416, 271, 524, 502, 498, 0, 210, 0, 245, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, + 261, 268, 280, 285, 288, 293, 294, 297, 303, 349, + 355, 356, 357, 358, 377, 378, 379, 382, 385, 386, + 389, 391, 392, 395, 399, 403, 404, 405, 406, 408, + 410, 417, 422, 430, 431, 432, 433, 434, 437, 438, + 443, 444, 445, 446, 447, 455, 456, 460, 478, 480, + 492, 506, 511, 436, 281, 487, 512, 0, 348, 0, + 0, 350, 264, 284, 295, 0, 501, 457, 214, 424, + 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, + 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, + 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, + 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 384, 0, 1513, 0, 0, 0, 0, + 0, 0, 253, 0, 0, 0, 0, 337, 250, 0, + 0, 398, 0, 197, 0, 442, 237, 347, 344, 475, + 265, 256, 252, 236, 292, 354, 396, 462, 390, 0, + 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 298, 234, 300, 196, 381, 453, 269, 0, 0, 0, + 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, + 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, + 0, 0, 248, 296, 255, 247, 472, 0, 0, 0, + 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, + 370, 240, 0, 0, 0, 0, 508, 0, 0, 0, + 0, 0, 0, 0, 336, 0, 305, 192, 212, 0, + 0, 380, 423, 429, 0, 0, 0, 238, 0, 427, + 394, 491, 220, 267, 420, 400, 425, 407, 270, 0, + 0, 426, 342, 477, 414, 488, 509, 510, 246, 374, + 499, 466, 505, 523, 213, 243, 388, 459, 494, 449, + 366, 473, 474, 304, 448, 277, 195, 340, 515, 211, + 435, 229, 218, 479, 497, 272, 418, 203, 461, 486, + 226, 439, 0, 0, 525, 205, 484, 458, 362, 301, + 302, 204, 0, 419, 251, 275, 241, 383, 481, 482, + 239, 526, 215, 504, 207, 0, 503, 376, 476, 485, + 363, 352, 206, 483, 361, 351, 307, 326, 327, 263, + 286, 412, 345, 413, 287, 372, 371, 373, 198, 495, + 0, 199, 0, 454, 496, 527, 221, 222, 224, 0, + 262, 266, 274, 276, 282, 283, 290, 338, 387, 411, + 409, 415, 0, 471, 489, 500, 507, 513, 514, 516, + 517, 518, 519, 520, 522, 521, 375, 289, 450, 306, + 343, 0, 0, 393, 428, 227, 493, 451, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 528, + 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, + 539, 540, 541, 542, 543, 544, 545, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 546, 353, 441, + 490, 308, 320, 323, 313, 332, 0, 333, 309, 310, + 315, 317, 318, 319, 324, 325, 329, 335, 235, 201, + 359, 367, 0, 191, 208, 339, 0, 416, 271, 524, + 502, 498, 0, 210, 0, 245, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, + 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, + 288, 293, 294, 297, 303, 349, 355, 356, 357, 358, + 377, 378, 379, 382, 385, 386, 389, 391, 392, 395, + 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, + 431, 432, 433, 434, 437, 438, 443, 444, 445, 446, + 447, 455, 456, 460, 478, 480, 492, 506, 511, 436, + 281, 487, 512, 0, 348, 0, 0, 350, 264, 284, + 295, 0, 501, 457, 214, 424, 273, 202, 233, 217, + 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, + 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, + 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, + 0, 1511, 0, 0, 0, 0, 0, 0, 253, 0, + 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, + 0, 442, 237, 347, 344, 475, 265, 256, 252, 236, + 292, 354, 396, 462, 390, 0, 341, 0, 0, 452, + 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, + 381, 453, 269, 0, 0, 0, 0, 188, 189, 190, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, + 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, + 255, 247, 472, 0, 0, 0, 0, 0, 0, 0, + 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 279, 0, 370, 240, 0, 0, + 0, 0, 508, 0, 0, 0, 0, 0, 0, 0, + 336, 0, 305, 192, 212, 0, 0, 380, 423, 429, + 0, 0, 0, 238, 0, 427, 394, 491, 220, 267, + 420, 400, 425, 407, 270, 0, 0, 426, 342, 477, + 414, 488, 509, 510, 246, 374, 499, 466, 505, 523, + 213, 243, 388, 459, 494, 449, 366, 473, 474, 304, + 448, 277, 195, 340, 515, 211, 435, 229, 218, 479, + 497, 272, 418, 203, 461, 486, 226, 439, 0, 0, + 525, 205, 484, 458, 362, 301, 302, 204, 0, 419, + 251, 275, 241, 383, 481, 482, 239, 526, 215, 504, + 207, 0, 503, 376, 476, 485, 363, 352, 206, 483, + 361, 351, 307, 326, 327, 263, 286, 412, 345, 413, + 287, 372, 371, 373, 198, 495, 0, 199, 0, 454, + 496, 527, 221, 222, 224, 0, 262, 266, 274, 276, + 282, 283, 290, 338, 387, 411, 409, 415, 0, 471, + 489, 500, 507, 513, 514, 516, 517, 518, 519, 520, + 522, 521, 375, 289, 450, 306, 343, 0, 0, 393, + 428, 227, 493, 451, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 528, 529, 530, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 546, 353, 441, 490, 308, 320, 323, + 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, + 324, 325, 329, 335, 235, 201, 359, 367, 0, 191, + 208, 339, 0, 416, 271, 524, 502, 498, 0, 210, + 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, + 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, + 303, 349, 355, 356, 357, 358, 377, 378, 379, 382, + 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, + 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, + 437, 438, 443, 444, 445, 446, 447, 455, 456, 460, + 478, 480, 492, 506, 511, 436, 281, 487, 512, 0, + 348, 0, 0, 350, 264, 284, 295, 0, 501, 457, + 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, + 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, + 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, + 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 384, 0, 1509, 0, 0, + 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, + 250, 0, 0, 398, 0, 197, 0, 442, 237, 347, + 344, 475, 265, 256, 252, 236, 292, 354, 396, 462, + 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 298, 234, 300, 196, 381, 453, 269, 0, + 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, + 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, + 0, 0, 0, 0, 248, 296, 255, 247, 472, 0, + 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 279, 0, 370, 240, 0, 0, 0, 0, 508, 0, + 0, 0, 0, 0, 0, 0, 336, 0, 305, 192, + 212, 0, 0, 380, 423, 429, 0, 0, 0, 238, + 0, 427, 394, 491, 220, 267, 420, 400, 425, 407, + 270, 0, 0, 426, 342, 477, 414, 488, 509, 510, + 246, 374, 499, 466, 505, 523, 213, 243, 388, 459, + 494, 449, 366, 473, 474, 304, 448, 277, 195, 340, + 515, 211, 435, 229, 218, 479, 497, 272, 418, 203, + 461, 486, 226, 439, 0, 0, 525, 205, 484, 458, + 362, 301, 302, 204, 0, 419, 251, 275, 241, 383, + 481, 482, 239, 526, 215, 504, 207, 0, 503, 376, + 476, 485, 363, 352, 206, 483, 361, 351, 307, 326, + 327, 263, 286, 412, 345, 413, 287, 372, 371, 373, + 198, 495, 0, 199, 0, 454, 496, 527, 221, 222, + 224, 0, 262, 266, 274, 276, 282, 283, 290, 338, + 387, 411, 409, 415, 0, 471, 489, 500, 507, 513, + 514, 516, 517, 518, 519, 520, 522, 521, 375, 289, + 450, 306, 343, 0, 0, 393, 428, 227, 493, 451, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 528, 529, 530, 531, 532, 533, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 543, 544, 545, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 546, + 353, 441, 490, 308, 320, 323, 313, 332, 0, 333, + 309, 310, 315, 317, 318, 319, 324, 325, 329, 335, + 235, 201, 359, 367, 0, 191, 208, 339, 0, 416, + 271, 524, 502, 498, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, - 357, 358, 3001, 377, 378, 381, 384, 385, 388, 390, - 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, - 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, - 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, - 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, - 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, - 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, - 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, - 364, 249, 400, 0, 365, 346, 468, 469, 291, 467, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 383, 0, 0, 0, 0, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 337, 250, 0, 0, 397, - 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, - 252, 236, 292, 354, 395, 461, 389, 0, 341, 0, - 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, + 357, 358, 377, 378, 379, 382, 385, 386, 389, 391, + 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, + 422, 430, 431, 432, 433, 434, 437, 438, 443, 444, + 445, 446, 447, 455, 456, 460, 478, 480, 492, 506, + 511, 436, 281, 487, 512, 0, 348, 0, 0, 350, + 264, 284, 295, 0, 501, 457, 214, 424, 273, 202, + 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, + 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, + 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 384, 0, 1507, 0, 0, 0, 0, 0, 0, + 253, 0, 0, 0, 0, 337, 250, 0, 0, 398, + 0, 197, 0, 442, 237, 347, 344, 475, 265, 256, + 252, 236, 292, 354, 396, 462, 390, 0, 341, 0, + 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, - 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, + 300, 196, 381, 453, 269, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, - 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, + 248, 296, 255, 247, 472, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5750,60 +4962,302 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, - 0, 0, 0, 0, 507, 0, 0, 0, 0, 0, - 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, - 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, - 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, - 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, - 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, - 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, - 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, - 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, - 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, - 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, - 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, - 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, - 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, - 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, - 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, - 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, - 0, 392, 427, 227, 492, 450, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 545, 353, 440, 489, 308, + 0, 0, 0, 0, 0, 0, 279, 0, 370, 240, + 0, 0, 0, 0, 508, 0, 0, 0, 0, 0, + 0, 0, 336, 0, 305, 192, 212, 0, 0, 380, + 423, 429, 0, 0, 0, 238, 0, 427, 394, 491, + 220, 267, 420, 400, 425, 407, 270, 0, 0, 426, + 342, 477, 414, 488, 509, 510, 246, 374, 499, 466, + 505, 523, 213, 243, 388, 459, 494, 449, 366, 473, + 474, 304, 448, 277, 195, 340, 515, 211, 435, 229, + 218, 479, 497, 272, 418, 203, 461, 486, 226, 439, + 0, 0, 525, 205, 484, 458, 362, 301, 302, 204, + 0, 419, 251, 275, 241, 383, 481, 482, 239, 526, + 215, 504, 207, 0, 503, 376, 476, 485, 363, 352, + 206, 483, 361, 351, 307, 326, 327, 263, 286, 412, + 345, 413, 287, 372, 371, 373, 198, 495, 0, 199, + 0, 454, 496, 527, 221, 222, 224, 0, 262, 266, + 274, 276, 282, 283, 290, 338, 387, 411, 409, 415, + 0, 471, 489, 500, 507, 513, 514, 516, 517, 518, + 519, 520, 522, 521, 375, 289, 450, 306, 343, 0, + 0, 393, 428, 227, 493, 451, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 528, 529, 530, + 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, + 541, 542, 543, 544, 545, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 546, 353, 441, 490, 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, - 318, 319, 324, 325, 329, 335, 235, 201, 359, 0, - 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, - 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, - 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, - 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, - 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, - 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, - 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, - 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, - 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, - 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, - 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, - 439, 462, 463, 464, 466, 364, 249, 400, 0, 365, - 346, 468, 469, 291, 467, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 383, 0, 0, 0, - 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, - 337, 250, 0, 0, 397, 0, 197, 0, 441, 237, - 347, 344, 474, 265, 256, 252, 236, 292, 354, 395, - 461, 389, 0, 341, 0, 0, 451, 368, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 298, 234, 300, 196, 380, 452, 269, - 0, 0, 0, 0, 188, 2622, 190, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, - 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, - 0, 0, 0, 0, 0, 248, 296, 255, 247, 471, - 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, + 318, 319, 324, 325, 329, 335, 235, 201, 359, 367, + 0, 191, 208, 339, 0, 416, 271, 524, 502, 498, + 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, + 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, + 294, 297, 303, 349, 355, 356, 357, 358, 377, 378, + 379, 382, 385, 386, 389, 391, 392, 395, 399, 403, + 404, 405, 406, 408, 410, 417, 422, 430, 431, 432, + 433, 434, 437, 438, 443, 444, 445, 446, 447, 455, + 456, 460, 478, 480, 492, 506, 511, 436, 281, 487, + 512, 0, 348, 0, 0, 350, 264, 284, 295, 0, + 501, 457, 214, 424, 273, 202, 233, 217, 242, 257, + 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, + 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, + 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 384, 0, 1503, + 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, + 0, 337, 250, 0, 0, 398, 0, 197, 0, 442, + 237, 347, 344, 475, 265, 256, 252, 236, 292, 354, + 396, 462, 390, 0, 341, 0, 0, 452, 369, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 298, 234, 300, 196, 381, 453, + 269, 0, 0, 0, 0, 188, 189, 190, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, + 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, + 334, 0, 0, 0, 0, 0, 248, 296, 255, 247, + 472, 0, 0, 0, 0, 0, 0, 0, 216, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 279, 0, 370, 240, 0, 0, 0, 0, + 508, 0, 0, 0, 0, 0, 0, 0, 336, 0, + 305, 192, 212, 0, 0, 380, 423, 429, 0, 0, + 0, 238, 0, 427, 394, 491, 220, 267, 420, 400, + 425, 407, 270, 0, 0, 426, 342, 477, 414, 488, + 509, 510, 246, 374, 499, 466, 505, 523, 213, 243, + 388, 459, 494, 449, 366, 473, 474, 304, 448, 277, + 195, 340, 515, 211, 435, 229, 218, 479, 497, 272, + 418, 203, 461, 486, 226, 439, 0, 0, 525, 205, + 484, 458, 362, 301, 302, 204, 0, 419, 251, 275, + 241, 383, 481, 482, 239, 526, 215, 504, 207, 0, + 503, 376, 476, 485, 363, 352, 206, 483, 361, 351, + 307, 326, 327, 263, 286, 412, 345, 413, 287, 372, + 371, 373, 198, 495, 0, 199, 0, 454, 496, 527, + 221, 222, 224, 0, 262, 266, 274, 276, 282, 283, + 290, 338, 387, 411, 409, 415, 0, 471, 489, 500, + 507, 513, 514, 516, 517, 518, 519, 520, 522, 521, + 375, 289, 450, 306, 343, 0, 0, 393, 428, 227, + 493, 451, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 546, 353, 441, 490, 308, 320, 323, 313, 332, + 0, 333, 309, 310, 315, 317, 318, 319, 324, 325, + 329, 335, 235, 201, 359, 367, 0, 191, 208, 339, + 0, 416, 271, 524, 502, 498, 0, 210, 0, 245, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, + 261, 268, 280, 285, 288, 293, 294, 297, 303, 349, + 355, 356, 357, 358, 377, 378, 379, 382, 385, 386, + 389, 391, 392, 395, 399, 403, 404, 405, 406, 408, + 410, 417, 422, 430, 431, 432, 433, 434, 437, 438, + 443, 444, 445, 446, 447, 455, 456, 460, 478, 480, + 492, 506, 511, 436, 281, 487, 512, 0, 348, 0, + 0, 350, 264, 284, 295, 0, 501, 457, 214, 424, + 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, + 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, + 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, + 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 384, 0, 1501, 0, 0, 0, 0, + 0, 0, 253, 0, 0, 0, 0, 337, 250, 0, + 0, 398, 0, 197, 0, 442, 237, 347, 344, 475, + 265, 256, 252, 236, 292, 354, 396, 462, 390, 0, + 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 298, 234, 300, 196, 381, 453, 269, 0, 0, 0, + 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, + 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, + 0, 0, 248, 296, 255, 247, 472, 0, 0, 0, + 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, + 370, 240, 0, 0, 0, 0, 508, 0, 0, 0, + 0, 0, 0, 0, 336, 0, 305, 192, 212, 0, + 0, 380, 423, 429, 0, 0, 0, 238, 0, 427, + 394, 491, 220, 267, 420, 400, 425, 407, 270, 0, + 0, 426, 342, 477, 414, 488, 509, 510, 246, 374, + 499, 466, 505, 523, 213, 243, 388, 459, 494, 449, + 366, 473, 474, 304, 448, 277, 195, 340, 515, 211, + 435, 229, 218, 479, 497, 272, 418, 203, 461, 486, + 226, 439, 0, 0, 525, 205, 484, 458, 362, 301, + 302, 204, 0, 419, 251, 275, 241, 383, 481, 482, + 239, 526, 215, 504, 207, 0, 503, 376, 476, 485, + 363, 352, 206, 483, 361, 351, 307, 326, 327, 263, + 286, 412, 345, 413, 287, 372, 371, 373, 198, 495, + 0, 199, 0, 454, 496, 527, 221, 222, 224, 0, + 262, 266, 274, 276, 282, 283, 290, 338, 387, 411, + 409, 415, 0, 471, 489, 500, 507, 513, 514, 516, + 517, 518, 519, 520, 522, 521, 375, 289, 450, 306, + 343, 0, 0, 393, 428, 227, 493, 451, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 528, + 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, + 539, 540, 541, 542, 543, 544, 545, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 546, 353, 441, + 490, 308, 320, 323, 313, 332, 0, 333, 309, 310, + 315, 317, 318, 319, 324, 325, 329, 335, 235, 201, + 359, 367, 0, 191, 208, 339, 0, 416, 271, 524, + 502, 498, 0, 210, 0, 245, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, + 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, + 288, 293, 294, 297, 303, 349, 355, 356, 357, 358, + 377, 378, 379, 382, 385, 386, 389, 391, 392, 395, + 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, + 431, 432, 433, 434, 437, 438, 443, 444, 445, 446, + 447, 455, 456, 460, 478, 480, 492, 506, 511, 436, + 281, 487, 512, 0, 348, 0, 0, 350, 264, 284, + 295, 0, 501, 457, 214, 424, 273, 202, 233, 217, + 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, + 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, + 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, + 0, 1499, 0, 0, 0, 0, 0, 0, 253, 0, + 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, + 0, 442, 237, 347, 344, 475, 265, 256, 252, 236, + 292, 354, 396, 462, 390, 0, 341, 0, 0, 452, + 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, + 381, 453, 269, 0, 0, 0, 0, 188, 189, 190, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, + 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, + 255, 247, 472, 0, 0, 0, 0, 0, 0, 0, + 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 279, 0, 370, 240, 0, 0, + 0, 0, 508, 0, 0, 0, 0, 0, 0, 0, + 336, 0, 305, 192, 212, 0, 0, 380, 423, 429, + 0, 0, 0, 238, 0, 427, 394, 491, 220, 267, + 420, 400, 425, 407, 270, 0, 0, 426, 342, 477, + 414, 488, 509, 510, 246, 374, 499, 466, 505, 523, + 213, 243, 388, 459, 494, 449, 366, 473, 474, 304, + 448, 277, 195, 340, 515, 211, 435, 229, 218, 479, + 497, 272, 418, 203, 461, 486, 226, 439, 0, 0, + 525, 205, 484, 458, 362, 301, 302, 204, 0, 419, + 251, 275, 241, 383, 481, 482, 239, 526, 215, 504, + 207, 0, 503, 376, 476, 485, 363, 352, 206, 483, + 361, 351, 307, 326, 327, 263, 286, 412, 345, 413, + 287, 372, 371, 373, 198, 495, 0, 199, 0, 454, + 496, 527, 221, 222, 224, 0, 262, 266, 274, 276, + 282, 283, 290, 338, 387, 411, 409, 415, 0, 471, + 489, 500, 507, 513, 514, 516, 517, 518, 519, 520, + 522, 521, 375, 289, 450, 306, 343, 0, 0, 393, + 428, 227, 493, 451, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 528, 529, 530, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 546, 353, 441, 490, 308, 320, 323, + 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, + 324, 325, 329, 335, 235, 201, 359, 367, 0, 191, + 208, 339, 0, 416, 271, 524, 502, 498, 0, 210, + 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, + 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, + 303, 349, 355, 356, 357, 358, 377, 378, 379, 382, + 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, + 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, + 437, 438, 443, 444, 445, 446, 447, 455, 456, 460, + 478, 480, 492, 506, 511, 436, 281, 487, 512, 0, + 348, 0, 0, 350, 264, 284, 295, 0, 501, 457, + 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, + 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, + 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, + 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 384, 0, 0, 0, 0, + 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, + 250, 0, 0, 398, 0, 197, 0, 442, 237, 347, + 344, 475, 265, 256, 252, 236, 292, 354, 396, 462, + 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 298, 234, 300, 196, 381, 453, 269, 0, + 1474, 0, 0, 188, 189, 190, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, + 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, + 0, 0, 0, 0, 248, 296, 255, 247, 472, 0, + 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 279, 0, 370, 240, 0, 0, 0, 0, 508, 0, + 0, 0, 0, 0, 0, 0, 336, 0, 305, 192, + 212, 0, 0, 380, 423, 429, 0, 0, 0, 238, + 0, 427, 394, 491, 220, 267, 420, 400, 425, 407, + 270, 0, 0, 426, 342, 477, 414, 488, 509, 510, + 246, 374, 499, 466, 505, 523, 213, 243, 388, 459, + 494, 449, 366, 473, 474, 304, 448, 277, 195, 340, + 515, 211, 435, 229, 218, 479, 497, 272, 418, 203, + 461, 486, 226, 439, 0, 0, 525, 205, 484, 458, + 362, 301, 302, 204, 0, 419, 251, 275, 241, 383, + 481, 482, 239, 526, 215, 504, 207, 0, 503, 376, + 476, 485, 363, 352, 206, 483, 361, 351, 307, 326, + 327, 263, 286, 412, 345, 413, 287, 372, 371, 373, + 198, 495, 0, 199, 0, 454, 496, 527, 221, 222, + 224, 0, 262, 266, 274, 276, 282, 283, 290, 338, + 387, 411, 409, 415, 0, 471, 489, 500, 507, 513, + 514, 516, 517, 518, 519, 520, 522, 521, 375, 289, + 450, 306, 343, 0, 0, 393, 428, 227, 493, 451, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 528, 529, 530, 531, 532, 533, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 543, 544, 545, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 546, + 353, 441, 490, 308, 320, 323, 313, 332, 0, 333, + 309, 310, 315, 317, 318, 319, 324, 325, 329, 335, + 235, 201, 359, 367, 0, 191, 208, 339, 0, 416, + 271, 524, 502, 498, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, + 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, + 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, + 357, 358, 377, 378, 379, 382, 385, 386, 389, 391, + 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, + 422, 430, 431, 432, 433, 434, 437, 438, 443, 444, + 445, 446, 447, 455, 456, 460, 478, 480, 492, 506, + 511, 436, 281, 487, 512, 0, 348, 0, 0, 350, + 264, 284, 295, 0, 501, 457, 214, 424, 273, 202, + 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, + 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, + 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 384, 0, 0, 0, 0, 0, 0, 0, 1374, + 253, 0, 0, 0, 0, 337, 250, 0, 0, 398, + 0, 197, 0, 442, 237, 347, 344, 475, 265, 256, + 252, 236, 292, 354, 396, 462, 390, 0, 341, 0, + 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, + 300, 196, 381, 453, 269, 0, 0, 0, 0, 188, + 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, + 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, + 248, 296, 255, 247, 472, 0, 0, 0, 0, 0, + 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5811,57 +5265,300 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 279, 0, 369, 240, 0, 0, 0, 0, 507, - 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, - 192, 212, 0, 0, 379, 422, 428, 0, 0, 0, - 238, 0, 426, 393, 490, 220, 267, 419, 399, 424, - 406, 270, 0, 0, 425, 342, 476, 413, 487, 508, - 509, 246, 373, 498, 465, 504, 522, 213, 243, 387, - 458, 493, 448, 366, 472, 473, 304, 447, 277, 195, - 340, 514, 211, 434, 229, 218, 478, 496, 272, 417, - 203, 460, 485, 226, 438, 0, 0, 524, 205, 483, - 457, 362, 301, 302, 204, 0, 418, 251, 275, 241, - 382, 480, 481, 239, 525, 215, 503, 207, 0, 502, - 375, 475, 484, 363, 352, 206, 482, 361, 351, 307, - 326, 327, 263, 286, 411, 345, 412, 287, 371, 370, - 372, 198, 494, 0, 199, 0, 453, 495, 526, 221, - 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, - 338, 386, 410, 408, 414, 0, 470, 488, 499, 506, - 512, 513, 515, 516, 517, 518, 519, 521, 520, 374, - 289, 449, 306, 343, 0, 0, 392, 427, 227, 492, - 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 527, 528, 529, 530, 531, 532, 533, 534, + 0, 0, 0, 0, 0, 0, 279, 0, 370, 240, + 0, 0, 0, 0, 508, 0, 0, 0, 0, 0, + 0, 0, 336, 0, 305, 192, 212, 0, 0, 380, + 423, 429, 0, 0, 0, 238, 0, 427, 394, 491, + 220, 267, 420, 400, 425, 407, 270, 0, 0, 426, + 342, 477, 414, 488, 509, 510, 246, 374, 499, 466, + 505, 523, 213, 243, 388, 459, 494, 449, 366, 473, + 474, 304, 448, 277, 195, 340, 515, 211, 435, 229, + 218, 479, 497, 272, 418, 203, 461, 486, 226, 439, + 0, 0, 525, 205, 484, 458, 362, 301, 302, 204, + 0, 419, 251, 275, 241, 383, 481, 482, 239, 526, + 215, 504, 207, 0, 503, 376, 476, 485, 363, 352, + 206, 483, 361, 351, 307, 326, 327, 263, 286, 412, + 345, 413, 287, 372, 371, 373, 198, 495, 0, 199, + 0, 454, 496, 527, 221, 222, 224, 0, 262, 266, + 274, 276, 282, 283, 290, 338, 387, 411, 409, 415, + 0, 471, 489, 500, 507, 513, 514, 516, 517, 518, + 519, 520, 522, 521, 375, 289, 450, 306, 343, 0, + 0, 393, 428, 227, 493, 451, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 528, 529, 530, + 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, + 541, 542, 543, 544, 545, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 546, 353, 441, 490, 308, + 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, + 318, 319, 324, 325, 329, 335, 235, 201, 359, 367, + 0, 191, 208, 339, 0, 416, 271, 524, 502, 498, + 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, + 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, + 294, 297, 303, 349, 355, 356, 357, 358, 377, 378, + 379, 382, 385, 386, 389, 391, 392, 395, 399, 403, + 404, 405, 406, 408, 410, 417, 422, 430, 431, 432, + 433, 434, 437, 438, 443, 444, 445, 446, 447, 455, + 456, 460, 478, 480, 492, 506, 511, 436, 281, 487, + 512, 0, 348, 0, 0, 350, 264, 284, 295, 0, + 501, 457, 214, 424, 273, 202, 233, 217, 242, 257, + 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, + 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, + 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 384, 0, 0, + 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, + 0, 337, 250, 0, 0, 398, 0, 197, 0, 442, + 237, 347, 344, 475, 265, 256, 252, 236, 292, 354, + 396, 462, 390, 0, 341, 0, 0, 452, 369, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 298, 234, 300, 196, 381, 453, + 269, 0, 0, 0, 0, 188, 189, 190, 0, 1171, + 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, + 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, + 334, 0, 0, 0, 0, 0, 248, 296, 255, 247, + 472, 0, 0, 0, 0, 0, 0, 0, 216, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 279, 0, 370, 240, 0, 0, 0, 0, + 508, 0, 0, 0, 0, 0, 0, 0, 336, 0, + 305, 192, 212, 0, 0, 380, 423, 429, 0, 0, + 0, 238, 0, 427, 394, 491, 220, 267, 420, 400, + 425, 407, 270, 0, 0, 426, 342, 477, 414, 488, + 509, 510, 246, 374, 499, 466, 505, 523, 213, 243, + 388, 459, 494, 449, 366, 473, 474, 304, 448, 277, + 195, 340, 515, 211, 435, 229, 218, 479, 497, 272, + 418, 203, 461, 486, 226, 439, 0, 0, 525, 205, + 484, 458, 362, 301, 302, 204, 0, 419, 251, 275, + 241, 383, 481, 482, 239, 526, 215, 504, 207, 0, + 503, 376, 476, 485, 363, 352, 206, 483, 361, 351, + 307, 326, 327, 263, 286, 412, 345, 413, 287, 372, + 371, 373, 198, 495, 0, 199, 0, 454, 496, 527, + 221, 222, 224, 0, 262, 266, 274, 276, 282, 283, + 290, 338, 387, 411, 409, 415, 0, 471, 489, 500, + 507, 513, 514, 516, 517, 518, 519, 520, 522, 521, + 375, 289, 450, 306, 343, 0, 0, 393, 428, 227, + 493, 451, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 545, 353, 440, 489, 308, 320, 323, 313, 332, 0, - 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, - 335, 235, 201, 359, 0, 191, 208, 339, 0, 415, - 271, 523, 501, 497, 0, 210, 0, 245, 0, 0, + 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 546, 353, 441, 490, 308, 320, 323, 313, 332, + 0, 333, 309, 310, 315, 317, 318, 319, 324, 325, + 329, 335, 235, 201, 359, 367, 0, 191, 208, 339, + 0, 416, 271, 524, 502, 498, 0, 210, 0, 245, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, + 261, 268, 280, 285, 288, 293, 294, 297, 303, 349, + 355, 356, 357, 358, 377, 378, 379, 382, 385, 386, + 389, 391, 392, 395, 399, 403, 404, 405, 406, 408, + 410, 417, 422, 430, 431, 432, 433, 434, 437, 438, + 443, 444, 445, 446, 447, 455, 456, 460, 478, 480, + 492, 506, 511, 436, 281, 487, 512, 0, 348, 0, + 0, 350, 264, 284, 295, 0, 501, 457, 214, 424, + 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, + 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, + 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, + 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 384, 0, 0, 0, 0, 0, 0, + 0, 0, 253, 0, 0, 0, 0, 337, 250, 0, + 0, 398, 0, 197, 0, 442, 237, 347, 344, 475, + 265, 256, 252, 236, 292, 354, 396, 462, 390, 0, + 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 298, 234, 300, 196, 381, 453, 269, 0, 0, 0, + 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, + 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, + 0, 0, 248, 296, 255, 247, 472, 0, 0, 0, + 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, + 370, 240, 0, 0, 0, 0, 508, 0, 0, 0, + 0, 0, 0, 0, 336, 0, 305, 192, 212, 0, + 0, 380, 423, 429, 0, 0, 0, 238, 0, 427, + 394, 491, 220, 267, 420, 400, 425, 407, 270, 0, + 0, 426, 342, 477, 414, 488, 509, 510, 246, 374, + 499, 466, 505, 523, 213, 243, 388, 459, 494, 449, + 366, 473, 474, 304, 448, 277, 195, 340, 515, 211, + 435, 229, 218, 479, 497, 272, 418, 203, 461, 486, + 226, 439, 0, 0, 525, 205, 484, 458, 362, 301, + 302, 204, 0, 419, 251, 275, 241, 383, 481, 482, + 239, 526, 215, 504, 207, 0, 503, 376, 476, 485, + 363, 352, 206, 483, 361, 351, 307, 326, 327, 263, + 286, 412, 345, 413, 287, 372, 371, 373, 198, 495, + 0, 199, 0, 454, 496, 527, 221, 222, 224, 0, + 262, 266, 274, 276, 282, 283, 290, 338, 387, 411, + 409, 415, 0, 471, 489, 500, 507, 513, 514, 516, + 517, 518, 519, 520, 522, 521, 375, 289, 450, 306, + 343, 0, 0, 393, 428, 227, 493, 451, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 528, + 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, + 539, 540, 541, 542, 543, 544, 545, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 546, 353, 441, + 490, 308, 320, 323, 313, 332, 0, 333, 309, 310, + 315, 317, 318, 319, 324, 325, 329, 335, 235, 201, + 359, 367, 0, 191, 208, 339, 0, 416, 271, 524, + 502, 498, 0, 210, 0, 245, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 785, 0, 0, 0, 193, 194, 200, + 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, + 288, 293, 294, 297, 303, 349, 355, 356, 357, 358, + 377, 378, 379, 382, 385, 386, 389, 391, 392, 395, + 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, + 431, 432, 433, 434, 437, 438, 443, 444, 445, 446, + 447, 455, 456, 460, 478, 480, 492, 506, 511, 436, + 281, 487, 512, 0, 348, 0, 0, 350, 264, 284, + 295, 0, 501, 457, 214, 424, 273, 202, 233, 217, + 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, + 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, + 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, + 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, + 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, + 0, 442, 237, 347, 344, 475, 265, 256, 252, 236, + 292, 354, 396, 462, 390, 0, 341, 0, 0, 452, + 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, + 381, 453, 269, 0, 0, 0, 0, 188, 189, 190, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, + 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, + 255, 247, 472, 0, 0, 0, 0, 0, 0, 0, + 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 603, 0, 279, 0, 370, 240, 0, 0, + 0, 0, 508, 0, 0, 0, 0, 0, 0, 0, + 336, 0, 305, 192, 212, 0, 0, 380, 423, 429, + 0, 0, 0, 238, 0, 427, 394, 491, 220, 267, + 420, 400, 425, 407, 270, 0, 0, 426, 342, 477, + 414, 488, 509, 510, 246, 374, 499, 466, 505, 523, + 213, 243, 388, 459, 494, 449, 366, 473, 474, 304, + 448, 277, 195, 340, 515, 211, 435, 229, 218, 479, + 497, 272, 418, 203, 461, 486, 226, 439, 0, 0, + 525, 205, 484, 458, 362, 301, 302, 204, 0, 419, + 251, 275, 241, 383, 481, 482, 239, 526, 215, 504, + 207, 0, 503, 376, 476, 485, 363, 352, 206, 483, + 361, 351, 307, 326, 327, 263, 286, 412, 345, 413, + 287, 372, 371, 373, 198, 495, 0, 199, 0, 454, + 496, 527, 221, 222, 224, 0, 262, 266, 274, 276, + 282, 283, 290, 338, 387, 411, 409, 415, 0, 471, + 489, 500, 507, 513, 514, 516, 517, 518, 519, 520, + 522, 521, 375, 289, 450, 306, 343, 0, 0, 393, + 428, 227, 493, 451, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 528, 529, 530, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 546, 353, 441, 490, 308, 320, 323, + 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, + 324, 325, 329, 335, 235, 201, 359, 367, 0, 191, + 208, 339, 0, 416, 271, 524, 502, 498, 0, 210, + 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, + 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, + 303, 349, 355, 356, 357, 358, 377, 378, 379, 382, + 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, + 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, + 437, 438, 443, 444, 445, 446, 447, 455, 456, 460, + 478, 480, 492, 506, 511, 436, 602, 487, 512, 0, + 348, 0, 0, 350, 264, 284, 295, 0, 501, 457, + 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, + 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, + 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, + 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 384, 0, 0, 0, 0, + 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, + 250, 0, 0, 398, 0, 197, 0, 442, 237, 347, + 344, 475, 265, 256, 252, 236, 292, 354, 396, 462, + 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 298, 234, 300, 196, 381, 453, 269, 0, + 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, + 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, + 0, 0, 0, 0, 248, 296, 255, 247, 472, 0, + 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 279, 0, 370, 240, 0, 0, 549, 0, 508, 0, + 0, 0, 0, 0, 0, 0, 336, 0, 305, 192, + 212, 0, 0, 380, 423, 429, 0, 0, 0, 238, + 0, 427, 394, 491, 220, 267, 420, 400, 425, 407, + 270, 0, 0, 426, 342, 477, 414, 488, 509, 510, + 246, 374, 499, 466, 505, 523, 213, 243, 388, 459, + 494, 449, 366, 473, 474, 304, 448, 277, 195, 340, + 515, 211, 435, 229, 218, 479, 497, 272, 418, 203, + 461, 486, 226, 439, 0, 0, 525, 205, 484, 458, + 362, 301, 302, 204, 0, 419, 251, 275, 241, 383, + 481, 482, 239, 526, 215, 504, 207, 0, 503, 376, + 476, 485, 363, 352, 206, 483, 361, 351, 307, 326, + 327, 263, 286, 412, 345, 413, 287, 372, 371, 373, + 198, 495, 0, 199, 0, 454, 496, 527, 221, 222, + 224, 0, 262, 266, 274, 276, 282, 283, 290, 338, + 387, 411, 409, 415, 0, 471, 489, 500, 507, 513, + 514, 516, 517, 518, 519, 520, 522, 521, 375, 289, + 450, 306, 343, 0, 0, 393, 428, 227, 493, 451, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 528, 529, 530, 531, 532, 533, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 543, 544, 545, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 546, + 353, 441, 490, 308, 320, 323, 313, 332, 0, 333, + 309, 310, 315, 317, 318, 319, 324, 325, 329, 335, + 235, 201, 359, 367, 0, 191, 208, 339, 0, 416, + 271, 524, 502, 498, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, - 357, 358, 376, 377, 378, 381, 384, 385, 388, 390, - 391, 394, 398, 402, 403, 404, 405, 407, 409, 416, - 421, 429, 430, 431, 432, 433, 436, 437, 442, 443, - 444, 445, 446, 454, 455, 459, 477, 479, 491, 505, - 510, 435, 281, 486, 511, 0, 348, 0, 0, 350, - 264, 284, 295, 0, 500, 456, 214, 423, 273, 202, - 233, 217, 242, 257, 260, 299, 360, 367, 396, 401, - 278, 254, 231, 420, 228, 439, 462, 463, 464, 466, - 364, 249, 400, 0, 365, 346, 468, 469, 291, 467, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 383, 0, 0, 0, 0, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 337, 250, 0, 0, 397, - 0, 197, 0, 441, 237, 347, 344, 474, 265, 256, - 252, 236, 292, 354, 395, 461, 389, 0, 341, 0, - 0, 451, 368, 0, 0, 0, 0, 0, 0, 0, + 357, 358, 377, 378, 379, 382, 385, 386, 389, 391, + 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, + 422, 430, 431, 432, 433, 434, 437, 438, 443, 444, + 445, 446, 447, 455, 456, 460, 478, 480, 492, 506, + 511, 436, 281, 487, 512, 0, 348, 0, 0, 350, + 264, 284, 295, 0, 501, 457, 214, 424, 273, 202, + 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, + 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, + 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 384, 0, 0, 0, 0, 0, 0, 0, 0, + 253, 0, 0, 0, 0, 337, 250, 0, 0, 398, + 0, 197, 0, 442, 237, 347, 344, 475, 265, 256, + 252, 236, 292, 354, 396, 462, 390, 0, 341, 0, + 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, - 300, 196, 380, 452, 269, 0, 0, 0, 0, 188, - 2134, 190, 0, 0, 0, 0, 0, 0, 0, 0, + 300, 196, 381, 453, 269, 0, 0, 0, 0, 188, + 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, - 248, 296, 255, 247, 471, 0, 0, 0, 0, 0, + 248, 296, 255, 247, 472, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5871,70 +5568,250 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 279, 0, 369, 240, - 0, 0, 0, 0, 507, 0, 0, 0, 0, 0, - 0, 0, 336, 0, 305, 192, 212, 0, 0, 379, - 422, 428, 0, 0, 0, 238, 0, 426, 393, 490, - 220, 267, 419, 399, 424, 406, 270, 0, 0, 425, - 342, 476, 413, 487, 508, 509, 246, 373, 498, 465, - 504, 522, 213, 243, 387, 458, 493, 448, 366, 472, - 473, 304, 447, 277, 195, 340, 514, 211, 434, 229, - 218, 478, 496, 272, 417, 203, 460, 485, 226, 438, - 0, 0, 524, 205, 483, 457, 362, 301, 302, 204, - 0, 418, 251, 275, 241, 382, 480, 481, 239, 525, - 215, 503, 207, 0, 502, 375, 475, 484, 363, 352, - 206, 482, 361, 351, 307, 326, 327, 263, 286, 411, - 345, 412, 287, 371, 370, 372, 198, 494, 0, 199, - 0, 453, 495, 526, 221, 222, 224, 0, 262, 266, - 274, 276, 282, 283, 290, 338, 386, 410, 408, 414, - 0, 470, 488, 499, 506, 512, 513, 515, 516, 517, - 518, 519, 521, 520, 374, 289, 449, 306, 343, 0, - 0, 392, 427, 227, 492, 450, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 527, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 545, 353, 440, 489, 308, + 0, 0, 0, 0, 0, 0, 279, 0, 370, 240, + 0, 0, 0, 0, 508, 0, 0, 0, 0, 0, + 0, 0, 336, 0, 305, 192, 212, 0, 0, 380, + 423, 429, 0, 0, 0, 238, 0, 427, 394, 491, + 220, 267, 420, 400, 425, 407, 270, 0, 0, 426, + 342, 477, 414, 488, 509, 510, 246, 374, 499, 466, + 505, 523, 213, 243, 388, 459, 494, 449, 366, 473, + 474, 304, 448, 277, 195, 340, 515, 211, 435, 229, + 218, 479, 497, 272, 418, 203, 461, 486, 226, 439, + 0, 0, 525, 205, 484, 458, 362, 301, 302, 204, + 0, 419, 251, 275, 241, 383, 481, 482, 239, 526, + 215, 504, 207, 0, 503, 376, 476, 485, 363, 352, + 206, 483, 361, 351, 307, 326, 327, 263, 286, 412, + 345, 413, 287, 372, 371, 373, 198, 495, 0, 199, + 0, 454, 496, 527, 221, 222, 224, 0, 262, 266, + 274, 276, 282, 283, 290, 338, 387, 411, 409, 415, + 0, 471, 489, 500, 507, 513, 514, 516, 517, 518, + 519, 520, 522, 521, 375, 289, 450, 306, 343, 0, + 0, 393, 428, 227, 493, 451, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 528, 529, 530, + 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, + 541, 542, 543, 544, 545, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 546, 353, 441, 490, 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, - 318, 319, 324, 325, 329, 335, 235, 201, 359, 0, - 191, 208, 339, 0, 415, 271, 523, 501, 497, 0, - 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, - 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, - 297, 303, 349, 355, 356, 357, 358, 376, 377, 378, - 381, 384, 385, 388, 390, 391, 394, 398, 402, 403, - 404, 405, 407, 409, 416, 421, 429, 430, 431, 432, - 433, 436, 437, 442, 443, 444, 445, 446, 454, 455, - 459, 477, 479, 491, 505, 510, 435, 281, 486, 511, - 0, 348, 0, 0, 350, 264, 284, 295, 0, 500, - 456, 214, 423, 273, 202, 233, 217, 242, 257, 260, - 299, 360, 367, 396, 401, 278, 254, 231, 420, 228, - 439, 462, 463, 464, 466, 364, 249, 400, 0, 0, - 346, 468, 469, 291, + 318, 319, 324, 325, 329, 335, 235, 201, 359, 367, + 0, 191, 208, 339, 0, 416, 271, 524, 502, 498, + 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, + 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, + 294, 297, 303, 349, 355, 356, 357, 358, 3007, 378, + 379, 382, 385, 386, 389, 391, 392, 395, 399, 403, + 404, 405, 406, 408, 410, 417, 422, 430, 431, 432, + 433, 434, 437, 438, 443, 444, 445, 446, 447, 455, + 456, 460, 478, 480, 492, 506, 511, 436, 281, 487, + 512, 0, 348, 0, 0, 350, 264, 284, 295, 0, + 501, 457, 214, 424, 273, 202, 233, 217, 242, 257, + 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, + 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, + 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 384, 0, 0, + 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, + 0, 337, 250, 0, 0, 398, 0, 197, 0, 442, + 237, 347, 344, 475, 265, 256, 252, 236, 292, 354, + 396, 462, 390, 0, 341, 0, 0, 452, 369, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 298, 234, 300, 196, 381, 453, + 269, 0, 0, 0, 0, 188, 189, 190, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, + 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, + 334, 0, 0, 0, 0, 0, 248, 296, 255, 247, + 472, 0, 0, 0, 0, 0, 0, 0, 216, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 279, 0, 370, 240, 0, 0, 0, 0, + 508, 0, 0, 0, 0, 0, 0, 0, 336, 0, + 305, 192, 212, 0, 0, 380, 423, 429, 0, 0, + 0, 238, 0, 427, 394, 491, 220, 267, 420, 400, + 425, 407, 270, 0, 0, 426, 342, 477, 414, 488, + 509, 510, 246, 374, 499, 466, 505, 523, 213, 243, + 388, 459, 494, 449, 366, 473, 474, 304, 448, 277, + 195, 340, 515, 211, 435, 229, 218, 479, 497, 272, + 418, 203, 461, 486, 226, 439, 0, 0, 525, 205, + 484, 458, 362, 301, 302, 204, 0, 419, 251, 275, + 241, 383, 481, 482, 239, 526, 215, 504, 207, 0, + 503, 376, 476, 485, 363, 352, 206, 483, 361, 351, + 307, 326, 327, 263, 286, 412, 345, 413, 287, 372, + 371, 373, 198, 495, 0, 199, 0, 454, 496, 527, + 221, 222, 224, 0, 262, 266, 274, 276, 282, 283, + 290, 338, 387, 411, 409, 415, 0, 471, 489, 500, + 507, 513, 514, 516, 517, 518, 519, 520, 522, 521, + 375, 289, 450, 306, 343, 0, 0, 393, 428, 227, + 493, 451, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 546, 353, 441, 490, 308, 320, 323, 313, 332, + 0, 333, 309, 310, 315, 317, 318, 319, 324, 325, + 329, 335, 235, 201, 359, 367, 0, 191, 208, 339, + 0, 416, 271, 524, 502, 498, 0, 210, 0, 245, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, + 261, 268, 280, 285, 288, 293, 294, 297, 303, 349, + 355, 356, 357, 358, 377, 378, 379, 382, 385, 386, + 389, 391, 392, 395, 399, 403, 404, 405, 406, 408, + 410, 417, 422, 430, 431, 432, 433, 434, 437, 438, + 443, 444, 445, 446, 447, 455, 456, 460, 478, 480, + 492, 506, 511, 436, 281, 487, 512, 0, 348, 0, + 0, 350, 264, 284, 295, 0, 501, 457, 214, 424, + 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, + 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, + 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, + 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 384, 0, 0, 0, 0, 0, 0, + 0, 0, 253, 0, 0, 0, 0, 337, 250, 0, + 0, 398, 0, 197, 0, 442, 237, 347, 344, 475, + 265, 256, 252, 236, 292, 354, 396, 462, 390, 0, + 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 298, 234, 300, 196, 381, 453, 269, 0, 0, 0, + 0, 188, 2627, 190, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, + 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, + 0, 0, 248, 296, 255, 247, 472, 0, 0, 0, + 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, + 370, 240, 0, 0, 0, 0, 508, 0, 0, 0, + 0, 0, 0, 0, 336, 0, 305, 192, 212, 0, + 0, 380, 423, 429, 0, 0, 0, 238, 0, 427, + 394, 491, 220, 267, 420, 400, 425, 407, 270, 0, + 0, 426, 342, 477, 414, 488, 509, 510, 246, 374, + 499, 466, 505, 523, 213, 243, 388, 459, 494, 449, + 366, 473, 474, 304, 448, 277, 195, 340, 515, 211, + 435, 229, 218, 479, 497, 272, 418, 203, 461, 486, + 226, 439, 0, 0, 525, 205, 484, 458, 362, 301, + 302, 204, 0, 419, 251, 275, 241, 383, 481, 482, + 239, 526, 215, 504, 207, 0, 503, 376, 476, 485, + 363, 352, 206, 483, 361, 351, 307, 326, 327, 263, + 286, 412, 345, 413, 287, 372, 371, 373, 198, 495, + 0, 199, 0, 454, 496, 527, 221, 222, 224, 0, + 262, 266, 274, 276, 282, 283, 290, 338, 387, 411, + 409, 415, 0, 471, 489, 500, 507, 513, 514, 516, + 517, 518, 519, 520, 522, 521, 375, 289, 450, 306, + 343, 0, 0, 393, 428, 227, 493, 451, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 528, + 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, + 539, 540, 541, 542, 543, 544, 545, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 546, 353, 441, + 490, 308, 320, 323, 313, 332, 0, 333, 309, 310, + 315, 317, 318, 319, 324, 325, 329, 335, 235, 201, + 359, 367, 0, 191, 208, 339, 0, 416, 271, 524, + 502, 498, 0, 210, 0, 245, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, + 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, + 288, 293, 294, 297, 303, 349, 355, 356, 357, 358, + 377, 378, 379, 382, 385, 386, 389, 391, 392, 395, + 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, + 431, 432, 433, 434, 437, 438, 443, 444, 445, 446, + 447, 455, 456, 460, 478, 480, 492, 506, 511, 436, + 281, 487, 512, 0, 348, 0, 0, 350, 264, 284, + 295, 0, 501, 457, 214, 424, 273, 202, 233, 217, + 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, + 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, + 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, + 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, + 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, + 0, 442, 237, 347, 344, 475, 265, 256, 252, 236, + 292, 354, 396, 462, 390, 0, 341, 0, 0, 452, + 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, + 381, 453, 269, 0, 0, 0, 0, 188, 2139, 190, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, + 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, + 255, 247, 472, 0, 0, 0, 0, 0, 0, 0, + 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 279, 0, 370, 240, 0, 0, + 0, 0, 508, 0, 0, 0, 0, 0, 0, 0, + 336, 0, 305, 192, 212, 0, 0, 380, 423, 429, + 0, 0, 0, 238, 0, 427, 394, 491, 220, 267, + 420, 400, 425, 407, 270, 0, 0, 426, 342, 477, + 414, 488, 509, 510, 246, 374, 499, 466, 505, 523, + 213, 243, 388, 459, 494, 449, 366, 473, 474, 304, + 448, 277, 195, 340, 515, 211, 435, 229, 218, 479, + 497, 272, 418, 203, 461, 486, 226, 439, 0, 0, + 525, 205, 484, 458, 362, 301, 302, 204, 0, 419, + 251, 275, 241, 383, 481, 482, 239, 526, 215, 504, + 207, 0, 503, 376, 476, 485, 363, 352, 206, 483, + 361, 351, 307, 326, 327, 263, 286, 412, 345, 413, + 287, 372, 371, 373, 198, 495, 0, 199, 0, 454, + 496, 527, 221, 222, 224, 0, 262, 266, 274, 276, + 282, 283, 290, 338, 387, 411, 409, 415, 0, 471, + 489, 500, 507, 513, 514, 516, 517, 518, 519, 520, + 522, 521, 375, 289, 450, 306, 343, 0, 0, 393, + 428, 227, 493, 451, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 528, 529, 530, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 546, 353, 441, 490, 308, 320, 323, + 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, + 324, 325, 329, 335, 235, 201, 359, 367, 0, 191, + 208, 339, 0, 416, 271, 524, 502, 498, 0, 210, + 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, + 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, + 303, 349, 355, 356, 357, 358, 377, 378, 379, 382, + 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, + 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, + 437, 438, 443, 444, 445, 446, 447, 455, 456, 460, + 478, 480, 492, 506, 511, 436, 281, 487, 512, 0, + 348, 0, 0, 350, 264, 284, 295, 0, 501, 457, + 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, + 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, + 463, 464, 465, 467, 364, 249, 401, 0, 0, 346, + 469, 470, 291, } var yyPact = [...]int{ - 5135, -1000, -415, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 2033, 2060, -1000, -1000, - -1000, -1000, 2191, -1000, 783, 1745, -1000, 1990, 3770, -1000, - 42860, 522, -1000, 41650, 517, 300, 42860, -1000, 170, -1000, - 162, 42860, 169, 41045, -1000, -1000, -293, 18650, 1930, 40, - 34, 42860, -1000, -1000, -1000, -1000, 2143, 1720, -1000, 332, - -1000, -1000, -1000, -1000, -1000, -1000, 40440, -1000, -1000, -1000, - 2016, 2020, 2195, 695, 1968, -1000, 2092, 1720, -1000, 18650, - 2136, 2077, 18045, -1000, 18045, 420, -1000, -1000, 13800, -1000, - -1000, 24710, 42860, 30760, 262, -1000, 1990, -1000, -1000, -1000, - 86, -1000, 295, 1609, -1000, 1607, -1000, 616, 694, 353, - 438, 437, 333, 329, 325, 311, 310, 309, 308, 307, - 359, -1000, 725, 725, -162, -167, 2690, 411, 400, 400, - 446, 1966, 1956, -1000, 693, -1000, 725, 725, 725, 383, - 725, 725, 725, 725, 270, 269, 725, 725, 725, 725, - 725, 725, 725, 725, 725, 725, 725, 725, 725, 725, - 725, 725, 725, 417, 1990, 241, -1000, -1000, -1000, -1000, + 4644, -1000, -417, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 1982, 2036, -1000, -1000, + -1000, -1000, 2118, -1000, 754, 1742, -1000, 1998, 4583, -1000, + 41626, 482, -1000, 40414, 481, 116, 41626, -1000, 151, -1000, + 138, 41626, 143, 39808, -1000, -1000, -299, 17376, 1937, 33, + 30, 41626, -1000, -1000, -1000, -1000, 2095, 1746, -1000, 334, + -1000, -1000, -1000, -1000, -1000, -1000, 39202, -1000, -1000, -1000, + 2019, 1997, 2125, 622, 1925, -1000, 2056, 1746, -1000, 17376, + 2088, 2037, 16770, -1000, 16770, 420, -1000, -1000, 12518, -1000, + -1000, 23446, 41626, 29506, 335, -1000, 1998, -1000, -1000, -1000, + 100, -1000, 301, 1632, -1000, 1604, -1000, 492, 678, 322, + 437, 434, 321, 320, 319, 313, 310, 309, 306, 304, + 331, -1000, 674, 674, -150, -154, 3657, 426, 384, 384, + 445, 1972, 1960, -1000, 687, -1000, 674, 674, 674, 325, + 674, 674, 674, 674, 278, 276, 674, 674, 674, 674, + 674, 674, 674, 674, 674, 674, 674, 674, 674, 674, + 674, 674, 674, 300, 1998, 232, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, @@ -5968,38 +5845,38 @@ var yyPact = [...]int{ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 42860, 151, 42860, -1000, - 612, 42860, 845, 845, 99, 845, 845, 845, 845, 167, - 602, 28, -1000, 158, 237, 156, 239, 840, 191, -1000, - -1000, 221, 840, 1284, -1000, 706, 131, -1000, 845, 845, - -1000, 11360, 164, 11360, 11360, -1000, 1984, -1000, -1000, -1000, - -1000, 1288, -1000, 427, -1000, -1000, -1000, -1000, 42860, 39835, - 327, 745, -1000, -1000, -1000, 148, -1000, -1000, 1449, 1205, - 18650, 911, -1000, 1547, 678, -1000, -1000, -1000, -1000, -1000, - 540, 19255, 19255, 19255, 19255, -1000, -1000, 1605, 1605, 1605, - 1605, 19255, 1605, 19255, 1605, 1605, 1605, 1605, 18650, 1605, - 1605, 1605, -1000, 1605, 1605, 1605, 1605, 1605, 1605, 1605, - 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, - 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, - 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, - 1605, 1605, 1605, 1605, 1605, 1605, 609, 1605, 1605, 1605, - 1605, 1605, -1000, -1000, -1000, -1000, 1605, 1605, 1605, 1605, - 1605, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 22285, -1000, 16230, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 41626, 173, 41626, + -1000, 541, 41626, 778, 778, 37, 778, 778, 778, 778, + 163, 605, 29, -1000, 162, 266, 145, 203, 812, 155, + -1000, -1000, 215, 812, 1240, -1000, 628, 142, -1000, 778, + 778, -1000, 10074, 174, 10074, 10074, -1000, 1984, -1000, -1000, + -1000, -1000, 1230, -1000, 440, -1000, -1000, -1000, -1000, 41626, + 38596, 343, 733, -1000, -1000, -1000, 54, -1000, -1000, 1378, + 965, 17376, 896, -1000, 1521, 589, -1000, -1000, -1000, -1000, + -1000, 518, 17982, 17982, 17982, 17982, -1000, -1000, 1636, 1636, + 1636, 1636, 17982, 1636, 17982, 1636, 1636, 1636, 1636, 17376, + 1636, 1636, 1636, -1000, 1636, 1636, 1636, 1636, 1636, 1636, + 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, + 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, + 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, + 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 538, 1636, + 1636, 1636, 1636, 1636, -1000, -1000, -1000, -1000, 1636, 1636, + 1636, 1636, 1636, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 21017, -1000, 14952, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 42860, -1000, 1605, 186, 42860, 42860, 330, - 2092, 1720, -1000, 2143, 2138, 332, -1000, 2370, 1413, 1372, - 1312, 1720, 1586, 42860, -1000, 1616, -1000, -1000, -1000, 1856, - 1175, 1280, -1000, -1000, -1000, -1000, 1430, 18650, -1000, -1000, - 2177, -1000, 21680, 596, 855, 2174, 39230, -1000, 420, 420, - 1606, 13190, -22, -1000, -1000, -1000, 744, 28340, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 1984, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 41626, -1000, 1636, 167, 41626, + 41626, 308, 2056, 1746, -1000, 2095, 2066, 334, -1000, 1913, + 1723, 1523, 1025, 1746, 1554, 41626, -1000, 1660, -1000, -1000, + -1000, 1834, 1141, 1237, -1000, -1000, -1000, -1000, 1297, 17376, + -1000, -1000, 2112, -1000, 20411, 536, 913, 2110, 37990, -1000, + 420, 420, 1589, 11907, -6, -1000, -1000, -1000, 731, 27082, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1984, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, @@ -6011,261 +5888,264 @@ var yyPact = [...]int{ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 1545, 42860, -1000, -1000, 3796, 1249, -1000, 1743, -1000, 1529, - -1000, 1667, 18650, 1751, 504, 1249, 498, 482, 468, -1000, - -64, -1000, -1000, -1000, -1000, -1000, -1000, 725, 725, 725, - -1000, 331, 2130, 3770, 5878, -1000, -1000, -1000, 38625, 1742, - 1249, -1000, 1738, -1000, 797, 519, 598, 598, 1249, -1000, - -1000, 42860, 1249, 796, 789, 1249, 1249, 42860, 42860, -1000, - 38020, -1000, 37415, 36810, 1100, 42860, 36205, 35600, 34995, 34390, - 33785, -1000, 1819, -1000, 1795, -1000, -1000, -1000, 42860, 1249, - 1249, 42860, 42860, 364, -1000, -1000, 42860, 1249, -1000, -1000, - 1081, 1073, 1072, 725, 725, 1070, 1278, 1271, 1270, 725, - 725, 1068, 1269, 29550, 1266, 240, 1059, 1058, 1055, 1098, - 1265, 190, 1264, 1075, 1067, 1040, 42860, 1736, 42860, -1000, - 228, 680, 401, 742, 1990, 1925, 1591, 426, 502, 1249, - 416, 416, 42860, -1000, 11970, -1000, -1000, 1263, 18650, -1000, - 852, 840, 840, -1000, -1000, -1000, -1000, -1000, -1000, 845, - 42860, 852, -1000, -1000, -1000, 840, 845, 42860, 845, 845, - 845, 845, 840, 840, 840, 845, 42860, 42860, 42860, 42860, - 42860, 42860, 42860, 42860, 42860, 11360, 706, 845, -313, -1000, - 1260, -1000, 1839, -1000, -1000, -1000, -1000, -1000, -1000, 11360, - 11360, -1000, -1000, -1000, -1000, 165, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -82, 1590, 33180, -1000, -314, - -315, -324, -326, -1000, -1000, -1000, -329, -331, -1000, -1000, - -1000, 18650, 18650, 18650, 18650, -192, -1000, 794, 19255, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 986, 730, 19255, 19255, - 19255, 19255, 19255, 19255, 19255, 19255, 19255, 19255, 19255, 19255, - 19255, 19255, 19255, 26525, 4471, 4471, 678, 678, 678, 678, - -1000, 18045, 18650, 18650, 678, -1000, 1249, 32575, 18045, 18045, - 18650, 2003, 734, 1205, 42860, -1000, 1312, -1000, -1000, -1000, - 1000, -1000, 2003, 861, 18650, 42860, 42860, 185, 18650, 18650, - 18650, 18650, 18650, 18650, 15015, 18650, 18650, 18650, 18650, 18650, - 18650, 18650, 18650, 18650, 18650, 18650, 18650, 18650, 18650, 18650, - 18650, 18650, 18650, 18650, 18650, 18650, 18650, 18650, 18650, 18650, - 18650, 14410, 11970, 18045, 18045, 18045, 18045, 18045, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 593, 1373, 1377, 1458, -1000, 1589, -1000, -143, 24105, 18650, - 1259, 2173, 1766, 42860, -1000, -1000, -1000, 2092, -1000, 2092, - 1373, 1959, 1859, 18045, -1000, -1000, 1959, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 1387, -1000, 42860, 1586, 2058, - 42860, 1854, 1238, 396, -1000, 18650, 18650, 1582, -1000, 1097, - 42860, -1000, -192, -1000, 31970, -1000, -1000, 10750, -1000, 42860, - 302, 42860, -1000, 23500, 31365, 12580, -22, -1000, 12580, 1563, - -1000, 4, -1, 15620, 665, -1000, -1000, -1000, 2690, 20465, - 1412, 665, 80, -1000, -1000, -1000, 1667, -1000, 1667, 1667, - 1667, 1667, 396, 396, 396, 396, -1000, -1000, -1000, -1000, - -1000, 1734, 1732, -1000, 1667, 1667, 1667, 1667, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 1731, 1731, 1731, 1717, 1717, - 389, -1000, 18650, 326, 30760, 2024, 1032, 1504, 228, 418, - 1762, 1249, 1249, 1249, 418, -1000, 1256, 1112, 1090, -1000, - -402, 1579, -1000, -1000, 2128, -1000, -1000, 707, 814, 812, - 727, 42860, 192, 297, -1000, 386, -1000, 30760, 1249, 788, - 598, 1249, -1000, 1249, -1000, -1000, -1000, -1000, -1000, 1249, - -1000, -1000, 1578, -1000, 1594, 897, 811, 896, 800, 1578, - -1000, -1000, -136, 1578, -1000, 1578, -1000, 1578, -1000, 1578, - -1000, 1578, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 790, 159, -239, 42860, 192, 26525, -1000, 424, -1000, - -1000, -1000, 26525, 26525, -1000, -1000, -1000, -1000, 1237, 1234, + -1000, -1000, 1646, 41626, -1000, -1000, 6017, 1186, -1000, 1733, + -1000, 1639, -1000, 1692, 17376, 1691, 472, 1186, 464, 463, + 461, -1000, -71, -1000, -1000, -1000, -1000, -1000, -1000, 674, + 674, 674, -1000, 330, 2078, 4583, 5941, -1000, -1000, -1000, + 37384, 1732, 1186, -1000, 1727, -1000, 818, 510, 526, 526, + 1186, -1000, -1000, 41626, 1186, 810, 808, 1186, 1186, 41626, + 41626, -1000, 36778, -1000, 36172, 35566, 1070, 41626, 34960, 34354, + 33748, 33142, 32536, -1000, 1832, -1000, 1807, -1000, -1000, -1000, + 41626, 1186, 1186, 41626, 41626, 315, -1000, -1000, 41626, 1186, + -1000, -1000, 1069, 1066, 1060, 674, 674, 1056, 1235, 1233, + 1228, 674, 674, 1054, 1226, 28294, 1224, 241, 1040, 1039, + 1037, 1100, 1220, 191, 1219, 1095, 1055, 1032, 41626, 1724, + 41626, -1000, 202, 668, 422, 711, 1998, 1927, 1587, 432, + 469, 1186, 408, 408, 41626, -1000, 10685, -1000, -1000, 1216, + 17376, -1000, 814, 812, 812, -1000, -1000, -1000, -1000, -1000, + -1000, 778, 41626, 814, -1000, -1000, -1000, 812, 778, 41626, + 778, 778, 778, 778, 812, 812, 812, 778, 41626, 41626, + 41626, 41626, 41626, 41626, 41626, 41626, 41626, 10074, 628, 778, + -304, -1000, 1212, -1000, 1795, -1000, -1000, -1000, -1000, -1000, + -1000, 10074, 10074, -1000, -1000, -1000, -1000, 141, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -53, 1570, 31930, + -1000, -306, -309, -316, -322, -1000, -1000, -1000, -324, -331, + -1000, -1000, -1000, 17376, 17376, 17376, 17376, -179, -1000, 940, + 17982, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 998, 773, + 17982, 17982, 17982, 17982, 17982, 17982, 17982, 17982, 17982, 17982, + 17982, 17982, 17982, 17982, 17982, 25264, 6936, 6936, 589, 589, + 589, 589, -1000, 16770, 17376, 17376, 589, -1000, 1186, 31324, + 16770, 16770, 17376, 1968, 745, 965, 41626, -1000, 1025, -1000, + -1000, -1000, 1000, -1000, 1968, 768, 17376, 17376, 41626, 41626, + 185, 17376, 17376, 17376, 17376, 17376, 17376, 13735, 17376, 17376, + 17376, 17376, 17376, 17376, 17376, 17376, 17376, 17376, 17376, 17376, + 17376, 17376, 17376, 17376, 17376, 17376, 17376, 17376, 17376, 17376, + 17376, 17376, 17376, 17376, 13129, 10685, 16770, 16770, 16770, 16770, + 16770, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 533, 1507, 1389, 1503, -1000, 1557, -1000, + -143, 22840, 17376, 1210, 2109, 1765, 41626, -1000, -1000, -1000, + 2056, -1000, 2056, 1507, 1878, 1869, 16770, -1000, -1000, 1878, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1326, -1000, + 41626, 1554, 2034, 41626, 1864, 1209, 314, -1000, 17376, 17376, + 1541, -1000, 1125, 41626, -1000, -179, -1000, 30718, -1000, -1000, + 9463, -1000, 41626, 302, 41626, -1000, 22234, 30112, 11296, -6, + -1000, 11296, 1496, -1000, -4, -1, 14341, 555, -1000, -1000, + -1000, 3657, 19194, 1339, 555, 75, -1000, -1000, -1000, 1692, + -1000, 1692, 1692, 1692, 1692, 314, 314, 314, 314, -1000, + -1000, -1000, -1000, -1000, 1720, 1715, -1000, 1692, 1692, 1692, + 1692, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1707, 1707, + 1707, 1693, 1693, 399, -1000, 17376, 280, 29506, 2017, 1030, + 1304, 202, 409, 1760, 1186, 1186, 1186, 409, -1000, 1313, + 1298, 1267, -1000, -400, 1520, -1000, -1000, 2074, -1000, -1000, + 710, 832, 831, 644, 41626, 171, 291, -1000, 393, -1000, + 29506, 1186, 801, 526, 1186, -1000, 1186, -1000, -1000, -1000, + -1000, -1000, 1186, -1000, -1000, 1518, -1000, 1488, 899, 830, + 861, 789, 1518, -1000, -1000, -119, 1518, -1000, 1518, -1000, + 1518, -1000, 1518, -1000, 1518, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 702, 177, -219, 41626, 171, 25264, + -1000, 428, -1000, -1000, -1000, 25264, 25264, -1000, -1000, -1000, + -1000, 1207, 1205, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -390, - 42860, -1000, 207, 735, 282, 318, 251, 42860, 289, 2073, - 2067, 2064, 218, 267, 42860, 42860, 416, 1790, 42860, 2044, - 42860, -1000, -1000, -1000, -1000, -1000, 1205, 42860, -1000, -1000, - 845, 845, -1000, -1000, 42860, 845, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 845, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -386, 41626, -1000, 193, 691, 277, 305, 248, + 41626, 175, 2046, 2045, 2044, 179, 273, 41626, 41626, 408, + 1816, 41626, 2024, 41626, -1000, -1000, -1000, -1000, -1000, 965, + 41626, -1000, -1000, 778, 778, -1000, -1000, 41626, 778, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 778, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 42860, -1000, -1000, -1000, -1000, 42860, -1000, -1000, -1000, -1000, - -1000, 166, 2, 305, -1000, -1000, -1000, -1000, -1000, 2089, - -1000, 1205, 769, 775, -1000, 1605, -1000, -1000, 835, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 986, 19255, 19255, 19255, - 1142, 458, 1558, 1744, 951, 880, 880, 849, 849, 682, - 682, 682, 682, 682, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 1227, -1000, 1477, -1000, 1308, 1273, 1312, -1000, - 1477, 1477, 945, 18045, -1000, -1000, 757, -1000, 18650, 1312, - -1000, -1000, 1312, 1312, 18650, 1312, 18650, -1000, 1504, 1574, - 1572, 2172, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 41626, -1000, -1000, -1000, -1000, 41626, -1000, + -1000, -1000, -1000, -1000, 74, 3, 358, -1000, -1000, -1000, + -1000, -1000, 2053, -1000, 965, 800, 755, -1000, 1636, -1000, + -1000, 956, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 998, + 17982, 17982, 17982, 1402, 425, 1538, 902, 841, 828, 828, + 796, 796, 598, 598, 598, 598, 598, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 1203, -1000, 1543, -1000, 973, + 1258, 1025, -1000, 1543, 1543, 1086, 16770, -1000, -1000, 760, + -1000, 17376, 1025, -1000, -1000, 1025, 1025, 17376, 1025, 17376, + -1000, 1304, 1304, 1515, 1513, 2106, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 1196, 1504, 1504, 1504, 1504, 1504, 18650, - 1436, -1000, -1000, -1000, 2244, 2222, 1312, 1449, 1312, 1571, - -1000, 2209, 1504, 2198, 2189, 2162, 1383, 2093, 1998, 1994, - 1504, 1504, 1504, 1350, 1938, 1933, 1918, 1892, 1848, 1837, - 1832, 1805, 1800, 1504, 1312, 18045, 18045, 1568, 1605, 587, - -1000, 1477, 1312, 1312, 1477, 1477, 11970, 1312, -1000, 42860, - -1000, -305, -1000, -19, 646, 1605, -1000, 29550, 1312, -1000, - 1581, -1000, 44070, -1000, -1000, -1000, -1000, -1000, 27735, 1650, - 1959, -1000, -1000, 1605, 1525, -1000, -1000, 396, 60, 27130, - 661, 661, 87, 1205, 1205, 18650, -1000, -1000, -1000, -1000, - -1000, -1000, 580, 2163, 322, 1605, -1000, 1451, 2298, -1000, - -1000, -1000, 2057, 21075, -1000, 1605, 1605, 42860, 1611, 1567, - -1000, 565, -1000, 1563, -22, 15, -1000, -1000, -1000, -1000, - 1205, -1000, 1082, 303, 403, -1000, 388, -1000, -1000, -1000, - -1000, 1945, 75, -1000, -1000, -1000, 180, 396, -1000, -1000, - -1000, -1000, -1000, -1000, 1220, 1220, -1000, -1000, -1000, -1000, - -1000, 1031, -1000, -1000, -1000, 1028, -1000, -1000, 1726, 1809, - 326, -1000, -1000, 725, 1207, -1000, -1000, 1950, 725, 725, - 42860, -1000, -1000, 1368, 2024, 207, 42860, 766, 1787, -1000, - 1762, 1762, 1762, 42860, -1000, -1000, -1000, -1000, -1000, -1000, - -392, 71, 338, -1000, -1000, -1000, 4473, 42860, 1507, -1000, - 187, -1000, 1361, -1000, 42860, -1000, 1500, 1725, 1249, 1249, - -1000, -1000, -1000, 42860, 1605, -1000, -1000, -1000, -1000, 501, - 1988, 280, -1000, -1000, -212, -1000, -1000, 192, 187, 665, - 1249, -1000, -1000, -1000, -1000, -1000, -393, 1489, 465, 205, - 287, 42860, 42860, 42860, 42860, 42860, 552, -1000, -1000, -1000, - -1000, 163, -1000, -1000, 163, -1000, -1000, -1000, -1000, 246, - 422, -1000, 42860, 42860, 579, -1000, -1000, -1000, 840, -1000, - -1000, 840, -1000, -1000, -1000, -1000, -1000, 1979, 42860, -13, - -356, -1000, -353, 18650, -1000, -1000, -1000, -1000, 1080, 456, - 1558, 19255, 19255, 18045, -128, 747, 747, 26525, -1000, -1000, - -1000, 18650, 18650, 1486, 728, -1000, 18650, 940, -1000, -1000, - -1000, 1504, -1000, 1504, -1000, 18650, 18650, 18650, 1312, 294, - -1000, -1000, -1000, -1000, -1000, 2171, -1000, 18650, 18650, 18650, - -1000, -1000, 18650, 18650, -1000, 18650, 18650, 19860, 1312, 19860, - 18650, 18650, 19860, -1000, -1000, -1000, -1000, 19860, 18650, 18650, - 18650, 18650, 18650, 18650, 18650, 18650, 18650, -1000, -1000, 1477, - 1477, 18045, 11970, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 646, -1000, 598, 598, 598, 42860, -1000, - -1000, -1000, -1000, -1000, -1000, 1562, 2070, -1000, 1872, 1871, - 2165, 2163, -1000, 23500, 1959, -1000, -1000, 42860, -296, -1000, - 1919, 1952, 661, 661, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 10140, 2092, 18650, 1785, 42860, 1605, -1000, 22895, 42860, - 42860, 23500, 23500, 23500, 23500, 23500, -1000, 1822, 1816, -1000, - 1818, 1801, 1857, 42860, -1000, 1475, 1312, 2138, 21075, 332, - 18650, 25315, 1541, 23500, -1000, -1000, 23500, 42860, 9530, -1000, - -1000, -16, -10, -1000, -1000, -1000, -1000, 2690, -1000, -1000, - 408, 2054, 1937, -1000, -1000, -1000, -1000, -1000, 1471, -1000, - 1466, 1560, 1464, 159, -1000, 1587, 1978, 725, 725, -1000, - 1027, -1000, 1249, 1203, 1176, -1000, -1000, -1000, 460, -1000, - 2035, 42860, 1783, 1781, 1780, -1000, -400, 1012, 1724, 1564, - 18650, 1721, 2127, 1515, 42860, -1000, -1000, 42860, -1000, 189, - -1000, 326, 42860, -1000, -1000, -1000, 297, 42860, -1000, 6880, - -1000, -1000, -1000, 187, -1000, -1000, -1000, -1000, -1000, -1000, - 42860, 208, -1000, 1719, 1233, -1000, -1000, 1756, -1000, -1000, - -1000, -1000, 175, 279, 172, 1174, 172, -1000, 42860, 560, - 1809, 42860, -1000, -1000, -1000, 845, 845, -1000, -1000, 1976, - -1000, 1249, 1504, 19255, 19255, -1000, 678, -1000, 1605, 1312, - 1667, 1667, -1000, 1667, 1717, -1000, 1667, 154, 1667, 153, - 1667, -1000, -1000, 1312, 1312, 1338, 1190, -94, -1000, 1205, - 18650, -1000, -1000, 1794, 1747, 1504, -1000, 1666, 1661, 18650, - 1504, 1504, 1504, -1000, 1205, 1383, 1663, 1348, -1000, -1000, - -1000, -1000, 1559, 1504, 1610, -287, 1312, 1462, 1462, 1462, - 1462, 1462, 1458, 1458, 1458, 1458, -1000, -1000, 1312, -1000, - -1000, 2088, 2088, 2088, 1441, 43465, 42860, -1000, -1000, -1000, - -1000, 2163, 2151, 1554, -1000, -1000, 60, 399, -1000, 1898, - 1952, -1000, 2123, 1914, 2116, -1000, -1000, -1000, -1000, -1000, - 1205, -1000, 2008, 1455, -1000, 729, 1429, -1000, -1000, 17440, - 1453, 1863, 562, 1441, 1585, 2298, 1761, 1779, 1967, -1000, - -1000, -1000, -1000, 1803, -1000, 1802, -1000, -1000, 1616, -1000, - -1000, 1377, 1312, 1483, 302, 23500, 1424, 1424, -1000, 548, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 841, 5869, 2193, - -1000, 1170, -1000, 1041, 195, 1007, -1000, -1000, 725, 725, - -1000, 785, 784, -1000, 42860, 1658, -1000, 396, 1169, 396, - 1002, -1000, 1001, -1000, -1000, -1000, -1000, 1792, 1815, -1000, - -1000, -1000, -1000, 42860, -1000, -1000, 42860, 42860, 42860, 1652, - 2107, -1000, 18650, 1649, 726, 1604, 42860, 42860, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 409, - 725, -364, 263, 249, 725, 725, 725, -401, -1000, -1000, - 1422, 1419, -1000, -154, -1000, 18650, -1000, -1000, -1000, 959, - 959, -1000, 1616, -1000, -1000, -1000, 1353, -1000, -1000, -139, - 42860, 42860, 42860, 42860, -1000, 995, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 678, 19255, - -1000, -1000, 396, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 18650, -1000, 18650, -1000, 2092, 1168, 1205, 18650, - 18650, -1000, 998, 985, 1504, -1000, -1000, -1000, 1312, 19860, - -1000, 19860, -1000, 18650, 198, 747, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1605, 1940, 1605, - 1605, 25315, -1000, -1000, 2151, 2148, 2106, 1901, 1909, 1909, - 1898, -1000, 2101, 2099, -1000, 1136, 2097, 1135, 781, -1000, - 42860, 18650, 1605, -1000, 321, 42860, 1605, 42860, -1000, 2141, - -1000, -1000, 18650, 1646, -1000, 18650, -1000, -1000, -1000, -1000, - -1000, -1000, 4471, 2163, 1424, -1000, -1000, 688, -1000, 18650, - -1000, -1000, -1000, 3489, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 1132, 1130, -1000, -1000, 1643, 18650, -1000, -1000, - -1000, 1331, 1320, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 1616, -1000, -1000, -1000, -1000, 297, -399, 1595, 42860, - 957, -1000, 1393, 1515, 286, 1605, 1115, 725, 725, 725, - 913, 912, 29550, 1376, -1000, 42860, 323, -1000, 297, -1000, - -171, -172, 1504, -1000, -1000, 2048, -1000, -1000, 11970, -1000, - -1000, 1614, 1758, -1000, -1000, -1000, 293, -1000, 1504, 1504, - 1312, -1000, 1504, 1504, 1318, 1315, -1000, -1000, 1348, -1000, - 1178, -1000, 198, 1312, 1775, -1000, -1000, 4471, -1000, 25920, - -1000, 2096, 2095, 30155, 30155, 646, 2148, -1000, 18650, 18650, - 1877, 948, -1000, -1000, -1000, -1000, 1105, 1104, -1000, 1092, - -1000, 2188, -1000, 1205, -1000, 1605, -1000, 534, 1429, -1000, - 2092, 1205, 42860, 1205, 67, 2141, -1000, 1504, -1000, 1605, - 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, - 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, - 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, 1605, - 1605, 1605, 1605, 1605, -1000, -1000, 42860, 1444, -1000, -1000, - 2034, 1342, 70, -1000, 1336, -1000, -1000, 480, -1000, 18650, - -1000, 29550, 1084, 1043, -1000, -1000, -1000, -1000, -401, -1000, - -1000, -1000, -1000, -1000, -1000, 332, 1497, -1000, 719, 42860, - 42860, 1312, 301, -149, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 18650, -1000, 1312, 1773, -1000, -244, -1000, - 1334, -1000, -1000, -1000, -1000, -1000, 1334, 1334, -1000, -1000, - 1205, 1449, -1000, 903, -1000, -1000, -1000, -1000, -1000, 42860, - 1429, 42860, -1000, 1327, 1312, 1605, 2092, -1000, 1301, -1000, - 332, -1000, 1596, 1564, -1000, -1000, -1000, 16835, -1000, -1000, - -1000, -1000, -1000, 179, -137, 11970, 8920, 1298, -1000, -1000, - 1852, -131, -152, 1383, -1000, -333, -1000, -1000, 28945, -1000, - -1000, -1000, -1000, -1000, 1384, -1000, -1000, 25315, 42255, -1000, - -126, 271, -137, 18650, 1548, 1312, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -17, -1000, -1000, -1000, -1000, -1000, - 1756, -1000, 1838, -1000, 1312, -1000, -1000, -1000, 1296, -1000, - 2912, -243, 1772, -1000, -89, -1000, -1000, -1000, 827, 942, - -1000, -1000, -1000, -1000, -1000, -1000, 1230, 42860, -1000, 382, - -1000, -1000, -139, -140, -1000, -1000, 42255, -236, 665, 4471, - -1000, 1771, 1769, 2169, -1000, -1000, -1000, -1000, -1000, -1000, - -411, 1294, 216, -1000, -150, -1000, -1000, 2021, 67, -1000, - 2184, -1000, 2170, 619, 619, -1000, 872, -411, -1000, -158, - -251, -1000, -1000, -1000, -1000, -1000, 378, 914, -1000, -1000, - -1000, -1000, 4471, -1000, -1000, -1000, 200, 200, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 943, 1304, 1304, + 1304, 1304, 1304, 17376, 1018, -1000, -1000, -1000, 1852, 1791, + 1025, 1378, 1025, 1510, -1000, 1782, 1304, 1767, 1758, 1749, + 1227, 1743, 1734, 1728, 1304, 1304, 1304, 1168, 1712, 1705, + 1688, 1669, 1664, 1658, 1649, 1644, 1638, 1304, 1025, 16770, + 16770, 1500, 1636, 530, -1000, 1543, 1025, 1025, 1543, 1543, + 10685, 1025, -1000, 41626, -1000, -293, -1000, -22, 612, 1636, + -1000, 28294, 1025, -1000, 6651, -1000, 42838, -1000, -1000, -1000, + -1000, -1000, 26476, 1418, 1878, -1000, -1000, 1636, 1627, -1000, + -1000, 314, 55, 25870, 549, 549, 83, 965, 965, 17376, + -1000, -1000, -1000, -1000, -1000, -1000, 529, 2096, 327, 1636, + -1000, 1470, 1969, -1000, -1000, -1000, 2032, 19805, -1000, 1636, + 1636, 41626, 1391, 1376, -1000, 521, -1000, 1496, -6, -7, + -1000, -1000, -1000, -1000, 965, -1000, 1253, 303, 3249, -1000, + 378, -1000, -1000, -1000, -1000, 1943, 60, -1000, -1000, -1000, + 187, 314, -1000, -1000, -1000, -1000, -1000, -1000, 1179, 1179, + -1000, -1000, -1000, -1000, -1000, 1029, -1000, -1000, -1000, 1027, + -1000, -1000, 1582, 1802, 280, -1000, -1000, 674, 1174, -1000, + -1000, 1950, 674, 674, 41626, -1000, -1000, 1288, 2017, 193, + 41626, 779, 1804, -1000, 1760, 1760, 1760, 41626, -1000, -1000, + -1000, -1000, -1000, -1000, -393, 70, 329, -1000, -1000, -1000, + 3549, 41626, 1625, -1000, 165, -1000, 1282, -1000, 41626, -1000, + 1584, 1704, 1186, 1186, -1000, -1000, -1000, 41626, 1636, -1000, + -1000, -1000, -1000, 466, 1995, 275, -1000, -1000, -199, -1000, + -1000, 171, 165, 555, 1186, -1000, -1000, -1000, -1000, -1000, + -389, 1577, 457, 178, 290, 41626, 41626, 41626, 41626, 41626, + 504, -1000, -1000, -1000, -1000, 158, -1000, -1000, 158, -1000, + -1000, -1000, -1000, 236, 427, -1000, 41626, 41626, 552, -1000, + -1000, -1000, 812, -1000, -1000, 812, -1000, -1000, -1000, -1000, + -1000, 1980, 41626, 2, -349, -1000, -346, 17376, -1000, -1000, + -1000, -1000, 1048, 410, 1538, 17982, 17982, 16770, -109, 579, + 579, 25264, -1000, -1000, -1000, 17376, 17376, 1354, 688, -1000, + 17376, 881, -1000, -1000, -1000, 1304, -1000, 1304, -1000, -1000, + 17376, 17376, 17376, 1025, 261, -1000, -1000, -1000, -1000, -1000, + 2103, -1000, 17376, 17376, 17376, -1000, -1000, 17376, 17376, -1000, + 17376, 17376, 18588, 1025, 18588, 17376, 17376, 18588, -1000, -1000, + -1000, -1000, 18588, 17376, 17376, 17376, 17376, 17376, 17376, 17376, + 17376, 17376, -1000, -1000, 1543, 1543, 16770, 10685, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 612, -1000, + 526, 526, 526, 41626, -1000, -1000, -1000, -1000, -1000, -1000, + 1490, 2052, -1000, 1889, 1883, 2098, 2096, -1000, 22234, 1878, + -1000, -1000, 41626, -283, -1000, 1919, 1946, 549, 549, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 8852, 2056, 17376, 1800, + 41626, 1636, -1000, 21628, 41626, 41626, 22234, 22234, 22234, 22234, + 22234, -1000, 1853, 1849, -1000, 1851, 1827, 1866, 41626, -1000, + 1539, 1025, 2066, 19805, 334, 17376, 24052, 1372, 22234, -1000, + -1000, 22234, 41626, 8241, -1000, -1000, -3, -18, -1000, -1000, + -1000, -1000, 3657, -1000, -1000, 423, 2030, 1941, -1000, -1000, + -1000, -1000, -1000, 1537, -1000, 1534, 1468, 1532, 177, -1000, + 1674, 1977, 674, 674, -1000, 1020, -1000, 1186, 1172, 1161, + -1000, -1000, -1000, 451, -1000, 2023, 41626, 1792, 1789, 1783, + -1000, -398, 1013, 1703, 1668, 17376, 1698, 2072, 1399, 41626, + -1000, -1000, 41626, -1000, 176, -1000, 280, 41626, -1000, -1000, + -1000, 291, 41626, -1000, 7088, -1000, -1000, -1000, 165, -1000, + -1000, -1000, -1000, -1000, -1000, 41626, 250, -1000, 1695, 1003, + -1000, -1000, 1714, -1000, -1000, -1000, -1000, 181, 268, 156, + 1156, 156, -1000, 41626, 505, 1802, 41626, -1000, -1000, -1000, + 778, 778, -1000, -1000, 1970, -1000, 1186, 1304, 17982, 17982, + -1000, 589, -1000, 1636, 1025, 1692, 1692, -1000, 1692, 1693, + -1000, 1692, 130, 1692, 125, 1692, -1000, -1000, 1025, 1025, + 1132, 1106, -78, -1000, 965, 17376, -1000, -1000, 1572, 1511, + 1304, -1000, 1687, 1681, 17376, 1304, 1304, 1304, -1000, 965, + 1227, 1446, 1364, -1000, -1000, -1000, -1000, 1460, 1304, 1382, + -281, 1025, 1529, 1529, 1529, 1529, 1529, 1503, 1503, 1503, + 1503, -1000, -1000, 1025, -1000, -1000, 2049, 2049, 2049, 1456, + 42232, 41626, -1000, -1000, -1000, -1000, 2096, 2094, 1435, -1000, + -1000, 55, 380, -1000, 1907, 1946, -1000, 2070, 1912, 2069, + -1000, -1000, -1000, -1000, -1000, 965, -1000, 2010, 1663, -1000, + 685, 1347, -1000, -1000, 16164, 1485, 1876, 513, 1456, 1545, + 1969, 1763, 1779, 1955, -1000, -1000, -1000, -1000, 1847, -1000, + 1833, -1000, -1000, 1660, -1000, -1000, 1389, 1025, 1328, 302, + 22234, 1492, 1492, -1000, 500, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 864, 6595, 2124, -1000, 1154, -1000, 1108, 199, + 1001, -1000, -1000, 674, 674, -1000, 793, 784, -1000, 41626, + 1678, -1000, 314, 1153, 314, 999, -1000, 983, -1000, -1000, + -1000, -1000, 1686, 1829, -1000, -1000, -1000, -1000, 41626, -1000, + -1000, 41626, 41626, 41626, 1677, 2068, -1000, 17376, 1675, 681, + 1415, 41626, 41626, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 402, 674, -359, 271, 254, 674, + 674, 674, -399, -1000, -1000, 1447, 1444, -1000, -148, -1000, + 17376, -1000, -1000, -1000, 1023, 1023, -1000, 1660, -1000, -1000, + -1000, 1279, -1000, -1000, -124, 41626, 41626, 41626, 41626, -1000, + 988, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 589, 17982, -1000, -1000, 314, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 17376, -1000, 17376, + -1000, 2056, 1150, 965, 17376, 17376, -1000, 980, 942, 1304, + -1000, -1000, -1000, 1025, 18588, -1000, 18588, -1000, 17376, 209, + 579, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 1636, 1939, 1636, 1636, 24052, -1000, -1000, 2094, + 2092, 2064, 1895, 1908, 1908, 1907, -1000, 2063, 2062, -1000, + 1143, 2061, 1142, 774, -1000, 41626, 17376, 1636, -1000, 333, + 41626, 1636, 41626, -1000, 2067, -1000, -1000, 17376, 1672, -1000, + 17376, -1000, -1000, -1000, -1000, -1000, -1000, 6936, 2096, 1492, + -1000, -1000, 610, -1000, 17376, -1000, -1000, -1000, 5623, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1137, 1128, -1000, + -1000, 1662, 17376, -1000, -1000, -1000, 1264, 1261, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 1660, -1000, -1000, -1000, + -1000, 291, -397, 1370, 41626, 932, -1000, 1396, 1399, 284, + 1636, 1112, 674, 674, 674, 929, 923, 28294, 1385, -1000, + 41626, 348, -1000, 291, -1000, -157, -158, 1304, -1000, -1000, + 2028, -1000, -1000, 10685, -1000, -1000, 1643, 1756, -1000, -1000, + -1000, 208, -1000, 1304, 1304, 1025, -1000, 1304, 1304, 1246, + 1130, -1000, -1000, 1364, -1000, 1050, -1000, 209, 1025, 1777, + -1000, -1000, 6936, -1000, 24658, -1000, 2060, 2059, 28900, 28900, + 612, 2092, -1000, 17376, 17376, 1893, 958, -1000, -1000, -1000, + -1000, 1111, 1110, -1000, 1109, -1000, 2123, -1000, 965, -1000, + 1636, -1000, 498, 1347, -1000, 2056, 965, 41626, 965, 56, + 2067, -1000, 1304, -1000, 1636, 1636, 1636, 1636, 1636, 1636, + 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, + 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, + 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, + -1000, -1000, 41626, 1262, -1000, -1000, 2026, 1358, 69, -1000, + 1351, -1000, -1000, 478, -1000, 17376, -1000, 28294, 1090, 1076, + -1000, -1000, -1000, -1000, -399, -1000, -1000, -1000, -1000, -1000, + -1000, 334, 1387, -1000, 651, 41626, 41626, 1025, 285, -131, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 17376, + -1000, 1025, 1776, -1000, -246, -1000, 1343, -1000, -1000, -1000, + -1000, -1000, 1343, 1343, -1000, -1000, 965, 1378, -1000, 897, + -1000, -1000, -1000, -1000, -1000, 41626, 1347, 41626, -1000, 1338, + 1025, 1636, 2056, -1000, 1336, -1000, 334, -1000, 1583, 1668, + -1000, -1000, -1000, 15558, -1000, -1000, -1000, -1000, -1000, 172, + -122, 10685, 7630, 1321, -1000, -1000, 1862, -117, -138, 1227, + -1000, -334, -1000, -1000, 27688, -1000, -1000, -1000, -1000, -1000, + 1254, -1000, -1000, 24052, 41020, -1000, -107, 206, -122, 17376, + 1299, 1025, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -5, -1000, -1000, -1000, -1000, -1000, 1714, -1000, 1861, -1000, + 1025, -1000, -1000, -1000, 1293, -1000, 2973, -232, 1773, -1000, + -59, -1000, -1000, -1000, 851, 1074, -1000, -1000, -1000, -1000, + -1000, -1000, 1223, 41626, -1000, 395, -1000, -1000, -124, -125, + -1000, -1000, 41020, -223, 555, 6936, -1000, 1771, 1770, 2102, + -1000, -1000, -1000, -1000, -1000, -1000, -414, 1260, 182, -1000, + -132, -1000, -1000, 2020, 56, -1000, 2104, -1000, 2120, 567, + 567, -1000, 920, -414, -1000, -142, -234, -1000, -1000, -1000, + -1000, -1000, 377, 981, -1000, -1000, -1000, -1000, 6936, -1000, + -1000, -1000, 207, 207, -1000, -1000, } var yyPgo = [...]int{ - 0, 2563, 2562, 24, 4, 43, 41, 2561, 26, 103, - 196, 25, 192, 111, 2560, 2559, 2558, 2557, 2556, 2555, - 2550, 222, 220, 219, 2549, 2547, 2546, 2545, 2544, 2542, - 2540, 2539, 2538, 2537, 216, 172, 193, 2536, 2533, 2531, - 128, 185, 94, 96, 187, 2530, 2529, 88, 2528, 2526, - 2520, 180, 179, 175, 796, 2519, 203, 131, 46, 2518, - 2517, 2516, 2515, 2512, 2510, 2509, 2505, 2504, 2503, 2502, - 2501, 2500, 2496, 2488, 2487, 2486, 194, 2485, 2484, 17, - 2483, 92, 2482, 2481, 2478, 2477, 141, 2476, 2474, 2473, - 23, 2472, 2471, 2470, 2469, 2468, 2465, 2463, 155, 2462, - 2461, 2460, 174, 195, 2459, 2457, 263, 122, 127, 2456, - 2455, 125, 182, 2454, 134, 2453, 2452, 2451, 161, 2450, - 6123, 2449, 76, 73, 2448, 71, 85, 65, 68, 29, - 1, 2447, 2445, 75, 98, 2444, 116, 81, 2442, 119, - 110, 2441, 2440, 13, 7, 2439, 2, 6, 3, 77, - 2438, 2436, 130, 2432, 2431, 2430, 107, 2429, 2427, 3634, - 2425, 99, 149, 120, 83, 2423, 37, 66, 2422, 2420, - 2415, 2414, 2413, 53, 2410, 2409, 2407, 154, 47, 173, - 42, 69, 55, 148, 2406, 147, 89, 2404, 153, 151, - 2403, 61, 31, 45, 2402, 40, 144, 133, 67, 101, - 146, 2401, 2399, 58, 82, 2398, 2397, 2396, 2395, 2385, - 2384, 79, 2379, 60, 2377, 202, 2376, 14, 2375, 50, - 32, 2374, 80, 118, 78, 30, 2373, 168, 2372, 52, - 167, 142, 171, 2369, 2362, 2359, 2356, 190, 293, 2354, - 2353, 84, 178, 158, 160, 100, 2349, 285, 2344, 2341, - 105, 1539, 2381, 28, 170, 2340, 2339, 4406, 150, 36, - 18, 2338, 138, 2333, 2332, 2330, 198, 176, 129, 985, - 59, 2329, 2326, 12, 2320, 2319, 2314, 2311, 2306, 2305, - 97, 39, 38, 35, 197, 63, 10, 108, 169, 86, - 2295, 2287, 2282, 136, 95, 2279, 166, 165, 140, 189, - 2274, 177, 156, 145, 2273, 188, 34, 2271, 2269, 2267, - 2266, 102, 2265, 2264, 2260, 2259, 164, 157, 135, 93, - 2258, 90, 132, 162, 163, 48, 2256, 49, 2254, 2253, - 33, 186, 21, 2252, 15, 70, 74, 22, 123, 121, - 2251, 0, 2250, 16, 181, 284, 159, 2246, 2243, 8, - 9, 11, 2241, 2239, 2238, 2228, 152, 2227, 2219, 2218, - 2217, 20, 44, 19, 5, 126, 91, 2214, 2212, 2211, - 5165, 2523, 143, 2209, 200, + 0, 2448, 2447, 30, 4, 37, 36, 2446, 26, 100, + 192, 25, 197, 111, 2445, 2444, 2443, 2442, 2441, 2440, + 2439, 229, 228, 221, 2438, 2437, 2436, 2435, 2434, 2433, + 2432, 2429, 2427, 2425, 225, 172, 189, 2423, 2422, 2420, + 126, 185, 95, 98, 187, 2417, 2415, 88, 2414, 2412, + 2411, 184, 182, 181, 743, 2410, 176, 123, 46, 2409, + 2408, 2407, 2406, 2404, 2403, 2402, 2401, 2400, 2399, 2398, + 2397, 2396, 2390, 2389, 2388, 2387, 208, 2386, 2385, 18, + 2384, 90, 2382, 2381, 2380, 2379, 142, 2378, 2377, 2376, + 39, 2375, 2374, 2373, 2372, 2371, 2370, 2369, 153, 2367, + 2366, 2364, 173, 190, 2361, 2359, 179, 118, 138, 2358, + 2357, 131, 195, 2355, 140, 2354, 2353, 2352, 163, 2350, + 4568, 2349, 76, 73, 2345, 69, 85, 71, 74, 5, + 10, 2343, 2341, 75, 94, 2340, 115, 77, 2338, 121, + 110, 2337, 2336, 12, 8, 2335, 2, 7, 3, 80, + 2334, 2333, 122, 2332, 2331, 2325, 102, 2324, 2323, 3638, + 2322, 97, 146, 116, 84, 2321, 42, 66, 2319, 2318, + 2316, 2315, 2314, 53, 2311, 2309, 2306, 152, 60, 178, + 40, 65, 52, 144, 2305, 63, 89, 2302, 151, 150, + 2299, 67, 32, 43, 2297, 48, 147, 129, 38, 103, + 155, 2293, 2287, 61, 83, 2284, 2283, 2280, 2278, 2277, + 2275, 81, 2265, 58, 2264, 200, 2263, 14, 2262, 50, + 41, 2259, 79, 135, 78, 31, 2258, 167, 2257, 55, + 171, 143, 168, 2256, 2255, 2254, 2253, 188, 302, 2252, + 2251, 119, 174, 154, 160, 101, 2250, 304, 2249, 2248, + 99, 1542, 2230, 28, 170, 2246, 2236, 4008, 148, 45, + 19, 2233, 201, 2232, 2231, 2229, 194, 177, 130, 983, + 68, 2228, 2225, 15, 2223, 2222, 2219, 2218, 2217, 2215, + 92, 35, 34, 33, 196, 82, 17, 108, 169, 86, + 2214, 2212, 2211, 134, 105, 2210, 166, 165, 133, 139, + 2209, 175, 162, 158, 2208, 693, 29, 2201, 2198, 2196, + 2193, 107, 2192, 2191, 2190, 2188, 164, 156, 132, 93, + 2187, 96, 127, 157, 159, 49, 2185, 47, 2184, 2183, + 23, 186, 24, 2176, 13, 70, 59, 22, 117, 136, + 2165, 0, 2164, 16, 183, 337, 161, 2163, 2160, 6, + 9, 11, 2159, 2157, 2155, 2152, 149, 2151, 2150, 2148, + 2147, 21, 44, 20, 1, 120, 91, 2145, 2144, 2141, + 4758, 2162, 145, 2138, 202, } -//line sql.y:7148 +//line sql.y:7154 type yySymType struct { union any empty struct{} @@ -6960,30 +6840,30 @@ var yyR1 = [...]int{ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - 173, 173, 173, 173, 271, 271, 337, 337, 336, 336, - 335, 335, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 94, 94, 94, 94, 94, 94, - 94, 94, 94, 374, 374, 284, 284, 284, 284, 175, - 175, 175, 175, 175, 101, 101, 101, 101, 101, 268, - 268, 268, 272, 272, 272, 270, 270, 270, 270, 270, + 173, 173, 173, 173, 173, 271, 271, 337, 337, 336, + 336, 335, 335, 95, 95, 95, 95, 95, 95, 95, + 95, 95, 95, 95, 95, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 374, 374, 284, 284, 284, 284, + 175, 175, 175, 175, 175, 101, 101, 101, 101, 101, + 268, 268, 268, 272, 272, 272, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, - 189, 189, 97, 97, 187, 187, 188, 190, 190, 185, - 185, 185, 171, 171, 171, 191, 191, 192, 192, 193, - 193, 195, 194, 194, 196, 197, 197, 197, 198, 198, - 199, 199, 199, 47, 47, 47, 47, 47, 42, 42, - 42, 42, 43, 43, 43, 43, 112, 112, 112, 112, - 114, 114, 113, 113, 79, 79, 80, 80, 80, 118, - 118, 119, 119, 119, 116, 116, 117, 117, 215, 215, - 200, 200, 200, 207, 207, 207, 203, 203, 205, 205, - 205, 206, 206, 206, 204, 212, 212, 214, 214, 213, - 213, 209, 209, 210, 210, 211, 211, 211, 208, 208, - 170, 170, 170, 170, 170, 216, 216, 216, 216, 224, - 224, 180, 180, 182, 182, 181, 135, 225, 225, 229, - 226, 226, 230, 230, 230, 230, 230, 227, 227, 228, - 228, 256, 256, 256, 234, 234, 247, 247, 243, 243, - 244, 244, 237, 237, 249, 249, 249, 74, 179, 179, - 322, 322, 319, 252, 252, 253, 253, 257, 257, 261, - 261, 258, 258, 250, 250, 250, 250, 250, 250, 250, + 270, 189, 189, 97, 97, 187, 187, 188, 190, 190, + 185, 185, 185, 171, 171, 171, 191, 191, 192, 192, + 193, 193, 195, 194, 194, 196, 197, 197, 197, 198, + 198, 199, 199, 199, 47, 47, 47, 47, 47, 42, + 42, 42, 42, 43, 43, 43, 43, 112, 112, 112, + 112, 114, 114, 113, 113, 79, 79, 80, 80, 80, + 118, 118, 119, 119, 119, 116, 116, 117, 117, 215, + 215, 200, 200, 200, 207, 207, 207, 203, 203, 205, + 205, 205, 206, 206, 206, 204, 212, 212, 214, 214, + 213, 213, 209, 209, 210, 210, 211, 211, 211, 208, + 208, 170, 170, 170, 170, 170, 216, 216, 216, 216, + 224, 224, 180, 180, 182, 182, 181, 135, 225, 225, + 229, 226, 226, 230, 230, 230, 230, 230, 227, 227, + 228, 228, 256, 256, 256, 234, 234, 247, 247, 243, + 243, 244, 244, 237, 237, 249, 249, 249, 74, 179, + 179, 322, 322, 319, 252, 252, 253, 253, 257, 257, + 261, 261, 258, 258, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, @@ -6998,6 +6878,7 @@ var yyR1 = [...]int{ 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, + 250, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, @@ -7032,9 +6913,8 @@ var yyR1 = [...]int{ 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, - 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, - 251, 251, 251, 251, 251, 370, 371, 266, 267, 267, - 267, + 251, 251, 251, 251, 251, 251, 251, 370, 371, 266, + 267, 267, 267, } var yyR2 = [...]int{ @@ -7143,34 +7023,34 @@ var yyR2 = [...]int{ 1, 1, 1, 1, 1, 1, 1, 3, 4, 5, 5, 6, 4, 4, 8, 6, 8, 6, 8, 5, 4, 2, 2, 1, 2, 2, 2, 5, 4, 5, - 4, 8, 8, 6, 5, 4, 4, 4, 4, 4, - 7, 4, 6, 6, 6, 4, 4, 4, 7, 8, - 6, 5, 6, 8, 11, 7, 8, 8, 9, 4, - 4, 4, 4, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 4, 0, 2, 0, 2, 1, 3, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 0, 2, 0, 2, 3, 3, 4, - 4, 4, 4, 4, 0, 3, 4, 7, 3, 1, - 1, 1, 0, 5, 5, 2, 3, 1, 2, 2, - 1, 2, 1, 2, 2, 1, 2, 2, 1, 1, - 0, 1, 0, 2, 1, 2, 4, 0, 2, 1, - 3, 5, 1, 2, 2, 0, 3, 0, 2, 0, - 1, 3, 1, 3, 2, 0, 1, 1, 0, 1, - 2, 4, 4, 0, 2, 2, 1, 1, 3, 3, - 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, - 0, 3, 1, 1, 0, 4, 0, 1, 1, 0, - 3, 1, 3, 2, 1, 1, 0, 1, 2, 4, - 9, 3, 5, 0, 3, 3, 0, 1, 0, 2, - 2, 0, 2, 2, 2, 0, 2, 1, 2, 3, - 3, 0, 2, 1, 2, 3, 4, 3, 0, 1, - 2, 1, 5, 4, 4, 1, 3, 3, 5, 0, - 5, 1, 3, 1, 2, 3, 1, 1, 3, 3, - 1, 3, 3, 3, 3, 3, 2, 1, 2, 1, - 1, 1, 1, 1, 1, 1, 0, 1, 0, 2, - 0, 3, 0, 1, 0, 1, 1, 5, 0, 1, - 0, 1, 2, 1, 1, 1, 1, 1, 1, 0, + 4, 4, 8, 8, 6, 5, 4, 4, 4, 4, + 4, 7, 4, 6, 6, 6, 4, 4, 4, 7, + 8, 6, 5, 6, 8, 11, 7, 8, 8, 9, + 4, 4, 4, 4, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 4, 0, 2, 0, 2, 1, + 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 0, 2, 0, 2, 3, 3, + 4, 4, 4, 4, 4, 0, 3, 4, 7, 3, + 1, 1, 1, 0, 5, 5, 2, 3, 1, 2, + 2, 1, 2, 1, 2, 2, 1, 2, 2, 1, + 1, 0, 1, 0, 2, 1, 2, 4, 0, 2, + 1, 3, 5, 1, 2, 2, 0, 3, 0, 2, + 0, 1, 3, 1, 3, 2, 0, 1, 1, 0, + 1, 2, 4, 4, 0, 2, 2, 1, 1, 3, + 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, + 3, 0, 3, 1, 1, 0, 4, 0, 1, 1, + 0, 3, 1, 3, 2, 1, 1, 0, 1, 2, + 4, 9, 3, 5, 0, 3, 3, 0, 1, 0, + 2, 2, 0, 2, 2, 2, 0, 2, 1, 2, + 3, 3, 0, 2, 1, 2, 3, 4, 3, 0, + 1, 2, 1, 5, 4, 4, 1, 3, 3, 5, + 0, 5, 1, 3, 1, 2, 3, 1, 1, 3, + 3, 1, 3, 3, 3, 3, 3, 2, 1, 2, + 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, + 2, 0, 3, 0, 1, 0, 1, 1, 5, 0, + 1, 0, 1, 2, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -7220,8 +7100,8 @@ var yyR2 = [...]int{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, - 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, + 0, 1, 1, } var yyChk = [...]int{ @@ -7233,306 +7113,307 @@ var yyChk = [...]int{ -50, 223, 222, 259, 224, 252, 74, 305, 306, 308, 309, 310, 311, -85, 257, 258, 226, 36, 45, 33, 34, 37, 230, 265, 266, 229, -10, -34, 8, -370, - 11, 436, 254, 253, 28, -12, 473, 86, -369, 614, + 11, 436, 254, 253, 28, -12, 474, 86, -369, 615, -215, -200, 22, 33, 29, -199, -195, -103, -200, 20, 18, 7, -76, -373, -76, -76, 12, 13, -76, -307, -309, 86, 156, 86, -76, -55, -54, -52, -51, -53, -56, 31, -45, -46, -331, -44, -41, 225, 222, 269, 120, 121, 259, 260, 261, 224, 243, 258, 262, 257, - 278, -40, 81, 33, 473, 476, -314, 221, 227, 228, - 437, 123, 122, 75, 223, -311, 359, 506, 584, -56, - 586, 102, 104, 585, 44, 233, 587, 588, 589, 513, - 590, 242, 591, 592, 593, 594, 600, 555, 601, 602, - 603, 124, 7, -76, -261, -257, -341, -251, 89, 90, - 91, 470, 245, 504, 505, 294, 81, 41, 356, 359, - 506, 467, 584, 305, 319, 313, 340, 332, 471, 507, - 480, 297, 246, 282, 581, 330, 132, 586, 300, 508, - 260, 364, 365, 509, 366, 102, 308, 403, 599, 299, - 510, 597, 104, 585, 79, 466, 51, 44, 255, 328, - 229, 324, 587, 283, 511, 482, 276, 123, 120, 606, - 36, 322, 50, 30, 596, 122, 49, 588, 147, 512, - 589, 513, 368, 347, 575, 48, 369, 261, 514, 84, - 266, 475, 303, 583, 370, 323, 371, 293, 595, 226, - 515, 567, 372, 373, 576, 516, 348, 352, 517, 395, - 374, 613, 52, 518, 519, 577, 121, 520, 78, 590, - 80, 317, 318, 521, 291, 244, 397, 344, 449, 456, + 278, -40, 81, 33, 474, 477, -314, 221, 227, 228, + 437, 123, 122, 75, 223, -311, 359, 507, 585, -56, + 587, 102, 104, 586, 44, 233, 588, 589, 590, 514, + 591, 242, 592, 593, 594, 595, 601, 556, 602, 603, + 604, 124, 7, -76, -261, -257, -341, -251, 89, 90, + 91, 471, 245, 505, 506, 294, 81, 41, 356, 359, + 507, 467, 585, 305, 319, 313, 340, 332, 472, 508, + 481, 297, 246, 282, 582, 330, 132, 587, 300, 509, + 260, 364, 365, 510, 366, 102, 308, 403, 600, 299, + 511, 598, 104, 586, 79, 466, 51, 44, 255, 328, + 229, 324, 588, 283, 512, 483, 276, 123, 120, 607, + 36, 322, 50, 30, 597, 122, 49, 589, 147, 513, + 590, 514, 368, 347, 576, 48, 369, 261, 515, 84, + 266, 476, 303, 584, 370, 323, 371, 293, 596, 226, + 516, 568, 372, 373, 577, 517, 348, 352, 518, 395, + 374, 614, 52, 519, 520, 578, 121, 521, 78, 591, + 80, 317, 318, 522, 291, 244, 397, 344, 449, 456, 457, 108, 109, 452, 110, 458, 111, 459, 460, 461, 450, 112, 105, 451, 462, 463, 345, 346, 113, 464, - 107, 106, 453, 455, 114, 465, 242, 35, 375, 472, - 295, 58, 270, 398, 46, 350, 610, 45, 571, 522, - 574, 343, 339, 446, 53, 523, 524, 525, 526, 468, - 591, 342, 316, 338, 605, 4, 288, 592, 62, 228, - 354, 353, 355, 277, 394, 335, 527, 528, 529, 249, - 82, 530, 325, 21, 531, 532, 376, 284, 533, 56, - 534, 535, 401, 258, 536, 54, 593, 39, 537, 263, - 607, 594, 538, 539, 540, 541, 265, 542, 378, 543, - 377, 349, 351, 272, 379, 474, 544, 304, 321, 262, - 598, 545, 250, 582, 264, 269, 257, 402, 251, 546, - 547, 548, 549, 550, 298, 566, 551, 552, 309, 600, - 447, 43, 553, 554, 555, 556, 557, 292, 287, 396, - 405, 61, 83, 361, 558, 559, 580, 315, 285, 560, - 306, 55, 601, 602, 603, 279, 604, 9, 611, 612, - 381, 124, 289, 290, 47, 336, 271, 561, 301, 562, - 326, 327, 341, 314, 337, 307, 568, 273, 382, 448, - 259, 563, 404, 286, 357, 362, 302, 478, 278, 383, - 579, 477, 334, 331, 280, 564, 384, 234, 274, 275, - 565, 569, 385, 386, 296, 387, 388, 389, 390, 391, - 393, 392, 281, 476, 312, 329, 363, 417, 418, 419, - 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, - 430, 431, 432, 433, 434, 445, 232, -76, 232, -159, - -257, 232, -227, 365, -248, 367, 380, 375, 385, 373, - -239, 376, 378, 272, -358, 395, 232, 382, 220, 368, - 377, 386, 387, 296, 393, 388, 392, 281, 389, 390, - 391, -341, 173, 589, 604, 132, 333, 372, 370, 396, - 571, -257, 307, -264, 312, -252, -341, -251, 310, -159, - -82, 567, 224, -266, -266, -105, 571, 573, -178, -120, - 140, -131, -134, -125, -126, -172, -173, -174, -175, -132, - -185, 162, 163, 170, 141, -183, -135, 26, 469, 438, - 437, 173, 31, 216, 68, 69, 440, 441, 143, 57, - 413, 414, -133, 408, 415, 410, 467, 466, 468, 443, - 444, 115, 445, 105, 107, 106, 446, 447, 448, 345, - 346, 449, 450, 451, 108, 109, 110, 111, 112, 113, - 114, 452, 455, 453, 454, 456, 457, 458, 463, 464, - 459, 460, 461, 462, 465, -252, -257, 237, 407, 231, - 168, 436, -127, -123, -8, -181, 406, 411, 412, 416, - 409, -341, -251, -129, -128, -168, 92, 98, 103, 99, - -364, 116, -370, 93, 94, 95, 96, 97, 117, 118, - 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, - 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, - 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, - 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, - 214, 215, 44, 381, 381, -159, -76, -76, -76, -76, - -193, -103, -195, -10, -8, -370, 8, -76, -8, -9, - -13, -34, -36, 500, -35, -257, -200, -215, 12, 158, - 42, 50, -198, -199, -12, -8, -120, 19, 23, 24, - -108, 164, -120, -257, -77, -108, -237, 236, -76, -76, - -226, -269, 307, -230, 396, 395, -253, -228, -252, -250, - -227, 394, 225, 23, 479, 139, 25, 27, 142, 173, - 127, 19, 143, 37, 227, 333, 243, 172, 239, 437, - 220, 72, 481, 408, 410, 406, 413, 439, 440, 407, - 367, 31, 13, 483, 28, 253, 24, 38, 166, 222, - 146, 484, 256, 26, 254, 115, 118, 486, 22, 75, - 248, 14, 241, 40, 16, 487, 488, 17, 237, 236, - 158, 233, 70, 11, 216, 29, 155, 66, 489, 134, - 490, 491, 492, 493, 128, 68, 156, 20, 608, 411, - 412, 33, 572, 469, 267, 168, 73, 59, 573, 140, - 409, 494, 495, 116, 496, 119, 76, 578, 136, 18, - 71, 42, 497, 268, 498, 238, 609, 499, 399, 500, - 157, 223, 436, 69, 501, 231, 380, 8, 442, 32, - 252, 240, 126, 67, 502, 232, 145, 443, 444, 235, - 129, 117, 7, 133, 34, 12, 74, 77, 414, 415, - 416, 57, 125, 473, 144, 15, 503, 400, 138, 132, - -308, 156, -294, -298, -252, 247, -324, 243, -159, -317, - -316, -252, -370, -104, -247, 233, 241, 240, 133, -345, - 136, 289, 407, 231, -51, -52, -53, -227, 172, 588, - -86, 264, 268, 87, 87, -298, -297, -296, -346, 268, - 247, -323, -315, 239, 248, -304, 240, 241, -299, 233, - 134, -346, -299, 238, 248, 243, 247, 268, 268, 124, - 268, 124, 268, 268, 268, 268, 268, 268, 268, 268, - 268, 263, -305, 148, -305, 477, 477, -311, -346, 243, - 233, -346, -346, 235, 35, 35, -249, -299, 235, 25, - -305, -305, -305, -227, 172, -305, -305, -305, -305, 276, - 276, -305, -305, -305, -305, -305, -305, -305, -305, -305, - -305, -305, -305, -305, -305, -305, -305, -305, 232, -345, - -112, 392, 296, 81, -54, 278, -37, -159, -247, 233, - 234, -345, 265, -159, 217, -159, -241, 156, 15, -241, - -238, 381, 379, 366, 371, -241, -241, -241, -241, 279, - 364, -300, 233, 35, 244, 381, 279, 364, 279, 280, - 279, 280, 374, 384, 279, -262, 14, 158, 407, 369, - 373, 272, 232, 273, 234, 383, 280, -262, 93, -242, - 156, 381, 275, -241, -241, -267, -370, -253, 333, -341, - 574, -267, -267, 32, 90, 235, -252, -78, -252, 93, - -15, -11, -22, -21, -23, 148, -110, 381, -98, 173, - 589, 575, 576, 577, 574, 378, 582, 580, 578, 279, - 579, 87, 136, 138, 139, 4, -120, 155, -169, 148, - 149, 150, 151, 152, 153, 154, 158, 140, 142, 156, - 157, 137, 159, 160, 161, 162, 163, 164, 165, 167, - 166, 168, 169, 172, 218, 219, -126, -126, -126, -126, - -183, -370, -370, -370, -126, -236, -370, -126, -370, -370, - -370, -370, -189, -120, -370, -374, -370, -374, -374, -284, - -370, -284, -370, -370, -370, -370, -370, -370, -370, -370, + 107, 106, 453, 455, 114, 465, 242, 35, 375, 473, + 295, 58, 270, 398, 46, 350, 611, 45, 572, 523, + 575, 343, 339, 446, 53, 524, 525, 526, 527, 468, + 592, 342, 316, 338, 606, 4, 288, 469, 593, 62, + 228, 354, 353, 355, 277, 394, 335, 528, 529, 530, + 249, 82, 531, 325, 21, 532, 533, 376, 284, 534, + 56, 535, 536, 401, 258, 537, 54, 594, 39, 538, + 263, 608, 595, 539, 540, 541, 542, 265, 543, 378, + 544, 377, 349, 351, 272, 379, 475, 545, 304, 321, + 262, 599, 546, 250, 583, 264, 269, 257, 402, 251, + 547, 548, 549, 550, 551, 298, 567, 552, 553, 309, + 601, 447, 43, 554, 555, 556, 557, 558, 292, 287, + 396, 405, 61, 83, 361, 559, 560, 581, 315, 285, + 561, 306, 55, 602, 603, 604, 279, 605, 9, 612, + 613, 381, 124, 289, 290, 47, 336, 271, 562, 301, + 563, 326, 327, 341, 314, 337, 307, 569, 273, 382, + 448, 259, 564, 404, 286, 357, 362, 302, 479, 278, + 383, 580, 478, 334, 331, 280, 565, 384, 234, 274, + 275, 566, 570, 385, 386, 296, 387, 388, 389, 390, + 391, 393, 392, 281, 477, 312, 329, 363, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 431, 432, 433, 434, 445, 232, -76, 232, + -159, -257, 232, -227, 365, -248, 367, 380, 375, 385, + 373, -239, 376, 378, 272, -358, 395, 232, 382, 220, + 368, 377, 386, 387, 296, 393, 388, 392, 281, 389, + 390, 391, -341, 173, 590, 605, 132, 333, 372, 370, + 396, 572, -257, 307, -264, 312, -252, -341, -251, 310, + -159, -82, 568, 224, -266, -266, -105, 572, 574, -178, + -120, 140, -131, -134, -125, -126, -172, -173, -174, -175, + -132, -185, 162, 163, 170, 141, -183, -135, 26, 470, + 438, 437, 173, 31, 216, 68, 69, 440, 441, 143, + 57, 413, 414, -133, 408, 415, 410, 467, 466, 468, + 469, 443, 444, 115, 445, 105, 107, 106, 446, 447, + 448, 345, 346, 449, 450, 451, 108, 109, 110, 111, + 112, 113, 114, 452, 455, 453, 454, 456, 457, 458, + 463, 464, 459, 460, 461, 462, 465, -252, -257, 237, + 407, 231, 168, 436, -127, -123, -8, -181, 406, 411, + 412, 416, 409, -341, -251, -129, -128, -168, 92, 98, + 103, 99, -364, 116, -370, 93, 94, 95, 96, 97, + 117, 118, 174, 175, 176, 177, 178, 179, 180, 181, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, + 212, 213, 214, 215, 44, 381, 381, -159, -76, -76, + -76, -76, -193, -103, -195, -10, -8, -370, 8, -76, + -8, -9, -13, -34, -36, 501, -35, -257, -200, -215, + 12, 158, 42, 50, -198, -199, -12, -8, -120, 19, + 23, 24, -108, 164, -120, -257, -77, -108, -237, 236, + -76, -76, -226, -269, 307, -230, 396, 395, -253, -228, + -252, -250, -227, 394, 225, 23, 480, 139, 25, 27, + 142, 173, 127, 19, 143, 37, 227, 333, 243, 172, + 239, 437, 220, 72, 482, 408, 410, 406, 413, 439, + 440, 407, 367, 31, 13, 484, 28, 253, 24, 38, + 166, 222, 146, 485, 256, 26, 254, 115, 118, 487, + 22, 75, 248, 14, 241, 40, 16, 488, 489, 17, + 237, 236, 158, 233, 70, 11, 216, 29, 155, 66, + 490, 134, 491, 492, 493, 494, 128, 68, 156, 20, + 609, 411, 412, 33, 573, 470, 267, 168, 73, 59, + 574, 140, 409, 495, 496, 116, 497, 119, 76, 579, + 136, 18, 71, 42, 498, 268, 499, 238, 610, 500, + 399, 501, 157, 223, 436, 69, 502, 231, 380, 8, + 442, 32, 252, 240, 126, 67, 503, 232, 145, 443, + 444, 235, 129, 117, 7, 133, 34, 12, 74, 77, + 414, 415, 416, 57, 125, 474, 144, 15, 504, 400, + 138, 132, -308, 156, -294, -298, -252, 247, -324, 243, + -159, -317, -316, -252, -370, -104, -247, 233, 241, 240, + 133, -345, 136, 289, 407, 231, -51, -52, -53, -227, + 172, 589, -86, 264, 268, 87, 87, -298, -297, -296, + -346, 268, 247, -323, -315, 239, 248, -304, 240, 241, + -299, 233, 134, -346, -299, 238, 248, 243, 247, 268, + 268, 124, 268, 124, 268, 268, 268, 268, 268, 268, + 268, 268, 268, 263, -305, 148, -305, 478, 478, -311, + -346, 243, 233, -346, -346, 235, 35, 35, -249, -299, + 235, 25, -305, -305, -305, -227, 172, -305, -305, -305, + -305, 276, 276, -305, -305, -305, -305, -305, -305, -305, + -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, + 232, -345, -112, 392, 296, 81, -54, 278, -37, -159, + -247, 233, 234, -345, 265, -159, 217, -159, -241, 156, + 15, -241, -238, 381, 379, 366, 371, -241, -241, -241, + -241, 279, 364, -300, 233, 35, 244, 381, 279, 364, + 279, 280, 279, 280, 374, 384, 279, -262, 14, 158, + 407, 369, 373, 272, 232, 273, 234, 383, 280, -262, + 93, -242, 156, 381, 275, -241, -241, -267, -370, -253, + 333, -341, 575, -267, -267, 32, 90, 235, -252, -78, + -252, 93, -15, -11, -22, -21, -23, 148, -110, 381, + -98, 173, 590, 576, 577, 578, 575, 378, 583, 581, + 579, 279, 580, 87, 136, 138, 139, 4, -120, 155, + -169, 148, 149, 150, 151, 152, 153, 154, 158, 140, + 142, 156, 157, 137, 159, 160, 161, 162, 163, 164, + 165, 167, 166, 168, 169, 172, 218, 219, -126, -126, + -126, -126, -183, -370, -370, -370, -126, -236, -370, -126, + -370, -370, -370, -370, -189, -120, -370, -374, -370, -374, + -374, -284, -370, -284, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, - -370, -370, 217, -370, -370, -370, -370, -370, -284, -284, - -284, -284, -284, 103, 98, 92, -185, 99, 93, -252, - -257, -8, -9, -178, -266, -355, -356, -162, -159, -370, - 296, -252, -252, 265, -198, -12, -8, -193, -199, -195, - -8, -76, -96, -109, 63, 64, -111, 24, 38, 67, - 65, 23, -371, 88, -371, -215, -371, 87, -36, -219, - 86, 61, 43, 93, 93, 87, 21, -194, -196, -120, - 14, -255, 4, -254, 25, -252, 93, 217, 101, 14, - -160, 29, -159, -237, -237, 87, 307, -230, -269, -232, - -231, 397, 399, 148, -256, -252, 93, 31, 88, 87, - -159, -273, -276, -278, -277, -279, -274, -275, 330, 331, - 173, 334, 336, 337, 338, 339, 340, 341, 342, 343, - 344, 347, 32, 255, 326, 327, 328, 329, 348, 349, - 350, 351, 352, 353, 354, 355, 313, 332, 471, 314, - 315, 316, 317, 318, 319, 321, 322, 323, 324, 325, - -344, -341, 86, 88, 87, -280, 86, -120, -112, 232, - -341, 233, 233, 233, -76, 436, -305, -305, -305, 263, - 19, -44, -41, -331, 18, -40, -41, 225, 120, 121, - 222, 86, -294, 86, -303, -344, -341, 86, 134, 238, - 133, -302, -299, -302, -303, -341, -185, -341, 134, 134, - -341, -341, -223, -252, -223, -223, 23, -223, 23, -223, - 23, 95, -252, -223, 23, -223, 23, -223, 23, -223, - 23, -223, 23, 31, 78, 79, 80, 31, 82, 83, - 84, -185, -341, -341, -185, -294, -227, -159, -341, 95, - 95, 95, -305, -305, 95, 93, 93, 93, -305, -305, - 95, 93, -259, -257, 93, 93, -347, 249, 293, 295, - 95, 95, 95, 95, 31, 93, -348, 31, 596, 595, - 597, 598, 599, 93, 95, 31, 95, 31, 95, -252, - 86, -159, -118, 283, 220, 222, 225, 76, 93, 297, - 301, 302, 148, 44, 87, 235, 232, -341, -243, 237, - -243, -252, -258, -257, -250, 93, -120, -301, 14, 158, - -262, -262, -241, -159, -301, -262, -241, -159, -241, -241, - -241, -241, -262, -262, -262, -241, -257, -257, -159, -159, - -159, -159, -159, -159, -159, -267, -242, -241, 574, 93, - -235, 14, 76, -267, -267, -265, 310, 344, 568, 569, - 570, 87, 473, -152, -159, 574, 574, 574, 574, 574, - 574, -120, -120, -120, -120, 496, -176, 116, 140, 117, - 118, -134, -177, -181, -183, 100, 158, 142, 156, 157, - -125, -126, -125, -125, -125, -125, -125, -125, -125, -125, - -125, -125, -125, -125, -125, -268, -252, 93, 173, -130, - -129, 99, -364, -130, -106, -108, -120, -120, -341, -252, - -106, -106, -120, -102, 24, 38, -187, -188, 144, -185, - -371, -371, 95, 99, -102, -367, -102, 164, -120, -252, - -252, -95, -94, 418, 419, 420, 421, 423, 424, 425, - 428, 429, 433, 434, 417, 435, 422, 427, 430, 431, - 432, 426, 329, -120, -120, -120, -120, -120, -120, -83, - -120, 127, 128, 129, -120, -120, -179, -178, -340, -339, - -338, -120, -120, -120, -120, -120, -120, -120, -120, -120, + -370, -370, -370, -370, -370, 217, -370, -370, -370, -370, + -370, -284, -284, -284, -284, -284, 103, 98, 92, -185, + 99, 93, -252, -257, -8, -9, -178, -266, -355, -356, + -162, -159, -370, 296, -252, -252, 265, -198, -12, -8, + -193, -199, -195, -8, -76, -96, -109, 63, 64, -111, + 24, 38, 67, 65, 23, -371, 88, -371, -215, -371, + 87, -36, -219, 86, 61, 43, 93, 93, 87, 21, + -194, -196, -120, 14, -255, 4, -254, 25, -252, 93, + 217, 101, 14, -160, 29, -159, -237, -237, 87, 307, + -230, -269, -232, -231, 397, 399, 148, -256, -252, 93, + 31, 88, 87, -159, -273, -276, -278, -277, -279, -274, + -275, 330, 331, 173, 334, 336, 337, 338, 339, 340, + 341, 342, 343, 344, 347, 32, 255, 326, 327, 328, + 329, 348, 349, 350, 351, 352, 353, 354, 355, 313, + 332, 472, 314, 315, 316, 317, 318, 319, 321, 322, + 323, 324, 325, -344, -341, 86, 88, 87, -280, 86, + -120, -112, 232, -341, 233, 233, 233, -76, 436, -305, + -305, -305, 263, 19, -44, -41, -331, 18, -40, -41, + 225, 120, 121, 222, 86, -294, 86, -303, -344, -341, + 86, 134, 238, 133, -302, -299, -302, -303, -341, -185, + -341, 134, 134, -341, -341, -223, -252, -223, -223, 23, + -223, 23, -223, 23, 95, -252, -223, 23, -223, 23, + -223, 23, -223, 23, -223, 23, 31, 78, 79, 80, + 31, 82, 83, 84, -185, -341, -341, -185, -294, -227, + -159, -341, 95, 95, 95, -305, -305, 95, 93, 93, + 93, -305, -305, 95, 93, -259, -257, 93, 93, -347, + 249, 293, 295, 95, 95, 95, 95, 31, 93, -348, + 31, 597, 596, 598, 599, 600, 93, 95, 31, 95, + 31, 95, -252, 86, -159, -118, 283, 220, 222, 225, + 76, 93, 297, 301, 302, 148, 44, 87, 235, 232, + -341, -243, 237, -243, -252, -258, -257, -250, 93, -120, + -301, 14, 158, -262, -262, -241, -159, -301, -262, -241, + -159, -241, -241, -241, -241, -262, -262, -262, -241, -257, + -257, -159, -159, -159, -159, -159, -159, -159, -267, -242, + -241, 575, 93, -235, 14, 76, -267, -267, -265, 310, + 344, 569, 570, 571, 87, 474, -152, -159, 575, 575, + 575, 575, 575, 575, -120, -120, -120, -120, 497, -176, + 116, 140, 117, 118, -134, -177, -181, -183, 100, 158, + 142, 156, 157, -125, -126, -125, -125, -125, -125, -125, + -125, -125, -125, -125, -125, -125, -125, -125, -268, -252, + 93, 173, -130, -129, 99, -364, -130, -106, -108, -120, + -120, -341, -252, -106, -106, -120, -102, 24, 38, -187, + -188, 144, -185, -371, -371, 95, 99, -102, -367, -102, + 164, -120, -120, -252, -252, -95, -94, 418, 419, 420, + 421, 423, 424, 425, 428, 429, 433, 434, 417, 435, + 422, 427, 430, 431, 432, 426, 329, -120, -120, -120, + -120, -120, -120, -83, -120, 127, 128, 129, -120, -120, + -179, -178, -340, -339, -338, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, - -120, -120, -120, -120, -107, 24, 38, -106, -253, -258, - -250, -106, -107, -107, -106, -106, 217, -215, -371, 87, - -357, 399, 400, 572, -260, 268, -259, 25, -179, 93, - 14, -221, 77, -252, -198, -198, 63, 64, 59, -106, - -111, -371, -35, 25, -217, -252, 62, 93, -285, -227, - 356, 357, 173, -120, -120, 87, -197, 27, 28, -159, - -254, 164, -258, -159, -222, 268, -159, -137, -139, -140, - -141, -162, -184, -370, -142, 492, 489, 14, -152, -153, - -161, -257, -230, -232, 87, 398, 400, 401, 76, 119, - -120, -286, 172, -313, -312, -311, -294, -296, -297, -298, - 88, -286, -290, 362, 361, -280, -280, -280, -280, -280, - -285, -285, -285, -285, 86, 86, -280, -280, -280, -280, - -288, 86, -288, -288, -289, 86, -289, -324, -120, -321, - -320, -318, -319, 242, 102, 565, 521, 473, 513, 555, - 77, -316, -197, 95, -371, -118, -244, 237, -322, -319, - -341, -341, -341, -244, -341, 93, -341, 93, -341, 93, - -87, -58, -1, 608, 609, 610, 87, 19, -295, -294, - -57, 293, -327, -328, 268, -323, -317, -303, 134, -302, - -303, -303, -341, 87, 29, 124, 124, 124, 124, 473, - 222, 32, -245, 512, 140, 565, 521, -294, -57, -268, - 235, -268, -268, 93, 93, -240, 604, -152, -114, 285, - 148, 274, 274, 232, 232, 287, -159, 298, 300, 299, - 297, 301, 302, 23, 23, 23, 286, 288, 290, 276, - -159, -159, -243, 76, -154, -159, 26, -257, -159, -241, - -241, -159, -241, -241, -159, -252, -98, 399, 87, 473, - 22, -99, 22, -370, 116, 117, 118, -177, -125, -126, - -125, 139, 256, 87, -371, 25, 87, 77, -371, -371, - -371, 87, 14, -106, -190, -188, 146, -120, -371, -371, - -371, -120, -371, -120, -371, 87, 87, 14, -272, 25, - -371, -371, -371, -371, -371, -189, -371, 14, 87, 87, - -371, -371, 87, 87, -371, 87, 87, 87, -337, 87, - 87, 87, 87, -371, -371, -371, -371, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, -371, -371, -106, - -106, -370, 217, -371, -371, -371, -371, -371, -253, -356, - 571, 400, -166, -165, -163, 74, 236, 75, -370, -259, - -371, -130, 90, -218, 90, -217, -171, -252, 95, 99, - -200, -136, -138, 14, -111, -183, 88, 87, -285, -204, - -209, -238, -252, 93, 173, -287, 173, -287, 356, 357, - -196, 217, -167, 15, -170, 32, 57, -11, -370, -370, - 32, 87, -155, -157, -156, -158, 66, 70, 72, 67, - 68, 69, 73, -263, 25, -137, -9, -8, -370, -370, - -370, -159, -152, -372, 14, 77, -372, 87, 217, -231, - -233, 402, 399, 405, -341, 93, -86, 87, -311, -298, - -201, -115, 40, -291, 363, -285, 480, -285, -293, 93, - -293, 95, 95, 88, -47, -42, -43, 33, 81, -318, - -305, 93, 39, -305, -305, -252, 88, -197, -114, -159, - 140, 76, -322, -322, -322, -257, -2, 607, 613, 134, - 86, 366, 18, -217, 87, 88, -186, 294, 88, -88, - -252, 88, 86, -303, -303, -252, -370, 232, 31, 31, - 565, 521, 512, -57, -186, -286, -341, 606, 605, 88, - 234, 292, -119, 413, -116, 93, 89, -159, -159, -159, - -159, -159, 225, 222, -365, 303, -365, 277, 235, -152, - -159, 87, -81, 251, 246, -262, -262, 33, -159, 399, - 583, 581, -120, 139, 256, -134, -126, -108, 470, -270, - 173, 330, 255, 328, 324, 344, 335, 361, 326, 362, - 323, 322, 321, -270, -268, -120, -120, -193, 147, -120, - 145, -371, -371, -120, -120, -120, -371, 173, 330, 14, - -120, -120, -120, -338, -120, -120, -120, -336, -335, -130, - -185, -371, -336, -120, -120, -335, -335, -339, -339, -339, - -339, -339, -178, -178, -178, -178, -371, -371, -107, -253, - -163, -299, -299, -299, -223, 87, -234, 22, 14, 57, - 57, -136, -167, -137, -111, -252, -207, 567, -212, 46, - -210, -211, 47, -208, 48, 56, -287, -287, 164, -198, - -120, -224, 76, -225, -229, -185, -180, -182, -181, -370, - -216, -371, -252, -223, -225, -139, -140, -140, -139, -140, - 66, 66, 66, 71, 66, 71, 66, -156, -257, -371, - -371, -9, -9, -120, -260, 77, -137, -137, -161, -257, - 164, 399, 403, 404, -311, -363, 116, 140, 31, 76, - 359, 102, -361, 172, 509, 560, 565, 521, 513, 555, - -362, 238, 133, 134, 250, 25, 41, 88, 87, 88, - 87, 88, 87, -246, -245, -43, -42, -305, -305, 95, - -341, 93, 93, 234, 26, -159, 76, 76, 76, -89, - 611, 95, 86, -3, 81, -120, 86, 19, -294, -185, - -329, -281, -330, -282, -283, -5, -6, -306, -92, 57, - 102, -61, 44, 233, 591, 592, 124, -370, 604, -321, - -217, -325, -327, -159, -122, -370, -121, -123, -127, 162, - 163, -186, -159, -113, 283, 291, 86, -117, 90, -343, - 77, 274, 359, 274, -366, 304, 93, -366, -159, -81, - -47, -159, -241, -241, 33, -341, -371, -134, -126, -370, - -371, -280, -280, -280, -289, -280, 318, -280, 318, -280, - -371, -371, 87, -371, 22, -371, -97, 442, -120, 87, - 87, -371, 86, 86, -120, -371, -371, -371, -337, 87, - -371, 87, -371, 87, -271, 566, -371, -371, -371, -371, - -371, -371, -371, -371, -371, -371, -371, -164, 22, -164, - -164, -371, 90, -159, -167, -191, 16, -204, 51, 336, - -214, -213, 55, 47, -211, 19, 49, 19, 30, -224, - 87, 148, 87, -371, -371, 87, 57, 217, -371, -167, - -150, -149, 76, 77, -151, 76, -149, 66, 66, -219, - -371, -371, 87, -222, -137, -167, -167, 217, 116, -370, - -124, -133, -122, 12, 93, 93, -341, -360, 595, 596, - 31, 95, -305, -305, 134, 134, -159, 86, -285, 93, - -285, 95, 95, 31, 82, 83, 84, 31, 78, 79, - 80, -159, -159, -159, -159, -326, 86, 19, -120, 86, - 148, 88, -217, -217, 270, 158, -305, 589, 276, 276, - -305, -305, -305, -91, -90, 611, 88, -371, 87, -292, - 473, 476, -120, -128, -128, -219, 88, -334, 473, -342, - -252, -252, -252, -252, 95, 97, -125, -285, -120, -120, - -198, 93, -120, -120, 95, 95, -371, -371, -336, -335, - -120, -371, -147, -146, -148, 575, 116, 31, -270, -370, - 66, 18, 16, -370, -370, -260, -191, -192, 17, 19, - -205, 53, -203, 52, -203, -213, 19, 19, 93, 19, - 93, 134, -229, -120, -182, 57, -11, -252, -180, -252, - -193, -120, 86, -120, -130, -167, -167, -120, -173, 467, - 466, 468, 445, 105, 107, 106, 446, 447, 448, 345, - 346, 449, 450, 451, 108, 109, 110, 111, 112, 113, - 114, 452, 455, 453, 456, 457, 458, 463, 464, 459, - 460, 461, 462, 465, 93, 93, 86, -120, 88, 88, - -219, -325, -58, 88, -217, 95, 88, 271, -181, -370, - 93, -305, -305, -305, 95, 95, -259, -371, 87, -252, - -362, -327, 477, 477, -371, 25, -333, -332, -253, 86, - 77, -101, 158, 473, -371, -371, -371, -371, -371, 88, - 88, -371, -371, 87, -371, -146, -148, -371, 76, -130, - -220, -371, -252, 238, 19, 19, -220, -220, -166, -192, - -120, -178, -206, 54, 76, 119, 93, 93, 93, 12, - -180, 217, -198, -217, -144, 366, -193, -371, -217, 88, - 25, 88, 613, 134, 88, -181, -100, -370, 267, -259, - 93, 93, -90, -93, -11, 87, 148, -217, -159, -371, - 471, 73, 474, -120, -371, 76, 484, 575, 87, -371, - -371, -371, 76, 119, -225, -252, 88, -371, -370, -198, - 88, -202, -11, 86, -3, 267, -281, -330, -282, -283, - -5, -6, -306, -79, 473, -332, -310, -253, 93, 95, - 88, 62, 472, 475, -337, -252, 238, -260, -145, -143, - -252, 527, -353, -352, 469, -363, -359, 116, 140, 102, - -361, 565, 521, 125, 126, -79, -120, 86, -371, -80, - 282, 571, -343, 62, -371, -371, 87, 22, -273, -60, - 538, -350, -351, 76, -354, 372, 537, 558, 116, 93, - 88, -217, 243, -334, 473, -143, 534, -286, -130, -351, - 76, -350, 76, 13, 12, -4, 612, 88, 284, 474, - -59, 26, -144, -349, 251, 246, 249, 32, -349, 95, - -4, 475, 538, 245, 31, 116, -130, -147, -146, -146, + -120, -120, -120, -120, -120, -120, -120, -120, -107, 24, + 38, -106, -253, -258, -250, -106, -107, -107, -106, -106, + 217, -215, -371, 87, -357, 399, 400, 573, -260, 268, + -259, 25, -179, 93, 14, -221, 77, -252, -198, -198, + 63, 64, 59, -106, -111, -371, -35, 25, -217, -252, + 62, 93, -285, -227, 356, 357, 173, -120, -120, 87, + -197, 27, 28, -159, -254, 164, -258, -159, -222, 268, + -159, -137, -139, -140, -141, -162, -184, -370, -142, 493, + 490, 14, -152, -153, -161, -257, -230, -232, 87, 398, + 400, 401, 76, 119, -120, -286, 172, -313, -312, -311, + -294, -296, -297, -298, 88, -286, -290, 362, 361, -280, + -280, -280, -280, -280, -285, -285, -285, -285, 86, 86, + -280, -280, -280, -280, -288, 86, -288, -288, -289, 86, + -289, -324, -120, -321, -320, -318, -319, 242, 102, 566, + 522, 474, 514, 556, 77, -316, -197, 95, -371, -118, + -244, 237, -322, -319, -341, -341, -341, -244, -341, 93, + -341, 93, -341, 93, -87, -58, -1, 609, 610, 611, + 87, 19, -295, -294, -57, 293, -327, -328, 268, -323, + -317, -303, 134, -302, -303, -303, -341, 87, 29, 124, + 124, 124, 124, 474, 222, 32, -245, 513, 140, 566, + 522, -294, -57, -268, 235, -268, -268, 93, 93, -240, + 605, -152, -114, 285, 148, 274, 274, 232, 232, 287, + -159, 298, 300, 299, 297, 301, 302, 23, 23, 23, + 286, 288, 290, 276, -159, -159, -243, 76, -154, -159, + 26, -257, -159, -241, -241, -159, -241, -241, -159, -252, + -98, 399, 87, 474, 22, -99, 22, -370, 116, 117, + 118, -177, -125, -126, -125, 139, 256, 87, -371, 25, + 87, 77, -371, -371, -371, 87, 14, -106, -190, -188, + 146, -120, -371, -371, -371, -120, -371, -120, -371, -371, + 87, 87, 14, -272, 25, -371, -371, -371, -371, -371, + -189, -371, 14, 87, 87, -371, -371, 87, 87, -371, + 87, 87, 87, -337, 87, 87, 87, 87, -371, -371, + -371, -371, 87, 87, 87, 87, 87, 87, 87, 87, + 87, 87, -371, -371, -106, -106, -370, 217, -371, -371, + -371, -371, -371, -253, -356, 572, 400, -166, -165, -163, + 74, 236, 75, -370, -259, -371, -130, 90, -218, 90, + -217, -171, -252, 95, 99, -200, -136, -138, 14, -111, + -183, 88, 87, -285, -204, -209, -238, -252, 93, 173, + -287, 173, -287, 356, 357, -196, 217, -167, 15, -170, + 32, 57, -11, -370, -370, 32, 87, -155, -157, -156, + -158, 66, 70, 72, 67, 68, 69, 73, -263, 25, + -137, -9, -8, -370, -370, -370, -159, -152, -372, 14, + 77, -372, 87, 217, -231, -233, 402, 399, 405, -341, + 93, -86, 87, -311, -298, -201, -115, 40, -291, 363, + -285, 481, -285, -293, 93, -293, 95, 95, 88, -47, + -42, -43, 33, 81, -318, -305, 93, 39, -305, -305, + -252, 88, -197, -114, -159, 140, 76, -322, -322, -322, + -257, -2, 608, 614, 134, 86, 366, 18, -217, 87, + 88, -186, 294, 88, -88, -252, 88, 86, -303, -303, + -252, -370, 232, 31, 31, 566, 522, 513, -57, -186, + -286, -341, 607, 606, 88, 234, 292, -119, 413, -116, + 93, 89, -159, -159, -159, -159, -159, 225, 222, -365, + 303, -365, 277, 235, -152, -159, 87, -81, 251, 246, + -262, -262, 33, -159, 399, 584, 582, -120, 139, 256, + -134, -126, -108, 471, -270, 173, 330, 255, 328, 324, + 344, 335, 361, 326, 362, 323, 322, 321, -270, -268, + -120, -120, -193, 147, -120, 145, -371, -371, -120, -120, + -120, -371, 173, 330, 14, -120, -120, -120, -338, -120, + -120, -120, -336, -335, -130, -185, -371, -336, -120, -120, + -335, -335, -339, -339, -339, -339, -339, -178, -178, -178, + -178, -371, -371, -107, -253, -163, -299, -299, -299, -223, + 87, -234, 22, 14, 57, 57, -136, -167, -137, -111, + -252, -207, 568, -212, 46, -210, -211, 47, -208, 48, + 56, -287, -287, 164, -198, -120, -224, 76, -225, -229, + -185, -180, -182, -181, -370, -216, -371, -252, -223, -225, + -139, -140, -140, -139, -140, 66, 66, 66, 71, 66, + 71, 66, -156, -257, -371, -371, -9, -9, -120, -260, + 77, -137, -137, -161, -257, 164, 399, 403, 404, -311, + -363, 116, 140, 31, 76, 359, 102, -361, 172, 510, + 561, 566, 522, 514, 556, -362, 238, 133, 134, 250, + 25, 41, 88, 87, 88, 87, 88, 87, -246, -245, + -43, -42, -305, -305, 95, -341, 93, 93, 234, 26, + -159, 76, 76, 76, -89, 612, 95, 86, -3, 81, + -120, 86, 19, -294, -185, -329, -281, -330, -282, -283, + -5, -6, -306, -92, 57, 102, -61, 44, 233, 592, + 593, 124, -370, 605, -321, -217, -325, -327, -159, -122, + -370, -121, -123, -127, 162, 163, -186, -159, -113, 283, + 291, 86, -117, 90, -343, 77, 274, 359, 274, -366, + 304, 93, -366, -159, -81, -47, -159, -241, -241, 33, + -341, -371, -134, -126, -370, -371, -280, -280, -280, -289, + -280, 318, -280, 318, -280, -371, -371, 87, -371, 22, + -371, -97, 442, -120, 87, 87, -371, 86, 86, -120, + -371, -371, -371, -337, 87, -371, 87, -371, 87, -271, + 567, -371, -371, -371, -371, -371, -371, -371, -371, -371, + -371, -371, -164, 22, -164, -164, -371, 90, -159, -167, + -191, 16, -204, 51, 336, -214, -213, 55, 47, -211, + 19, 49, 19, 30, -224, 87, 148, 87, -371, -371, + 87, 57, 217, -371, -167, -150, -149, 76, 77, -151, + 76, -149, 66, 66, -219, -371, -371, 87, -222, -137, + -167, -167, 217, 116, -370, -124, -133, -122, 12, 93, + 93, -341, -360, 596, 597, 31, 95, -305, -305, 134, + 134, -159, 86, -285, 93, -285, 95, 95, 31, 82, + 83, 84, 31, 78, 79, 80, -159, -159, -159, -159, + -326, 86, 19, -120, 86, 148, 88, -217, -217, 270, + 158, -305, 590, 276, 276, -305, -305, -305, -91, -90, + 612, 88, -371, 87, -292, 474, 477, -120, -128, -128, + -219, 88, -334, 474, -342, -252, -252, -252, -252, 95, + 97, -125, -285, -120, -120, -198, 93, -120, -120, 95, + 95, -371, -371, -336, -335, -120, -371, -147, -146, -148, + 576, 116, 31, -270, -370, 66, 18, 16, -370, -370, + -260, -191, -192, 17, 19, -205, 53, -203, 52, -203, + -213, 19, 19, 93, 19, 93, 134, -229, -120, -182, + 57, -11, -252, -180, -252, -193, -120, 86, -120, -130, + -167, -167, -120, -173, 467, 466, 468, 469, 445, 105, + 107, 106, 446, 447, 448, 345, 346, 449, 450, 451, + 108, 109, 110, 111, 112, 113, 114, 452, 455, 453, + 456, 457, 458, 463, 464, 459, 460, 461, 462, 465, + 93, 93, 86, -120, 88, 88, -219, -325, -58, 88, + -217, 95, 88, 271, -181, -370, 93, -305, -305, -305, + 95, 95, -259, -371, 87, -252, -362, -327, 478, 478, + -371, 25, -333, -332, -253, 86, 77, -101, 158, 474, + -371, -371, -371, -371, -371, 88, 88, -371, -371, 87, + -371, -146, -148, -371, 76, -130, -220, -371, -252, 238, + 19, 19, -220, -220, -166, -192, -120, -178, -206, 54, + 76, 119, 93, 93, 93, 12, -180, 217, -198, -217, + -144, 366, -193, -371, -217, 88, 25, 88, 614, 134, + 88, -181, -100, -370, 267, -259, 93, 93, -90, -93, + -11, 87, 148, -217, -159, -371, 472, 73, 475, -120, + -371, 76, 485, 576, 87, -371, -371, -371, 76, 119, + -225, -252, 88, -371, -370, -198, 88, -202, -11, 86, + -3, 267, -281, -330, -282, -283, -5, -6, -306, -79, + 474, -332, -310, -253, 93, 95, 88, 62, 473, 476, + -337, -252, 238, -260, -145, -143, -252, 528, -353, -352, + 470, -363, -359, 116, 140, 102, -361, 566, 522, 125, + 126, -79, -120, 86, -371, -80, 282, 572, -343, 62, + -371, -371, 87, 22, -273, -60, 539, -350, -351, 76, + -354, 372, 538, 559, 116, 93, 88, -217, 243, -334, + 474, -143, 535, -286, -130, -351, 76, -350, 76, 13, + 12, -4, 613, 88, 284, 475, -59, 26, -144, -349, + 251, 246, 249, 32, -349, 95, -4, 476, 539, 245, + 31, 116, -130, -147, -146, -146, } var yyDef = [...]int{ @@ -7541,309 +7422,310 @@ var yyDef = [...]int{ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 68, 70, 71, 827, 827, 827, 0, 827, 0, 0, 827, -2, -2, 827, - 1319, 0, 827, 0, 0, -2, 759, 761, 0, 763, - -2, 0, 0, 772, 1827, 1827, 822, 0, 0, 0, - 0, 0, 827, 827, 827, 827, 1179, 48, 827, 0, - 83, 84, 778, 779, 780, 63, 0, 1825, 1, 3, - 69, 73, 0, 0, 0, 56, 1188, 0, 76, 0, - 0, 831, 0, 829, 0, 1302, 827, 827, 0, 114, + 1320, 0, 827, 0, 0, -2, 759, 761, 0, 763, + -2, 0, 0, 772, 1829, 1829, 822, 0, 0, 0, + 0, 0, 827, 827, 827, 827, 1180, 48, 827, 0, + 83, 84, 778, 779, 780, 63, 0, 1827, 1, 3, + 69, 73, 0, 0, 0, 56, 1189, 0, 76, 0, + 0, 831, 0, 829, 0, 1303, 827, 827, 0, 114, 115, 0, 0, 0, -2, 118, -2, 147, 148, 149, 0, 154, 573, 501, 552, 499, 537, -2, 487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 504, 377, 377, 0, 0, -2, 487, 487, 487, - 0, 0, 0, 534, 1304, 439, 377, 377, 377, 0, + 0, 0, 0, 534, 1305, 439, 377, 377, 377, 0, 377, 377, 377, 377, 0, 0, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, - 377, 377, 377, 1206, 153, 1320, 1317, 1318, 38, 39, - 40, 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, - 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, - 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1498, - 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507, 1508, - 1509, 1510, 1511, 1512, 1513, 1514, 1515, 1516, 1517, 1518, - 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, - 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, - 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, - 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, - 1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, - 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, - 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, - 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, - 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, - 1609, 1610, 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1618, - 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, - 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, - 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648, - 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, - 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, - 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678, - 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688, - 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, - 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, - 1709, 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, - 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, - 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, - 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, - 1749, 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1758, - 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, - 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, - 1779, 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, - 1789, 1790, 1791, 1792, 1793, 1794, 1795, 1796, 1797, 1798, - 1799, 1800, 1801, 1802, 1803, 1804, 1805, 1806, 1807, 1808, - 1809, 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818, - 1819, 1820, 1821, 1822, 1823, 1824, 0, 1296, 0, 686, - 929, 0, 748, 748, 0, 748, 748, 748, 748, 0, - 0, 0, 698, 0, 0, 0, 0, 745, 0, 714, - 715, 0, 745, 0, 721, 751, 0, 726, 748, 748, - 729, 1828, 0, 1828, 1828, 1287, 0, 742, 740, 754, - 755, 758, 762, 0, 767, 770, 1313, 1314, 0, 785, - 47, 1560, 777, 790, 791, 0, 823, 824, 43, 1026, - 0, 951, 956, 967, 980, 981, 982, 983, 984, 986, - 987, 0, 0, 0, 0, 992, 993, 0, 0, 0, - 0, 0, 1007, 0, 0, 0, 0, 0, 1160, 0, - 1123, 1123, 1043, 1123, 1125, 1125, 1480, 1514, 1638, 0, - 0, 0, 1824, 1601, 1609, 1610, 1632, 1719, 1768, 1605, - 1606, 1587, 1599, 1602, 1590, 1591, 1593, 1595, 1600, 1607, - 1613, 1592, 1612, 1611, 0, 1588, 1589, 1594, 1604, 1608, - 1596, 1597, 1598, 1603, 1614, 1169, 0, 0, 0, 0, - 0, 0, 273, 274, 1025, 1276, 1125, 1125, 1125, 1125, - 1125, -2, -2, 219, 220, 221, 222, 223, 224, 225, - 0, 215, 0, 278, 279, 275, 276, 277, 1009, 1010, - 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, - 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, 1827, 0, 800, 0, 0, 0, 0, 0, - 1188, 0, 1180, 1179, 61, 0, 827, -2, 0, 0, - 0, 0, 45, 0, 50, 888, 75, 74, 1228, 0, - 0, 0, 57, 1189, 65, 67, 1190, 0, 832, 833, - 0, 864, 868, 0, 828, 0, 0, 1303, 1302, 1302, - 100, 0, 1764, 1280, -2, -2, 0, 0, 1315, 1316, - 1289, -2, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, - 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, - 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, - 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, - 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, - 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, - 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, - 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, - 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, - 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, - 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, - 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, - 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, - 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, - 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, -2, - 0, 0, 165, 166, 0, 41, 404, 0, 161, 0, - 397, 338, 0, 1206, 0, 0, 0, 0, 0, 827, - 0, 1297, 142, 143, 150, 151, 152, 377, 377, 377, - 549, 0, 0, 153, 153, 508, 509, 510, 0, 0, - -2, 402, 0, 488, 0, 0, 391, 391, 395, 393, - 394, 0, 0, 0, 0, 0, 0, 0, 0, 526, - 0, 527, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 634, 0, 378, 0, 547, 548, 440, 0, 0, - 0, 0, 0, 0, 524, 525, 0, 0, 1305, 1306, - 0, 0, 0, 377, 377, 0, 0, 0, 0, 377, - 377, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, - 1219, 0, 0, 0, -2, 0, 678, 0, 0, 0, - 1298, 1298, 0, 685, 0, 687, 688, 0, 0, 689, - 0, 745, 745, 743, 744, 691, 692, 693, 694, 748, - 0, 0, 386, 387, 388, 745, 748, 0, 748, 748, - 748, 748, 745, 745, 745, 748, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1828, 751, 748, 0, 722, - 0, 723, 724, 727, 728, 730, 1829, 1830, 1336, 1828, - 1828, 734, 738, 1288, 760, 768, 771, 788, 786, 787, - 789, 781, 782, 783, 784, 0, 802, 803, 808, 0, - 0, 0, 0, 814, 815, 816, 0, 0, 819, 820, - 821, 0, 0, 0, 0, 0, 949, 0, 0, 1015, - 1016, 1017, 1018, 1019, 1020, 1021, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 988, 989, 990, 991, - 994, 0, 0, 0, 999, 1000, 0, 0, 0, 0, - 0, 837, 0, 1161, 0, 1041, 0, 1042, 1044, 1045, - 0, 1046, 837, 837, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1308, 129, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 847, 0, 0, 847, 847, 0, 0, 208, 209, - 210, 211, 212, 226, 227, 228, 229, 230, 280, 1169, - 0, 1025, 0, 0, 44, 792, 793, 0, 912, 1308, - 0, 0, 843, 0, 55, 64, 66, 1188, 59, 1188, - 0, 849, 0, 0, -2, -2, 850, 856, 857, 858, - 859, 860, 52, 1826, 53, 0, 72, 0, 46, 0, - 0, 0, 0, 350, 1231, 0, 0, 1181, 1182, 1185, - 0, 865, 1644, 869, 0, 871, 872, 0, 830, 0, - 98, 0, 928, 0, 0, 0, 1764, 1286, 0, 102, - 103, 0, 0, 0, 361, 1291, 1292, 1293, -2, 384, - 0, 361, 345, 288, 289, 290, 338, 292, 338, 338, - 338, 338, 350, 350, 350, 350, 321, 322, 323, 324, - 325, 0, 0, 307, 338, 338, 338, 338, 328, 329, - 330, 331, 332, 333, 334, 335, 293, 294, 295, 296, - 297, 298, 299, 300, 301, 340, 340, 340, 342, 342, - 0, 42, 0, 365, 0, 1185, 0, 0, 1219, 1300, - 1310, 0, 0, 0, 1300, 120, 0, 0, 0, 550, - 584, 502, 538, 551, 0, 505, 506, -2, 0, 0, - 487, 0, 489, 0, 385, 0, -2, 0, 395, 0, - 391, 395, 392, 395, 383, 396, 528, 529, 530, 0, - 532, 533, 614, 898, 0, 0, 0, 0, 0, 620, - 621, 622, 0, 624, 625, 626, 627, 628, 629, 630, - 631, 632, 633, 539, 540, 541, 542, 543, 544, 545, - 546, 0, 0, 0, 0, 489, 0, 535, 0, 441, - 442, 443, 0, 0, 446, 447, 448, 449, 0, 0, - 452, 453, 454, 915, 916, 455, 456, 481, 482, 483, - 457, 458, 459, 460, 461, 462, 463, 475, 476, 477, - 478, 479, 480, 464, 465, 466, 467, 468, 469, 472, - 0, 135, 1210, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1298, 0, 0, 0, - 0, 846, 930, 1321, 1322, 749, 750, 0, 389, 390, - 748, 748, 695, 735, 0, 748, 699, 736, 700, 702, - 701, 703, 716, 717, 748, 706, 746, 747, 707, 708, - 709, 710, 711, 712, 713, 731, 718, 719, 720, 752, - 0, 756, 757, 732, 733, 0, 769, 773, 774, 775, - 776, 0, 0, 805, 94, 810, 811, 812, 813, 825, - 818, 1027, 946, 947, 948, 0, 950, 953, 0, 1011, - 1013, 955, 957, 1022, 1023, 1024, 0, 0, 0, 0, - 0, 961, 965, 968, 969, 970, 971, 972, 973, 974, - 975, 976, 977, 978, 979, 985, 1139, 1140, 1141, 1002, - 281, 282, 0, 1003, 0, 862, 0, 0, 0, 1001, - 0, 0, 0, 0, 838, 839, 1167, 1164, 0, 0, - 1124, 1126, 0, 0, 0, 0, 0, 861, 0, 0, - 0, 0, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, - 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, - 1120, 1121, 1122, 1142, 0, 0, 0, 0, 0, 1160, - 0, 1004, 1005, 1006, 0, 0, 0, 1309, 0, 130, - 131, 0, 0, 0, 0, 0, 1096, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 848, 1170, 0, - -2, 0, 0, 0, 0, 0, 0, 0, 1275, 0, - 795, 796, 798, 0, 932, 0, 913, 0, 0, 801, - 0, 842, 0, 845, 58, 60, 854, 855, 0, 873, - 851, 54, 49, 0, 0, 890, 1229, 350, 1251, 0, - 359, 359, 356, 1191, 1192, 0, 1184, 1186, 1187, 77, - 870, 866, 0, 944, 0, 0, 927, 0, 876, 878, - 879, 880, 910, 0, 883, 0, 0, 0, 0, 0, - 96, 929, 1281, 101, 0, 0, 106, 107, 1282, 1283, - 1284, 1285, 0, 573, -2, 436, 167, 169, 170, 171, - 162, -2, 348, 346, 347, 291, 350, 350, 315, 316, - 317, 318, 319, 320, 0, 0, 308, 309, 310, 311, - 302, 0, 303, 304, 305, 0, 306, 403, 0, 1193, - 366, 367, 369, 377, 0, 372, 373, 0, 377, 377, - 0, 398, 399, 0, 1185, 1210, 0, 0, 0, 1311, - 1310, 1310, 1310, 0, 155, 156, 157, 158, 159, 160, - 609, 0, 0, 585, 607, 608, 153, 0, 0, 163, - 491, 490, 0, 641, 0, 401, 0, 0, 395, 395, - 380, 381, 531, 0, 0, 616, 617, 618, 619, 0, - 0, 0, 518, 430, 0, 519, 520, 489, 491, 361, - 0, 444, 445, 450, 451, 470, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 564, 565, 566, - 567, 493, 571, 568, 493, 572, 1207, 1208, 1209, 0, - 0, 679, 0, 0, 427, 92, 1299, 684, 745, 705, - 737, 745, 697, 704, 725, 765, 809, 0, 0, 0, - 0, 817, 0, 0, 954, 1012, 1014, 958, 0, 962, - 966, 0, 0, 0, 0, 0, 0, 0, 1008, 1032, - 1033, 0, 0, 1179, 0, 1165, 0, 0, 1040, 1127, - 1128, 0, 1048, 0, 1050, 0, 0, 0, 0, 0, - 1055, 1056, 1057, 1058, 1059, 0, 1061, 0, 0, 0, - 1065, 1066, 0, 0, 1067, 0, 0, 0, 0, 0, - 0, 0, 0, 1079, 1080, 1081, 1082, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1093, 1028, 0, - 0, 847, 0, 1129, 1130, 1131, 1132, 1133, 1170, 794, - 797, 799, 886, 933, 934, 0, 0, 0, 0, 914, - 1307, 840, 841, 844, -2, 0, 0, 1172, 0, 0, - 873, 944, 874, 0, 852, 51, 889, 0, 1233, 1232, - 1245, 1258, 359, 359, 353, 354, 360, 355, 357, 358, - 1183, 0, 1188, 0, 1269, 0, 0, 1261, 0, 0, - 0, 0, 0, 0, 0, 0, 917, 0, 0, 920, - 0, 0, 0, 0, 911, 0, 0, 0, 0, 0, - 0, -2, 0, 0, 90, 91, 0, 0, 0, 104, - 105, 0, 0, 111, 362, 363, 144, 153, 438, 168, - 411, 0, 0, 287, 349, 312, 313, 314, 0, 336, - 0, 0, 0, 432, 116, 1197, 1196, 377, 377, 368, - 0, 371, 0, 0, 0, 1312, 339, 400, 0, 134, - 0, 0, 0, 0, 0, 140, 579, 0, 0, 586, - 0, 0, 0, 500, 0, 511, 512, 0, 613, -2, - 675, 365, 0, 379, 382, 899, 0, 0, 513, 0, - 516, 517, 431, 491, 522, 523, 536, 473, 474, 471, - 0, 0, 1220, 1221, 1226, 1224, 1225, 121, 557, 559, - 558, 562, 0, 0, 495, 0, 495, 555, 0, 427, - 1193, 0, 683, 428, 429, 748, 748, 804, 95, 0, - 807, 0, 0, 0, 0, 959, 963, 863, 0, 0, - 338, 338, 1147, 338, 342, 1150, 338, 1152, 338, 1155, - 338, 1158, 1159, 0, 0, 0, 0, 1162, 1039, 1168, - 0, 1047, 1049, 0, 0, 0, 1054, 0, 0, 0, - 0, 0, 0, 132, 133, 1096, 0, 0, 1098, 1100, - 1101, 1071, 1097, 0, 0, 1094, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1029, 1030, 0, 1171, - 935, 940, 940, 940, 0, 0, 0, 1294, 1295, 1173, - 1174, 944, 1175, 875, 853, 891, 1251, 0, 1244, 0, - -2, 1253, 0, 0, 0, 1259, 351, 352, 867, 78, - 945, 81, 0, 1269, 1277, 0, 1260, 1271, 1273, 0, - 0, 0, 1265, 0, 944, 877, 906, 908, 0, 903, - 918, 919, 921, 0, 923, 0, 925, 926, 888, 882, - 884, 0, 0, 0, 98, 0, 944, 944, 97, 0, - 931, 108, 109, 110, 437, 172, 177, 0, 0, 0, - 182, 0, 184, 0, 0, 0, 189, 190, 377, 377, - 412, 0, 284, 286, 0, 0, 175, 350, 0, 350, - 0, 343, 0, 413, 433, 1194, 1195, 0, 0, 370, - 374, 375, 376, 0, 1301, 136, 0, 0, 0, 582, - 0, 610, 0, 0, 0, 0, 0, 0, 164, 492, - 642, 643, 644, 645, 646, 647, 648, 649, 650, 0, - 377, 0, 0, 0, 377, 377, 377, 0, 667, 364, - 0, 0, 638, 635, 514, 0, 213, 214, 216, 0, - 0, 521, 888, 1211, 1212, 1213, 0, 1223, 1227, 124, - 0, 0, 0, 0, 569, 0, 494, 570, 680, 681, - 682, 93, 690, 696, 806, 826, 952, 960, 964, 0, - 996, 1145, 350, 1148, 1149, 1151, 1153, 1154, 1156, 1157, - 997, 998, 0, 1035, 0, 1037, 1188, 0, 1166, 0, - 0, 1053, 0, 0, 0, 1062, 1063, 1064, 0, 0, - 1070, 0, 1072, 0, 0, 0, 1083, 1084, 1085, 1086, - 1087, 1088, 1089, 1090, 1091, 1092, 1031, 0, 0, 0, - 0, 912, -2, 62, 1175, 1177, 0, 1238, 1236, 1236, - 1246, 1247, 0, 0, 1254, 0, 0, 0, 0, 82, - 0, 0, 0, 1274, 0, 0, 0, 0, 99, 1179, - 900, 907, 0, 0, 901, 0, 902, 922, 924, 881, - -2, 885, 0, 944, 944, 88, 89, 0, 178, 0, - 180, 206, 207, 0, 183, 185, 186, 187, 193, 194, - 195, 188, 0, 0, 283, 285, 0, 0, 326, 337, - 327, 0, 0, 1198, 1199, 1200, 1201, 1202, 1203, 1204, - 1205, 888, 137, 138, 139, 574, 0, 584, 0, 0, - 0, 577, 0, 503, 0, 0, 0, 377, 377, 377, - 0, 0, 0, 0, 652, 0, 0, 615, 0, 623, - 0, 0, 0, 217, 218, 0, 1222, 556, 0, 122, - 123, 0, 0, 561, 496, 497, 1134, 1146, 0, 0, - 0, 1163, 0, 0, 0, 0, 1060, 1068, 0, 1099, - 0, 1075, 0, 0, 0, 604, 605, 0, 1095, 0, - 941, 0, 0, 0, 0, 932, 1177, 80, 0, 0, - 1241, 0, 1234, 1237, 1235, 1248, 0, 0, 1255, 0, - 1257, 0, 1278, 1279, 1272, 0, 1264, 1267, 1263, 1266, - 1188, 904, 0, 909, 0, 1179, 87, 0, 181, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 191, 192, 0, 0, 341, 344, - 0, 0, 0, 575, 0, 587, 578, 0, 665, 0, - 669, 0, 0, 0, 672, 673, 674, 651, 0, 655, - 405, 639, 636, 637, 515, 0, 125, 126, 0, 0, - 0, 0, 0, 0, 1034, 1036, 1038, 1051, 1052, 1143, - 1144, 1069, 1073, 0, 1076, 0, 0, 1077, 0, 606, - 0, 937, 894, 895, 942, 943, 0, 0, 887, 79, - 1178, 1176, 1230, 0, 1239, 1240, 1249, 1250, 1256, 0, - 1262, 0, 85, 0, 0, 0, 1188, 179, 0, 198, - 0, 583, 0, 586, 576, 663, 664, 0, 676, 668, - 670, 671, 653, -2, 1214, 0, 0, 0, 563, 995, - 0, 0, 0, 1096, 1078, 0, 602, 603, 0, 936, - 938, 939, 1242, 1243, 1270, 1268, 905, 912, 0, 86, - 418, 411, 1214, 0, 0, 0, 656, 657, 658, 659, - 660, 661, 662, 553, 1216, 127, 128, 484, 485, 486, - 121, 1135, 0, 1138, 0, 896, 897, 588, 0, 590, - 0, -2, 406, 419, 0, 173, 199, 200, 0, 0, - 203, 204, 205, 196, 197, 117, 0, 0, 677, 0, - 1217, 1218, 124, 1136, 1074, 589, 0, 0, 361, 0, - 599, 407, 408, 0, 414, 415, 416, 417, 201, 202, - 611, 0, 0, 560, 0, 591, 592, 600, 0, 409, - 0, 410, 0, 0, 0, 580, 0, 611, 1215, 0, - 0, 601, 597, 420, 422, 423, 0, 0, 421, 612, - 581, 1137, 0, 424, 425, 426, 593, 594, 595, 596, + 377, 377, 377, 1207, 153, 1321, 1318, 1319, 38, 39, + 40, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, + 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489, + 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1499, + 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1509, + 1510, 1511, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1519, + 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, + 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, + 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, + 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, + 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, + 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, + 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, + 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, + 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, + 1610, 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1618, 1619, + 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, + 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1639, + 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, + 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, + 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, + 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678, 1679, + 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, + 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, + 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, + 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719, + 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, + 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, + 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, + 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1758, 1759, + 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1769, + 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, + 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, + 1790, 1791, 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799, + 1800, 1801, 1802, 1803, 1804, 1805, 1806, 1807, 1808, 1809, + 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818, 1819, + 1820, 1821, 1822, 1823, 1824, 1825, 1826, 0, 1297, 0, + 686, 929, 0, 748, 748, 0, 748, 748, 748, 748, + 0, 0, 0, 698, 0, 0, 0, 0, 745, 0, + 714, 715, 0, 745, 0, 721, 751, 0, 726, 748, + 748, 729, 1830, 0, 1830, 1830, 1288, 0, 742, 740, + 754, 755, 758, 762, 0, 767, 770, 1314, 1315, 0, + 785, 47, 1561, 777, 790, 791, 0, 823, 824, 43, + 1026, 0, 951, 956, 967, 980, 981, 982, 983, 984, + 986, 987, 0, 0, 0, 0, 992, 993, 0, 0, + 0, 0, 0, 1007, 0, 0, 0, 0, 0, 1161, + 0, 1124, 1124, 1043, 1124, 1126, 1126, 1481, 1515, 1639, + 1647, 0, 0, 0, 1826, 1602, 1610, 1611, 1633, 1721, + 1770, 1606, 1607, 1588, 1600, 1603, 1591, 1592, 1594, 1596, + 1601, 1608, 1614, 1593, 1613, 1612, 0, 1589, 1590, 1595, + 1605, 1609, 1597, 1598, 1599, 1604, 1615, 1170, 0, 0, + 0, 0, 0, 0, 273, 274, 1025, 1277, 1126, 1126, + 1126, 1126, 1126, -2, -2, 219, 220, 221, 222, 223, + 224, 225, 0, 215, 0, 278, 279, 275, 276, 277, + 1009, 1010, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 1829, 0, 800, 0, 0, 0, + 0, 0, 1189, 0, 1181, 1180, 61, 0, 827, -2, + 0, 0, 0, 0, 45, 0, 50, 888, 75, 74, + 1229, 0, 0, 0, 57, 1190, 65, 67, 1191, 0, + 832, 833, 0, 864, 868, 0, 828, 0, 0, 1304, + 1303, 1303, 100, 0, 1766, 1281, -2, -2, 0, 0, + 1316, 1317, 1290, -2, 1324, 1325, 1326, 1327, 1328, 1329, + 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, + 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, + 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, + 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, + 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, + 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, + 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, + 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, + 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, + 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, + 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, + 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, + 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, + 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, + 1470, -2, 0, 0, 165, 166, 0, 41, 404, 0, + 161, 0, 397, 338, 0, 1207, 0, 0, 0, 0, + 0, 827, 0, 1298, 142, 143, 150, 151, 152, 377, + 377, 377, 549, 0, 0, 153, 153, 508, 509, 510, + 0, 0, -2, 402, 0, 488, 0, 0, 391, 391, + 395, 393, 394, 0, 0, 0, 0, 0, 0, 0, + 0, 526, 0, 527, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 634, 0, 378, 0, 547, 548, 440, + 0, 0, 0, 0, 0, 0, 524, 525, 0, 0, + 1306, 1307, 0, 0, 0, 377, 377, 0, 0, 0, + 0, 377, 377, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 141, 1220, 0, 0, 0, -2, 0, 678, 0, + 0, 0, 1299, 1299, 0, 685, 0, 687, 688, 0, + 0, 689, 0, 745, 745, 743, 744, 691, 692, 693, + 694, 748, 0, 0, 386, 387, 388, 745, 748, 0, + 748, 748, 748, 748, 745, 745, 745, 748, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1830, 751, 748, + 0, 722, 0, 723, 724, 727, 728, 730, 1831, 1832, + 1337, 1830, 1830, 734, 738, 1289, 760, 768, 771, 788, + 786, 787, 789, 781, 782, 783, 784, 0, 802, 803, + 808, 0, 0, 0, 0, 814, 815, 816, 0, 0, + 819, 820, 821, 0, 0, 0, 0, 0, 949, 0, + 0, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 988, 989, + 990, 991, 994, 0, 0, 0, 999, 1000, 0, 0, + 0, 0, 0, 837, 0, 1162, 0, 1041, 0, 1042, + 1044, 1045, 0, 1046, 837, 837, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1309, 129, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 847, 0, 0, 847, 847, 0, + 0, 208, 209, 210, 211, 212, 226, 227, 228, 229, + 230, 280, 1170, 0, 1025, 0, 0, 44, 792, 793, + 0, 912, 1309, 0, 0, 843, 0, 55, 64, 66, + 1189, 59, 1189, 0, 849, 0, 0, -2, -2, 850, + 856, 857, 858, 859, 860, 52, 1828, 53, 0, 72, + 0, 46, 0, 0, 0, 0, 350, 1232, 0, 0, + 1182, 1183, 1186, 0, 865, 1645, 869, 0, 871, 872, + 0, 830, 0, 98, 0, 928, 0, 0, 0, 1766, + 1287, 0, 102, 103, 0, 0, 0, 361, 1292, 1293, + 1294, -2, 384, 0, 361, 345, 288, 289, 290, 338, + 292, 338, 338, 338, 338, 350, 350, 350, 350, 321, + 322, 323, 324, 325, 0, 0, 307, 338, 338, 338, + 338, 328, 329, 330, 331, 332, 333, 334, 335, 293, + 294, 295, 296, 297, 298, 299, 300, 301, 340, 340, + 340, 342, 342, 0, 42, 0, 365, 0, 1186, 0, + 0, 1220, 1301, 1311, 0, 0, 0, 1301, 120, 0, + 0, 0, 550, 584, 502, 538, 551, 0, 505, 506, + -2, 0, 0, 487, 0, 489, 0, 385, 0, -2, + 0, 395, 0, 391, 395, 392, 395, 383, 396, 528, + 529, 530, 0, 532, 533, 614, 898, 0, 0, 0, + 0, 0, 620, 621, 622, 0, 624, 625, 626, 627, + 628, 629, 630, 631, 632, 633, 539, 540, 541, 542, + 543, 544, 545, 546, 0, 0, 0, 0, 489, 0, + 535, 0, 441, 442, 443, 0, 0, 446, 447, 448, + 449, 0, 0, 452, 453, 454, 915, 916, 455, 456, + 481, 482, 483, 457, 458, 459, 460, 461, 462, 463, + 475, 476, 477, 478, 479, 480, 464, 465, 466, 467, + 468, 469, 472, 0, 135, 1211, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1299, + 0, 0, 0, 0, 846, 930, 1322, 1323, 749, 750, + 0, 389, 390, 748, 748, 695, 735, 0, 748, 699, + 736, 700, 702, 701, 703, 716, 717, 748, 706, 746, + 747, 707, 708, 709, 710, 711, 712, 713, 731, 718, + 719, 720, 752, 0, 756, 757, 732, 733, 0, 769, + 773, 774, 775, 776, 0, 0, 805, 94, 810, 811, + 812, 813, 825, 818, 1027, 946, 947, 948, 0, 950, + 953, 0, 1011, 1013, 955, 957, 1022, 1023, 1024, 0, + 0, 0, 0, 0, 961, 965, 968, 969, 970, 971, + 972, 973, 974, 975, 976, 977, 978, 979, 985, 1140, + 1141, 1142, 1002, 281, 282, 0, 1003, 0, 862, 0, + 0, 0, 1001, 0, 0, 0, 0, 838, 839, 1168, + 1165, 0, 0, 1125, 1127, 0, 0, 0, 0, 0, + 861, 0, 0, 0, 0, 0, 1103, 1104, 1105, 1106, + 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, + 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1143, 0, 0, + 0, 0, 0, 1161, 0, 1004, 1005, 1006, 0, 0, + 0, 1310, 0, 130, 131, 0, 0, 0, 0, 0, + 1097, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 848, 1171, 0, -2, 0, 0, 0, 0, 0, + 0, 0, 1276, 0, 795, 796, 798, 0, 932, 0, + 913, 0, 0, 801, 0, 842, 0, 845, 58, 60, + 854, 855, 0, 873, 851, 54, 49, 0, 0, 890, + 1230, 350, 1252, 0, 359, 359, 356, 1192, 1193, 0, + 1185, 1187, 1188, 77, 870, 866, 0, 944, 0, 0, + 927, 0, 876, 878, 879, 880, 910, 0, 883, 0, + 0, 0, 0, 0, 96, 929, 1282, 101, 0, 0, + 106, 107, 1283, 1284, 1285, 1286, 0, 573, -2, 436, + 167, 169, 170, 171, 162, -2, 348, 346, 347, 291, + 350, 350, 315, 316, 317, 318, 319, 320, 0, 0, + 308, 309, 310, 311, 302, 0, 303, 304, 305, 0, + 306, 403, 0, 1194, 366, 367, 369, 377, 0, 372, + 373, 0, 377, 377, 0, 398, 399, 0, 1186, 1211, + 0, 0, 0, 1312, 1311, 1311, 1311, 0, 155, 156, + 157, 158, 159, 160, 609, 0, 0, 585, 607, 608, + 153, 0, 0, 163, 491, 490, 0, 641, 0, 401, + 0, 0, 395, 395, 380, 381, 531, 0, 0, 616, + 617, 618, 619, 0, 0, 0, 518, 430, 0, 519, + 520, 489, 491, 361, 0, 444, 445, 450, 451, 470, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 564, 565, 566, 567, 493, 571, 568, 493, 572, + 1208, 1209, 1210, 0, 0, 679, 0, 0, 427, 92, + 1300, 684, 745, 705, 737, 745, 697, 704, 725, 765, + 809, 0, 0, 0, 0, 817, 0, 0, 954, 1012, + 1014, 958, 0, 962, 966, 0, 0, 0, 0, 0, + 0, 0, 1008, 1032, 1033, 0, 0, 1180, 0, 1166, + 0, 0, 1040, 1128, 1129, 0, 1048, 0, 1050, 1051, + 0, 0, 0, 0, 0, 1056, 1057, 1058, 1059, 1060, + 0, 1062, 0, 0, 0, 1066, 1067, 0, 0, 1068, + 0, 0, 0, 0, 0, 0, 0, 0, 1080, 1081, + 1082, 1083, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1094, 1028, 0, 0, 847, 0, 1130, 1131, + 1132, 1133, 1134, 1171, 794, 797, 799, 886, 933, 934, + 0, 0, 0, 0, 914, 1308, 840, 841, 844, -2, + 0, 0, 1173, 0, 0, 873, 944, 874, 0, 852, + 51, 889, 0, 1234, 1233, 1246, 1259, 359, 359, 353, + 354, 360, 355, 357, 358, 1184, 0, 1189, 0, 1270, + 0, 0, 1262, 0, 0, 0, 0, 0, 0, 0, + 0, 917, 0, 0, 920, 0, 0, 0, 0, 911, + 0, 0, 0, 0, 0, 0, -2, 0, 0, 90, + 91, 0, 0, 0, 104, 105, 0, 0, 111, 362, + 363, 144, 153, 438, 168, 411, 0, 0, 287, 349, + 312, 313, 314, 0, 336, 0, 0, 0, 432, 116, + 1198, 1197, 377, 377, 368, 0, 371, 0, 0, 0, + 1313, 339, 400, 0, 134, 0, 0, 0, 0, 0, + 140, 579, 0, 0, 586, 0, 0, 0, 500, 0, + 511, 512, 0, 613, -2, 675, 365, 0, 379, 382, + 899, 0, 0, 513, 0, 516, 517, 431, 491, 522, + 523, 536, 473, 474, 471, 0, 0, 1221, 1222, 1227, + 1225, 1226, 121, 557, 559, 558, 562, 0, 0, 495, + 0, 495, 555, 0, 427, 1194, 0, 683, 428, 429, + 748, 748, 804, 95, 0, 807, 0, 0, 0, 0, + 959, 963, 863, 0, 0, 338, 338, 1148, 338, 342, + 1151, 338, 1153, 338, 1156, 338, 1159, 1160, 0, 0, + 0, 0, 1163, 1039, 1169, 0, 1047, 1049, 0, 0, + 0, 1055, 0, 0, 0, 0, 0, 0, 132, 133, + 1097, 0, 0, 1099, 1101, 1102, 1072, 1098, 0, 0, + 1095, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1029, 1030, 0, 1172, 935, 940, 940, 940, 0, + 0, 0, 1295, 1296, 1174, 1175, 944, 1176, 875, 853, + 891, 1252, 0, 1245, 0, -2, 1254, 0, 0, 0, + 1260, 351, 352, 867, 78, 945, 81, 0, 1270, 1278, + 0, 1261, 1272, 1274, 0, 0, 0, 1266, 0, 944, + 877, 906, 908, 0, 903, 918, 919, 921, 0, 923, + 0, 925, 926, 888, 882, 884, 0, 0, 0, 98, + 0, 944, 944, 97, 0, 931, 108, 109, 110, 437, + 172, 177, 0, 0, 0, 182, 0, 184, 0, 0, + 0, 189, 190, 377, 377, 412, 0, 284, 286, 0, + 0, 175, 350, 0, 350, 0, 343, 0, 413, 433, + 1195, 1196, 0, 0, 370, 374, 375, 376, 0, 1302, + 136, 0, 0, 0, 582, 0, 610, 0, 0, 0, + 0, 0, 0, 164, 492, 642, 643, 644, 645, 646, + 647, 648, 649, 650, 0, 377, 0, 0, 0, 377, + 377, 377, 0, 667, 364, 0, 0, 638, 635, 514, + 0, 213, 214, 216, 0, 0, 521, 888, 1212, 1213, + 1214, 0, 1224, 1228, 124, 0, 0, 0, 0, 569, + 0, 494, 570, 680, 681, 682, 93, 690, 696, 806, + 826, 952, 960, 964, 0, 996, 1146, 350, 1149, 1150, + 1152, 1154, 1155, 1157, 1158, 997, 998, 0, 1035, 0, + 1037, 1189, 0, 1167, 0, 0, 1054, 0, 0, 0, + 1063, 1064, 1065, 0, 0, 1071, 0, 1073, 0, 0, + 0, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, + 1093, 1031, 0, 0, 0, 0, 912, -2, 62, 1176, + 1178, 0, 1239, 1237, 1237, 1247, 1248, 0, 0, 1255, + 0, 0, 0, 0, 82, 0, 0, 0, 1275, 0, + 0, 0, 0, 99, 1180, 900, 907, 0, 0, 901, + 0, 902, 922, 924, 881, -2, 885, 0, 944, 944, + 88, 89, 0, 178, 0, 180, 206, 207, 0, 183, + 185, 186, 187, 193, 194, 195, 188, 0, 0, 283, + 285, 0, 0, 326, 337, 327, 0, 0, 1199, 1200, + 1201, 1202, 1203, 1204, 1205, 1206, 888, 137, 138, 139, + 574, 0, 584, 0, 0, 0, 577, 0, 503, 0, + 0, 0, 377, 377, 377, 0, 0, 0, 0, 652, + 0, 0, 615, 0, 623, 0, 0, 0, 217, 218, + 0, 1223, 556, 0, 122, 123, 0, 0, 561, 496, + 497, 1135, 1147, 0, 0, 0, 1164, 0, 0, 0, + 0, 1061, 1069, 0, 1100, 0, 1076, 0, 0, 0, + 604, 605, 0, 1096, 0, 941, 0, 0, 0, 0, + 932, 1178, 80, 0, 0, 1242, 0, 1235, 1238, 1236, + 1249, 0, 0, 1256, 0, 1258, 0, 1279, 1280, 1273, + 0, 1265, 1268, 1264, 1267, 1189, 904, 0, 909, 0, + 1180, 87, 0, 181, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 191, 192, 0, 0, 341, 344, 0, 0, 0, 575, + 0, 587, 578, 0, 665, 0, 669, 0, 0, 0, + 672, 673, 674, 651, 0, 655, 405, 639, 636, 637, + 515, 0, 125, 126, 0, 0, 0, 0, 0, 0, + 1034, 1036, 1038, 1052, 1053, 1144, 1145, 1070, 1074, 0, + 1077, 0, 0, 1078, 0, 606, 0, 937, 894, 895, + 942, 943, 0, 0, 887, 79, 1179, 1177, 1231, 0, + 1240, 1241, 1250, 1251, 1257, 0, 1263, 0, 85, 0, + 0, 0, 1189, 179, 0, 198, 0, 583, 0, 586, + 576, 663, 664, 0, 676, 668, 670, 671, 653, -2, + 1215, 0, 0, 0, 563, 995, 0, 0, 0, 1097, + 1079, 0, 602, 603, 0, 936, 938, 939, 1243, 1244, + 1271, 1269, 905, 912, 0, 86, 418, 411, 1215, 0, + 0, 0, 656, 657, 658, 659, 660, 661, 662, 553, + 1217, 127, 128, 484, 485, 486, 121, 1136, 0, 1139, + 0, 896, 897, 588, 0, 590, 0, -2, 406, 419, + 0, 173, 199, 200, 0, 0, 203, 204, 205, 196, + 197, 117, 0, 0, 677, 0, 1218, 1219, 124, 1137, + 1075, 589, 0, 0, 361, 0, 599, 407, 408, 0, + 414, 415, 416, 417, 201, 202, 611, 0, 0, 560, + 0, 591, 592, 600, 0, 409, 0, 410, 0, 0, + 0, 580, 0, 611, 1216, 0, 0, 601, 597, 420, + 422, 423, 0, 0, 421, 612, 581, 1138, 0, 424, + 425, 426, 593, 594, 595, 596, } var yyTok1 = [...]int{ @@ -7852,7 +7734,7 @@ var yyTok1 = [...]int{ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 141, 3, 3, 3, 167, 159, 3, 86, 88, 164, 162, 87, 163, 217, 165, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 614, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 615, 149, 148, 150, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, @@ -7959,7 +7841,8 @@ var yyTok3 = [...]int{ 57920, 595, 57921, 596, 57922, 597, 57923, 598, 57924, 599, 57925, 600, 57926, 601, 57927, 602, 57928, 603, 57929, 604, 57930, 605, 57931, 606, 57932, 607, 57933, 608, 57934, 609, - 57935, 610, 57936, 611, 57937, 612, 57938, 613, 0, + 57935, 610, 57936, 611, 57937, 612, 57938, 613, 57939, 614, + 0, } var yyErrorMessages = [...]struct { @@ -8309,68 +8192,68 @@ yydefault: case 1: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:537 +//line sql.y:538 { setParseTree(yylex, yyDollar[1].statementUnion()) } case 2: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:542 +//line sql.y:543 { } case 3: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:543 +//line sql.y:544 { } case 4: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:547 +//line sql.y:548 { yyLOCAL = yyDollar[1].selStmtUnion() } yyVAL.union = yyLOCAL case 37: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:583 +//line sql.y:584 { setParseTree(yylex, nil) } case 38: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:589 +//line sql.y:590 { yyVAL.colIdent = NewColIdentWithAt(string(yyDollar[1].str), NoAt) } case 39: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:593 +//line sql.y:594 { yyVAL.colIdent = NewColIdentWithAt(string(yyDollar[1].str), SingleAt) } case 40: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:597 +//line sql.y:598 { yyVAL.colIdent = NewColIdentWithAt(string(yyDollar[1].str), DoubleAt) } case 41: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:602 +//line sql.y:603 { yyVAL.colIdent = NewColIdentWithAt("", NoAt) } case 42: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:606 +//line sql.y:607 { yyVAL.colIdent = yyDollar[1].colIdent } case 43: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:612 +//line sql.y:613 { yyLOCAL = &OtherAdmin{} } @@ -8378,7 +8261,7 @@ yydefault: case 44: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:618 +//line sql.y:619 { yyLOCAL = &Load{} } @@ -8386,7 +8269,7 @@ yydefault: case 45: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *With -//line sql.y:624 +//line sql.y:625 { yyLOCAL = &With{ctes: yyDollar[2].ctesUnion(), Recursive: false} } @@ -8394,7 +8277,7 @@ yydefault: case 46: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *With -//line sql.y:628 +//line sql.y:629 { yyLOCAL = &With{ctes: yyDollar[3].ctesUnion(), Recursive: true} } @@ -8402,7 +8285,7 @@ yydefault: case 47: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *With -//line sql.y:633 +//line sql.y:634 { yyLOCAL = nil } @@ -8410,14 +8293,14 @@ yydefault: case 48: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *With -//line sql.y:637 +//line sql.y:638 { yyLOCAL = yyDollar[1].withUnion() } yyVAL.union = yyLOCAL case 49: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:643 +//line sql.y:644 { yySLICE := (*[]*CommonTableExpr)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].cteUnion()) @@ -8425,7 +8308,7 @@ yydefault: case 50: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*CommonTableExpr -//line sql.y:647 +//line sql.y:648 { yyLOCAL = []*CommonTableExpr{yyDollar[1].cteUnion()} } @@ -8433,7 +8316,7 @@ yydefault: case 51: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *CommonTableExpr -//line sql.y:653 +//line sql.y:654 { yyLOCAL = &CommonTableExpr{TableID: yyDollar[1].tableIdent, Columns: yyDollar[2].columnsUnion(), Subquery: yyDollar[4].subqueryUnion()} } @@ -8441,7 +8324,7 @@ yydefault: case 52: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:659 +//line sql.y:660 { yyLOCAL = yyDollar[2].selStmtUnion() } @@ -8449,7 +8332,7 @@ yydefault: case 53: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:663 +//line sql.y:664 { yyLOCAL = yyDollar[2].selStmtUnion() } @@ -8457,7 +8340,7 @@ yydefault: case 54: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:667 +//line sql.y:668 { setLockInSelect(yyDollar[2].selStmtUnion(), yyDollar[3].lockUnion()) yyLOCAL = yyDollar[2].selStmtUnion() @@ -8466,7 +8349,7 @@ yydefault: case 55: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:690 +//line sql.y:691 { yyDollar[1].selStmtUnion().SetOrderBy(yyDollar[2].orderByUnion()) yyDollar[1].selStmtUnion().SetLimit(yyDollar[3].limitUnion()) @@ -8476,7 +8359,7 @@ yydefault: case 56: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:696 +//line sql.y:697 { yyDollar[1].selStmtUnion().SetLimit(yyDollar[2].limitUnion()) yyLOCAL = yyDollar[1].selStmtUnion() @@ -8485,7 +8368,7 @@ yydefault: case 57: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:701 +//line sql.y:702 { yyDollar[1].selStmtUnion().SetOrderBy(yyDollar[2].orderByUnion()) yyDollar[1].selStmtUnion().SetLimit(yyDollar[3].limitUnion()) @@ -8495,7 +8378,7 @@ yydefault: case 58: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:707 +//line sql.y:708 { yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion()) yyDollar[2].selStmtUnion().SetOrderBy(yyDollar[3].orderByUnion()) @@ -8506,7 +8389,7 @@ yydefault: case 59: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:714 +//line sql.y:715 { yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion()) yyDollar[2].selStmtUnion().SetLimit(yyDollar[3].limitUnion()) @@ -8516,7 +8399,7 @@ yydefault: case 60: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:720 +//line sql.y:721 { yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion()) yyDollar[2].selStmtUnion().SetOrderBy(yyDollar[3].orderByUnion()) @@ -8526,14 +8409,14 @@ yydefault: yyVAL.union = yyLOCAL case 61: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:727 +//line sql.y:728 { yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion()) } case 62: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:731 +//line sql.y:732 { 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*/) } @@ -8541,7 +8424,7 @@ yydefault: case 63: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:737 +//line sql.y:738 { yyLOCAL = yyDollar[1].selStmtUnion() } @@ -8549,7 +8432,7 @@ yydefault: case 64: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:741 +//line sql.y:742 { yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()} } @@ -8557,7 +8440,7 @@ yydefault: case 65: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:745 +//line sql.y:746 { yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()} } @@ -8565,7 +8448,7 @@ yydefault: case 66: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:749 +//line sql.y:750 { yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()} } @@ -8573,7 +8456,7 @@ yydefault: case 67: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:753 +//line sql.y:754 { yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()} } @@ -8581,7 +8464,7 @@ yydefault: case 68: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:759 +//line sql.y:760 { yyLOCAL = yyDollar[1].selStmtUnion() } @@ -8589,7 +8472,7 @@ yydefault: case 69: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:763 +//line sql.y:764 { setLockInSelect(yyDollar[1].selStmtUnion(), yyDollar[2].lockUnion()) yyLOCAL = yyDollar[1].selStmtUnion() @@ -8598,7 +8481,7 @@ yydefault: case 70: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:768 +//line sql.y:769 { yyLOCAL = yyDollar[1].selStmtUnion() } @@ -8606,7 +8489,7 @@ yydefault: case 71: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:772 +//line sql.y:773 { yyLOCAL = yyDollar[1].selStmtUnion() } @@ -8614,7 +8497,7 @@ yydefault: case 72: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:778 +//line sql.y:779 { yyLOCAL = yyDollar[2].selStmtUnion() } @@ -8622,7 +8505,7 @@ yydefault: case 73: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:782 +//line sql.y:783 { yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion()) yyLOCAL = yyDollar[1].selStmtUnion() @@ -8631,7 +8514,7 @@ yydefault: case 74: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:787 +//line sql.y:788 { yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion()) yyDollar[1].selStmtUnion().SetLock(yyDollar[3].lockUnion()) @@ -8641,7 +8524,7 @@ yydefault: case 75: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:793 +//line sql.y:794 { yyDollar[1].selStmtUnion().SetInto(yyDollar[3].selectIntoUnion()) yyDollar[1].selStmtUnion().SetLock(yyDollar[2].lockUnion()) @@ -8651,7 +8534,7 @@ yydefault: case 76: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:799 +//line sql.y:800 { yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion()) yyLOCAL = yyDollar[1].selStmtUnion() @@ -8660,7 +8543,7 @@ yydefault: case 77: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:806 +//line sql.y:807 { yyLOCAL = &Stream{Comments: Comments(yyDollar[2].strs).Parsed(), SelectExpr: yyDollar[3].selectExprUnion(), Table: yyDollar[5].tableName} } @@ -8668,7 +8551,7 @@ yydefault: case 78: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:812 +//line sql.y:813 { yyLOCAL = &VStream{Comments: Comments(yyDollar[2].strs).Parsed(), SelectExpr: yyDollar[3].selectExprUnion(), Table: yyDollar[5].tableName, Where: NewWhere(WhereClause, yyDollar[6].exprUnion()), Limit: yyDollar[7].limitUnion()} } @@ -8676,7 +8559,7 @@ yydefault: case 79: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:820 +//line sql.y:821 { 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())) } @@ -8684,7 +8567,7 @@ yydefault: case 80: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:824 +//line sql.y:825 { 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())) } @@ -8692,7 +8575,7 @@ yydefault: case 81: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:830 +//line sql.y:831 { // insert_data returns a *Insert pre-filled with Columns & Values ins := yyDollar[6].insUnion() @@ -8708,7 +8591,7 @@ yydefault: case 82: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Statement -//line sql.y:842 +//line sql.y:843 { cols := make(Columns, 0, len(yyDollar[7].updateExprsUnion())) vals := make(ValTuple, 0, len(yyDollar[8].updateExprsUnion())) @@ -8722,7 +8605,7 @@ yydefault: case 83: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL InsertAction -//line sql.y:854 +//line sql.y:855 { yyLOCAL = InsertAct } @@ -8730,7 +8613,7 @@ yydefault: case 84: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL InsertAction -//line sql.y:858 +//line sql.y:859 { yyLOCAL = ReplaceAct } @@ -8738,7 +8621,7 @@ yydefault: case 85: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL Statement -//line sql.y:864 +//line sql.y:865 { yyLOCAL = &Update{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), 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()} } @@ -8746,7 +8629,7 @@ yydefault: case 86: yyDollar = yyS[yypt-11 : yypt+1] var yyLOCAL Statement -//line sql.y:870 +//line sql.y:871 { yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), 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()} } @@ -8754,7 +8637,7 @@ yydefault: case 87: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL Statement -//line sql.y:874 +//line sql.y:875 { yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), Targets: yyDollar[6].tableNamesUnion(), TableExprs: yyDollar[8].tableExprsUnion(), Where: NewWhere(WhereClause, yyDollar[9].exprUnion())} } @@ -8762,7 +8645,7 @@ yydefault: case 88: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Statement -//line sql.y:878 +//line sql.y:879 { yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), Targets: yyDollar[5].tableNamesUnion(), TableExprs: yyDollar[7].tableExprsUnion(), Where: NewWhere(WhereClause, yyDollar[8].exprUnion())} } @@ -8770,32 +8653,32 @@ yydefault: case 89: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Statement -//line sql.y:882 +//line sql.y:883 { yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), Targets: yyDollar[5].tableNamesUnion(), TableExprs: yyDollar[7].tableExprsUnion(), Where: NewWhere(WhereClause, yyDollar[8].exprUnion())} } yyVAL.union = yyLOCAL case 90: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:887 +//line sql.y:888 { } case 91: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:888 +//line sql.y:889 { } case 92: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableNames -//line sql.y:892 +//line sql.y:893 { yyLOCAL = TableNames{yyDollar[1].tableName.ToViewName()} } yyVAL.union = yyLOCAL case 93: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:896 +//line sql.y:897 { yySLICE := (*TableNames)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableName.ToViewName()) @@ -8803,14 +8686,14 @@ yydefault: case 94: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableNames -//line sql.y:902 +//line sql.y:903 { yyLOCAL = TableNames{yyDollar[1].tableName} } yyVAL.union = yyLOCAL case 95: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:906 +//line sql.y:907 { yySLICE := (*TableNames)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableName) @@ -8818,14 +8701,14 @@ yydefault: case 96: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableNames -//line sql.y:912 +//line sql.y:913 { yyLOCAL = TableNames{yyDollar[1].tableName} } yyVAL.union = yyLOCAL case 97: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:916 +//line sql.y:917 { yySLICE := (*TableNames)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableName) @@ -8833,7 +8716,7 @@ yydefault: case 98: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Partitions -//line sql.y:921 +//line sql.y:922 { yyLOCAL = nil } @@ -8841,7 +8724,7 @@ yydefault: case 99: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Partitions -//line sql.y:925 +//line sql.y:926 { yyLOCAL = yyDollar[3].partitionsUnion() } @@ -8849,7 +8732,7 @@ yydefault: case 100: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:931 +//line sql.y:932 { yyLOCAL = &Set{Comments: Comments(yyDollar[2].strs).Parsed(), Exprs: yyDollar[3].setExprsUnion()} } @@ -8857,7 +8740,7 @@ yydefault: case 101: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:937 +//line sql.y:938 { yyLOCAL = &SetTransaction{Comments: Comments(yyDollar[2].strs).Parsed(), Scope: yyDollar[3].scopeUnion(), Characteristics: yyDollar[5].characteristicsUnion()} } @@ -8865,7 +8748,7 @@ yydefault: case 102: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:941 +//line sql.y:942 { yyLOCAL = &SetTransaction{Comments: Comments(yyDollar[2].strs).Parsed(), Characteristics: yyDollar[4].characteristicsUnion(), Scope: ImplicitScope} } @@ -8873,14 +8756,14 @@ yydefault: case 103: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []Characteristic -//line sql.y:947 +//line sql.y:948 { yyLOCAL = []Characteristic{yyDollar[1].characteristicUnion()} } yyVAL.union = yyLOCAL case 104: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:951 +//line sql.y:952 { yySLICE := (*[]Characteristic)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].characteristicUnion()) @@ -8888,7 +8771,7 @@ yydefault: case 105: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Characteristic -//line sql.y:957 +//line sql.y:958 { yyLOCAL = yyDollar[3].isolationLevelUnion() } @@ -8896,7 +8779,7 @@ yydefault: case 106: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Characteristic -//line sql.y:961 +//line sql.y:962 { yyLOCAL = ReadWrite } @@ -8904,7 +8787,7 @@ yydefault: case 107: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Characteristic -//line sql.y:965 +//line sql.y:966 { yyLOCAL = ReadOnly } @@ -8912,7 +8795,7 @@ yydefault: case 108: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IsolationLevel -//line sql.y:971 +//line sql.y:972 { yyLOCAL = RepeatableRead } @@ -8920,7 +8803,7 @@ yydefault: case 109: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IsolationLevel -//line sql.y:975 +//line sql.y:976 { yyLOCAL = ReadCommitted } @@ -8928,7 +8811,7 @@ yydefault: case 110: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IsolationLevel -//line sql.y:979 +//line sql.y:980 { yyLOCAL = ReadUncommitted } @@ -8936,7 +8819,7 @@ yydefault: case 111: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IsolationLevel -//line sql.y:983 +//line sql.y:984 { yyLOCAL = Serializable } @@ -8944,7 +8827,7 @@ yydefault: case 112: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Scope -//line sql.y:989 +//line sql.y:990 { yyLOCAL = SessionScope } @@ -8952,7 +8835,7 @@ yydefault: case 113: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Scope -//line sql.y:993 +//line sql.y:994 { yyLOCAL = GlobalScope } @@ -8960,7 +8843,7 @@ yydefault: case 114: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:999 +//line sql.y:1000 { yyDollar[1].createTableUnion().TableSpec = yyDollar[2].tableSpecUnion() yyDollar[1].createTableUnion().FullyParsed = true @@ -8970,7 +8853,7 @@ yydefault: case 115: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:1005 +//line sql.y:1006 { // Create table [name] like [name] yyDollar[1].createTableUnion().OptLike = yyDollar[2].optLikeUnion() @@ -8981,7 +8864,7 @@ yydefault: case 116: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:1012 +//line sql.y:1013 { indexDef := yyDollar[1].alterTableUnion().AlterOptions[0].(*AddIndexDefinition).IndexDefinition indexDef.Columns = yyDollar[3].indexColumnsUnion() @@ -8994,7 +8877,7 @@ yydefault: case 117: yyDollar = yyS[yypt-12 : yypt+1] var yyLOCAL Statement -//line sql.y:1021 +//line sql.y:1022 { yyLOCAL = &CreateView{ViewName: yyDollar[8].tableName.ToViewName(), Comments: Comments(yyDollar[2].strs).Parsed(), IsReplace: yyDollar[3].booleanUnion(), Algorithm: yyDollar[4].str, Definer: yyDollar[5].definerUnion(), Security: yyDollar[6].str, Columns: yyDollar[9].columnsUnion(), Select: yyDollar[11].selStmtUnion(), CheckOption: yyDollar[12].str} } @@ -9002,7 +8885,7 @@ yydefault: case 118: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:1025 +//line sql.y:1026 { yyDollar[1].createDatabaseUnion().FullyParsed = true yyDollar[1].createDatabaseUnion().CreateOptions = yyDollar[2].databaseOptionsUnion() @@ -9012,7 +8895,7 @@ yydefault: case 119: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:1032 +//line sql.y:1033 { yyLOCAL = false } @@ -9020,33 +8903,33 @@ yydefault: case 120: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:1036 +//line sql.y:1037 { yyLOCAL = true } yyVAL.union = yyLOCAL case 121: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1041 +//line sql.y:1042 { yyVAL.colIdent = NewColIdent("") } case 122: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1045 +//line sql.y:1046 { yyVAL.colIdent = yyDollar[2].colIdent } case 123: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1051 +//line sql.y:1052 { yyVAL.colIdent = yyDollar[1].colIdent } case 124: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []VindexParam -//line sql.y:1056 +//line sql.y:1057 { var v []VindexParam yyLOCAL = v @@ -9055,7 +8938,7 @@ yydefault: case 125: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []VindexParam -//line sql.y:1061 +//line sql.y:1062 { yyLOCAL = yyDollar[2].vindexParamsUnion() } @@ -9063,7 +8946,7 @@ yydefault: case 126: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []VindexParam -//line sql.y:1067 +//line sql.y:1068 { yyLOCAL = make([]VindexParam, 0, 4) yyLOCAL = append(yyLOCAL, yyDollar[1].vindexParam) @@ -9071,21 +8954,21 @@ yydefault: yyVAL.union = yyLOCAL case 127: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1072 +//line sql.y:1073 { yySLICE := (*[]VindexParam)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].vindexParam) } case 128: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1078 +//line sql.y:1079 { yyVAL.vindexParam = VindexParam{Key: yyDollar[1].colIdent, Val: yyDollar[3].str} } case 129: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*JSONObjectParam -//line sql.y:1083 +//line sql.y:1084 { yyLOCAL = nil } @@ -9093,7 +8976,7 @@ yydefault: case 130: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*JSONObjectParam -//line sql.y:1087 +//line sql.y:1088 { yyLOCAL = yyDollar[1].jsonObjectParamsUnion() } @@ -9101,28 +8984,28 @@ yydefault: case 131: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*JSONObjectParam -//line sql.y:1093 +//line sql.y:1094 { yyLOCAL = []*JSONObjectParam{yyDollar[1].jsonObjectParam} } yyVAL.union = yyLOCAL case 132: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1097 +//line sql.y:1098 { yySLICE := (*[]*JSONObjectParam)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].jsonObjectParam) } case 133: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1103 +//line sql.y:1104 { yyVAL.jsonObjectParam = &JSONObjectParam{Key: yyDollar[1].exprUnion(), Value: yyDollar[3].exprUnion()} } case 134: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *CreateTable -//line sql.y:1109 +//line sql.y:1110 { yyLOCAL = &CreateTable{Comments: Comments(yyDollar[2].strs).Parsed(), Table: yyDollar[6].tableName, IfNotExists: yyDollar[5].booleanUnion(), Temp: yyDollar[3].booleanUnion()} setDDL(yylex, yyLOCAL) @@ -9131,7 +9014,7 @@ yydefault: case 135: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *AlterTable -//line sql.y:1116 +//line sql.y:1117 { yyLOCAL = &AlterTable{Comments: Comments(yyDollar[2].strs).Parsed(), Table: yyDollar[4].tableName} setDDL(yylex, yyLOCAL) @@ -9140,7 +9023,7 @@ yydefault: case 136: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *AlterTable -//line sql.y:1123 +//line sql.y:1124 { 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()}}}} setDDL(yylex, yyLOCAL) @@ -9149,7 +9032,7 @@ yydefault: case 137: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *AlterTable -//line sql.y:1128 +//line sql.y:1129 { 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()}}}} setDDL(yylex, yyLOCAL) @@ -9158,7 +9041,7 @@ yydefault: case 138: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *AlterTable -//line sql.y:1133 +//line sql.y:1134 { 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()}}}} setDDL(yylex, yyLOCAL) @@ -9167,7 +9050,7 @@ yydefault: case 139: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *AlterTable -//line sql.y:1138 +//line sql.y:1139 { 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()}}}} setDDL(yylex, yyLOCAL) @@ -9176,7 +9059,7 @@ yydefault: case 140: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *CreateDatabase -//line sql.y:1145 +//line sql.y:1146 { yyLOCAL = &CreateDatabase{Comments: Comments(yyDollar[4].strs).Parsed(), DBName: yyDollar[6].tableIdent, IfNotExists: yyDollar[5].booleanUnion()} setDDL(yylex, yyLOCAL) @@ -9185,7 +9068,7 @@ yydefault: case 141: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *AlterDatabase -//line sql.y:1152 +//line sql.y:1153 { yyLOCAL = &AlterDatabase{} setDDL(yylex, yyLOCAL) @@ -9194,7 +9077,7 @@ yydefault: case 144: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *TableSpec -//line sql.y:1163 +//line sql.y:1164 { yyLOCAL = yyDollar[2].tableSpecUnion() yyLOCAL.Options = yyDollar[4].tableOptionsUnion() @@ -9204,7 +9087,7 @@ yydefault: case 145: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []DatabaseOption -//line sql.y:1170 +//line sql.y:1171 { yyLOCAL = nil } @@ -9212,7 +9095,7 @@ yydefault: case 146: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []DatabaseOption -//line sql.y:1174 +//line sql.y:1175 { yyLOCAL = yyDollar[1].databaseOptionsUnion() } @@ -9220,7 +9103,7 @@ yydefault: case 147: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []DatabaseOption -//line sql.y:1180 +//line sql.y:1181 { yyLOCAL = []DatabaseOption{yyDollar[1].databaseOption} } @@ -9228,7 +9111,7 @@ yydefault: case 148: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []DatabaseOption -//line sql.y:1184 +//line sql.y:1185 { yyLOCAL = []DatabaseOption{yyDollar[1].databaseOption} } @@ -9236,28 +9119,28 @@ yydefault: case 149: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []DatabaseOption -//line sql.y:1188 +//line sql.y:1189 { yyLOCAL = []DatabaseOption{yyDollar[1].databaseOption} } yyVAL.union = yyLOCAL case 150: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1192 +//line sql.y:1193 { yySLICE := (*[]DatabaseOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].databaseOption) } case 151: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1196 +//line sql.y:1197 { yySLICE := (*[]DatabaseOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].databaseOption) } case 152: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1200 +//line sql.y:1201 { yySLICE := (*[]DatabaseOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].databaseOption) @@ -9265,7 +9148,7 @@ yydefault: case 153: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:1206 +//line sql.y:1207 { yyLOCAL = false } @@ -9273,51 +9156,51 @@ yydefault: case 154: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:1210 +//line sql.y:1211 { yyLOCAL = true } yyVAL.union = yyLOCAL case 155: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1216 +//line sql.y:1217 { yyVAL.databaseOption = DatabaseOption{Type: CharacterSetType, Value: (yyDollar[4].colIdent.String()), IsDefault: yyDollar[1].booleanUnion()} } case 156: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1220 +//line sql.y:1221 { yyVAL.databaseOption = DatabaseOption{Type: CharacterSetType, Value: (encodeSQLString(yyDollar[4].str)), IsDefault: yyDollar[1].booleanUnion()} } case 157: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1226 +//line sql.y:1227 { yyVAL.databaseOption = DatabaseOption{Type: CollateType, Value: (yyDollar[4].colIdent.String()), IsDefault: yyDollar[1].booleanUnion()} } case 158: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1230 +//line sql.y:1231 { yyVAL.databaseOption = DatabaseOption{Type: CollateType, Value: (encodeSQLString(yyDollar[4].str)), IsDefault: yyDollar[1].booleanUnion()} } case 159: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1236 +//line sql.y:1237 { yyVAL.databaseOption = DatabaseOption{Type: EncryptionType, Value: (yyDollar[4].colIdent.String()), IsDefault: yyDollar[1].booleanUnion()} } case 160: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1240 +//line sql.y:1241 { yyVAL.databaseOption = DatabaseOption{Type: EncryptionType, Value: (encodeSQLString(yyDollar[4].str)), IsDefault: yyDollar[1].booleanUnion()} } case 161: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *OptLike -//line sql.y:1246 +//line sql.y:1247 { yyLOCAL = &OptLike{LikeTable: yyDollar[2].tableName} } @@ -9325,7 +9208,7 @@ yydefault: case 162: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *OptLike -//line sql.y:1250 +//line sql.y:1251 { yyLOCAL = &OptLike{LikeTable: yyDollar[3].tableName} } @@ -9333,14 +9216,14 @@ yydefault: case 163: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*ColumnDefinition -//line sql.y:1256 +//line sql.y:1257 { yyLOCAL = []*ColumnDefinition{yyDollar[1].columnDefinitionUnion()} } yyVAL.union = yyLOCAL case 164: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1260 +//line sql.y:1261 { yySLICE := (*[]*ColumnDefinition)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].columnDefinitionUnion()) @@ -9348,7 +9231,7 @@ yydefault: case 165: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *TableSpec -//line sql.y:1266 +//line sql.y:1267 { yyLOCAL = &TableSpec{} yyLOCAL.AddColumn(yyDollar[1].columnDefinitionUnion()) @@ -9357,7 +9240,7 @@ yydefault: case 166: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *TableSpec -//line sql.y:1271 +//line sql.y:1272 { yyLOCAL = &TableSpec{} yyLOCAL.AddConstraint(yyDollar[1].constraintDefinitionUnion()) @@ -9365,39 +9248,39 @@ yydefault: yyVAL.union = yyLOCAL case 167: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1276 +//line sql.y:1277 { yyVAL.tableSpecUnion().AddColumn(yyDollar[3].columnDefinitionUnion()) } case 168: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1280 +//line sql.y:1281 { yyVAL.tableSpecUnion().AddColumn(yyDollar[3].columnDefinitionUnion()) yyVAL.tableSpecUnion().AddConstraint(yyDollar[4].constraintDefinitionUnion()) } case 169: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1285 +//line sql.y:1286 { yyVAL.tableSpecUnion().AddIndex(yyDollar[3].indexDefinitionUnion()) } case 170: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1289 +//line sql.y:1290 { yyVAL.tableSpecUnion().AddConstraint(yyDollar[3].constraintDefinitionUnion()) } case 171: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1293 +//line sql.y:1294 { yyVAL.tableSpecUnion().AddConstraint(yyDollar[3].constraintDefinitionUnion()) } case 172: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ColumnDefinition -//line sql.y:1304 +//line sql.y:1305 { yyDollar[2].columnType.Options = yyDollar[4].columnTypeOptionsUnion() if yyDollar[2].columnType.Options.Collate == "" { @@ -9410,7 +9293,7 @@ yydefault: case 173: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL *ColumnDefinition -//line sql.y:1313 +//line sql.y:1314 { yyDollar[2].columnType.Options = yyDollar[9].columnTypeOptionsUnion() yyDollar[2].columnType.Options.As = yyDollar[7].exprUnion() @@ -9421,20 +9304,20 @@ yydefault: yyVAL.union = yyLOCAL case 174: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1322 +//line sql.y:1323 { yyVAL.str = "" } case 175: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1326 +//line sql.y:1327 { yyVAL.str = "" } case 176: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1335 +//line sql.y:1336 { yyLOCAL = &ColumnTypeOptions{Null: nil, Default: nil, OnUpdate: nil, Autoincrement: false, KeyOpt: colKeyNone, Comment: nil, As: nil, Invisible: nil, Format: UnspecifiedFormat, EngineAttribute: nil, SecondaryEngineAttribute: nil} } @@ -9442,7 +9325,7 @@ yydefault: case 177: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1339 +//line sql.y:1340 { val := true yyDollar[1].columnTypeOptionsUnion().Null = &val @@ -9452,7 +9335,7 @@ yydefault: case 178: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1345 +//line sql.y:1346 { val := false yyDollar[1].columnTypeOptionsUnion().Null = &val @@ -9462,7 +9345,7 @@ yydefault: case 179: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1351 +//line sql.y:1352 { yyDollar[1].columnTypeOptionsUnion().Default = yyDollar[4].exprUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9471,7 +9354,7 @@ yydefault: case 180: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1356 +//line sql.y:1357 { yyDollar[1].columnTypeOptionsUnion().Default = yyDollar[3].exprUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9480,7 +9363,7 @@ yydefault: case 181: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1361 +//line sql.y:1362 { yyDollar[1].columnTypeOptionsUnion().OnUpdate = yyDollar[4].exprUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9489,7 +9372,7 @@ yydefault: case 182: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1366 +//line sql.y:1367 { yyDollar[1].columnTypeOptionsUnion().Autoincrement = true yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9498,7 +9381,7 @@ yydefault: case 183: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1371 +//line sql.y:1372 { yyDollar[1].columnTypeOptionsUnion().Comment = NewStrLiteral(yyDollar[3].str) yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9507,7 +9390,7 @@ yydefault: case 184: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1376 +//line sql.y:1377 { yyDollar[1].columnTypeOptionsUnion().KeyOpt = yyDollar[2].colKeyOptUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9515,14 +9398,14 @@ yydefault: yyVAL.union = yyLOCAL case 185: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1381 +//line sql.y:1382 { yyDollar[1].columnTypeOptionsUnion().Collate = encodeSQLString(yyDollar[3].str) } case 186: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1385 +//line sql.y:1386 { yyDollar[1].columnTypeOptionsUnion().Collate = string(yyDollar[3].colIdent.String()) yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9530,14 +9413,14 @@ yydefault: yyVAL.union = yyLOCAL case 187: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1390 +//line sql.y:1391 { yyDollar[1].columnTypeOptionsUnion().Format = yyDollar[3].columnFormatUnion() } case 188: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1394 +//line sql.y:1395 { yyDollar[1].columnTypeOptionsUnion().SRID = NewIntLiteral(yyDollar[3].str) yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9546,7 +9429,7 @@ yydefault: case 189: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1399 +//line sql.y:1400 { val := false yyDollar[1].columnTypeOptionsUnion().Invisible = &val @@ -9556,7 +9439,7 @@ yydefault: case 190: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1405 +//line sql.y:1406 { val := true yyDollar[1].columnTypeOptionsUnion().Invisible = &val @@ -9565,20 +9448,20 @@ yydefault: yyVAL.union = yyLOCAL case 191: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1411 +//line sql.y:1412 { yyDollar[1].columnTypeOptionsUnion().EngineAttribute = NewStrLiteral(yyDollar[4].str) } case 192: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1415 +//line sql.y:1416 { yyDollar[1].columnTypeOptionsUnion().SecondaryEngineAttribute = NewStrLiteral(yyDollar[4].str) } case 193: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnFormat -//line sql.y:1421 +//line sql.y:1422 { yyLOCAL = FixedFormat } @@ -9586,7 +9469,7 @@ yydefault: case 194: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnFormat -//line sql.y:1425 +//line sql.y:1426 { yyLOCAL = DynamicFormat } @@ -9594,7 +9477,7 @@ yydefault: case 195: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnFormat -//line sql.y:1429 +//line sql.y:1430 { yyLOCAL = DefaultFormat } @@ -9602,7 +9485,7 @@ yydefault: case 196: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnStorage -//line sql.y:1435 +//line sql.y:1436 { yyLOCAL = VirtualStorage } @@ -9610,7 +9493,7 @@ yydefault: case 197: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnStorage -//line sql.y:1439 +//line sql.y:1440 { yyLOCAL = StoredStorage } @@ -9618,7 +9501,7 @@ yydefault: case 198: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1444 +//line sql.y:1445 { yyLOCAL = &ColumnTypeOptions{} } @@ -9626,7 +9509,7 @@ yydefault: case 199: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1448 +//line sql.y:1449 { yyDollar[1].columnTypeOptionsUnion().Storage = yyDollar[2].columnStorageUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9635,7 +9518,7 @@ yydefault: case 200: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1453 +//line sql.y:1454 { val := true yyDollar[1].columnTypeOptionsUnion().Null = &val @@ -9645,7 +9528,7 @@ yydefault: case 201: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1459 +//line sql.y:1460 { val := false yyDollar[1].columnTypeOptionsUnion().Null = &val @@ -9655,7 +9538,7 @@ yydefault: case 202: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1465 +//line sql.y:1466 { yyDollar[1].columnTypeOptionsUnion().Comment = NewStrLiteral(yyDollar[3].str) yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9664,7 +9547,7 @@ yydefault: case 203: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1470 +//line sql.y:1471 { yyDollar[1].columnTypeOptionsUnion().KeyOpt = yyDollar[2].colKeyOptUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9673,7 +9556,7 @@ yydefault: case 204: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1475 +//line sql.y:1476 { val := false yyDollar[1].columnTypeOptionsUnion().Invisible = &val @@ -9683,7 +9566,7 @@ yydefault: case 205: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1481 +//line sql.y:1482 { val := true yyDollar[1].columnTypeOptionsUnion().Invisible = &val @@ -9693,7 +9576,7 @@ yydefault: case 206: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1489 +//line sql.y:1490 { yyLOCAL = yyDollar[1].exprUnion() } @@ -9701,7 +9584,7 @@ yydefault: case 208: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1496 +//line sql.y:1497 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("current_timestamp"), Fsp: yyDollar[2].exprUnion()} } @@ -9709,7 +9592,7 @@ yydefault: case 209: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1500 +//line sql.y:1501 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("localtime"), Fsp: yyDollar[2].exprUnion()} } @@ -9717,7 +9600,7 @@ yydefault: case 210: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1504 +//line sql.y:1505 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("localtimestamp"), Fsp: yyDollar[2].exprUnion()} } @@ -9725,7 +9608,7 @@ yydefault: case 211: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1508 +//line sql.y:1509 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("utc_timestamp"), Fsp: yyDollar[2].exprUnion()} } @@ -9733,7 +9616,7 @@ yydefault: case 212: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1512 +//line sql.y:1513 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("now"), Fsp: yyDollar[2].exprUnion()} } @@ -9741,7 +9624,7 @@ yydefault: case 215: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1522 +//line sql.y:1523 { yyLOCAL = &NullVal{} } @@ -9749,7 +9632,7 @@ yydefault: case 217: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1529 +//line sql.y:1530 { yyLOCAL = yyDollar[2].exprUnion() } @@ -9757,7 +9640,7 @@ yydefault: case 218: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1533 +//line sql.y:1534 { yyLOCAL = &UnaryExpr{Operator: UMinusOp, Expr: yyDollar[2].exprUnion()} } @@ -9765,7 +9648,7 @@ yydefault: case 219: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1539 +//line sql.y:1540 { yyLOCAL = yyDollar[1].exprUnion() } @@ -9773,7 +9656,7 @@ yydefault: case 220: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1543 +//line sql.y:1544 { yyLOCAL = yyDollar[1].exprUnion() } @@ -9781,7 +9664,7 @@ yydefault: case 221: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1547 +//line sql.y:1548 { yyLOCAL = yyDollar[1].boolValUnion() } @@ -9789,7 +9672,7 @@ yydefault: case 222: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1551 +//line sql.y:1552 { yyLOCAL = NewHexLiteral(yyDollar[1].str) } @@ -9797,7 +9680,7 @@ yydefault: case 223: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1555 +//line sql.y:1556 { yyLOCAL = NewHexNumLiteral(yyDollar[1].str) } @@ -9805,7 +9688,7 @@ yydefault: case 224: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1559 +//line sql.y:1560 { yyLOCAL = NewBitLiteral(yyDollar[1].str) } @@ -9813,7 +9696,7 @@ yydefault: case 225: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1563 +//line sql.y:1564 { yyLOCAL = NewArgument(yyDollar[1].str[1:]) bindVariable(yylex, yyDollar[1].str[1:]) @@ -9822,7 +9705,7 @@ yydefault: case 226: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1568 +//line sql.y:1569 { yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewBitLiteral(yyDollar[2].str)} } @@ -9830,7 +9713,7 @@ yydefault: case 227: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1572 +//line sql.y:1573 { yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewHexNumLiteral(yyDollar[2].str)} } @@ -9838,7 +9721,7 @@ yydefault: case 228: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1576 +//line sql.y:1577 { yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewHexLiteral(yyDollar[2].str)} } @@ -9846,7 +9729,7 @@ yydefault: case 229: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1580 +//line sql.y:1581 { yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: yyDollar[2].colNameUnion()} } @@ -9854,7 +9737,7 @@ yydefault: case 230: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1584 +//line sql.y:1585 { bindVariable(yylex, yyDollar[2].str[1:]) yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewArgument(yyDollar[2].str[1:])} @@ -9862,260 +9745,260 @@ yydefault: yyVAL.union = yyLOCAL case 231: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1591 +//line sql.y:1592 { yyVAL.str = Armscii8Str } case 232: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1595 +//line sql.y:1596 { yyVAL.str = ASCIIStr } case 233: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1599 +//line sql.y:1600 { yyVAL.str = Big5Str } case 234: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1603 +//line sql.y:1604 { yyVAL.str = UBinaryStr } case 235: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1607 +//line sql.y:1608 { yyVAL.str = Cp1250Str } case 236: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1611 +//line sql.y:1612 { yyVAL.str = Cp1251Str } case 237: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1615 +//line sql.y:1616 { yyVAL.str = Cp1256Str } case 238: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1619 +//line sql.y:1620 { yyVAL.str = Cp1257Str } case 239: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1623 +//line sql.y:1624 { yyVAL.str = Cp850Str } case 240: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1627 +//line sql.y:1628 { yyVAL.str = Cp852Str } case 241: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1631 +//line sql.y:1632 { yyVAL.str = Cp866Str } case 242: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1635 +//line sql.y:1636 { yyVAL.str = Cp932Str } case 243: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1639 +//line sql.y:1640 { yyVAL.str = Dec8Str } case 244: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1643 +//line sql.y:1644 { yyVAL.str = EucjpmsStr } case 245: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1647 +//line sql.y:1648 { yyVAL.str = EuckrStr } case 246: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1651 +//line sql.y:1652 { yyVAL.str = Gb18030Str } case 247: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1655 +//line sql.y:1656 { yyVAL.str = Gb2312Str } case 248: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1659 +//line sql.y:1660 { yyVAL.str = GbkStr } case 249: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1663 +//line sql.y:1664 { yyVAL.str = Geostd8Str } case 250: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1667 +//line sql.y:1668 { yyVAL.str = GreekStr } case 251: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1671 +//line sql.y:1672 { yyVAL.str = HebrewStr } case 252: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1675 +//line sql.y:1676 { yyVAL.str = Hp8Str } case 253: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1679 +//line sql.y:1680 { yyVAL.str = Keybcs2Str } case 254: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1683 +//line sql.y:1684 { yyVAL.str = Koi8rStr } case 255: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1687 +//line sql.y:1688 { yyVAL.str = Koi8uStr } case 256: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1691 +//line sql.y:1692 { yyVAL.str = Latin1Str } case 257: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1695 +//line sql.y:1696 { yyVAL.str = Latin2Str } case 258: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1699 +//line sql.y:1700 { yyVAL.str = Latin5Str } case 259: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1703 +//line sql.y:1704 { yyVAL.str = Latin7Str } case 260: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1707 +//line sql.y:1708 { yyVAL.str = MacceStr } case 261: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1711 +//line sql.y:1712 { yyVAL.str = MacromanStr } case 262: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1715 +//line sql.y:1716 { yyVAL.str = SjisStr } case 263: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1719 +//line sql.y:1720 { yyVAL.str = Swe7Str } case 264: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1723 +//line sql.y:1724 { yyVAL.str = Tis620Str } case 265: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1727 +//line sql.y:1728 { yyVAL.str = Ucs2Str } case 266: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1731 +//line sql.y:1732 { yyVAL.str = UjisStr } case 267: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1735 +//line sql.y:1736 { yyVAL.str = Utf16Str } case 268: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1739 +//line sql.y:1740 { yyVAL.str = Utf16leStr } case 269: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1743 +//line sql.y:1744 { yyVAL.str = Utf32Str } case 270: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1747 +//line sql.y:1748 { yyVAL.str = Utf8Str } case 271: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1751 +//line sql.y:1752 { yyVAL.str = Utf8mb4Str } case 272: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1755 +//line sql.y:1756 { yyVAL.str = Utf8Str } case 275: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1765 +//line sql.y:1766 { yyLOCAL = NewIntLiteral(yyDollar[1].str) } @@ -10123,7 +10006,7 @@ yydefault: case 276: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1769 +//line sql.y:1770 { yyLOCAL = NewFloatLiteral(yyDollar[1].str) } @@ -10131,7 +10014,7 @@ yydefault: case 277: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1773 +//line sql.y:1774 { yyLOCAL = NewDecimalLiteral(yyDollar[1].str) } @@ -10139,7 +10022,7 @@ yydefault: case 278: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1779 +//line sql.y:1780 { yyLOCAL = NewStrLiteral(yyDollar[1].str) } @@ -10147,7 +10030,7 @@ yydefault: case 279: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1783 +//line sql.y:1784 { yyLOCAL = &UnaryExpr{Operator: NStringOp, Expr: NewStrLiteral(yyDollar[1].str)} } @@ -10155,7 +10038,7 @@ yydefault: case 280: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1787 +//line sql.y:1788 { yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewStrLiteral(yyDollar[2].str)} } @@ -10163,7 +10046,7 @@ yydefault: case 281: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1793 +//line sql.y:1794 { yyLOCAL = yyDollar[1].exprUnion() } @@ -10171,7 +10054,7 @@ yydefault: case 282: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1797 +//line sql.y:1798 { yyLOCAL = NewArgument(yyDollar[1].str[1:]) bindVariable(yylex, yyDollar[1].str[1:]) @@ -10180,7 +10063,7 @@ yydefault: case 283: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ColumnKeyOption -//line sql.y:1804 +//line sql.y:1805 { yyLOCAL = colKeyPrimary } @@ -10188,7 +10071,7 @@ yydefault: case 284: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnKeyOption -//line sql.y:1808 +//line sql.y:1809 { yyLOCAL = colKeyUnique } @@ -10196,7 +10079,7 @@ yydefault: case 285: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ColumnKeyOption -//line sql.y:1812 +//line sql.y:1813 { yyLOCAL = colKeyUniqueKey } @@ -10204,14 +10087,14 @@ yydefault: case 286: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnKeyOption -//line sql.y:1816 +//line sql.y:1817 { yyLOCAL = colKey } yyVAL.union = yyLOCAL case 287: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1822 +//line sql.y:1823 { yyVAL.columnType = yyDollar[1].columnType yyVAL.columnType.Unsigned = yyDollar[2].booleanUnion() @@ -10219,74 +10102,74 @@ yydefault: } case 291: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1833 +//line sql.y:1834 { yyVAL.columnType = yyDollar[1].columnType yyVAL.columnType.Length = yyDollar[2].literalUnion() } case 292: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1838 +//line sql.y:1839 { yyVAL.columnType = yyDollar[1].columnType } case 293: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1844 +//line sql.y:1845 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 294: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1848 +//line sql.y:1849 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 295: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1852 +//line sql.y:1853 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 296: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1856 +//line sql.y:1857 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 297: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1860 +//line sql.y:1861 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 298: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1864 +//line sql.y:1865 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 299: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1868 +//line sql.y:1869 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 300: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1872 +//line sql.y:1873 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 301: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1876 +//line sql.y:1877 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 302: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1882 +//line sql.y:1883 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -10294,7 +10177,7 @@ yydefault: } case 303: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1888 +//line sql.y:1889 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -10302,7 +10185,7 @@ yydefault: } case 304: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1894 +//line sql.y:1895 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -10310,7 +10193,7 @@ yydefault: } case 305: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1900 +//line sql.y:1901 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -10318,7 +10201,7 @@ yydefault: } case 306: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1906 +//line sql.y:1907 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -10326,43 +10209,43 @@ yydefault: } case 307: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1914 +//line sql.y:1915 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 308: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1918 +//line sql.y:1919 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 309: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1922 +//line sql.y:1923 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 310: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1926 +//line sql.y:1927 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 311: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1930 +//line sql.y:1931 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 312: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1936 +//line sql.y:1937 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion(), Charset: yyDollar[3].columnCharset} } case 313: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1940 +//line sql.y:1941 { // CHAR BYTE is an alias for binary. See also: // https://dev.mysql.com/doc/refman/8.0/en/string-type-syntax.html @@ -10370,153 +10253,153 @@ yydefault: } case 314: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1946 +//line sql.y:1947 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion(), Charset: yyDollar[3].columnCharset} } case 315: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1950 +//line sql.y:1951 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 316: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1954 +//line sql.y:1955 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 317: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1958 +//line sql.y:1959 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset} } case 318: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1962 +//line sql.y:1963 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset} } case 319: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1966 +//line sql.y:1967 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset} } case 320: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1970 +//line sql.y:1971 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset} } case 321: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1974 +//line sql.y:1975 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 322: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1978 +//line sql.y:1979 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 323: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1982 +//line sql.y:1983 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 324: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1986 +//line sql.y:1987 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 325: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1990 +//line sql.y:1991 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 326: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1994 +//line sql.y:1995 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].columnCharset} } case 327: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1999 +//line sql.y:2000 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].columnCharset} } case 328: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2005 +//line sql.y:2006 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 329: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2009 +//line sql.y:2010 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 330: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2013 +//line sql.y:2014 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 331: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2017 +//line sql.y:2018 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 332: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2021 +//line sql.y:2022 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 333: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2025 +//line sql.y:2026 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 334: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2029 +//line sql.y:2030 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 335: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2033 +//line sql.y:2034 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 336: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2039 +//line sql.y:2040 { yyVAL.strs = make([]string, 0, 4) yyVAL.strs = append(yyVAL.strs, encodeSQLString(yyDollar[1].str)) } case 337: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2044 +//line sql.y:2045 { yyVAL.strs = append(yyDollar[1].strs, encodeSQLString(yyDollar[3].str)) } case 338: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *Literal -//line sql.y:2049 +//line sql.y:2050 { yyLOCAL = nil } @@ -10524,20 +10407,20 @@ yydefault: case 339: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *Literal -//line sql.y:2053 +//line sql.y:2054 { yyLOCAL = NewIntLiteral(yyDollar[2].str) } yyVAL.union = yyLOCAL case 340: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2058 +//line sql.y:2059 { yyVAL.LengthScaleOption = LengthScaleOption{} } case 341: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2062 +//line sql.y:2063 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: NewIntLiteral(yyDollar[2].str), @@ -10546,13 +10429,13 @@ yydefault: } case 342: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2070 +//line sql.y:2071 { yyVAL.LengthScaleOption = LengthScaleOption{} } case 343: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2074 +//line sql.y:2075 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: NewIntLiteral(yyDollar[2].str), @@ -10560,7 +10443,7 @@ yydefault: } case 344: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2080 +//line sql.y:2081 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: NewIntLiteral(yyDollar[2].str), @@ -10570,7 +10453,7 @@ yydefault: case 345: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:2088 +//line sql.y:2089 { yyLOCAL = false } @@ -10578,7 +10461,7 @@ yydefault: case 346: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2092 +//line sql.y:2093 { yyLOCAL = true } @@ -10586,7 +10469,7 @@ yydefault: case 347: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2096 +//line sql.y:2097 { yyLOCAL = false } @@ -10594,7 +10477,7 @@ yydefault: case 348: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:2101 +//line sql.y:2102 { yyLOCAL = false } @@ -10602,66 +10485,66 @@ yydefault: case 349: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2105 +//line sql.y:2106 { yyLOCAL = true } yyVAL.union = yyLOCAL case 350: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2110 +//line sql.y:2111 { yyVAL.columnCharset = ColumnCharset{} } case 351: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2114 +//line sql.y:2115 { yyVAL.columnCharset = ColumnCharset{Name: string(yyDollar[2].colIdent.String()), Binary: yyDollar[3].booleanUnion()} } case 352: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2118 +//line sql.y:2119 { yyVAL.columnCharset = ColumnCharset{Name: encodeSQLString(yyDollar[2].str), Binary: yyDollar[3].booleanUnion()} } case 353: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2122 +//line sql.y:2123 { yyVAL.columnCharset = ColumnCharset{Name: string(yyDollar[2].str)} } case 354: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2126 +//line sql.y:2127 { // ASCII: Shorthand for CHARACTER SET latin1. yyVAL.columnCharset = ColumnCharset{Name: "latin1", Binary: yyDollar[2].booleanUnion()} } case 355: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2131 +//line sql.y:2132 { // UNICODE: Shorthand for CHARACTER SET ucs2. yyVAL.columnCharset = ColumnCharset{Name: "ucs2", Binary: yyDollar[2].booleanUnion()} } case 356: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2136 +//line sql.y:2137 { // BINARY: Shorthand for default CHARACTER SET but with binary collation yyVAL.columnCharset = ColumnCharset{Name: "", Binary: true} } case 357: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2141 +//line sql.y:2142 { // BINARY ASCII: Shorthand for CHARACTER SET latin1 with binary collation yyVAL.columnCharset = ColumnCharset{Name: "latin1", Binary: true} } case 358: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2146 +//line sql.y:2147 { // BINARY UNICODE: Shorthand for CHARACTER SET ucs2 with binary collation yyVAL.columnCharset = ColumnCharset{Name: "ucs2", Binary: true} @@ -10669,7 +10552,7 @@ yydefault: case 359: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:2152 +//line sql.y:2153 { yyLOCAL = false } @@ -10677,33 +10560,33 @@ yydefault: case 360: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2156 +//line sql.y:2157 { yyLOCAL = true } yyVAL.union = yyLOCAL case 361: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2161 +//line sql.y:2162 { yyVAL.str = "" } case 362: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2165 +//line sql.y:2166 { yyVAL.str = string(yyDollar[2].colIdent.String()) } case 363: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2169 +//line sql.y:2170 { yyVAL.str = encodeSQLString(yyDollar[2].str) } case 364: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *IndexDefinition -//line sql.y:2175 +//line sql.y:2176 { yyLOCAL = &IndexDefinition{Info: yyDollar[1].indexInfoUnion(), Columns: yyDollar[3].indexColumnsUnion(), Options: yyDollar[5].indexOptionsUnion()} } @@ -10711,7 +10594,7 @@ yydefault: case 365: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:2180 +//line sql.y:2181 { yyLOCAL = nil } @@ -10719,7 +10602,7 @@ yydefault: case 366: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:2184 +//line sql.y:2185 { yyLOCAL = yyDollar[1].indexOptionsUnion() } @@ -10727,14 +10610,14 @@ yydefault: case 367: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:2190 +//line sql.y:2191 { yyLOCAL = []*IndexOption{yyDollar[1].indexOptionUnion()} } yyVAL.union = yyLOCAL case 368: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2194 +//line sql.y:2195 { yySLICE := (*[]*IndexOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].indexOptionUnion()) @@ -10742,7 +10625,7 @@ yydefault: case 369: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2200 +//line sql.y:2201 { yyLOCAL = yyDollar[1].indexOptionUnion() } @@ -10750,7 +10633,7 @@ yydefault: case 370: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2204 +//line sql.y:2205 { // should not be string yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} @@ -10759,7 +10642,7 @@ yydefault: case 371: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2209 +//line sql.y:2210 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[2].str)} } @@ -10767,7 +10650,7 @@ yydefault: case 372: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2213 +//line sql.y:2214 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str)} } @@ -10775,7 +10658,7 @@ yydefault: case 373: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2217 +//line sql.y:2218 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str)} } @@ -10783,7 +10666,7 @@ yydefault: case 374: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2221 +//line sql.y:2222 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str) + " " + string(yyDollar[2].str), String: yyDollar[3].colIdent.String()} } @@ -10791,7 +10674,7 @@ yydefault: case 375: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2225 +//line sql.y:2226 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -10799,27 +10682,27 @@ yydefault: case 376: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2229 +//line sql.y:2230 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } yyVAL.union = yyLOCAL case 377: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2235 +//line sql.y:2236 { yyVAL.str = "" } case 378: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2239 +//line sql.y:2240 { yyVAL.str = string(yyDollar[1].str) } case 379: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *IndexInfo -//line sql.y:2245 +//line sql.y:2246 { yyLOCAL = &IndexInfo{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), ConstraintName: NewColIdent(yyDollar[1].str), Name: NewColIdent("PRIMARY"), Primary: true, Unique: true} } @@ -10827,7 +10710,7 @@ yydefault: case 380: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexInfo -//line sql.y:2249 +//line sql.y:2250 { yyLOCAL = &IndexInfo{Type: string(yyDollar[1].str) + " " + string(yyDollar[2].str), Name: NewColIdent(yyDollar[3].str), Spatial: true, Unique: false} } @@ -10835,7 +10718,7 @@ yydefault: case 381: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexInfo -//line sql.y:2253 +//line sql.y:2254 { yyLOCAL = &IndexInfo{Type: string(yyDollar[1].str) + " " + string(yyDollar[2].str), Name: NewColIdent(yyDollar[3].str), Fulltext: true, Unique: false} } @@ -10843,7 +10726,7 @@ yydefault: case 382: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *IndexInfo -//line sql.y:2257 +//line sql.y:2258 { yyLOCAL = &IndexInfo{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), ConstraintName: NewColIdent(yyDollar[1].str), Name: NewColIdent(yyDollar[4].str), Unique: true} } @@ -10851,100 +10734,100 @@ yydefault: case 383: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *IndexInfo -//line sql.y:2261 +//line sql.y:2262 { yyLOCAL = &IndexInfo{Type: string(yyDollar[1].str), Name: NewColIdent(yyDollar[2].str), Unique: false} } yyVAL.union = yyLOCAL case 384: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2266 +//line sql.y:2267 { yyVAL.str = "" } case 385: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2270 +//line sql.y:2271 { yyVAL.str = yyDollar[2].str } case 386: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2276 +//line sql.y:2277 { yyVAL.str = string(yyDollar[1].str) } case 387: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2280 +//line sql.y:2281 { yyVAL.str = string(yyDollar[1].str) } case 388: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2284 +//line sql.y:2285 { yyVAL.str = string(yyDollar[1].str) } case 389: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2290 +//line sql.y:2291 { yyVAL.str = string(yyDollar[1].str) } case 390: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2294 +//line sql.y:2295 { yyVAL.str = string(yyDollar[1].str) } case 391: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2299 +//line sql.y:2300 { yyVAL.str = "key" } case 392: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2303 +//line sql.y:2304 { yyVAL.str = yyDollar[1].str } case 393: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2309 +//line sql.y:2310 { yyVAL.str = string(yyDollar[1].str) } case 394: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2313 +//line sql.y:2314 { yyVAL.str = string(yyDollar[1].str) } case 395: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2318 +//line sql.y:2319 { yyVAL.str = "" } case 396: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2322 +//line sql.y:2323 { yyVAL.str = string(yyDollar[1].colIdent.String()) } case 397: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*IndexColumn -//line sql.y:2328 +//line sql.y:2329 { yyLOCAL = []*IndexColumn{yyDollar[1].indexColumnUnion()} } yyVAL.union = yyLOCAL case 398: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2332 +//line sql.y:2333 { yySLICE := (*[]*IndexColumn)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].indexColumnUnion()) @@ -10952,7 +10835,7 @@ yydefault: case 399: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexColumn -//line sql.y:2338 +//line sql.y:2339 { yyLOCAL = &IndexColumn{Column: yyDollar[1].colIdent, Length: yyDollar[2].literalUnion(), Direction: yyDollar[3].orderDirectionUnion()} } @@ -10960,7 +10843,7 @@ yydefault: case 400: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *IndexColumn -//line sql.y:2342 +//line sql.y:2343 { yyLOCAL = &IndexColumn{Expression: yyDollar[2].exprUnion(), Direction: yyDollar[4].orderDirectionUnion()} } @@ -10968,7 +10851,7 @@ yydefault: case 401: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ConstraintDefinition -//line sql.y:2348 +//line sql.y:2349 { yyLOCAL = &ConstraintDefinition{Name: yyDollar[2].colIdent, Details: yyDollar[3].constraintInfoUnion()} } @@ -10976,7 +10859,7 @@ yydefault: case 402: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConstraintDefinition -//line sql.y:2352 +//line sql.y:2353 { yyLOCAL = &ConstraintDefinition{Details: yyDollar[1].constraintInfoUnion()} } @@ -10984,7 +10867,7 @@ yydefault: case 403: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ConstraintDefinition -//line sql.y:2358 +//line sql.y:2359 { yyLOCAL = &ConstraintDefinition{Name: yyDollar[2].colIdent, Details: yyDollar[3].constraintInfoUnion()} } @@ -10992,7 +10875,7 @@ yydefault: case 404: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConstraintDefinition -//line sql.y:2362 +//line sql.y:2363 { yyLOCAL = &ConstraintDefinition{Details: yyDollar[1].constraintInfoUnion()} } @@ -11000,7 +10883,7 @@ yydefault: case 405: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL ConstraintInfo -//line sql.y:2368 +//line sql.y:2369 { yyLOCAL = &ForeignKeyDefinition{IndexName: NewColIdent(yyDollar[3].str), Source: yyDollar[5].columnsUnion(), ReferenceDefinition: yyDollar[7].referenceDefinitionUnion()} } @@ -11008,7 +10891,7 @@ yydefault: case 406: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2374 +//line sql.y:2375 { yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion()} } @@ -11016,7 +10899,7 @@ yydefault: case 407: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2378 +//line sql.y:2379 { yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnDelete: yyDollar[7].referenceActionUnion()} } @@ -11024,7 +10907,7 @@ yydefault: case 408: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2382 +//line sql.y:2383 { yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnUpdate: yyDollar[7].referenceActionUnion()} } @@ -11032,7 +10915,7 @@ yydefault: case 409: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2386 +//line sql.y:2387 { yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnDelete: yyDollar[7].referenceActionUnion(), OnUpdate: yyDollar[8].referenceActionUnion()} } @@ -11040,7 +10923,7 @@ yydefault: case 410: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2390 +//line sql.y:2391 { yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnUpdate: yyDollar[7].referenceActionUnion(), OnDelete: yyDollar[8].referenceActionUnion()} } @@ -11048,7 +10931,7 @@ yydefault: case 411: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2395 +//line sql.y:2396 { yyLOCAL = nil } @@ -11056,7 +10939,7 @@ yydefault: case 412: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2399 +//line sql.y:2400 { yyLOCAL = yyDollar[1].referenceDefinitionUnion() } @@ -11064,7 +10947,7 @@ yydefault: case 413: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL ConstraintInfo -//line sql.y:2405 +//line sql.y:2406 { yyLOCAL = &CheckConstraintDefinition{Expr: yyDollar[3].exprUnion(), Enforced: yyDollar[5].booleanUnion()} } @@ -11072,7 +10955,7 @@ yydefault: case 414: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2411 +//line sql.y:2412 { yyLOCAL = yyDollar[2].matchActionUnion() } @@ -11080,7 +10963,7 @@ yydefault: case 415: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2417 +//line sql.y:2418 { yyLOCAL = Full } @@ -11088,7 +10971,7 @@ yydefault: case 416: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2421 +//line sql.y:2422 { yyLOCAL = Partial } @@ -11096,7 +10979,7 @@ yydefault: case 417: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2425 +//line sql.y:2426 { yyLOCAL = Simple } @@ -11104,7 +10987,7 @@ yydefault: case 418: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2430 +//line sql.y:2431 { yyLOCAL = DefaultMatch } @@ -11112,7 +10995,7 @@ yydefault: case 419: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2434 +//line sql.y:2435 { yyLOCAL = yyDollar[1].matchActionUnion() } @@ -11120,7 +11003,7 @@ yydefault: case 420: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2440 +//line sql.y:2441 { yyLOCAL = yyDollar[3].referenceActionUnion() } @@ -11128,7 +11011,7 @@ yydefault: case 421: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2446 +//line sql.y:2447 { yyLOCAL = yyDollar[3].referenceActionUnion() } @@ -11136,7 +11019,7 @@ yydefault: case 422: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2452 +//line sql.y:2453 { yyLOCAL = Restrict } @@ -11144,7 +11027,7 @@ yydefault: case 423: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2456 +//line sql.y:2457 { yyLOCAL = Cascade } @@ -11152,7 +11035,7 @@ yydefault: case 424: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2460 +//line sql.y:2461 { yyLOCAL = NoAction } @@ -11160,7 +11043,7 @@ yydefault: case 425: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2464 +//line sql.y:2465 { yyLOCAL = SetDefault } @@ -11168,33 +11051,33 @@ yydefault: case 426: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2468 +//line sql.y:2469 { yyLOCAL = SetNull } yyVAL.union = yyLOCAL case 427: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2473 +//line sql.y:2474 { yyVAL.str = "" } case 428: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2477 +//line sql.y:2478 { yyVAL.str = string(yyDollar[1].str) } case 429: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2481 +//line sql.y:2482 { yyVAL.str = string(yyDollar[1].str) } case 430: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2487 +//line sql.y:2488 { yyLOCAL = true } @@ -11202,7 +11085,7 @@ yydefault: case 431: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:2491 +//line sql.y:2492 { yyLOCAL = false } @@ -11210,7 +11093,7 @@ yydefault: case 432: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:2496 +//line sql.y:2497 { yyLOCAL = true } @@ -11218,7 +11101,7 @@ yydefault: case 433: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2500 +//line sql.y:2501 { yyLOCAL = yyDollar[1].booleanUnion() } @@ -11226,7 +11109,7 @@ yydefault: case 434: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL TableOptions -//line sql.y:2505 +//line sql.y:2506 { yyLOCAL = nil } @@ -11234,7 +11117,7 @@ yydefault: case 435: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableOptions -//line sql.y:2509 +//line sql.y:2510 { yyLOCAL = yyDollar[1].tableOptionsUnion() } @@ -11242,21 +11125,21 @@ yydefault: case 436: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableOptions -//line sql.y:2515 +//line sql.y:2516 { yyLOCAL = TableOptions{yyDollar[1].tableOptionUnion()} } yyVAL.union = yyLOCAL case 437: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2519 +//line sql.y:2520 { yySLICE := (*TableOptions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableOptionUnion()) } case 438: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2523 +//line sql.y:2524 { yySLICE := (*TableOptions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].tableOptionUnion()) @@ -11264,14 +11147,14 @@ yydefault: case 439: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableOptions -//line sql.y:2529 +//line sql.y:2530 { yyLOCAL = TableOptions{yyDollar[1].tableOptionUnion()} } yyVAL.union = yyLOCAL case 440: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2533 +//line sql.y:2534 { yySLICE := (*TableOptions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].tableOptionUnion()) @@ -11279,7 +11162,7 @@ yydefault: case 441: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2539 +//line sql.y:2540 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11287,7 +11170,7 @@ yydefault: case 442: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2543 +//line sql.y:2544 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11295,7 +11178,7 @@ yydefault: case 443: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2547 +//line sql.y:2548 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11303,7 +11186,7 @@ yydefault: case 444: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2551 +//line sql.y:2552 { yyLOCAL = &TableOption{Name: (string(yyDollar[2].str)), String: yyDollar[4].str, CaseSensitive: true} } @@ -11311,7 +11194,7 @@ yydefault: case 445: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2555 +//line sql.y:2556 { yyLOCAL = &TableOption{Name: string(yyDollar[2].str), String: yyDollar[4].str, CaseSensitive: true} } @@ -11319,7 +11202,7 @@ yydefault: case 446: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2559 +//line sql.y:2560 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11327,7 +11210,7 @@ yydefault: case 447: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2563 +//line sql.y:2564 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11335,7 +11218,7 @@ yydefault: case 448: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2567 +//line sql.y:2568 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11343,7 +11226,7 @@ yydefault: case 449: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2571 +//line sql.y:2572 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11351,7 +11234,7 @@ yydefault: case 450: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2575 +//line sql.y:2576 { yyLOCAL = &TableOption{Name: (string(yyDollar[1].str) + " " + string(yyDollar[2].str)), Value: NewStrLiteral(yyDollar[4].str)} } @@ -11359,7 +11242,7 @@ yydefault: case 451: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2579 +//line sql.y:2580 { yyLOCAL = &TableOption{Name: (string(yyDollar[1].str) + " " + string(yyDollar[2].str)), Value: NewStrLiteral(yyDollar[4].str)} } @@ -11367,7 +11250,7 @@ yydefault: case 452: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2583 +//line sql.y:2584 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11375,7 +11258,7 @@ yydefault: case 453: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2587 +//line sql.y:2588 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11383,7 +11266,7 @@ yydefault: case 454: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2591 +//line sql.y:2592 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: yyDollar[3].tableIdent.String(), CaseSensitive: true} } @@ -11391,7 +11274,7 @@ yydefault: case 455: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2595 +//line sql.y:2596 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11399,7 +11282,7 @@ yydefault: case 456: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2599 +//line sql.y:2600 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} } @@ -11407,7 +11290,7 @@ yydefault: case 457: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2603 +//line sql.y:2604 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11415,7 +11298,7 @@ yydefault: case 458: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2607 +//line sql.y:2608 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11423,7 +11306,7 @@ yydefault: case 459: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2611 +//line sql.y:2612 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11431,7 +11314,7 @@ yydefault: case 460: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2615 +//line sql.y:2616 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11439,7 +11322,7 @@ yydefault: case 461: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2619 +//line sql.y:2620 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} } @@ -11447,7 +11330,7 @@ yydefault: case 462: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2623 +//line sql.y:2624 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11455,7 +11338,7 @@ yydefault: case 463: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2627 +//line sql.y:2628 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} } @@ -11463,7 +11346,7 @@ yydefault: case 464: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2631 +//line sql.y:2632 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11471,7 +11354,7 @@ yydefault: case 465: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2635 +//line sql.y:2636 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11479,7 +11362,7 @@ yydefault: case 466: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2639 +//line sql.y:2640 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} } @@ -11487,7 +11370,7 @@ yydefault: case 467: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2643 +//line sql.y:2644 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11495,7 +11378,7 @@ yydefault: case 468: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2647 +//line sql.y:2648 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} } @@ -11503,7 +11386,7 @@ yydefault: case 469: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2651 +//line sql.y:2652 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11511,7 +11394,7 @@ yydefault: case 470: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2655 +//line sql.y:2656 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: (yyDollar[3].colIdent.String() + yyDollar[4].str)} } @@ -11519,57 +11402,57 @@ yydefault: case 471: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2659 +//line sql.y:2660 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Tables: yyDollar[4].tableNamesUnion()} } yyVAL.union = yyLOCAL case 472: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2664 +//line sql.y:2665 { yyVAL.str = "" } case 473: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2668 +//line sql.y:2669 { yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 474: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2672 +//line sql.y:2673 { yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 484: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2691 +//line sql.y:2692 { yyVAL.str = yyDollar[1].colIdent.String() } case 485: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2695 +//line sql.y:2696 { yyVAL.str = encodeSQLString(yyDollar[1].str) } case 486: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2699 +//line sql.y:2700 { yyVAL.str = string(yyDollar[1].str) } case 487: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2704 +//line sql.y:2705 { yyVAL.str = "" } case 489: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:2710 +//line sql.y:2711 { yyLOCAL = false } @@ -11577,7 +11460,7 @@ yydefault: case 490: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2714 +//line sql.y:2715 { yyLOCAL = true } @@ -11585,7 +11468,7 @@ yydefault: case 491: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ColName -//line sql.y:2719 +//line sql.y:2720 { yyLOCAL = nil } @@ -11593,27 +11476,27 @@ yydefault: case 492: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColName -//line sql.y:2723 +//line sql.y:2724 { yyLOCAL = yyDollar[2].colNameUnion() } yyVAL.union = yyLOCAL case 493: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2728 +//line sql.y:2729 { yyVAL.str = "" } case 494: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2732 +//line sql.y:2733 { yyVAL.str = string(yyDollar[2].str) } case 495: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *Literal -//line sql.y:2737 +//line sql.y:2738 { yyLOCAL = nil } @@ -11621,7 +11504,7 @@ yydefault: case 496: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Literal -//line sql.y:2741 +//line sql.y:2742 { yyLOCAL = NewIntLiteral(yyDollar[2].str) } @@ -11629,7 +11512,7 @@ yydefault: case 497: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Literal -//line sql.y:2745 +//line sql.y:2746 { yyLOCAL = NewDecimalLiteral(yyDollar[2].str) } @@ -11637,7 +11520,7 @@ yydefault: case 498: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2750 +//line sql.y:2751 { yyLOCAL = nil } @@ -11645,14 +11528,14 @@ yydefault: case 499: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2754 +//line sql.y:2755 { yyLOCAL = yyDollar[1].alterOptionsUnion() } yyVAL.union = yyLOCAL case 500: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2758 +//line sql.y:2759 { yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, &OrderByOption{Cols: yyDollar[5].columnsUnion()}) @@ -11660,14 +11543,14 @@ yydefault: case 501: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2762 +//line sql.y:2763 { yyLOCAL = yyDollar[1].alterOptionsUnion() } yyVAL.union = yyLOCAL case 502: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2766 +//line sql.y:2767 { yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].alterOptionsUnion()...) @@ -11675,7 +11558,7 @@ yydefault: case 503: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2770 +//line sql.y:2771 { yyLOCAL = append(append(yyDollar[1].alterOptionsUnion(), yyDollar[3].alterOptionsUnion()...), &OrderByOption{Cols: yyDollar[7].columnsUnion()}) } @@ -11683,21 +11566,21 @@ yydefault: case 504: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2776 +//line sql.y:2777 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} } yyVAL.union = yyLOCAL case 505: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2780 +//line sql.y:2781 { yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion()) } case 506: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2784 +//line sql.y:2785 { yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion()) @@ -11705,7 +11588,7 @@ yydefault: case 507: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2790 +//line sql.y:2791 { yyLOCAL = yyDollar[1].tableOptionsUnion() } @@ -11713,7 +11596,7 @@ yydefault: case 508: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2794 +//line sql.y:2795 { yyLOCAL = &AddConstraintDefinition{ConstraintDefinition: yyDollar[2].constraintDefinitionUnion()} } @@ -11721,7 +11604,7 @@ yydefault: case 509: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2798 +//line sql.y:2799 { yyLOCAL = &AddConstraintDefinition{ConstraintDefinition: yyDollar[2].constraintDefinitionUnion()} } @@ -11729,7 +11612,7 @@ yydefault: case 510: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2802 +//line sql.y:2803 { yyLOCAL = &AddIndexDefinition{IndexDefinition: yyDollar[2].indexDefinitionUnion()} } @@ -11737,7 +11620,7 @@ yydefault: case 511: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2806 +//line sql.y:2807 { yyLOCAL = &AddColumns{Columns: yyDollar[4].columnDefinitionsUnion()} } @@ -11745,7 +11628,7 @@ yydefault: case 512: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2810 +//line sql.y:2811 { yyLOCAL = &AddColumns{Columns: []*ColumnDefinition{yyDollar[3].columnDefinitionUnion()}, First: yyDollar[4].booleanUnion(), After: yyDollar[5].colNameUnion()} } @@ -11753,7 +11636,7 @@ yydefault: case 513: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2814 +//line sql.y:2815 { yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: true} } @@ -11761,7 +11644,7 @@ yydefault: case 514: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2818 +//line sql.y:2819 { yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: false, DefaultVal: yyDollar[6].exprUnion()} } @@ -11769,7 +11652,7 @@ yydefault: case 515: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2822 +//line sql.y:2823 { yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: false, DefaultVal: yyDollar[7].exprUnion()} } @@ -11777,7 +11660,7 @@ yydefault: case 516: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2826 +//line sql.y:2827 { val := false yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), Invisible: &val} @@ -11786,7 +11669,7 @@ yydefault: case 517: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2831 +//line sql.y:2832 { val := true yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), Invisible: &val} @@ -11795,7 +11678,7 @@ yydefault: case 518: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2836 +//line sql.y:2837 { yyLOCAL = &AlterCheck{Name: yyDollar[3].colIdent, Enforced: yyDollar[4].booleanUnion()} } @@ -11803,7 +11686,7 @@ yydefault: case 519: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2840 +//line sql.y:2841 { yyLOCAL = &AlterIndex{Name: yyDollar[3].colIdent, Invisible: false} } @@ -11811,7 +11694,7 @@ yydefault: case 520: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2844 +//line sql.y:2845 { yyLOCAL = &AlterIndex{Name: yyDollar[3].colIdent, Invisible: true} } @@ -11819,7 +11702,7 @@ yydefault: case 521: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2848 +//line sql.y:2849 { yyLOCAL = &ChangeColumn{OldColumn: yyDollar[3].colNameUnion(), NewColDefinition: yyDollar[4].columnDefinitionUnion(), First: yyDollar[5].booleanUnion(), After: yyDollar[6].colNameUnion()} } @@ -11827,7 +11710,7 @@ yydefault: case 522: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2852 +//line sql.y:2853 { yyLOCAL = &ModifyColumn{NewColDefinition: yyDollar[3].columnDefinitionUnion(), First: yyDollar[4].booleanUnion(), After: yyDollar[5].colNameUnion()} } @@ -11835,7 +11718,7 @@ yydefault: case 523: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2856 +//line sql.y:2857 { yyLOCAL = &AlterCharset{CharacterSet: yyDollar[4].str, Collate: yyDollar[5].str} } @@ -11843,7 +11726,7 @@ yydefault: case 524: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2860 +//line sql.y:2861 { yyLOCAL = &KeyState{Enable: false} } @@ -11851,7 +11734,7 @@ yydefault: case 525: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2864 +//line sql.y:2865 { yyLOCAL = &KeyState{Enable: true} } @@ -11859,7 +11742,7 @@ yydefault: case 526: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2868 +//line sql.y:2869 { yyLOCAL = &TablespaceOperation{Import: false} } @@ -11867,7 +11750,7 @@ yydefault: case 527: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2872 +//line sql.y:2873 { yyLOCAL = &TablespaceOperation{Import: true} } @@ -11875,7 +11758,7 @@ yydefault: case 528: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2876 +//line sql.y:2877 { yyLOCAL = &DropColumn{Name: yyDollar[3].colNameUnion()} } @@ -11883,7 +11766,7 @@ yydefault: case 529: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2880 +//line sql.y:2881 { yyLOCAL = &DropKey{Type: NormalKeyType, Name: yyDollar[3].colIdent} } @@ -11891,7 +11774,7 @@ yydefault: case 530: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2884 +//line sql.y:2885 { yyLOCAL = &DropKey{Type: PrimaryKeyType} } @@ -11899,7 +11782,7 @@ yydefault: case 531: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2888 +//line sql.y:2889 { yyLOCAL = &DropKey{Type: ForeignKeyType, Name: yyDollar[4].colIdent} } @@ -11907,7 +11790,7 @@ yydefault: case 532: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2892 +//line sql.y:2893 { yyLOCAL = &DropKey{Type: CheckKeyType, Name: yyDollar[3].colIdent} } @@ -11915,7 +11798,7 @@ yydefault: case 533: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2896 +//line sql.y:2897 { yyLOCAL = &DropKey{Type: CheckKeyType, Name: yyDollar[3].colIdent} } @@ -11923,7 +11806,7 @@ yydefault: case 534: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2900 +//line sql.y:2901 { yyLOCAL = &Force{} } @@ -11931,7 +11814,7 @@ yydefault: case 535: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2904 +//line sql.y:2905 { yyLOCAL = &RenameTableName{Table: yyDollar[3].tableName} } @@ -11939,7 +11822,7 @@ yydefault: case 536: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2908 +//line sql.y:2909 { yyLOCAL = &RenameIndex{OldName: yyDollar[3].colIdent, NewName: yyDollar[5].colIdent} } @@ -11947,14 +11830,14 @@ yydefault: case 537: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2914 +//line sql.y:2915 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} } yyVAL.union = yyLOCAL case 538: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2918 +//line sql.y:2919 { yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion()) @@ -11962,7 +11845,7 @@ yydefault: case 539: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2924 +//line sql.y:2925 { yyLOCAL = AlgorithmValue(string(yyDollar[3].str)) } @@ -11970,7 +11853,7 @@ yydefault: case 540: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2928 +//line sql.y:2929 { yyLOCAL = AlgorithmValue(string(yyDollar[3].str)) } @@ -11978,7 +11861,7 @@ yydefault: case 541: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2932 +//line sql.y:2933 { yyLOCAL = AlgorithmValue(string(yyDollar[3].str)) } @@ -11986,7 +11869,7 @@ yydefault: case 542: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2936 +//line sql.y:2937 { yyLOCAL = AlgorithmValue(string(yyDollar[3].str)) } @@ -11994,7 +11877,7 @@ yydefault: case 543: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2940 +//line sql.y:2941 { yyLOCAL = &LockOption{Type: DefaultType} } @@ -12002,7 +11885,7 @@ yydefault: case 544: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2944 +//line sql.y:2945 { yyLOCAL = &LockOption{Type: NoneType} } @@ -12010,7 +11893,7 @@ yydefault: case 545: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2948 +//line sql.y:2949 { yyLOCAL = &LockOption{Type: SharedType} } @@ -12018,7 +11901,7 @@ yydefault: case 546: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2952 +//line sql.y:2953 { yyLOCAL = &LockOption{Type: ExclusiveType} } @@ -12026,7 +11909,7 @@ yydefault: case 547: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2956 +//line sql.y:2957 { yyLOCAL = &Validation{With: true} } @@ -12034,7 +11917,7 @@ yydefault: case 548: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2960 +//line sql.y:2961 { yyLOCAL = &Validation{With: false} } @@ -12042,7 +11925,7 @@ yydefault: case 549: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:2966 +//line sql.y:2967 { yyDollar[1].alterTableUnion().FullyParsed = true yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion() @@ -12053,7 +11936,7 @@ yydefault: case 550: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:2973 +//line sql.y:2974 { yyDollar[1].alterTableUnion().FullyParsed = true yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion() @@ -12064,7 +11947,7 @@ yydefault: case 551: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:2980 +//line sql.y:2981 { yyDollar[1].alterTableUnion().FullyParsed = true yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion() @@ -12075,7 +11958,7 @@ yydefault: case 552: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:2987 +//line sql.y:2988 { yyDollar[1].alterTableUnion().FullyParsed = true yyDollar[1].alterTableUnion().PartitionSpec = yyDollar[2].partSpecUnion() @@ -12085,7 +11968,7 @@ yydefault: case 553: yyDollar = yyS[yypt-11 : yypt+1] var yyLOCAL Statement -//line sql.y:2993 +//line sql.y:2994 { yyLOCAL = &AlterView{ViewName: yyDollar[7].tableName.ToViewName(), Comments: Comments(yyDollar[2].strs).Parsed(), Algorithm: yyDollar[3].str, Definer: yyDollar[4].definerUnion(), Security: yyDollar[5].str, Columns: yyDollar[8].columnsUnion(), Select: yyDollar[10].selStmtUnion(), CheckOption: yyDollar[11].str} } @@ -12093,7 +11976,7 @@ yydefault: case 554: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3003 +//line sql.y:3004 { yyDollar[1].alterDatabaseUnion().FullyParsed = true yyDollar[1].alterDatabaseUnion().DBName = yyDollar[2].tableIdent @@ -12104,7 +11987,7 @@ yydefault: case 555: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3010 +//line sql.y:3011 { yyDollar[1].alterDatabaseUnion().FullyParsed = true yyDollar[1].alterDatabaseUnion().DBName = yyDollar[2].tableIdent @@ -12115,7 +11998,7 @@ yydefault: case 556: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Statement -//line sql.y:3017 +//line sql.y:3018 { yyLOCAL = &AlterVschema{ Action: CreateVindexDDLAction, @@ -12131,7 +12014,7 @@ yydefault: case 557: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3029 +//line sql.y:3030 { yyLOCAL = &AlterVschema{ Action: DropVindexDDLAction, @@ -12145,7 +12028,7 @@ yydefault: case 558: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3039 +//line sql.y:3040 { yyLOCAL = &AlterVschema{Action: AddVschemaTableDDLAction, Table: yyDollar[6].tableName} } @@ -12153,7 +12036,7 @@ yydefault: case 559: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3043 +//line sql.y:3044 { yyLOCAL = &AlterVschema{Action: DropVschemaTableDDLAction, Table: yyDollar[6].tableName} } @@ -12161,7 +12044,7 @@ yydefault: case 560: yyDollar = yyS[yypt-13 : yypt+1] var yyLOCAL Statement -//line sql.y:3047 +//line sql.y:3048 { yyLOCAL = &AlterVschema{ Action: AddColVindexDDLAction, @@ -12178,7 +12061,7 @@ yydefault: case 561: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Statement -//line sql.y:3060 +//line sql.y:3061 { yyLOCAL = &AlterVschema{ Action: DropColVindexDDLAction, @@ -12192,7 +12075,7 @@ yydefault: case 562: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3070 +//line sql.y:3071 { yyLOCAL = &AlterVschema{Action: AddSequenceDDLAction, Table: yyDollar[6].tableName} } @@ -12200,7 +12083,7 @@ yydefault: case 563: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL Statement -//line sql.y:3074 +//line sql.y:3075 { yyLOCAL = &AlterVschema{ Action: AddAutoIncDDLAction, @@ -12215,7 +12098,7 @@ yydefault: case 564: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3085 +//line sql.y:3086 { yyLOCAL = &AlterMigration{ Type: RetryMigrationType, @@ -12226,7 +12109,7 @@ yydefault: case 565: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3092 +//line sql.y:3093 { yyLOCAL = &AlterMigration{ Type: CleanupMigrationType, @@ -12237,7 +12120,7 @@ yydefault: case 566: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3099 +//line sql.y:3100 { yyLOCAL = &AlterMigration{ Type: CompleteMigrationType, @@ -12248,7 +12131,7 @@ yydefault: case 567: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3106 +//line sql.y:3107 { yyLOCAL = &AlterMigration{ Type: CancelMigrationType, @@ -12259,7 +12142,7 @@ yydefault: case 568: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3113 +//line sql.y:3114 { yyLOCAL = &AlterMigration{ Type: CancelAllMigrationType, @@ -12269,7 +12152,7 @@ yydefault: case 569: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3119 +//line sql.y:3120 { yyLOCAL = &AlterMigration{ Type: ThrottleMigrationType, @@ -12282,7 +12165,7 @@ yydefault: case 570: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3128 +//line sql.y:3129 { yyLOCAL = &AlterMigration{ Type: ThrottleAllMigrationType, @@ -12294,7 +12177,7 @@ yydefault: case 571: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3136 +//line sql.y:3137 { yyLOCAL = &AlterMigration{ Type: UnthrottleMigrationType, @@ -12305,7 +12188,7 @@ yydefault: case 572: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3143 +//line sql.y:3144 { yyLOCAL = &AlterMigration{ Type: UnthrottleAllMigrationType, @@ -12315,7 +12198,7 @@ yydefault: case 573: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3150 +//line sql.y:3151 { yyLOCAL = nil } @@ -12323,7 +12206,7 @@ yydefault: case 574: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3154 +//line sql.y:3155 { yyDollar[3].partitionOptionUnion().Partitions = yyDollar[4].integerUnion() yyDollar[3].partitionOptionUnion().SubPartition = yyDollar[5].subPartitionUnion() @@ -12334,7 +12217,7 @@ yydefault: case 575: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3163 +//line sql.y:3164 { yyLOCAL = &PartitionOption{ IsLinear: yyDollar[1].booleanUnion(), @@ -12346,7 +12229,7 @@ yydefault: case 576: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3171 +//line sql.y:3172 { yyLOCAL = &PartitionOption{ IsLinear: yyDollar[1].booleanUnion(), @@ -12359,7 +12242,7 @@ yydefault: case 577: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3180 +//line sql.y:3181 { yyLOCAL = &PartitionOption{ Type: yyDollar[1].partitionByTypeUnion(), @@ -12370,7 +12253,7 @@ yydefault: case 578: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3187 +//line sql.y:3188 { yyLOCAL = &PartitionOption{ Type: yyDollar[1].partitionByTypeUnion(), @@ -12381,7 +12264,7 @@ yydefault: case 579: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *SubPartition -//line sql.y:3195 +//line sql.y:3196 { yyLOCAL = nil } @@ -12389,7 +12272,7 @@ yydefault: case 580: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *SubPartition -//line sql.y:3199 +//line sql.y:3200 { yyLOCAL = &SubPartition{ IsLinear: yyDollar[3].booleanUnion(), @@ -12402,7 +12285,7 @@ yydefault: case 581: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL *SubPartition -//line sql.y:3208 +//line sql.y:3209 { yyLOCAL = &SubPartition{ IsLinear: yyDollar[3].booleanUnion(), @@ -12416,7 +12299,7 @@ yydefault: case 582: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*PartitionDefinition -//line sql.y:3219 +//line sql.y:3220 { yyLOCAL = nil } @@ -12424,7 +12307,7 @@ yydefault: case 583: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*PartitionDefinition -//line sql.y:3223 +//line sql.y:3224 { yyLOCAL = yyDollar[2].partDefsUnion() } @@ -12432,7 +12315,7 @@ yydefault: case 584: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3228 +//line sql.y:3229 { yyLOCAL = false } @@ -12440,7 +12323,7 @@ yydefault: case 585: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3232 +//line sql.y:3233 { yyLOCAL = true } @@ -12448,7 +12331,7 @@ yydefault: case 586: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int -//line sql.y:3237 +//line sql.y:3238 { yyLOCAL = 0 } @@ -12456,7 +12339,7 @@ yydefault: case 587: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int -//line sql.y:3241 +//line sql.y:3242 { yyLOCAL = convertStringToInt(yyDollar[3].str) } @@ -12464,7 +12347,7 @@ yydefault: case 588: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL TableExpr -//line sql.y:3247 +//line sql.y:3248 { yyLOCAL = &JSONTableExpr{Expr: yyDollar[3].exprUnion(), Filter: yyDollar[5].exprUnion(), Columns: yyDollar[6].jtColumnListUnion(), Alias: yyDollar[8].tableIdent} } @@ -12472,7 +12355,7 @@ yydefault: case 589: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL []*JtColumnDefinition -//line sql.y:3253 +//line sql.y:3254 { yyLOCAL = yyDollar[3].jtColumnListUnion() } @@ -12480,14 +12363,14 @@ yydefault: case 590: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*JtColumnDefinition -//line sql.y:3259 +//line sql.y:3260 { yyLOCAL = []*JtColumnDefinition{yyDollar[1].jtColumnDefinitionUnion()} } yyVAL.union = yyLOCAL case 591: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3263 +//line sql.y:3264 { yySLICE := (*[]*JtColumnDefinition)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].jtColumnDefinitionUnion()) @@ -12495,7 +12378,7 @@ yydefault: case 592: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3269 +//line sql.y:3270 { yyLOCAL = &JtColumnDefinition{JtOrdinal: &JtOrdinalColDef{Name: yyDollar[1].colIdent}} } @@ -12503,7 +12386,7 @@ yydefault: case 593: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3273 +//line sql.y:3274 { yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str} jtPath := &JtPathColDef{Name: yyDollar[1].colIdent, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion()} @@ -12513,7 +12396,7 @@ yydefault: case 594: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3279 +//line sql.y:3280 { yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str} jtPath := &JtPathColDef{Name: yyDollar[1].colIdent, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion()} @@ -12523,7 +12406,7 @@ yydefault: case 595: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3285 +//line sql.y:3286 { yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str} jtPath := &JtPathColDef{Name: yyDollar[1].colIdent, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion(), ErrorOnResponse: yyDollar[7].jtOnResponseUnion()} @@ -12533,7 +12416,7 @@ yydefault: case 596: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3291 +//line sql.y:3292 { yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str} jtPath := &JtPathColDef{Name: yyDollar[1].colIdent, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion(), ErrorOnResponse: yyDollar[8].jtOnResponseUnion()} @@ -12543,7 +12426,7 @@ yydefault: case 597: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3297 +//line sql.y:3298 { jtNestedPath := &JtNestedPathColDef{Path: yyDollar[3].exprUnion(), Columns: yyDollar[4].jtColumnListUnion()} yyLOCAL = &JtColumnDefinition{JtNestedPath: jtNestedPath} @@ -12552,7 +12435,7 @@ yydefault: case 598: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3303 +//line sql.y:3304 { yyLOCAL = false } @@ -12560,7 +12443,7 @@ yydefault: case 599: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3307 +//line sql.y:3308 { yyLOCAL = true } @@ -12568,7 +12451,7 @@ yydefault: case 600: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3311 +//line sql.y:3312 { yyLOCAL = false } @@ -12576,7 +12459,7 @@ yydefault: case 601: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3315 +//line sql.y:3316 { yyLOCAL = true } @@ -12584,7 +12467,7 @@ yydefault: case 602: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3321 +//line sql.y:3322 { yyLOCAL = yyDollar[1].jtOnResponseUnion() } @@ -12592,7 +12475,7 @@ yydefault: case 603: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3327 +//line sql.y:3328 { yyLOCAL = yyDollar[1].jtOnResponseUnion() } @@ -12600,7 +12483,7 @@ yydefault: case 604: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3333 +//line sql.y:3334 { yyLOCAL = &JtOnResponse{ResponseType: ErrorJSONType} } @@ -12608,7 +12491,7 @@ yydefault: case 605: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3337 +//line sql.y:3338 { yyLOCAL = &JtOnResponse{ResponseType: NullJSONType} } @@ -12616,7 +12499,7 @@ yydefault: case 606: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3341 +//line sql.y:3342 { yyLOCAL = &JtOnResponse{ResponseType: DefaultJSONType, Expr: yyDollar[2].exprUnion()} } @@ -12624,7 +12507,7 @@ yydefault: case 607: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL PartitionByType -//line sql.y:3347 +//line sql.y:3348 { yyLOCAL = RangeType } @@ -12632,7 +12515,7 @@ yydefault: case 608: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL PartitionByType -//line sql.y:3351 +//line sql.y:3352 { yyLOCAL = ListType } @@ -12640,7 +12523,7 @@ yydefault: case 609: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int -//line sql.y:3356 +//line sql.y:3357 { yyLOCAL = -1 } @@ -12648,7 +12531,7 @@ yydefault: case 610: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL int -//line sql.y:3360 +//line sql.y:3361 { yyLOCAL = convertStringToInt(yyDollar[2].str) } @@ -12656,7 +12539,7 @@ yydefault: case 611: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int -//line sql.y:3365 +//line sql.y:3366 { yyLOCAL = -1 } @@ -12664,7 +12547,7 @@ yydefault: case 612: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL int -//line sql.y:3369 +//line sql.y:3370 { yyLOCAL = convertStringToInt(yyDollar[2].str) } @@ -12672,7 +12555,7 @@ yydefault: case 613: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3375 +//line sql.y:3376 { yyLOCAL = &PartitionSpec{Action: AddAction, Definitions: []*PartitionDefinition{yyDollar[4].partDefUnion()}} } @@ -12680,7 +12563,7 @@ yydefault: case 614: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3379 +//line sql.y:3380 { yyLOCAL = &PartitionSpec{Action: DropAction, Names: yyDollar[3].partitionsUnion()} } @@ -12688,7 +12571,7 @@ yydefault: case 615: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3383 +//line sql.y:3384 { yyLOCAL = &PartitionSpec{Action: ReorganizeAction, Names: yyDollar[3].partitionsUnion(), Definitions: yyDollar[6].partDefsUnion()} } @@ -12696,7 +12579,7 @@ yydefault: case 616: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3387 +//line sql.y:3388 { yyLOCAL = &PartitionSpec{Action: DiscardAction, Names: yyDollar[3].partitionsUnion()} } @@ -12704,7 +12587,7 @@ yydefault: case 617: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3391 +//line sql.y:3392 { yyLOCAL = &PartitionSpec{Action: DiscardAction, IsAll: true} } @@ -12712,7 +12595,7 @@ yydefault: case 618: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3395 +//line sql.y:3396 { yyLOCAL = &PartitionSpec{Action: ImportAction, Names: yyDollar[3].partitionsUnion()} } @@ -12720,7 +12603,7 @@ yydefault: case 619: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3399 +//line sql.y:3400 { yyLOCAL = &PartitionSpec{Action: ImportAction, IsAll: true} } @@ -12728,7 +12611,7 @@ yydefault: case 620: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3403 +//line sql.y:3404 { yyLOCAL = &PartitionSpec{Action: TruncateAction, Names: yyDollar[3].partitionsUnion()} } @@ -12736,7 +12619,7 @@ yydefault: case 621: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3407 +//line sql.y:3408 { yyLOCAL = &PartitionSpec{Action: TruncateAction, IsAll: true} } @@ -12744,7 +12627,7 @@ yydefault: case 622: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3411 +//line sql.y:3412 { yyLOCAL = &PartitionSpec{Action: CoalesceAction, Number: NewIntLiteral(yyDollar[3].str)} } @@ -12752,7 +12635,7 @@ yydefault: case 623: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3415 +//line sql.y:3416 { yyLOCAL = &PartitionSpec{Action: ExchangeAction, Names: Partitions{yyDollar[3].colIdent}, TableName: yyDollar[6].tableName, WithoutValidation: yyDollar[7].booleanUnion()} } @@ -12760,7 +12643,7 @@ yydefault: case 624: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3419 +//line sql.y:3420 { yyLOCAL = &PartitionSpec{Action: AnalyzeAction, Names: yyDollar[3].partitionsUnion()} } @@ -12768,7 +12651,7 @@ yydefault: case 625: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3423 +//line sql.y:3424 { yyLOCAL = &PartitionSpec{Action: AnalyzeAction, IsAll: true} } @@ -12776,7 +12659,7 @@ yydefault: case 626: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3427 +//line sql.y:3428 { yyLOCAL = &PartitionSpec{Action: CheckAction, Names: yyDollar[3].partitionsUnion()} } @@ -12784,7 +12667,7 @@ yydefault: case 627: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3431 +//line sql.y:3432 { yyLOCAL = &PartitionSpec{Action: CheckAction, IsAll: true} } @@ -12792,7 +12675,7 @@ yydefault: case 628: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3435 +//line sql.y:3436 { yyLOCAL = &PartitionSpec{Action: OptimizeAction, Names: yyDollar[3].partitionsUnion()} } @@ -12800,7 +12683,7 @@ yydefault: case 629: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3439 +//line sql.y:3440 { yyLOCAL = &PartitionSpec{Action: OptimizeAction, IsAll: true} } @@ -12808,7 +12691,7 @@ yydefault: case 630: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3443 +//line sql.y:3444 { yyLOCAL = &PartitionSpec{Action: RebuildAction, Names: yyDollar[3].partitionsUnion()} } @@ -12816,7 +12699,7 @@ yydefault: case 631: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3447 +//line sql.y:3448 { yyLOCAL = &PartitionSpec{Action: RebuildAction, IsAll: true} } @@ -12824,7 +12707,7 @@ yydefault: case 632: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3451 +//line sql.y:3452 { yyLOCAL = &PartitionSpec{Action: RepairAction, Names: yyDollar[3].partitionsUnion()} } @@ -12832,7 +12715,7 @@ yydefault: case 633: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3455 +//line sql.y:3456 { yyLOCAL = &PartitionSpec{Action: RepairAction, IsAll: true} } @@ -12840,7 +12723,7 @@ yydefault: case 634: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3459 +//line sql.y:3460 { yyLOCAL = &PartitionSpec{Action: UpgradeAction} } @@ -12848,7 +12731,7 @@ yydefault: case 635: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3464 +//line sql.y:3465 { yyLOCAL = false } @@ -12856,7 +12739,7 @@ yydefault: case 636: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:3468 +//line sql.y:3469 { yyLOCAL = false } @@ -12864,7 +12747,7 @@ yydefault: case 637: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:3472 +//line sql.y:3473 { yyLOCAL = true } @@ -12872,28 +12755,28 @@ yydefault: case 638: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*PartitionDefinition -//line sql.y:3478 +//line sql.y:3479 { yyLOCAL = []*PartitionDefinition{yyDollar[1].partDefUnion()} } yyVAL.union = yyLOCAL case 639: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3482 +//line sql.y:3483 { yySLICE := (*[]*PartitionDefinition)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].partDefUnion()) } case 640: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3488 +//line sql.y:3489 { yyVAL.partDefUnion().Options = yyDollar[2].partitionDefinitionOptionsUnion() } case 641: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3493 +//line sql.y:3494 { yyLOCAL = &PartitionDefinitionOptions{} } @@ -12901,7 +12784,7 @@ yydefault: case 642: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3497 +//line sql.y:3498 { yyDollar[1].partitionDefinitionOptionsUnion().ValueRange = yyDollar[2].partitionValueRangeUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -12910,7 +12793,7 @@ yydefault: case 643: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3502 +//line sql.y:3503 { yyDollar[1].partitionDefinitionOptionsUnion().Comment = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -12919,7 +12802,7 @@ yydefault: case 644: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3507 +//line sql.y:3508 { yyDollar[1].partitionDefinitionOptionsUnion().Engine = yyDollar[2].partitionEngineUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -12928,7 +12811,7 @@ yydefault: case 645: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3512 +//line sql.y:3513 { yyDollar[1].partitionDefinitionOptionsUnion().DataDirectory = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -12937,7 +12820,7 @@ yydefault: case 646: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3517 +//line sql.y:3518 { yyDollar[1].partitionDefinitionOptionsUnion().IndexDirectory = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -12946,7 +12829,7 @@ yydefault: case 647: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3522 +//line sql.y:3523 { val := yyDollar[2].integerUnion() yyDollar[1].partitionDefinitionOptionsUnion().MaxRows = &val @@ -12956,7 +12839,7 @@ yydefault: case 648: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3528 +//line sql.y:3529 { val := yyDollar[2].integerUnion() yyDollar[1].partitionDefinitionOptionsUnion().MinRows = &val @@ -12966,7 +12849,7 @@ yydefault: case 649: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3534 +//line sql.y:3535 { yyDollar[1].partitionDefinitionOptionsUnion().TableSpace = yyDollar[2].str yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -12975,7 +12858,7 @@ yydefault: case 650: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3539 +//line sql.y:3540 { yyDollar[1].partitionDefinitionOptionsUnion().SubPartitionDefinitions = yyDollar[2].subPartitionDefinitionsUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -12984,7 +12867,7 @@ yydefault: case 651: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SubPartitionDefinitions -//line sql.y:3545 +//line sql.y:3546 { yyLOCAL = yyDollar[2].subPartitionDefinitionsUnion() } @@ -12992,14 +12875,14 @@ yydefault: case 652: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SubPartitionDefinitions -//line sql.y:3551 +//line sql.y:3552 { yyLOCAL = SubPartitionDefinitions{yyDollar[1].subPartitionDefinitionUnion()} } yyVAL.union = yyLOCAL case 653: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3555 +//line sql.y:3556 { yySLICE := (*SubPartitionDefinitions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].subPartitionDefinitionUnion()) @@ -13007,7 +12890,7 @@ yydefault: case 654: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SubPartitionDefinition -//line sql.y:3561 +//line sql.y:3562 { yyLOCAL = &SubPartitionDefinition{Name: yyDollar[2].colIdent, Options: yyDollar[3].subPartitionDefinitionOptionsUnion()} } @@ -13015,7 +12898,7 @@ yydefault: case 655: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3566 +//line sql.y:3567 { yyLOCAL = &SubPartitionDefinitionOptions{} } @@ -13023,7 +12906,7 @@ yydefault: case 656: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3570 +//line sql.y:3571 { yyDollar[1].subPartitionDefinitionOptionsUnion().Comment = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() @@ -13032,7 +12915,7 @@ yydefault: case 657: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3575 +//line sql.y:3576 { yyDollar[1].subPartitionDefinitionOptionsUnion().Engine = yyDollar[2].partitionEngineUnion() yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() @@ -13041,7 +12924,7 @@ yydefault: case 658: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3580 +//line sql.y:3581 { yyDollar[1].subPartitionDefinitionOptionsUnion().DataDirectory = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() @@ -13050,7 +12933,7 @@ yydefault: case 659: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3585 +//line sql.y:3586 { yyDollar[1].subPartitionDefinitionOptionsUnion().IndexDirectory = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() @@ -13059,7 +12942,7 @@ yydefault: case 660: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3590 +//line sql.y:3591 { val := yyDollar[2].integerUnion() yyDollar[1].subPartitionDefinitionOptionsUnion().MaxRows = &val @@ -13069,7 +12952,7 @@ yydefault: case 661: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3596 +//line sql.y:3597 { val := yyDollar[2].integerUnion() yyDollar[1].subPartitionDefinitionOptionsUnion().MinRows = &val @@ -13079,7 +12962,7 @@ yydefault: case 662: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3602 +//line sql.y:3603 { yyDollar[1].subPartitionDefinitionOptionsUnion().TableSpace = yyDollar[2].str yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() @@ -13088,7 +12971,7 @@ yydefault: case 663: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionValueRange -//line sql.y:3609 +//line sql.y:3610 { yyLOCAL = &PartitionValueRange{ Type: LessThanType, @@ -13099,7 +12982,7 @@ yydefault: case 664: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionValueRange -//line sql.y:3616 +//line sql.y:3617 { yyLOCAL = &PartitionValueRange{ Type: LessThanType, @@ -13110,7 +12993,7 @@ yydefault: case 665: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionValueRange -//line sql.y:3623 +//line sql.y:3624 { yyLOCAL = &PartitionValueRange{ Type: InType, @@ -13121,7 +13004,7 @@ yydefault: case 666: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3631 +//line sql.y:3632 { yyLOCAL = false } @@ -13129,7 +13012,7 @@ yydefault: case 667: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3635 +//line sql.y:3636 { yyLOCAL = true } @@ -13137,7 +13020,7 @@ yydefault: case 668: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionEngine -//line sql.y:3641 +//line sql.y:3642 { yyLOCAL = &PartitionEngine{Storage: yyDollar[1].booleanUnion(), Name: yyDollar[4].tableIdent.String()} } @@ -13145,7 +13028,7 @@ yydefault: case 669: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *Literal -//line sql.y:3647 +//line sql.y:3648 { yyLOCAL = NewStrLiteral(yyDollar[3].str) } @@ -13153,7 +13036,7 @@ yydefault: case 670: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Literal -//line sql.y:3653 +//line sql.y:3654 { yyLOCAL = NewStrLiteral(yyDollar[4].str) } @@ -13161,7 +13044,7 @@ yydefault: case 671: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Literal -//line sql.y:3659 +//line sql.y:3660 { yyLOCAL = NewStrLiteral(yyDollar[4].str) } @@ -13169,7 +13052,7 @@ yydefault: case 672: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int -//line sql.y:3665 +//line sql.y:3666 { yyLOCAL = convertStringToInt(yyDollar[3].str) } @@ -13177,41 +13060,41 @@ yydefault: case 673: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int -//line sql.y:3671 +//line sql.y:3672 { yyLOCAL = convertStringToInt(yyDollar[3].str) } yyVAL.union = yyLOCAL case 674: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3677 +//line sql.y:3678 { yyVAL.str = yyDollar[3].tableIdent.String() } case 675: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinition -//line sql.y:3683 +//line sql.y:3684 { yyLOCAL = &PartitionDefinition{Name: yyDollar[2].colIdent} } yyVAL.union = yyLOCAL case 676: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3689 +//line sql.y:3690 { yyVAL.str = "" } case 677: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3693 +//line sql.y:3694 { yyVAL.str = "" } case 678: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3699 +//line sql.y:3700 { yyLOCAL = &RenameTable{TablePairs: yyDollar[3].renameTablePairsUnion()} } @@ -13219,14 +13102,14 @@ yydefault: case 679: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*RenameTablePair -//line sql.y:3705 +//line sql.y:3706 { yyLOCAL = []*RenameTablePair{{FromTable: yyDollar[1].tableName, ToTable: yyDollar[3].tableName}} } yyVAL.union = yyLOCAL case 680: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3709 +//line sql.y:3710 { yySLICE := (*[]*RenameTablePair)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, &RenameTablePair{FromTable: yyDollar[3].tableName, ToTable: yyDollar[5].tableName}) @@ -13234,7 +13117,7 @@ yydefault: case 681: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3715 +//line sql.y:3716 { yyLOCAL = &DropTable{FromTables: yyDollar[6].tableNamesUnion(), IfExists: yyDollar[5].booleanUnion(), Comments: Comments(yyDollar[2].strs).Parsed(), Temp: yyDollar[3].booleanUnion()} } @@ -13242,7 +13125,7 @@ yydefault: case 682: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3719 +//line sql.y:3720 { // Change this to an alter statement if yyDollar[4].colIdent.Lowered() == "primary" { @@ -13255,7 +13138,7 @@ yydefault: case 683: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3728 +//line sql.y:3729 { yyLOCAL = &DropView{FromTables: yyDollar[5].tableNamesUnion(), Comments: Comments(yyDollar[2].strs).Parsed(), IfExists: yyDollar[4].booleanUnion()} } @@ -13263,7 +13146,7 @@ yydefault: case 684: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3732 +//line sql.y:3733 { yyLOCAL = &DropDatabase{Comments: Comments(yyDollar[2].strs).Parsed(), DBName: yyDollar[5].tableIdent, IfExists: yyDollar[4].booleanUnion()} } @@ -13271,7 +13154,7 @@ yydefault: case 685: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3738 +//line sql.y:3739 { yyLOCAL = &TruncateTable{Table: yyDollar[3].tableName} } @@ -13279,7 +13162,7 @@ yydefault: case 686: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3742 +//line sql.y:3743 { yyLOCAL = &TruncateTable{Table: yyDollar[2].tableName} } @@ -13287,7 +13170,7 @@ yydefault: case 687: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3748 +//line sql.y:3749 { yyLOCAL = &OtherRead{} } @@ -13295,7 +13178,7 @@ yydefault: case 688: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3754 +//line sql.y:3755 { yyLOCAL = &Show{&ShowBasic{Command: Charset, Filter: yyDollar[3].showFilterUnion()}} } @@ -13303,7 +13186,7 @@ yydefault: case 689: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3758 +//line sql.y:3759 { yyLOCAL = &Show{&ShowBasic{Command: Collation, Filter: yyDollar[3].showFilterUnion()}} } @@ -13311,7 +13194,7 @@ yydefault: case 690: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3762 +//line sql.y:3763 { yyLOCAL = &Show{&ShowBasic{Full: yyDollar[2].booleanUnion(), Command: Column, Tbl: yyDollar[5].tableName, DbName: yyDollar[6].tableIdent, Filter: yyDollar[7].showFilterUnion()}} } @@ -13319,7 +13202,7 @@ yydefault: case 691: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3766 +//line sql.y:3767 { yyLOCAL = &Show{&ShowBasic{Command: Database, Filter: yyDollar[3].showFilterUnion()}} } @@ -13327,7 +13210,7 @@ yydefault: case 692: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3770 +//line sql.y:3771 { yyLOCAL = &Show{&ShowBasic{Command: Database, Filter: yyDollar[3].showFilterUnion()}} } @@ -13335,7 +13218,7 @@ yydefault: case 693: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3774 +//line sql.y:3775 { yyLOCAL = &Show{&ShowBasic{Command: Keyspace, Filter: yyDollar[3].showFilterUnion()}} } @@ -13343,7 +13226,7 @@ yydefault: case 694: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3778 +//line sql.y:3779 { yyLOCAL = &Show{&ShowBasic{Command: Keyspace, Filter: yyDollar[3].showFilterUnion()}} } @@ -13351,7 +13234,7 @@ yydefault: case 695: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3782 +//line sql.y:3783 { yyLOCAL = &Show{&ShowBasic{Command: Function, Filter: yyDollar[4].showFilterUnion()}} } @@ -13359,7 +13242,7 @@ yydefault: case 696: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3786 +//line sql.y:3787 { yyLOCAL = &Show{&ShowBasic{Command: Index, Tbl: yyDollar[5].tableName, DbName: yyDollar[6].tableIdent, Filter: yyDollar[7].showFilterUnion()}} } @@ -13367,7 +13250,7 @@ yydefault: case 697: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3790 +//line sql.y:3791 { yyLOCAL = &Show{&ShowBasic{Command: OpenTable, DbName: yyDollar[4].tableIdent, Filter: yyDollar[5].showFilterUnion()}} } @@ -13375,7 +13258,7 @@ yydefault: case 698: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3794 +//line sql.y:3795 { yyLOCAL = &Show{&ShowBasic{Command: Privilege}} } @@ -13383,7 +13266,7 @@ yydefault: case 699: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3798 +//line sql.y:3799 { yyLOCAL = &Show{&ShowBasic{Command: Procedure, Filter: yyDollar[4].showFilterUnion()}} } @@ -13391,7 +13274,7 @@ yydefault: case 700: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3802 +//line sql.y:3803 { yyLOCAL = &Show{&ShowBasic{Command: StatusSession, Filter: yyDollar[4].showFilterUnion()}} } @@ -13399,7 +13282,7 @@ yydefault: case 701: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3806 +//line sql.y:3807 { yyLOCAL = &Show{&ShowBasic{Command: StatusGlobal, Filter: yyDollar[4].showFilterUnion()}} } @@ -13407,7 +13290,7 @@ yydefault: case 702: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3810 +//line sql.y:3811 { yyLOCAL = &Show{&ShowBasic{Command: VariableSession, Filter: yyDollar[4].showFilterUnion()}} } @@ -13415,7 +13298,7 @@ yydefault: case 703: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3814 +//line sql.y:3815 { yyLOCAL = &Show{&ShowBasic{Command: VariableGlobal, Filter: yyDollar[4].showFilterUnion()}} } @@ -13423,7 +13306,7 @@ yydefault: case 704: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3818 +//line sql.y:3819 { yyLOCAL = &Show{&ShowBasic{Command: TableStatus, DbName: yyDollar[4].tableIdent, Filter: yyDollar[5].showFilterUnion()}} } @@ -13431,7 +13314,7 @@ yydefault: case 705: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3822 +//line sql.y:3823 { yyLOCAL = &Show{&ShowBasic{Command: Table, Full: yyDollar[2].booleanUnion(), DbName: yyDollar[4].tableIdent, Filter: yyDollar[5].showFilterUnion()}} } @@ -13439,7 +13322,7 @@ yydefault: case 706: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3826 +//line sql.y:3827 { yyLOCAL = &Show{&ShowBasic{Command: Trigger, DbName: yyDollar[3].tableIdent, Filter: yyDollar[4].showFilterUnion()}} } @@ -13447,7 +13330,7 @@ yydefault: case 707: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3830 +//line sql.y:3831 { yyLOCAL = &Show{&ShowCreate{Command: CreateDb, Op: yyDollar[4].tableName}} } @@ -13455,7 +13338,7 @@ yydefault: case 708: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3834 +//line sql.y:3835 { yyLOCAL = &Show{&ShowCreate{Command: CreateE, Op: yyDollar[4].tableName}} } @@ -13463,7 +13346,7 @@ yydefault: case 709: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3838 +//line sql.y:3839 { yyLOCAL = &Show{&ShowCreate{Command: CreateF, Op: yyDollar[4].tableName}} } @@ -13471,7 +13354,7 @@ yydefault: case 710: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3842 +//line sql.y:3843 { yyLOCAL = &Show{&ShowCreate{Command: CreateProc, Op: yyDollar[4].tableName}} } @@ -13479,7 +13362,7 @@ yydefault: case 711: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3846 +//line sql.y:3847 { yyLOCAL = &Show{&ShowCreate{Command: CreateTbl, Op: yyDollar[4].tableName}} } @@ -13487,7 +13370,7 @@ yydefault: case 712: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3850 +//line sql.y:3851 { yyLOCAL = &Show{&ShowCreate{Command: CreateTr, Op: yyDollar[4].tableName}} } @@ -13495,7 +13378,7 @@ yydefault: case 713: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3854 +//line sql.y:3855 { yyLOCAL = &Show{&ShowCreate{Command: CreateV, Op: yyDollar[4].tableName}} } @@ -13503,7 +13386,7 @@ yydefault: case 714: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3858 +//line sql.y:3859 { yyLOCAL = &Show{&ShowBasic{Command: Engines}} } @@ -13511,7 +13394,7 @@ yydefault: case 715: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3862 +//line sql.y:3863 { yyLOCAL = &Show{&ShowBasic{Command: Plugins}} } @@ -13519,7 +13402,7 @@ yydefault: case 716: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3866 +//line sql.y:3867 { yyLOCAL = &Show{&ShowBasic{Command: GtidExecGlobal, DbName: yyDollar[4].tableIdent}} } @@ -13527,7 +13410,7 @@ yydefault: case 717: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3870 +//line sql.y:3871 { yyLOCAL = &Show{&ShowBasic{Command: VGtidExecGlobal, DbName: yyDollar[4].tableIdent}} } @@ -13535,7 +13418,7 @@ yydefault: case 718: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3874 +//line sql.y:3875 { yyLOCAL = &Show{&ShowBasic{Command: VitessVariables, Filter: yyDollar[4].showFilterUnion()}} } @@ -13543,7 +13426,7 @@ yydefault: case 719: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3878 +//line sql.y:3879 { yyLOCAL = &Show{&ShowBasic{Command: VitessMigrations, Filter: yyDollar[4].showFilterUnion(), DbName: yyDollar[3].tableIdent}} } @@ -13551,7 +13434,7 @@ yydefault: case 720: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3882 +//line sql.y:3883 { yyLOCAL = &ShowMigrationLogs{UUID: string(yyDollar[3].str)} } @@ -13559,7 +13442,7 @@ yydefault: case 721: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3886 +//line sql.y:3887 { yyLOCAL = &ShowThrottledApps{} } @@ -13567,7 +13450,7 @@ yydefault: case 722: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3890 +//line sql.y:3891 { yyLOCAL = &Show{&ShowBasic{Command: VitessReplicationStatus, Filter: yyDollar[3].showFilterUnion()}} } @@ -13575,7 +13458,7 @@ yydefault: case 723: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3894 +//line sql.y:3895 { yyLOCAL = &Show{&ShowBasic{Command: VschemaTables}} } @@ -13583,7 +13466,7 @@ yydefault: case 724: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3898 +//line sql.y:3899 { yyLOCAL = &Show{&ShowBasic{Command: VschemaVindexes}} } @@ -13591,7 +13474,7 @@ yydefault: case 725: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3902 +//line sql.y:3903 { yyLOCAL = &Show{&ShowBasic{Command: VschemaVindexes, Tbl: yyDollar[5].tableName}} } @@ -13599,7 +13482,7 @@ yydefault: case 726: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3906 +//line sql.y:3907 { yyLOCAL = &Show{&ShowBasic{Command: Warnings}} } @@ -13607,7 +13490,7 @@ yydefault: case 727: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3910 +//line sql.y:3911 { yyLOCAL = &Show{&ShowBasic{Command: VitessShards, Filter: yyDollar[3].showFilterUnion()}} } @@ -13615,7 +13498,7 @@ yydefault: case 728: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3914 +//line sql.y:3915 { yyLOCAL = &Show{&ShowBasic{Command: VitessTablets, Filter: yyDollar[3].showFilterUnion()}} } @@ -13623,7 +13506,7 @@ yydefault: case 729: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3918 +//line sql.y:3919 { yyLOCAL = &Show{&ShowBasic{Command: VitessTarget}} } @@ -13631,7 +13514,7 @@ yydefault: case 730: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3925 +//line sql.y:3926 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].colIdent.String())}} } @@ -13639,7 +13522,7 @@ yydefault: case 731: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3929 +//line sql.y:3930 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str)}} } @@ -13647,7 +13530,7 @@ yydefault: case 732: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3933 +//line sql.y:3934 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + yyDollar[3].colIdent.String()}} } @@ -13655,7 +13538,7 @@ yydefault: case 733: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3937 +//line sql.y:3938 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str)}} } @@ -13663,7 +13546,7 @@ yydefault: case 734: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3941 +//line sql.y:3942 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str)}} } @@ -13671,7 +13554,7 @@ yydefault: case 735: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3945 +//line sql.y:3946 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str) + " " + String(yyDollar[4].tableName)}} } @@ -13679,7 +13562,7 @@ yydefault: case 736: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3949 +//line sql.y:3950 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str) + " " + String(yyDollar[4].tableName)}} } @@ -13687,7 +13570,7 @@ yydefault: case 737: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3953 +//line sql.y:3954 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[3].str)}} } @@ -13695,27 +13578,27 @@ yydefault: case 738: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3957 +//line sql.y:3958 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str)}} } yyVAL.union = yyLOCAL case 739: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3963 +//line sql.y:3964 { yyVAL.str = "" } case 740: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3967 +//line sql.y:3968 { yyVAL.str = "extended " } case 741: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3973 +//line sql.y:3974 { yyLOCAL = false } @@ -13723,45 +13606,45 @@ yydefault: case 742: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3977 +//line sql.y:3978 { yyLOCAL = true } yyVAL.union = yyLOCAL case 743: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3983 +//line sql.y:3984 { yyVAL.str = string(yyDollar[1].str) } case 744: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3987 +//line sql.y:3988 { yyVAL.str = string(yyDollar[1].str) } case 745: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3993 +//line sql.y:3994 { yyVAL.tableIdent = NewTableIdent("") } case 746: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3997 +//line sql.y:3998 { yyVAL.tableIdent = yyDollar[2].tableIdent } case 747: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4001 +//line sql.y:4002 { yyVAL.tableIdent = yyDollar[2].tableIdent } case 748: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:4007 +//line sql.y:4008 { yyLOCAL = nil } @@ -13769,7 +13652,7 @@ yydefault: case 749: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:4011 +//line sql.y:4012 { yyLOCAL = &ShowFilter{Like: string(yyDollar[2].str)} } @@ -13777,7 +13660,7 @@ yydefault: case 750: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:4015 +//line sql.y:4016 { yyLOCAL = &ShowFilter{Filter: yyDollar[2].exprUnion()} } @@ -13785,7 +13668,7 @@ yydefault: case 751: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:4021 +//line sql.y:4022 { yyLOCAL = nil } @@ -13793,45 +13676,45 @@ yydefault: case 752: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:4025 +//line sql.y:4026 { yyLOCAL = &ShowFilter{Like: string(yyDollar[2].str)} } yyVAL.union = yyLOCAL case 753: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4031 +//line sql.y:4032 { yyVAL.empty = struct{}{} } case 754: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4035 +//line sql.y:4036 { yyVAL.empty = struct{}{} } case 755: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4039 +//line sql.y:4040 { yyVAL.empty = struct{}{} } case 756: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4045 +//line sql.y:4046 { yyVAL.str = string(yyDollar[1].str) } case 757: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4049 +//line sql.y:4050 { yyVAL.str = string(yyDollar[1].str) } case 758: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4055 +//line sql.y:4056 { yyLOCAL = &Use{DBName: yyDollar[2].tableIdent} } @@ -13839,7 +13722,7 @@ yydefault: case 759: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4059 +//line sql.y:4060 { yyLOCAL = &Use{DBName: TableIdent{v: ""}} } @@ -13847,7 +13730,7 @@ yydefault: case 760: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4063 +//line sql.y:4064 { yyLOCAL = &Use{DBName: NewTableIdent(yyDollar[2].tableIdent.String() + "@" + string(yyDollar[3].str))} } @@ -13855,7 +13738,7 @@ yydefault: case 761: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4069 +//line sql.y:4070 { yyLOCAL = &Begin{} } @@ -13863,7 +13746,7 @@ yydefault: case 762: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4073 +//line sql.y:4074 { yyLOCAL = &Begin{} } @@ -13871,7 +13754,7 @@ yydefault: case 763: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4079 +//line sql.y:4080 { yyLOCAL = &Commit{} } @@ -13879,7 +13762,7 @@ yydefault: case 764: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4085 +//line sql.y:4086 { yyLOCAL = &Rollback{} } @@ -13887,39 +13770,39 @@ yydefault: case 765: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:4089 +//line sql.y:4090 { yyLOCAL = &SRollback{Name: yyDollar[5].colIdent} } yyVAL.union = yyLOCAL case 766: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4094 +//line sql.y:4095 { yyVAL.empty = struct{}{} } case 767: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4096 +//line sql.y:4097 { yyVAL.empty = struct{}{} } case 768: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4099 +//line sql.y:4100 { yyVAL.empty = struct{}{} } case 769: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4101 +//line sql.y:4102 { yyVAL.empty = struct{}{} } case 770: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4105 +//line sql.y:4106 { yyLOCAL = &Savepoint{Name: yyDollar[2].colIdent} } @@ -13927,7 +13810,7 @@ yydefault: case 771: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4111 +//line sql.y:4112 { yyLOCAL = &Release{Name: yyDollar[3].colIdent} } @@ -13935,7 +13818,7 @@ yydefault: case 772: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4116 +//line sql.y:4117 { yyLOCAL = EmptyType } @@ -13943,7 +13826,7 @@ yydefault: case 773: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4120 +//line sql.y:4121 { yyLOCAL = JSONType } @@ -13951,7 +13834,7 @@ yydefault: case 774: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4124 +//line sql.y:4125 { yyLOCAL = TreeType } @@ -13959,7 +13842,7 @@ yydefault: case 775: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4128 +//line sql.y:4129 { yyLOCAL = VitessType } @@ -13967,7 +13850,7 @@ yydefault: case 776: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4132 +//line sql.y:4133 { yyLOCAL = TraditionalType } @@ -13975,33 +13858,33 @@ yydefault: case 777: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4136 +//line sql.y:4137 { yyLOCAL = AnalyzeType } yyVAL.union = yyLOCAL case 778: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4142 +//line sql.y:4143 { yyVAL.str = yyDollar[1].str } case 779: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4146 +//line sql.y:4147 { yyVAL.str = yyDollar[1].str } case 780: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4150 +//line sql.y:4151 { yyVAL.str = yyDollar[1].str } case 781: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4156 +//line sql.y:4157 { yyLOCAL = yyDollar[1].selStmtUnion() } @@ -14009,7 +13892,7 @@ yydefault: case 782: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4160 +//line sql.y:4161 { yyLOCAL = yyDollar[1].statementUnion() } @@ -14017,7 +13900,7 @@ yydefault: case 783: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4164 +//line sql.y:4165 { yyLOCAL = yyDollar[1].statementUnion() } @@ -14025,33 +13908,33 @@ yydefault: case 784: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4168 +//line sql.y:4169 { yyLOCAL = yyDollar[1].statementUnion() } yyVAL.union = yyLOCAL case 785: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4173 +//line sql.y:4174 { yyVAL.str = "" } case 786: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4177 +//line sql.y:4178 { yyVAL.str = yyDollar[1].colIdent.val } case 787: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4181 +//line sql.y:4182 { yyVAL.str = encodeSQLString(yyDollar[1].str) } case 788: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4187 +//line sql.y:4188 { yyLOCAL = &ExplainTab{Table: yyDollar[2].tableName, Wild: yyDollar[3].str} } @@ -14059,7 +13942,7 @@ yydefault: case 789: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4191 +//line sql.y:4192 { yyLOCAL = &ExplainStmt{Type: yyDollar[2].explainTypeUnion(), Statement: yyDollar[3].statementUnion()} } @@ -14067,7 +13950,7 @@ yydefault: case 790: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4197 +//line sql.y:4198 { yyLOCAL = &OtherAdmin{} } @@ -14075,7 +13958,7 @@ yydefault: case 791: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4201 +//line sql.y:4202 { yyLOCAL = &OtherAdmin{} } @@ -14083,7 +13966,7 @@ yydefault: case 792: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4207 +//line sql.y:4208 { yyLOCAL = &LockTables{Tables: yyDollar[3].tableAndLockTypesUnion()} } @@ -14091,14 +13974,14 @@ yydefault: case 793: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableAndLockTypes -//line sql.y:4213 +//line sql.y:4214 { yyLOCAL = TableAndLockTypes{yyDollar[1].tableAndLockTypeUnion()} } yyVAL.union = yyLOCAL case 794: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4217 +//line sql.y:4218 { yySLICE := (*TableAndLockTypes)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableAndLockTypeUnion()) @@ -14106,7 +13989,7 @@ yydefault: case 795: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *TableAndLockType -//line sql.y:4223 +//line sql.y:4224 { yyLOCAL = &TableAndLockType{Table: yyDollar[1].aliasedTableNameUnion(), Lock: yyDollar[2].lockTypeUnion()} } @@ -14114,7 +13997,7 @@ yydefault: case 796: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL LockType -//line sql.y:4229 +//line sql.y:4230 { yyLOCAL = Read } @@ -14122,7 +14005,7 @@ yydefault: case 797: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL LockType -//line sql.y:4233 +//line sql.y:4234 { yyLOCAL = ReadLocal } @@ -14130,7 +14013,7 @@ yydefault: case 798: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL LockType -//line sql.y:4237 +//line sql.y:4238 { yyLOCAL = Write } @@ -14138,7 +14021,7 @@ yydefault: case 799: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL LockType -//line sql.y:4241 +//line sql.y:4242 { yyLOCAL = LowPriorityWrite } @@ -14146,7 +14029,7 @@ yydefault: case 800: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4247 +//line sql.y:4248 { yyLOCAL = &UnlockTables{} } @@ -14154,7 +14037,7 @@ yydefault: case 801: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4253 +//line sql.y:4254 { yyLOCAL = &RevertMigration{Comments: Comments(yyDollar[2].strs).Parsed(), UUID: string(yyDollar[4].str)} } @@ -14162,7 +14045,7 @@ yydefault: case 802: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4259 +//line sql.y:4260 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), FlushOptions: yyDollar[3].strs} } @@ -14170,7 +14053,7 @@ yydefault: case 803: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4263 +//line sql.y:4264 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion()} } @@ -14178,7 +14061,7 @@ yydefault: case 804: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:4267 +//line sql.y:4268 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), WithLock: true} } @@ -14186,7 +14069,7 @@ yydefault: case 805: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4271 +//line sql.y:4272 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion()} } @@ -14194,7 +14077,7 @@ yydefault: case 806: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:4275 +//line sql.y:4276 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion(), WithLock: true} } @@ -14202,99 +14085,99 @@ yydefault: case 807: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:4279 +//line sql.y:4280 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion(), ForExport: true} } yyVAL.union = yyLOCAL case 808: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4285 +//line sql.y:4286 { yyVAL.strs = []string{yyDollar[1].str} } case 809: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4289 +//line sql.y:4290 { yyVAL.strs = append(yyDollar[1].strs, yyDollar[3].str) } case 810: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4295 +//line sql.y:4296 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 811: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4299 +//line sql.y:4300 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 812: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4303 +//line sql.y:4304 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 813: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4307 +//line sql.y:4308 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 814: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4311 +//line sql.y:4312 { yyVAL.str = string(yyDollar[1].str) } case 815: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4315 +//line sql.y:4316 { yyVAL.str = string(yyDollar[1].str) } case 816: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4319 +//line sql.y:4320 { yyVAL.str = string(yyDollar[1].str) } case 817: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4323 +//line sql.y:4324 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) + yyDollar[3].str } case 818: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4327 +//line sql.y:4328 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 819: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4331 +//line sql.y:4332 { yyVAL.str = string(yyDollar[1].str) } case 820: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4335 +//line sql.y:4336 { yyVAL.str = string(yyDollar[1].str) } case 821: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4339 +//line sql.y:4340 { yyVAL.str = string(yyDollar[1].str) } case 822: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:4344 +//line sql.y:4345 { yyLOCAL = false } @@ -14302,7 +14185,7 @@ yydefault: case 823: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4348 +//line sql.y:4349 { yyLOCAL = true } @@ -14310,52 +14193,52 @@ yydefault: case 824: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4352 +//line sql.y:4353 { yyLOCAL = true } yyVAL.union = yyLOCAL case 825: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4357 +//line sql.y:4358 { yyVAL.str = "" } case 826: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4361 +//line sql.y:4362 { yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str) + " " + yyDollar[3].colIdent.String() } case 827: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4366 +//line sql.y:4367 { setAllowComments(yylex, true) } case 828: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4370 +//line sql.y:4371 { yyVAL.strs = yyDollar[2].strs setAllowComments(yylex, false) } case 829: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4376 +//line sql.y:4377 { yyVAL.strs = nil } case 830: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4380 +//line sql.y:4381 { yyVAL.strs = append(yyDollar[1].strs, yyDollar[2].str) } case 831: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4386 +//line sql.y:4387 { yyLOCAL = true } @@ -14363,7 +14246,7 @@ yydefault: case 832: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:4390 +//line sql.y:4391 { yyLOCAL = false } @@ -14371,33 +14254,33 @@ yydefault: case 833: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:4394 +//line sql.y:4395 { yyLOCAL = true } yyVAL.union = yyLOCAL case 834: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4399 +//line sql.y:4400 { yyVAL.str = "" } case 835: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4403 +//line sql.y:4404 { yyVAL.str = SQLNoCacheStr } case 836: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4407 +//line sql.y:4408 { yyVAL.str = SQLCacheStr } case 837: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:4412 +//line sql.y:4413 { yyLOCAL = false } @@ -14405,7 +14288,7 @@ yydefault: case 838: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4416 +//line sql.y:4417 { yyLOCAL = true } @@ -14413,7 +14296,7 @@ yydefault: case 839: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4420 +//line sql.y:4421 { yyLOCAL = true } @@ -14421,7 +14304,7 @@ yydefault: case 840: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:4426 +//line sql.y:4427 { yyLOCAL = &PrepareStmt{Name: yyDollar[3].colIdent, Comments: Comments(yyDollar[2].strs).Parsed(), Statement: yyDollar[5].exprUnion()} } @@ -14429,7 +14312,7 @@ yydefault: case 841: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:4430 +//line sql.y:4431 { yyLOCAL = &PrepareStmt{ Name: yyDollar[3].colIdent, @@ -14443,7 +14326,7 @@ yydefault: case 842: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4442 +//line sql.y:4443 { yyLOCAL = &ExecuteStmt{Name: yyDollar[3].colIdent, Comments: Comments(yyDollar[2].strs).Parsed(), Arguments: yyDollar[4].columnsUnion()} } @@ -14451,7 +14334,7 @@ yydefault: case 843: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Columns -//line sql.y:4447 +//line sql.y:4448 { yyLOCAL = nil } @@ -14459,7 +14342,7 @@ yydefault: case 844: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Columns -//line sql.y:4451 +//line sql.y:4452 { yyLOCAL = yyDollar[2].columnsUnion() } @@ -14467,7 +14350,7 @@ yydefault: case 845: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4457 +//line sql.y:4458 { yyLOCAL = &DeallocateStmt{Type: DeallocateType, Comments: Comments(yyDollar[2].strs).Parsed(), Name: yyDollar[4].colIdent} } @@ -14475,7 +14358,7 @@ yydefault: case 846: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4461 +//line sql.y:4462 { yyLOCAL = &DeallocateStmt{Type: DropType, Comments: Comments(yyDollar[2].strs).Parsed(), Name: yyDollar[4].colIdent} } @@ -14483,7 +14366,7 @@ yydefault: case 847: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL SelectExprs -//line sql.y:4466 +//line sql.y:4467 { yyLOCAL = nil } @@ -14491,87 +14374,87 @@ yydefault: case 848: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectExprs -//line sql.y:4470 +//line sql.y:4471 { yyLOCAL = yyDollar[1].selectExprsUnion() } yyVAL.union = yyLOCAL case 849: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4475 +//line sql.y:4476 { yyVAL.strs = nil } case 850: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4479 +//line sql.y:4480 { yyVAL.strs = []string{yyDollar[1].str} } case 851: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4483 +//line sql.y:4484 { // TODO: This is a hack since I couldn't get it to work in a nicer way. I got 'conflicts: 8 shift/reduce' yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str} } case 852: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4487 +//line sql.y:4488 { yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str, yyDollar[3].str} } case 853: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4491 +//line sql.y:4492 { yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str, yyDollar[3].str, yyDollar[4].str} } case 854: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4497 +//line sql.y:4498 { yyVAL.str = SQLNoCacheStr } case 855: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4501 +//line sql.y:4502 { yyVAL.str = SQLCacheStr } case 856: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4505 +//line sql.y:4506 { yyVAL.str = DistinctStr } case 857: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4509 +//line sql.y:4510 { yyVAL.str = DistinctStr } case 858: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4513 +//line sql.y:4514 { yyVAL.str = StraightJoinHint } case 859: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4517 +//line sql.y:4518 { yyVAL.str = SQLCalcFoundRowsStr } case 860: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4521 +//line sql.y:4522 { 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 } case 861: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL StarExpr -//line sql.y:4527 +//line sql.y:4528 { yyLOCAL = StarExpr{} } @@ -14579,14 +14462,14 @@ yydefault: case 862: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectExprs -//line sql.y:4533 +//line sql.y:4534 { yyLOCAL = SelectExprs{yyDollar[1].selectExprUnion()} } yyVAL.union = yyLOCAL case 863: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4537 +//line sql.y:4538 { yySLICE := (*SelectExprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].selectExprUnion()) @@ -14594,7 +14477,7 @@ yydefault: case 864: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectExpr -//line sql.y:4543 +//line sql.y:4544 { yyLOCAL = &StarExpr{} } @@ -14602,7 +14485,7 @@ yydefault: case 865: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectExpr -//line sql.y:4547 +//line sql.y:4548 { yyLOCAL = &AliasedExpr{Expr: yyDollar[1].exprUnion(), As: yyDollar[2].colIdent} } @@ -14610,7 +14493,7 @@ yydefault: case 866: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectExpr -//line sql.y:4551 +//line sql.y:4552 { yyLOCAL = &StarExpr{TableName: TableName{Name: yyDollar[1].tableIdent}} } @@ -14618,39 +14501,39 @@ yydefault: case 867: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL SelectExpr -//line sql.y:4555 +//line sql.y:4556 { yyLOCAL = &StarExpr{TableName: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}} } yyVAL.union = yyLOCAL case 868: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4560 +//line sql.y:4561 { yyVAL.colIdent = ColIdent{} } case 869: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4564 +//line sql.y:4565 { yyVAL.colIdent = yyDollar[1].colIdent } case 870: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4568 +//line sql.y:4569 { yyVAL.colIdent = yyDollar[2].colIdent } case 872: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4575 +//line sql.y:4576 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].str)) } case 873: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL TableExprs -//line sql.y:4580 +//line sql.y:4581 { yyLOCAL = TableExprs{&AliasedTableExpr{Expr: TableName{Name: NewTableIdent("dual")}}} } @@ -14658,7 +14541,7 @@ yydefault: case 874: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableExprs -//line sql.y:4584 +//line sql.y:4585 { yyLOCAL = yyDollar[1].tableExprsUnion() } @@ -14666,7 +14549,7 @@ yydefault: case 875: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL TableExprs -//line sql.y:4590 +//line sql.y:4591 { yyLOCAL = yyDollar[2].tableExprsUnion() } @@ -14674,14 +14557,14 @@ yydefault: case 876: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableExprs -//line sql.y:4596 +//line sql.y:4597 { yyLOCAL = TableExprs{yyDollar[1].tableExprUnion()} } yyVAL.union = yyLOCAL case 877: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4600 +//line sql.y:4601 { yySLICE := (*TableExprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableExprUnion()) @@ -14689,7 +14572,7 @@ yydefault: case 880: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4610 +//line sql.y:4611 { yyLOCAL = yyDollar[1].aliasedTableNameUnion() } @@ -14697,7 +14580,7 @@ yydefault: case 881: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4614 +//line sql.y:4615 { yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].derivedTableUnion(), As: yyDollar[3].tableIdent, Columns: yyDollar[4].columnsUnion()} } @@ -14705,7 +14588,7 @@ yydefault: case 882: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4618 +//line sql.y:4619 { yyLOCAL = &ParenTableExpr{Exprs: yyDollar[2].tableExprsUnion()} } @@ -14713,7 +14596,7 @@ yydefault: case 883: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4622 +//line sql.y:4623 { yyLOCAL = yyDollar[1].tableExprUnion() } @@ -14721,7 +14604,7 @@ yydefault: case 884: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *DerivedTable -//line sql.y:4628 +//line sql.y:4629 { yyLOCAL = &DerivedTable{Lateral: false, Select: yyDollar[2].selStmtUnion()} } @@ -14729,7 +14612,7 @@ yydefault: case 885: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *DerivedTable -//line sql.y:4632 +//line sql.y:4633 { yyLOCAL = &DerivedTable{Lateral: true, Select: yyDollar[3].selStmtUnion()} } @@ -14737,7 +14620,7 @@ yydefault: case 886: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *AliasedTableExpr -//line sql.y:4638 +//line sql.y:4639 { yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].tableName, As: yyDollar[2].tableIdent, Hints: yyDollar[3].indexHintsUnion()} } @@ -14745,7 +14628,7 @@ yydefault: case 887: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *AliasedTableExpr -//line sql.y:4642 +//line sql.y:4643 { yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].tableName, Partitions: yyDollar[4].partitionsUnion(), As: yyDollar[6].tableIdent, Hints: yyDollar[7].indexHintsUnion()} } @@ -14753,7 +14636,7 @@ yydefault: case 888: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Columns -//line sql.y:4647 +//line sql.y:4648 { yyLOCAL = nil } @@ -14761,7 +14644,7 @@ yydefault: case 889: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Columns -//line sql.y:4651 +//line sql.y:4652 { yyLOCAL = yyDollar[2].columnsUnion() } @@ -14769,14 +14652,14 @@ yydefault: case 890: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:4657 +//line sql.y:4658 { yyLOCAL = Columns{yyDollar[1].colIdent} } yyVAL.union = yyLOCAL case 891: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4661 +//line sql.y:4662 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].colIdent) @@ -14784,14 +14667,14 @@ yydefault: case 892: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:4667 +//line sql.y:4668 { yyLOCAL = Columns{NewColIdentWithAt(string(yyDollar[1].str), SingleAt)} } yyVAL.union = yyLOCAL case 893: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4671 +//line sql.y:4672 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, NewColIdentWithAt(string(yyDollar[3].str), SingleAt)) @@ -14799,7 +14682,7 @@ yydefault: case 894: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:4677 +//line sql.y:4678 { yyLOCAL = Columns{yyDollar[1].colIdent} } @@ -14807,21 +14690,21 @@ yydefault: case 895: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:4681 +//line sql.y:4682 { yyLOCAL = Columns{NewColIdent(string(yyDollar[1].str))} } yyVAL.union = yyLOCAL case 896: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4685 +//line sql.y:4686 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].colIdent) } case 897: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4689 +//line sql.y:4690 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, NewColIdent(string(yyDollar[3].str))) @@ -14829,14 +14712,14 @@ yydefault: case 898: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Partitions -//line sql.y:4695 +//line sql.y:4696 { yyLOCAL = Partitions{yyDollar[1].colIdent} } yyVAL.union = yyLOCAL case 899: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4699 +//line sql.y:4700 { yySLICE := (*Partitions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].colIdent) @@ -14844,7 +14727,7 @@ yydefault: case 900: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4712 +//line sql.y:4713 { yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition} } @@ -14852,7 +14735,7 @@ yydefault: case 901: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4716 +//line sql.y:4717 { yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition} } @@ -14860,7 +14743,7 @@ yydefault: case 902: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4720 +//line sql.y:4721 { yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition} } @@ -14868,87 +14751,87 @@ yydefault: case 903: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4724 +//line sql.y:4725 { yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion()} } yyVAL.union = yyLOCAL case 904: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4730 +//line sql.y:4731 { yyVAL.joinCondition = &JoinCondition{On: yyDollar[2].exprUnion()} } case 905: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4732 +//line sql.y:4733 { yyVAL.joinCondition = &JoinCondition{Using: yyDollar[3].columnsUnion()} } case 906: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4736 +//line sql.y:4737 { yyVAL.joinCondition = &JoinCondition{} } case 907: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4738 +//line sql.y:4739 { yyVAL.joinCondition = yyDollar[1].joinCondition } case 908: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4742 +//line sql.y:4743 { yyVAL.joinCondition = &JoinCondition{} } case 909: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4744 +//line sql.y:4745 { yyVAL.joinCondition = &JoinCondition{On: yyDollar[2].exprUnion()} } case 910: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4747 +//line sql.y:4748 { yyVAL.empty = struct{}{} } case 911: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4749 +//line sql.y:4750 { yyVAL.empty = struct{}{} } case 912: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4752 +//line sql.y:4753 { yyVAL.tableIdent = NewTableIdent("") } case 913: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4756 +//line sql.y:4757 { yyVAL.tableIdent = yyDollar[1].tableIdent } case 914: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4760 +//line sql.y:4761 { yyVAL.tableIdent = yyDollar[2].tableIdent } case 916: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4767 +//line sql.y:4768 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].str)) } case 917: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL JoinType -//line sql.y:4773 +//line sql.y:4774 { yyLOCAL = NormalJoinType } @@ -14956,7 +14839,7 @@ yydefault: case 918: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4777 +//line sql.y:4778 { yyLOCAL = NormalJoinType } @@ -14964,7 +14847,7 @@ yydefault: case 919: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4781 +//line sql.y:4782 { yyLOCAL = NormalJoinType } @@ -14972,7 +14855,7 @@ yydefault: case 920: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL JoinType -//line sql.y:4787 +//line sql.y:4788 { yyLOCAL = StraightJoinType } @@ -14980,7 +14863,7 @@ yydefault: case 921: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4793 +//line sql.y:4794 { yyLOCAL = LeftJoinType } @@ -14988,7 +14871,7 @@ yydefault: case 922: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL JoinType -//line sql.y:4797 +//line sql.y:4798 { yyLOCAL = LeftJoinType } @@ -14996,7 +14879,7 @@ yydefault: case 923: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4801 +//line sql.y:4802 { yyLOCAL = RightJoinType } @@ -15004,7 +14887,7 @@ yydefault: case 924: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL JoinType -//line sql.y:4805 +//line sql.y:4806 { yyLOCAL = RightJoinType } @@ -15012,7 +14895,7 @@ yydefault: case 925: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4811 +//line sql.y:4812 { yyLOCAL = NaturalJoinType } @@ -15020,7 +14903,7 @@ yydefault: case 926: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4815 +//line sql.y:4816 { if yyDollar[2].joinTypeUnion() == LeftJoinType { yyLOCAL = NaturalLeftJoinType @@ -15031,38 +14914,38 @@ yydefault: yyVAL.union = yyLOCAL case 927: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4825 +//line sql.y:4826 { yyVAL.tableName = yyDollar[2].tableName } case 928: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4829 +//line sql.y:4830 { yyVAL.tableName = yyDollar[1].tableName } case 929: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4835 +//line sql.y:4836 { yyVAL.tableName = TableName{Name: yyDollar[1].tableIdent} } case 930: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4839 +//line sql.y:4840 { yyVAL.tableName = TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent} } case 931: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4845 +//line sql.y:4846 { yyVAL.tableName = TableName{Name: yyDollar[1].tableIdent} } case 932: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL IndexHints -//line sql.y:4850 +//line sql.y:4851 { yyLOCAL = nil } @@ -15070,7 +14953,7 @@ yydefault: case 933: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IndexHints -//line sql.y:4854 +//line sql.y:4855 { yyLOCAL = yyDollar[1].indexHintsUnion() } @@ -15078,14 +14961,14 @@ yydefault: case 934: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IndexHints -//line sql.y:4860 +//line sql.y:4861 { yyLOCAL = IndexHints{yyDollar[1].indexHintUnion()} } yyVAL.union = yyLOCAL case 935: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4864 +//line sql.y:4865 { yySLICE := (*IndexHints)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].indexHintUnion()) @@ -15093,7 +14976,7 @@ yydefault: case 936: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *IndexHint -//line sql.y:4870 +//line sql.y:4871 { yyLOCAL = &IndexHint{Type: UseOp, ForType: yyDollar[3].indexHintForTypeUnion(), Indexes: yyDollar[5].columnsUnion()} } @@ -15101,7 +14984,7 @@ yydefault: case 937: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *IndexHint -//line sql.y:4874 +//line sql.y:4875 { yyLOCAL = &IndexHint{Type: UseOp, ForType: yyDollar[3].indexHintForTypeUnion()} } @@ -15109,7 +14992,7 @@ yydefault: case 938: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *IndexHint -//line sql.y:4878 +//line sql.y:4879 { yyLOCAL = &IndexHint{Type: IgnoreOp, ForType: yyDollar[3].indexHintForTypeUnion(), Indexes: yyDollar[5].columnsUnion()} } @@ -15117,7 +15000,7 @@ yydefault: case 939: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *IndexHint -//line sql.y:4882 +//line sql.y:4883 { yyLOCAL = &IndexHint{Type: ForceOp, ForType: yyDollar[3].indexHintForTypeUnion(), Indexes: yyDollar[5].columnsUnion()} } @@ -15125,7 +15008,7 @@ yydefault: case 940: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL IndexHintForType -//line sql.y:4887 +//line sql.y:4888 { yyLOCAL = NoForType } @@ -15133,7 +15016,7 @@ yydefault: case 941: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IndexHintForType -//line sql.y:4891 +//line sql.y:4892 { yyLOCAL = JoinForType } @@ -15141,7 +15024,7 @@ yydefault: case 942: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL IndexHintForType -//line sql.y:4895 +//line sql.y:4896 { yyLOCAL = OrderByForType } @@ -15149,7 +15032,7 @@ yydefault: case 943: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL IndexHintForType -//line sql.y:4899 +//line sql.y:4900 { yyLOCAL = GroupByForType } @@ -15157,7 +15040,7 @@ yydefault: case 944: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:4905 +//line sql.y:4906 { yyLOCAL = nil } @@ -15165,7 +15048,7 @@ yydefault: case 945: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:4909 +//line sql.y:4910 { yyLOCAL = yyDollar[2].exprUnion() } @@ -15173,7 +15056,7 @@ yydefault: case 946: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4916 +//line sql.y:4917 { yyLOCAL = &OrExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()} } @@ -15181,7 +15064,7 @@ yydefault: case 947: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4920 +//line sql.y:4921 { yyLOCAL = &XorExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()} } @@ -15189,7 +15072,7 @@ yydefault: case 948: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4924 +//line sql.y:4925 { yyLOCAL = &AndExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()} } @@ -15197,7 +15080,7 @@ yydefault: case 949: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:4928 +//line sql.y:4929 { yyLOCAL = &NotExpr{Expr: yyDollar[2].exprUnion()} } @@ -15205,7 +15088,7 @@ yydefault: case 950: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4932 +//line sql.y:4933 { yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].isExprOperatorUnion()} } @@ -15213,7 +15096,7 @@ yydefault: case 951: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:4936 +//line sql.y:4937 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15221,7 +15104,7 @@ yydefault: case 952: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:4940 +//line sql.y:4941 { yyLOCAL = &MemberOfExpr{Value: yyDollar[1].exprUnion(), JSONArr: yyDollar[5].exprUnion()} } @@ -15229,7 +15112,7 @@ yydefault: case 953: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4947 +//line sql.y:4948 { yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: IsNullOp} } @@ -15237,7 +15120,7 @@ yydefault: case 954: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:4951 +//line sql.y:4952 { yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: IsNotNullOp} } @@ -15245,7 +15128,7 @@ yydefault: case 955: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4955 +//line sql.y:4956 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: yyDollar[2].comparisonExprOperatorUnion(), Right: yyDollar[3].exprUnion()} } @@ -15253,7 +15136,7 @@ yydefault: case 956: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:4959 +//line sql.y:4960 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15261,7 +15144,7 @@ yydefault: case 957: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4965 +//line sql.y:4966 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: InOp, Right: yyDollar[3].colTupleUnion()} } @@ -15269,7 +15152,7 @@ yydefault: case 958: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:4969 +//line sql.y:4970 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotInOp, Right: yyDollar[4].colTupleUnion()} } @@ -15277,7 +15160,7 @@ yydefault: case 959: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:4973 +//line sql.y:4974 { yyLOCAL = &BetweenExpr{Left: yyDollar[1].exprUnion(), IsBetween: true, From: yyDollar[3].exprUnion(), To: yyDollar[5].exprUnion()} } @@ -15285,7 +15168,7 @@ yydefault: case 960: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:4977 +//line sql.y:4978 { yyLOCAL = &BetweenExpr{Left: yyDollar[1].exprUnion(), IsBetween: false, From: yyDollar[4].exprUnion(), To: yyDollar[6].exprUnion()} } @@ -15293,7 +15176,7 @@ yydefault: case 961: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4981 +//line sql.y:4982 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: LikeOp, Right: yyDollar[3].exprUnion()} } @@ -15301,7 +15184,7 @@ yydefault: case 962: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:4985 +//line sql.y:4986 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotLikeOp, Right: yyDollar[4].exprUnion()} } @@ -15309,7 +15192,7 @@ yydefault: case 963: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:4989 +//line sql.y:4990 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: LikeOp, Right: yyDollar[3].exprUnion(), Escape: yyDollar[5].exprUnion()} } @@ -15317,7 +15200,7 @@ yydefault: case 964: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:4993 +//line sql.y:4994 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotLikeOp, Right: yyDollar[4].exprUnion(), Escape: yyDollar[6].exprUnion()} } @@ -15325,7 +15208,7 @@ yydefault: case 965: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4997 +//line sql.y:4998 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: RegexpOp, Right: yyDollar[3].exprUnion()} } @@ -15333,7 +15216,7 @@ yydefault: case 966: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5001 +//line sql.y:5002 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotRegexpOp, Right: yyDollar[4].exprUnion()} } @@ -15341,7 +15224,7 @@ yydefault: case 967: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5005 +//line sql.y:5006 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15349,7 +15232,7 @@ yydefault: case 968: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5011 +//line sql.y:5012 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitOrOp, Right: yyDollar[3].exprUnion()} } @@ -15357,7 +15240,7 @@ yydefault: case 969: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5015 +//line sql.y:5016 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitAndOp, Right: yyDollar[3].exprUnion()} } @@ -15365,7 +15248,7 @@ yydefault: case 970: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5019 +//line sql.y:5020 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ShiftLeftOp, Right: yyDollar[3].exprUnion()} } @@ -15373,7 +15256,7 @@ yydefault: case 971: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5023 +//line sql.y:5024 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ShiftRightOp, Right: yyDollar[3].exprUnion()} } @@ -15381,7 +15264,7 @@ yydefault: case 972: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5027 +//line sql.y:5028 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: PlusOp, Right: yyDollar[3].exprUnion()} } @@ -15389,7 +15272,7 @@ yydefault: case 973: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5031 +//line sql.y:5032 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: MinusOp, Right: yyDollar[3].exprUnion()} } @@ -15397,7 +15280,7 @@ yydefault: case 974: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5035 +//line sql.y:5036 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: MultOp, Right: yyDollar[3].exprUnion()} } @@ -15405,7 +15288,7 @@ yydefault: case 975: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5039 +//line sql.y:5040 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: DivOp, Right: yyDollar[3].exprUnion()} } @@ -15413,7 +15296,7 @@ yydefault: case 976: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5043 +//line sql.y:5044 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ModOp, Right: yyDollar[3].exprUnion()} } @@ -15421,7 +15304,7 @@ yydefault: case 977: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5047 +//line sql.y:5048 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: IntDivOp, Right: yyDollar[3].exprUnion()} } @@ -15429,7 +15312,7 @@ yydefault: case 978: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5051 +//line sql.y:5052 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ModOp, Right: yyDollar[3].exprUnion()} } @@ -15437,7 +15320,7 @@ yydefault: case 979: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5055 +//line sql.y:5056 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitXorOp, Right: yyDollar[3].exprUnion()} } @@ -15445,7 +15328,7 @@ yydefault: case 980: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5059 +//line sql.y:5060 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15453,7 +15336,7 @@ yydefault: case 981: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5065 +//line sql.y:5066 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15461,7 +15344,7 @@ yydefault: case 982: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5069 +//line sql.y:5070 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15469,7 +15352,7 @@ yydefault: case 983: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5073 +//line sql.y:5074 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15477,7 +15360,7 @@ yydefault: case 984: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5077 +//line sql.y:5078 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15485,7 +15368,7 @@ yydefault: case 985: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5081 +//line sql.y:5082 { yyLOCAL = &CollateExpr{Expr: yyDollar[1].exprUnion(), Collation: yyDollar[3].str} } @@ -15493,7 +15376,7 @@ yydefault: case 986: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5085 +//line sql.y:5086 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15501,7 +15384,7 @@ yydefault: case 987: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5089 +//line sql.y:5090 { yyLOCAL = yyDollar[1].colNameUnion() } @@ -15509,7 +15392,7 @@ yydefault: case 988: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5093 +//line sql.y:5094 { yyLOCAL = yyDollar[2].exprUnion() // TODO: do we really want to ignore unary '+' before any kind of literals? } @@ -15517,7 +15400,7 @@ yydefault: case 989: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5097 +//line sql.y:5098 { yyLOCAL = &UnaryExpr{Operator: UMinusOp, Expr: yyDollar[2].exprUnion()} } @@ -15525,7 +15408,7 @@ yydefault: case 990: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5101 +//line sql.y:5102 { yyLOCAL = &UnaryExpr{Operator: TildaOp, Expr: yyDollar[2].exprUnion()} } @@ -15533,7 +15416,7 @@ yydefault: case 991: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5105 +//line sql.y:5106 { yyLOCAL = &UnaryExpr{Operator: BangOp, Expr: yyDollar[2].exprUnion()} } @@ -15541,7 +15424,7 @@ yydefault: case 992: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5109 +//line sql.y:5110 { yyLOCAL = yyDollar[1].subqueryUnion() } @@ -15549,7 +15432,7 @@ yydefault: case 993: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5113 +//line sql.y:5114 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15557,7 +15440,7 @@ yydefault: case 994: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5117 +//line sql.y:5118 { yyLOCAL = &ExistsExpr{Subquery: yyDollar[2].subqueryUnion()} } @@ -15565,7 +15448,7 @@ yydefault: case 995: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL Expr -//line sql.y:5121 +//line sql.y:5122 { yyLOCAL = &MatchExpr{Columns: yyDollar[3].selectExprsUnion(), Expr: yyDollar[7].exprUnion(), Option: yyDollar[8].matchExprOptionUnion()} } @@ -15573,7 +15456,7 @@ yydefault: case 996: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5125 +//line sql.y:5126 { yyLOCAL = &ConvertExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].convertTypeUnion()} } @@ -15581,7 +15464,7 @@ yydefault: case 997: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5129 +//line sql.y:5130 { yyLOCAL = &ConvertExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].convertTypeUnion()} } @@ -15589,7 +15472,7 @@ yydefault: case 998: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5133 +//line sql.y:5134 { yyLOCAL = &ConvertUsingExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].str} } @@ -15597,7 +15480,7 @@ yydefault: case 999: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5137 +//line sql.y:5138 { // From: https://dev.mysql.com/doc/refman/8.0/en/cast-functions.html#operator_binary // To convert a string expression to a binary string, these constructs are equivalent: @@ -15609,7 +15492,7 @@ yydefault: case 1000: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5145 +//line sql.y:5146 { yyLOCAL = &Default{ColName: yyDollar[2].str} } @@ -15617,7 +15500,7 @@ yydefault: case 1001: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5149 +//line sql.y:5150 { // This rule prevents the usage of INTERVAL // as a function. If support is needed for that, @@ -15629,7 +15512,7 @@ yydefault: case 1002: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5157 +//line sql.y:5158 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].colNameUnion(), Operator: JSONExtractOp, Right: yyDollar[3].exprUnion()} } @@ -15637,7 +15520,7 @@ yydefault: case 1003: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5161 +//line sql.y:5162 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].colNameUnion(), Operator: JSONUnquoteExtractOp, Right: yyDollar[3].exprUnion()} } @@ -15645,7 +15528,7 @@ yydefault: case 1004: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TrimType -//line sql.y:5167 +//line sql.y:5168 { yyLOCAL = BothTrimType } @@ -15653,7 +15536,7 @@ yydefault: case 1005: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TrimType -//line sql.y:5171 +//line sql.y:5172 { yyLOCAL = LeadingTrimType } @@ -15661,27 +15544,27 @@ yydefault: case 1006: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TrimType -//line sql.y:5175 +//line sql.y:5176 { yyLOCAL = TrailingTrimType } yyVAL.union = yyLOCAL case 1007: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5181 +//line sql.y:5182 { yyVAL.str = "" } case 1008: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5185 +//line sql.y:5186 { yyVAL.str = string(yyDollar[2].colIdent.String()) } case 1009: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL BoolVal -//line sql.y:5191 +//line sql.y:5192 { yyLOCAL = BoolVal(true) } @@ -15689,7 +15572,7 @@ yydefault: case 1010: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL BoolVal -//line sql.y:5195 +//line sql.y:5196 { yyLOCAL = BoolVal(false) } @@ -15697,7 +15580,7 @@ yydefault: case 1011: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IsExprOperator -//line sql.y:5202 +//line sql.y:5203 { yyLOCAL = IsTrueOp } @@ -15705,7 +15588,7 @@ yydefault: case 1012: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IsExprOperator -//line sql.y:5206 +//line sql.y:5207 { yyLOCAL = IsNotTrueOp } @@ -15713,7 +15596,7 @@ yydefault: case 1013: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IsExprOperator -//line sql.y:5210 +//line sql.y:5211 { yyLOCAL = IsFalseOp } @@ -15721,7 +15604,7 @@ yydefault: case 1014: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IsExprOperator -//line sql.y:5214 +//line sql.y:5215 { yyLOCAL = IsNotFalseOp } @@ -15729,7 +15612,7 @@ yydefault: case 1015: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5220 +//line sql.y:5221 { yyLOCAL = EqualOp } @@ -15737,7 +15620,7 @@ yydefault: case 1016: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5224 +//line sql.y:5225 { yyLOCAL = LessThanOp } @@ -15745,7 +15628,7 @@ yydefault: case 1017: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5228 +//line sql.y:5229 { yyLOCAL = GreaterThanOp } @@ -15753,7 +15636,7 @@ yydefault: case 1018: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5232 +//line sql.y:5233 { yyLOCAL = LessEqualOp } @@ -15761,7 +15644,7 @@ yydefault: case 1019: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5236 +//line sql.y:5237 { yyLOCAL = GreaterEqualOp } @@ -15769,7 +15652,7 @@ yydefault: case 1020: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5240 +//line sql.y:5241 { yyLOCAL = NotEqualOp } @@ -15777,7 +15660,7 @@ yydefault: case 1021: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5244 +//line sql.y:5245 { yyLOCAL = NullSafeEqualOp } @@ -15785,7 +15668,7 @@ yydefault: case 1022: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColTuple -//line sql.y:5250 +//line sql.y:5251 { yyLOCAL = yyDollar[1].valTupleUnion() } @@ -15793,7 +15676,7 @@ yydefault: case 1023: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColTuple -//line sql.y:5254 +//line sql.y:5255 { yyLOCAL = yyDollar[1].subqueryUnion() } @@ -15801,7 +15684,7 @@ yydefault: case 1024: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColTuple -//line sql.y:5258 +//line sql.y:5259 { yyLOCAL = ListArg(yyDollar[1].str[2:]) bindVariable(yylex, yyDollar[1].str[2:]) @@ -15810,7 +15693,7 @@ yydefault: case 1025: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Subquery -//line sql.y:5265 +//line sql.y:5266 { yyLOCAL = &Subquery{yyDollar[1].selStmtUnion()} } @@ -15818,14 +15701,14 @@ yydefault: case 1026: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Exprs -//line sql.y:5271 +//line sql.y:5272 { yyLOCAL = Exprs{yyDollar[1].exprUnion()} } yyVAL.union = yyLOCAL case 1027: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5275 +//line sql.y:5276 { yySLICE := (*Exprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].exprUnion()) @@ -15833,7 +15716,7 @@ yydefault: case 1028: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5285 +//line sql.y:5286 { yyLOCAL = &FuncExpr{Name: yyDollar[1].colIdent, Exprs: yyDollar[3].selectExprsUnion()} } @@ -15841,7 +15724,7 @@ yydefault: case 1029: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5289 +//line sql.y:5290 { yyLOCAL = &FuncExpr{Name: yyDollar[1].colIdent, Distinct: true, Exprs: yyDollar[4].selectExprsUnion()} } @@ -15849,7 +15732,7 @@ yydefault: case 1030: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5293 +//line sql.y:5294 { yyLOCAL = &FuncExpr{Name: yyDollar[1].colIdent, Distinct: true, Exprs: yyDollar[4].selectExprsUnion()} } @@ -15857,7 +15740,7 @@ yydefault: case 1031: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5297 +//line sql.y:5298 { yyLOCAL = &FuncExpr{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].colIdent, Exprs: yyDollar[5].selectExprsUnion()} } @@ -15865,7 +15748,7 @@ yydefault: case 1032: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5307 +//line sql.y:5308 { yyLOCAL = &FuncExpr{Name: NewColIdent("left"), Exprs: yyDollar[3].selectExprsUnion()} } @@ -15873,7 +15756,7 @@ yydefault: case 1033: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5311 +//line sql.y:5312 { yyLOCAL = &FuncExpr{Name: NewColIdent("right"), Exprs: yyDollar[3].selectExprsUnion()} } @@ -15881,7 +15764,7 @@ yydefault: case 1034: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5315 +//line sql.y:5316 { yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion(), To: yyDollar[7].exprUnion()} } @@ -15889,7 +15772,7 @@ yydefault: case 1035: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5319 +//line sql.y:5320 { yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion()} } @@ -15897,7 +15780,7 @@ yydefault: case 1036: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5323 +//line sql.y:5324 { yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion(), To: yyDollar[7].exprUnion()} } @@ -15905,7 +15788,7 @@ yydefault: case 1037: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5327 +//line sql.y:5328 { yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion()} } @@ -15913,7 +15796,7 @@ yydefault: case 1038: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5331 +//line sql.y:5332 { yyLOCAL = &GroupConcatExpr{Distinct: yyDollar[3].booleanUnion(), Exprs: yyDollar[4].selectExprsUnion(), OrderBy: yyDollar[5].orderByUnion(), Separator: yyDollar[6].str, Limit: yyDollar[7].limitUnion()} } @@ -15921,7 +15804,7 @@ yydefault: case 1039: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5335 +//line sql.y:5336 { yyLOCAL = &CaseExpr{Expr: yyDollar[2].exprUnion(), Whens: yyDollar[3].whensUnion(), Else: yyDollar[4].exprUnion()} } @@ -15929,7 +15812,7 @@ yydefault: case 1040: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5339 +//line sql.y:5340 { yyLOCAL = &ValuesFuncExpr{Name: yyDollar[3].colNameUnion()} } @@ -15937,7 +15820,7 @@ yydefault: case 1041: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5343 +//line sql.y:5344 { yyLOCAL = &FuncExpr{Name: NewColIdent(yyDollar[1].str)} } @@ -15945,7 +15828,7 @@ yydefault: case 1042: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5354 +//line sql.y:5355 { yyLOCAL = &FuncExpr{Name: NewColIdent("utc_date")} } @@ -15953,7 +15836,7 @@ yydefault: case 1043: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5358 +//line sql.y:5359 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15961,7 +15844,7 @@ yydefault: case 1044: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5364 +//line sql.y:5365 { yyLOCAL = &FuncExpr{Name: NewColIdent("current_date")} } @@ -15969,7 +15852,7 @@ yydefault: case 1045: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5368 +//line sql.y:5369 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("utc_time"), Fsp: yyDollar[2].exprUnion()} } @@ -15977,7 +15860,7 @@ yydefault: case 1046: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5373 +//line sql.y:5374 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("current_time"), Fsp: yyDollar[2].exprUnion()} } @@ -15985,7 +15868,7 @@ yydefault: case 1047: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5377 +//line sql.y:5378 { yyLOCAL = &Avg{Arg: yyDollar[4].exprUnion(), Distinct: yyDollar[3].booleanUnion()} } @@ -15993,7 +15876,7 @@ yydefault: case 1048: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5381 +//line sql.y:5382 { yyLOCAL = &CountStar{Star: yyDollar[3].starExprUnion()} } @@ -16001,7 +15884,7 @@ yydefault: case 1049: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5385 +//line sql.y:5386 { yyLOCAL = &Count{Arg: yyDollar[4].exprUnion(), Distinct: yyDollar[3].booleanUnion()} } @@ -16009,951 +15892,959 @@ yydefault: case 1050: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5389 +//line sql.y:5390 { yyLOCAL = &Max{Arg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL case 1051: + yyDollar = yyS[yypt-4 : yypt+1] + var yyLOCAL Expr +//line sql.y:5394 + { + yyLOCAL = &Min{Arg: yyDollar[3].exprUnion()} + } + yyVAL.union = yyLOCAL + case 1052: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5393 +//line sql.y:5398 { yyLOCAL = &TimestampFuncExpr{Name: string("timestampadd"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].exprUnion(), Expr2: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1052: + case 1053: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5397 +//line sql.y:5402 { yyLOCAL = &TimestampFuncExpr{Name: string("timestampdiff"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].exprUnion(), Expr2: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1053: + case 1054: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5401 +//line sql.y:5406 { yyLOCAL = &ExtractFuncExpr{IntervalTypes: yyDollar[3].intervalTypeUnion(), Expr: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1054: + case 1055: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5405 +//line sql.y:5410 { yyLOCAL = &WeightStringFuncExpr{Expr: yyDollar[3].exprUnion(), As: yyDollar[4].convertTypeUnion()} } yyVAL.union = yyLOCAL - case 1055: + case 1056: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5409 +//line sql.y:5414 { yyLOCAL = &JSONPrettyExpr{JSONVal: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1056: + case 1057: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5413 +//line sql.y:5418 { yyLOCAL = &JSONStorageFreeExpr{JSONVal: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1057: + case 1058: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5417 +//line sql.y:5422 { yyLOCAL = &JSONStorageSizeExpr{JSONVal: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1058: + case 1059: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5421 +//line sql.y:5426 { yyLOCAL = &TrimFuncExpr{TrimFuncType: LTrimType, StringArg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1059: + case 1060: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5425 +//line sql.y:5430 { yyLOCAL = &TrimFuncExpr{TrimFuncType: RTrimType, StringArg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1060: + case 1061: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Expr -//line sql.y:5429 +//line sql.y:5434 { yyLOCAL = &TrimFuncExpr{Type: yyDollar[3].trimTypeUnion(), TrimArg: yyDollar[4].exprUnion(), StringArg: yyDollar[6].exprUnion()} } yyVAL.union = yyLOCAL - case 1061: + case 1062: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5433 +//line sql.y:5438 { yyLOCAL = &TrimFuncExpr{StringArg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1062: + case 1063: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5437 +//line sql.y:5442 { yyLOCAL = &TrimFuncExpr{TrimArg: yyDollar[3].exprUnion(), StringArg: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1063: + case 1064: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5441 +//line sql.y:5446 { yyLOCAL = &JSONSchemaValidFuncExpr{Schema: yyDollar[3].exprUnion(), Document: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1064: + case 1065: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5445 +//line sql.y:5450 { yyLOCAL = &JSONSchemaValidationReportFuncExpr{Schema: yyDollar[3].exprUnion(), Document: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1065: + case 1066: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5449 +//line sql.y:5454 { yyLOCAL = &JSONArrayExpr{Params: yyDollar[3].exprsUnion()} } yyVAL.union = yyLOCAL - case 1066: + case 1067: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5453 +//line sql.y:5458 { yyLOCAL = &JSONObjectExpr{Params: yyDollar[3].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1067: + case 1068: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5457 +//line sql.y:5462 { yyLOCAL = &JSONQuoteExpr{StringArg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1068: + case 1069: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Expr -//line sql.y:5461 +//line sql.y:5466 { yyLOCAL = &JSONContainsExpr{Target: yyDollar[3].exprUnion(), Candidate: yyDollar[5].exprUnion(), PathList: yyDollar[6].jsonPathParamsUnion()} } yyVAL.union = yyLOCAL - case 1069: + case 1070: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5465 +//line sql.y:5470 { yyLOCAL = &JSONContainsPathExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), PathList: yyDollar[7].jsonPathParamsUnion()} } yyVAL.union = yyLOCAL - case 1070: + case 1071: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5469 +//line sql.y:5474 { yyLOCAL = &JSONExtractExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[5].jsonPathParamsUnion()} } yyVAL.union = yyLOCAL - case 1071: + case 1072: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5473 +//line sql.y:5478 { yyLOCAL = &JSONKeysExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[4].jsonPathParamsUnion()} } yyVAL.union = yyLOCAL - case 1072: + case 1073: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5477 +//line sql.y:5482 { yyLOCAL = &JSONOverlapsExpr{JSONDoc1: yyDollar[3].exprUnion(), JSONDoc2: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1073: + case 1074: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5481 +//line sql.y:5486 { yyLOCAL = &JSONSearchExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), SearchStr: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1074: + case 1075: yyDollar = yyS[yypt-11 : yypt+1] var yyLOCAL Expr -//line sql.y:5485 +//line sql.y:5490 { yyLOCAL = &JSONSearchExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), SearchStr: yyDollar[7].exprUnion(), EscapeChar: yyDollar[9].exprUnion(), PathList: yyDollar[10].jsonPathParamsUnion()} } yyVAL.union = yyLOCAL - case 1075: + case 1076: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Expr -//line sql.y:5489 +//line sql.y:5494 { yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam, ReturningType: yyDollar[6].convertTypeUnion()} } yyVAL.union = yyLOCAL - case 1076: + case 1077: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5493 +//line sql.y:5498 { yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam, ReturningType: yyDollar[6].convertTypeUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion()} } yyVAL.union = yyLOCAL - case 1077: + case 1078: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5497 +//line sql.y:5502 { yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam, ReturningType: yyDollar[6].convertTypeUnion(), ErrorOnResponse: yyDollar[7].jtOnResponseUnion()} } yyVAL.union = yyLOCAL - case 1078: + case 1079: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL Expr -//line sql.y:5501 +//line sql.y:5506 { yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam, ReturningType: yyDollar[6].convertTypeUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion(), ErrorOnResponse: yyDollar[8].jtOnResponseUnion()} } yyVAL.union = yyLOCAL - case 1079: + case 1080: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5505 +//line sql.y:5510 { yyLOCAL = &JSONAttributesExpr{Type: DepthAttributeType, JSONDoc: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1080: + case 1081: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5509 +//line sql.y:5514 { yyLOCAL = &JSONAttributesExpr{Type: ValidAttributeType, JSONDoc: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1081: + case 1082: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5513 +//line sql.y:5518 { yyLOCAL = &JSONAttributesExpr{Type: TypeAttributeType, JSONDoc: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1082: + case 1083: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5517 +//line sql.y:5522 { yyLOCAL = &JSONAttributesExpr{Type: LengthAttributeType, JSONDoc: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1083: + case 1084: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5521 +//line sql.y:5526 { yyLOCAL = &JSONAttributesExpr{Type: LengthAttributeType, JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam} } yyVAL.union = yyLOCAL - case 1084: + case 1085: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5525 +//line sql.y:5530 { yyLOCAL = &JSONValueModifierExpr{Type: JSONArrayAppendType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1085: + case 1086: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5529 +//line sql.y:5534 { yyLOCAL = &JSONValueModifierExpr{Type: JSONArrayInsertType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1086: + case 1087: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5533 +//line sql.y:5538 { yyLOCAL = &JSONValueModifierExpr{Type: JSONInsertType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1087: + case 1088: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5537 +//line sql.y:5542 { yyLOCAL = &JSONValueModifierExpr{Type: JSONReplaceType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1088: + case 1089: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5541 +//line sql.y:5546 { yyLOCAL = &JSONValueModifierExpr{Type: JSONSetType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1089: + case 1090: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5545 +//line sql.y:5550 { yyLOCAL = &JSONValueMergeExpr{Type: JSONMergeType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()} } yyVAL.union = yyLOCAL - case 1090: + case 1091: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5549 +//line sql.y:5554 { yyLOCAL = &JSONValueMergeExpr{Type: JSONMergePatchType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()} } yyVAL.union = yyLOCAL - case 1091: + case 1092: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5553 +//line sql.y:5558 { yyLOCAL = &JSONValueMergeExpr{Type: JSONMergePreserveType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()} } yyVAL.union = yyLOCAL - case 1092: + case 1093: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5557 +//line sql.y:5562 { yyLOCAL = &JSONRemoveExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[5].exprsUnion()} } yyVAL.union = yyLOCAL - case 1093: + case 1094: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5561 +//line sql.y:5566 { yyLOCAL = &JSONUnquoteExpr{JSONValue: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1094: + case 1095: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5566 +//line sql.y:5571 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1095: + case 1096: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5570 +//line sql.y:5575 { yyLOCAL = yyDollar[2].convertTypeUnion() } yyVAL.union = yyLOCAL - case 1096: + case 1097: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []JSONPathParam -//line sql.y:5575 +//line sql.y:5580 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1097: + case 1098: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []JSONPathParam -//line sql.y:5579 +//line sql.y:5584 { yyLOCAL = yyDollar[2].jsonPathParamsUnion() } yyVAL.union = yyLOCAL - case 1098: + case 1099: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []JSONPathParam -//line sql.y:5585 +//line sql.y:5590 { yyLOCAL = []JSONPathParam{yyDollar[1].jsonPathParam} } yyVAL.union = yyLOCAL - case 1099: + case 1100: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5589 +//line sql.y:5594 { yySLICE := (*[]JSONPathParam)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].jsonPathParam) } - case 1100: + case 1101: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5595 +//line sql.y:5600 { yyVAL.jsonPathParam = JSONPathParam(yyDollar[1].exprUnion()) } - case 1101: + case 1102: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5599 +//line sql.y:5604 { yyVAL.jsonPathParam = JSONPathParam(yyDollar[1].colNameUnion()) } - case 1102: + case 1103: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5605 +//line sql.y:5610 { } - case 1103: + case 1104: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5607 +//line sql.y:5612 { yyLOCAL = IntervalDayHour } yyVAL.union = yyLOCAL - case 1104: + case 1105: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5611 +//line sql.y:5616 { yyLOCAL = IntervalDayMicrosecond } yyVAL.union = yyLOCAL - case 1105: + case 1106: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5615 +//line sql.y:5620 { yyLOCAL = IntervalDayMinute } yyVAL.union = yyLOCAL - case 1106: + case 1107: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5619 +//line sql.y:5624 { yyLOCAL = IntervalDaySecond } yyVAL.union = yyLOCAL - case 1107: + case 1108: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5623 +//line sql.y:5628 { yyLOCAL = IntervalHourMicrosecond } yyVAL.union = yyLOCAL - case 1108: + case 1109: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5627 +//line sql.y:5632 { yyLOCAL = IntervalHourMinute } yyVAL.union = yyLOCAL - case 1109: + case 1110: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5631 +//line sql.y:5636 { yyLOCAL = IntervalHourSecond } yyVAL.union = yyLOCAL - case 1110: + case 1111: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5635 +//line sql.y:5640 { yyLOCAL = IntervalMinuteMicrosecond } yyVAL.union = yyLOCAL - case 1111: + case 1112: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5639 +//line sql.y:5644 { yyLOCAL = IntervalMinuteSecond } yyVAL.union = yyLOCAL - case 1112: + case 1113: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5643 +//line sql.y:5648 { yyLOCAL = IntervalSecondMicrosecond } yyVAL.union = yyLOCAL - case 1113: + case 1114: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5647 +//line sql.y:5652 { yyLOCAL = IntervalYearMonth } yyVAL.union = yyLOCAL - case 1114: + case 1115: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5653 +//line sql.y:5658 { yyLOCAL = IntervalDay } yyVAL.union = yyLOCAL - case 1115: + case 1116: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5657 +//line sql.y:5662 { yyLOCAL = IntervalWeek } yyVAL.union = yyLOCAL - case 1116: + case 1117: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5661 +//line sql.y:5666 { yyLOCAL = IntervalHour } yyVAL.union = yyLOCAL - case 1117: + case 1118: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5665 +//line sql.y:5670 { yyLOCAL = IntervalMinute } yyVAL.union = yyLOCAL - case 1118: + case 1119: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5669 +//line sql.y:5674 { yyLOCAL = IntervalMonth } yyVAL.union = yyLOCAL - case 1119: + case 1120: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5673 +//line sql.y:5678 { yyLOCAL = IntervalQuarter } yyVAL.union = yyLOCAL - case 1120: + case 1121: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5677 +//line sql.y:5682 { yyLOCAL = IntervalSecond } yyVAL.union = yyLOCAL - case 1121: + case 1122: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5681 +//line sql.y:5686 { yyLOCAL = IntervalMicrosecond } yyVAL.union = yyLOCAL - case 1122: + case 1123: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5685 +//line sql.y:5690 { yyLOCAL = IntervalYear } yyVAL.union = yyLOCAL - case 1125: + case 1126: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:5695 +//line sql.y:5700 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1126: + case 1127: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5699 +//line sql.y:5704 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1127: + case 1128: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5703 +//line sql.y:5708 { yyLOCAL = NewIntLiteral(yyDollar[2].str) } yyVAL.union = yyLOCAL - case 1128: + case 1129: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5707 +//line sql.y:5712 { yyLOCAL = NewArgument(yyDollar[2].str[1:]) bindVariable(yylex, yyDollar[2].str[1:]) } yyVAL.union = yyLOCAL - case 1129: + case 1130: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5718 +//line sql.y:5723 { yyLOCAL = &FuncExpr{Name: NewColIdent("if"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1130: + case 1131: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5722 +//line sql.y:5727 { yyLOCAL = &FuncExpr{Name: NewColIdent("database"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1131: + case 1132: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5726 +//line sql.y:5731 { yyLOCAL = &FuncExpr{Name: NewColIdent("schema"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1132: + case 1133: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5730 +//line sql.y:5735 { yyLOCAL = &FuncExpr{Name: NewColIdent("mod"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1133: + case 1134: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5734 +//line sql.y:5739 { yyLOCAL = &FuncExpr{Name: NewColIdent("replace"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1134: + case 1135: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:5740 +//line sql.y:5745 { yyLOCAL = NoOption } yyVAL.union = yyLOCAL - case 1135: + case 1136: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:5744 +//line sql.y:5749 { yyLOCAL = BooleanModeOpt } yyVAL.union = yyLOCAL - case 1136: + case 1137: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:5748 +//line sql.y:5753 { yyLOCAL = NaturalLanguageModeOpt } yyVAL.union = yyLOCAL - case 1137: + case 1138: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:5752 +//line sql.y:5757 { yyLOCAL = NaturalLanguageModeWithQueryExpansionOpt } yyVAL.union = yyLOCAL - case 1138: + case 1139: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:5756 +//line sql.y:5761 { yyLOCAL = QueryExpansionOpt } yyVAL.union = yyLOCAL - case 1139: + case 1140: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5762 +//line sql.y:5767 { yyVAL.str = string(yyDollar[1].colIdent.String()) } - case 1140: + case 1141: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5766 +//line sql.y:5771 { yyVAL.str = string(yyDollar[1].str) } - case 1141: + case 1142: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5770 +//line sql.y:5775 { yyVAL.str = string(yyDollar[1].str) } - case 1142: + case 1143: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5776 +//line sql.y:5781 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1143: + case 1144: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5780 +//line sql.y:5785 { yyLOCAL = &ConvertType{Type: string(yyDollar[2].str), Length: NewIntLiteral(yyDollar[4].str)} } yyVAL.union = yyLOCAL - case 1144: + case 1145: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5784 +//line sql.y:5789 { yyLOCAL = &ConvertType{Type: string(yyDollar[2].str), Length: NewIntLiteral(yyDollar[4].str)} } yyVAL.union = yyLOCAL - case 1145: + case 1146: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5790 +//line sql.y:5795 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } yyVAL.union = yyLOCAL - case 1146: + case 1147: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5794 +//line sql.y:5799 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion(), Charset: yyDollar[3].columnCharset} } yyVAL.union = yyLOCAL - case 1147: + case 1148: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5798 +//line sql.y:5803 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1148: + case 1149: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5802 +//line sql.y:5807 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } yyVAL.union = yyLOCAL - case 1149: + case 1150: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5806 +//line sql.y:5811 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} yyLOCAL.Length = yyDollar[2].LengthScaleOption.Length yyLOCAL.Scale = yyDollar[2].LengthScaleOption.Scale } yyVAL.union = yyLOCAL - case 1150: + case 1151: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5812 +//line sql.y:5817 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1151: + case 1152: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5816 +//line sql.y:5821 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } yyVAL.union = yyLOCAL - case 1152: + case 1153: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5820 +//line sql.y:5825 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1153: + case 1154: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5824 +//line sql.y:5829 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1154: + case 1155: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5828 +//line sql.y:5833 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } yyVAL.union = yyLOCAL - case 1155: + case 1156: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5832 +//line sql.y:5837 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1156: + case 1157: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5836 +//line sql.y:5841 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1157: + case 1158: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5840 +//line sql.y:5845 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } yyVAL.union = yyLOCAL - case 1158: + case 1159: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5844 +//line sql.y:5849 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1159: + case 1160: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5848 +//line sql.y:5853 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1160: + case 1161: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:5854 +//line sql.y:5859 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1161: + case 1162: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5858 +//line sql.y:5863 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 1162: + case 1163: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5863 +//line sql.y:5868 { yyVAL.str = string("") } - case 1163: + case 1164: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5867 +//line sql.y:5872 { yyVAL.str = " separator " + encodeSQLString(yyDollar[2].str) } - case 1164: + case 1165: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*When -//line sql.y:5873 +//line sql.y:5878 { yyLOCAL = []*When{yyDollar[1].whenUnion()} } yyVAL.union = yyLOCAL - case 1165: + case 1166: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5877 +//line sql.y:5882 { yySLICE := (*[]*When)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].whenUnion()) } - case 1166: + case 1167: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *When -//line sql.y:5883 +//line sql.y:5888 { yyLOCAL = &When{Cond: yyDollar[2].exprUnion(), Val: yyDollar[4].exprUnion()} } yyVAL.union = yyLOCAL - case 1167: + case 1168: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:5888 +//line sql.y:5893 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1168: + case 1169: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5892 +//line sql.y:5897 { yyLOCAL = yyDollar[2].exprUnion() } yyVAL.union = yyLOCAL - case 1169: + case 1170: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ColName -//line sql.y:5898 +//line sql.y:5903 { yyLOCAL = &ColName{Name: yyDollar[1].colIdent} } yyVAL.union = yyLOCAL - case 1170: + case 1171: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColName -//line sql.y:5902 +//line sql.y:5907 { yyLOCAL = &ColName{Qualifier: TableName{Name: yyDollar[1].tableIdent}, Name: yyDollar[3].colIdent} } yyVAL.union = yyLOCAL - case 1171: + case 1172: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ColName -//line sql.y:5906 +//line sql.y:5911 { yyLOCAL = &ColName{Qualifier: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}, Name: yyDollar[5].colIdent} } yyVAL.union = yyLOCAL - case 1172: + case 1173: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5912 +//line sql.y:5917 { // TODO(sougou): Deprecate this construct. if yyDollar[1].colIdent.Lowered() != "value" { @@ -16963,388 +16854,388 @@ yydefault: yyLOCAL = NewIntLiteral("1") } yyVAL.union = yyLOCAL - case 1173: + case 1174: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5921 +//line sql.y:5926 { yyLOCAL = NewIntLiteral(yyDollar[1].str) } yyVAL.union = yyLOCAL - case 1174: + case 1175: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5925 +//line sql.y:5930 { yyLOCAL = NewArgument(yyDollar[1].str[1:]) bindVariable(yylex, yyDollar[1].str[1:]) } yyVAL.union = yyLOCAL - case 1175: + case 1176: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Exprs -//line sql.y:5931 +//line sql.y:5936 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1176: + case 1177: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Exprs -//line sql.y:5935 +//line sql.y:5940 { yyLOCAL = yyDollar[3].exprsUnion() } yyVAL.union = yyLOCAL - case 1177: + case 1178: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:5940 +//line sql.y:5945 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1178: + case 1179: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5944 +//line sql.y:5949 { yyLOCAL = yyDollar[2].exprUnion() } yyVAL.union = yyLOCAL - case 1179: + case 1180: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL OrderBy -//line sql.y:5949 +//line sql.y:5954 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1180: + case 1181: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL OrderBy -//line sql.y:5953 +//line sql.y:5958 { yyLOCAL = yyDollar[1].orderByUnion() } yyVAL.union = yyLOCAL - case 1181: + case 1182: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL OrderBy -//line sql.y:5959 +//line sql.y:5964 { yyLOCAL = yyDollar[3].orderByUnion() } yyVAL.union = yyLOCAL - case 1182: + case 1183: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL OrderBy -//line sql.y:5965 +//line sql.y:5970 { yyLOCAL = OrderBy{yyDollar[1].orderUnion()} } yyVAL.union = yyLOCAL - case 1183: + case 1184: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5969 +//line sql.y:5974 { yySLICE := (*OrderBy)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].orderUnion()) } - case 1184: + case 1185: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Order -//line sql.y:5975 +//line sql.y:5980 { yyLOCAL = &Order{Expr: yyDollar[1].exprUnion(), Direction: yyDollar[2].orderDirectionUnion()} } yyVAL.union = yyLOCAL - case 1185: + case 1186: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL OrderDirection -//line sql.y:5980 +//line sql.y:5985 { yyLOCAL = AscOrder } yyVAL.union = yyLOCAL - case 1186: + case 1187: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL OrderDirection -//line sql.y:5984 +//line sql.y:5989 { yyLOCAL = AscOrder } yyVAL.union = yyLOCAL - case 1187: + case 1188: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL OrderDirection -//line sql.y:5988 +//line sql.y:5993 { yyLOCAL = DescOrder } yyVAL.union = yyLOCAL - case 1188: + case 1189: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *Limit -//line sql.y:5993 +//line sql.y:5998 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1189: + case 1190: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Limit -//line sql.y:5997 +//line sql.y:6002 { yyLOCAL = yyDollar[1].limitUnion() } yyVAL.union = yyLOCAL - case 1190: + case 1191: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Limit -//line sql.y:6003 +//line sql.y:6008 { yyLOCAL = &Limit{Rowcount: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 1191: + case 1192: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Limit -//line sql.y:6007 +//line sql.y:6012 { yyLOCAL = &Limit{Offset: yyDollar[2].exprUnion(), Rowcount: yyDollar[4].exprUnion()} } yyVAL.union = yyLOCAL - case 1192: + case 1193: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Limit -//line sql.y:6011 +//line sql.y:6016 { yyLOCAL = &Limit{Offset: yyDollar[4].exprUnion(), Rowcount: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 1193: + case 1194: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:6016 +//line sql.y:6021 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1194: + case 1195: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:6020 +//line sql.y:6025 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion(), yyDollar[2].alterOptionUnion()} } yyVAL.union = yyLOCAL - case 1195: + case 1196: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:6024 +//line sql.y:6029 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion(), yyDollar[2].alterOptionUnion()} } yyVAL.union = yyLOCAL - case 1196: + case 1197: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:6028 +//line sql.y:6033 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} } yyVAL.union = yyLOCAL - case 1197: + case 1198: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:6032 +//line sql.y:6037 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} } yyVAL.union = yyLOCAL - case 1198: + case 1199: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6039 +//line sql.y:6044 { yyLOCAL = &LockOption{Type: DefaultType} } yyVAL.union = yyLOCAL - case 1199: + case 1200: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6043 +//line sql.y:6048 { yyLOCAL = &LockOption{Type: NoneType} } yyVAL.union = yyLOCAL - case 1200: + case 1201: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6047 +//line sql.y:6052 { yyLOCAL = &LockOption{Type: SharedType} } yyVAL.union = yyLOCAL - case 1201: + case 1202: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6051 +//line sql.y:6056 { yyLOCAL = &LockOption{Type: ExclusiveType} } yyVAL.union = yyLOCAL - case 1202: + case 1203: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6057 +//line sql.y:6062 { yyLOCAL = AlgorithmValue(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1203: + case 1204: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6061 +//line sql.y:6066 { yyLOCAL = AlgorithmValue(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1204: + case 1205: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6065 +//line sql.y:6070 { yyLOCAL = AlgorithmValue(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1205: + case 1206: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6069 +//line sql.y:6074 { yyLOCAL = AlgorithmValue(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1206: + case 1207: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6074 +//line sql.y:6079 { yyVAL.str = "" } - case 1207: + case 1208: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6078 +//line sql.y:6083 { yyVAL.str = string(yyDollar[3].str) } - case 1208: + case 1209: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6082 +//line sql.y:6087 { yyVAL.str = string(yyDollar[3].str) } - case 1209: + case 1210: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6086 +//line sql.y:6091 { yyVAL.str = string(yyDollar[3].str) } - case 1210: + case 1211: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6091 +//line sql.y:6096 { yyVAL.str = "" } - case 1211: + case 1212: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6095 +//line sql.y:6100 { yyVAL.str = yyDollar[3].str } - case 1212: + case 1213: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6101 +//line sql.y:6106 { yyVAL.str = string(yyDollar[1].str) } - case 1213: + case 1214: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6105 +//line sql.y:6110 { yyVAL.str = string(yyDollar[1].str) } - case 1214: + case 1215: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6110 +//line sql.y:6115 { yyVAL.str = "" } - case 1215: + case 1216: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:6114 +//line sql.y:6119 { yyVAL.str = yyDollar[2].str } - case 1216: + case 1217: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6119 +//line sql.y:6124 { yyVAL.str = "cascaded" } - case 1217: + case 1218: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6123 +//line sql.y:6128 { yyVAL.str = string(yyDollar[1].str) } - case 1218: + case 1219: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6127 +//line sql.y:6132 { yyVAL.str = string(yyDollar[1].str) } - case 1219: + case 1220: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *Definer -//line sql.y:6132 +//line sql.y:6137 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1220: + case 1221: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *Definer -//line sql.y:6136 +//line sql.y:6141 { yyLOCAL = yyDollar[3].definerUnion() } yyVAL.union = yyLOCAL - case 1221: + case 1222: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Definer -//line sql.y:6142 +//line sql.y:6147 { yyLOCAL = &Definer{ Name: string(yyDollar[1].str), } } yyVAL.union = yyLOCAL - case 1222: + case 1223: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *Definer -//line sql.y:6148 +//line sql.y:6153 { yyLOCAL = &Definer{ Name: string(yyDollar[1].str), } } yyVAL.union = yyLOCAL - case 1223: + case 1224: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Definer -//line sql.y:6154 +//line sql.y:6159 { yyLOCAL = &Definer{ Name: yyDollar[1].str, @@ -17352,361 +17243,361 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1224: + case 1225: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6163 +//line sql.y:6168 { yyVAL.str = encodeSQLString(yyDollar[1].str) } - case 1225: + case 1226: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6167 +//line sql.y:6172 { yyVAL.str = formatIdentifier(yyDollar[1].str) } - case 1226: + case 1227: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6172 +//line sql.y:6177 { yyVAL.str = "" } - case 1227: + case 1228: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6176 +//line sql.y:6181 { yyVAL.str = formatAddress(yyDollar[1].str) } - case 1228: + case 1229: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Lock -//line sql.y:6182 +//line sql.y:6187 { yyLOCAL = ForUpdateLock } yyVAL.union = yyLOCAL - case 1229: + case 1230: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Lock -//line sql.y:6186 +//line sql.y:6191 { yyLOCAL = ShareModeLock } yyVAL.union = yyLOCAL - case 1230: + case 1231: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL *SelectInto -//line sql.y:6192 +//line sql.y:6197 { yyLOCAL = &SelectInto{Type: IntoOutfileS3, FileName: encodeSQLString(yyDollar[4].str), Charset: yyDollar[5].columnCharset, FormatOption: yyDollar[6].str, ExportOption: yyDollar[7].str, Manifest: yyDollar[8].str, Overwrite: yyDollar[9].str} } yyVAL.union = yyLOCAL - case 1231: + case 1232: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SelectInto -//line sql.y:6196 +//line sql.y:6201 { yyLOCAL = &SelectInto{Type: IntoDumpfile, FileName: encodeSQLString(yyDollar[3].str), Charset: ColumnCharset{}, FormatOption: "", ExportOption: "", Manifest: "", Overwrite: ""} } yyVAL.union = yyLOCAL - case 1232: + case 1233: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *SelectInto -//line sql.y:6200 +//line sql.y:6205 { yyLOCAL = &SelectInto{Type: IntoOutfile, FileName: encodeSQLString(yyDollar[3].str), Charset: yyDollar[4].columnCharset, FormatOption: "", ExportOption: yyDollar[5].str, Manifest: "", Overwrite: ""} } yyVAL.union = yyLOCAL - case 1233: + case 1234: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6205 +//line sql.y:6210 { yyVAL.str = "" } - case 1234: + case 1235: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6209 +//line sql.y:6214 { yyVAL.str = " format csv" + yyDollar[3].str } - case 1235: + case 1236: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6213 +//line sql.y:6218 { yyVAL.str = " format text" + yyDollar[3].str } - case 1236: + case 1237: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6218 +//line sql.y:6223 { yyVAL.str = "" } - case 1237: + case 1238: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6222 +//line sql.y:6227 { yyVAL.str = " header" } - case 1238: + case 1239: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6227 +//line sql.y:6232 { yyVAL.str = "" } - case 1239: + case 1240: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6231 +//line sql.y:6236 { yyVAL.str = " manifest on" } - case 1240: + case 1241: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6235 +//line sql.y:6240 { yyVAL.str = " manifest off" } - case 1241: + case 1242: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6240 +//line sql.y:6245 { yyVAL.str = "" } - case 1242: + case 1243: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6244 +//line sql.y:6249 { yyVAL.str = " overwrite on" } - case 1243: + case 1244: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6248 +//line sql.y:6253 { yyVAL.str = " overwrite off" } - case 1244: + case 1245: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6254 +//line sql.y:6259 { yyVAL.str = yyDollar[1].str + yyDollar[2].str } - case 1245: + case 1246: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6259 +//line sql.y:6264 { yyVAL.str = "" } - case 1246: + case 1247: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6263 +//line sql.y:6268 { yyVAL.str = " lines" + yyDollar[2].str } - case 1247: + case 1248: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6269 +//line sql.y:6274 { yyVAL.str = yyDollar[1].str } - case 1248: + case 1249: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6273 +//line sql.y:6278 { yyVAL.str = yyDollar[1].str + yyDollar[2].str } - case 1249: + case 1250: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6279 +//line sql.y:6284 { yyVAL.str = " starting by " + encodeSQLString(yyDollar[3].str) } - case 1250: + case 1251: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6283 +//line sql.y:6288 { yyVAL.str = " terminated by " + encodeSQLString(yyDollar[3].str) } - case 1251: + case 1252: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6288 +//line sql.y:6293 { yyVAL.str = "" } - case 1252: + case 1253: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6292 +//line sql.y:6297 { yyVAL.str = " " + yyDollar[1].str + yyDollar[2].str } - case 1253: + case 1254: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6298 +//line sql.y:6303 { yyVAL.str = yyDollar[1].str } - case 1254: + case 1255: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6302 +//line sql.y:6307 { yyVAL.str = yyDollar[1].str + yyDollar[2].str } - case 1255: + case 1256: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6308 +//line sql.y:6313 { yyVAL.str = " terminated by " + encodeSQLString(yyDollar[3].str) } - case 1256: + case 1257: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:6312 +//line sql.y:6317 { yyVAL.str = yyDollar[1].str + " enclosed by " + encodeSQLString(yyDollar[4].str) } - case 1257: + case 1258: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6316 +//line sql.y:6321 { yyVAL.str = " escaped by " + encodeSQLString(yyDollar[3].str) } - case 1258: + case 1259: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6321 +//line sql.y:6326 { yyVAL.str = "" } - case 1259: + case 1260: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6325 +//line sql.y:6330 { yyVAL.str = " optionally" } - case 1260: + case 1261: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Insert -//line sql.y:6338 +//line sql.y:6343 { yyLOCAL = &Insert{Rows: yyDollar[2].valuesUnion()} } yyVAL.union = yyLOCAL - case 1261: + case 1262: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Insert -//line sql.y:6342 +//line sql.y:6347 { yyLOCAL = &Insert{Rows: yyDollar[1].selStmtUnion()} } yyVAL.union = yyLOCAL - case 1262: + case 1263: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *Insert -//line sql.y:6346 +//line sql.y:6351 { yyLOCAL = &Insert{Columns: yyDollar[2].columnsUnion(), Rows: yyDollar[5].valuesUnion()} } yyVAL.union = yyLOCAL - case 1263: + case 1264: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Insert -//line sql.y:6350 +//line sql.y:6355 { yyLOCAL = &Insert{Rows: yyDollar[4].valuesUnion()} } yyVAL.union = yyLOCAL - case 1264: + case 1265: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Insert -//line sql.y:6354 +//line sql.y:6359 { yyLOCAL = &Insert{Columns: yyDollar[2].columnsUnion(), Rows: yyDollar[4].selStmtUnion()} } yyVAL.union = yyLOCAL - case 1265: + case 1266: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:6360 +//line sql.y:6365 { yyLOCAL = Columns{yyDollar[1].colIdent} } yyVAL.union = yyLOCAL - case 1266: + case 1267: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Columns -//line sql.y:6364 +//line sql.y:6369 { yyLOCAL = Columns{yyDollar[3].colIdent} } yyVAL.union = yyLOCAL - case 1267: + case 1268: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6368 +//line sql.y:6373 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].colIdent) } - case 1268: + case 1269: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:6372 +//line sql.y:6377 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[5].colIdent) } - case 1269: + case 1270: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL UpdateExprs -//line sql.y:6377 +//line sql.y:6382 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1270: + case 1271: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL UpdateExprs -//line sql.y:6381 +//line sql.y:6386 { yyLOCAL = yyDollar[5].updateExprsUnion() } yyVAL.union = yyLOCAL - case 1271: + case 1272: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Values -//line sql.y:6387 +//line sql.y:6392 { yyLOCAL = Values{yyDollar[1].valTupleUnion()} } yyVAL.union = yyLOCAL - case 1272: + case 1273: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6391 +//line sql.y:6396 { yySLICE := (*Values)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].valTupleUnion()) } - case 1273: + case 1274: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ValTuple -//line sql.y:6397 +//line sql.y:6402 { yyLOCAL = yyDollar[1].valTupleUnion() } yyVAL.union = yyLOCAL - case 1274: + case 1275: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ValTuple -//line sql.y:6401 +//line sql.y:6406 { yyLOCAL = ValTuple{} } yyVAL.union = yyLOCAL - case 1275: + case 1276: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ValTuple -//line sql.y:6407 +//line sql.y:6412 { yyLOCAL = ValTuple(yyDollar[2].exprsUnion()) } yyVAL.union = yyLOCAL - case 1276: + case 1277: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:6412 +//line sql.y:6417 { if len(yyDollar[1].valTupleUnion()) == 1 { yyLOCAL = yyDollar[1].valTupleUnion()[0] @@ -17715,329 +17606,329 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1277: + case 1278: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL UpdateExprs -//line sql.y:6422 +//line sql.y:6427 { yyLOCAL = UpdateExprs{yyDollar[1].updateExprUnion()} } yyVAL.union = yyLOCAL - case 1278: + case 1279: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6426 +//line sql.y:6431 { yySLICE := (*UpdateExprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].updateExprUnion()) } - case 1279: + case 1280: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *UpdateExpr -//line sql.y:6432 +//line sql.y:6437 { yyLOCAL = &UpdateExpr{Name: yyDollar[1].colNameUnion(), Expr: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1280: + case 1281: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SetExprs -//line sql.y:6438 +//line sql.y:6443 { yyLOCAL = SetExprs{yyDollar[1].setExprUnion()} } yyVAL.union = yyLOCAL - case 1281: + case 1282: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6442 +//line sql.y:6447 { yySLICE := (*SetExprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].setExprUnion()) } - case 1282: + case 1283: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:6448 +//line sql.y:6453 { yyLOCAL = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: NewStrLiteral("on")} } yyVAL.union = yyLOCAL - case 1283: + case 1284: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:6452 +//line sql.y:6457 { yyLOCAL = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: NewStrLiteral("off")} } yyVAL.union = yyLOCAL - case 1284: + case 1285: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:6456 +//line sql.y:6461 { yyLOCAL = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1285: + case 1286: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:6460 +//line sql.y:6465 { yyLOCAL = &SetExpr{Name: NewColIdent(string(yyDollar[1].str)), Scope: ImplicitScope, Expr: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 1286: + case 1287: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:6464 +//line sql.y:6469 { yyDollar[2].setExprUnion().Scope = yyDollar[1].scopeUnion() yyLOCAL = yyDollar[2].setExprUnion() } yyVAL.union = yyLOCAL - case 1288: + case 1289: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6472 +//line sql.y:6477 { yyVAL.str = "charset" } - case 1291: + case 1292: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:6482 +//line sql.y:6487 { yyLOCAL = NewStrLiteral(yyDollar[1].colIdent.String()) } yyVAL.union = yyLOCAL - case 1292: + case 1293: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:6486 +//line sql.y:6491 { yyLOCAL = NewStrLiteral(yyDollar[1].str) } yyVAL.union = yyLOCAL - case 1293: + case 1294: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:6490 +//line sql.y:6495 { yyLOCAL = &Default{} } yyVAL.union = yyLOCAL - case 1296: + case 1297: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:6499 +//line sql.y:6504 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1297: + case 1298: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:6501 +//line sql.y:6506 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1298: + case 1299: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:6504 +//line sql.y:6509 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1299: + case 1300: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:6506 +//line sql.y:6511 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1300: + case 1301: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:6509 +//line sql.y:6514 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1301: + case 1302: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL bool -//line sql.y:6511 +//line sql.y:6516 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1302: + case 1303: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Ignore -//line sql.y:6514 +//line sql.y:6519 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1303: + case 1304: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Ignore -//line sql.y:6516 +//line sql.y:6521 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1304: + case 1305: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6519 +//line sql.y:6524 { yyVAL.empty = struct{}{} } - case 1305: + case 1306: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6521 +//line sql.y:6526 { yyVAL.empty = struct{}{} } - case 1306: + case 1307: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6523 +//line sql.y:6528 { yyVAL.empty = struct{}{} } - case 1307: + case 1308: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:6527 +//line sql.y:6532 { yyLOCAL = &CallProc{Name: yyDollar[2].tableName, Params: yyDollar[4].exprsUnion()} } yyVAL.union = yyLOCAL - case 1308: + case 1309: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Exprs -//line sql.y:6532 +//line sql.y:6537 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1309: + case 1310: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Exprs -//line sql.y:6536 +//line sql.y:6541 { yyLOCAL = yyDollar[1].exprsUnion() } yyVAL.union = yyLOCAL - case 1310: + case 1311: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:6541 +//line sql.y:6546 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1311: + case 1312: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:6543 +//line sql.y:6548 { yyLOCAL = []*IndexOption{yyDollar[1].indexOptionUnion()} } yyVAL.union = yyLOCAL - case 1312: + case 1313: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:6547 +//line sql.y:6552 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), String: string(yyDollar[2].colIdent.String())} } yyVAL.union = yyLOCAL - case 1313: + case 1314: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6553 +//line sql.y:6558 { yyVAL.colIdent = yyDollar[1].colIdent } - case 1314: + case 1315: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6557 +//line sql.y:6562 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].str)) } - case 1316: + case 1317: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6564 +//line sql.y:6569 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].str)) } - case 1317: + case 1318: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6570 +//line sql.y:6575 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].colIdent.String())) } - case 1318: + case 1319: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6574 +//line sql.y:6579 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].str)) } - case 1319: + case 1320: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6580 +//line sql.y:6585 { yyVAL.tableIdent = NewTableIdent("") } - case 1320: + case 1321: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6584 +//line sql.y:6589 { yyVAL.tableIdent = yyDollar[1].tableIdent } - case 1322: + case 1323: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6591 +//line sql.y:6596 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].str)) } - case 1825: + case 1827: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7118 +//line sql.y:7124 { if incNesting(yylex) { yylex.Error("max nesting level reached") return 1 } } - case 1826: + case 1828: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7127 +//line sql.y:7133 { decNesting(yylex) } - case 1827: + case 1829: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7132 +//line sql.y:7138 { skipToEnd(yylex) } - case 1828: + case 1830: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7137 +//line sql.y:7143 { skipToEnd(yylex) } - case 1829: + case 1831: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7141 +//line sql.y:7147 { skipToEnd(yylex) } - case 1830: + case 1832: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7145 +//line sql.y:7151 { skipToEnd(yylex) } diff --git a/go/vt/sqlparser/sql.y b/go/vt/sqlparser/sql.y index 22b41255fdf..ea0f8e177e0 100644 --- a/go/vt/sqlparser/sql.y +++ b/go/vt/sqlparser/sql.y @@ -326,6 +326,7 @@ func bindVariable(yylex yyLexer, bvar string) { %token COUNT // aggregate function %token AVG // aggregate function %token MAX // aggregate function +%token MIN // aggregate function // Match %token MATCH AGAINST BOOLEAN LANGUAGE WITH QUERY EXPANSION WITHOUT VALIDATION @@ -5389,6 +5390,10 @@ UTC_DATE func_paren_opt { $$ = &Max{Arg:$3} } +| MIN openb expression closeb + { + $$ = &Min{Arg:$3} + } | TIMESTAMPADD openb sql_id ',' expression ',' expression closeb { $$ = &TimestampFuncExpr{Name:string("timestampadd"), Unit:$3.String(), Expr1:$5, Expr2:$7} @@ -6933,6 +6938,7 @@ non_reserved_keyword: | MEMORY | MEMBER | MERGE +| MIN | MIN_ROWS | MODE | MODIFY From 3005af295ea27e50a635fda93f07b3d83bc844b2 Mon Sep 17 00:00:00 2001 From: Rameez Sajwani Date: Thu, 19 May 2022 18:49:07 -0700 Subject: [PATCH 06/22] SQLParser:Refactoring Add sum struct Signed-off-by: Rameez Sajwani --- go/vt/sqlparser/ast.go | 6 + go/vt/sqlparser/ast_clone.go | 16 + go/vt/sqlparser/ast_equals.go | 30 + go/vt/sqlparser/ast_format.go | 8 + go/vt/sqlparser/ast_format_fast.go | 9 + go/vt/sqlparser/ast_rewrite.go | 33 + go/vt/sqlparser/ast_visit.go | 18 + go/vt/sqlparser/cached_size.go | 14 + go/vt/sqlparser/keywords.go | 1 + go/vt/sqlparser/parse_test.go | 9 + go/vt/sqlparser/sql.go | 12726 ++++++++++++++------------- go/vt/sqlparser/sql.y | 6 + 12 files changed, 6556 insertions(+), 6320 deletions(-) diff --git a/go/vt/sqlparser/ast.go b/go/vt/sqlparser/ast.go index 91aaa67106a..cc359040630 100644 --- a/go/vt/sqlparser/ast.go +++ b/go/vt/sqlparser/ast.go @@ -2578,9 +2578,15 @@ type ( Min struct { Arg Expr } + + Sum struct { + Arg Expr + Distinct bool + } ) // iExpr ensures that only expressions nodes can be assigned to a Expr +func (*Sum) iExpr() {} func (*Min) iExpr() {} func (*Max) iExpr() {} func (*Avg) iExpr() {} diff --git a/go/vt/sqlparser/ast_clone.go b/go/vt/sqlparser/ast_clone.go index 70066e57875..f9c77b5179e 100644 --- a/go/vt/sqlparser/ast_clone.go +++ b/go/vt/sqlparser/ast_clone.go @@ -369,6 +369,8 @@ func CloneSQLNode(in SQLNode) SQLNode { return CloneRefOfSubquery(in) case *SubstrExpr: return CloneRefOfSubstrExpr(in) + case *Sum: + return CloneRefOfSum(in) case TableExprs: return CloneTableExprs(in) case TableIdent: @@ -2220,6 +2222,16 @@ func CloneRefOfSubstrExpr(n *SubstrExpr) *SubstrExpr { return &out } +// CloneRefOfSum creates a deep clone of the input. +func CloneRefOfSum(n *Sum) *Sum { + if n == nil { + return nil + } + out := *n + out.Arg = CloneExpr(n.Arg) + return &out +} + // CloneTableExprs creates a deep clone of the input. func CloneTableExprs(n TableExprs) TableExprs { if n == nil { @@ -2893,6 +2905,8 @@ func CloneExpr(in Expr) Expr { return CloneRefOfSubquery(in) case *SubstrExpr: return CloneRefOfSubstrExpr(in) + case *Sum: + return CloneRefOfSum(in) case *TimestampFuncExpr: return CloneRefOfTimestampFuncExpr(in) case *TrimFuncExpr: @@ -3049,6 +3063,8 @@ func CloneJSONPathParam(in JSONPathParam) JSONPathParam { return CloneRefOfSubquery(in) case *SubstrExpr: return CloneRefOfSubstrExpr(in) + case *Sum: + return CloneRefOfSum(in) case *TimestampFuncExpr: return CloneRefOfTimestampFuncExpr(in) case *TrimFuncExpr: diff --git a/go/vt/sqlparser/ast_equals.go b/go/vt/sqlparser/ast_equals.go index 97b2b934c48..8bd1b2fb60b 100644 --- a/go/vt/sqlparser/ast_equals.go +++ b/go/vt/sqlparser/ast_equals.go @@ -1064,6 +1064,12 @@ func EqualsSQLNode(inA, inB SQLNode) bool { return false } return EqualsRefOfSubstrExpr(a, b) + case *Sum: + b, ok := inB.(*Sum) + if !ok { + return false + } + return EqualsRefOfSum(a, b) case TableExprs: b, ok := inB.(TableExprs) if !ok { @@ -3334,6 +3340,18 @@ func EqualsRefOfSubstrExpr(a, b *SubstrExpr) bool { EqualsExpr(a.To, b.To) } +// EqualsRefOfSum does deep equals between the two objects. +func EqualsRefOfSum(a, b *Sum) bool { + if a == b { + return true + } + if a == nil || b == nil { + return false + } + return a.Distinct == b.Distinct && + EqualsExpr(a.Arg, b.Arg) +} + // EqualsTableExprs does deep equals between the two objects. func EqualsTableExprs(a, b TableExprs) bool { if len(a) != len(b) { @@ -4595,6 +4613,12 @@ func EqualsExpr(inA, inB Expr) bool { return false } return EqualsRefOfSubstrExpr(a, b) + case *Sum: + b, ok := inB.(*Sum) + if !ok { + return false + } + return EqualsRefOfSum(a, b) case *TimestampFuncExpr: b, ok := inB.(*TimestampFuncExpr) if !ok { @@ -5021,6 +5045,12 @@ func EqualsJSONPathParam(inA, inB JSONPathParam) bool { return false } return EqualsRefOfSubstrExpr(a, b) + case *Sum: + b, ok := inB.(*Sum) + if !ok { + return false + } + return EqualsRefOfSum(a, b) case *TimestampFuncExpr: b, ok := inB.(*TimestampFuncExpr) if !ok { diff --git a/go/vt/sqlparser/ast_format.go b/go/vt/sqlparser/ast_format.go index 645ca62e3c2..6dedce2be76 100644 --- a/go/vt/sqlparser/ast_format.go +++ b/go/vt/sqlparser/ast_format.go @@ -2372,3 +2372,11 @@ func (node *Max) Format(buf *TrackedBuffer) { func (node *Min) Format(buf *TrackedBuffer) { buf.astPrintf(node, "min(%v)", node.Arg) } + +func (node *Sum) Format(buf *TrackedBuffer) { + buf.WriteString("sum(") + if node.Distinct { + buf.literal(DistinctStr) + } + buf.astPrintf(node, "%v)", node.Arg) +} diff --git a/go/vt/sqlparser/ast_format_fast.go b/go/vt/sqlparser/ast_format_fast.go index e6c7bce84b4..6208055289c 100644 --- a/go/vt/sqlparser/ast_format_fast.go +++ b/go/vt/sqlparser/ast_format_fast.go @@ -3092,3 +3092,12 @@ func (node *Min) formatFast(buf *TrackedBuffer) { buf.printExpr(node, node.Arg, true) buf.WriteByte(')') } + +func (node *Sum) formatFast(buf *TrackedBuffer) { + buf.WriteString("sum(") + if node.Distinct { + buf.WriteString(DistinctStr) + } + buf.printExpr(node, node.Arg, true) + buf.WriteByte(')') +} diff --git a/go/vt/sqlparser/ast_rewrite.go b/go/vt/sqlparser/ast_rewrite.go index 13d0051060b..2ab71382af8 100644 --- a/go/vt/sqlparser/ast_rewrite.go +++ b/go/vt/sqlparser/ast_rewrite.go @@ -368,6 +368,8 @@ func (a *application) rewriteSQLNode(parent SQLNode, node SQLNode, replacer repl return a.rewriteRefOfSubquery(parent, node, replacer) case *SubstrExpr: return a.rewriteRefOfSubstrExpr(parent, node, replacer) + case *Sum: + return a.rewriteRefOfSum(parent, node, replacer) case TableExprs: return a.rewriteTableExprs(parent, node, replacer) case TableIdent: @@ -5696,6 +5698,33 @@ func (a *application) rewriteRefOfSubstrExpr(parent SQLNode, node *SubstrExpr, r } return true } +func (a *application) rewriteRefOfSum(parent SQLNode, node *Sum, replacer replacerFunc) bool { + if node == nil { + return true + } + if a.pre != nil { + a.cur.replacer = replacer + a.cur.parent = parent + a.cur.node = node + if !a.pre(&a.cur) { + return true + } + } + if !a.rewriteExpr(node, node.Arg, func(newNode, parent SQLNode) { + parent.(*Sum).Arg = newNode.(Expr) + }) { + return false + } + if a.post != nil { + a.cur.replacer = replacer + a.cur.parent = parent + a.cur.node = node + if !a.post(&a.cur) { + return false + } + } + return true +} func (a *application) rewriteTableExprs(parent SQLNode, node TableExprs, replacer replacerFunc) bool { if node == nil { return true @@ -7016,6 +7045,8 @@ func (a *application) rewriteExpr(parent SQLNode, node Expr, replacer replacerFu return a.rewriteRefOfSubquery(parent, node, replacer) case *SubstrExpr: return a.rewriteRefOfSubstrExpr(parent, node, replacer) + case *Sum: + return a.rewriteRefOfSum(parent, node, replacer) case *TimestampFuncExpr: return a.rewriteRefOfTimestampFuncExpr(parent, node, replacer) case *TrimFuncExpr: @@ -7168,6 +7199,8 @@ func (a *application) rewriteJSONPathParam(parent SQLNode, node JSONPathParam, r return a.rewriteRefOfSubquery(parent, node, replacer) case *SubstrExpr: return a.rewriteRefOfSubstrExpr(parent, node, replacer) + case *Sum: + return a.rewriteRefOfSum(parent, node, replacer) case *TimestampFuncExpr: return a.rewriteRefOfTimestampFuncExpr(parent, node, replacer) case *TrimFuncExpr: diff --git a/go/vt/sqlparser/ast_visit.go b/go/vt/sqlparser/ast_visit.go index a5b02dd29b3..5a032839cbd 100644 --- a/go/vt/sqlparser/ast_visit.go +++ b/go/vt/sqlparser/ast_visit.go @@ -368,6 +368,8 @@ func VisitSQLNode(in SQLNode, f Visit) error { return VisitRefOfSubquery(in, f) case *SubstrExpr: return VisitRefOfSubstrExpr(in, f) + case *Sum: + return VisitRefOfSum(in, f) case TableExprs: return VisitTableExprs(in, f) case TableIdent: @@ -2822,6 +2824,18 @@ func VisitRefOfSubstrExpr(in *SubstrExpr, f Visit) error { } return nil } +func VisitRefOfSum(in *Sum, f Visit) error { + if in == nil { + return nil + } + if cont, err := f(in); err != nil || !cont { + return err + } + if err := VisitExpr(in.Arg, f); err != nil { + return err + } + return nil +} func VisitTableExprs(in TableExprs, f Visit) error { if in == nil { return nil @@ -3590,6 +3604,8 @@ func VisitExpr(in Expr, f Visit) error { return VisitRefOfSubquery(in, f) case *SubstrExpr: return VisitRefOfSubstrExpr(in, f) + case *Sum: + return VisitRefOfSum(in, f) case *TimestampFuncExpr: return VisitRefOfTimestampFuncExpr(in, f) case *TrimFuncExpr: @@ -3742,6 +3758,8 @@ func VisitJSONPathParam(in JSONPathParam, f Visit) error { return VisitRefOfSubquery(in, f) case *SubstrExpr: return VisitRefOfSubstrExpr(in, f) + case *Sum: + return VisitRefOfSum(in, f) case *TimestampFuncExpr: return VisitRefOfTimestampFuncExpr(in, f) case *TrimFuncExpr: diff --git a/go/vt/sqlparser/cached_size.go b/go/vt/sqlparser/cached_size.go index 7b0c332182b..ffa50c37da8 100644 --- a/go/vt/sqlparser/cached_size.go +++ b/go/vt/sqlparser/cached_size.go @@ -2962,6 +2962,20 @@ func (cached *SubstrExpr) CachedSize(alloc bool) int64 { } return size } +func (cached *Sum) CachedSize(alloc bool) int64 { + if cached == nil { + return int64(0) + } + size := int64(0) + if alloc { + size += int64(24) + } + // field Arg vitess.io/vitess/go/vt/sqlparser.Expr + if cc, ok := cached.Arg.(cachedObject); ok { + size += cc.CachedSize(true) + } + return size +} func (cached *TableAndLockType) CachedSize(alloc bool) int64 { if cached == nil { return int64(0) diff --git a/go/vt/sqlparser/keywords.go b/go/vt/sqlparser/keywords.go index 1ca0c61e640..e382eefc4f4 100644 --- a/go/vt/sqlparser/keywords.go +++ b/go/vt/sqlparser/keywords.go @@ -555,6 +555,7 @@ var keywords = []keyword{ {"stored", STORED}, {"straight_join", STRAIGHT_JOIN}, {"stream", STREAM}, + {"sum", SUM}, {"system", UNUSED}, {"table", TABLE}, {"tables", TABLES}, diff --git a/go/vt/sqlparser/parse_test.go b/go/vt/sqlparser/parse_test.go index 1ae3ba52e58..c737d67bf56 100644 --- a/go/vt/sqlparser/parse_test.go +++ b/go/vt/sqlparser/parse_test.go @@ -43,7 +43,9 @@ var ( ignoreNormalizerTest bool }{ {input: "select /* function with distinct */ count(a) from t"}, + {input: "select /* function with distinct */ count(a) 'total col' from t"}, {input: "select /* function with distinct */ count(distinct a) from t"}, + {input: "select /* function with distinct */ count(distinct(a)) from t"}, {input: "select /* function with distinct */ count(*) from t"}, {input: "select avg(a) from products"}, {input: "select avg(distinct(a)) from products"}, @@ -51,6 +53,13 @@ var ( {input: "select format(avg(distinct a), 2) from products"}, {input: "select max(a) from products"}, {input: "select min(a) from products"}, + {input: "select sum(a) from products"}, + {input: "select sum(distinct(a)) from products", + output: "select sum(distinct a) from products"}, + {input: "select sum(distinct a) from products"}, + {input: "select sum(a) 'sum Price' from products", + output: "select sum(a) as `sum Price` from products"}, + {input: "select sum(a * b) from products"}, } validSQL = []struct { input string diff --git a/go/vt/sqlparser/sql.go b/go/vt/sqlparser/sql.go index dffb9d428f8..89738458e2a 100644 --- a/go/vt/sqlparser/sql.go +++ b/go/vt/sqlparser/sql.go @@ -494,151 +494,152 @@ const COUNT = 57791 const AVG = 57792 const MAX = 57793 const MIN = 57794 -const MATCH = 57795 -const AGAINST = 57796 -const BOOLEAN = 57797 -const LANGUAGE = 57798 -const WITH = 57799 -const QUERY = 57800 -const EXPANSION = 57801 -const WITHOUT = 57802 -const VALIDATION = 57803 -const UNUSED = 57804 -const ARRAY = 57805 -const BYTE = 57806 -const CUME_DIST = 57807 -const DESCRIPTION = 57808 -const DENSE_RANK = 57809 -const EMPTY = 57810 -const EXCEPT = 57811 -const FIRST_VALUE = 57812 -const GROUPING = 57813 -const GROUPS = 57814 -const JSON_TABLE = 57815 -const LAG = 57816 -const LAST_VALUE = 57817 -const LATERAL = 57818 -const LEAD = 57819 -const NTH_VALUE = 57820 -const NTILE = 57821 -const OF = 57822 -const OVER = 57823 -const PERCENT_RANK = 57824 -const RANK = 57825 -const RECURSIVE = 57826 -const ROW_NUMBER = 57827 -const SYSTEM = 57828 -const WINDOW = 57829 -const ACTIVE = 57830 -const ADMIN = 57831 -const AUTOEXTEND_SIZE = 57832 -const BUCKETS = 57833 -const CLONE = 57834 -const COLUMN_FORMAT = 57835 -const COMPONENT = 57836 -const DEFINITION = 57837 -const ENFORCED = 57838 -const ENGINE_ATTRIBUTE = 57839 -const EXCLUDE = 57840 -const FOLLOWING = 57841 -const GEOMCOLLECTION = 57842 -const GET_MASTER_PUBLIC_KEY = 57843 -const HISTOGRAM = 57844 -const HISTORY = 57845 -const INACTIVE = 57846 -const INVISIBLE = 57847 -const LOCKED = 57848 -const MASTER_COMPRESSION_ALGORITHMS = 57849 -const MASTER_PUBLIC_KEY_PATH = 57850 -const MASTER_TLS_CIPHERSUITES = 57851 -const MASTER_ZSTD_COMPRESSION_LEVEL = 57852 -const NESTED = 57853 -const NETWORK_NAMESPACE = 57854 -const NOWAIT = 57855 -const NULLS = 57856 -const OJ = 57857 -const OLD = 57858 -const OPTIONAL = 57859 -const ORDINALITY = 57860 -const ORGANIZATION = 57861 -const OTHERS = 57862 -const PARTIAL = 57863 -const PATH = 57864 -const PERSIST = 57865 -const PERSIST_ONLY = 57866 -const PRECEDING = 57867 -const PRIVILEGE_CHECKS_USER = 57868 -const PROCESS = 57869 -const RANDOM = 57870 -const REFERENCE = 57871 -const REQUIRE_ROW_FORMAT = 57872 -const RESOURCE = 57873 -const RESPECT = 57874 -const RESTART = 57875 -const RETAIN = 57876 -const REUSE = 57877 -const ROLE = 57878 -const SECONDARY = 57879 -const SECONDARY_ENGINE = 57880 -const SECONDARY_ENGINE_ATTRIBUTE = 57881 -const SECONDARY_LOAD = 57882 -const SECONDARY_UNLOAD = 57883 -const SIMPLE = 57884 -const SKIP = 57885 -const SRID = 57886 -const THREAD_PRIORITY = 57887 -const TIES = 57888 -const UNBOUNDED = 57889 -const VCPU = 57890 -const VISIBLE = 57891 -const RETURNING = 57892 -const FORMAT = 57893 -const TREE = 57894 -const VITESS = 57895 -const TRADITIONAL = 57896 -const LOCAL = 57897 -const LOW_PRIORITY = 57898 -const NO_WRITE_TO_BINLOG = 57899 -const LOGS = 57900 -const ERROR = 57901 -const GENERAL = 57902 -const HOSTS = 57903 -const OPTIMIZER_COSTS = 57904 -const USER_RESOURCES = 57905 -const SLOW = 57906 -const CHANNEL = 57907 -const RELAY = 57908 -const EXPORT = 57909 -const AVG_ROW_LENGTH = 57910 -const CONNECTION = 57911 -const CHECKSUM = 57912 -const DELAY_KEY_WRITE = 57913 -const ENCRYPTION = 57914 -const ENGINE = 57915 -const INSERT_METHOD = 57916 -const MAX_ROWS = 57917 -const MIN_ROWS = 57918 -const PACK_KEYS = 57919 -const PASSWORD = 57920 -const FIXED = 57921 -const DYNAMIC = 57922 -const COMPRESSED = 57923 -const REDUNDANT = 57924 -const COMPACT = 57925 -const ROW_FORMAT = 57926 -const STATS_AUTO_RECALC = 57927 -const STATS_PERSISTENT = 57928 -const STATS_SAMPLE_PAGES = 57929 -const STORAGE = 57930 -const MEMORY = 57931 -const DISK = 57932 -const PARTITIONS = 57933 -const LINEAR = 57934 -const RANGE = 57935 -const LIST = 57936 -const SUBPARTITION = 57937 -const SUBPARTITIONS = 57938 -const HASH = 57939 +const SUM = 57795 +const MATCH = 57796 +const AGAINST = 57797 +const BOOLEAN = 57798 +const LANGUAGE = 57799 +const WITH = 57800 +const QUERY = 57801 +const EXPANSION = 57802 +const WITHOUT = 57803 +const VALIDATION = 57804 +const UNUSED = 57805 +const ARRAY = 57806 +const BYTE = 57807 +const CUME_DIST = 57808 +const DESCRIPTION = 57809 +const DENSE_RANK = 57810 +const EMPTY = 57811 +const EXCEPT = 57812 +const FIRST_VALUE = 57813 +const GROUPING = 57814 +const GROUPS = 57815 +const JSON_TABLE = 57816 +const LAG = 57817 +const LAST_VALUE = 57818 +const LATERAL = 57819 +const LEAD = 57820 +const NTH_VALUE = 57821 +const NTILE = 57822 +const OF = 57823 +const OVER = 57824 +const PERCENT_RANK = 57825 +const RANK = 57826 +const RECURSIVE = 57827 +const ROW_NUMBER = 57828 +const SYSTEM = 57829 +const WINDOW = 57830 +const ACTIVE = 57831 +const ADMIN = 57832 +const AUTOEXTEND_SIZE = 57833 +const BUCKETS = 57834 +const CLONE = 57835 +const COLUMN_FORMAT = 57836 +const COMPONENT = 57837 +const DEFINITION = 57838 +const ENFORCED = 57839 +const ENGINE_ATTRIBUTE = 57840 +const EXCLUDE = 57841 +const FOLLOWING = 57842 +const GEOMCOLLECTION = 57843 +const GET_MASTER_PUBLIC_KEY = 57844 +const HISTOGRAM = 57845 +const HISTORY = 57846 +const INACTIVE = 57847 +const INVISIBLE = 57848 +const LOCKED = 57849 +const MASTER_COMPRESSION_ALGORITHMS = 57850 +const MASTER_PUBLIC_KEY_PATH = 57851 +const MASTER_TLS_CIPHERSUITES = 57852 +const MASTER_ZSTD_COMPRESSION_LEVEL = 57853 +const NESTED = 57854 +const NETWORK_NAMESPACE = 57855 +const NOWAIT = 57856 +const NULLS = 57857 +const OJ = 57858 +const OLD = 57859 +const OPTIONAL = 57860 +const ORDINALITY = 57861 +const ORGANIZATION = 57862 +const OTHERS = 57863 +const PARTIAL = 57864 +const PATH = 57865 +const PERSIST = 57866 +const PERSIST_ONLY = 57867 +const PRECEDING = 57868 +const PRIVILEGE_CHECKS_USER = 57869 +const PROCESS = 57870 +const RANDOM = 57871 +const REFERENCE = 57872 +const REQUIRE_ROW_FORMAT = 57873 +const RESOURCE = 57874 +const RESPECT = 57875 +const RESTART = 57876 +const RETAIN = 57877 +const REUSE = 57878 +const ROLE = 57879 +const SECONDARY = 57880 +const SECONDARY_ENGINE = 57881 +const SECONDARY_ENGINE_ATTRIBUTE = 57882 +const SECONDARY_LOAD = 57883 +const SECONDARY_UNLOAD = 57884 +const SIMPLE = 57885 +const SKIP = 57886 +const SRID = 57887 +const THREAD_PRIORITY = 57888 +const TIES = 57889 +const UNBOUNDED = 57890 +const VCPU = 57891 +const VISIBLE = 57892 +const RETURNING = 57893 +const FORMAT = 57894 +const TREE = 57895 +const VITESS = 57896 +const TRADITIONAL = 57897 +const LOCAL = 57898 +const LOW_PRIORITY = 57899 +const NO_WRITE_TO_BINLOG = 57900 +const LOGS = 57901 +const ERROR = 57902 +const GENERAL = 57903 +const HOSTS = 57904 +const OPTIMIZER_COSTS = 57905 +const USER_RESOURCES = 57906 +const SLOW = 57907 +const CHANNEL = 57908 +const RELAY = 57909 +const EXPORT = 57910 +const AVG_ROW_LENGTH = 57911 +const CONNECTION = 57912 +const CHECKSUM = 57913 +const DELAY_KEY_WRITE = 57914 +const ENCRYPTION = 57915 +const ENGINE = 57916 +const INSERT_METHOD = 57917 +const MAX_ROWS = 57918 +const MIN_ROWS = 57919 +const PACK_KEYS = 57920 +const PASSWORD = 57921 +const FIXED = 57922 +const DYNAMIC = 57923 +const COMPRESSED = 57924 +const REDUNDANT = 57925 +const COMPACT = 57926 +const ROW_FORMAT = 57927 +const STATS_AUTO_RECALC = 57928 +const STATS_PERSISTENT = 57929 +const STATS_SAMPLE_PAGES = 57930 +const STORAGE = 57931 +const MEMORY = 57932 +const DISK = 57933 +const PARTITIONS = 57934 +const LINEAR = 57935 +const RANGE = 57936 +const LIST = 57937 +const SUBPARTITION = 57938 +const SUBPARTITIONS = 57939 +const HASH = 57940 var yyToknames = [...]string{ "$end", @@ -1110,6 +1111,7 @@ var yyToknames = [...]string{ "AVG", "MAX", "MIN", + "SUM", "MATCH", "AGAINST", "BOOLEAN", @@ -1275,7 +1277,7 @@ var yyExca = [...]int{ -2, 0, -1, 47, 1, 145, - 615, 145, + 616, 145, -2, 153, -1, 48, 132, 153, @@ -1293,11 +1295,11 @@ var yyExca = [...]int{ 235, 766, -2, 764, -1, 114, - 232, 1297, + 232, 1298, -2, 119, -1, 116, 1, 146, - 615, 146, + 616, 146, -2, 153, -1, 127, 133, 384, @@ -1308,1867 +1310,1632 @@ var yyExca = [...]int{ 172, 153, 333, 153, -2, 507, - -1, 703, - 217, 1318, - -2, 1314, - -1, 704, + -1, 705, 217, 1319, -2, 1315, - -1, 779, + -1, 706, + 217, 1320, + -2, 1316, + -1, 781, 59, 834, -2, 849, - -1, 816, - 148, 1730, + -1, 818, + 148, 1731, -2, 112, - -1, 817, - 148, 1569, + -1, 819, + 148, 1570, -2, 113, - -1, 823, - 148, 1655, - -2, 1291, - -1, 971, - 148, 1496, - -2, 1288, - -1, 1012, + -1, 825, + 148, 1656, + -2, 1292, + -1, 973, + 148, 1497, + -2, 1289, + -1, 1014, 243, 41, 248, 41, -2, 395, - -1, 1096, + -1, 1098, 1, 554, - 615, 554, + 616, 554, -2, 153, - -1, 1337, + -1, 1340, 59, 835, -2, 854, - -1, 1338, + -1, 1341, 59, 836, -2, 855, - -1, 1391, + -1, 1394, 132, 153, 172, 153, 333, 153, -2, 434, - -1, 1470, + -1, 1473, 133, 384, 238, 384, -2, 487, - -1, 1479, + -1, 1482, 243, 42, 248, 42, -2, 396, - -1, 1794, - 217, 1323, - -2, 1317, - -1, 1878, + -1, 1798, + 217, 1324, + -2, 1318, + -1, 1882, 132, 153, 172, 153, 333, 153, -2, 435, - -1, 1885, + -1, 1889, 25, 174, -2, 176, - -1, 2139, + -1, 2144, 87, 39, -2, 892, - -1, 2196, + -1, 2201, 77, 94, 87, 94, -2, 912, - -1, 2264, - 590, 666, + -1, 2269, + 591, 666, -2, 640, - -1, 2405, - 49, 1259, - -2, 1253, - -1, 2627, + -1, 2411, + 49, 1260, + -2, 1254, + -1, 2633, 87, 39, -2, 893, - -1, 2665, + -1, 2671, 7, 53, 18, 53, 20, 53, 88, 53, -2, 884, - -1, 2949, - 590, 666, + -1, 2956, + 591, 666, -2, 654, - -1, 3007, - 22, 1657, - 32, 1657, - 173, 1657, - 255, 1657, - 313, 1657, - 314, 1657, - 315, 1657, - 316, 1657, - 317, 1657, - 318, 1657, - 319, 1657, - 321, 1657, - 322, 1657, - 323, 1657, - 324, 1657, - 325, 1657, - 326, 1657, - 327, 1657, - 328, 1657, - 329, 1657, - 330, 1657, - 331, 1657, - 332, 1657, - 334, 1657, - 336, 1657, - 337, 1657, - 338, 1657, - 339, 1657, - 340, 1657, - 341, 1657, - 342, 1657, - 343, 1657, - 344, 1657, - 347, 1657, - 348, 1657, - 349, 1657, - 350, 1657, - 351, 1657, - 352, 1657, - 353, 1657, - 354, 1657, - 355, 1657, - 472, 1657, + -1, 3014, + 22, 1658, + 32, 1658, + 173, 1658, + 255, 1658, + 313, 1658, + 314, 1658, + 315, 1658, + 316, 1658, + 317, 1658, + 318, 1658, + 319, 1658, + 321, 1658, + 322, 1658, + 323, 1658, + 324, 1658, + 325, 1658, + 326, 1658, + 327, 1658, + 328, 1658, + 329, 1658, + 330, 1658, + 331, 1658, + 332, 1658, + 334, 1658, + 336, 1658, + 337, 1658, + 338, 1658, + 339, 1658, + 340, 1658, + 341, 1658, + 342, 1658, + 343, 1658, + 344, 1658, + 347, 1658, + 348, 1658, + 349, 1658, + 350, 1658, + 351, 1658, + 352, 1658, + 353, 1658, + 354, 1658, + 355, 1658, + 473, 1658, -2, 598, } const yyPrivate = 57344 -const yyLast = 43453 +const yyLast = 44186 var yyAct = [...]int{ - 703, 712, 2768, 2769, 3061, 705, 3069, 2767, 2930, 3037, - 2364, 3038, 3005, 2742, 1828, 1394, 2554, 1875, 2989, 1808, - 2460, 2467, 2093, 2517, 2883, 3, 696, 37, 1159, 2522, - 2508, 2418, 2782, 2519, 2518, 2516, 2521, 2520, 794, 2729, - 2421, 2906, 2127, 772, 2475, 1810, 1945, 2537, 96, 2536, - 1352, 186, 2422, 617, 186, 2419, 582, 186, 2636, 2362, - 1316, 2787, 597, 621, 186, 697, 2167, 2630, 2324, 614, - 2363, 694, 186, 695, 706, 643, 2539, 2190, 2416, 1848, - 2656, 2406, 1832, 2154, 2622, 615, 1908, 186, 2229, 2261, - 2307, 2559, 1448, 1933, 613, 2230, 1913, 1864, 2231, 821, - 36, 1976, 2179, 795, 776, 974, 780, 155, 2160, 597, - 1853, 38, 597, 186, 597, 2146, 2129, 1764, 1788, 1108, - 2299, 1852, 1646, 1954, 797, 774, 141, 1932, 609, 1840, - 1688, 1339, 1915, 1007, 2223, 1495, 1763, 818, 1698, 1020, - 1992, 95, 1002, 1383, 626, 2198, 1855, 1361, 1595, 1319, - 1244, 1710, 1665, 1180, 1591, 91, 981, 1013, 1477, 978, - 1930, 1010, 1484, 1575, 982, 1008, 1009, 1833, 1382, 1904, - 1366, 1380, 786, 1706, 1151, 1600, 159, 1157, 1760, 1791, - 781, 119, 117, 1443, 118, 1469, 124, 125, 808, 784, - 97, 782, 76, 98, 604, 1092, 1251, 85, 89, 3062, - 1801, 1137, 1247, 2939, 2254, 188, 189, 190, 102, 1947, - 1948, 1949, 1947, 2730, 2505, 2252, 2527, 2283, 2282, 1990, - 2527, 8, 1560, 553, 120, 783, 77, 1181, 7, 6, - 2685, 2722, 586, 2524, 126, 2315, 2316, 90, 2772, 2962, - 2772, 802, 2963, 807, 1653, 975, 788, 1181, 586, 104, - 105, 1652, 108, 1651, 1049, 114, 1805, 1806, 183, 1650, - 605, 548, 87, 188, 189, 190, 1649, 773, 1024, 1648, - 775, 1631, 1000, 607, 2525, 608, 822, 3026, 2525, 2125, - 815, 768, 769, 770, 771, 2402, 2610, 779, 999, 583, - 1023, 1640, 789, 120, 1059, 796, 2531, 1346, 998, 997, - 2531, 996, 2156, 1980, 986, 3078, 2274, 3036, 3015, 1050, - 1053, 1054, 3052, 3041, 2277, 810, 811, 1978, 1658, 586, - 2879, 2878, 3013, 2771, 1048, 2771, 2735, 1065, 1047, 2736, - 2963, 3019, 3020, 1191, 3077, 78, 569, 991, 2999, 2477, - 2478, 78, 78, 3065, 2958, 1213, 3014, 1979, 567, 3050, - 2743, 78, 2990, 1191, 80, 1973, 2998, 1924, 2957, 2170, - 1836, 120, 2323, 3010, 2592, 1458, 2888, 1214, 1215, 1216, - 1217, 1218, 1219, 1220, 1222, 1221, 1223, 1224, 2126, 2291, - 2034, 1095, 1918, 2290, 2171, 2457, 2458, 1144, 564, 1146, - 2800, 1384, 2207, 1385, 1869, 2206, 2456, 578, 2208, 1870, - 1871, 2314, 2031, 1115, 995, 2528, 1101, 1102, 1116, 2528, - 1127, 766, 574, 87, 765, 2255, 1114, 1154, 1113, 87, - 87, 1115, 2931, 2219, 1132, 1133, 1116, 1143, 1145, 87, - 1807, 2633, 1187, 587, 2352, 1179, 1888, 1887, 1104, 2163, - 2164, 1128, 1121, 2583, 2476, 2032, 586, 586, 2581, 587, - 595, 1639, 1187, 599, 2463, 2556, 2479, 586, 593, 2262, - 2560, 2300, 993, 1323, 1955, 2010, 3064, 2011, 990, 2012, - 2286, 992, 2004, 2001, 2003, 2002, 2005, 2006, 1993, 3042, - 1998, 554, 1136, 556, 570, 1576, 589, 1836, 588, 560, - 1550, 558, 562, 571, 563, 1148, 557, 1066, 568, 2464, - 3043, 559, 572, 573, 576, 579, 580, 581, 577, 575, - 1097, 566, 590, 2302, 1746, 1581, 1641, 1642, 1643, 1134, - 587, 1091, 1917, 1153, 1141, 2466, 1129, 1122, 1142, 1135, - 2724, 995, 1090, 2549, 1551, 1999, 1552, 1997, 1147, 2461, - 2557, 2550, 2558, 1834, 1835, 1130, 1131, 2723, 186, 2013, - 186, 1995, 1072, 186, 1071, 2863, 2477, 2478, 1033, 1958, - 2720, 1031, 1140, 2462, 87, 1003, 995, 3027, 987, 1004, - 1849, 1004, 1042, 1326, 1041, 989, 988, 1040, 1039, 1996, - 994, 1038, 1225, 597, 1161, 597, 597, 1037, 1036, 1035, - 1030, 2353, 2032, 1462, 1043, 2468, 1094, 1225, 2479, 3073, - 597, 597, 1738, 1727, 1728, 1729, 1730, 1740, 1731, 1732, - 1733, 1745, 1741, 1734, 1735, 1742, 1743, 1744, 1736, 1737, - 1739, 979, 3079, 1015, 993, 977, 1022, 1173, 37, 1186, - 1183, 1184, 1185, 1190, 1192, 1189, 979, 1188, 3048, 2306, - 1125, 1016, 979, 1483, 1182, 1592, 1931, 587, 587, 1186, - 1183, 1184, 1185, 1190, 1192, 1189, 809, 1188, 587, 1052, - 1022, 2476, 2303, 1984, 1182, 1015, 2319, 1588, 2221, 1051, - 1834, 1835, 2719, 2479, 1111, 1167, 1117, 1118, 1119, 1120, - 1055, 2046, 2889, 2938, 2253, 2498, 2130, 2132, 591, 1001, - 1977, 2285, 1093, 1044, 1456, 2256, 1455, 1454, 2272, 1155, - 1156, 1589, 1034, 2288, 1452, 1032, 584, 994, 1228, 1229, - 1230, 1231, 1061, 552, 547, 2927, 2634, 2672, 1236, 1582, - 1239, 585, 2161, 1583, 1584, 1021, 2298, 1876, 3018, 2297, - 2652, 1015, 1018, 1019, 1975, 979, 1226, 1227, 2203, 1012, - 1016, 1314, 994, 116, 1580, 2944, 2166, 2117, 1482, 1162, - 1800, 2309, 2325, 1370, 1921, 1295, 2308, 2956, 1106, 1021, - 1011, 1225, 1163, 1164, 2529, 2530, 186, 1224, 2529, 2530, - 597, 597, 3017, 1232, 2455, 1149, 1309, 2533, 1022, 81, - 791, 2533, 2465, 2770, 1152, 2770, 186, 1562, 1561, 1563, - 1564, 1565, 1707, 1110, 1922, 2683, 2684, 2276, 2309, 2952, - 1329, 86, 1920, 2308, 1333, 597, 1708, 86, 86, 186, - 776, 1327, 1022, 3071, 597, 1315, 3072, 86, 3070, 1330, - 597, 1022, 1045, 1176, 774, 1332, 1138, 77, 1601, 2715, - 1174, 1175, 2033, 2646, 2327, 2343, 1923, 1046, 1124, 1994, - 111, 2275, 818, 1253, 1022, 1249, 1919, 1250, 2131, 1126, - 1062, 1063, 1064, 1100, 1067, 1068, 1069, 1070, 1112, 1585, - 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, - 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1021, 1315, 1386, - 1331, 1177, 1025, 1015, 95, 1197, 1103, 1027, 1577, 1711, - 1578, 1028, 1026, 1579, 1196, 1301, 1302, 1303, 1304, 1305, - 2337, 2336, 2335, 2329, 1711, 2333, 2060, 2328, 2796, 2326, - 112, 1021, 1320, 1972, 2331, 1670, 1025, 1015, 2690, 2245, - 1021, 1027, 1060, 2330, 1974, 1028, 1026, 2689, 1096, 1671, - 1672, 1669, 1720, 2469, 1109, 1962, 98, 2473, 1195, 1196, - 2332, 2334, 1492, 1021, 1491, 2472, 1029, 1197, 1967, 1015, - 1018, 1019, 1481, 979, 1970, 1033, 1031, 1012, 1016, 1317, - 1219, 1220, 1222, 1221, 1223, 1224, 773, 3044, 2074, 1197, - 1139, 1328, 1602, 2968, 186, 1351, 775, 1197, 1444, 2474, - 2673, 822, 1348, 1381, 2470, 1971, 1967, 1334, 1453, 2471, - 1217, 1218, 1219, 1220, 1222, 1221, 1223, 1224, 2049, 1376, - 1377, 1215, 1216, 1217, 1218, 1219, 1220, 1222, 1221, 1223, - 1224, 597, 3080, 1479, 1371, 3075, 2969, 1194, 2871, 1195, - 1196, 1488, 1197, 1969, 2870, 1490, 2345, 2861, 1493, 1494, - 597, 597, 2082, 597, 2920, 597, 597, 2760, 597, 597, - 597, 597, 597, 597, 1201, 1202, 1203, 1204, 1205, 1206, - 1207, 1199, 1525, 1526, 1197, 597, 1660, 1662, 1663, 186, - 1531, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1222, 1221, - 1223, 1224, 2038, 2039, 2040, 2759, 186, 2921, 2697, 1194, - 1661, 1195, 1196, 2749, 87, 2750, 1570, 1489, 1346, 597, - 1197, 186, 813, 2553, 2696, 1715, 2686, 3081, 1668, 1716, - 2056, 1194, 1590, 1195, 1196, 597, 1346, 186, 2506, 1194, - 1197, 1195, 1196, 1346, 1524, 2494, 1475, 1527, 717, 718, - 719, 1545, 2227, 186, 2226, 1927, 1568, 1571, 2589, 1197, - 186, 1557, 1555, 1468, 1554, 1553, 1197, 2899, 1346, 186, - 186, 186, 186, 186, 186, 186, 186, 186, 597, 1543, - 1569, 1537, 1841, 1842, 1194, 1534, 1195, 1196, 1485, 1485, - 1528, 1533, 597, 597, 1532, 1504, 1497, 3045, 1498, 2947, - 1500, 1502, 1197, 2055, 1506, 1508, 1510, 1512, 1514, 1487, - 186, 1451, 1486, 2946, 1355, 1213, 1194, 2318, 1195, 1196, - 1567, 1465, 1466, 1464, 1346, 1556, 1478, 188, 189, 190, - 1457, 2680, 2924, 2923, 2922, 2866, 1597, 1214, 1215, 1216, - 1217, 1218, 1219, 1220, 1222, 1221, 1223, 1224, 2896, 2587, - 1346, 2851, 1194, 1529, 1195, 1196, 597, 1197, 1695, 1695, - 2850, 1197, 1693, 1693, 1356, 2795, 2793, 1692, 1696, 1701, - 597, 1605, 1194, 2756, 1195, 1196, 2694, 2679, 1609, 2561, - 1611, 1612, 1613, 1614, 2497, 2102, 1346, 1618, 1593, 597, - 597, 1194, 1197, 1195, 1196, 2496, 1197, 2236, 1194, 1630, - 1195, 1196, 2224, 120, 1666, 188, 189, 190, 998, 997, - 1673, 996, 1675, 1676, 1677, 1678, 1679, 1680, 1681, 1682, - 1683, 1684, 1685, 1686, 1687, 1664, 1311, 1674, 1988, 1607, - 1987, 1197, 1831, 1813, 1194, 1632, 1195, 1196, 1197, 1598, - 1712, 3046, 1566, 1558, 2094, 1603, 1604, 1548, 1359, 1544, - 1166, 1540, 186, 1629, 1792, 1628, 1539, 597, 1538, 1608, - 1357, 1761, 1197, 1150, 2895, 2051, 1615, 1616, 1617, 1636, - 1637, 2645, 188, 189, 190, 2050, 2210, 2152, 3063, 2855, - 2935, 186, 2854, 1667, 597, 94, 188, 189, 190, 1194, - 1943, 1195, 1196, 1194, 186, 1195, 1196, 2741, 597, 1818, - 2263, 1819, 100, 186, 1197, 186, 2241, 186, 186, 597, - 3032, 1346, 597, 1761, 1358, 3023, 1197, 188, 189, 190, - 2199, 1941, 1346, 597, 1194, 1794, 1195, 1196, 1194, 1792, - 1195, 1196, 188, 189, 190, 2199, 1939, 818, 2152, 2996, - 818, 92, 1885, 1697, 1346, 2667, 1796, 1797, 95, 1197, - 1703, 1704, 93, 2152, 2976, 2152, 2972, 1884, 1717, 1719, - 2964, 1346, 2148, 1194, 2647, 1195, 1196, 95, 2152, 2940, - 1194, 2047, 1195, 1196, 1793, 2733, 2937, 94, 597, 2450, - 1197, 2606, 1346, 2200, 1851, 1934, 1935, 1936, 2859, 2032, - 1938, 1940, 1942, 2202, 1194, 1193, 1195, 1196, 2200, 2608, - 1794, 1824, 2874, 1346, 2951, 597, 1795, 1346, 2032, 1798, - 1799, 597, 1488, 2152, 2862, 1488, 2152, 1488, 1894, 1895, - 1896, 1897, 1889, 1966, 1890, 1891, 1892, 1893, 1880, 1879, - 1862, 1812, 2175, 2716, 788, 2047, 1194, 2168, 1195, 1196, - 1900, 1901, 1902, 1903, 101, 1197, 1823, 1968, 1194, 1846, - 1195, 1196, 2176, 1826, 1956, 100, 1883, 99, 597, 1910, - 597, 2733, 1346, 2604, 2152, 2731, 597, 597, 1844, 1213, - 1916, 2045, 704, 1967, 1346, 92, 822, 2606, 1867, 822, - 1866, 1194, 94, 1195, 1196, 2485, 93, 2176, 1882, 1881, - 2168, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1222, 1221, - 1223, 1224, 2650, 1346, 186, 1967, 1197, 2390, 1926, 2176, - 1953, 186, 1194, 1868, 1195, 1196, 1197, 2047, 186, 186, - 1193, 1346, 186, 187, 186, 1346, 187, 2087, 2595, 187, - 2071, 186, 2070, 1911, 598, 1967, 187, 1950, 186, 1906, - 1907, 1346, 1925, 1024, 187, 1929, 2087, 1346, 1937, 2487, - 2486, 2483, 2484, 1485, 2483, 2482, 2176, 1346, 1839, 187, - 2047, 1346, 2645, 1981, 186, 1023, 1959, 1960, 1911, 597, - 1961, 1350, 1197, 1964, 1803, 1965, 1963, 1194, 1197, 1195, - 1196, 598, 1982, 1197, 598, 187, 598, 1644, 1213, 2594, - 1983, 1209, 1197, 1210, 2032, 2284, 1985, 1986, 1197, 2979, - 2228, 1447, 2266, 1197, 1587, 1213, 1378, 1211, 1212, 1208, - 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1222, 1221, 1223, - 1224, 1006, 1197, 1459, 1460, 1461, 1991, 1214, 1215, 1216, - 1217, 1218, 1219, 1220, 1222, 1221, 1223, 1224, 1194, 1197, - 1195, 1196, 2259, 2260, 2152, 2151, 1197, 2698, 1194, 1005, - 1195, 1196, 87, 2023, 2024, 2111, 1447, 1446, 2026, 2885, - 101, 2110, 1197, 1392, 1391, 1666, 2109, 2027, 1197, 2417, - 2042, 100, 2044, 99, 2016, 2108, 1353, 1197, 2852, 2509, - 2645, 2107, 94, 1197, 778, 2233, 2106, 2043, 2807, 1535, - 1536, 2714, 1197, 2711, 2692, 1541, 1542, 2598, 2699, 2700, - 2701, 1197, 1095, 2597, 1194, 2105, 1195, 1196, 1449, 1909, - 1194, 2551, 1195, 1196, 2511, 1194, 1197, 1195, 1196, 2507, - 2267, 2555, 2104, 1905, 1194, 1197, 1195, 1196, 2030, 2103, - 1194, 1899, 1195, 1196, 186, 1194, 1898, 1195, 1196, 1634, - 1573, 1346, 186, 1480, 1667, 2097, 1695, 597, 1476, 1445, - 1693, 2096, 2041, 597, 1194, 2136, 1195, 1196, 113, 2123, - 2095, 2140, 87, 2886, 597, 2232, 2092, 1924, 1520, 2657, - 2658, 1194, 1816, 1195, 1196, 2091, 3058, 3056, 1194, 3039, - 1195, 1196, 2961, 2904, 2090, 2660, 1197, 2134, 186, 2503, - 2702, 2059, 186, 1516, 1194, 2502, 1195, 1196, 2501, 2088, - 1194, 1635, 1195, 1196, 2172, 37, 2417, 2209, 2084, 1194, - 2246, 1195, 1196, 2233, 2192, 1194, 2057, 1195, 1196, 1521, - 1522, 1523, 2017, 2439, 1194, 1354, 1195, 1196, 2440, 2663, - 1794, 1344, 1340, 1194, 2080, 1195, 1196, 2703, 2704, 2705, - 1517, 1518, 1519, 2662, 2153, 2436, 1341, 2437, 1194, 2435, - 1195, 1196, 2438, 3029, 2997, 597, 1830, 1194, 1822, 1195, - 1196, 186, 2441, 2651, 2185, 2186, 1344, 1340, 186, 2083, - 2395, 1820, 1821, 1343, 2162, 1342, 2394, 2919, 2786, 1793, - 1320, 1341, 597, 2124, 2638, 2777, 2149, 2776, 2191, 597, - 2788, 2641, 2637, 1488, 1488, 2404, 2258, 792, 597, 2114, - 2115, 1586, 2150, 2220, 2222, 793, 1337, 1338, 1343, 2145, - 1342, 764, 2481, 2217, 2197, 2281, 2213, 2165, 1194, 2237, - 1195, 1196, 1707, 2407, 2409, 1057, 186, 186, 186, 186, - 186, 2280, 2410, 2569, 92, 2775, 1708, 1056, 1916, 2201, - 2232, 94, 2204, 2312, 2214, 93, 1165, 186, 186, 92, - 2211, 2181, 2184, 2185, 2186, 2182, 2273, 2183, 2187, 121, - 93, 2657, 2658, 186, 2225, 2181, 2184, 2185, 2186, 2182, - 2643, 2183, 2187, 101, 1841, 1842, 3067, 2234, 94, 2499, - 2020, 2936, 597, 2881, 100, 2480, 99, 2189, 2242, 1827, - 800, 801, 2247, 2248, 2249, 94, 2393, 2009, 2008, 2007, - 2243, 2623, 2279, 101, 2392, 2036, 99, 1468, 2911, 2910, - 2794, 2792, 2791, 2784, 100, 100, 99, 2712, 2642, 2640, - 187, 2512, 187, 1951, 1695, 187, 1695, 1463, 1693, 1695, - 1693, 2342, 101, 1693, 1695, 2278, 774, 799, 1693, 2783, - 2631, 2168, 2148, 100, 3060, 3059, 3060, 2354, 597, 2338, - 2072, 2268, 2269, 1814, 1372, 598, 1363, 598, 598, 2301, - 106, 107, 2321, 3059, 597, 2925, 2678, 790, 103, 2304, - 2320, 88, 598, 598, 1, 1718, 2384, 2682, 3012, 186, - 565, 1804, 1318, 597, 2367, 3040, 2365, 3008, 2365, 3009, - 1559, 2365, 1345, 1549, 2744, 1762, 2365, 597, 2370, 2377, - 2378, 2379, 2380, 2371, 597, 597, 2882, 186, 186, 186, - 186, 186, 2339, 2515, 1957, 2710, 2322, 1914, 1014, 186, - 146, 1877, 1878, 2992, 186, 2384, 110, 186, 972, 186, - 780, 109, 186, 186, 186, 2358, 2414, 2429, 1017, 1123, - 1952, 2734, 2218, 2397, 1886, 1398, 2449, 1396, 1397, 1395, - 1333, 2192, 1400, 1399, 2310, 2073, 2398, 2311, 2609, 1638, - 687, 594, 2188, 184, 2420, 2383, 1387, 2423, 2495, 2420, - 2372, 2373, 2374, 2375, 2376, 2385, 1364, 186, 1058, 555, - 2488, 1989, 561, 1237, 1633, 2391, 2205, 819, 812, 1815, - 597, 2396, 2138, 2425, 2635, 2403, 2411, 2412, 597, 2389, - 2386, 2387, 2388, 186, 781, 2405, 2451, 2155, 2408, 2452, - 2401, 2399, 2535, 2918, 2785, 782, 186, 2977, 2431, 2432, - 2442, 2434, 596, 2215, 2446, 2447, 95, 1360, 2430, 2058, - 2453, 2433, 1709, 1597, 186, 1856, 1659, 186, 187, 619, - 2428, 618, 598, 598, 616, 2141, 2169, 2570, 1200, 707, - 2459, 2128, 1373, 2180, 2178, 2177, 2514, 2491, 187, 2490, - 2489, 2018, 1863, 2659, 2655, 3004, 1858, 1854, 2147, 820, - 627, 620, 976, 612, 983, 2675, 2543, 598, 2542, 2541, - 2287, 187, 2552, 2289, 2216, 2548, 598, 1178, 1336, 606, - 1916, 985, 598, 2534, 2887, 2513, 2942, 2035, 2546, 2591, - 1335, 1725, 1726, 2949, 2523, 2728, 2504, 2264, 1944, 63, - 41, 1753, 601, 2603, 3025, 1169, 806, 32, 31, 30, - 29, 597, 186, 2562, 2565, 2564, 28, 23, 22, 21, - 20, 19, 25, 18, 17, 2573, 16, 2526, 3035, 3066, - 115, 50, 47, 2572, 45, 123, 2579, 122, 2576, 2577, - 48, 2578, 44, 1098, 2580, 42, 2582, 27, 2584, 26, - 2567, 2568, 15, 14, 13, 12, 11, 10, 9, 5, - 4, 35, 34, 33, 1172, 24, 2, 2251, 1946, 0, - 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2629, 0, 0, 0, 0, 0, 2681, - 0, 0, 2624, 2625, 0, 0, 0, 0, 0, 0, - 186, 0, 0, 0, 0, 2632, 0, 2639, 0, 0, - 0, 0, 0, 0, 2664, 0, 2654, 2644, 0, 186, - 0, 0, 186, 186, 186, 0, 0, 0, 0, 0, - 0, 0, 597, 597, 2661, 0, 187, 0, 2670, 2671, - 0, 0, 0, 0, 0, 0, 2717, 2718, 2669, 2668, - 0, 0, 0, 0, 0, 2543, 0, 2542, 0, 2676, - 2677, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 598, 0, 0, 597, 597, 597, 597, - 0, 0, 0, 0, 0, 2693, 0, 2695, 0, 0, - 0, 0, 598, 598, 0, 598, 0, 598, 598, 0, - 598, 598, 598, 598, 598, 598, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 598, 2740, 0, - 0, 187, 0, 0, 0, 0, 1695, 0, 1695, 0, - 1693, 2235, 1693, 0, 0, 0, 2238, 2239, 187, 2738, - 2739, 0, 0, 0, 0, 0, 0, 186, 0, 0, - 2755, 598, 0, 187, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2751, 0, 2780, 598, 0, 187, - 0, 597, 0, 597, 0, 0, 0, 0, 0, 0, - 2752, 0, 0, 0, 2763, 187, 0, 0, 2365, 1695, - 2365, 0, 187, 1693, 0, 2801, 37, 2764, 2809, 2773, - 0, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 598, 0, 2803, 0, 2790, 0, 2789, 2781, 2805, 0, - 2799, 2797, 0, 774, 598, 598, 0, 0, 0, 2420, - 0, 0, 0, 2423, 0, 597, 0, 2423, 0, 0, - 0, 0, 187, 0, 0, 0, 0, 0, 186, 2860, - 0, 597, 2813, 0, 0, 2810, 2811, 0, 0, 0, - 0, 0, 0, 0, 597, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2856, 0, 2858, - 0, 2857, 0, 0, 0, 0, 0, 0, 598, 0, - 2901, 2902, 2884, 2872, 1695, 597, 2876, 0, 1693, 597, - 597, 2877, 598, 2905, 0, 0, 2864, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 598, 598, 0, 0, 0, 0, 0, 597, 0, - 0, 0, 0, 820, 2915, 820, 820, 0, 0, 0, - 2912, 2913, 2929, 2914, 0, 0, 0, 0, 0, 0, - 1168, 1170, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2926, 0, 0, 2928, 2917, 0, 0, 0, 0, - 0, 0, 0, 597, 2932, 0, 0, 0, 0, 774, - 0, 0, 0, 0, 187, 0, 2423, 2934, 186, 598, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 597, 186, 0, 0, - 0, 0, 0, 187, 0, 0, 598, 0, 0, 0, - 2953, 0, 0, 0, 0, 0, 187, 2950, 37, 0, - 598, 0, 0, 2945, 2948, 187, 0, 187, 0, 187, - 187, 598, 0, 0, 598, 0, 2492, 2493, 597, 2941, - 0, 0, 0, 0, 0, 598, 0, 0, 0, 0, - 0, 0, 0, 1312, 1347, 1349, 0, 0, 0, 0, - 0, 0, 597, 597, 0, 0, 0, 2970, 0, 0, - 0, 0, 2978, 37, 0, 597, 0, 0, 0, 0, - 2980, 2975, 0, 2983, 186, 597, 2991, 0, 0, 2988, - 2884, 2993, 3000, 2985, 2984, 2982, 2987, 2986, 0, 2420, - 598, 0, 0, 3003, 0, 3033, 0, 3021, 3011, 3016, - 1324, 1325, 0, 0, 0, 1415, 0, 0, 0, 0, - 0, 0, 0, 3028, 0, 0, 0, 598, 0, 0, - 0, 0, 3034, 598, 597, 0, 0, 0, 0, 0, - 0, 0, 0, 597, 0, 1368, 0, 1695, 3047, 0, - 0, 1693, 3049, 0, 820, 3051, 3054, 0, 3057, 3055, - 1388, 0, 3053, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3068, 0, 0, 0, 3074, 3076, 0, - 598, 0, 598, 0, 0, 0, 0, 0, 598, 598, - 1695, 0, 0, 0, 1693, 3084, 3085, 2902, 0, 3082, - 3083, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 187, 0, 0, 0, - 0, 0, 0, 187, 0, 0, 0, 0, 0, 0, - 187, 187, 0, 0, 187, 0, 187, 0, 0, 0, - 0, 0, 0, 187, 0, 0, 1403, 0, 0, 0, - 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2687, 2688, 0, - 0, 0, 0, 0, 0, 0, 187, 0, 0, 0, - 0, 598, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2721, - 0, 0, 0, 2725, 2726, 2727, 0, 0, 1416, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 976, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1312, 0, 182, 0, 0, 0, - 1496, 1496, 0, 1496, 0, 1496, 1496, 0, 1505, 1496, - 1496, 1496, 1496, 1496, 0, 0, 0, 0, 0, 0, - 121, 1312, 0, 0, 1312, 976, 1429, 1432, 1433, 1434, - 1435, 1436, 1437, 164, 1438, 1439, 1440, 1441, 1442, 1417, - 1418, 1419, 1420, 1401, 1402, 1430, 0, 1404, 0, 1405, - 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 0, 1572, - 1414, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 0, - 0, 0, 0, 0, 0, 1594, 2212, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 187, 0, 0, 0, - 0, 161, 0, 162, 187, 0, 0, 0, 0, 598, - 0, 0, 0, 0, 0, 598, 0, 0, 0, 0, - 0, 0, 0, 181, 0, 0, 598, 0, 820, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 820, 820, 0, 0, 0, 0, 0, 0, - 187, 0, 0, 0, 187, 0, 0, 0, 0, 0, - 0, 1713, 0, 0, 0, 1714, 2867, 2868, 2869, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1431, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1689, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 598, 0, 0, - 1702, 0, 0, 187, 0, 0, 0, 1312, 1347, 1802, - 187, 0, 165, 0, 0, 0, 0, 0, 0, 1723, - 1724, 171, 0, 0, 598, 0, 0, 0, 0, 0, - 0, 598, 0, 0, 0, 0, 0, 0, 0, 0, - 598, 1825, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 820, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 187, 187, - 187, 187, 187, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 182, 1817, 0, 187, - 187, 0, 0, 0, 0, 0, 0, 2257, 0, 0, + 705, 714, 2775, 2370, 3068, 2774, 3076, 2773, 2937, 3044, + 1879, 3045, 2748, 3012, 1397, 2560, 707, 2996, 1812, 2466, + 1832, 2473, 2098, 2523, 2890, 3, 2514, 2528, 1161, 2525, + 622, 2788, 2424, 2524, 2522, 2527, 2526, 2735, 699, 796, + 96, 1814, 2427, 2913, 2132, 1949, 1355, 2543, 2542, 2642, + 2481, 186, 2636, 618, 186, 774, 583, 186, 2428, 708, + 2368, 2425, 598, 2329, 186, 2369, 696, 615, 2195, 2422, + 697, 2172, 186, 1319, 2793, 644, 2545, 1852, 2412, 2159, + 2662, 2234, 1836, 2628, 1110, 2312, 1912, 186, 698, 37, + 2266, 2235, 1451, 614, 1937, 2565, 2236, 1917, 823, 2184, + 1868, 1980, 797, 36, 1856, 616, 2165, 155, 2151, 598, + 976, 1857, 598, 186, 598, 2134, 1792, 776, 1767, 1691, + 38, 1768, 1701, 2304, 1342, 141, 1936, 1844, 1996, 1649, + 1919, 2228, 1009, 1004, 1958, 1498, 1386, 820, 2203, 1480, + 95, 610, 1364, 1859, 1322, 1713, 1246, 1182, 983, 1594, + 627, 91, 1668, 1487, 980, 1598, 1015, 1012, 984, 1908, + 1934, 1578, 1010, 1011, 1383, 1369, 778, 1385, 782, 788, + 1709, 1159, 1153, 1603, 159, 1764, 119, 117, 118, 1795, + 1022, 1837, 1446, 783, 1472, 124, 799, 125, 810, 98, + 786, 76, 1253, 1094, 1139, 1805, 605, 97, 85, 1249, + 784, 2946, 2259, 89, 3069, 102, 1951, 1952, 1953, 1951, + 2736, 2511, 2533, 2288, 2287, 1994, 2257, 2533, 1183, 2728, + 785, 77, 120, 1563, 8, 804, 7, 809, 6, 2691, + 2530, 2320, 90, 126, 2321, 2970, 2778, 554, 2969, 1809, + 1810, 2778, 790, 587, 977, 1656, 104, 105, 1655, 108, + 1654, 1653, 114, 1652, 1051, 183, 1651, 1634, 549, 87, + 2130, 608, 606, 609, 1643, 3033, 2408, 2616, 2279, 777, + 2531, 3048, 3085, 817, 775, 2531, 993, 2161, 770, 771, + 772, 773, 988, 1002, 781, 3043, 1025, 791, 1984, 3059, + 824, 120, 2537, 1000, 999, 998, 798, 2537, 1349, 1982, + 2282, 1661, 1001, 2886, 2885, 1052, 1055, 1056, 587, 1026, + 1050, 1049, 812, 813, 188, 189, 190, 78, 3084, 2741, + 182, 2777, 2742, 3006, 1193, 3072, 2777, 78, 2038, 2970, + 80, 78, 1983, 78, 2965, 1061, 3057, 2749, 3022, 2997, + 1977, 1067, 3005, 2964, 121, 1183, 2328, 3017, 2598, 1840, + 1461, 2131, 3020, 1097, 2296, 2175, 2462, 164, 2295, 120, + 1215, 3026, 3027, 2463, 2464, 2212, 2806, 2319, 2211, 2483, + 2484, 2213, 1874, 1875, 2035, 992, 3021, 1873, 994, 1928, + 2176, 2895, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1224, + 1223, 1225, 1226, 2036, 997, 87, 1103, 1104, 1129, 1156, + 2217, 2534, 1134, 1135, 1922, 87, 2534, 768, 1387, 87, + 1388, 87, 767, 2260, 1811, 161, 1146, 162, 1148, 1117, + 1117, 2938, 1750, 1189, 1118, 1118, 1181, 2224, 1106, 587, + 1892, 1891, 1116, 587, 1115, 2358, 587, 181, 3049, 2168, + 2169, 596, 1642, 2589, 588, 1130, 2587, 600, 2639, 1123, + 594, 1193, 995, 2562, 2566, 2305, 1145, 1147, 1326, 3050, + 1093, 2008, 2005, 2007, 2006, 2009, 2010, 1584, 2267, 1068, + 1959, 2555, 2291, 997, 2482, 989, 2014, 1840, 2015, 2556, + 2016, 2002, 991, 990, 1997, 3071, 2485, 1579, 1132, 1133, + 1644, 1645, 1646, 1553, 1150, 1138, 1099, 1136, 2307, 1024, + 2730, 2001, 2729, 997, 1092, 1155, 2017, 1137, 1074, 588, + 1742, 1731, 1732, 1733, 1734, 1744, 1735, 1736, 1737, 1749, + 1745, 1738, 1739, 1746, 1747, 1748, 1740, 1741, 1743, 1073, + 1131, 995, 1838, 1839, 1124, 2564, 2003, 1554, 2563, 1555, + 1999, 2726, 2870, 2000, 1921, 1046, 165, 1962, 1035, 186, + 1189, 186, 1033, 1143, 186, 171, 3034, 1144, 1005, 87, + 1853, 1006, 1006, 1044, 1043, 1329, 1042, 1149, 1096, 981, + 996, 1041, 2485, 1040, 1018, 1039, 1038, 1465, 1037, 1032, + 1045, 1024, 3086, 1227, 598, 1163, 598, 598, 3055, 981, + 1227, 1142, 2359, 979, 981, 1486, 1017, 1054, 1023, 1595, + 1935, 598, 598, 1017, 1017, 1020, 1021, 1053, 981, 2135, + 2137, 2036, 1014, 1018, 811, 1127, 2308, 1988, 2504, 2311, + 1591, 1188, 1185, 1186, 1187, 1192, 1194, 1191, 1175, 1190, + 588, 1169, 2290, 1013, 588, 3080, 1184, 588, 1057, 1459, + 1113, 1458, 1119, 1120, 1121, 1122, 1457, 1024, 2277, 996, + 2934, 1592, 1455, 2725, 188, 189, 190, 553, 2226, 548, + 1838, 1839, 2678, 1979, 1095, 1157, 1158, 2324, 1228, 1229, + 2658, 1585, 156, 1981, 2050, 1586, 1587, 2208, 2293, 996, + 1023, 2303, 2945, 2258, 2302, 2171, 1017, 1020, 1021, 1048, + 981, 37, 1036, 2261, 1014, 1018, 1034, 587, 2896, 2122, + 1485, 1003, 1064, 1065, 1066, 1804, 1069, 1070, 1071, 1072, + 1373, 1583, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, + 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1230, + 1231, 1232, 1233, 2640, 1298, 1108, 2166, 116, 584, 1238, + 2951, 1241, 1880, 2963, 1227, 1312, 1023, 1226, 1188, 1185, + 1186, 1187, 1192, 1194, 1191, 81, 1190, 1165, 1166, 3025, + 2281, 2535, 2536, 1184, 2461, 793, 2535, 2536, 186, 1151, + 2314, 2136, 598, 598, 2539, 2313, 1154, 1925, 2314, 2539, + 1234, 2037, 2776, 2313, 86, 570, 1112, 2776, 186, 1565, + 1564, 1566, 1567, 1568, 86, 2689, 2690, 568, 86, 2959, + 86, 1164, 1140, 3024, 2280, 1317, 1047, 598, 2721, 2652, + 1998, 186, 1063, 1126, 1330, 1024, 598, 1926, 776, 1335, + 1318, 157, 598, 77, 1128, 1924, 1105, 1178, 169, 1176, + 1588, 1177, 1102, 1333, 1114, 1389, 1179, 565, 2348, 1604, + 1255, 1714, 1710, 1251, 820, 1252, 579, 2250, 1714, 3078, + 2064, 1673, 3079, 1978, 3077, 1580, 1711, 1581, 1198, 1927, + 1582, 575, 1197, 1198, 1332, 1674, 1675, 1672, 1336, 1923, + 177, 2802, 2696, 2695, 778, 1221, 1222, 1224, 1223, 1225, + 1226, 1334, 1966, 1318, 1199, 95, 1663, 1665, 1666, 111, + 1024, 1495, 1494, 1304, 1305, 1306, 1307, 1308, 588, 158, + 163, 160, 166, 167, 168, 170, 172, 173, 174, 175, + 1664, 1323, 1484, 1976, 1023, 176, 178, 179, 180, 1027, + 1017, 1024, 1098, 1974, 1029, 1971, 1035, 1111, 1030, 1028, + 555, 1033, 557, 571, 98, 590, 3051, 589, 561, 2330, + 559, 563, 572, 564, 1971, 558, 1141, 569, 2975, 1031, + 560, 573, 574, 577, 580, 581, 582, 578, 576, 112, + 567, 591, 1975, 1320, 1217, 1218, 1219, 1220, 1221, 1222, + 1224, 1223, 1225, 1226, 1331, 775, 186, 777, 1354, 1351, + 1447, 1973, 1723, 1605, 2679, 2927, 1337, 1374, 1384, 1023, + 1456, 2976, 3082, 3052, 1027, 1017, 3087, 824, 2878, 1029, + 87, 1379, 1380, 1030, 1028, 1219, 1220, 1221, 1222, 1224, + 1223, 1225, 1226, 598, 1671, 1482, 1196, 2877, 1197, 1198, + 1023, 2332, 1062, 1491, 2755, 2350, 2756, 1493, 2928, 2868, + 1496, 1497, 598, 598, 1573, 598, 1571, 598, 598, 2766, + 598, 598, 598, 598, 598, 598, 1203, 1204, 1205, 1206, + 1207, 1208, 1209, 1201, 1528, 1529, 1492, 598, 2042, 2043, + 2044, 186, 1534, 1216, 1217, 1218, 1219, 1220, 1221, 1222, + 1224, 1223, 1225, 1226, 719, 720, 721, 1199, 186, 2765, + 2703, 3088, 2702, 1527, 2692, 2512, 1530, 2342, 2341, 2340, + 2334, 598, 2338, 186, 2333, 1349, 2331, 815, 1572, 2500, + 1570, 2336, 1718, 1199, 1593, 2232, 1719, 598, 2231, 186, + 2335, 188, 189, 190, 1931, 2686, 1199, 2954, 1574, 1548, + 1558, 2595, 1199, 1478, 1557, 186, 2087, 2337, 2339, 188, + 189, 190, 186, 2215, 1471, 1199, 1556, 1546, 592, 1560, + 1540, 186, 186, 186, 186, 186, 186, 186, 186, 186, + 598, 188, 189, 190, 1537, 1947, 585, 2953, 1845, 1846, + 2906, 1349, 1490, 1199, 598, 598, 1536, 1531, 1500, 1199, + 1501, 586, 1503, 1505, 1535, 1489, 1509, 1511, 1513, 1515, + 1517, 1454, 186, 1507, 188, 189, 190, 1349, 1945, 2931, + 1358, 2930, 1468, 1469, 2929, 1467, 2873, 1481, 2858, 1460, + 1349, 1488, 1488, 1559, 2857, 2593, 1349, 1600, 1608, 1196, + 2801, 1197, 1198, 2799, 2762, 1612, 1199, 1614, 1615, 1616, + 1617, 1199, 2700, 2685, 1621, 188, 189, 190, 598, 1943, + 1698, 1698, 1695, 1699, 1199, 1196, 1633, 1197, 1198, 1532, + 1359, 1704, 598, 2567, 2060, 1696, 1696, 3053, 1196, 1669, + 1197, 1198, 2107, 1349, 1196, 1596, 1197, 1198, 1199, 188, + 189, 190, 598, 598, 2503, 2502, 1199, 1196, 2241, 1197, + 1198, 2229, 1199, 120, 1314, 1000, 999, 998, 1992, 1715, + 1676, 1991, 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, + 1686, 1687, 1688, 1689, 1690, 1196, 1667, 1197, 1198, 1610, + 2942, 1196, 1835, 1197, 1198, 1349, 1199, 1817, 1635, 1601, + 1606, 1607, 1199, 1569, 1561, 1551, 1547, 2059, 1543, 1677, + 1542, 1631, 1541, 1632, 1611, 186, 1360, 1796, 1152, 1362, + 598, 1618, 1619, 1620, 2469, 1639, 1640, 2559, 1168, 2055, + 1349, 2099, 1199, 2157, 3070, 3039, 1349, 1765, 1196, 2054, + 1197, 1198, 101, 1196, 186, 1197, 1198, 598, 2157, 3003, + 2903, 1670, 2902, 100, 2862, 99, 1196, 186, 1197, 1198, + 2861, 598, 2747, 1822, 94, 1823, 186, 1199, 186, 2470, + 186, 186, 598, 92, 2268, 598, 1199, 2157, 2983, 2673, + 1196, 94, 1197, 1198, 93, 1361, 598, 1798, 1196, 1765, + 1197, 1198, 1796, 1199, 1196, 2472, 1197, 1198, 1889, 2173, + 820, 2157, 2979, 820, 92, 1700, 2246, 1800, 1801, 2467, + 95, 94, 1706, 1707, 1888, 93, 2866, 1720, 1722, 2971, + 1349, 1726, 2456, 1349, 2157, 2947, 2483, 2484, 1196, 95, + 1197, 1198, 2036, 2468, 1196, 2173, 1197, 1198, 1855, 1349, + 1349, 598, 2739, 2944, 1797, 2651, 3040, 2423, 1938, 1939, + 1940, 2722, 2653, 1942, 1944, 1946, 1418, 1828, 2651, 2614, + 2612, 1349, 1798, 1195, 1196, 2474, 1197, 1198, 598, 1799, + 1349, 2181, 1802, 1803, 598, 1491, 2610, 2958, 1491, 2157, + 1491, 1898, 1899, 1900, 1901, 1893, 1970, 1894, 1895, 1896, + 1897, 1816, 1883, 790, 2881, 1349, 1884, 2157, 2869, 1196, + 1866, 1197, 1198, 1904, 1905, 1906, 1907, 2651, 1196, 1827, + 1197, 1198, 2181, 1830, 2739, 1349, 2612, 1960, 1887, 1850, + 2491, 598, 1914, 598, 2396, 1196, 1848, 1197, 1198, 598, + 598, 2482, 2157, 2737, 1920, 2180, 1870, 1462, 1463, 1464, + 1871, 1971, 1349, 2485, 101, 2656, 1349, 100, 1886, 1885, + 1872, 706, 2051, 824, 1972, 100, 824, 99, 1199, 1195, + 1349, 2092, 1349, 2493, 2492, 2489, 2490, 186, 2092, 1930, + 2489, 2488, 2181, 1349, 186, 2051, 1349, 2204, 1957, 2036, + 2289, 186, 186, 1450, 2271, 186, 2076, 186, 2264, 2265, + 2181, 1915, 1910, 1911, 186, 2157, 2156, 1406, 2075, 1929, + 1971, 186, 187, 1538, 1539, 187, 1933, 1954, 187, 1544, + 1545, 1941, 1971, 599, 1965, 187, 2051, 1968, 2153, 1969, + 1450, 1449, 1964, 187, 1025, 1349, 1915, 186, 1963, 1843, + 1967, 1985, 598, 94, 2515, 1395, 1394, 1353, 187, 1807, + 2205, 2601, 1987, 1647, 1215, 1590, 2323, 1026, 1989, 1990, + 2207, 1381, 2471, 1008, 1007, 3030, 1986, 1488, 780, 2986, + 599, 1199, 87, 599, 187, 599, 1216, 1217, 1218, 1219, + 1220, 1221, 1222, 1224, 1223, 1225, 1226, 2892, 1356, 1419, + 2859, 2027, 2028, 2813, 1215, 2720, 2030, 1211, 2717, 1212, + 1196, 2051, 1197, 1198, 2698, 2031, 1995, 1215, 1199, 2049, + 2604, 1669, 2603, 1213, 1214, 1210, 1216, 1217, 1218, 1219, + 1220, 1221, 1222, 1224, 1223, 1225, 1226, 1452, 2204, 1216, + 1217, 1218, 1219, 1220, 1221, 1222, 1224, 1223, 1225, 1226, + 1913, 2046, 2020, 2048, 2557, 1199, 87, 1432, 1435, 1436, + 1437, 1438, 1439, 1440, 2600, 1441, 1442, 1443, 1444, 1445, + 1420, 1421, 1422, 1423, 1404, 1405, 1433, 2517, 1407, 2513, + 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 2704, + 2047, 1417, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, + 1199, 2205, 2233, 2272, 1909, 2034, 1903, 1902, 1576, 1199, + 2238, 2036, 1483, 1196, 1199, 1197, 1198, 1479, 186, 1448, + 113, 1097, 2561, 1199, 2475, 2237, 186, 2893, 2479, 1928, + 1698, 598, 2141, 1670, 1215, 2045, 2478, 598, 2116, 1820, + 2705, 2706, 2707, 2128, 3065, 1696, 2663, 2664, 598, 1637, + 1196, 2145, 1197, 1198, 3063, 3046, 1216, 1217, 1218, 1219, + 1220, 1221, 1222, 1224, 1223, 1225, 1226, 2139, 2063, 1523, + 2480, 2968, 186, 2238, 2911, 2476, 186, 2708, 2666, 2509, + 2477, 2669, 2508, 2115, 2507, 2423, 1199, 1196, 2177, 1197, + 1198, 2214, 2114, 2251, 1199, 2445, 2021, 2113, 2443, 2061, + 2446, 1357, 1199, 2444, 1826, 2668, 2112, 1199, 2442, 2441, + 3036, 1638, 3004, 1798, 2085, 2079, 1834, 1434, 1199, 2657, + 1524, 1525, 1526, 1199, 2709, 2710, 2711, 2401, 2158, 1199, + 2400, 2783, 1196, 2782, 1197, 1198, 2794, 2926, 2792, 598, + 2647, 1196, 2410, 1197, 1198, 186, 1196, 1199, 1197, 1198, + 2053, 37, 186, 1347, 1343, 1196, 2167, 1197, 1198, 2644, + 2197, 1323, 2129, 2154, 794, 1199, 598, 2643, 1344, 2111, + 1797, 1199, 795, 598, 2487, 2196, 1589, 1491, 1491, 766, + 2222, 2781, 598, 2119, 2120, 2110, 2263, 2225, 2227, 2150, + 2109, 2242, 2155, 1824, 1825, 1346, 2170, 1345, 1059, 2286, + 2218, 2108, 1167, 1710, 1058, 2202, 2102, 2575, 2285, 2237, + 186, 186, 186, 186, 186, 2317, 2206, 1711, 1196, 2209, + 1197, 1198, 92, 1920, 2278, 2216, 1196, 2219, 1197, 1198, + 2101, 186, 186, 93, 1196, 121, 1197, 1198, 2649, 1196, + 94, 1197, 1198, 3074, 1519, 2230, 2505, 186, 2100, 92, + 1196, 2024, 1197, 1198, 2097, 1196, 94, 1197, 1198, 2239, + 93, 1196, 2943, 1197, 1198, 2447, 598, 2190, 2191, 2888, + 2247, 1199, 2248, 1845, 1846, 2252, 2253, 2254, 2486, 1196, + 2194, 1197, 1198, 1831, 802, 803, 2013, 2284, 2012, 2011, + 1471, 1520, 1521, 1522, 1199, 1347, 1343, 1196, 2629, 1197, + 1198, 2040, 99, 1196, 2918, 1197, 1198, 2399, 2917, 1698, + 1344, 1698, 776, 100, 1698, 2398, 2273, 2274, 2800, 1698, + 187, 2798, 187, 2797, 1696, 187, 1696, 2347, 2343, 1696, + 2283, 2790, 1199, 598, 1696, 1340, 1341, 1346, 2371, 1345, + 2371, 2413, 2415, 2371, 2718, 2648, 2306, 2789, 2371, 598, + 2416, 2646, 101, 2325, 2096, 599, 101, 599, 599, 1199, + 2309, 2390, 2518, 100, 186, 99, 2326, 100, 598, 99, + 2373, 1955, 599, 599, 94, 1466, 101, 2095, 2376, 801, + 2637, 2173, 598, 2377, 2327, 2344, 2153, 100, 2360, 598, + 598, 3066, 186, 186, 186, 186, 186, 2383, 2384, 2385, + 2386, 3067, 3066, 1196, 186, 1197, 1198, 2077, 1818, 186, + 2390, 1375, 186, 1366, 186, 2093, 2426, 186, 186, 186, + 3067, 2426, 2420, 2435, 2364, 2429, 1196, 2932, 1197, 1198, + 2455, 2315, 2404, 2403, 2316, 106, 107, 2378, 2379, 2380, + 2381, 2382, 2089, 2186, 2189, 2190, 2191, 2187, 2389, 2188, + 2192, 2684, 792, 2501, 1199, 103, 88, 1, 1721, 2391, + 2688, 689, 186, 3019, 1196, 566, 1197, 1198, 1808, 2402, + 1321, 3047, 3015, 3016, 1562, 598, 1552, 782, 2750, 2417, + 2418, 1766, 2457, 598, 2395, 2458, 2889, 2521, 186, 2405, + 1961, 1196, 783, 1197, 1198, 2716, 2436, 1336, 2197, 2439, + 1918, 186, 2448, 2541, 2437, 2438, 1016, 2440, 2520, 784, + 95, 146, 2452, 2453, 1881, 1882, 2999, 1600, 2459, 186, + 110, 974, 186, 597, 109, 2434, 2392, 2393, 2394, 1019, + 1125, 1956, 2576, 2740, 2223, 2465, 1890, 2088, 2497, 187, + 1401, 1399, 2496, 599, 599, 2495, 1400, 2186, 2189, 2190, + 2191, 2187, 1398, 2188, 2192, 1403, 2549, 2663, 2664, 187, + 2548, 1402, 2078, 2615, 1641, 595, 2193, 184, 1390, 1367, + 822, 1060, 556, 978, 2494, 985, 1920, 1993, 599, 2540, + 562, 1239, 187, 1636, 2552, 2519, 1196, 599, 1197, 1198, + 2397, 2210, 821, 599, 814, 1819, 2143, 2431, 2641, 2609, + 2409, 2411, 2571, 2160, 2414, 2570, 2407, 598, 186, 2925, + 2573, 2574, 2568, 2791, 2984, 2220, 1363, 2062, 1712, 1860, + 1662, 620, 619, 617, 2146, 2174, 1202, 2578, 709, 2133, + 1376, 2585, 2185, 2582, 2583, 2183, 2584, 2182, 2022, 2586, + 2579, 2588, 1867, 2590, 2665, 2661, 3011, 1862, 1858, 2152, + 628, 621, 613, 2681, 2547, 2292, 2558, 2294, 2221, 2554, + 1180, 1339, 607, 987, 2894, 2949, 2039, 186, 2597, 1338, + 1729, 1730, 2956, 2529, 2734, 2510, 2269, 2240, 1948, 63, + 41, 1757, 2243, 2244, 2635, 2687, 602, 2630, 2631, 3032, + 1171, 808, 32, 31, 30, 29, 186, 2638, 28, 23, + 2645, 22, 21, 20, 2650, 19, 2670, 25, 18, 17, + 16, 2532, 3042, 3073, 115, 186, 50, 2660, 186, 186, + 186, 47, 45, 123, 122, 48, 44, 1100, 598, 598, + 2667, 42, 27, 26, 15, 2675, 14, 13, 12, 2676, + 2677, 11, 10, 2674, 9, 5, 2549, 187, 2723, 2724, + 2548, 4, 35, 34, 33, 2682, 2683, 1174, 24, 2, + 2256, 1950, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 598, 598, 598, 598, 0, 0, 0, 0, + 0, 2699, 0, 2701, 599, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 599, 599, 0, 599, 0, 599, 599, + 2746, 599, 599, 599, 599, 599, 599, 0, 0, 0, + 2744, 2745, 1698, 0, 1698, 0, 0, 0, 599, 0, + 0, 0, 187, 0, 0, 0, 0, 1696, 0, 1696, + 0, 0, 0, 186, 0, 0, 0, 2761, 0, 187, + 0, 2371, 0, 2371, 0, 0, 0, 0, 2757, 0, + 0, 2786, 599, 0, 187, 0, 0, 598, 0, 598, + 0, 0, 0, 0, 0, 0, 2758, 0, 599, 0, + 187, 2769, 0, 0, 0, 1698, 0, 2815, 2770, 0, + 2779, 2807, 2426, 0, 0, 0, 187, 0, 2787, 0, + 1696, 2796, 2429, 187, 0, 0, 2429, 0, 0, 0, + 2809, 776, 187, 187, 187, 187, 187, 187, 187, 187, + 187, 599, 2805, 2803, 0, 2795, 2811, 0, 0, 0, + 0, 598, 0, 0, 0, 599, 599, 0, 0, 0, + 0, 0, 0, 0, 186, 0, 0, 598, 2819, 0, + 0, 2867, 0, 187, 37, 0, 2816, 2817, 0, 0, + 598, 0, 0, 0, 0, 0, 0, 0, 0, 2863, + 0, 0, 0, 0, 2865, 2871, 2864, 0, 0, 0, + 0, 0, 0, 0, 0, 2879, 2909, 0, 2891, 2908, + 1698, 598, 2912, 2498, 2499, 598, 598, 2884, 2883, 599, + 0, 0, 0, 0, 0, 1696, 0, 0, 0, 0, + 0, 0, 0, 599, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 598, 0, 0, 0, 0, 2922, + 0, 0, 0, 599, 599, 0, 0, 0, 2919, 2920, + 0, 2921, 0, 0, 2936, 822, 0, 822, 822, 0, + 0, 0, 0, 0, 0, 2429, 0, 0, 0, 2933, + 0, 2935, 1170, 1172, 0, 0, 0, 776, 0, 0, + 598, 0, 0, 0, 2924, 0, 0, 0, 0, 0, + 0, 0, 2939, 0, 0, 186, 0, 0, 0, 0, + 2941, 0, 0, 0, 0, 0, 187, 0, 0, 0, + 1348, 599, 0, 598, 186, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2948, + 0, 0, 0, 2960, 2957, 187, 2952, 0, 599, 2955, + 0, 0, 0, 0, 0, 0, 0, 0, 187, 0, + 0, 0, 599, 0, 0, 598, 0, 187, 0, 187, + 0, 187, 187, 599, 0, 0, 599, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 599, 0, 598, + 598, 0, 0, 2426, 0, 2977, 1315, 0, 0, 2985, + 0, 0, 598, 2987, 0, 0, 0, 37, 0, 2982, + 2990, 186, 598, 2998, 2995, 0, 2992, 2891, 3000, 3007, + 2991, 2989, 2994, 2993, 0, 0, 0, 0, 0, 3010, + 0, 0, 0, 3028, 3018, 0, 3023, 0, 0, 0, + 0, 0, 599, 0, 0, 0, 0, 0, 0, 3035, + 0, 0, 0, 1327, 1328, 2693, 2694, 0, 3041, 0, + 0, 598, 37, 0, 0, 0, 0, 0, 0, 599, + 598, 0, 0, 0, 1698, 599, 3061, 0, 3056, 0, + 0, 3054, 3060, 3058, 0, 3064, 3062, 0, 1371, 1696, + 0, 0, 0, 0, 0, 0, 0, 822, 0, 0, + 3075, 0, 0, 1391, 3081, 3083, 0, 2727, 0, 0, + 0, 2731, 2732, 2733, 0, 0, 0, 1698, 0, 3089, + 0, 0, 599, 2909, 599, 3091, 3092, 3090, 0, 0, + 599, 599, 1696, 0, 0, 0, 0, 0, 0, 0, + 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1324, 0, + 0, 0, 0, 0, 121, 0, 0, 0, 187, 0, + 0, 0, 0, 0, 0, 187, 0, 164, 0, 0, + 0, 0, 187, 187, 0, 0, 187, 0, 187, 0, 0, 0, 0, 0, 0, 187, 0, 0, 0, 0, - 121, 0, 143, 0, 1829, 0, 0, 0, 0, 0, - 0, 0, 0, 164, 598, 0, 0, 0, 1368, 0, - 0, 820, 0, 0, 0, 0, 0, 0, 156, 820, - 0, 0, 820, 1928, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 976, 153, 0, 0, 0, 0, 0, - 142, 0, 0, 0, 0, 0, 0, 0, 1321, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 161, 0, 162, 0, 0, 0, 0, 0, 0, - 598, 0, 0, 0, 182, 0, 0, 0, 0, 1471, - 1472, 152, 151, 181, 0, 0, 598, 0, 983, 0, + 0, 0, 187, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 551, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 601, 0, 0, 0, 0, 0, 187, 0, + 769, 0, 0, 599, 0, 161, 0, 162, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 181, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 978, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2874, 2875, 2876, 1315, 0, 0, + 0, 0, 0, 1499, 1499, 0, 1499, 0, 1499, 1499, + 0, 1508, 1499, 1499, 1499, 1499, 1499, 0, 0, 0, + 0, 0, 0, 0, 1315, 0, 0, 1315, 978, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 165, 0, 0, 0, + 0, 0, 1575, 0, 0, 171, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1597, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, + 0, 0, 0, 0, 0, 0, 0, 187, 0, 0, + 0, 0, 599, 0, 0, 0, 0, 0, 599, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 599, + 0, 822, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 182, 822, 822, 0, 0, 0, + 0, 0, 0, 187, 0, 0, 0, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, 0, - 0, 187, 550, 0, 0, 598, 0, 0, 0, 0, - 0, 164, 600, 0, 0, 976, 0, 0, 0, 598, - 767, 983, 0, 0, 0, 0, 598, 598, 0, 187, - 187, 187, 187, 187, 0, 0, 0, 0, 0, 0, - 0, 187, 0, 0, 0, 0, 187, 0, 0, 187, - 0, 187, 0, 0, 187, 187, 187, 0, 0, 0, - 0, 980, 0, 0, 0, 0, 157, 0, 976, 161, - 1689, 162, 0, 169, 0, 0, 1689, 1689, 0, 0, - 147, 1473, 154, 0, 1470, 0, 148, 149, 0, 0, - 0, 181, 165, 0, 0, 0, 0, 0, 0, 187, - 0, 171, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 598, 0, 0, 177, 0, 0, 0, 0, - 598, 0, 0, 0, 0, 187, 0, 0, 0, 0, + 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 164, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 156, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1692, + 0, 0, 153, 0, 0, 0, 0, 0, 142, 0, + 599, 0, 0, 1705, 0, 0, 187, 0, 0, 0, + 1315, 0, 0, 187, 0, 0, 0, 0, 0, 161, + 0, 162, 0, 1727, 1728, 0, 0, 599, 0, 0, + 0, 0, 0, 0, 599, 0, 0, 130, 131, 152, + 151, 181, 0, 599, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 822, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 187, 187, 187, 187, 187, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1821, 187, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, 0, - 0, 0, 0, 0, 158, 163, 160, 166, 167, 168, - 170, 172, 173, 174, 175, 0, 187, 0, 0, 187, - 176, 178, 179, 180, 0, 0, 0, 0, 0, 0, - 2048, 0, 0, 0, 2052, 0, 2053, 2054, 0, 2029, - 0, 0, 0, 0, 0, 2062, 0, 0, 2063, 2064, - 0, 2066, 0, 0, 2068, 2069, 0, 0, 0, 0, - 165, 0, 0, 0, 0, 0, 0, 0, 0, 171, - 0, 0, 0, 0, 0, 0, 0, 0, 156, 0, - 0, 2075, 2076, 2077, 2078, 2079, 0, 2081, 0, 0, - 0, 0, 0, 2085, 0, 2086, 0, 0, 0, 2089, - 0, 0, 0, 598, 187, 0, 0, 2098, 2099, 2100, - 2101, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2112, 2113, 0, 0, 0, 0, 0, 0, 2118, 2119, - 2120, 2121, 2122, 0, 1825, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2135, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, - 0, 0, 0, 187, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 688, 0, - 0, 0, 0, 0, 0, 0, 156, 0, 0, 0, - 0, 0, 187, 144, 0, 0, 145, 0, 0, 0, - 0, 820, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 187, 0, 0, 187, 187, 187, 1829, 0, 0, - 0, 0, 0, 2142, 598, 598, 157, 0, 0, 185, - 0, 0, 551, 169, 2157, 592, 0, 0, 0, 0, - 0, 0, 551, 0, 0, 0, 0, 0, 0, 0, - 551, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 787, 0, 0, 598, 598, - 598, 598, 0, 0, 0, 177, 0, 0, 0, 0, - 0, 805, 0, 805, 0, 0, 0, 0, 0, 0, - 0, 551, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 158, 163, 160, 166, 167, 168, - 170, 172, 173, 174, 175, 0, 0, 0, 0, 0, - 176, 178, 179, 180, 0, 2240, 0, 0, 0, 0, - 0, 0, 0, 0, 157, 0, 0, 0, 0, 187, - 0, 169, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1829, 0, 0, 0, 1099, 0, 1105, 2265, - 0, 1107, 0, 598, 0, 598, 0, 0, 2270, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 177, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2346, 0, - 2347, 0, 0, 0, 0, 0, 2351, 0, 0, 0, - 0, 0, 158, 163, 160, 166, 167, 168, 170, 172, - 173, 174, 175, 0, 0, 0, 2366, 598, 176, 178, - 179, 180, 0, 0, 0, 0, 0, 0, 0, 0, - 187, 0, 0, 598, 0, 0, 0, 2381, 2382, 0, - 0, 0, 1689, 0, 0, 0, 598, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 598, 0, 0, - 0, 598, 598, 1312, 0, 1312, 0, 0, 1312, 0, - 0, 0, 0, 1312, 0, 0, 2426, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 820, 0, - 598, 0, 0, 2444, 2445, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1496, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2400, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 598, 0, 820, 0, 0, - 0, 1312, 0, 0, 2427, 1496, 1312, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1833, 0, + 0, 157, 0, 0, 0, 0, 0, 599, 169, 0, + 0, 0, 1371, 0, 0, 822, 0, 0, 147, 128, + 154, 135, 127, 822, 148, 149, 822, 0, 0, 0, + 165, 0, 0, 0, 0, 0, 0, 978, 0, 171, + 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 177, 0, 0, 0, 139, 137, 132, 133, 134, 138, + 0, 0, 0, 0, 1350, 1352, 129, 1101, 0, 1107, + 0, 0, 1109, 0, 599, 140, 0, 0, 0, 158, + 163, 160, 166, 167, 168, 170, 172, 173, 174, 175, + 599, 0, 985, 0, 0, 176, 178, 179, 180, 0, + 0, 0, 0, 0, 0, 187, 0, 0, 0, 599, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 978, + 0, 0, 0, 599, 0, 985, 0, 0, 0, 0, + 599, 599, 690, 187, 187, 187, 187, 187, 0, 0, + 0, 0, 0, 0, 0, 187, 0, 0, 0, 0, + 187, 0, 0, 187, 0, 187, 156, 0, 187, 187, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 598, 187, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1375, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 598, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2571, 0, 0, 0, 0, 0, 0, 2575, 0, 0, - 976, 0, 0, 1312, 598, 598, 0, 0, 1829, 0, - 0, 2585, 2586, 2588, 2590, 0, 0, 598, 0, 0, - 0, 0, 0, 2596, 0, 0, 187, 598, 2600, 2601, - 2602, 0, 0, 0, 0, 2605, 0, 0, 0, 0, - 0, 2607, 0, 0, 2611, 2612, 2613, 2614, 2615, 2616, - 2617, 2618, 2619, 2620, 0, 0, 2621, 0, 0, 0, - 0, 0, 2626, 0, 0, 0, 551, 0, 551, 0, - 0, 551, 0, 0, 0, 0, 598, 0, 804, 0, - 0, 0, 0, 0, 0, 598, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2648, 2649, 0, - 182, 2653, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2665, - 2666, 0, 1393, 0, 121, 0, 143, 0, 0, 0, - 0, 2400, 0, 0, 0, 0, 0, 164, 0, 0, - 0, 0, 0, 0, 0, 0, 610, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 78, 39, 40, 80, 0, 0, 153, 0, - 0, 0, 0, 0, 142, 0, 0, 0, 798, 0, - 0, 0, 84, 0, 0, 0, 43, 69, 70, 0, - 67, 71, 0, 0, 0, 161, 0, 162, 0, 68, - 0, 0, 0, 0, 0, 0, 0, 1530, 0, 2732, - 0, 0, 0, 130, 131, 152, 151, 181, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 56, 0, - 0, 1313, 0, 0, 0, 0, 0, 0, 0, 1574, - 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1829, 1829, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 714, 79, - 0, 1606, 2761, 0, 0, 0, 2762, 0, 1610, 0, - 0, 0, 2766, 0, 551, 0, 0, 0, 0, 1621, - 1622, 1623, 1624, 1625, 1626, 1627, 2745, 2746, 2747, 2748, - 0, 0, 0, 0, 787, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 147, 128, 154, 135, 127, 0, - 148, 149, 0, 0, 0, 0, 165, 551, 1647, 0, - 0, 0, 0, 0, 0, 171, 136, 0, 0, 0, - 0, 0, 0, 0, 0, 1312, 777, 1312, 79, 0, - 139, 137, 132, 133, 134, 138, 0, 0, 0, 0, - 0, 0, 129, 0, 0, 0, 777, 0, 0, 0, - 0, 140, 0, 0, 46, 49, 52, 51, 54, 0, - 66, 0, 984, 75, 72, 0, 1312, 0, 0, 0, - 0, 2802, 0, 2804, 0, 0, 0, 0, 0, 0, - 0, 2873, 0, 0, 0, 0, 55, 83, 82, 0, - 2880, 64, 65, 53, 0, 0, 0, 0, 0, 73, - 74, 0, 0, 0, 0, 0, 2890, 2891, 2892, 0, - 2893, 2894, 0, 0, 0, 0, 2897, 0, 2898, 0, - 2900, 2903, 0, 0, 0, 0, 0, 2907, 0, 0, - 0, 0, 156, 0, 0, 1829, 0, 0, 0, 57, - 58, 0, 59, 60, 61, 62, 0, 0, 0, 0, - 0, 2875, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 820, 2933, 0, 0, 0, 0, - 0, 0, 551, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 978, 0, 1692, 0, 0, 0, 0, 0, + 1692, 1692, 0, 185, 0, 0, 552, 0, 0, 593, + 0, 0, 0, 0, 0, 0, 552, 0, 0, 0, + 0, 0, 0, 187, 552, 0, 182, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 599, 2262, 0, 789, + 0, 0, 0, 0, 599, 0, 0, 0, 0, 187, + 121, 0, 143, 0, 150, 807, 0, 807, 0, 0, + 0, 0, 187, 164, 0, 552, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1843, 0, 0, 2908, 0, 0, 0, 2908, - 2908, 1847, 0, 1850, 0, 0, 1647, 0, 0, 0, - 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1313, 0, 0, 0, 0, 0, 1829, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2955, 0, 0, 0, 0, 0, 0, 144, 0, 1313, - 145, 0, 1313, 0, 2960, 0, 0, 551, 0, 2965, - 0, 0, 0, 0, 0, 2966, 2967, 0, 0, 0, - 81, 0, 0, 1829, 1546, 0, 0, 0, 0, 0, - 157, 0, 0, 2973, 0, 0, 0, 169, 0, 551, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1596, 1829, 0, 86, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 551, 0, 0, 0, 0, 0, 0, 551, 177, - 0, 0, 0, 0, 3024, 0, 0, 1619, 1620, 551, - 551, 551, 551, 551, 551, 551, 1312, 0, 2971, 0, - 0, 0, 0, 3030, 0, 0, 0, 3031, 158, 163, - 160, 166, 167, 168, 170, 172, 173, 174, 175, 0, - 1198, 0, 820, 820, 176, 178, 179, 180, 551, 0, - 0, 0, 0, 0, 0, 3001, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3006, 0, 0, 1245, 0, - 0, 0, 1647, 0, 0, 0, 0, 0, 0, 2000, - 0, 0, 0, 0, 0, 0, 2014, 2015, 0, 0, - 2019, 0, 0, 0, 0, 0, 0, 0, 0, 2022, - 0, 0, 805, 0, 0, 0, 2025, 0, 0, 805, - 805, 0, 0, 0, 1829, 1313, 0, 0, 0, 0, - 0, 0, 0, 3006, 0, 0, 0, 0, 0, 0, - 0, 0, 2028, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 610, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 805, 1596, 805, 805, 805, 805, 805, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1546, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1158, 0, 1158, 1158, 805, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 787, - 79, 0, 0, 0, 0, 0, 0, 0, 1362, 0, - 0, 0, 551, 0, 0, 0, 0, 0, 0, 1596, - 0, 551, 0, 551, 0, 551, 1865, 777, 1233, 1234, - 1235, 0, 1238, 0, 1240, 1241, 1242, 1243, 0, 1246, - 1248, 1248, 0, 1248, 1252, 1252, 1254, 1255, 1256, 1257, - 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, - 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, - 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, - 1288, 1289, 1290, 1291, 1292, 1293, 1294, 0, 1296, 1297, - 1298, 1299, 1300, 0, 0, 0, 0, 1252, 1252, 1252, - 1252, 1252, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2196, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1322, 0, 0, 0, - 0, 0, 777, 0, 0, 0, 777, 0, 0, 0, - 0, 0, 777, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1450, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2244, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 551, 0, 0, 0, 0, 0, 0, 551, - 0, 0, 0, 0, 0, 0, 551, 551, 0, 0, - 551, 0, 2021, 0, 0, 0, 0, 0, 0, 551, - 0, 0, 0, 0, 0, 0, 551, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2292, 2293, 2294, 2295, 2296, 0, - 0, 0, 551, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1647, 2305, 0, 0, 0, + 187, 0, 0, 187, 0, 0, 0, 0, 0, 0, + 0, 0, 144, 0, 153, 145, 0, 0, 0, 0, + 142, 0, 0, 2033, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2313, 0, 0, 0, 0, 0, 0, 0, 1599, + 0, 161, 0, 162, 0, 157, 0, 0, 0, 0, + 0, 0, 169, 0, 0, 0, 0, 0, 0, 1474, + 1475, 152, 151, 181, 0, 0, 0, 0, 0, 1378, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 599, 187, + 0, 0, 0, 0, 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 805, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2819, 2821, - 2820, 2830, 2831, 2832, 2833, 2834, 2835, 2836, 653, 0, + 0, 0, 0, 158, 163, 160, 166, 167, 168, 170, + 172, 173, 174, 175, 0, 0, 0, 0, 0, 176, + 178, 179, 180, 0, 0, 0, 0, 0, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 147, 1476, 154, 0, 1473, 0, 148, 149, 0, 0, + 0, 0, 165, 0, 0, 0, 0, 187, 0, 0, + 0, 171, 0, 0, 0, 0, 822, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 187, 0, 0, 187, + 187, 187, 1833, 0, 0, 0, 0, 0, 2147, 599, + 599, 0, 0, 0, 0, 0, 0, 0, 0, 2162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1654, 1655, 1656, 1657, 0, 0, 0, 0, + 0, 0, 0, 0, 1396, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 599, 599, 599, 599, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1716, 0, 0, 0, 1717, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 156, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2245, 0, 0, 0, 0, 0, 0, 0, 0, 1533, + 0, 0, 0, 0, 187, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1833, 0, 1350, + 1806, 0, 0, 0, 2270, 0, 0, 0, 599, 0, + 599, 1577, 0, 2275, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1829, 0, 0, 0, 150, 0, 0, 0, + 0, 0, 0, 1609, 0, 0, 0, 0, 0, 0, + 1613, 0, 0, 0, 0, 1418, 0, 0, 0, 0, + 0, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 0, 0, + 0, 0, 599, 0, 144, 0, 0, 145, 0, 0, + 0, 552, 0, 552, 0, 187, 552, 0, 599, 0, + 0, 0, 0, 0, 0, 0, 0, 1692, 0, 0, + 1650, 599, 0, 0, 0, 0, 0, 157, 0, 0, + 0, 0, 0, 0, 169, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 599, 0, 1932, 0, 599, 599, 0, 1315, + 0, 1315, 0, 0, 1315, 0, 0, 0, 0, 1315, + 0, 0, 0, 0, 0, 0, 177, 0, 0, 0, + 0, 0, 0, 0, 822, 599, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1499, 0, 0, 0, 0, 158, 163, 160, 166, 167, + 168, 170, 172, 173, 174, 175, 1406, 0, 0, 2406, + 0, 176, 178, 179, 180, 0, 0, 0, 0, 0, + 0, 599, 0, 822, 0, 0, 0, 1315, 0, 0, + 2433, 1499, 1315, 0, 0, 0, 187, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 599, 187, 0, 1316, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1419, 0, + 0, 0, 0, 0, 0, 1847, 599, 0, 0, 0, + 0, 0, 0, 0, 1851, 0, 1854, 0, 0, 1650, + 552, 0, 0, 0, 0, 0, 978, 0, 0, 1315, + 599, 599, 0, 0, 1833, 0, 0, 0, 0, 0, + 789, 0, 0, 599, 0, 0, 0, 0, 0, 0, + 0, 0, 187, 599, 0, 0, 1432, 1435, 1436, 1437, + 1438, 1439, 1440, 552, 1441, 1442, 1443, 1444, 1445, 1420, + 1421, 1422, 1423, 1404, 1405, 1433, 0, 1407, 0, 1408, + 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 0, 0, + 1417, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 0, + 0, 2052, 599, 0, 0, 2056, 0, 2057, 2058, 0, + 0, 599, 0, 0, 0, 0, 2066, 0, 0, 2067, + 2068, 0, 2070, 0, 0, 2072, 2073, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2080, 2081, 2082, 2083, 2084, 2406, 2086, + 0, 0, 0, 0, 0, 2090, 0, 2091, 0, 0, + 0, 2094, 0, 0, 0, 0, 0, 0, 0, 2103, + 2104, 2105, 2106, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2117, 2118, 0, 0, 0, 0, 0, 0, + 2123, 2124, 2125, 2126, 2127, 0, 1829, 0, 0, 0, + 0, 0, 0, 0, 0, 1650, 1434, 2140, 0, 0, + 0, 0, 2004, 0, 0, 0, 0, 0, 552, 2018, + 2019, 0, 0, 2023, 0, 0, 0, 0, 0, 0, + 0, 0, 2026, 0, 0, 0, 0, 0, 0, 2029, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2032, 0, 0, 1316, 1833, + 1833, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1316, 0, 0, 1316, 0, + 0, 0, 0, 552, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2751, 2752, 2753, 2754, 0, 0, 0, + 1549, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 552, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1599, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1315, 0, 1315, 0, 0, 552, 0, 0, + 0, 0, 0, 0, 552, 0, 0, 0, 0, 0, + 0, 0, 0, 1622, 1623, 552, 552, 552, 552, 552, + 552, 552, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1315, 0, 0, 0, 0, 2808, 0, + 2810, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 552, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2351, 0, 2352, 0, 0, 2353, 0, 0, 0, 2357, + 0, 0, 1833, 0, 0, 0, 0, 0, 807, 0, + 0, 0, 0, 0, 0, 807, 807, 0, 2882, 2372, + 0, 1316, 0, 0, 2201, 0, 0, 0, 0, 0, + 0, 822, 0, 0, 0, 0, 0, 0, 0, 0, + 2387, 2388, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2915, 0, 806, 0, 2915, 2915, 0, 0, + 807, 1599, 807, 807, 807, 807, 807, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2249, 0, 1833, 0, 1549, 0, 2432, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 807, 0, 0, 0, 2450, 2451, 0, 0, + 0, 0, 0, 0, 0, 0, 789, 0, 0, 0, + 0, 0, 611, 0, 0, 0, 0, 0, 0, 552, + 0, 1833, 0, 0, 0, 0, 1599, 0, 552, 0, + 552, 0, 552, 1869, 0, 0, 0, 0, 2297, 2298, + 2299, 2300, 2301, 0, 800, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1833, 0, 0, 0, 0, 1650, + 2310, 0, 0, 78, 39, 40, 80, 0, 0, 0, + 0, 0, 0, 0, 0, 2318, 0, 0, 0, 0, + 0, 0, 0, 84, 0, 0, 0, 43, 69, 70, + 0, 67, 71, 0, 1315, 0, 2978, 0, 0, 0, + 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 822, 822, 0, 2577, 0, 0, 0, 0, 0, 56, + 2581, 0, 0, 3008, 0, 0, 0, 0, 0, 0, + 0, 87, 0, 3013, 2591, 2592, 2594, 2596, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2602, 0, 0, + 0, 0, 2606, 2607, 2608, 0, 0, 0, 0, 2611, + 0, 0, 0, 0, 0, 2613, 0, 0, 2617, 2618, + 2619, 2620, 2621, 2622, 2623, 2624, 2625, 2626, 0, 0, + 2627, 0, 1833, 0, 0, 0, 2632, 0, 0, 0, + 0, 3013, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 552, + 0, 2654, 2655, 0, 0, 2659, 552, 0, 0, 0, + 0, 0, 0, 552, 552, 0, 0, 552, 0, 2025, + 0, 0, 0, 2671, 2672, 0, 552, 0, 0, 0, + 0, 0, 0, 552, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 46, 49, 52, 51, 54, + 0, 66, 0, 0, 75, 72, 0, 0, 0, 552, + 2506, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 55, 83, 82, + 0, 0, 64, 65, 53, 0, 2544, 0, 0, 0, + 73, 74, 0, 0, 0, 0, 0, 0, 0, 2553, + 0, 0, 0, 0, 0, 716, 79, 0, 0, 0, + 0, 0, 0, 2738, 0, 0, 0, 2569, 0, 0, + 2572, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 57, 58, 807, 59, 60, 61, 62, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2767, 0, 0, 0, + 2768, 0, 0, 779, 0, 79, 2772, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 779, 0, 0, 2634, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 807, 807, 0, 986, + 0, 0, 0, 0, 0, 0, 0, 1599, 0, 0, + 552, 0, 0, 0, 0, 0, 0, 0, 1549, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 552, 0, 0, 0, 552, 0, + 0, 0, 0, 0, 2697, 0, 0, 0, 0, 0, + 86, 0, 0, 0, 0, 2880, 0, 0, 0, 0, + 0, 0, 0, 2712, 2887, 0, 2713, 2714, 2715, 0, + 0, 0, 0, 0, 0, 0, 0, 1200, 0, 0, + 2897, 2898, 2899, 0, 2900, 2901, 0, 0, 0, 0, + 2904, 0, 2905, 0, 2907, 2910, 0, 0, 0, 0, + 0, 2914, 0, 0, 0, 1247, 0, 552, 0, 0, + 0, 0, 0, 0, 2255, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2940, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 552, 552, 552, 552, 552, 0, 0, 0, + 0, 611, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 552, 552, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 552, + 0, 0, 0, 0, 0, 2962, 0, 0, 0, 0, + 0, 0, 0, 0, 807, 0, 0, 0, 0, 2967, + 0, 0, 0, 0, 2972, 0, 0, 0, 0, 0, + 2973, 2974, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2980, 0, + 0, 0, 0, 0, 0, 0, 1365, 0, 0, 0, + 1316, 0, 1316, 0, 0, 1316, 0, 0, 0, 0, + 1316, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 807, 0, 0, 0, 2142, 0, + 0, 717, 718, 0, 0, 0, 0, 1697, 0, 3031, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 552, 0, 3037, 0, + 0, 0, 3038, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1316, 0, + 0, 0, 0, 1316, 552, 552, 552, 552, 552, 0, + 0, 0, 0, 0, 0, 0, 2449, 0, 0, 0, + 0, 552, 0, 0, 1549, 0, 552, 0, 0, 552, + 2460, 1599, 724, 725, 726, 727, 728, 729, 730, 731, + 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, + 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, + 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, + 762, 763, 764, 765, 552, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1160, + 1316, 1160, 1160, 0, 0, 0, 0, 0, 0, 0, + 552, 1453, 2961, 0, 0, 0, 0, 0, 79, 0, + 0, 0, 0, 552, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 552, 0, 0, 552, 779, 1235, 1236, 1237, 0, + 1240, 0, 1242, 1243, 1244, 1245, 0, 1248, 1250, 1250, + 0, 1250, 1254, 1254, 1256, 1257, 1258, 1259, 1260, 1261, + 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, + 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, + 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291, + 1292, 1293, 1294, 1295, 1296, 1297, 0, 1299, 1300, 1301, + 1302, 1303, 0, 0, 0, 0, 1254, 1254, 1254, 1254, + 1254, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 552, 0, 0, 0, 0, 0, 0, 1602, 182, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1470, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 805, 805, - 0, 0, 0, 1699, 1700, 0, 0, 0, 0, 1596, - 0, 1705, 551, 0, 0, 0, 0, 0, 0, 0, - 1546, 0, 0, 0, 0, 1721, 1722, 0, 0, 0, - 1747, 1748, 1749, 1750, 1751, 1752, 1754, 1758, 1759, 610, - 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, - 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1782, 1783, 1784, - 1785, 1786, 1787, 0, 0, 0, 551, 0, 0, 0, - 551, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2500, 0, 0, 0, 0, - 0, 610, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1158, 0, 0, 0, - 0, 2538, 0, 0, 0, 0, 0, 0, 0, 0, - 1158, 1158, 0, 0, 2547, 0, 0, 1837, 1838, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 551, - 0, 0, 2563, 0, 0, 2566, 2250, 0, 182, 0, - 0, 0, 0, 0, 0, 1874, 0, 0, 0, 1467, - 0, 0, 0, 0, 0, 0, 0, 0, 2825, 2826, 0, 0, 121, 0, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 164, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1325, 0, 0, 0, 552, + 0, 779, 0, 0, 0, 779, 0, 0, 0, 0, + 0, 779, 0, 0, 0, 0, 153, 0, 0, 0, + 0, 0, 142, 0, 0, 0, 0, 0, 552, 0, + 1657, 1658, 1659, 1660, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 161, 0, 162, 0, 552, 0, 0, + 552, 552, 552, 0, 0, 0, 0, 0, 0, 0, + 0, 1474, 1475, 152, 151, 181, 0, 0, 0, 0, + 0, 1702, 1703, 0, 0, 0, 0, 0, 0, 1708, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1724, 1725, 0, 0, 0, 0, 1751, + 1752, 1753, 1754, 1755, 1756, 1758, 1762, 1763, 611, 1769, + 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, + 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, + 1790, 1791, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1316, 0, 1316, 0, 0, 0, 0, + 611, 0, 147, 1476, 154, 0, 1473, 0, 148, 149, + 0, 0, 0, 0, 165, 1549, 0, 0, 0, 0, + 0, 0, 0, 171, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1316, 0, 1841, 1842, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1878, 0, 0, 0, 87, 0, + 0, 0, 0, 0, 710, 717, 718, 719, 720, 721, + 711, 713, 0, 0, 0, 712, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 715, 722, + 723, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1549, 0, 0, 0, + 0, 0, 0, 1916, 2826, 2828, 2827, 2837, 2838, 2839, + 2840, 2841, 2842, 2843, 655, 0, 0, 0, 0, 0, + 156, 0, 0, 0, 2550, 2551, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 724, 725, 726, 727, + 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, + 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, + 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, + 758, 759, 760, 761, 762, 763, 764, 765, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 551, 551, 551, 551, 551, 0, - 0, 0, 0, 0, 1912, 0, 153, 0, 0, 0, - 0, 0, 142, 0, 0, 551, 551, 0, 0, 698, - 2628, 644, 702, 646, 699, 700, 0, 642, 645, 701, - 0, 551, 0, 161, 0, 162, 0, 0, 0, 1415, - 0, 0, 0, 0, 0, 0, 805, 0, 0, 0, - 0, 1471, 1472, 152, 151, 181, 651, 652, 2818, 2822, - 2823, 2824, 2827, 2828, 2829, 2837, 2839, 676, 2838, 2840, - 2841, 2842, 2845, 2846, 2847, 2848, 2843, 2844, 2849, 2815, - 2814, 2816, 2817, 0, 0, 0, 0, 0, 0, 0, - 0, 1313, 0, 1313, 0, 0, 1313, 0, 0, 0, - 0, 1313, 0, 0, 0, 0, 0, 0, 2691, 0, - 0, 0, 0, 0, 0, 805, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1857, 0, 2706, 0, 0, - 2707, 2708, 2709, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 551, 0, 0, - 0, 0, 147, 1473, 154, 0, 1470, 0, 148, 149, - 0, 0, 0, 0, 165, 0, 0, 0, 0, 1313, - 0, 0, 0, 171, 1313, 551, 551, 551, 551, 551, - 1403, 0, 0, 0, 0, 0, 0, 2443, 0, 0, - 0, 0, 551, 0, 0, 1546, 984, 551, 0, 0, - 551, 2454, 1596, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 984, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 551, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1313, 1416, 0, 0, 0, 0, 0, 0, 0, - 2061, 551, 0, 0, 0, 0, 2065, 0, 2067, 0, - 0, 0, 0, 0, 551, 0, 0, 0, 0, 0, - 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 551, 0, 0, 551, 0, 0, 0, 0, - 0, 0, 1245, 0, 0, 0, 0, 0, 0, 0, - 1429, 1432, 1433, 1434, 1435, 1436, 1437, 0, 1438, 1439, - 1440, 1441, 1442, 1417, 1418, 1419, 1420, 1401, 1402, 1430, - 0, 1404, 0, 1405, 1406, 1407, 1408, 1409, 1410, 1411, - 1412, 1413, 0, 0, 1414, 1421, 1422, 1423, 1424, 1425, - 1426, 1427, 1428, 0, 0, 0, 0, 0, 150, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 551, 0, 0, 0, 0, 0, 0, 0, 1362, 0, - 0, 0, 0, 0, 0, 144, 0, 2037, 145, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 157, 0, - 0, 0, 0, 0, 0, 169, 0, 0, 0, 551, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 551, 1431, - 0, 0, 0, 0, 0, 0, 0, 177, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 551, 0, 0, - 551, 551, 551, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2954, 158, 163, 160, 166, - 167, 168, 170, 172, 173, 174, 175, 0, 0, 0, - 0, 0, 176, 178, 179, 180, 0, 0, 0, 0, - 0, 2116, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2133, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 777, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2317, 2173, 2174, 0, - 0, 0, 0, 1313, 0, 1313, 2193, 0, 2194, 2195, - 0, 0, 0, 0, 2340, 2341, 0, 0, 0, 2344, - 0, 0, 0, 0, 0, 1546, 0, 0, 0, 2348, - 2349, 2350, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2355, 2356, 2357, 1313, 0, 1765, 2359, 0, 2360, - 2361, 0, 0, 0, 2368, 2369, 0, 0, 0, 0, - 0, 0, 1765, 1765, 1765, 1765, 1765, 610, 610, 610, - 610, 87, 0, 0, 0, 0, 0, 708, 715, 716, - 717, 718, 719, 709, 711, 0, 0, 0, 710, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 713, 720, 721, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2271, 0, 0, - 0, 0, 0, 0, 0, 0, 1546, 2415, 0, 0, - 0, 2137, 0, 0, 715, 716, 0, 0, 0, 0, - 1694, 0, 0, 0, 0, 0, 0, 2544, 2545, 0, - 0, 0, 0, 0, 2448, 0, 0, 0, 0, 722, - 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, - 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, - 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, - 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, - 763, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2510, 722, 723, 724, 725, 726, - 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, - 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, - 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, - 757, 758, 759, 760, 761, 762, 763, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1546, 0, 0, 0, + 0, 0, 0, 0, 0, 1160, 0, 0, 150, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1160, + 1160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 551, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1857, 0, 0, - 0, 0, 0, 0, 2593, 0, 0, 0, 0, 0, - 0, 0, 0, 2599, 0, 0, 0, 0, 0, 0, - 2424, 0, 79, 0, 1313, 1857, 1857, 1857, 1857, 1857, + 0, 0, 0, 0, 0, 0, 144, 1549, 0, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2193, 777, 0, 0, 0, 1857, 0, 0, - 1857, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 552, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 157, + 0, 0, 0, 0, 0, 0, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1546, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 610, 0, 0, 0, 0, 0, 0, - 0, 698, 0, 0, 702, 0, 699, 700, 0, 0, - 0, 701, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2532, 0, 0, 0, 0, 0, 715, - 716, 0, 0, 2540, 0, 1694, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2713, 0, 0, 0, - 0, 0, 2574, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1549, 2832, 2833, 0, 158, 163, 160, + 166, 167, 168, 170, 172, 173, 174, 175, 0, 0, + 0, 0, 0, 176, 178, 179, 180, 0, 700, 2065, + 0, 704, 0, 701, 702, 2069, 0, 2071, 703, 0, + 0, 2074, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2737, - 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, - 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, - 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, - 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, - 762, 763, 0, 0, 0, 0, 2753, 0, 2754, 0, - 0, 0, 0, 2757, 2758, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 87, 0, 0, 2765, 0, 0, - 708, 715, 716, 717, 718, 719, 709, 711, 0, 0, - 0, 710, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 713, 720, 721, 0, 0, 1857, - 0, 0, 0, 0, 0, 2798, 0, 0, 0, 0, - 0, 0, 2674, 0, 0, 0, 2806, 0, 0, 2808, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2812, 0, 0, 0, 0, 0, 0, - 2544, 2545, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2853, 722, 723, 724, 725, 726, 727, 728, 729, - 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, - 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, - 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, - 760, 761, 762, 763, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 700, 0, 645, 704, 647, + 701, 702, 1247, 643, 646, 703, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1861, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 653, 654, 2825, 2829, 2830, 2831, 2834, 2835, + 2836, 2844, 2846, 678, 2845, 2847, 2848, 2849, 2852, 2853, + 2854, 2855, 2850, 2851, 2856, 2821, 2820, 2822, 2823, 2824, + 87, 0, 0, 0, 0, 0, 710, 717, 718, 719, + 720, 721, 711, 713, 0, 0, 0, 712, 0, 0, + 0, 0, 0, 0, 0, 0, 986, 0, 1365, 0, + 715, 722, 723, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 717, + 718, 0, 0, 0, 0, 1697, 0, 0, 0, 986, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2550, 2551, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 724, 725, + 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, + 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, + 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, + 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, + 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, + 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, + 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, + 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, + 764, 765, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2322, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2041, 0, 0, + 0, 0, 0, 0, 2345, 2346, 0, 0, 0, 2349, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2354, 2355, 2356, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2361, 2362, 2363, 0, 0, 1769, 2365, 0, + 2366, 2367, 0, 0, 0, 2374, 2375, 0, 0, 0, + 0, 0, 0, 1769, 1769, 1769, 1769, 1769, 611, 611, + 611, 611, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2421, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2121, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2454, 0, 0, 0, 2138, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 779, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2178, 2179, + 0, 0, 0, 0, 0, 0, 0, 2198, 0, 2199, + 2200, 0, 0, 0, 0, 2516, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2599, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2605, 0, 0, 2276, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 611, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2916, 610, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2774, 0, 2778, 2779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2424, 0, 79, 0, - 2424, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 610, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1861, + 0, 2743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2959, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2865, + 0, 0, 2430, 0, 79, 0, 0, 1861, 1861, 1861, + 1861, 1861, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2198, 779, 0, 0, 2759, 1861, + 2760, 0, 1861, 0, 0, 2763, 2764, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 610, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2804, 0, 0, + 0, 0, 0, 0, 0, 2538, 0, 0, 2812, 0, + 0, 2814, 0, 0, 0, 2546, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2818, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3022, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2424, + 0, 0, 0, 0, 2580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1254, 1255, 1256, 1257, 1261, 1262, 1263, - 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, - 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1284, - 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2943, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 365, 0, 0, 954, 939, 468, - 79, 885, 957, 854, 873, 967, 876, 879, 921, 833, - 899, 384, 870, 825, 858, 828, 865, 829, 856, 887, - 253, 853, 941, 903, 956, 337, 250, 835, 859, 398, - 875, 197, 923, 442, 237, 347, 344, 475, 265, 256, - 252, 236, 292, 354, 396, 462, 390, 963, 341, 909, - 2974, 452, 369, 0, 0, 79, 889, 945, 897, 935, - 884, 922, 843, 908, 958, 871, 918, 959, 298, 234, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2923, 611, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1861, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2680, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 611, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2966, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 611, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 3029, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2780, 0, 2784, 2785, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2430, + 0, 79, 0, 2430, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2872, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2430, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1256, 1257, 1258, 1259, + 1260, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, + 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, + 1283, 1284, 1285, 1287, 1288, 1289, 1290, 1291, 1292, 1293, + 1294, 1295, 1296, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2950, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 365, 0, + 0, 956, 941, 468, 79, 887, 959, 856, 875, 969, + 878, 881, 923, 835, 901, 384, 872, 827, 860, 830, + 867, 831, 858, 889, 253, 855, 943, 905, 958, 337, + 250, 837, 861, 398, 877, 197, 925, 442, 237, 347, + 344, 476, 265, 256, 252, 236, 292, 354, 396, 462, + 390, 965, 341, 911, 2981, 452, 369, 0, 0, 79, + 891, 947, 899, 937, 886, 924, 845, 910, 960, 873, + 920, 961, 298, 234, 300, 196, 381, 453, 269, 0, + 0, 0, 0, 188, 189, 190, 0, 3001, 0, 3002, + 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, + 331, 330, 311, 312, 314, 316, 321, 328, 334, 869, + 917, 955, 870, 919, 248, 296, 255, 247, 473, 966, + 946, 834, 898, 954, 0, 0, 216, 957, 893, 0, + 922, 0, 972, 829, 913, 0, 832, 836, 968, 950, + 864, 258, 0, 0, 0, 0, 0, 0, 0, 890, + 900, 934, 884, 0, 0, 0, 0, 0, 0, 0, + 862, 0, 909, 0, 0, 0, 841, 833, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 888, 0, 0, 0, 844, 0, 863, 935, 0, 826, + 279, 838, 370, 240, 0, 939, 949, 885, 509, 953, + 883, 882, 929, 842, 945, 876, 336, 840, 305, 192, + 212, 0, 874, 380, 423, 429, 944, 859, 868, 238, + 866, 427, 394, 492, 220, 267, 420, 400, 425, 407, + 270, 908, 927, 426, 342, 478, 414, 489, 510, 511, + 246, 374, 500, 466, 506, 524, 213, 243, 388, 459, + 495, 449, 366, 474, 475, 304, 448, 277, 195, 340, + 516, 211, 435, 229, 218, 480, 498, 272, 418, 203, + 461, 487, 226, 439, 0, 0, 526, 205, 485, 458, + 362, 301, 302, 204, 0, 419, 251, 275, 241, 383, + 482, 483, 239, 527, 215, 505, 207, 1162, 504, 376, + 477, 486, 363, 352, 206, 484, 361, 351, 307, 326, + 327, 263, 286, 412, 345, 413, 287, 372, 371, 373, + 198, 496, 0, 199, 0, 454, 497, 528, 221, 222, + 224, 854, 262, 266, 274, 276, 282, 283, 290, 338, + 387, 411, 409, 415, 940, 472, 490, 501, 508, 514, + 515, 517, 518, 519, 520, 521, 523, 522, 375, 289, + 450, 306, 343, 932, 971, 393, 428, 227, 494, 451, + 849, 853, 847, 914, 848, 903, 904, 850, 962, 963, + 964, 529, 530, 531, 532, 533, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 546, 0, + 936, 843, 0, 851, 852, 0, 942, 951, 952, 547, + 353, 441, 491, 308, 320, 323, 313, 332, 0, 333, + 309, 310, 315, 317, 318, 319, 324, 325, 329, 335, + 235, 201, 359, 367, 471, 907, 191, 208, 339, 967, + 416, 271, 525, 503, 499, 828, 210, 846, 245, 857, + 865, 0, 871, 879, 880, 892, 894, 895, 896, 897, + 915, 916, 918, 926, 928, 931, 933, 938, 948, 970, + 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, + 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, + 356, 357, 358, 377, 378, 379, 382, 385, 386, 389, + 391, 392, 395, 399, 403, 404, 405, 406, 408, 410, + 417, 422, 430, 431, 432, 433, 434, 437, 438, 443, + 444, 445, 446, 447, 455, 456, 460, 479, 481, 493, + 507, 512, 436, 281, 488, 513, 0, 348, 906, 912, + 350, 264, 284, 295, 921, 502, 457, 214, 424, 273, + 202, 233, 217, 242, 257, 260, 299, 360, 368, 397, + 402, 278, 254, 231, 421, 228, 440, 463, 464, 465, + 467, 364, 249, 401, 902, 930, 346, 469, 470, 291, + 365, 0, 0, 956, 941, 468, 0, 887, 959, 856, + 875, 969, 878, 881, 923, 835, 901, 384, 872, 827, + 860, 830, 867, 831, 858, 889, 253, 855, 943, 905, + 958, 337, 250, 837, 861, 398, 877, 197, 925, 442, + 237, 347, 344, 476, 265, 256, 252, 236, 292, 354, + 396, 462, 390, 965, 341, 911, 0, 452, 369, 0, + 0, 0, 891, 947, 899, 937, 886, 924, 845, 910, + 960, 873, 920, 961, 298, 234, 300, 196, 381, 453, + 269, 0, 0, 0, 0, 188, 189, 190, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, + 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, + 334, 869, 917, 955, 870, 919, 248, 296, 255, 247, + 473, 966, 946, 834, 898, 954, 0, 0, 216, 957, + 893, 0, 922, 0, 972, 829, 913, 0, 832, 836, + 968, 950, 864, 258, 0, 0, 0, 0, 0, 0, + 0, 890, 900, 934, 884, 0, 0, 0, 0, 0, + 2461, 0, 862, 0, 909, 0, 0, 0, 841, 833, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 888, 0, 0, 0, 844, 0, 863, 935, + 0, 826, 279, 838, 370, 240, 0, 939, 949, 885, + 509, 953, 883, 882, 929, 842, 945, 876, 336, 840, + 305, 192, 212, 0, 874, 380, 423, 429, 944, 859, + 868, 238, 866, 427, 394, 492, 220, 267, 420, 400, + 425, 407, 270, 908, 927, 426, 342, 478, 414, 489, + 510, 511, 246, 374, 500, 466, 506, 524, 213, 243, + 388, 459, 495, 449, 366, 474, 475, 304, 448, 277, + 195, 340, 516, 211, 435, 229, 218, 480, 498, 272, + 418, 203, 461, 487, 226, 439, 0, 0, 526, 205, + 485, 458, 362, 301, 302, 204, 0, 419, 251, 275, + 241, 383, 482, 483, 239, 527, 215, 505, 207, 1162, + 504, 376, 477, 486, 363, 352, 206, 484, 361, 351, + 307, 326, 327, 263, 286, 412, 345, 413, 287, 372, + 371, 373, 198, 496, 0, 199, 0, 454, 497, 528, + 221, 222, 224, 854, 262, 266, 274, 276, 282, 283, + 290, 338, 387, 411, 409, 415, 940, 472, 490, 501, + 508, 514, 515, 517, 518, 519, 520, 521, 523, 522, + 375, 289, 450, 306, 343, 932, 971, 393, 428, 227, + 494, 451, 849, 853, 847, 914, 848, 903, 904, 850, + 962, 963, 964, 529, 530, 531, 532, 533, 534, 535, + 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, + 546, 0, 936, 843, 0, 851, 852, 0, 942, 951, + 952, 547, 353, 441, 491, 308, 320, 323, 313, 332, + 0, 333, 309, 310, 315, 317, 318, 319, 324, 325, + 329, 335, 235, 201, 359, 367, 471, 907, 191, 208, + 339, 967, 416, 271, 525, 503, 499, 828, 210, 846, + 245, 857, 865, 0, 871, 879, 880, 892, 894, 895, + 896, 897, 915, 916, 918, 926, 928, 931, 933, 938, + 948, 970, 193, 194, 200, 209, 219, 223, 230, 244, + 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, + 349, 355, 356, 357, 358, 377, 378, 379, 382, 385, + 386, 389, 391, 392, 395, 399, 403, 404, 405, 406, + 408, 410, 417, 422, 430, 431, 432, 433, 434, 437, + 438, 443, 444, 445, 446, 447, 455, 456, 460, 479, + 481, 493, 507, 512, 436, 281, 488, 513, 0, 348, + 906, 912, 350, 264, 284, 295, 921, 502, 457, 214, + 424, 273, 202, 233, 217, 242, 257, 260, 299, 360, + 368, 397, 402, 278, 254, 231, 421, 228, 440, 463, + 464, 465, 467, 364, 249, 401, 902, 930, 346, 469, + 470, 291, 365, 0, 0, 956, 941, 468, 0, 887, + 959, 856, 875, 969, 878, 881, 923, 835, 901, 384, + 872, 827, 860, 830, 867, 831, 858, 889, 253, 855, + 943, 905, 958, 337, 250, 837, 861, 398, 877, 197, + 925, 442, 237, 347, 344, 476, 265, 256, 252, 236, + 292, 354, 396, 462, 390, 965, 341, 911, 0, 452, + 369, 0, 0, 0, 891, 947, 899, 937, 886, 924, + 845, 910, 960, 873, 920, 961, 298, 234, 300, 196, + 381, 453, 269, 0, 0, 0, 0, 188, 189, 190, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, + 321, 328, 334, 869, 917, 955, 870, 919, 248, 296, + 255, 247, 473, 966, 946, 834, 898, 954, 0, 0, + 216, 957, 893, 0, 922, 0, 972, 829, 913, 0, + 832, 836, 968, 950, 864, 258, 0, 0, 0, 0, + 0, 0, 0, 890, 900, 934, 884, 0, 0, 0, + 0, 0, 2419, 0, 862, 0, 909, 0, 0, 0, + 841, 833, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 888, 0, 0, 0, 844, 0, + 863, 935, 0, 826, 279, 838, 370, 240, 0, 939, + 949, 885, 509, 953, 883, 882, 929, 842, 945, 876, + 336, 840, 305, 192, 212, 0, 874, 380, 423, 429, + 944, 859, 868, 238, 866, 427, 394, 492, 220, 267, + 420, 400, 425, 407, 270, 908, 927, 426, 342, 478, + 414, 489, 510, 511, 246, 374, 500, 466, 506, 524, + 213, 243, 388, 459, 495, 449, 366, 474, 475, 304, + 448, 277, 195, 340, 516, 211, 435, 229, 218, 480, + 498, 272, 418, 203, 461, 487, 226, 439, 0, 0, + 526, 205, 485, 458, 362, 301, 302, 204, 0, 419, + 251, 275, 241, 383, 482, 483, 239, 527, 215, 505, + 207, 1162, 504, 376, 477, 486, 363, 352, 206, 484, + 361, 351, 307, 326, 327, 263, 286, 412, 345, 413, + 287, 372, 371, 373, 198, 496, 0, 199, 0, 454, + 497, 528, 221, 222, 224, 854, 262, 266, 274, 276, + 282, 283, 290, 338, 387, 411, 409, 415, 940, 472, + 490, 501, 508, 514, 515, 517, 518, 519, 520, 521, + 523, 522, 375, 289, 450, 306, 343, 932, 971, 393, + 428, 227, 494, 451, 849, 853, 847, 914, 848, 903, + 904, 850, 962, 963, 964, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 0, 936, 843, 0, 851, 852, 0, + 942, 951, 952, 547, 353, 441, 491, 308, 320, 323, + 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, + 324, 325, 329, 335, 235, 201, 359, 367, 471, 907, + 191, 208, 339, 967, 416, 271, 525, 503, 499, 828, + 210, 846, 245, 857, 865, 0, 871, 879, 880, 892, + 894, 895, 896, 897, 915, 916, 918, 926, 928, 931, + 933, 938, 948, 970, 193, 194, 200, 209, 219, 223, + 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, + 297, 303, 349, 355, 356, 357, 358, 377, 378, 379, + 382, 385, 386, 389, 391, 392, 395, 399, 403, 404, + 405, 406, 408, 410, 417, 422, 430, 431, 432, 433, + 434, 437, 438, 443, 444, 445, 446, 447, 455, 456, + 460, 479, 481, 493, 507, 512, 436, 281, 488, 513, + 0, 348, 906, 912, 350, 264, 284, 295, 921, 502, + 457, 214, 424, 273, 202, 233, 217, 242, 257, 260, + 299, 360, 368, 397, 402, 278, 254, 231, 421, 228, + 440, 463, 464, 465, 467, 364, 249, 401, 902, 930, + 346, 469, 470, 291, 365, 0, 0, 956, 941, 468, + 0, 887, 959, 856, 875, 969, 878, 881, 923, 835, + 901, 384, 872, 827, 860, 830, 867, 831, 858, 889, + 253, 855, 943, 905, 958, 337, 250, 837, 861, 398, + 877, 197, 925, 442, 237, 347, 344, 476, 265, 256, + 252, 236, 292, 354, 396, 462, 390, 965, 341, 911, + 0, 452, 369, 0, 0, 0, 891, 947, 899, 937, + 886, 924, 845, 910, 960, 873, 920, 961, 298, 234, 300, 196, 381, 453, 269, 0, 0, 0, 0, 188, - 189, 190, 0, 2994, 0, 2995, 0, 0, 0, 0, + 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, - 314, 316, 321, 328, 334, 867, 915, 953, 868, 917, - 248, 296, 255, 247, 472, 964, 944, 832, 896, 952, - 0, 0, 216, 955, 891, 0, 920, 0, 970, 827, - 911, 0, 830, 834, 966, 948, 862, 258, 0, 0, - 0, 0, 0, 0, 0, 888, 898, 932, 882, 0, - 0, 0, 0, 0, 0, 0, 860, 0, 907, 0, - 0, 0, 839, 831, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 886, 0, 0, 0, - 842, 0, 861, 933, 0, 824, 279, 836, 370, 240, - 0, 937, 947, 883, 508, 951, 881, 880, 927, 840, - 943, 874, 336, 838, 305, 192, 212, 0, 872, 380, - 423, 429, 942, 857, 866, 238, 864, 427, 394, 491, - 220, 267, 420, 400, 425, 407, 270, 906, 925, 426, - 342, 477, 414, 488, 509, 510, 246, 374, 499, 466, - 505, 523, 213, 243, 388, 459, 494, 449, 366, 473, - 474, 304, 448, 277, 195, 340, 515, 211, 435, 229, - 218, 479, 497, 272, 418, 203, 461, 486, 226, 439, - 0, 0, 525, 205, 484, 458, 362, 301, 302, 204, - 0, 419, 251, 275, 241, 383, 481, 482, 239, 526, - 215, 504, 207, 1160, 503, 376, 476, 485, 363, 352, - 206, 483, 361, 351, 307, 326, 327, 263, 286, 412, - 345, 413, 287, 372, 371, 373, 198, 495, 0, 199, - 0, 454, 496, 527, 221, 222, 224, 852, 262, 266, + 314, 316, 321, 328, 334, 869, 917, 955, 870, 919, + 248, 296, 255, 247, 473, 966, 946, 834, 898, 954, + 0, 0, 216, 957, 893, 0, 922, 0, 972, 829, + 913, 0, 832, 836, 968, 950, 864, 258, 0, 0, + 0, 0, 0, 0, 0, 890, 900, 934, 884, 0, + 0, 0, 0, 0, 1849, 0, 862, 0, 909, 0, + 0, 0, 841, 833, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 888, 0, 0, 0, + 844, 0, 863, 935, 0, 826, 279, 838, 370, 240, + 0, 939, 949, 885, 509, 953, 883, 882, 929, 842, + 945, 876, 336, 840, 305, 192, 212, 0, 874, 380, + 423, 429, 944, 859, 868, 238, 866, 427, 394, 492, + 220, 267, 420, 400, 425, 407, 270, 908, 927, 426, + 342, 478, 414, 489, 510, 511, 246, 374, 500, 466, + 506, 524, 213, 243, 388, 459, 495, 449, 366, 474, + 475, 304, 448, 277, 195, 340, 516, 211, 435, 229, + 218, 480, 498, 272, 418, 203, 461, 487, 226, 439, + 0, 0, 526, 205, 485, 458, 362, 301, 302, 204, + 0, 419, 251, 275, 241, 383, 482, 483, 239, 527, + 215, 505, 207, 1162, 504, 376, 477, 486, 363, 352, + 206, 484, 361, 351, 307, 326, 327, 263, 286, 412, + 345, 413, 287, 372, 371, 373, 198, 496, 0, 199, + 0, 454, 497, 528, 221, 222, 224, 854, 262, 266, 274, 276, 282, 283, 290, 338, 387, 411, 409, 415, - 938, 471, 489, 500, 507, 513, 514, 516, 517, 518, - 519, 520, 522, 521, 375, 289, 450, 306, 343, 930, - 969, 393, 428, 227, 493, 451, 847, 851, 845, 912, - 846, 901, 902, 848, 960, 961, 962, 528, 529, 530, - 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, - 541, 542, 543, 544, 545, 0, 934, 841, 0, 849, - 850, 0, 940, 949, 950, 546, 353, 441, 490, 308, + 940, 472, 490, 501, 508, 514, 515, 517, 518, 519, + 520, 521, 523, 522, 375, 289, 450, 306, 343, 932, + 971, 393, 428, 227, 494, 451, 849, 853, 847, 914, + 848, 903, 904, 850, 962, 963, 964, 529, 530, 531, + 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, + 542, 543, 544, 545, 546, 0, 936, 843, 0, 851, + 852, 0, 942, 951, 952, 547, 353, 441, 491, 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, 335, 235, 201, 359, 367, - 905, 191, 208, 339, 965, 416, 271, 524, 502, 498, - 826, 210, 844, 245, 855, 863, 0, 869, 877, 878, - 890, 892, 893, 894, 895, 913, 914, 916, 924, 926, - 929, 931, 936, 946, 968, 193, 194, 200, 209, 219, - 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, - 294, 297, 303, 349, 355, 356, 357, 358, 377, 378, - 379, 382, 385, 386, 389, 391, 392, 395, 399, 403, - 404, 405, 406, 408, 410, 417, 422, 430, 431, 432, - 433, 434, 437, 438, 443, 444, 445, 446, 447, 455, - 456, 460, 478, 480, 492, 506, 511, 436, 281, 487, - 512, 0, 348, 904, 910, 350, 264, 284, 295, 919, - 501, 457, 214, 424, 273, 202, 233, 217, 242, 257, - 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, - 228, 440, 463, 464, 465, 467, 364, 249, 401, 900, - 928, 346, 469, 470, 291, 365, 0, 0, 954, 939, - 468, 0, 885, 957, 854, 873, 967, 876, 879, 921, - 833, 899, 384, 870, 825, 858, 828, 865, 829, 856, - 887, 253, 853, 941, 903, 956, 337, 250, 835, 859, - 398, 875, 197, 923, 442, 237, 347, 344, 475, 265, - 256, 252, 236, 292, 354, 396, 462, 390, 963, 341, - 909, 0, 452, 369, 0, 0, 0, 889, 945, 897, - 935, 884, 922, 843, 908, 958, 871, 918, 959, 298, - 234, 300, 196, 381, 453, 269, 0, 0, 0, 0, - 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, - 312, 314, 316, 321, 328, 334, 867, 915, 953, 868, - 917, 248, 296, 255, 247, 472, 964, 944, 832, 896, - 952, 0, 0, 216, 955, 891, 0, 920, 0, 970, - 827, 911, 0, 830, 834, 966, 948, 862, 258, 0, - 0, 0, 0, 0, 0, 0, 888, 898, 932, 882, - 0, 0, 0, 0, 0, 2455, 0, 860, 0, 907, - 0, 0, 0, 839, 831, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 886, 0, 0, - 0, 842, 0, 861, 933, 0, 824, 279, 836, 370, - 240, 0, 937, 947, 883, 508, 951, 881, 880, 927, - 840, 943, 874, 336, 838, 305, 192, 212, 0, 872, - 380, 423, 429, 942, 857, 866, 238, 864, 427, 394, - 491, 220, 267, 420, 400, 425, 407, 270, 906, 925, - 426, 342, 477, 414, 488, 509, 510, 246, 374, 499, - 466, 505, 523, 213, 243, 388, 459, 494, 449, 366, - 473, 474, 304, 448, 277, 195, 340, 515, 211, 435, - 229, 218, 479, 497, 272, 418, 203, 461, 486, 226, - 439, 0, 0, 525, 205, 484, 458, 362, 301, 302, - 204, 0, 419, 251, 275, 241, 383, 481, 482, 239, - 526, 215, 504, 207, 1160, 503, 376, 476, 485, 363, - 352, 206, 483, 361, 351, 307, 326, 327, 263, 286, - 412, 345, 413, 287, 372, 371, 373, 198, 495, 0, - 199, 0, 454, 496, 527, 221, 222, 224, 852, 262, - 266, 274, 276, 282, 283, 290, 338, 387, 411, 409, - 415, 938, 471, 489, 500, 507, 513, 514, 516, 517, - 518, 519, 520, 522, 521, 375, 289, 450, 306, 343, - 930, 969, 393, 428, 227, 493, 451, 847, 851, 845, - 912, 846, 901, 902, 848, 960, 961, 962, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 545, 0, 934, 841, 0, - 849, 850, 0, 940, 949, 950, 546, 353, 441, 490, - 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, - 317, 318, 319, 324, 325, 329, 335, 235, 201, 359, - 367, 905, 191, 208, 339, 965, 416, 271, 524, 502, - 498, 826, 210, 844, 245, 855, 863, 0, 869, 877, - 878, 890, 892, 893, 894, 895, 913, 914, 916, 924, - 926, 929, 931, 936, 946, 968, 193, 194, 200, 209, + 471, 907, 191, 208, 339, 967, 416, 271, 525, 503, + 499, 828, 210, 846, 245, 857, 865, 0, 871, 879, + 880, 892, 894, 895, 896, 897, 915, 916, 918, 926, + 928, 931, 933, 938, 948, 970, 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, 357, 358, 377, 378, 379, 382, 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, 437, 438, 443, 444, 445, 446, 447, - 455, 456, 460, 478, 480, 492, 506, 511, 436, 281, - 487, 512, 0, 348, 904, 910, 350, 264, 284, 295, - 919, 501, 457, 214, 424, 273, 202, 233, 217, 242, + 455, 456, 460, 479, 481, 493, 507, 512, 436, 281, + 488, 513, 0, 348, 906, 912, 350, 264, 284, 295, + 921, 502, 457, 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, - 900, 928, 346, 469, 470, 291, 365, 0, 0, 954, - 939, 468, 0, 885, 957, 854, 873, 967, 876, 879, - 921, 833, 899, 384, 870, 825, 858, 828, 865, 829, - 856, 887, 253, 853, 941, 903, 956, 337, 250, 835, - 859, 398, 875, 197, 923, 442, 237, 347, 344, 475, - 265, 256, 252, 236, 292, 354, 396, 462, 390, 963, - 341, 909, 0, 452, 369, 0, 0, 0, 889, 945, - 897, 935, 884, 922, 843, 908, 958, 871, 918, 959, - 298, 234, 300, 196, 381, 453, 269, 0, 0, 0, + 902, 930, 346, 469, 470, 291, 365, 0, 0, 956, + 941, 468, 0, 887, 959, 856, 875, 969, 878, 881, + 923, 835, 901, 384, 872, 827, 860, 830, 867, 831, + 858, 889, 253, 855, 943, 905, 958, 337, 250, 837, + 861, 398, 877, 197, 925, 442, 237, 347, 344, 476, + 265, 256, 252, 236, 292, 354, 396, 462, 390, 965, + 341, 911, 0, 452, 369, 0, 0, 0, 891, 947, + 899, 937, 886, 924, 845, 910, 960, 873, 920, 961, + 298, 234, 300, 196, 381, 453, 269, 0, 87, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, - 311, 312, 314, 316, 321, 328, 334, 867, 915, 953, - 868, 917, 248, 296, 255, 247, 472, 964, 944, 832, - 896, 952, 0, 0, 216, 955, 891, 0, 920, 0, - 970, 827, 911, 0, 830, 834, 966, 948, 862, 258, - 0, 0, 0, 0, 0, 0, 0, 888, 898, 932, - 882, 0, 0, 0, 0, 0, 2413, 0, 860, 0, - 907, 0, 0, 0, 839, 831, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 886, 0, - 0, 0, 842, 0, 861, 933, 0, 824, 279, 836, - 370, 240, 0, 937, 947, 883, 508, 951, 881, 880, - 927, 840, 943, 874, 336, 838, 305, 192, 212, 0, - 872, 380, 423, 429, 942, 857, 866, 238, 864, 427, - 394, 491, 220, 267, 420, 400, 425, 407, 270, 906, - 925, 426, 342, 477, 414, 488, 509, 510, 246, 374, - 499, 466, 505, 523, 213, 243, 388, 459, 494, 449, - 366, 473, 474, 304, 448, 277, 195, 340, 515, 211, - 435, 229, 218, 479, 497, 272, 418, 203, 461, 486, - 226, 439, 0, 0, 525, 205, 484, 458, 362, 301, - 302, 204, 0, 419, 251, 275, 241, 383, 481, 482, - 239, 526, 215, 504, 207, 1160, 503, 376, 476, 485, - 363, 352, 206, 483, 361, 351, 307, 326, 327, 263, - 286, 412, 345, 413, 287, 372, 371, 373, 198, 495, - 0, 199, 0, 454, 496, 527, 221, 222, 224, 852, + 311, 312, 314, 316, 321, 328, 334, 869, 917, 955, + 870, 919, 248, 296, 255, 247, 473, 966, 946, 834, + 898, 954, 0, 0, 216, 957, 893, 0, 922, 0, + 972, 829, 913, 0, 832, 836, 968, 950, 864, 258, + 0, 0, 0, 0, 0, 0, 0, 890, 900, 934, + 884, 0, 0, 0, 0, 0, 0, 0, 862, 0, + 909, 0, 0, 0, 841, 833, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 888, 0, + 0, 0, 844, 0, 863, 935, 0, 826, 279, 838, + 370, 240, 0, 939, 949, 885, 509, 953, 883, 882, + 929, 842, 945, 876, 336, 840, 305, 192, 212, 0, + 874, 380, 423, 429, 944, 859, 868, 238, 866, 427, + 394, 492, 220, 267, 420, 400, 425, 407, 270, 908, + 927, 426, 342, 478, 414, 489, 510, 511, 246, 374, + 500, 466, 506, 524, 213, 243, 388, 459, 495, 449, + 366, 474, 475, 304, 448, 277, 195, 340, 516, 211, + 435, 229, 218, 480, 498, 272, 418, 203, 461, 487, + 226, 439, 0, 0, 526, 205, 485, 458, 362, 301, + 302, 204, 0, 419, 251, 275, 241, 383, 482, 483, + 239, 527, 215, 505, 207, 1162, 504, 376, 477, 486, + 363, 352, 206, 484, 361, 351, 307, 326, 327, 263, + 286, 412, 345, 413, 287, 372, 371, 373, 198, 496, + 0, 199, 0, 454, 497, 528, 221, 222, 224, 854, 262, 266, 274, 276, 282, 283, 290, 338, 387, 411, - 409, 415, 938, 471, 489, 500, 507, 513, 514, 516, - 517, 518, 519, 520, 522, 521, 375, 289, 450, 306, - 343, 930, 969, 393, 428, 227, 493, 451, 847, 851, - 845, 912, 846, 901, 902, 848, 960, 961, 962, 528, - 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, - 539, 540, 541, 542, 543, 544, 545, 0, 934, 841, - 0, 849, 850, 0, 940, 949, 950, 546, 353, 441, - 490, 308, 320, 323, 313, 332, 0, 333, 309, 310, + 409, 415, 940, 472, 490, 501, 508, 514, 515, 517, + 518, 519, 520, 521, 523, 522, 375, 289, 450, 306, + 343, 932, 971, 393, 428, 227, 494, 451, 849, 853, + 847, 914, 848, 903, 904, 850, 962, 963, 964, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 545, 546, 0, 936, 843, + 0, 851, 852, 0, 942, 951, 952, 547, 353, 441, + 491, 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, 335, 235, 201, - 359, 367, 905, 191, 208, 339, 965, 416, 271, 524, - 502, 498, 826, 210, 844, 245, 855, 863, 0, 869, - 877, 878, 890, 892, 893, 894, 895, 913, 914, 916, - 924, 926, 929, 931, 936, 946, 968, 193, 194, 200, - 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, - 288, 293, 294, 297, 303, 349, 355, 356, 357, 358, - 377, 378, 379, 382, 385, 386, 389, 391, 392, 395, - 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, - 431, 432, 433, 434, 437, 438, 443, 444, 445, 446, - 447, 455, 456, 460, 478, 480, 492, 506, 511, 436, - 281, 487, 512, 0, 348, 904, 910, 350, 264, 284, - 295, 919, 501, 457, 214, 424, 273, 202, 233, 217, - 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, - 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, - 401, 900, 928, 346, 469, 470, 291, 365, 0, 0, - 954, 939, 468, 0, 885, 957, 854, 873, 967, 876, - 879, 921, 833, 899, 384, 870, 825, 858, 828, 865, - 829, 856, 887, 253, 853, 941, 903, 956, 337, 250, - 835, 859, 398, 875, 197, 923, 442, 237, 347, 344, - 475, 265, 256, 252, 236, 292, 354, 396, 462, 390, - 963, 341, 909, 0, 452, 369, 0, 0, 0, 889, - 945, 897, 935, 884, 922, 843, 908, 958, 871, 918, - 959, 298, 234, 300, 196, 381, 453, 269, 0, 0, - 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, - 330, 311, 312, 314, 316, 321, 328, 334, 867, 915, - 953, 868, 917, 248, 296, 255, 247, 472, 964, 944, - 832, 896, 952, 0, 0, 216, 955, 891, 0, 920, - 0, 970, 827, 911, 0, 830, 834, 966, 948, 862, - 258, 0, 0, 0, 0, 0, 0, 0, 888, 898, - 932, 882, 0, 0, 0, 0, 0, 1845, 0, 860, - 0, 907, 0, 0, 0, 839, 831, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 886, - 0, 0, 0, 842, 0, 861, 933, 0, 824, 279, - 836, 370, 240, 0, 937, 947, 883, 508, 951, 881, - 880, 927, 840, 943, 874, 336, 838, 305, 192, 212, - 0, 872, 380, 423, 429, 942, 857, 866, 238, 864, - 427, 394, 491, 220, 267, 420, 400, 425, 407, 270, - 906, 925, 426, 342, 477, 414, 488, 509, 510, 246, - 374, 499, 466, 505, 523, 213, 243, 388, 459, 494, - 449, 366, 473, 474, 304, 448, 277, 195, 340, 515, - 211, 435, 229, 218, 479, 497, 272, 418, 203, 461, - 486, 226, 439, 0, 0, 525, 205, 484, 458, 362, - 301, 302, 204, 0, 419, 251, 275, 241, 383, 481, - 482, 239, 526, 215, 504, 207, 1160, 503, 376, 476, - 485, 363, 352, 206, 483, 361, 351, 307, 326, 327, - 263, 286, 412, 345, 413, 287, 372, 371, 373, 198, - 495, 0, 199, 0, 454, 496, 527, 221, 222, 224, - 852, 262, 266, 274, 276, 282, 283, 290, 338, 387, - 411, 409, 415, 938, 471, 489, 500, 507, 513, 514, - 516, 517, 518, 519, 520, 522, 521, 375, 289, 450, - 306, 343, 930, 969, 393, 428, 227, 493, 451, 847, - 851, 845, 912, 846, 901, 902, 848, 960, 961, 962, - 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, - 538, 539, 540, 541, 542, 543, 544, 545, 0, 934, - 841, 0, 849, 850, 0, 940, 949, 950, 546, 353, - 441, 490, 308, 320, 323, 313, 332, 0, 333, 309, - 310, 315, 317, 318, 319, 324, 325, 329, 335, 235, - 201, 359, 367, 905, 191, 208, 339, 965, 416, 271, - 524, 502, 498, 826, 210, 844, 245, 855, 863, 0, - 869, 877, 878, 890, 892, 893, 894, 895, 913, 914, - 916, 924, 926, 929, 931, 936, 946, 968, 193, 194, + 359, 367, 471, 907, 191, 208, 339, 967, 416, 271, + 525, 503, 499, 828, 210, 846, 245, 857, 865, 0, + 871, 879, 880, 892, 894, 895, 896, 897, 915, 916, + 918, 926, 928, 931, 933, 938, 948, 970, 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, 357, 358, 377, 378, 379, 382, 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, 437, 438, 443, 444, 445, - 446, 447, 455, 456, 460, 478, 480, 492, 506, 511, - 436, 281, 487, 512, 0, 348, 904, 910, 350, 264, - 284, 295, 919, 501, 457, 214, 424, 273, 202, 233, + 446, 447, 455, 456, 460, 479, 481, 493, 507, 512, + 436, 281, 488, 513, 0, 348, 906, 912, 350, 264, + 284, 295, 921, 502, 457, 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, 364, - 249, 401, 900, 928, 346, 469, 470, 291, 365, 0, - 0, 954, 939, 468, 0, 885, 957, 854, 873, 967, - 876, 879, 921, 833, 899, 384, 870, 825, 858, 828, - 865, 829, 856, 887, 253, 853, 941, 903, 956, 337, - 250, 835, 859, 398, 875, 197, 923, 442, 237, 347, - 344, 475, 265, 256, 252, 236, 292, 354, 396, 462, - 390, 963, 341, 909, 0, 452, 369, 0, 0, 0, - 889, 945, 897, 935, 884, 922, 843, 908, 958, 871, - 918, 959, 298, 234, 300, 196, 381, 453, 269, 0, - 87, 0, 0, 188, 189, 190, 0, 0, 0, 0, + 249, 401, 902, 930, 346, 469, 470, 291, 365, 0, + 0, 956, 941, 468, 0, 887, 959, 856, 875, 969, + 878, 881, 923, 835, 901, 384, 872, 827, 860, 830, + 867, 831, 858, 889, 253, 855, 943, 905, 958, 337, + 250, 837, 861, 398, 877, 197, 925, 442, 237, 347, + 344, 476, 265, 256, 252, 236, 292, 354, 396, 462, + 390, 965, 341, 911, 0, 452, 369, 0, 0, 0, + 891, 947, 899, 937, 886, 924, 845, 910, 960, 873, + 920, 961, 298, 234, 300, 196, 381, 453, 269, 0, + 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, - 331, 330, 311, 312, 314, 316, 321, 328, 334, 867, - 915, 953, 868, 917, 248, 296, 255, 247, 472, 964, - 944, 832, 896, 952, 0, 0, 216, 955, 891, 0, - 920, 0, 970, 827, 911, 0, 830, 834, 966, 948, - 862, 258, 0, 0, 0, 0, 0, 0, 0, 888, - 898, 932, 882, 0, 0, 0, 0, 0, 0, 0, - 860, 0, 907, 0, 0, 0, 839, 831, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 886, 0, 0, 0, 842, 0, 861, 933, 0, 824, - 279, 836, 370, 240, 0, 937, 947, 883, 508, 951, - 881, 880, 927, 840, 943, 874, 336, 838, 305, 192, - 212, 0, 872, 380, 423, 429, 942, 857, 866, 238, - 864, 427, 394, 491, 220, 267, 420, 400, 425, 407, - 270, 906, 925, 426, 342, 477, 414, 488, 509, 510, - 246, 374, 499, 466, 505, 523, 213, 243, 388, 459, - 494, 449, 366, 473, 474, 304, 448, 277, 195, 340, - 515, 211, 435, 229, 218, 479, 497, 272, 418, 203, - 461, 486, 226, 439, 0, 0, 525, 205, 484, 458, + 331, 330, 311, 312, 314, 316, 321, 328, 334, 869, + 917, 955, 870, 919, 248, 296, 255, 247, 473, 966, + 946, 834, 898, 954, 0, 0, 216, 957, 893, 0, + 922, 0, 972, 829, 913, 0, 832, 836, 968, 950, + 864, 258, 0, 0, 0, 0, 0, 0, 0, 890, + 900, 934, 884, 0, 0, 0, 0, 0, 0, 0, + 862, 0, 909, 0, 0, 0, 841, 833, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 888, 0, 0, 0, 844, 0, 863, 935, 0, 826, + 279, 838, 370, 240, 0, 939, 949, 885, 509, 953, + 883, 882, 929, 842, 945, 876, 336, 840, 305, 192, + 212, 0, 874, 380, 423, 429, 944, 859, 868, 238, + 866, 427, 394, 492, 220, 267, 420, 400, 425, 407, + 270, 908, 927, 426, 342, 478, 414, 489, 510, 511, + 246, 374, 500, 466, 506, 524, 213, 243, 388, 459, + 495, 449, 366, 474, 475, 304, 448, 277, 195, 340, + 516, 211, 435, 229, 218, 480, 498, 272, 418, 203, + 461, 487, 226, 439, 0, 0, 526, 205, 485, 458, 362, 301, 302, 204, 0, 419, 251, 275, 241, 383, - 481, 482, 239, 526, 215, 504, 207, 1160, 503, 376, - 476, 485, 363, 352, 206, 483, 361, 351, 307, 326, + 482, 483, 239, 527, 215, 505, 207, 1162, 504, 376, + 477, 486, 363, 352, 206, 484, 361, 351, 307, 326, 327, 263, 286, 412, 345, 413, 287, 372, 371, 373, - 198, 495, 0, 199, 0, 454, 496, 527, 221, 222, - 224, 852, 262, 266, 274, 276, 282, 283, 290, 338, - 387, 411, 409, 415, 938, 471, 489, 500, 507, 513, - 514, 516, 517, 518, 519, 520, 522, 521, 375, 289, - 450, 306, 343, 930, 969, 393, 428, 227, 493, 451, - 847, 851, 845, 912, 846, 901, 902, 848, 960, 961, - 962, 528, 529, 530, 531, 532, 533, 534, 535, 536, - 537, 538, 539, 540, 541, 542, 543, 544, 545, 0, - 934, 841, 0, 849, 850, 0, 940, 949, 950, 546, - 353, 441, 490, 308, 320, 323, 313, 332, 0, 333, + 198, 496, 0, 199, 0, 454, 497, 528, 221, 222, + 224, 854, 262, 266, 274, 276, 282, 283, 290, 338, + 387, 411, 409, 415, 940, 472, 490, 501, 508, 514, + 515, 517, 518, 519, 520, 521, 523, 522, 375, 289, + 450, 306, 343, 932, 971, 393, 428, 227, 494, 451, + 849, 853, 847, 914, 848, 903, 904, 850, 962, 963, + 964, 529, 530, 531, 532, 533, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 546, 0, + 936, 843, 0, 851, 852, 0, 942, 951, 952, 547, + 353, 441, 491, 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, 335, - 235, 201, 359, 367, 905, 191, 208, 339, 965, 416, - 271, 524, 502, 498, 826, 210, 844, 245, 855, 863, - 0, 869, 877, 878, 890, 892, 893, 894, 895, 913, - 914, 916, 924, 926, 929, 931, 936, 946, 968, 193, - 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, - 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, - 357, 358, 377, 378, 379, 382, 385, 386, 389, 391, - 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, - 422, 430, 431, 432, 433, 434, 437, 438, 443, 444, - 445, 446, 447, 455, 456, 460, 478, 480, 492, 506, - 511, 436, 281, 487, 512, 0, 348, 904, 910, 350, - 264, 284, 295, 919, 501, 457, 214, 424, 273, 202, - 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, - 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, - 364, 249, 401, 900, 928, 346, 469, 470, 291, 365, - 0, 0, 954, 939, 468, 0, 885, 957, 854, 873, - 967, 876, 879, 921, 833, 899, 384, 870, 825, 858, - 828, 865, 829, 856, 887, 253, 853, 941, 903, 956, - 337, 250, 835, 859, 398, 875, 197, 923, 442, 237, - 347, 344, 475, 265, 256, 252, 236, 292, 354, 396, - 462, 390, 963, 341, 909, 0, 452, 369, 0, 0, - 0, 889, 945, 897, 935, 884, 922, 843, 908, 958, - 871, 918, 959, 298, 234, 300, 196, 381, 453, 269, - 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, - 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, - 867, 915, 953, 868, 917, 248, 296, 255, 247, 472, - 964, 944, 832, 896, 952, 0, 0, 216, 955, 891, - 0, 920, 0, 970, 827, 911, 0, 830, 834, 966, - 948, 862, 258, 0, 0, 0, 0, 0, 0, 0, - 888, 898, 932, 882, 0, 0, 0, 0, 0, 0, - 0, 860, 0, 907, 0, 0, 0, 839, 831, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 886, 0, 0, 0, 842, 0, 861, 933, 0, - 824, 279, 836, 370, 240, 0, 937, 947, 883, 508, - 951, 881, 880, 927, 840, 943, 874, 336, 838, 305, - 192, 212, 0, 872, 380, 423, 429, 942, 857, 866, - 238, 864, 427, 394, 491, 220, 267, 420, 400, 425, - 407, 270, 906, 925, 426, 342, 477, 414, 488, 509, - 510, 246, 374, 499, 466, 505, 523, 213, 243, 388, - 459, 494, 449, 366, 473, 474, 304, 448, 277, 195, - 340, 515, 211, 435, 229, 218, 479, 497, 272, 418, - 203, 461, 486, 226, 439, 0, 0, 525, 205, 484, - 458, 362, 301, 302, 204, 0, 419, 251, 275, 241, - 383, 481, 482, 239, 526, 215, 504, 207, 1160, 503, - 376, 476, 485, 363, 352, 206, 483, 361, 351, 307, - 326, 327, 263, 286, 412, 345, 413, 287, 372, 371, - 373, 198, 495, 0, 199, 0, 454, 496, 527, 221, - 222, 224, 852, 262, 266, 274, 276, 282, 283, 290, - 338, 387, 411, 409, 415, 938, 471, 489, 500, 507, - 513, 514, 516, 517, 518, 519, 520, 522, 521, 375, - 289, 450, 306, 343, 930, 969, 393, 428, 227, 493, - 451, 847, 851, 845, 912, 846, 901, 902, 848, 960, - 961, 962, 528, 529, 530, 531, 532, 533, 534, 535, - 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, - 0, 934, 841, 0, 849, 850, 0, 940, 949, 950, - 546, 353, 441, 490, 308, 320, 323, 313, 332, 0, - 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, - 335, 235, 201, 359, 367, 905, 191, 208, 339, 965, - 416, 271, 524, 502, 498, 826, 210, 844, 245, 855, - 863, 0, 869, 877, 878, 890, 892, 893, 894, 895, - 913, 914, 916, 924, 926, 929, 931, 936, 946, 968, + 235, 201, 359, 367, 471, 907, 191, 208, 339, 967, + 416, 271, 525, 503, 499, 828, 210, 846, 245, 857, + 865, 0, 871, 879, 880, 892, 894, 895, 896, 897, + 915, 916, 918, 926, 928, 931, 933, 938, 948, 970, 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, 357, 358, 377, 378, 379, 382, 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, 437, 438, 443, - 444, 445, 446, 447, 455, 456, 460, 478, 480, 492, - 506, 511, 436, 281, 487, 512, 0, 348, 904, 910, - 350, 264, 284, 295, 919, 501, 457, 214, 424, 273, + 444, 445, 446, 447, 455, 456, 460, 479, 481, 493, + 507, 512, 436, 281, 488, 513, 0, 348, 906, 912, + 350, 264, 284, 295, 921, 502, 457, 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, 465, - 467, 364, 249, 401, 900, 928, 346, 469, 470, 291, - 365, 0, 0, 954, 939, 468, 0, 885, 957, 854, - 873, 967, 876, 879, 921, 833, 899, 384, 870, 825, - 858, 828, 865, 829, 856, 887, 253, 853, 941, 903, - 956, 337, 250, 835, 859, 398, 875, 197, 923, 442, - 237, 347, 344, 475, 265, 256, 252, 236, 292, 354, - 396, 462, 390, 963, 341, 909, 0, 452, 369, 0, - 0, 0, 889, 945, 897, 935, 884, 922, 843, 908, - 958, 871, 918, 959, 298, 234, 300, 196, 381, 453, + 467, 364, 249, 401, 902, 930, 346, 469, 470, 291, + 365, 0, 0, 956, 941, 468, 0, 887, 959, 856, + 875, 969, 878, 881, 923, 835, 901, 384, 872, 827, + 860, 830, 867, 831, 858, 889, 253, 855, 943, 905, + 958, 337, 250, 837, 861, 398, 877, 197, 925, 442, + 237, 347, 344, 476, 265, 256, 252, 236, 292, 354, + 396, 462, 390, 965, 341, 911, 0, 452, 369, 0, + 0, 0, 891, 947, 899, 937, 886, 924, 845, 910, + 960, 873, 920, 961, 298, 234, 300, 196, 381, 453, 269, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, - 334, 867, 915, 953, 868, 917, 248, 296, 255, 247, - 472, 964, 944, 832, 896, 952, 0, 0, 971, 955, - 891, 0, 920, 0, 970, 827, 911, 0, 830, 834, - 966, 948, 862, 258, 0, 0, 0, 0, 0, 0, - 0, 888, 898, 932, 882, 0, 0, 0, 0, 0, - 0, 0, 860, 0, 907, 0, 0, 0, 839, 831, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 886, 0, 0, 0, 842, 0, 861, 933, - 0, 824, 279, 836, 370, 240, 0, 937, 947, 883, - 508, 951, 881, 880, 927, 840, 943, 874, 336, 838, - 305, 192, 212, 0, 872, 380, 423, 429, 942, 857, - 866, 238, 864, 427, 394, 491, 220, 267, 420, 400, - 425, 407, 270, 906, 925, 426, 342, 477, 414, 488, - 509, 510, 246, 374, 499, 466, 505, 523, 213, 243, - 388, 459, 494, 449, 366, 473, 474, 304, 448, 277, - 195, 340, 515, 211, 435, 229, 218, 479, 497, 272, - 418, 203, 461, 486, 226, 439, 0, 0, 525, 205, - 484, 458, 362, 301, 302, 204, 0, 419, 251, 275, - 241, 383, 481, 482, 239, 526, 215, 504, 207, 837, - 503, 376, 476, 485, 363, 352, 206, 483, 361, 351, + 334, 869, 917, 955, 870, 919, 248, 296, 255, 247, + 473, 966, 946, 834, 898, 954, 0, 0, 973, 957, + 893, 0, 922, 0, 972, 829, 913, 0, 832, 836, + 968, 950, 864, 258, 0, 0, 0, 0, 0, 0, + 0, 890, 900, 934, 884, 0, 0, 0, 0, 0, + 0, 0, 862, 0, 909, 0, 0, 0, 841, 833, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 888, 0, 0, 0, 844, 0, 863, 935, + 0, 826, 279, 838, 370, 240, 0, 939, 949, 885, + 509, 953, 883, 882, 929, 842, 945, 876, 336, 840, + 305, 192, 212, 0, 874, 380, 423, 429, 944, 859, + 868, 238, 866, 427, 394, 492, 220, 267, 420, 400, + 425, 407, 270, 908, 927, 426, 342, 478, 414, 489, + 510, 511, 246, 374, 500, 466, 506, 524, 213, 243, + 388, 459, 495, 449, 366, 474, 475, 304, 448, 277, + 195, 340, 516, 211, 435, 229, 218, 480, 498, 272, + 418, 203, 461, 487, 226, 439, 0, 0, 526, 205, + 485, 458, 362, 301, 302, 204, 0, 419, 251, 275, + 241, 383, 482, 483, 239, 527, 215, 505, 207, 839, + 504, 376, 477, 486, 363, 352, 206, 484, 361, 351, 307, 326, 327, 263, 286, 412, 345, 413, 287, 372, - 371, 373, 198, 495, 0, 199, 0, 454, 496, 527, - 221, 222, 224, 852, 262, 266, 274, 276, 282, 283, - 290, 338, 387, 411, 409, 415, 938, 471, 489, 500, - 507, 513, 514, 516, 517, 518, 519, 520, 522, 521, - 823, 817, 816, 306, 343, 930, 969, 393, 428, 227, - 493, 451, 847, 851, 845, 912, 846, 901, 902, 848, - 960, 961, 962, 528, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 545, 0, 934, 841, 0, 849, 850, 0, 940, 949, - 950, 546, 353, 441, 490, 308, 320, 323, 313, 332, + 371, 373, 198, 496, 0, 199, 0, 454, 497, 528, + 221, 222, 224, 854, 262, 266, 274, 276, 282, 283, + 290, 338, 387, 411, 409, 415, 940, 472, 490, 501, + 508, 514, 515, 517, 518, 519, 520, 521, 523, 522, + 825, 819, 818, 306, 343, 932, 971, 393, 428, 227, + 494, 451, 849, 853, 847, 914, 848, 903, 904, 850, + 962, 963, 964, 529, 530, 531, 532, 533, 534, 535, + 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, + 546, 0, 936, 843, 0, 851, 852, 0, 942, 951, + 952, 547, 353, 441, 491, 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, 325, - 329, 335, 235, 201, 359, 367, 905, 191, 208, 339, - 965, 416, 271, 524, 502, 498, 826, 210, 844, 245, - 855, 863, 0, 869, 877, 878, 890, 892, 893, 894, - 895, 913, 914, 916, 924, 926, 929, 931, 936, 946, - 968, 193, 194, 200, 209, 219, 223, 230, 244, 259, - 261, 268, 280, 285, 288, 293, 294, 297, 303, 349, - 355, 356, 357, 358, 377, 378, 379, 382, 385, 386, - 389, 391, 392, 395, 399, 403, 404, 405, 406, 408, - 410, 417, 422, 430, 431, 432, 433, 434, 437, 438, - 443, 444, 445, 446, 447, 455, 456, 460, 478, 480, - 492, 506, 511, 436, 281, 487, 512, 0, 348, 904, - 910, 350, 264, 284, 295, 919, 501, 457, 214, 424, - 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, - 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, - 465, 467, 364, 249, 401, 900, 928, 346, 469, 470, - 291, 365, 0, 0, 954, 939, 468, 0, 885, 957, - 854, 873, 967, 876, 879, 921, 833, 899, 384, 870, - 825, 858, 828, 865, 829, 856, 887, 253, 853, 941, - 903, 956, 337, 250, 835, 859, 398, 875, 197, 923, - 442, 237, 347, 344, 475, 265, 256, 252, 236, 292, - 354, 396, 462, 390, 963, 341, 909, 0, 452, 369, - 0, 0, 0, 889, 945, 897, 935, 884, 922, 843, - 908, 958, 871, 918, 959, 298, 234, 300, 196, 381, - 453, 269, 0, 0, 0, 0, 188, 189, 190, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, - 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, - 328, 334, 867, 915, 953, 868, 917, 248, 296, 255, - 247, 472, 964, 944, 832, 896, 952, 0, 0, 971, - 955, 891, 0, 920, 0, 970, 827, 911, 0, 830, - 834, 966, 948, 862, 258, 0, 0, 0, 0, 0, - 0, 0, 888, 898, 932, 882, 0, 0, 0, 0, - 0, 0, 0, 860, 0, 907, 0, 0, 0, 839, - 831, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 886, 0, 0, 0, 842, 0, 861, - 933, 0, 824, 279, 836, 370, 240, 0, 937, 947, - 883, 508, 951, 881, 880, 927, 840, 943, 874, 336, - 838, 305, 192, 212, 0, 872, 380, 423, 429, 942, - 857, 866, 238, 864, 427, 394, 491, 220, 267, 420, - 400, 425, 407, 270, 906, 925, 426, 342, 477, 414, - 488, 509, 510, 246, 374, 499, 466, 505, 523, 213, - 243, 388, 459, 494, 449, 366, 473, 474, 304, 448, - 277, 195, 340, 515, 211, 435, 229, 218, 479, 497, - 272, 418, 203, 461, 1379, 226, 439, 0, 0, 525, - 205, 484, 458, 362, 301, 302, 204, 0, 419, 251, - 275, 241, 383, 481, 482, 239, 526, 215, 504, 207, - 837, 503, 376, 476, 485, 363, 352, 206, 483, 361, - 351, 307, 326, 327, 263, 286, 412, 345, 413, 287, - 372, 371, 373, 198, 495, 0, 199, 0, 454, 496, - 527, 221, 222, 224, 852, 262, 266, 274, 276, 282, - 283, 290, 338, 387, 411, 409, 415, 938, 471, 489, - 500, 507, 513, 514, 516, 517, 518, 519, 520, 522, - 521, 823, 817, 816, 306, 343, 930, 969, 393, 428, - 227, 493, 451, 847, 851, 845, 912, 846, 901, 902, - 848, 960, 961, 962, 528, 529, 530, 531, 532, 533, - 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, - 544, 545, 0, 934, 841, 0, 849, 850, 0, 940, - 949, 950, 546, 353, 441, 490, 308, 320, 323, 313, - 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, - 325, 329, 335, 235, 201, 359, 367, 905, 191, 208, - 339, 965, 416, 271, 524, 502, 498, 826, 210, 844, - 245, 855, 863, 0, 869, 877, 878, 890, 892, 893, - 894, 895, 913, 914, 916, 924, 926, 929, 931, 936, - 946, 968, 193, 194, 200, 209, 219, 223, 230, 244, + 329, 335, 235, 201, 359, 367, 471, 907, 191, 208, + 339, 967, 416, 271, 525, 503, 499, 828, 210, 846, + 245, 857, 865, 0, 871, 879, 880, 892, 894, 895, + 896, 897, 915, 916, 918, 926, 928, 931, 933, 938, + 948, 970, 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, 357, 358, 377, 378, 379, 382, 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, 437, - 438, 443, 444, 445, 446, 447, 455, 456, 460, 478, - 480, 492, 506, 511, 436, 281, 487, 512, 0, 348, - 904, 910, 350, 264, 284, 295, 919, 501, 457, 214, + 438, 443, 444, 445, 446, 447, 455, 456, 460, 479, + 481, 493, 507, 512, 436, 281, 488, 513, 0, 348, + 906, 912, 350, 264, 284, 295, 921, 502, 457, 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, 463, - 464, 465, 467, 364, 249, 401, 900, 928, 346, 469, - 470, 291, 365, 0, 0, 954, 939, 468, 0, 885, - 957, 854, 873, 967, 876, 879, 921, 833, 899, 384, - 870, 825, 858, 828, 865, 829, 856, 887, 253, 853, - 941, 903, 956, 337, 250, 835, 859, 398, 875, 197, - 923, 442, 237, 347, 344, 475, 265, 256, 252, 236, - 292, 354, 396, 462, 390, 963, 341, 909, 0, 452, - 369, 0, 0, 0, 889, 945, 897, 935, 884, 922, - 843, 908, 958, 871, 918, 959, 298, 234, 300, 196, + 464, 465, 467, 364, 249, 401, 902, 930, 346, 469, + 470, 291, 365, 0, 0, 956, 941, 468, 0, 887, + 959, 856, 875, 969, 878, 881, 923, 835, 901, 384, + 872, 827, 860, 830, 867, 831, 858, 889, 253, 855, + 943, 905, 958, 337, 250, 837, 861, 398, 877, 197, + 925, 442, 237, 347, 344, 476, 265, 256, 252, 236, + 292, 354, 396, 462, 390, 965, 341, 911, 0, 452, + 369, 0, 0, 0, 891, 947, 899, 937, 886, 924, + 845, 910, 960, 873, 920, 961, 298, 234, 300, 196, 381, 453, 269, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, - 321, 328, 334, 867, 915, 953, 868, 917, 248, 296, - 255, 247, 472, 964, 944, 832, 896, 952, 0, 0, - 971, 955, 891, 0, 920, 0, 970, 827, 911, 0, - 830, 834, 966, 948, 862, 258, 0, 0, 0, 0, - 0, 0, 0, 888, 898, 932, 882, 0, 0, 0, - 0, 0, 0, 0, 860, 0, 907, 0, 0, 0, - 839, 831, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 886, 0, 0, 0, 842, 0, - 861, 933, 0, 824, 279, 836, 370, 240, 0, 937, - 947, 883, 508, 951, 881, 880, 927, 840, 943, 874, - 336, 838, 305, 192, 212, 0, 872, 380, 423, 429, - 942, 857, 866, 238, 864, 427, 394, 491, 220, 267, - 420, 400, 425, 407, 270, 906, 925, 426, 342, 477, - 414, 488, 509, 510, 246, 374, 499, 466, 505, 523, - 213, 243, 388, 459, 494, 449, 366, 473, 474, 304, - 448, 277, 195, 340, 515, 211, 435, 229, 218, 479, - 497, 272, 418, 203, 461, 814, 226, 439, 0, 0, - 525, 205, 484, 458, 362, 301, 302, 204, 0, 419, - 251, 275, 241, 383, 481, 482, 239, 526, 215, 504, - 207, 837, 503, 376, 476, 485, 363, 352, 206, 483, + 321, 328, 334, 869, 917, 955, 870, 919, 248, 296, + 255, 247, 473, 966, 946, 834, 898, 954, 0, 0, + 973, 957, 893, 0, 922, 0, 972, 829, 913, 0, + 832, 836, 968, 950, 864, 258, 0, 0, 0, 0, + 0, 0, 0, 890, 900, 934, 884, 0, 0, 0, + 0, 0, 0, 0, 862, 0, 909, 0, 0, 0, + 841, 833, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 888, 0, 0, 0, 844, 0, + 863, 935, 0, 826, 279, 838, 370, 240, 0, 939, + 949, 885, 509, 953, 883, 882, 929, 842, 945, 876, + 336, 840, 305, 192, 212, 0, 874, 380, 423, 429, + 944, 859, 868, 238, 866, 427, 394, 492, 220, 267, + 420, 400, 425, 407, 270, 908, 927, 426, 342, 478, + 414, 489, 510, 511, 246, 374, 500, 466, 506, 524, + 213, 243, 388, 459, 495, 449, 366, 474, 475, 304, + 448, 277, 195, 340, 516, 211, 435, 229, 218, 480, + 498, 272, 418, 203, 461, 1382, 226, 439, 0, 0, + 526, 205, 485, 458, 362, 301, 302, 204, 0, 419, + 251, 275, 241, 383, 482, 483, 239, 527, 215, 505, + 207, 839, 504, 376, 477, 486, 363, 352, 206, 484, 361, 351, 307, 326, 327, 263, 286, 412, 345, 413, - 287, 372, 371, 373, 198, 495, 0, 199, 0, 454, - 496, 527, 221, 222, 224, 852, 262, 266, 274, 276, - 282, 283, 290, 338, 387, 411, 409, 415, 938, 471, - 489, 500, 507, 513, 514, 516, 517, 518, 519, 520, - 522, 521, 823, 817, 816, 306, 343, 930, 969, 393, - 428, 227, 493, 451, 847, 851, 845, 912, 846, 901, - 902, 848, 960, 961, 962, 528, 529, 530, 531, 532, - 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, - 543, 544, 545, 0, 934, 841, 0, 849, 850, 0, - 940, 949, 950, 546, 353, 441, 490, 308, 320, 323, + 287, 372, 371, 373, 198, 496, 0, 199, 0, 454, + 497, 528, 221, 222, 224, 854, 262, 266, 274, 276, + 282, 283, 290, 338, 387, 411, 409, 415, 940, 472, + 490, 501, 508, 514, 515, 517, 518, 519, 520, 521, + 523, 522, 825, 819, 818, 306, 343, 932, 971, 393, + 428, 227, 494, 451, 849, 853, 847, 914, 848, 903, + 904, 850, 962, 963, 964, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 0, 936, 843, 0, 851, 852, 0, + 942, 951, 952, 547, 353, 441, 491, 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, - 324, 325, 329, 335, 235, 201, 359, 367, 905, 191, - 208, 339, 965, 416, 271, 524, 502, 498, 826, 210, - 844, 245, 855, 863, 0, 869, 877, 878, 890, 892, - 893, 894, 895, 913, 914, 916, 924, 926, 929, 931, - 936, 946, 968, 193, 194, 200, 209, 219, 223, 230, - 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, - 303, 349, 355, 356, 357, 358, 377, 378, 379, 382, - 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, - 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, - 437, 438, 443, 444, 445, 446, 447, 455, 456, 460, - 478, 480, 492, 506, 511, 436, 281, 487, 512, 0, - 348, 904, 910, 350, 264, 284, 295, 919, 501, 457, - 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, - 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, - 463, 464, 465, 467, 364, 249, 401, 900, 928, 346, - 469, 470, 291, 365, 0, 0, 0, 0, 468, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 384, 0, 0, 1789, 0, 628, 0, 0, 0, 253, - 633, 0, 0, 0, 337, 250, 0, 1790, 398, 0, - 197, 0, 442, 237, 347, 344, 475, 265, 256, 252, - 236, 292, 354, 396, 462, 390, 640, 341, 0, 0, - 452, 369, 0, 0, 0, 0, 0, 635, 636, 0, - 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, - 196, 381, 453, 269, 0, 87, 0, 0, 188, 189, - 190, 708, 715, 716, 717, 718, 719, 709, 711, 0, - 0, 225, 710, 232, 655, 657, 656, 666, 667, 668, - 669, 670, 671, 672, 653, 713, 720, 721, 0, 248, - 296, 255, 247, 472, 0, 0, 0, 0, 0, 0, - 0, 216, 0, 0, 0, 0, 0, 0, 0, 611, - 625, 0, 639, 0, 0, 0, 258, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 622, 623, 803, 0, 0, 0, 692, 0, 624, - 0, 0, 632, 722, 723, 724, 725, 726, 727, 728, - 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, - 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, - 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, - 759, 760, 761, 762, 763, 634, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 279, 0, 370, 240, 0, - 691, 0, 0, 508, 0, 0, 689, 0, 0, 0, - 0, 336, 0, 305, 192, 212, 0, 0, 380, 423, - 429, 0, 0, 0, 238, 0, 427, 394, 491, 220, - 267, 420, 400, 425, 407, 270, 0, 0, 426, 342, - 477, 414, 488, 509, 510, 246, 374, 499, 466, 505, - 523, 213, 243, 388, 459, 494, 449, 366, 473, 474, - 304, 448, 277, 195, 340, 515, 211, 435, 229, 218, - 479, 497, 272, 418, 203, 461, 486, 226, 439, 0, - 0, 525, 205, 484, 458, 362, 301, 302, 204, 0, - 419, 251, 275, 241, 383, 481, 482, 239, 526, 215, - 504, 207, 0, 503, 376, 476, 485, 363, 352, 206, - 483, 361, 351, 307, 661, 662, 263, 286, 412, 345, - 413, 287, 372, 371, 373, 198, 495, 0, 199, 0, - 454, 496, 527, 221, 222, 224, 0, 262, 266, 274, - 276, 282, 283, 290, 338, 387, 411, 409, 415, 0, - 471, 489, 500, 507, 513, 514, 516, 517, 518, 519, - 520, 522, 521, 375, 289, 450, 306, 343, 0, 0, - 393, 428, 227, 493, 451, 698, 690, 644, 702, 646, - 699, 700, 641, 642, 645, 701, 528, 529, 530, 531, - 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, - 542, 543, 544, 545, 0, 693, 631, 630, 0, 637, - 638, 0, 651, 652, 654, 658, 659, 660, 663, 664, - 665, 673, 675, 676, 674, 677, 678, 679, 682, 683, - 684, 685, 680, 681, 686, 648, 647, 649, 650, 629, - 191, 208, 339, 0, 416, 271, 524, 502, 498, 0, - 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, + 324, 325, 329, 335, 235, 201, 359, 367, 471, 907, + 191, 208, 339, 967, 416, 271, 525, 503, 499, 828, + 210, 846, 245, 857, 865, 0, 871, 879, 880, 892, + 894, 895, 896, 897, 915, 916, 918, 926, 928, 931, + 933, 938, 948, 970, 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, 357, 358, 377, 378, 379, 382, 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, 437, 438, 443, 444, 445, 446, 447, 455, 456, - 460, 478, 480, 492, 506, 511, 436, 281, 487, 512, - 0, 348, 0, 0, 350, 264, 284, 295, 0, 501, + 460, 479, 481, 493, 507, 512, 436, 281, 488, 513, + 0, 348, 906, 912, 350, 264, 284, 295, 921, 502, 457, 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, 228, - 440, 463, 464, 465, 467, 364, 249, 401, 0, 365, - 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 384, 0, 0, 0, - 0, 628, 0, 0, 0, 253, 633, 0, 0, 0, - 337, 250, 0, 0, 398, 0, 197, 0, 442, 237, - 347, 344, 475, 265, 256, 252, 236, 292, 354, 396, - 462, 390, 640, 341, 0, 0, 452, 369, 0, 0, - 0, 0, 0, 635, 636, 0, 0, 0, 0, 0, - 0, 0, 0, 298, 234, 300, 196, 381, 453, 269, - 0, 87, 0, 0, 188, 189, 190, 708, 715, 716, - 717, 718, 719, 709, 711, 0, 0, 225, 710, 232, - 655, 657, 656, 666, 667, 668, 669, 670, 671, 672, - 653, 713, 720, 721, 0, 248, 296, 255, 247, 472, - 0, 0, 1755, 1756, 1757, 0, 0, 216, 0, 0, - 0, 0, 0, 0, 0, 611, 625, 0, 639, 0, - 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 622, 623, 0, - 0, 0, 0, 692, 0, 624, 0, 0, 632, 722, - 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, - 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, - 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, - 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, - 763, 634, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 279, 0, 370, 240, 0, 691, 0, 0, 508, - 0, 0, 689, 0, 0, 0, 0, 336, 0, 305, - 192, 212, 0, 0, 380, 423, 429, 0, 0, 0, - 238, 0, 427, 394, 491, 220, 267, 420, 400, 425, - 407, 270, 0, 0, 426, 342, 477, 414, 488, 509, - 510, 246, 374, 499, 466, 505, 523, 213, 243, 388, - 459, 494, 449, 366, 473, 474, 304, 448, 277, 195, - 340, 515, 211, 435, 229, 218, 479, 497, 272, 418, - 203, 461, 486, 226, 439, 0, 0, 525, 205, 484, - 458, 362, 301, 302, 204, 0, 419, 251, 275, 241, - 383, 481, 482, 239, 526, 215, 504, 207, 0, 503, - 376, 476, 485, 363, 352, 206, 483, 361, 351, 307, - 661, 662, 263, 286, 412, 345, 413, 287, 372, 371, - 373, 198, 495, 0, 199, 0, 454, 496, 527, 221, - 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, - 338, 387, 411, 409, 415, 0, 471, 489, 500, 507, - 513, 514, 516, 517, 518, 519, 520, 522, 521, 375, - 289, 450, 306, 343, 0, 0, 393, 428, 227, 493, - 451, 698, 690, 644, 702, 646, 699, 700, 641, 642, - 645, 701, 528, 529, 530, 531, 532, 533, 534, 535, - 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, - 0, 693, 631, 630, 0, 637, 638, 0, 651, 652, - 654, 658, 659, 660, 663, 664, 665, 673, 675, 676, - 674, 677, 678, 679, 682, 683, 684, 685, 680, 681, - 686, 648, 647, 649, 650, 629, 191, 208, 339, 0, - 416, 271, 524, 502, 498, 0, 210, 0, 245, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, - 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, - 356, 357, 358, 377, 378, 379, 382, 385, 386, 389, - 391, 392, 395, 399, 403, 404, 405, 406, 408, 410, - 417, 422, 430, 431, 432, 433, 434, 437, 438, 443, - 444, 445, 446, 447, 455, 456, 460, 478, 480, 492, - 506, 511, 436, 281, 487, 512, 0, 348, 0, 0, - 350, 264, 284, 295, 0, 501, 457, 214, 424, 273, - 202, 233, 217, 242, 257, 260, 299, 360, 368, 397, - 402, 278, 254, 231, 421, 228, 440, 463, 464, 465, - 467, 364, 249, 401, 0, 365, 346, 469, 470, 291, - 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 384, 0, 0, 0, 0, 628, 0, 0, - 0, 253, 633, 0, 0, 0, 337, 250, 0, 0, - 398, 0, 197, 0, 442, 237, 347, 344, 475, 265, - 256, 252, 236, 292, 354, 396, 462, 390, 640, 341, - 0, 0, 452, 369, 0, 0, 0, 0, 0, 635, - 636, 0, 0, 0, 0, 0, 0, 1872, 0, 298, - 234, 300, 196, 381, 453, 269, 0, 87, 0, 0, - 188, 189, 190, 708, 715, 716, 717, 718, 719, 709, - 711, 0, 0, 225, 710, 232, 655, 657, 656, 666, - 667, 668, 669, 670, 671, 672, 653, 713, 720, 721, - 1873, 248, 296, 255, 247, 472, 0, 0, 0, 0, - 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, - 0, 611, 625, 0, 639, 0, 0, 0, 258, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 622, 623, 0, 0, 0, 0, 692, - 0, 624, 0, 0, 632, 722, 723, 724, 725, 726, - 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, - 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, - 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, - 757, 758, 759, 760, 761, 762, 763, 634, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 279, 0, 370, - 240, 0, 691, 0, 0, 508, 0, 0, 689, 0, - 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, - 380, 423, 429, 0, 0, 0, 238, 0, 427, 394, - 491, 220, 267, 420, 400, 425, 407, 270, 0, 0, - 426, 342, 477, 414, 488, 509, 510, 246, 374, 499, - 466, 505, 523, 213, 243, 388, 459, 494, 449, 366, - 473, 474, 304, 448, 277, 195, 340, 515, 211, 435, - 229, 218, 479, 497, 272, 418, 203, 461, 486, 226, - 439, 0, 0, 525, 205, 484, 458, 362, 301, 302, - 204, 0, 419, 251, 275, 241, 383, 481, 482, 239, - 526, 215, 504, 207, 0, 503, 376, 476, 485, 363, - 352, 206, 483, 361, 351, 307, 661, 662, 263, 286, - 412, 345, 413, 287, 372, 371, 373, 198, 495, 0, - 199, 0, 454, 496, 527, 221, 222, 224, 0, 262, - 266, 274, 276, 282, 283, 290, 338, 387, 411, 409, - 415, 0, 471, 489, 500, 507, 513, 514, 516, 517, - 518, 519, 520, 522, 521, 375, 289, 450, 306, 343, - 0, 0, 393, 428, 227, 493, 451, 698, 690, 644, - 702, 646, 699, 700, 641, 642, 645, 701, 528, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 545, 0, 693, 631, 630, - 0, 637, 638, 0, 651, 652, 654, 658, 659, 660, - 663, 664, 665, 673, 675, 676, 674, 677, 678, 679, - 682, 683, 684, 685, 680, 681, 686, 648, 647, 649, - 650, 629, 191, 208, 339, 0, 416, 271, 524, 502, - 498, 0, 210, 0, 245, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, + 440, 463, 464, 465, 467, 364, 249, 401, 902, 930, + 346, 469, 470, 291, 365, 0, 0, 956, 941, 468, + 0, 887, 959, 856, 875, 969, 878, 881, 923, 835, + 901, 384, 872, 827, 860, 830, 867, 831, 858, 889, + 253, 855, 943, 905, 958, 337, 250, 837, 861, 398, + 877, 197, 925, 442, 237, 347, 344, 476, 265, 256, + 252, 236, 292, 354, 396, 462, 390, 965, 341, 911, + 0, 452, 369, 0, 0, 0, 891, 947, 899, 937, + 886, 924, 845, 910, 960, 873, 920, 961, 298, 234, + 300, 196, 381, 453, 269, 0, 0, 0, 0, 188, + 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, + 314, 316, 321, 328, 334, 869, 917, 955, 870, 919, + 248, 296, 255, 247, 473, 966, 946, 834, 898, 954, + 0, 0, 973, 957, 893, 0, 922, 0, 972, 829, + 913, 0, 832, 836, 968, 950, 864, 258, 0, 0, + 0, 0, 0, 0, 0, 890, 900, 934, 884, 0, + 0, 0, 0, 0, 0, 0, 862, 0, 909, 0, + 0, 0, 841, 833, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 888, 0, 0, 0, + 844, 0, 863, 935, 0, 826, 279, 838, 370, 240, + 0, 939, 949, 885, 509, 953, 883, 882, 929, 842, + 945, 876, 336, 840, 305, 192, 212, 0, 874, 380, + 423, 429, 944, 859, 868, 238, 866, 427, 394, 492, + 220, 267, 420, 400, 425, 407, 270, 908, 927, 426, + 342, 478, 414, 489, 510, 511, 246, 374, 500, 466, + 506, 524, 213, 243, 388, 459, 495, 449, 366, 474, + 475, 304, 448, 277, 195, 340, 516, 211, 435, 229, + 218, 480, 498, 272, 418, 203, 461, 816, 226, 439, + 0, 0, 526, 205, 485, 458, 362, 301, 302, 204, + 0, 419, 251, 275, 241, 383, 482, 483, 239, 527, + 215, 505, 207, 839, 504, 376, 477, 486, 363, 352, + 206, 484, 361, 351, 307, 326, 327, 263, 286, 412, + 345, 413, 287, 372, 371, 373, 198, 496, 0, 199, + 0, 454, 497, 528, 221, 222, 224, 854, 262, 266, + 274, 276, 282, 283, 290, 338, 387, 411, 409, 415, + 940, 472, 490, 501, 508, 514, 515, 517, 518, 519, + 520, 521, 523, 522, 825, 819, 818, 306, 343, 932, + 971, 393, 428, 227, 494, 451, 849, 853, 847, 914, + 848, 903, 904, 850, 962, 963, 964, 529, 530, 531, + 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, + 542, 543, 544, 545, 546, 0, 936, 843, 0, 851, + 852, 0, 942, 951, 952, 547, 353, 441, 491, 308, + 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, + 318, 319, 324, 325, 329, 335, 235, 201, 359, 367, + 471, 907, 191, 208, 339, 967, 416, 271, 525, 503, + 499, 828, 210, 846, 245, 857, 865, 0, 871, 879, + 880, 892, 894, 895, 896, 897, 915, 916, 918, 926, + 928, 931, 933, 938, 948, 970, 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, 357, 358, 377, 378, 379, 382, 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, 437, 438, 443, 444, 445, 446, 447, - 455, 456, 460, 478, 480, 492, 506, 511, 436, 281, - 487, 512, 0, 348, 0, 0, 350, 264, 284, 295, - 0, 501, 457, 214, 424, 273, 202, 233, 217, 242, + 455, 456, 460, 479, 481, 493, 507, 512, 436, 281, + 488, 513, 0, 348, 906, 912, 350, 264, 284, 295, + 921, 502, 457, 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, - 0, 0, 346, 469, 470, 291, 365, 0, 0, 0, - 78, 468, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 384, 0, 0, 0, 0, 628, 0, - 0, 0, 253, 633, 0, 0, 0, 337, 250, 0, - 0, 398, 0, 197, 0, 442, 237, 347, 344, 475, - 265, 256, 252, 236, 292, 354, 396, 462, 390, 640, + 902, 930, 346, 469, 470, 291, 365, 0, 0, 0, + 0, 468, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 384, 0, 0, 1793, 0, 629, 0, + 0, 0, 253, 634, 0, 0, 0, 337, 250, 0, + 1794, 398, 0, 197, 0, 442, 237, 347, 344, 476, + 265, 256, 252, 236, 292, 354, 396, 462, 390, 641, 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, - 635, 636, 0, 0, 0, 0, 0, 0, 0, 0, + 636, 637, 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, 381, 453, 269, 0, 87, 0, - 0, 188, 189, 190, 708, 715, 716, 717, 718, 719, - 709, 711, 0, 0, 225, 710, 232, 655, 657, 656, - 666, 667, 668, 669, 670, 671, 672, 653, 713, 720, - 721, 0, 248, 296, 255, 247, 472, 0, 0, 0, + 0, 188, 189, 190, 710, 717, 718, 719, 720, 721, + 711, 713, 0, 0, 225, 712, 232, 657, 659, 658, + 668, 669, 670, 671, 672, 673, 674, 655, 715, 722, + 723, 0, 248, 296, 255, 247, 473, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, - 0, 0, 611, 625, 0, 639, 0, 0, 0, 258, + 0, 0, 612, 626, 0, 640, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 622, 623, 0, 0, 0, 0, - 692, 0, 624, 0, 0, 632, 722, 723, 724, 725, - 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, - 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, - 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, - 756, 757, 758, 759, 760, 761, 762, 763, 634, 0, + 0, 0, 0, 0, 623, 624, 805, 0, 0, 0, + 694, 0, 625, 0, 0, 633, 724, 725, 726, 727, + 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, + 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, + 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, + 758, 759, 760, 761, 762, 763, 764, 765, 635, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, - 370, 240, 0, 691, 0, 0, 508, 0, 0, 689, + 370, 240, 0, 693, 0, 0, 509, 0, 0, 691, 0, 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, 380, 423, 429, 0, 0, 0, 238, 0, 427, - 394, 491, 220, 267, 420, 400, 425, 407, 270, 0, - 0, 426, 342, 477, 414, 488, 509, 510, 246, 374, - 499, 466, 505, 523, 213, 243, 388, 459, 494, 449, - 366, 473, 474, 304, 448, 277, 195, 340, 515, 211, - 435, 229, 218, 479, 497, 272, 418, 203, 461, 486, - 226, 439, 0, 0, 525, 205, 484, 458, 362, 301, - 302, 204, 0, 419, 251, 275, 241, 383, 481, 482, - 239, 526, 215, 504, 207, 0, 503, 376, 476, 485, - 363, 352, 206, 483, 361, 351, 307, 661, 662, 263, - 286, 412, 345, 413, 287, 372, 371, 373, 198, 495, - 0, 199, 0, 454, 496, 527, 221, 222, 224, 0, + 394, 492, 220, 267, 420, 400, 425, 407, 270, 0, + 0, 426, 342, 478, 414, 489, 510, 511, 246, 374, + 500, 466, 506, 524, 213, 243, 388, 459, 495, 449, + 366, 474, 475, 304, 448, 277, 195, 340, 516, 211, + 435, 229, 218, 480, 498, 272, 418, 203, 461, 487, + 226, 439, 0, 0, 526, 205, 485, 458, 362, 301, + 302, 204, 0, 419, 251, 275, 241, 383, 482, 483, + 239, 527, 215, 505, 207, 0, 504, 376, 477, 486, + 363, 352, 206, 484, 361, 351, 307, 663, 664, 263, + 286, 412, 345, 413, 287, 372, 371, 373, 198, 496, + 0, 199, 0, 454, 497, 528, 221, 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, 338, 387, 411, - 409, 415, 0, 471, 489, 500, 507, 513, 514, 516, - 517, 518, 519, 520, 522, 521, 375, 289, 450, 306, - 343, 0, 0, 393, 428, 227, 493, 451, 698, 690, - 644, 702, 646, 699, 700, 641, 642, 645, 701, 528, - 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, - 539, 540, 541, 542, 543, 544, 545, 0, 693, 631, - 630, 0, 637, 638, 0, 651, 652, 654, 658, 659, - 660, 663, 664, 665, 673, 675, 676, 674, 677, 678, - 679, 682, 683, 684, 685, 680, 681, 686, 648, 647, - 649, 650, 629, 191, 208, 339, 86, 416, 271, 524, - 502, 498, 0, 210, 0, 245, 0, 0, 0, 0, + 409, 415, 0, 472, 490, 501, 508, 514, 515, 517, + 518, 519, 520, 521, 523, 522, 375, 289, 450, 306, + 343, 0, 0, 393, 428, 227, 494, 451, 700, 692, + 645, 704, 647, 701, 702, 642, 643, 646, 703, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 545, 546, 0, 695, 632, + 631, 0, 638, 639, 0, 653, 654, 656, 660, 661, + 662, 665, 666, 667, 675, 677, 678, 676, 679, 680, + 681, 684, 685, 686, 687, 682, 683, 688, 649, 648, + 650, 651, 652, 630, 191, 208, 339, 0, 416, 271, + 525, 503, 499, 0, 210, 0, 245, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, + 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, + 285, 288, 293, 294, 297, 303, 349, 355, 356, 357, + 358, 377, 378, 379, 382, 385, 386, 389, 391, 392, + 395, 399, 403, 404, 405, 406, 408, 410, 417, 422, + 430, 431, 432, 433, 434, 437, 438, 443, 444, 445, + 446, 447, 455, 456, 460, 479, 481, 493, 507, 512, + 436, 281, 488, 513, 0, 348, 0, 0, 350, 264, + 284, 295, 0, 502, 457, 214, 424, 273, 202, 233, + 217, 242, 257, 260, 299, 360, 368, 397, 402, 278, + 254, 231, 421, 228, 440, 463, 464, 465, 467, 364, + 249, 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, - 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, - 288, 293, 294, 297, 303, 349, 355, 356, 357, 358, - 377, 378, 379, 382, 385, 386, 389, 391, 392, 395, - 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, - 431, 432, 433, 434, 437, 438, 443, 444, 445, 446, - 447, 455, 456, 460, 478, 480, 492, 506, 511, 436, - 281, 487, 512, 0, 348, 0, 0, 350, 264, 284, - 295, 0, 501, 457, 214, 424, 273, 202, 233, 217, - 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, - 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, - 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, - 0, 0, 0, 0, 628, 0, 0, 0, 253, 633, - 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, - 0, 442, 237, 347, 344, 475, 265, 256, 252, 236, - 292, 354, 396, 462, 390, 640, 341, 0, 0, 452, - 369, 0, 0, 0, 0, 0, 635, 636, 0, 0, - 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, - 381, 453, 269, 0, 87, 0, 0, 188, 189, 190, - 708, 715, 716, 717, 718, 719, 709, 711, 0, 0, - 225, 710, 232, 655, 657, 656, 666, 667, 668, 669, - 670, 671, 672, 653, 713, 720, 721, 0, 248, 296, - 255, 247, 472, 0, 0, 0, 0, 0, 0, 0, - 216, 0, 0, 0, 0, 0, 0, 0, 611, 625, - 0, 639, 0, 0, 0, 258, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 622, 623, 0, 0, 0, 0, 692, 0, 624, 0, - 0, 632, 722, 723, 724, 725, 726, 727, 728, 729, - 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, - 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, - 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, - 760, 761, 762, 763, 634, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 279, 0, 370, 240, 0, 691, - 0, 0, 508, 0, 0, 689, 0, 0, 0, 0, - 336, 0, 305, 192, 212, 0, 0, 380, 423, 429, - 0, 0, 0, 238, 0, 427, 394, 491, 220, 267, - 420, 400, 425, 407, 270, 2981, 0, 426, 342, 477, - 414, 488, 509, 510, 246, 374, 499, 466, 505, 523, - 213, 243, 388, 459, 494, 449, 366, 473, 474, 304, - 448, 277, 195, 340, 515, 211, 435, 229, 218, 479, - 497, 272, 418, 203, 461, 486, 226, 439, 0, 0, - 525, 205, 484, 458, 362, 301, 302, 204, 0, 419, - 251, 275, 241, 383, 481, 482, 239, 526, 215, 504, - 207, 0, 503, 376, 476, 485, 363, 352, 206, 483, - 361, 351, 307, 661, 662, 263, 286, 412, 345, 413, - 287, 372, 371, 373, 198, 495, 0, 199, 0, 454, - 496, 527, 221, 222, 224, 0, 262, 266, 274, 276, - 282, 283, 290, 338, 387, 411, 409, 415, 0, 471, - 489, 500, 507, 513, 514, 516, 517, 518, 519, 520, - 522, 521, 375, 289, 450, 306, 343, 0, 0, 393, - 428, 227, 493, 451, 698, 690, 644, 702, 646, 699, - 700, 641, 642, 645, 701, 528, 529, 530, 531, 532, + 384, 0, 0, 0, 0, 629, 0, 0, 0, 253, + 634, 0, 0, 0, 337, 250, 0, 0, 398, 0, + 197, 0, 442, 237, 347, 344, 476, 265, 256, 252, + 236, 292, 354, 396, 462, 390, 641, 341, 0, 0, + 452, 369, 0, 0, 0, 0, 0, 636, 637, 0, + 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, + 196, 381, 453, 269, 0, 87, 0, 0, 188, 189, + 190, 710, 717, 718, 719, 720, 721, 711, 713, 0, + 0, 225, 712, 232, 657, 659, 658, 668, 669, 670, + 671, 672, 673, 674, 655, 715, 722, 723, 0, 248, + 296, 255, 247, 473, 0, 0, 1759, 1760, 1761, 0, + 0, 216, 0, 0, 0, 0, 0, 0, 0, 612, + 626, 0, 640, 0, 0, 0, 258, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 623, 624, 0, 0, 0, 0, 694, 0, 625, + 0, 0, 633, 724, 725, 726, 727, 728, 729, 730, + 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, + 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, + 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, + 761, 762, 763, 764, 765, 635, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 279, 0, 370, 240, 0, + 693, 0, 0, 509, 0, 0, 691, 0, 0, 0, + 0, 336, 0, 305, 192, 212, 0, 0, 380, 423, + 429, 0, 0, 0, 238, 0, 427, 394, 492, 220, + 267, 420, 400, 425, 407, 270, 0, 0, 426, 342, + 478, 414, 489, 510, 511, 246, 374, 500, 466, 506, + 524, 213, 243, 388, 459, 495, 449, 366, 474, 475, + 304, 448, 277, 195, 340, 516, 211, 435, 229, 218, + 480, 498, 272, 418, 203, 461, 487, 226, 439, 0, + 0, 526, 205, 485, 458, 362, 301, 302, 204, 0, + 419, 251, 275, 241, 383, 482, 483, 239, 527, 215, + 505, 207, 0, 504, 376, 477, 486, 363, 352, 206, + 484, 361, 351, 307, 663, 664, 263, 286, 412, 345, + 413, 287, 372, 371, 373, 198, 496, 0, 199, 0, + 454, 497, 528, 221, 222, 224, 0, 262, 266, 274, + 276, 282, 283, 290, 338, 387, 411, 409, 415, 0, + 472, 490, 501, 508, 514, 515, 517, 518, 519, 520, + 521, 523, 522, 375, 289, 450, 306, 343, 0, 0, + 393, 428, 227, 494, 451, 700, 692, 645, 704, 647, + 701, 702, 642, 643, 646, 703, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, - 543, 544, 545, 0, 693, 631, 630, 0, 637, 638, - 0, 651, 652, 654, 658, 659, 660, 663, 664, 665, - 673, 675, 676, 674, 677, 678, 679, 682, 683, 684, - 685, 680, 681, 686, 648, 647, 649, 650, 629, 191, - 208, 339, 0, 416, 271, 524, 502, 498, 0, 210, - 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, - 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, - 303, 349, 355, 356, 357, 358, 377, 378, 379, 382, - 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, - 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, - 437, 438, 443, 444, 445, 446, 447, 455, 456, 460, - 478, 480, 492, 506, 511, 436, 281, 487, 512, 0, - 348, 0, 0, 350, 264, 284, 295, 0, 501, 457, - 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, - 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, - 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, - 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 384, 0, 0, 0, 0, - 628, 0, 0, 0, 253, 633, 0, 0, 0, 337, - 250, 0, 0, 398, 0, 197, 0, 442, 237, 347, - 344, 475, 265, 256, 252, 236, 292, 354, 396, 462, - 390, 640, 341, 0, 0, 452, 369, 0, 0, 0, - 0, 0, 635, 636, 0, 0, 0, 0, 0, 0, - 0, 0, 298, 234, 300, 196, 381, 453, 269, 0, - 87, 0, 1346, 188, 189, 190, 708, 715, 716, 717, - 718, 719, 709, 711, 0, 0, 225, 710, 232, 655, - 657, 656, 666, 667, 668, 669, 670, 671, 672, 653, - 713, 720, 721, 0, 248, 296, 255, 247, 472, 0, - 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, - 0, 0, 0, 0, 611, 625, 0, 639, 0, 0, - 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 622, 623, 0, 0, - 0, 0, 692, 0, 624, 0, 0, 632, 722, 723, - 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, - 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, - 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, - 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, - 634, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 279, 0, 370, 240, 0, 691, 0, 0, 508, 0, - 0, 689, 0, 0, 0, 0, 336, 0, 305, 192, - 212, 0, 0, 380, 423, 429, 0, 0, 0, 238, - 0, 427, 394, 491, 220, 267, 420, 400, 425, 407, - 270, 0, 0, 426, 342, 477, 414, 488, 509, 510, - 246, 374, 499, 466, 505, 523, 213, 243, 388, 459, - 494, 449, 366, 473, 474, 304, 448, 277, 195, 340, - 515, 211, 435, 229, 218, 479, 497, 272, 418, 203, - 461, 486, 226, 439, 0, 0, 525, 205, 484, 458, - 362, 301, 302, 204, 0, 419, 251, 275, 241, 383, - 481, 482, 239, 526, 215, 504, 207, 0, 503, 376, - 476, 485, 363, 352, 206, 483, 361, 351, 307, 661, - 662, 263, 286, 412, 345, 413, 287, 372, 371, 373, - 198, 495, 0, 199, 0, 454, 496, 527, 221, 222, - 224, 0, 262, 266, 274, 276, 282, 283, 290, 338, - 387, 411, 409, 415, 0, 471, 489, 500, 507, 513, - 514, 516, 517, 518, 519, 520, 522, 521, 375, 289, - 450, 306, 343, 0, 0, 393, 428, 227, 493, 451, - 698, 690, 644, 702, 646, 699, 700, 641, 642, 645, - 701, 528, 529, 530, 531, 532, 533, 534, 535, 536, - 537, 538, 539, 540, 541, 542, 543, 544, 545, 0, - 693, 631, 630, 0, 637, 638, 0, 651, 652, 654, - 658, 659, 660, 663, 664, 665, 673, 675, 676, 674, - 677, 678, 679, 682, 683, 684, 685, 680, 681, 686, - 648, 647, 649, 650, 629, 191, 208, 339, 0, 416, - 271, 524, 502, 498, 0, 210, 0, 245, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, - 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, - 357, 358, 377, 378, 379, 382, 385, 386, 389, 391, - 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, - 422, 430, 431, 432, 433, 434, 437, 438, 443, 444, - 445, 446, 447, 455, 456, 460, 478, 480, 492, 506, - 511, 436, 281, 487, 512, 0, 348, 0, 0, 350, - 264, 284, 295, 0, 501, 457, 214, 424, 273, 202, - 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, - 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, - 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 384, 0, 0, 0, 0, 628, 0, 0, 0, - 253, 633, 0, 0, 0, 337, 250, 0, 0, 398, - 0, 197, 0, 442, 237, 347, 344, 475, 265, 256, - 252, 236, 292, 354, 396, 462, 390, 640, 341, 0, - 0, 452, 369, 0, 0, 0, 0, 0, 635, 636, - 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, - 300, 196, 381, 453, 269, 0, 87, 0, 0, 188, - 189, 190, 708, 715, 716, 717, 718, 719, 709, 711, - 0, 0, 225, 710, 232, 655, 657, 656, 666, 667, - 668, 669, 670, 671, 672, 653, 713, 720, 721, 0, - 248, 296, 255, 247, 472, 0, 0, 0, 0, 0, - 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, - 611, 625, 0, 639, 0, 0, 0, 258, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 622, 623, 803, 0, 0, 0, 692, 0, - 624, 0, 0, 632, 722, 723, 724, 725, 726, 727, - 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, - 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, - 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, - 758, 759, 760, 761, 762, 763, 634, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 279, 0, 370, 240, - 0, 691, 0, 0, 508, 0, 0, 689, 0, 0, - 0, 0, 336, 0, 305, 192, 212, 0, 0, 380, - 423, 429, 0, 0, 0, 238, 0, 427, 394, 491, - 220, 267, 420, 400, 425, 407, 270, 0, 0, 426, - 342, 477, 414, 488, 509, 510, 246, 374, 499, 466, - 505, 523, 213, 243, 388, 459, 494, 449, 366, 473, - 474, 304, 448, 277, 195, 340, 515, 211, 435, 229, - 218, 479, 497, 272, 418, 203, 461, 486, 226, 439, - 0, 0, 525, 205, 484, 458, 362, 301, 302, 204, - 0, 419, 251, 275, 241, 383, 481, 482, 239, 526, - 215, 504, 207, 0, 503, 376, 476, 485, 363, 352, - 206, 483, 361, 351, 307, 661, 662, 263, 286, 412, - 345, 413, 287, 372, 371, 373, 198, 495, 0, 199, - 0, 454, 496, 527, 221, 222, 224, 0, 262, 266, - 274, 276, 282, 283, 290, 338, 387, 411, 409, 415, - 0, 471, 489, 500, 507, 513, 514, 516, 517, 518, - 519, 520, 522, 521, 375, 289, 450, 306, 343, 0, - 0, 393, 428, 227, 493, 451, 698, 690, 644, 702, - 646, 699, 700, 641, 642, 645, 701, 528, 529, 530, - 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, - 541, 542, 543, 544, 545, 0, 693, 631, 630, 0, - 637, 638, 0, 651, 652, 654, 658, 659, 660, 663, - 664, 665, 673, 675, 676, 674, 677, 678, 679, 682, - 683, 684, 685, 680, 681, 686, 648, 647, 649, 650, - 629, 191, 208, 339, 0, 416, 271, 524, 502, 498, + 543, 544, 545, 546, 0, 695, 632, 631, 0, 638, + 639, 0, 653, 654, 656, 660, 661, 662, 665, 666, + 667, 675, 677, 678, 676, 679, 680, 681, 684, 685, + 686, 687, 682, 683, 688, 649, 648, 650, 651, 652, + 630, 191, 208, 339, 0, 416, 271, 525, 503, 499, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, @@ -3177,59 +2944,181 @@ var yyAct = [...]int{ 379, 382, 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, 437, 438, 443, 444, 445, 446, 447, 455, - 456, 460, 478, 480, 492, 506, 511, 436, 281, 487, - 512, 0, 348, 0, 0, 350, 264, 284, 295, 0, - 501, 457, 214, 424, 273, 202, 233, 217, 242, 257, + 456, 460, 479, 481, 493, 507, 512, 436, 281, 488, + 513, 0, 348, 0, 0, 350, 264, 284, 295, 0, + 502, 457, 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, 0, 0, - 0, 0, 628, 0, 0, 0, 253, 633, 0, 0, + 0, 0, 629, 0, 0, 0, 253, 634, 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, 0, 442, - 237, 347, 344, 475, 265, 256, 252, 236, 292, 354, - 396, 462, 390, 640, 341, 0, 0, 452, 369, 0, - 0, 0, 0, 0, 635, 636, 0, 0, 0, 0, - 0, 0, 0, 0, 298, 234, 300, 196, 381, 453, - 269, 0, 87, 0, 0, 188, 189, 190, 708, 715, - 716, 717, 718, 719, 709, 711, 0, 0, 225, 710, - 232, 655, 657, 656, 666, 667, 668, 669, 670, 671, - 672, 653, 713, 720, 721, 0, 248, 296, 255, 247, - 472, 0, 0, 0, 0, 0, 0, 0, 216, 0, - 0, 0, 0, 0, 0, 0, 611, 625, 0, 639, + 237, 347, 344, 476, 265, 256, 252, 236, 292, 354, + 396, 462, 390, 641, 341, 0, 0, 452, 369, 0, + 0, 0, 0, 0, 636, 637, 0, 0, 0, 0, + 0, 0, 1876, 0, 298, 234, 300, 196, 381, 453, + 269, 0, 87, 0, 0, 188, 189, 190, 710, 717, + 718, 719, 720, 721, 711, 713, 0, 0, 225, 712, + 232, 657, 659, 658, 668, 669, 670, 671, 672, 673, + 674, 655, 715, 722, 723, 1877, 248, 296, 255, 247, + 473, 0, 0, 0, 0, 0, 0, 0, 216, 0, + 0, 0, 0, 0, 0, 0, 612, 626, 0, 640, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 622, 623, - 0, 0, 0, 0, 692, 0, 624, 0, 0, 632, - 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, - 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, - 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, - 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, - 762, 763, 634, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 279, 0, 370, 240, 0, 691, 0, 0, - 508, 0, 0, 689, 0, 0, 0, 0, 336, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 623, 624, + 0, 0, 0, 0, 694, 0, 625, 0, 0, 633, + 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, + 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, + 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, + 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, + 764, 765, 635, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 279, 0, 370, 240, 0, 693, 0, 0, + 509, 0, 0, 691, 0, 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, 380, 423, 429, 0, 0, - 0, 238, 0, 427, 394, 491, 220, 267, 420, 400, - 425, 407, 270, 0, 0, 426, 342, 477, 414, 488, - 509, 510, 246, 374, 499, 466, 505, 523, 213, 243, - 388, 459, 494, 449, 366, 473, 474, 304, 448, 277, - 195, 340, 515, 211, 435, 229, 218, 479, 497, 272, - 418, 203, 461, 486, 226, 439, 0, 0, 525, 205, - 484, 458, 362, 301, 302, 204, 0, 419, 251, 275, - 241, 383, 481, 482, 239, 526, 215, 504, 207, 0, - 503, 376, 476, 485, 363, 352, 206, 483, 361, 351, - 307, 661, 662, 263, 286, 412, 345, 413, 287, 372, - 371, 373, 198, 495, 0, 199, 0, 454, 496, 527, + 0, 238, 0, 427, 394, 492, 220, 267, 420, 400, + 425, 407, 270, 0, 0, 426, 342, 478, 414, 489, + 510, 511, 246, 374, 500, 466, 506, 524, 213, 243, + 388, 459, 495, 449, 366, 474, 475, 304, 448, 277, + 195, 340, 516, 211, 435, 229, 218, 480, 498, 272, + 418, 203, 461, 487, 226, 439, 0, 0, 526, 205, + 485, 458, 362, 301, 302, 204, 0, 419, 251, 275, + 241, 383, 482, 483, 239, 527, 215, 505, 207, 0, + 504, 376, 477, 486, 363, 352, 206, 484, 361, 351, + 307, 663, 664, 263, 286, 412, 345, 413, 287, 372, + 371, 373, 198, 496, 0, 199, 0, 454, 497, 528, 221, 222, 224, 0, 262, 266, 274, 276, 282, 283, - 290, 338, 387, 411, 409, 415, 0, 471, 489, 500, - 507, 513, 514, 516, 517, 518, 519, 520, 522, 521, + 290, 338, 387, 411, 409, 415, 0, 472, 490, 501, + 508, 514, 515, 517, 518, 519, 520, 521, 523, 522, 375, 289, 450, 306, 343, 0, 0, 393, 428, 227, - 493, 451, 698, 690, 644, 702, 646, 699, 700, 641, - 642, 645, 701, 528, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 545, 0, 693, 631, 630, 0, 637, 638, 0, 651, - 652, 654, 658, 659, 660, 663, 664, 665, 673, 675, - 676, 674, 677, 678, 679, 682, 683, 684, 685, 680, - 681, 686, 648, 647, 649, 650, 629, 191, 208, 339, - 0, 416, 271, 524, 502, 498, 0, 210, 0, 245, + 494, 451, 700, 692, 645, 704, 647, 701, 702, 642, + 643, 646, 703, 529, 530, 531, 532, 533, 534, 535, + 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, + 546, 0, 695, 632, 631, 0, 638, 639, 0, 653, + 654, 656, 660, 661, 662, 665, 666, 667, 675, 677, + 678, 676, 679, 680, 681, 684, 685, 686, 687, 682, + 683, 688, 649, 648, 650, 651, 652, 630, 191, 208, + 339, 0, 416, 271, 525, 503, 499, 0, 210, 0, + 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, + 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, + 349, 355, 356, 357, 358, 377, 378, 379, 382, 385, + 386, 389, 391, 392, 395, 399, 403, 404, 405, 406, + 408, 410, 417, 422, 430, 431, 432, 433, 434, 437, + 438, 443, 444, 445, 446, 447, 455, 456, 460, 479, + 481, 493, 507, 512, 436, 281, 488, 513, 0, 348, + 0, 0, 350, 264, 284, 295, 0, 502, 457, 214, + 424, 273, 202, 233, 217, 242, 257, 260, 299, 360, + 368, 397, 402, 278, 254, 231, 421, 228, 440, 463, + 464, 465, 467, 364, 249, 401, 0, 0, 346, 469, + 470, 291, 365, 0, 0, 0, 78, 468, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, + 0, 0, 0, 0, 629, 0, 0, 0, 253, 634, + 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, + 0, 442, 237, 347, 344, 476, 265, 256, 252, 236, + 292, 354, 396, 462, 390, 641, 341, 0, 0, 452, + 369, 0, 0, 0, 0, 0, 636, 637, 0, 0, + 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, + 381, 453, 269, 0, 87, 0, 0, 188, 189, 190, + 710, 717, 718, 719, 720, 721, 711, 713, 0, 0, + 225, 712, 232, 657, 659, 658, 668, 669, 670, 671, + 672, 673, 674, 655, 715, 722, 723, 0, 248, 296, + 255, 247, 473, 0, 0, 0, 0, 0, 0, 0, + 216, 0, 0, 0, 0, 0, 0, 0, 612, 626, + 0, 640, 0, 0, 0, 258, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 623, 624, 0, 0, 0, 0, 694, 0, 625, 0, + 0, 633, 724, 725, 726, 727, 728, 729, 730, 731, + 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, + 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, + 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, + 762, 763, 764, 765, 635, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 279, 0, 370, 240, 0, 693, + 0, 0, 509, 0, 0, 691, 0, 0, 0, 0, + 336, 0, 305, 192, 212, 0, 0, 380, 423, 429, + 0, 0, 0, 238, 0, 427, 394, 492, 220, 267, + 420, 400, 425, 407, 270, 0, 0, 426, 342, 478, + 414, 489, 510, 511, 246, 374, 500, 466, 506, 524, + 213, 243, 388, 459, 495, 449, 366, 474, 475, 304, + 448, 277, 195, 340, 516, 211, 435, 229, 218, 480, + 498, 272, 418, 203, 461, 487, 226, 439, 0, 0, + 526, 205, 485, 458, 362, 301, 302, 204, 0, 419, + 251, 275, 241, 383, 482, 483, 239, 527, 215, 505, + 207, 0, 504, 376, 477, 486, 363, 352, 206, 484, + 361, 351, 307, 663, 664, 263, 286, 412, 345, 413, + 287, 372, 371, 373, 198, 496, 0, 199, 0, 454, + 497, 528, 221, 222, 224, 0, 262, 266, 274, 276, + 282, 283, 290, 338, 387, 411, 409, 415, 0, 472, + 490, 501, 508, 514, 515, 517, 518, 519, 520, 521, + 523, 522, 375, 289, 450, 306, 343, 0, 0, 393, + 428, 227, 494, 451, 700, 692, 645, 704, 647, 701, + 702, 642, 643, 646, 703, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 0, 695, 632, 631, 0, 638, 639, + 0, 653, 654, 656, 660, 661, 662, 665, 666, 667, + 675, 677, 678, 676, 679, 680, 681, 684, 685, 686, + 687, 682, 683, 688, 649, 648, 650, 651, 652, 630, + 191, 208, 339, 86, 416, 271, 525, 503, 499, 0, + 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, + 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, + 297, 303, 349, 355, 356, 357, 358, 377, 378, 379, + 382, 385, 386, 389, 391, 392, 395, 399, 403, 404, + 405, 406, 408, 410, 417, 422, 430, 431, 432, 433, + 434, 437, 438, 443, 444, 445, 446, 447, 455, 456, + 460, 479, 481, 493, 507, 512, 436, 281, 488, 513, + 0, 348, 0, 0, 350, 264, 284, 295, 0, 502, + 457, 214, 424, 273, 202, 233, 217, 242, 257, 260, + 299, 360, 368, 397, 402, 278, 254, 231, 421, 228, + 440, 463, 464, 465, 467, 364, 249, 401, 0, 365, + 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 384, 0, 0, 0, + 0, 629, 0, 0, 0, 253, 634, 0, 0, 0, + 337, 250, 0, 0, 398, 0, 197, 0, 442, 237, + 347, 344, 476, 265, 256, 252, 236, 292, 354, 396, + 462, 390, 641, 341, 0, 0, 452, 369, 0, 0, + 0, 0, 0, 636, 637, 0, 0, 0, 0, 0, + 0, 0, 0, 298, 234, 300, 196, 381, 453, 269, + 0, 87, 0, 0, 188, 189, 190, 710, 717, 718, + 719, 720, 721, 711, 713, 0, 0, 225, 712, 232, + 657, 659, 658, 668, 669, 670, 671, 672, 673, 674, + 655, 715, 722, 723, 0, 248, 296, 255, 247, 473, + 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, + 0, 0, 0, 0, 0, 612, 626, 0, 640, 0, + 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 623, 624, 0, + 0, 0, 0, 694, 0, 625, 0, 0, 633, 724, + 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, + 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, + 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, + 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, + 765, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 279, 0, 370, 240, 0, 693, 0, 0, 509, + 0, 0, 691, 0, 0, 0, 0, 336, 0, 305, + 192, 212, 0, 0, 380, 423, 429, 0, 0, 0, + 238, 0, 427, 394, 492, 220, 267, 420, 400, 425, + 407, 270, 2988, 0, 426, 342, 478, 414, 489, 510, + 511, 246, 374, 500, 466, 506, 524, 213, 243, 388, + 459, 495, 449, 366, 474, 475, 304, 448, 277, 195, + 340, 516, 211, 435, 229, 218, 480, 498, 272, 418, + 203, 461, 487, 226, 439, 0, 0, 526, 205, 485, + 458, 362, 301, 302, 204, 0, 419, 251, 275, 241, + 383, 482, 483, 239, 527, 215, 505, 207, 0, 504, + 376, 477, 486, 363, 352, 206, 484, 361, 351, 307, + 663, 664, 263, 286, 412, 345, 413, 287, 372, 371, + 373, 198, 496, 0, 199, 0, 454, 497, 528, 221, + 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, + 338, 387, 411, 409, 415, 0, 472, 490, 501, 508, + 514, 515, 517, 518, 519, 520, 521, 523, 522, 375, + 289, 450, 306, 343, 0, 0, 393, 428, 227, 494, + 451, 700, 692, 645, 704, 647, 701, 702, 642, 643, + 646, 703, 529, 530, 531, 532, 533, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, + 0, 695, 632, 631, 0, 638, 639, 0, 653, 654, + 656, 660, 661, 662, 665, 666, 667, 675, 677, 678, + 676, 679, 680, 681, 684, 685, 686, 687, 682, 683, + 688, 649, 648, 650, 651, 652, 630, 191, 208, 339, + 0, 416, 271, 525, 503, 499, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, @@ -3237,363 +3126,181 @@ var yyAct = [...]int{ 355, 356, 357, 358, 377, 378, 379, 382, 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, 437, 438, - 443, 444, 445, 446, 447, 455, 456, 460, 478, 480, - 492, 506, 511, 436, 281, 487, 512, 0, 348, 0, - 0, 350, 264, 284, 295, 0, 501, 457, 214, 424, + 443, 444, 445, 446, 447, 455, 456, 460, 479, 481, + 493, 507, 512, 436, 281, 488, 513, 0, 348, 0, + 0, 350, 264, 284, 295, 0, 502, 457, 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 384, 0, 0, 0, 0, 628, 0, - 0, 0, 253, 633, 0, 0, 0, 337, 250, 0, - 0, 398, 0, 197, 0, 442, 237, 347, 344, 475, - 265, 256, 252, 236, 292, 354, 396, 462, 390, 640, + 0, 0, 0, 384, 0, 0, 0, 0, 629, 0, + 0, 0, 253, 634, 0, 0, 0, 337, 250, 0, + 0, 398, 0, 197, 0, 442, 237, 347, 344, 476, + 265, 256, 252, 236, 292, 354, 396, 462, 390, 641, 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, - 635, 636, 0, 0, 0, 0, 0, 0, 0, 0, + 636, 637, 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, 381, 453, 269, 0, 87, 0, - 0, 188, 189, 190, 708, 715, 716, 717, 718, 719, - 709, 711, 0, 0, 225, 710, 232, 655, 657, 656, - 666, 667, 668, 669, 670, 671, 672, 653, 713, 720, - 721, 0, 248, 296, 255, 247, 472, 0, 0, 0, + 1349, 188, 189, 190, 710, 717, 718, 719, 720, 721, + 711, 713, 0, 0, 225, 712, 232, 657, 659, 658, + 668, 669, 670, 671, 672, 673, 674, 655, 715, 722, + 723, 0, 248, 296, 255, 247, 473, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, - 0, 0, 0, 625, 0, 639, 0, 0, 0, 258, + 0, 0, 612, 626, 0, 640, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 622, 623, 0, 0, 0, 0, - 692, 0, 624, 0, 0, 632, 722, 723, 724, 725, - 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, - 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, - 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, - 756, 757, 758, 759, 760, 761, 762, 763, 634, 0, + 0, 0, 0, 0, 623, 624, 0, 0, 0, 0, + 694, 0, 625, 0, 0, 633, 724, 725, 726, 727, + 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, + 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, + 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, + 758, 759, 760, 761, 762, 763, 764, 765, 635, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, - 370, 240, 0, 691, 0, 0, 508, 0, 0, 689, + 370, 240, 0, 693, 0, 0, 509, 0, 0, 691, 0, 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, 380, 423, 429, 0, 0, 0, 238, 0, 427, - 394, 491, 220, 267, 420, 400, 425, 407, 270, 0, - 0, 426, 342, 477, 414, 488, 509, 510, 246, 374, - 499, 466, 505, 523, 213, 243, 388, 459, 494, 449, - 366, 473, 474, 304, 448, 277, 195, 340, 515, 211, - 435, 229, 218, 479, 497, 272, 418, 203, 461, 486, - 226, 439, 0, 0, 525, 205, 484, 458, 362, 301, - 302, 204, 0, 419, 251, 275, 241, 383, 481, 482, - 239, 526, 215, 504, 207, 0, 503, 376, 476, 485, - 363, 352, 206, 483, 361, 351, 307, 661, 662, 263, - 286, 412, 345, 413, 287, 372, 371, 373, 198, 495, - 0, 199, 0, 454, 496, 527, 221, 222, 224, 0, + 394, 492, 220, 267, 420, 400, 425, 407, 270, 0, + 0, 426, 342, 478, 414, 489, 510, 511, 246, 374, + 500, 466, 506, 524, 213, 243, 388, 459, 495, 449, + 366, 474, 475, 304, 448, 277, 195, 340, 516, 211, + 435, 229, 218, 480, 498, 272, 418, 203, 461, 487, + 226, 439, 0, 0, 526, 205, 485, 458, 362, 301, + 302, 204, 0, 419, 251, 275, 241, 383, 482, 483, + 239, 527, 215, 505, 207, 0, 504, 376, 477, 486, + 363, 352, 206, 484, 361, 351, 307, 663, 664, 263, + 286, 412, 345, 413, 287, 372, 371, 373, 198, 496, + 0, 199, 0, 454, 497, 528, 221, 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, 338, 387, 411, - 409, 415, 0, 471, 489, 500, 507, 513, 514, 516, - 517, 518, 519, 520, 522, 521, 375, 289, 450, 306, - 343, 0, 0, 393, 428, 227, 493, 451, 698, 690, - 644, 702, 646, 699, 700, 641, 642, 645, 701, 528, - 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, - 539, 540, 541, 542, 543, 544, 545, 0, 693, 631, - 630, 0, 637, 638, 0, 651, 652, 654, 658, 659, - 660, 663, 664, 665, 673, 675, 676, 674, 677, 678, - 679, 682, 683, 684, 685, 680, 681, 686, 648, 647, - 649, 650, 629, 191, 208, 339, 0, 416, 271, 524, - 502, 498, 0, 210, 0, 245, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, - 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, - 288, 293, 294, 297, 303, 349, 355, 356, 357, 358, - 377, 378, 379, 382, 385, 386, 389, 391, 392, 395, - 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, - 431, 432, 433, 434, 437, 438, 443, 444, 445, 446, - 447, 455, 456, 460, 478, 480, 492, 506, 511, 436, - 281, 487, 512, 0, 348, 0, 0, 350, 264, 284, - 295, 0, 501, 457, 214, 424, 273, 202, 233, 217, - 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, - 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, - 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, - 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, - 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, - 0, 442, 237, 347, 344, 475, 265, 256, 252, 236, - 292, 354, 396, 462, 390, 0, 341, 0, 0, 452, - 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, - 381, 453, 269, 0, 0, 0, 0, 188, 189, 190, - 0, 715, 716, 0, 0, 0, 0, 1694, 0, 0, - 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, - 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, - 255, 247, 472, 0, 0, 0, 0, 0, 0, 0, - 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 722, 723, 724, 725, 726, 727, 728, 729, - 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, - 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, - 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, - 760, 761, 762, 763, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 279, 0, 370, 240, 0, 0, - 0, 0, 508, 0, 0, 0, 0, 0, 0, 0, - 336, 0, 305, 192, 212, 0, 0, 380, 423, 429, - 0, 0, 0, 238, 0, 427, 394, 491, 220, 267, - 420, 400, 425, 407, 270, 0, 0, 426, 342, 477, - 414, 488, 509, 510, 246, 374, 499, 466, 505, 523, - 213, 243, 388, 459, 494, 449, 366, 473, 474, 304, - 448, 277, 195, 340, 515, 211, 435, 229, 218, 479, - 497, 272, 418, 203, 461, 486, 226, 439, 0, 0, - 525, 205, 484, 458, 362, 301, 302, 204, 0, 419, - 251, 275, 241, 383, 481, 482, 239, 526, 215, 504, - 207, 0, 503, 376, 476, 485, 363, 352, 206, 483, - 361, 351, 307, 326, 327, 263, 286, 412, 345, 413, - 287, 372, 371, 373, 198, 495, 0, 199, 0, 454, - 496, 527, 221, 222, 224, 0, 262, 266, 274, 276, - 282, 283, 290, 338, 387, 411, 409, 415, 0, 471, - 489, 500, 507, 513, 514, 516, 517, 518, 519, 520, - 522, 521, 375, 289, 450, 306, 343, 0, 0, 393, - 428, 227, 493, 451, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 528, 529, 530, 531, 532, - 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, - 543, 544, 545, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 546, 353, 441, 490, 308, 320, 323, - 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, - 324, 325, 329, 335, 235, 201, 359, 367, 0, 191, - 208, 339, 0, 416, 271, 524, 502, 498, 0, 210, - 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, - 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, - 303, 349, 355, 356, 357, 358, 377, 378, 379, 382, - 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, - 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, - 437, 438, 443, 444, 445, 446, 447, 455, 456, 460, - 478, 480, 492, 506, 511, 436, 281, 487, 512, 0, - 348, 0, 0, 350, 264, 284, 295, 0, 501, 457, - 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, - 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, - 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, - 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 384, 0, 0, 0, 0, - 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, - 250, 0, 0, 398, 0, 197, 0, 442, 237, 347, - 344, 475, 265, 256, 252, 236, 292, 354, 396, 462, - 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 298, 234, 300, 196, 381, 453, 269, 0, - 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, - 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, - 0, 0, 0, 0, 248, 296, 255, 247, 472, 0, - 0, 0, 0, 0, 0, 0, 216, 0, 1022, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 279, 0, 370, 240, 0, 0, 0, 1021, 508, 0, - 0, 0, 0, 0, 1018, 1019, 336, 979, 305, 192, - 212, 1012, 1016, 380, 423, 429, 0, 0, 0, 238, - 0, 427, 394, 491, 220, 267, 420, 400, 425, 407, - 270, 0, 0, 426, 342, 477, 414, 488, 509, 510, - 246, 374, 499, 466, 505, 523, 213, 243, 388, 459, - 494, 449, 366, 473, 474, 304, 448, 277, 195, 340, - 515, 211, 435, 229, 218, 479, 497, 272, 418, 203, - 461, 486, 226, 439, 0, 0, 525, 205, 484, 458, - 362, 301, 302, 204, 0, 419, 251, 275, 241, 383, - 481, 482, 239, 526, 215, 504, 207, 0, 503, 376, - 476, 485, 363, 352, 206, 483, 361, 351, 307, 326, - 327, 263, 286, 412, 345, 413, 287, 372, 371, 373, - 198, 495, 0, 199, 0, 454, 496, 527, 221, 222, - 224, 0, 262, 266, 274, 276, 282, 283, 290, 338, - 387, 411, 409, 415, 0, 471, 489, 500, 507, 513, - 514, 516, 517, 518, 519, 520, 522, 521, 375, 289, - 450, 306, 343, 0, 0, 393, 428, 227, 493, 451, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 528, 529, 530, 531, 532, 533, 534, 535, 536, - 537, 538, 539, 540, 541, 542, 543, 544, 545, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 546, - 353, 441, 490, 308, 320, 323, 313, 332, 0, 333, - 309, 310, 315, 317, 318, 319, 324, 325, 329, 335, - 235, 201, 359, 367, 0, 191, 208, 339, 0, 416, - 271, 524, 502, 498, 0, 210, 0, 245, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, - 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, - 357, 358, 377, 378, 379, 382, 385, 386, 389, 391, - 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, - 422, 430, 431, 432, 433, 434, 437, 438, 443, 444, - 445, 446, 447, 455, 456, 460, 478, 480, 492, 506, - 511, 436, 281, 487, 512, 0, 348, 0, 0, 350, - 264, 284, 295, 0, 501, 457, 214, 424, 273, 202, - 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, - 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, - 364, 249, 401, 0, 0, 346, 469, 470, 291, 365, - 0, 0, 0, 78, 468, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 384, 0, 0, 0, - 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, - 337, 250, 0, 0, 398, 0, 197, 0, 442, 237, - 347, 344, 475, 265, 256, 252, 236, 292, 354, 396, - 462, 390, 0, 341, 0, 0, 452, 369, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 298, 234, 300, 196, 381, 453, 269, - 0, 87, 0, 0, 188, 189, 190, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, - 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, - 0, 0, 0, 0, 0, 248, 296, 255, 247, 472, - 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 279, 0, 370, 240, 0, 0, 0, 0, 508, - 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, - 192, 212, 0, 0, 380, 423, 429, 0, 0, 0, - 238, 0, 427, 394, 491, 220, 267, 420, 400, 425, - 407, 270, 0, 0, 426, 342, 477, 414, 488, 509, - 510, 246, 374, 499, 466, 505, 523, 213, 243, 388, - 459, 494, 449, 366, 473, 474, 304, 448, 277, 195, - 340, 515, 211, 435, 229, 218, 479, 497, 272, 418, - 203, 461, 486, 226, 439, 0, 0, 525, 205, 484, - 458, 362, 301, 302, 204, 0, 419, 251, 275, 241, - 383, 481, 482, 239, 526, 215, 504, 207, 0, 503, - 376, 476, 485, 363, 352, 206, 483, 361, 351, 307, - 326, 327, 263, 286, 412, 345, 413, 287, 372, 371, - 373, 198, 495, 0, 199, 0, 454, 496, 527, 221, - 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, - 338, 387, 411, 409, 415, 0, 471, 489, 500, 507, - 513, 514, 516, 517, 518, 519, 520, 522, 521, 375, - 289, 450, 306, 343, 0, 0, 393, 428, 227, 493, - 451, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 528, 529, 530, 531, 532, 533, 534, 535, - 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 546, 353, 441, 490, 308, 320, 323, 313, 332, 0, - 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, - 335, 235, 201, 359, 367, 0, 191, 208, 339, 86, - 416, 271, 524, 502, 498, 0, 210, 0, 245, 0, - 0, 0, 0, 0, 0, 1860, 0, 0, 1859, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, - 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, - 356, 357, 358, 377, 378, 379, 382, 385, 386, 389, - 391, 392, 395, 399, 403, 404, 405, 406, 408, 410, - 417, 422, 430, 431, 432, 433, 434, 437, 438, 443, - 444, 445, 446, 447, 455, 456, 460, 478, 480, 492, - 506, 511, 436, 281, 487, 512, 0, 348, 0, 0, - 350, 264, 284, 295, 0, 501, 457, 214, 424, 273, - 202, 233, 217, 242, 257, 260, 299, 360, 368, 397, - 402, 278, 254, 231, 421, 228, 440, 463, 464, 465, - 467, 364, 249, 401, 0, 1365, 346, 469, 470, 291, - 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 384, 0, 0, 0, 1367, 0, 0, 0, - 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, - 398, 0, 197, 0, 442, 237, 347, 344, 475, 265, - 256, 252, 236, 292, 354, 396, 462, 390, 0, 341, - 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, - 234, 300, 196, 381, 453, 269, 0, 0, 0, 0, - 188, 189, 190, 0, 1369, 0, 0, 0, 0, 0, - 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, - 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, - 0, 248, 296, 255, 247, 472, 0, 0, 0, 0, - 0, 0, 0, 216, 0, 0, 0, 1194, 0, 1195, - 1196, 0, 0, 0, 0, 0, 0, 0, 258, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 279, 0, 370, - 240, 0, 0, 0, 0, 508, 0, 0, 0, 0, - 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, - 380, 423, 429, 0, 0, 0, 238, 0, 427, 394, - 491, 220, 267, 420, 400, 425, 407, 270, 0, 0, - 426, 342, 477, 414, 488, 509, 510, 246, 374, 499, - 466, 505, 523, 213, 243, 388, 459, 494, 449, 366, - 473, 474, 304, 448, 277, 195, 340, 515, 211, 435, - 229, 218, 479, 497, 272, 418, 203, 461, 486, 226, - 439, 0, 0, 525, 205, 484, 458, 362, 301, 302, - 204, 0, 419, 251, 275, 241, 383, 481, 482, 239, - 526, 215, 504, 207, 0, 503, 376, 476, 485, 363, - 352, 206, 483, 361, 351, 307, 326, 327, 263, 286, - 412, 345, 413, 287, 372, 371, 373, 198, 495, 0, - 199, 0, 454, 496, 527, 221, 222, 224, 0, 262, - 266, 274, 276, 282, 283, 290, 338, 387, 411, 409, - 415, 0, 471, 489, 500, 507, 513, 514, 516, 517, - 518, 519, 520, 522, 521, 375, 289, 450, 306, 343, - 0, 0, 393, 428, 227, 493, 451, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 528, 529, + 409, 415, 0, 472, 490, 501, 508, 514, 515, 517, + 518, 519, 520, 521, 523, 522, 375, 289, 450, 306, + 343, 0, 0, 393, 428, 227, 494, 451, 700, 692, + 645, 704, 647, 701, 702, 642, 643, 646, 703, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 545, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 546, 353, 441, 490, - 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, - 317, 318, 319, 324, 325, 329, 335, 235, 201, 359, - 367, 0, 191, 208, 339, 0, 416, 271, 524, 502, - 498, 0, 210, 0, 245, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, - 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, - 293, 294, 297, 303, 349, 355, 356, 357, 358, 377, - 378, 379, 382, 385, 386, 389, 391, 392, 395, 399, - 403, 404, 405, 406, 408, 410, 417, 422, 430, 431, - 432, 433, 434, 437, 438, 443, 444, 445, 446, 447, - 455, 456, 460, 478, 480, 492, 506, 511, 436, 281, - 487, 512, 0, 348, 0, 0, 350, 264, 284, 295, - 0, 501, 457, 214, 424, 273, 202, 233, 217, 242, - 257, 260, 299, 360, 368, 397, 402, 278, 254, 231, - 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, - 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 384, 0, - 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, - 0, 0, 337, 250, 0, 0, 398, 0, 197, 0, - 442, 237, 347, 344, 475, 265, 256, 252, 236, 292, - 354, 396, 462, 390, 0, 341, 0, 0, 452, 369, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 298, 234, 300, 196, 381, - 453, 269, 0, 0, 0, 0, 188, 189, 190, 1308, - 1311, 0, 0, 0, 0, 1307, 1310, 0, 0, 225, - 1306, 232, 322, 331, 330, 311, 312, 314, 316, 321, - 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, - 247, 472, 0, 0, 0, 0, 0, 0, 0, 216, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 540, 541, 542, 543, 544, 545, 546, 0, 695, 632, + 631, 0, 638, 639, 0, 653, 654, 656, 660, 661, + 662, 665, 666, 667, 675, 677, 678, 676, 679, 680, + 681, 684, 685, 686, 687, 682, 683, 688, 649, 648, + 650, 651, 652, 630, 191, 208, 339, 0, 416, 271, + 525, 503, 499, 0, 210, 0, 245, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, + 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, + 285, 288, 293, 294, 297, 303, 349, 355, 356, 357, + 358, 377, 378, 379, 382, 385, 386, 389, 391, 392, + 395, 399, 403, 404, 405, 406, 408, 410, 417, 422, + 430, 431, 432, 433, 434, 437, 438, 443, 444, 445, + 446, 447, 455, 456, 460, 479, 481, 493, 507, 512, + 436, 281, 488, 513, 0, 348, 0, 0, 350, 264, + 284, 295, 0, 502, 457, 214, 424, 273, 202, 233, + 217, 242, 257, 260, 299, 360, 368, 397, 402, 278, + 254, 231, 421, 228, 440, 463, 464, 465, 467, 364, + 249, 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 384, 0, 0, 0, 0, 629, 0, 0, 0, 253, + 634, 0, 0, 0, 337, 250, 0, 0, 398, 0, + 197, 0, 442, 237, 347, 344, 476, 265, 256, 252, + 236, 292, 354, 396, 462, 390, 641, 341, 0, 0, + 452, 369, 0, 0, 0, 0, 0, 636, 637, 0, + 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, + 196, 381, 453, 269, 0, 87, 0, 0, 188, 189, + 190, 710, 717, 718, 719, 720, 721, 711, 713, 0, + 0, 225, 712, 232, 657, 659, 658, 668, 669, 670, + 671, 672, 673, 674, 655, 715, 722, 723, 0, 248, + 296, 255, 247, 473, 0, 0, 0, 0, 0, 0, + 0, 216, 0, 0, 0, 0, 0, 0, 0, 612, + 626, 0, 640, 0, 0, 0, 258, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 623, 624, 805, 0, 0, 0, 694, 0, 625, + 0, 0, 633, 724, 725, 726, 727, 728, 729, 730, + 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, + 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, + 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, + 761, 762, 763, 764, 765, 635, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 279, 0, 370, 240, 0, + 693, 0, 0, 509, 0, 0, 691, 0, 0, 0, + 0, 336, 0, 305, 192, 212, 0, 0, 380, 423, + 429, 0, 0, 0, 238, 0, 427, 394, 492, 220, + 267, 420, 400, 425, 407, 270, 0, 0, 426, 342, + 478, 414, 489, 510, 511, 246, 374, 500, 466, 506, + 524, 213, 243, 388, 459, 495, 449, 366, 474, 475, + 304, 448, 277, 195, 340, 516, 211, 435, 229, 218, + 480, 498, 272, 418, 203, 461, 487, 226, 439, 0, + 0, 526, 205, 485, 458, 362, 301, 302, 204, 0, + 419, 251, 275, 241, 383, 482, 483, 239, 527, 215, + 505, 207, 0, 504, 376, 477, 486, 363, 352, 206, + 484, 361, 351, 307, 663, 664, 263, 286, 412, 345, + 413, 287, 372, 371, 373, 198, 496, 0, 199, 0, + 454, 497, 528, 221, 222, 224, 0, 262, 266, 274, + 276, 282, 283, 290, 338, 387, 411, 409, 415, 0, + 472, 490, 501, 508, 514, 515, 517, 518, 519, 520, + 521, 523, 522, 375, 289, 450, 306, 343, 0, 0, + 393, 428, 227, 494, 451, 700, 692, 645, 704, 647, + 701, 702, 642, 643, 646, 703, 529, 530, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 0, 695, 632, 631, 0, 638, + 639, 0, 653, 654, 656, 660, 661, 662, 665, 666, + 667, 675, 677, 678, 676, 679, 680, 681, 684, 685, + 686, 687, 682, 683, 688, 649, 648, 650, 651, 652, + 630, 191, 208, 339, 0, 416, 271, 525, 503, 499, + 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 279, 0, 370, 240, 0, 0, 0, - 0, 508, 0, 0, 0, 0, 0, 0, 0, 336, - 0, 305, 192, 212, 0, 0, 380, 423, 429, 0, - 0, 0, 238, 0, 427, 394, 491, 220, 267, 420, - 400, 425, 407, 270, 0, 0, 426, 342, 477, 414, - 488, 509, 510, 246, 374, 499, 466, 505, 523, 213, - 243, 388, 459, 494, 449, 366, 473, 474, 304, 448, - 277, 195, 340, 515, 211, 435, 229, 218, 479, 497, - 272, 418, 203, 461, 486, 226, 439, 0, 0, 525, - 205, 484, 458, 362, 301, 302, 204, 0, 419, 251, - 275, 241, 383, 481, 482, 239, 526, 215, 504, 207, - 0, 503, 376, 476, 485, 363, 352, 206, 483, 361, - 351, 307, 326, 327, 263, 286, 412, 345, 413, 287, - 372, 371, 373, 198, 495, 0, 199, 0, 454, 496, - 527, 221, 222, 224, 0, 262, 266, 274, 276, 282, - 283, 290, 338, 387, 411, 409, 415, 0, 471, 489, - 500, 507, 513, 514, 516, 517, 518, 519, 520, 522, - 521, 375, 289, 450, 306, 343, 0, 0, 393, 428, - 227, 493, 451, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 528, 529, 530, 531, 532, 533, - 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, - 544, 545, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 546, 353, 441, 490, 308, 320, 323, 313, - 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, - 325, 329, 335, 235, 201, 359, 367, 0, 191, 208, - 339, 0, 416, 271, 524, 502, 498, 0, 210, 0, + 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, + 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, + 294, 297, 303, 349, 355, 356, 357, 358, 377, 378, + 379, 382, 385, 386, 389, 391, 392, 395, 399, 403, + 404, 405, 406, 408, 410, 417, 422, 430, 431, 432, + 433, 434, 437, 438, 443, 444, 445, 446, 447, 455, + 456, 460, 479, 481, 493, 507, 512, 436, 281, 488, + 513, 0, 348, 0, 0, 350, 264, 284, 295, 0, + 502, 457, 214, 424, 273, 202, 233, 217, 242, 257, + 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, + 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, + 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 384, 0, 0, + 0, 0, 629, 0, 0, 0, 253, 634, 0, 0, + 0, 337, 250, 0, 0, 398, 0, 197, 0, 442, + 237, 347, 344, 476, 265, 256, 252, 236, 292, 354, + 396, 462, 390, 641, 341, 0, 0, 452, 369, 0, + 0, 0, 0, 0, 636, 637, 0, 0, 0, 0, + 0, 0, 0, 0, 298, 234, 300, 196, 381, 453, + 269, 0, 87, 0, 0, 188, 189, 190, 710, 717, + 718, 719, 720, 721, 711, 713, 0, 0, 225, 712, + 232, 657, 659, 658, 668, 669, 670, 671, 672, 673, + 674, 655, 715, 722, 723, 0, 248, 296, 255, 247, + 473, 0, 0, 0, 0, 0, 0, 0, 216, 0, + 0, 0, 0, 0, 0, 0, 612, 626, 0, 640, + 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 623, 624, + 0, 0, 0, 0, 694, 0, 625, 0, 0, 633, + 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, + 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, + 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, + 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, + 764, 765, 635, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 279, 0, 370, 240, 0, 693, 0, 0, + 509, 0, 0, 691, 0, 0, 0, 0, 336, 0, + 305, 192, 212, 0, 0, 380, 423, 429, 0, 0, + 0, 238, 0, 427, 394, 492, 220, 267, 420, 400, + 425, 407, 270, 0, 0, 426, 342, 478, 414, 489, + 510, 511, 246, 374, 500, 466, 506, 524, 213, 243, + 388, 459, 495, 449, 366, 474, 475, 304, 448, 277, + 195, 340, 516, 211, 435, 229, 218, 480, 498, 272, + 418, 203, 461, 487, 226, 439, 0, 0, 526, 205, + 485, 458, 362, 301, 302, 204, 0, 419, 251, 275, + 241, 383, 482, 483, 239, 527, 215, 505, 207, 0, + 504, 376, 477, 486, 363, 352, 206, 484, 361, 351, + 307, 663, 664, 263, 286, 412, 345, 413, 287, 372, + 371, 373, 198, 496, 0, 199, 0, 454, 497, 528, + 221, 222, 224, 0, 262, 266, 274, 276, 282, 283, + 290, 338, 387, 411, 409, 415, 0, 472, 490, 501, + 508, 514, 515, 517, 518, 519, 520, 521, 523, 522, + 375, 289, 450, 306, 343, 0, 0, 393, 428, 227, + 494, 451, 700, 692, 645, 704, 647, 701, 702, 642, + 643, 646, 703, 529, 530, 531, 532, 533, 534, 535, + 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, + 546, 0, 695, 632, 631, 0, 638, 639, 0, 653, + 654, 656, 660, 661, 662, 665, 666, 667, 675, 677, + 678, 676, 679, 680, 681, 684, 685, 686, 687, 682, + 683, 688, 649, 648, 650, 651, 652, 630, 191, 208, + 339, 0, 416, 271, 525, 503, 499, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, @@ -3601,363 +3308,181 @@ var yyAct = [...]int{ 349, 355, 356, 357, 358, 377, 378, 379, 382, 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, 437, - 438, 443, 444, 445, 446, 447, 455, 456, 460, 478, - 480, 492, 506, 511, 436, 281, 487, 512, 0, 348, - 0, 0, 350, 264, 284, 295, 0, 501, 457, 214, + 438, 443, 444, 445, 446, 447, 455, 456, 460, 479, + 481, 493, 507, 512, 436, 281, 488, 513, 0, 348, + 0, 0, 350, 264, 284, 295, 0, 502, 457, 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, 463, - 464, 465, 467, 364, 249, 401, 0, 0, 346, 469, - 470, 291, 365, 0, 0, 0, 78, 468, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, - 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, - 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, - 0, 442, 237, 347, 344, 475, 265, 256, 252, 236, - 292, 354, 396, 462, 390, 0, 341, 0, 0, 452, - 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, - 381, 453, 269, 0, 87, 0, 1346, 188, 189, 190, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, - 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, - 255, 247, 472, 0, 0, 0, 0, 0, 0, 0, - 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 279, 0, 370, 240, 0, 0, - 0, 0, 508, 0, 0, 0, 0, 0, 0, 0, - 336, 0, 305, 192, 212, 0, 0, 380, 423, 429, - 0, 0, 0, 238, 0, 427, 394, 491, 220, 267, - 420, 400, 425, 407, 270, 0, 0, 426, 342, 477, - 414, 488, 509, 510, 246, 374, 499, 466, 505, 523, - 213, 243, 388, 459, 494, 449, 366, 473, 474, 304, - 448, 277, 195, 340, 515, 211, 435, 229, 218, 479, - 497, 272, 418, 203, 461, 486, 226, 439, 0, 0, - 525, 205, 484, 458, 362, 301, 302, 204, 0, 419, - 251, 275, 241, 383, 481, 482, 239, 526, 215, 504, - 207, 0, 503, 376, 476, 485, 363, 352, 206, 483, - 361, 351, 307, 326, 327, 263, 286, 412, 345, 413, - 287, 372, 371, 373, 198, 495, 0, 199, 0, 454, - 496, 527, 221, 222, 224, 0, 262, 266, 274, 276, - 282, 283, 290, 338, 387, 411, 409, 415, 0, 471, - 489, 500, 507, 513, 514, 516, 517, 518, 519, 520, - 522, 521, 375, 289, 450, 306, 343, 0, 0, 393, - 428, 227, 493, 451, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 528, 529, 530, 531, 532, - 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, - 543, 544, 545, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 546, 353, 441, 490, 308, 320, 323, - 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, - 324, 325, 329, 335, 235, 201, 359, 367, 0, 191, - 208, 339, 86, 416, 271, 524, 502, 498, 0, 210, - 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, - 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, - 303, 349, 355, 356, 357, 358, 377, 378, 379, 382, - 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, - 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, - 437, 438, 443, 444, 445, 446, 447, 455, 456, 460, - 478, 480, 492, 506, 511, 436, 281, 487, 512, 0, - 348, 0, 0, 350, 264, 284, 295, 0, 501, 457, - 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, - 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, - 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, - 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 384, 0, 0, 0, 0, - 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, - 250, 0, 0, 398, 0, 197, 0, 442, 237, 347, - 344, 475, 265, 256, 252, 236, 292, 354, 396, 462, - 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 298, 234, 300, 196, 381, 453, 269, 0, - 87, 0, 0, 188, 189, 190, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, - 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, - 0, 0, 0, 0, 248, 296, 255, 247, 472, 0, - 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 464, 465, 467, 364, 249, 401, 0, 365, 346, 469, + 470, 291, 468, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 384, 0, 0, 0, 0, 629, + 0, 0, 0, 253, 634, 0, 0, 0, 337, 250, + 0, 0, 398, 0, 197, 0, 442, 237, 347, 344, + 476, 265, 256, 252, 236, 292, 354, 396, 462, 390, + 641, 341, 0, 0, 452, 369, 0, 0, 0, 0, + 0, 636, 637, 0, 0, 0, 0, 0, 0, 0, + 0, 298, 234, 300, 196, 381, 453, 269, 0, 87, + 0, 0, 188, 189, 190, 710, 717, 718, 719, 720, + 721, 711, 713, 0, 0, 225, 712, 232, 657, 659, + 658, 668, 669, 670, 671, 672, 673, 674, 655, 715, + 722, 723, 0, 248, 296, 255, 247, 473, 0, 0, + 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, + 0, 0, 0, 0, 626, 0, 640, 0, 0, 0, + 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 623, 624, 0, 0, 0, + 0, 694, 0, 625, 0, 0, 633, 724, 725, 726, + 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, + 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, + 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, + 757, 758, 759, 760, 761, 762, 763, 764, 765, 635, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, + 0, 370, 240, 0, 693, 0, 0, 509, 0, 0, + 691, 0, 0, 0, 0, 336, 0, 305, 192, 212, + 0, 0, 380, 423, 429, 0, 0, 0, 238, 0, + 427, 394, 492, 220, 267, 420, 400, 425, 407, 270, + 0, 0, 426, 342, 478, 414, 489, 510, 511, 246, + 374, 500, 466, 506, 524, 213, 243, 388, 459, 495, + 449, 366, 474, 475, 304, 448, 277, 195, 340, 516, + 211, 435, 229, 218, 480, 498, 272, 418, 203, 461, + 487, 226, 439, 0, 0, 526, 205, 485, 458, 362, + 301, 302, 204, 0, 419, 251, 275, 241, 383, 482, + 483, 239, 527, 215, 505, 207, 0, 504, 376, 477, + 486, 363, 352, 206, 484, 361, 351, 307, 663, 664, + 263, 286, 412, 345, 413, 287, 372, 371, 373, 198, + 496, 0, 199, 0, 454, 497, 528, 221, 222, 224, + 0, 262, 266, 274, 276, 282, 283, 290, 338, 387, + 411, 409, 415, 0, 472, 490, 501, 508, 514, 515, + 517, 518, 519, 520, 521, 523, 522, 375, 289, 450, + 306, 343, 0, 0, 393, 428, 227, 494, 451, 700, + 692, 645, 704, 647, 701, 702, 642, 643, 646, 703, + 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, + 539, 540, 541, 542, 543, 544, 545, 546, 0, 695, + 632, 631, 0, 638, 639, 0, 653, 654, 656, 660, + 661, 662, 665, 666, 667, 675, 677, 678, 676, 679, + 680, 681, 684, 685, 686, 687, 682, 683, 688, 649, + 648, 650, 651, 652, 630, 191, 208, 339, 0, 416, + 271, 525, 503, 499, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 279, 0, 370, 240, 0, 0, 0, 0, 508, 0, - 0, 0, 0, 0, 0, 0, 336, 0, 305, 192, - 212, 0, 0, 380, 423, 429, 0, 0, 0, 238, - 0, 427, 394, 491, 220, 267, 420, 400, 425, 407, - 270, 0, 0, 426, 342, 477, 414, 488, 509, 510, - 246, 374, 499, 466, 505, 523, 213, 243, 388, 459, - 494, 449, 366, 473, 474, 304, 448, 277, 195, 340, - 515, 211, 435, 229, 218, 479, 497, 272, 418, 203, - 461, 486, 226, 439, 0, 0, 525, 205, 484, 458, - 362, 301, 302, 204, 0, 419, 251, 275, 241, 383, - 481, 482, 239, 526, 215, 504, 207, 0, 503, 376, - 476, 485, 363, 352, 206, 483, 361, 351, 307, 326, - 327, 263, 286, 412, 345, 413, 287, 372, 371, 373, - 198, 495, 0, 199, 0, 454, 496, 527, 221, 222, - 224, 0, 262, 266, 274, 276, 282, 283, 290, 338, - 387, 411, 409, 415, 0, 471, 489, 500, 507, 513, - 514, 516, 517, 518, 519, 520, 522, 521, 375, 289, - 450, 306, 343, 0, 0, 393, 428, 227, 493, 451, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 528, 529, 530, 531, 532, 533, 534, 535, 536, - 537, 538, 539, 540, 541, 542, 543, 544, 545, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 546, - 353, 441, 490, 308, 320, 323, 313, 332, 0, 333, - 309, 310, 315, 317, 318, 319, 324, 325, 329, 335, - 235, 201, 359, 367, 0, 191, 208, 339, 0, 416, - 271, 524, 502, 498, 0, 210, 0, 245, 0, 0, - 0, 0, 0, 0, 1860, 0, 0, 1859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, 357, 358, 377, 378, 379, 382, 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, 437, 438, 443, 444, - 445, 446, 447, 455, 456, 460, 478, 480, 492, 506, - 511, 436, 281, 487, 512, 0, 348, 0, 0, 350, - 264, 284, 295, 0, 501, 457, 214, 424, 273, 202, + 445, 446, 447, 455, 456, 460, 479, 481, 493, 507, + 512, 436, 281, 488, 513, 0, 348, 0, 0, 350, + 264, 284, 295, 0, 502, 457, 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 384, 0, 0, 0, 1811, 0, 0, 0, 0, + 0, 384, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, 398, - 0, 197, 0, 442, 237, 347, 344, 475, 265, 256, + 0, 197, 0, 442, 237, 347, 344, 476, 265, 256, 252, 236, 292, 354, 396, 462, 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, 381, 453, 269, 0, 0, 0, 0, 188, - 189, 190, 0, 1547, 0, 0, 0, 0, 0, 0, + 189, 190, 0, 717, 718, 0, 0, 0, 0, 1697, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, - 248, 296, 255, 247, 472, 0, 0, 0, 0, 0, + 248, 296, 255, 247, 473, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 724, 725, 726, 727, 728, 729, + 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, + 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, + 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, + 760, 761, 762, 763, 764, 765, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, 370, 240, - 0, 0, 0, 0, 508, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 509, 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, 380, - 423, 429, 0, 0, 0, 238, 0, 427, 394, 491, - 220, 267, 420, 400, 425, 407, 270, 0, 1809, 426, - 342, 477, 414, 488, 509, 510, 246, 374, 499, 466, - 505, 523, 213, 243, 388, 459, 494, 449, 366, 473, - 474, 304, 448, 277, 195, 340, 515, 211, 435, 229, - 218, 479, 497, 272, 418, 203, 461, 486, 226, 439, - 0, 0, 525, 205, 484, 458, 362, 301, 302, 204, - 0, 419, 251, 275, 241, 383, 481, 482, 239, 526, - 215, 504, 207, 0, 503, 376, 476, 485, 363, 352, - 206, 483, 361, 351, 307, 326, 327, 263, 286, 412, - 345, 413, 287, 372, 371, 373, 198, 495, 0, 199, - 0, 454, 496, 527, 221, 222, 224, 0, 262, 266, + 423, 429, 0, 0, 0, 238, 0, 427, 394, 492, + 220, 267, 420, 400, 425, 407, 270, 0, 0, 426, + 342, 478, 414, 489, 510, 511, 246, 374, 500, 466, + 506, 524, 213, 243, 388, 459, 495, 449, 366, 474, + 475, 304, 448, 277, 195, 340, 516, 211, 435, 229, + 218, 480, 498, 272, 418, 203, 461, 487, 226, 439, + 0, 0, 526, 205, 485, 458, 362, 301, 302, 204, + 0, 419, 251, 275, 241, 383, 482, 483, 239, 527, + 215, 505, 207, 0, 504, 376, 477, 486, 363, 352, + 206, 484, 361, 351, 307, 326, 327, 263, 286, 412, + 345, 413, 287, 372, 371, 373, 198, 496, 0, 199, + 0, 454, 497, 528, 221, 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, 338, 387, 411, 409, 415, - 0, 471, 489, 500, 507, 513, 514, 516, 517, 518, - 519, 520, 522, 521, 375, 289, 450, 306, 343, 0, - 0, 393, 428, 227, 493, 451, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 528, 529, 530, - 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, - 541, 542, 543, 544, 545, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 546, 353, 441, 490, 308, + 0, 472, 490, 501, 508, 514, 515, 517, 518, 519, + 520, 521, 523, 522, 375, 289, 450, 306, 343, 0, + 0, 393, 428, 227, 494, 451, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 529, 530, 531, + 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, + 542, 543, 544, 545, 546, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 547, 353, 441, 491, 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, 335, 235, 201, 359, 367, - 0, 191, 208, 339, 0, 416, 271, 524, 502, 498, - 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, + 471, 0, 191, 208, 339, 0, 416, 271, 525, 503, + 499, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, - 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, - 294, 297, 303, 349, 355, 356, 357, 358, 377, 378, - 379, 382, 385, 386, 389, 391, 392, 395, 399, 403, - 404, 405, 406, 408, 410, 417, 422, 430, 431, 432, - 433, 434, 437, 438, 443, 444, 445, 446, 447, 455, - 456, 460, 478, 480, 492, 506, 511, 436, 281, 487, - 512, 0, 348, 0, 0, 350, 264, 284, 295, 0, - 501, 457, 214, 424, 273, 202, 233, 217, 242, 257, - 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, - 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, - 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 384, 0, 0, - 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, - 0, 337, 250, 0, 0, 398, 0, 197, 0, 442, - 237, 347, 344, 475, 265, 256, 252, 236, 292, 354, - 396, 462, 390, 0, 341, 0, 0, 452, 369, 0, + 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, + 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, + 293, 294, 297, 303, 349, 355, 356, 357, 358, 377, + 378, 379, 382, 385, 386, 389, 391, 392, 395, 399, + 403, 404, 405, 406, 408, 410, 417, 422, 430, 431, + 432, 433, 434, 437, 438, 443, 444, 445, 446, 447, + 455, 456, 460, 479, 481, 493, 507, 512, 436, 281, + 488, 513, 0, 348, 0, 0, 350, 264, 284, 295, + 0, 502, 457, 214, 424, 273, 202, 233, 217, 242, + 257, 260, 299, 360, 368, 397, 402, 278, 254, 231, + 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, + 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 384, 0, + 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, + 0, 0, 337, 250, 0, 0, 398, 0, 197, 0, + 442, 237, 347, 344, 476, 265, 256, 252, 236, 292, + 354, 396, 462, 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 298, 234, 300, 196, 381, 453, - 269, 0, 0, 0, 0, 188, 189, 190, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, - 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, - 334, 0, 0, 0, 0, 0, 248, 296, 255, 247, - 472, 0, 0, 0, 0, 0, 0, 0, 216, 0, + 0, 0, 0, 0, 0, 298, 234, 300, 196, 381, + 453, 269, 0, 0, 0, 0, 188, 189, 190, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, + 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, + 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, + 247, 473, 0, 0, 0, 0, 0, 0, 0, 216, + 0, 1024, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, - 0, 0, 973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 279, 0, 370, 240, 0, 0, 0, 0, - 508, 0, 0, 0, 0, 0, 0, 0, 336, 979, - 305, 192, 212, 977, 0, 380, 423, 429, 0, 0, - 0, 238, 0, 427, 394, 491, 220, 267, 420, 400, - 425, 407, 270, 0, 0, 426, 342, 477, 414, 488, - 509, 510, 246, 374, 499, 466, 505, 523, 213, 243, - 388, 459, 494, 449, 366, 473, 474, 304, 448, 277, - 195, 340, 515, 211, 435, 229, 218, 479, 497, 272, - 418, 203, 461, 486, 226, 439, 0, 0, 525, 205, - 484, 458, 362, 301, 302, 204, 0, 419, 251, 275, - 241, 383, 481, 482, 239, 526, 215, 504, 207, 0, - 503, 376, 476, 485, 363, 352, 206, 483, 361, 351, - 307, 326, 327, 263, 286, 412, 345, 413, 287, 372, - 371, 373, 198, 495, 0, 199, 0, 454, 496, 527, - 221, 222, 224, 0, 262, 266, 274, 276, 282, 283, - 290, 338, 387, 411, 409, 415, 0, 471, 489, 500, - 507, 513, 514, 516, 517, 518, 519, 520, 522, 521, - 375, 289, 450, 306, 343, 0, 0, 393, 428, 227, - 493, 451, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 528, 529, 530, 531, 532, 533, 534, + 0, 0, 0, 279, 0, 370, 240, 0, 0, 0, + 1023, 509, 0, 0, 0, 0, 0, 1020, 1021, 336, + 981, 305, 192, 212, 1014, 1018, 380, 423, 429, 0, + 0, 0, 238, 0, 427, 394, 492, 220, 267, 420, + 400, 425, 407, 270, 0, 0, 426, 342, 478, 414, + 489, 510, 511, 246, 374, 500, 466, 506, 524, 213, + 243, 388, 459, 495, 449, 366, 474, 475, 304, 448, + 277, 195, 340, 516, 211, 435, 229, 218, 480, 498, + 272, 418, 203, 461, 487, 226, 439, 0, 0, 526, + 205, 485, 458, 362, 301, 302, 204, 0, 419, 251, + 275, 241, 383, 482, 483, 239, 527, 215, 505, 207, + 0, 504, 376, 477, 486, 363, 352, 206, 484, 361, + 351, 307, 326, 327, 263, 286, 412, 345, 413, 287, + 372, 371, 373, 198, 496, 0, 199, 0, 454, 497, + 528, 221, 222, 224, 0, 262, 266, 274, 276, 282, + 283, 290, 338, 387, 411, 409, 415, 0, 472, 490, + 501, 508, 514, 515, 517, 518, 519, 520, 521, 523, + 522, 375, 289, 450, 306, 343, 0, 0, 393, 428, + 227, 494, 451, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 546, 353, 441, 490, 308, 320, 323, 313, 332, - 0, 333, 309, 310, 315, 317, 318, 319, 324, 325, - 329, 335, 235, 201, 359, 367, 0, 191, 208, 339, - 0, 416, 271, 524, 502, 498, 0, 210, 0, 245, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, - 261, 268, 280, 285, 288, 293, 294, 297, 303, 349, - 355, 356, 357, 358, 377, 378, 379, 382, 385, 386, - 389, 391, 392, 395, 399, 403, 404, 405, 406, 408, - 410, 417, 422, 430, 431, 432, 433, 434, 437, 438, - 443, 444, 445, 446, 447, 455, 456, 460, 478, 480, - 492, 506, 511, 436, 281, 487, 512, 0, 348, 0, - 0, 350, 264, 284, 295, 0, 501, 457, 214, 424, - 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, - 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, - 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, - 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 384, 0, 0, 0, 1811, 0, 0, - 0, 0, 253, 0, 0, 0, 0, 337, 250, 0, - 0, 398, 0, 197, 0, 442, 237, 347, 344, 475, - 265, 256, 252, 236, 292, 354, 396, 462, 390, 0, - 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 298, 234, 300, 196, 381, 453, 269, 0, 0, 0, - 0, 188, 189, 190, 0, 1547, 0, 0, 0, 0, - 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, - 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, - 0, 0, 248, 296, 255, 247, 472, 0, 0, 0, - 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, - 370, 240, 0, 0, 0, 0, 508, 0, 0, 0, - 0, 0, 0, 0, 336, 0, 305, 192, 212, 0, - 0, 380, 423, 429, 0, 0, 0, 238, 0, 427, - 394, 491, 220, 267, 420, 400, 425, 407, 270, 0, - 0, 426, 342, 477, 414, 488, 509, 510, 246, 374, - 499, 466, 505, 523, 213, 243, 388, 459, 494, 449, - 366, 473, 474, 304, 448, 277, 195, 340, 515, 211, - 435, 229, 218, 479, 497, 272, 418, 203, 461, 486, - 226, 439, 0, 0, 525, 205, 484, 458, 362, 301, - 302, 204, 0, 419, 251, 275, 241, 383, 481, 482, - 239, 526, 215, 504, 207, 0, 503, 376, 476, 485, - 363, 352, 206, 483, 361, 351, 307, 326, 327, 263, - 286, 412, 345, 413, 287, 372, 371, 373, 198, 495, - 0, 199, 0, 454, 496, 527, 221, 222, 224, 0, - 262, 266, 274, 276, 282, 283, 290, 338, 387, 411, - 409, 415, 0, 471, 489, 500, 507, 513, 514, 516, - 517, 518, 519, 520, 522, 521, 375, 289, 450, 306, - 343, 0, 0, 393, 428, 227, 493, 451, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 528, - 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, - 539, 540, 541, 542, 543, 544, 545, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 546, 353, 441, - 490, 308, 320, 323, 313, 332, 0, 333, 309, 310, - 315, 317, 318, 319, 324, 325, 329, 335, 235, 201, - 359, 367, 0, 191, 208, 339, 0, 416, 271, 524, - 502, 498, 0, 210, 0, 245, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, - 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, - 288, 293, 294, 297, 303, 349, 355, 356, 357, 358, - 377, 378, 379, 382, 385, 386, 389, 391, 392, 395, - 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, - 431, 432, 433, 434, 437, 438, 443, 444, 445, 446, - 447, 455, 456, 460, 478, 480, 492, 506, 511, 436, - 281, 487, 512, 0, 348, 0, 0, 350, 264, 284, - 295, 0, 501, 457, 214, 424, 273, 202, 233, 217, - 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, - 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, - 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, - 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, - 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, - 0, 442, 237, 347, 344, 475, 265, 256, 252, 236, - 292, 354, 396, 462, 390, 0, 341, 0, 0, 452, - 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, - 381, 453, 269, 0, 0, 0, 1346, 188, 189, 190, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, - 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, - 255, 247, 472, 0, 0, 0, 0, 0, 0, 0, - 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 279, 0, 370, 240, 0, 0, - 0, 0, 508, 0, 0, 0, 2909, 0, 0, 0, - 336, 0, 305, 192, 212, 0, 0, 380, 423, 429, - 0, 0, 0, 238, 0, 427, 394, 491, 220, 267, - 420, 400, 425, 407, 270, 0, 0, 426, 342, 477, - 414, 488, 509, 510, 246, 374, 499, 466, 505, 523, - 213, 243, 388, 459, 494, 449, 366, 473, 474, 304, - 448, 277, 195, 340, 515, 211, 435, 229, 218, 479, - 497, 272, 418, 203, 461, 486, 226, 439, 0, 0, - 525, 205, 484, 458, 362, 301, 302, 204, 0, 419, - 251, 275, 241, 383, 481, 482, 239, 526, 215, 504, - 207, 0, 503, 376, 476, 485, 363, 352, 206, 483, - 361, 351, 307, 326, 327, 263, 286, 412, 345, 413, - 287, 372, 371, 373, 198, 495, 0, 199, 0, 454, - 496, 527, 221, 222, 224, 0, 262, 266, 274, 276, - 282, 283, 290, 338, 387, 411, 409, 415, 0, 471, - 489, 500, 507, 513, 514, 516, 517, 518, 519, 520, - 522, 521, 375, 289, 450, 306, 343, 0, 0, 393, - 428, 227, 493, 451, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 528, 529, 530, 531, 532, - 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, - 543, 544, 545, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 546, 353, 441, 490, 308, 320, 323, - 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, - 324, 325, 329, 335, 235, 201, 359, 367, 0, 191, - 208, 339, 0, 416, 271, 524, 502, 498, 0, 210, + 545, 546, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 547, 353, 441, 491, 308, 320, 323, 313, + 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, + 325, 329, 335, 235, 201, 359, 367, 471, 0, 191, + 208, 339, 0, 416, 271, 525, 503, 499, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, @@ -3966,146 +3491,86 @@ var yyAct = [...]int{ 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, 437, 438, 443, 444, 445, 446, 447, 455, 456, 460, - 478, 480, 492, 506, 511, 436, 281, 487, 512, 0, - 348, 0, 0, 350, 264, 284, 295, 0, 501, 457, + 479, 481, 493, 507, 512, 436, 281, 488, 513, 0, + 348, 0, 0, 350, 264, 284, 295, 0, 502, 457, 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, - 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, - 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 384, 0, 0, 0, 0, - 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, - 250, 0, 0, 398, 0, 197, 0, 442, 237, 347, - 344, 475, 265, 256, 252, 236, 292, 354, 396, 462, - 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 298, 234, 300, 196, 381, 453, 269, 0, - 0, 0, 0, 188, 189, 190, 0, 1690, 0, 0, - 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, - 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, - 0, 0, 0, 0, 248, 296, 255, 247, 472, 0, - 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1691, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 279, 0, 370, 240, 0, 0, 0, 0, 508, 0, - 0, 0, 0, 0, 0, 0, 336, 0, 305, 192, - 212, 0, 0, 380, 423, 429, 0, 0, 0, 238, - 0, 427, 394, 491, 220, 267, 420, 400, 425, 407, - 270, 0, 0, 426, 342, 477, 414, 488, 509, 510, - 246, 374, 499, 466, 505, 523, 213, 243, 388, 459, - 494, 449, 366, 473, 474, 304, 448, 277, 195, 340, - 515, 211, 435, 229, 218, 479, 497, 272, 418, 203, - 461, 486, 226, 439, 0, 0, 525, 205, 484, 458, - 362, 301, 302, 204, 0, 419, 251, 275, 241, 383, - 481, 482, 239, 526, 215, 504, 207, 0, 503, 376, - 476, 485, 363, 352, 206, 483, 361, 351, 307, 326, - 327, 263, 286, 412, 345, 413, 287, 372, 371, 373, - 198, 495, 0, 199, 0, 454, 496, 527, 221, 222, - 224, 0, 262, 266, 274, 276, 282, 283, 290, 338, - 387, 411, 409, 415, 0, 471, 489, 500, 507, 513, - 514, 516, 517, 518, 519, 520, 522, 521, 375, 289, - 450, 306, 343, 0, 0, 393, 428, 227, 493, 451, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 528, 529, 530, 531, 532, 533, 534, 535, 536, - 537, 538, 539, 540, 541, 542, 543, 544, 545, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 546, - 353, 441, 490, 308, 320, 323, 313, 332, 0, 333, - 309, 310, 315, 317, 318, 319, 324, 325, 329, 335, - 235, 201, 359, 367, 0, 191, 208, 339, 0, 416, - 271, 524, 502, 498, 0, 210, 0, 245, 0, 0, + 463, 464, 465, 467, 364, 249, 401, 0, 0, 346, + 469, 470, 291, 365, 0, 0, 0, 78, 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, - 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, - 357, 358, 377, 378, 379, 382, 385, 386, 389, 391, - 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, - 422, 430, 431, 432, 433, 434, 437, 438, 443, 444, - 445, 446, 447, 455, 456, 460, 478, 480, 492, 506, - 511, 436, 281, 487, 512, 0, 348, 0, 0, 350, - 264, 284, 295, 0, 501, 457, 214, 424, 273, 202, - 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, - 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, - 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, + 384, 0, 0, 0, 0, 0, 0, 0, 0, 253, + 0, 0, 0, 0, 337, 250, 0, 0, 398, 0, + 197, 0, 442, 237, 347, 344, 476, 265, 256, 252, + 236, 292, 354, 396, 462, 390, 0, 341, 0, 0, + 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, + 196, 381, 453, 269, 0, 87, 0, 0, 188, 189, + 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, + 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, + 296, 255, 247, 473, 0, 0, 0, 0, 0, 0, + 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 384, 0, 0, 0, 0, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 337, 250, 0, 0, 398, - 0, 197, 0, 442, 237, 347, 344, 475, 265, 256, - 252, 236, 292, 354, 396, 462, 390, 0, 341, 0, - 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, - 300, 196, 381, 453, 269, 0, 0, 0, 0, 188, - 189, 190, 0, 2158, 0, 0, 0, 0, 0, 0, - 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, - 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, - 248, 296, 255, 247, 472, 0, 0, 0, 0, 0, - 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 279, 0, 370, 240, - 0, 0, 0, 0, 508, 0, 0, 0, 0, 0, - 0, 0, 336, 0, 305, 192, 212, 0, 0, 380, - 423, 429, 0, 0, 0, 238, 0, 427, 394, 491, - 220, 267, 420, 400, 425, 407, 270, 0, 0, 426, - 342, 477, 414, 488, 509, 510, 246, 374, 499, 466, - 505, 523, 213, 243, 388, 459, 494, 449, 366, 473, - 474, 304, 448, 277, 195, 340, 515, 211, 435, 229, - 218, 479, 497, 272, 418, 203, 461, 486, 226, 439, - 0, 0, 525, 205, 484, 458, 362, 301, 302, 204, - 0, 419, 251, 275, 241, 383, 481, 482, 239, 526, - 215, 504, 207, 0, 503, 376, 476, 485, 363, 352, - 206, 483, 361, 351, 307, 326, 327, 263, 286, 412, - 345, 413, 287, 372, 371, 373, 198, 495, 0, 199, - 0, 454, 496, 527, 221, 222, 224, 0, 262, 266, - 274, 276, 282, 283, 290, 338, 387, 411, 409, 415, - 0, 471, 489, 500, 507, 513, 514, 516, 517, 518, - 519, 520, 522, 521, 375, 289, 450, 306, 343, 0, - 0, 393, 428, 227, 493, 451, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 528, 529, 530, - 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, - 541, 542, 543, 544, 545, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 546, 353, 441, 490, 308, - 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, - 318, 319, 324, 325, 329, 335, 235, 201, 359, 367, - 0, 191, 208, 339, 0, 416, 271, 524, 502, 498, + 0, 0, 0, 0, 0, 279, 0, 370, 240, 0, + 0, 0, 0, 509, 0, 0, 0, 0, 0, 0, + 0, 336, 0, 305, 192, 212, 0, 0, 380, 423, + 429, 0, 0, 0, 238, 0, 427, 394, 492, 220, + 267, 420, 400, 425, 407, 270, 0, 0, 426, 342, + 478, 414, 489, 510, 511, 246, 374, 500, 466, 506, + 524, 213, 243, 388, 459, 495, 449, 366, 474, 475, + 304, 448, 277, 195, 340, 516, 211, 435, 229, 218, + 480, 498, 272, 418, 203, 461, 487, 226, 439, 0, + 0, 526, 205, 485, 458, 362, 301, 302, 204, 0, + 419, 251, 275, 241, 383, 482, 483, 239, 527, 215, + 505, 207, 0, 504, 376, 477, 486, 363, 352, 206, + 484, 361, 351, 307, 326, 327, 263, 286, 412, 345, + 413, 287, 372, 371, 373, 198, 496, 0, 199, 0, + 454, 497, 528, 221, 222, 224, 0, 262, 266, 274, + 276, 282, 283, 290, 338, 387, 411, 409, 415, 0, + 472, 490, 501, 508, 514, 515, 517, 518, 519, 520, + 521, 523, 522, 375, 289, 450, 306, 343, 0, 0, + 393, 428, 227, 494, 451, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 529, 530, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 547, 353, 441, 491, 308, 320, + 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, + 319, 324, 325, 329, 335, 235, 201, 359, 367, 471, + 0, 191, 208, 339, 86, 416, 271, 525, 503, 499, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1864, 0, 0, 1863, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, 357, 358, 377, 378, 379, 382, 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, 437, 438, 443, 444, 445, 446, 447, 455, - 456, 460, 478, 480, 492, 506, 511, 436, 281, 487, - 512, 0, 348, 0, 0, 350, 264, 284, 295, 0, - 501, 457, 214, 424, 273, 202, 233, 217, 242, 257, + 456, 460, 479, 481, 493, 507, 512, 436, 281, 488, + 513, 0, 348, 0, 0, 350, 264, 284, 295, 0, + 502, 457, 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, - 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, + 1368, 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, 0, 0, - 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, + 0, 1370, 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, 0, 442, - 237, 347, 344, 475, 265, 256, 252, 236, 292, 354, + 237, 347, 344, 476, 265, 256, 252, 236, 292, 354, 396, 462, 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, 381, 453, - 269, 0, 0, 0, 0, 188, 189, 190, 0, 0, - 0, 2143, 0, 0, 0, 2144, 0, 0, 225, 0, + 269, 0, 0, 0, 0, 188, 189, 190, 0, 1372, + 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, 247, - 472, 0, 0, 0, 0, 0, 0, 0, 216, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 473, 0, 0, 0, 0, 0, 0, 0, 216, 0, + 0, 0, 1196, 0, 1197, 1198, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4115,31 +3580,153 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, 370, 240, 0, 0, 0, 0, - 508, 0, 0, 0, 0, 0, 0, 0, 336, 0, + 509, 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, 380, 423, 429, 0, 0, - 0, 238, 0, 427, 394, 491, 220, 267, 420, 400, - 425, 407, 270, 0, 0, 426, 342, 477, 414, 488, - 509, 510, 246, 374, 499, 466, 505, 523, 213, 243, - 388, 459, 494, 449, 366, 473, 474, 304, 448, 277, - 195, 340, 515, 211, 435, 229, 218, 479, 497, 272, - 418, 203, 461, 486, 226, 439, 0, 0, 525, 205, - 484, 458, 362, 301, 302, 204, 0, 419, 251, 275, - 241, 383, 481, 482, 239, 526, 215, 504, 207, 0, - 503, 376, 476, 485, 363, 352, 206, 483, 361, 351, + 0, 238, 0, 427, 394, 492, 220, 267, 420, 400, + 425, 407, 270, 0, 0, 426, 342, 478, 414, 489, + 510, 511, 246, 374, 500, 466, 506, 524, 213, 243, + 388, 459, 495, 449, 366, 474, 475, 304, 448, 277, + 195, 340, 516, 211, 435, 229, 218, 480, 498, 272, + 418, 203, 461, 487, 226, 439, 0, 0, 526, 205, + 485, 458, 362, 301, 302, 204, 0, 419, 251, 275, + 241, 383, 482, 483, 239, 527, 215, 505, 207, 0, + 504, 376, 477, 486, 363, 352, 206, 484, 361, 351, 307, 326, 327, 263, 286, 412, 345, 413, 287, 372, - 371, 373, 198, 495, 0, 199, 0, 454, 496, 527, + 371, 373, 198, 496, 0, 199, 0, 454, 497, 528, 221, 222, 224, 0, 262, 266, 274, 276, 282, 283, - 290, 338, 387, 411, 409, 415, 0, 471, 489, 500, - 507, 513, 514, 516, 517, 518, 519, 520, 522, 521, + 290, 338, 387, 411, 409, 415, 0, 472, 490, 501, + 508, 514, 515, 517, 518, 519, 520, 521, 523, 522, 375, 289, 450, 306, 343, 0, 0, 393, 428, 227, - 493, 451, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 528, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 546, 353, 441, 490, 308, 320, 323, 313, 332, + 494, 451, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 529, 530, 531, 532, 533, 534, 535, + 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, + 546, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 547, 353, 441, 491, 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, 325, - 329, 335, 235, 201, 359, 367, 0, 191, 208, 339, - 0, 416, 271, 524, 502, 498, 0, 210, 0, 245, + 329, 335, 235, 201, 359, 367, 471, 0, 191, 208, + 339, 0, 416, 271, 525, 503, 499, 0, 210, 0, + 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, + 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, + 349, 355, 356, 357, 358, 377, 378, 379, 382, 385, + 386, 389, 391, 392, 395, 399, 403, 404, 405, 406, + 408, 410, 417, 422, 430, 431, 432, 433, 434, 437, + 438, 443, 444, 445, 446, 447, 455, 456, 460, 479, + 481, 493, 507, 512, 436, 281, 488, 513, 0, 348, + 0, 0, 350, 264, 284, 295, 0, 502, 457, 214, + 424, 273, 202, 233, 217, 242, 257, 260, 299, 360, + 368, 397, 402, 278, 254, 231, 421, 228, 440, 463, + 464, 465, 467, 364, 249, 401, 0, 365, 346, 469, + 470, 291, 468, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 384, 0, 0, 0, 0, 0, + 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, + 0, 0, 398, 0, 197, 0, 442, 237, 347, 344, + 476, 265, 256, 252, 236, 292, 354, 396, 462, 390, + 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 298, 234, 300, 196, 381, 453, 269, 0, 0, + 0, 0, 188, 189, 190, 1311, 1314, 0, 0, 0, + 0, 1310, 1313, 0, 0, 225, 1309, 232, 322, 331, + 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, + 0, 0, 0, 248, 296, 255, 247, 473, 0, 0, + 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, + 0, 370, 240, 0, 0, 0, 0, 509, 0, 0, + 0, 0, 0, 0, 0, 336, 0, 305, 192, 212, + 0, 0, 380, 423, 429, 0, 0, 0, 238, 0, + 427, 394, 492, 220, 267, 420, 400, 425, 407, 270, + 0, 0, 426, 342, 478, 414, 489, 510, 511, 246, + 374, 500, 466, 506, 524, 213, 243, 388, 459, 495, + 449, 366, 474, 475, 304, 448, 277, 195, 340, 516, + 211, 435, 229, 218, 480, 498, 272, 418, 203, 461, + 487, 226, 439, 0, 0, 526, 205, 485, 458, 362, + 301, 302, 204, 0, 419, 251, 275, 241, 383, 482, + 483, 239, 527, 215, 505, 207, 0, 504, 376, 477, + 486, 363, 352, 206, 484, 361, 351, 307, 326, 327, + 263, 286, 412, 345, 413, 287, 372, 371, 373, 198, + 496, 0, 199, 0, 454, 497, 528, 221, 222, 224, + 0, 262, 266, 274, 276, 282, 283, 290, 338, 387, + 411, 409, 415, 0, 472, 490, 501, 508, 514, 515, + 517, 518, 519, 520, 521, 523, 522, 375, 289, 450, + 306, 343, 0, 0, 393, 428, 227, 494, 451, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, + 539, 540, 541, 542, 543, 544, 545, 546, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 547, 353, + 441, 491, 308, 320, 323, 313, 332, 0, 333, 309, + 310, 315, 317, 318, 319, 324, 325, 329, 335, 235, + 201, 359, 367, 471, 0, 191, 208, 339, 0, 416, + 271, 525, 503, 499, 0, 210, 0, 245, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, + 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, + 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, + 357, 358, 377, 378, 379, 382, 385, 386, 389, 391, + 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, + 422, 430, 431, 432, 433, 434, 437, 438, 443, 444, + 445, 446, 447, 455, 456, 460, 479, 481, 493, 507, + 512, 436, 281, 488, 513, 0, 348, 0, 0, 350, + 264, 284, 295, 0, 502, 457, 214, 424, 273, 202, + 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, + 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, + 364, 249, 401, 0, 0, 346, 469, 470, 291, 365, + 0, 0, 0, 78, 468, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 384, 0, 0, 0, + 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, + 337, 250, 0, 0, 398, 0, 197, 0, 442, 237, + 347, 344, 476, 265, 256, 252, 236, 292, 354, 396, + 462, 390, 0, 341, 0, 0, 452, 369, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 298, 234, 300, 196, 381, 453, 269, + 0, 87, 0, 1349, 188, 189, 190, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, + 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, + 0, 0, 0, 0, 0, 248, 296, 255, 247, 473, + 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 279, 0, 370, 240, 0, 0, 0, 0, 509, + 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, + 192, 212, 0, 0, 380, 423, 429, 0, 0, 0, + 238, 0, 427, 394, 492, 220, 267, 420, 400, 425, + 407, 270, 0, 0, 426, 342, 478, 414, 489, 510, + 511, 246, 374, 500, 466, 506, 524, 213, 243, 388, + 459, 495, 449, 366, 474, 475, 304, 448, 277, 195, + 340, 516, 211, 435, 229, 218, 480, 498, 272, 418, + 203, 461, 487, 226, 439, 0, 0, 526, 205, 485, + 458, 362, 301, 302, 204, 0, 419, 251, 275, 241, + 383, 482, 483, 239, 527, 215, 505, 207, 0, 504, + 376, 477, 486, 363, 352, 206, 484, 361, 351, 307, + 326, 327, 263, 286, 412, 345, 413, 287, 372, 371, + 373, 198, 496, 0, 199, 0, 454, 497, 528, 221, + 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, + 338, 387, 411, 409, 415, 0, 472, 490, 501, 508, + 514, 515, 517, 518, 519, 520, 521, 523, 522, 375, + 289, 450, 306, 343, 0, 0, 393, 428, 227, 494, + 451, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 529, 530, 531, 532, 533, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 547, 353, 441, 491, 308, 320, 323, 313, 332, 0, + 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, + 335, 235, 201, 359, 367, 471, 0, 191, 208, 339, + 86, 416, 271, 525, 503, 499, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, @@ -4147,24 +3734,24 @@ var yyAct = [...]int{ 355, 356, 357, 358, 377, 378, 379, 382, 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, 437, 438, - 443, 444, 445, 446, 447, 455, 456, 460, 478, 480, - 492, 506, 511, 436, 281, 487, 512, 0, 348, 0, - 0, 350, 264, 284, 295, 0, 501, 457, 214, 424, + 443, 444, 445, 446, 447, 455, 456, 460, 479, 481, + 493, 507, 512, 436, 281, 488, 513, 0, 348, 0, + 0, 350, 264, 284, 295, 0, 502, 457, 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, 0, 0, 0, 0, 0, 0, - 0, 0, 253, 1390, 0, 0, 0, 337, 250, 0, - 0, 398, 0, 197, 0, 442, 237, 347, 344, 475, + 0, 0, 253, 0, 0, 0, 0, 337, 250, 0, + 0, 398, 0, 197, 0, 442, 237, 347, 344, 476, 265, 256, 252, 236, 292, 354, 396, 462, 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 298, 234, 300, 196, 381, 453, 269, 0, 0, 0, - 0, 188, 189, 190, 0, 1389, 0, 0, 0, 0, + 298, 234, 300, 196, 381, 453, 269, 0, 87, 0, + 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, - 0, 0, 248, 296, 255, 247, 472, 0, 0, 0, + 0, 0, 248, 296, 255, 247, 473, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4175,59 +3762,59 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, - 370, 240, 0, 0, 0, 0, 508, 0, 0, 0, + 370, 240, 0, 0, 0, 0, 509, 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, 380, 423, 429, 0, 0, 0, 238, 0, 427, - 394, 491, 220, 267, 420, 400, 425, 407, 270, 0, - 0, 426, 342, 477, 414, 488, 509, 510, 246, 374, - 499, 466, 505, 523, 213, 243, 388, 459, 494, 449, - 366, 473, 474, 304, 448, 277, 195, 340, 515, 211, - 435, 229, 218, 479, 497, 272, 418, 203, 461, 486, - 226, 439, 0, 0, 525, 205, 484, 458, 362, 301, - 302, 204, 0, 419, 251, 275, 241, 383, 481, 482, - 239, 526, 215, 504, 207, 0, 503, 376, 476, 485, - 363, 352, 206, 483, 361, 351, 307, 326, 327, 263, - 286, 412, 345, 413, 287, 372, 371, 373, 198, 495, - 0, 199, 0, 454, 496, 527, 221, 222, 224, 0, + 394, 492, 220, 267, 420, 400, 425, 407, 270, 0, + 0, 426, 342, 478, 414, 489, 510, 511, 246, 374, + 500, 466, 506, 524, 213, 243, 388, 459, 495, 449, + 366, 474, 475, 304, 448, 277, 195, 340, 516, 211, + 435, 229, 218, 480, 498, 272, 418, 203, 461, 487, + 226, 439, 0, 0, 526, 205, 485, 458, 362, 301, + 302, 204, 0, 419, 251, 275, 241, 383, 482, 483, + 239, 527, 215, 505, 207, 0, 504, 376, 477, 486, + 363, 352, 206, 484, 361, 351, 307, 326, 327, 263, + 286, 412, 345, 413, 287, 372, 371, 373, 198, 496, + 0, 199, 0, 454, 497, 528, 221, 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, 338, 387, 411, - 409, 415, 0, 471, 489, 500, 507, 513, 514, 516, - 517, 518, 519, 520, 522, 521, 375, 289, 450, 306, - 343, 0, 0, 393, 428, 227, 493, 451, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 528, - 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, - 539, 540, 541, 542, 543, 544, 545, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 546, 353, 441, - 490, 308, 320, 323, 313, 332, 0, 333, 309, 310, + 409, 415, 0, 472, 490, 501, 508, 514, 515, 517, + 518, 519, 520, 521, 523, 522, 375, 289, 450, 306, + 343, 0, 0, 393, 428, 227, 494, 451, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 545, 546, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 547, 353, 441, + 491, 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, 335, 235, 201, - 359, 367, 0, 191, 208, 339, 0, 416, 271, 524, - 502, 498, 0, 210, 0, 245, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, - 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, - 288, 293, 294, 297, 303, 349, 355, 356, 357, 358, - 377, 378, 379, 382, 385, 386, 389, 391, 392, 395, - 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, - 431, 432, 433, 434, 437, 438, 443, 444, 445, 446, - 447, 455, 456, 460, 478, 480, 492, 506, 511, 436, - 281, 487, 512, 0, 348, 0, 0, 350, 264, 284, - 295, 0, 501, 457, 214, 424, 273, 202, 233, 217, - 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, - 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, - 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, - 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, - 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, - 0, 442, 237, 347, 344, 475, 265, 256, 252, 236, - 292, 354, 396, 462, 390, 0, 341, 0, 0, 452, - 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, - 381, 453, 269, 0, 0, 0, 0, 188, 189, 190, + 359, 367, 471, 0, 191, 208, 339, 0, 416, 271, + 525, 503, 499, 0, 210, 0, 245, 0, 0, 0, + 0, 0, 0, 1864, 0, 0, 1863, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, + 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, + 285, 288, 293, 294, 297, 303, 349, 355, 356, 357, + 358, 377, 378, 379, 382, 385, 386, 389, 391, 392, + 395, 399, 403, 404, 405, 406, 408, 410, 417, 422, + 430, 431, 432, 433, 434, 437, 438, 443, 444, 445, + 446, 447, 455, 456, 460, 479, 481, 493, 507, 512, + 436, 281, 488, 513, 0, 348, 0, 0, 350, 264, + 284, 295, 0, 502, 457, 214, 424, 273, 202, 233, + 217, 242, 257, 260, 299, 360, 368, 397, 402, 278, + 254, 231, 421, 228, 440, 463, 464, 465, 467, 364, + 249, 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, - 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, - 255, 247, 472, 0, 0, 0, 0, 0, 0, 0, - 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, + 384, 0, 0, 0, 1815, 0, 0, 0, 0, 253, + 0, 0, 0, 0, 337, 250, 0, 0, 398, 0, + 197, 0, 442, 237, 347, 344, 476, 265, 256, 252, + 236, 292, 354, 396, 462, 390, 0, 341, 0, 0, + 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, + 196, 381, 453, 269, 0, 0, 0, 0, 188, 189, + 190, 0, 1550, 0, 0, 0, 0, 0, 0, 0, + 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, + 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, + 296, 255, 247, 473, 0, 0, 0, 0, 0, 0, + 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4235,93 +3822,154 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 279, 0, 370, 240, 0, 0, - 0, 0, 508, 0, 0, 0, 3002, 0, 0, 0, - 336, 0, 305, 192, 212, 0, 0, 380, 423, 429, - 0, 0, 0, 238, 0, 427, 394, 491, 220, 267, - 420, 400, 425, 407, 270, 0, 0, 426, 342, 477, - 414, 488, 509, 510, 246, 374, 499, 466, 505, 523, - 213, 243, 388, 459, 494, 449, 366, 473, 474, 304, - 448, 277, 195, 340, 515, 211, 435, 229, 218, 479, - 497, 272, 418, 203, 461, 486, 226, 439, 0, 0, - 525, 205, 484, 458, 362, 301, 302, 204, 0, 419, - 251, 275, 241, 383, 481, 482, 239, 526, 215, 504, - 207, 0, 503, 376, 476, 485, 363, 352, 206, 483, - 361, 351, 307, 326, 327, 263, 286, 412, 345, 413, - 287, 372, 371, 373, 198, 495, 0, 199, 0, 454, - 496, 527, 221, 222, 224, 0, 262, 266, 274, 276, - 282, 283, 290, 338, 387, 411, 409, 415, 0, 471, - 489, 500, 507, 513, 514, 516, 517, 518, 519, 520, - 522, 521, 375, 289, 450, 306, 343, 0, 0, 393, - 428, 227, 493, 451, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 528, 529, 530, 531, 532, + 0, 0, 0, 0, 0, 279, 0, 370, 240, 0, + 0, 0, 0, 509, 0, 0, 0, 0, 0, 0, + 0, 336, 0, 305, 192, 212, 0, 0, 380, 423, + 429, 0, 0, 0, 238, 0, 427, 394, 492, 220, + 267, 420, 400, 425, 407, 270, 0, 1813, 426, 342, + 478, 414, 489, 510, 511, 246, 374, 500, 466, 506, + 524, 213, 243, 388, 459, 495, 449, 366, 474, 475, + 304, 448, 277, 195, 340, 516, 211, 435, 229, 218, + 480, 498, 272, 418, 203, 461, 487, 226, 439, 0, + 0, 526, 205, 485, 458, 362, 301, 302, 204, 0, + 419, 251, 275, 241, 383, 482, 483, 239, 527, 215, + 505, 207, 0, 504, 376, 477, 486, 363, 352, 206, + 484, 361, 351, 307, 326, 327, 263, 286, 412, 345, + 413, 287, 372, 371, 373, 198, 496, 0, 199, 0, + 454, 497, 528, 221, 222, 224, 0, 262, 266, 274, + 276, 282, 283, 290, 338, 387, 411, 409, 415, 0, + 472, 490, 501, 508, 514, 515, 517, 518, 519, 520, + 521, 523, 522, 375, 289, 450, 306, 343, 0, 0, + 393, 428, 227, 494, 451, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, - 543, 544, 545, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 546, 353, 441, 490, 308, 320, 323, - 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, - 324, 325, 329, 335, 235, 201, 359, 367, 0, 191, - 208, 339, 0, 416, 271, 524, 502, 498, 0, 210, - 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, + 543, 544, 545, 546, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 547, 353, 441, 491, 308, 320, + 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, + 319, 324, 325, 329, 335, 235, 201, 359, 367, 471, + 0, 191, 208, 339, 0, 416, 271, 525, 503, 499, + 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, - 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, - 303, 349, 355, 356, 357, 358, 377, 378, 379, 382, - 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, - 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, - 437, 438, 443, 444, 445, 446, 447, 455, 456, 460, - 478, 480, 492, 506, 511, 436, 281, 487, 512, 0, - 348, 0, 0, 350, 264, 284, 295, 0, 501, 457, - 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, - 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, - 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, - 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 384, 0, 0, 0, 0, - 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, - 250, 0, 0, 398, 0, 197, 0, 442, 237, 347, - 344, 475, 265, 256, 252, 236, 292, 354, 396, 462, - 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, + 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, + 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, + 294, 297, 303, 349, 355, 356, 357, 358, 377, 378, + 379, 382, 385, 386, 389, 391, 392, 395, 399, 403, + 404, 405, 406, 408, 410, 417, 422, 430, 431, 432, + 433, 434, 437, 438, 443, 444, 445, 446, 447, 455, + 456, 460, 479, 481, 493, 507, 512, 436, 281, 488, + 513, 0, 348, 0, 0, 350, 264, 284, 295, 0, + 502, 457, 214, 424, 273, 202, 233, 217, 242, 257, + 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, + 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, + 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 384, 0, 0, + 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, + 0, 337, 250, 0, 0, 398, 0, 197, 0, 442, + 237, 347, 344, 476, 265, 256, 252, 236, 292, 354, + 396, 462, 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 298, 234, 300, 196, 381, 453, 269, 0, - 0, 0, 0, 188, 189, 190, 0, 1547, 0, 0, - 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, - 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, - 0, 0, 0, 0, 248, 296, 255, 247, 472, 0, - 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, + 0, 0, 0, 0, 298, 234, 300, 196, 381, 453, + 269, 0, 0, 0, 0, 188, 189, 190, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, + 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, + 334, 0, 0, 0, 0, 0, 248, 296, 255, 247, + 473, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, + 0, 0, 975, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 279, 0, 370, 240, 0, 0, 0, 0, + 509, 0, 0, 0, 0, 0, 0, 0, 336, 981, + 305, 192, 212, 979, 0, 380, 423, 429, 0, 0, + 0, 238, 0, 427, 394, 492, 220, 267, 420, 400, + 425, 407, 270, 0, 0, 426, 342, 478, 414, 489, + 510, 511, 246, 374, 500, 466, 506, 524, 213, 243, + 388, 459, 495, 449, 366, 474, 475, 304, 448, 277, + 195, 340, 516, 211, 435, 229, 218, 480, 498, 272, + 418, 203, 461, 487, 226, 439, 0, 0, 526, 205, + 485, 458, 362, 301, 302, 204, 0, 419, 251, 275, + 241, 383, 482, 483, 239, 527, 215, 505, 207, 0, + 504, 376, 477, 486, 363, 352, 206, 484, 361, 351, + 307, 326, 327, 263, 286, 412, 345, 413, 287, 372, + 371, 373, 198, 496, 0, 199, 0, 454, 497, 528, + 221, 222, 224, 0, 262, 266, 274, 276, 282, 283, + 290, 338, 387, 411, 409, 415, 0, 472, 490, 501, + 508, 514, 515, 517, 518, 519, 520, 521, 523, 522, + 375, 289, 450, 306, 343, 0, 0, 393, 428, 227, + 494, 451, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 529, 530, 531, 532, 533, 534, 535, + 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, + 546, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 547, 353, 441, 491, 308, 320, 323, 313, 332, + 0, 333, 309, 310, 315, 317, 318, 319, 324, 325, + 329, 335, 235, 201, 359, 367, 471, 0, 191, 208, + 339, 0, 416, 271, 525, 503, 499, 0, 210, 0, + 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 279, 0, 370, 240, 0, 0, 0, 0, 508, 0, - 0, 0, 0, 0, 0, 0, 336, 0, 305, 192, - 212, 0, 0, 380, 423, 429, 0, 0, 0, 238, - 0, 427, 394, 491, 220, 267, 420, 400, 425, 407, - 270, 0, 0, 426, 342, 477, 414, 488, 509, 510, - 246, 374, 499, 466, 505, 523, 213, 243, 388, 459, - 494, 449, 366, 473, 474, 304, 448, 277, 195, 340, - 515, 211, 435, 229, 218, 479, 497, 272, 418, 203, - 461, 486, 226, 439, 0, 0, 525, 205, 484, 458, - 362, 301, 302, 204, 0, 419, 251, 275, 241, 383, - 481, 482, 239, 526, 215, 504, 207, 0, 503, 376, - 476, 485, 363, 352, 206, 483, 361, 351, 307, 326, - 327, 263, 286, 412, 345, 413, 287, 372, 371, 373, - 198, 495, 0, 199, 0, 454, 496, 527, 221, 222, - 224, 0, 262, 266, 274, 276, 282, 283, 290, 338, - 387, 411, 409, 415, 0, 471, 489, 500, 507, 513, - 514, 516, 517, 518, 519, 520, 522, 521, 375, 289, - 450, 306, 343, 0, 0, 393, 428, 227, 493, 451, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 528, 529, 530, 531, 532, 533, 534, 535, 536, - 537, 538, 539, 540, 541, 542, 543, 544, 545, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 546, - 353, 441, 490, 308, 320, 323, 313, 332, 0, 333, - 309, 310, 315, 317, 318, 319, 324, 325, 329, 335, - 235, 201, 359, 367, 0, 191, 208, 339, 0, 416, - 271, 524, 502, 498, 0, 210, 0, 245, 0, 0, + 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, + 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, + 349, 355, 356, 357, 358, 377, 378, 379, 382, 385, + 386, 389, 391, 392, 395, 399, 403, 404, 405, 406, + 408, 410, 417, 422, 430, 431, 432, 433, 434, 437, + 438, 443, 444, 445, 446, 447, 455, 456, 460, 479, + 481, 493, 507, 512, 436, 281, 488, 513, 0, 348, + 0, 0, 350, 264, 284, 295, 0, 502, 457, 214, + 424, 273, 202, 233, 217, 242, 257, 260, 299, 360, + 368, 397, 402, 278, 254, 231, 421, 228, 440, 463, + 464, 465, 467, 364, 249, 401, 0, 365, 346, 469, + 470, 291, 468, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 384, 0, 0, 0, 1815, 0, + 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, + 0, 0, 398, 0, 197, 0, 442, 237, 347, 344, + 476, 265, 256, 252, 236, 292, 354, 396, 462, 390, + 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 298, 234, 300, 196, 381, 453, 269, 0, 0, + 0, 0, 188, 189, 190, 0, 1550, 0, 0, 0, + 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, + 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, + 0, 0, 0, 248, 296, 255, 247, 473, 0, 0, + 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, + 0, 370, 240, 0, 0, 0, 0, 509, 0, 0, + 0, 0, 0, 0, 0, 336, 0, 305, 192, 212, + 0, 0, 380, 423, 429, 0, 0, 0, 238, 0, + 427, 394, 492, 220, 267, 420, 400, 425, 407, 270, + 0, 0, 426, 342, 478, 414, 489, 510, 511, 246, + 374, 500, 466, 506, 524, 213, 243, 388, 459, 495, + 449, 366, 474, 475, 304, 448, 277, 195, 340, 516, + 211, 435, 229, 218, 480, 498, 272, 418, 203, 461, + 487, 226, 439, 0, 0, 526, 205, 485, 458, 362, + 301, 302, 204, 0, 419, 251, 275, 241, 383, 482, + 483, 239, 527, 215, 505, 207, 0, 504, 376, 477, + 486, 363, 352, 206, 484, 361, 351, 307, 326, 327, + 263, 286, 412, 345, 413, 287, 372, 371, 373, 198, + 496, 0, 199, 0, 454, 497, 528, 221, 222, 224, + 0, 262, 266, 274, 276, 282, 283, 290, 338, 387, + 411, 409, 415, 0, 472, 490, 501, 508, 514, 515, + 517, 518, 519, 520, 521, 523, 522, 375, 289, 450, + 306, 343, 0, 0, 393, 428, 227, 494, 451, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, + 539, 540, 541, 542, 543, 544, 545, 546, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 547, 353, + 441, 491, 308, 320, 323, 313, 332, 0, 333, 309, + 310, 315, 317, 318, 319, 324, 325, 329, 335, 235, + 201, 359, 367, 471, 0, 191, 208, 339, 0, 416, + 271, 525, 503, 499, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, @@ -4329,24 +3977,24 @@ var yyAct = [...]int{ 357, 358, 377, 378, 379, 382, 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, 437, 438, 443, 444, - 445, 446, 447, 455, 456, 460, 478, 480, 492, 506, - 511, 436, 281, 487, 512, 0, 348, 0, 0, 350, - 264, 284, 295, 0, 501, 457, 214, 424, 273, 202, + 445, 446, 447, 455, 456, 460, 479, 481, 493, 507, + 512, 436, 281, 488, 513, 0, 348, 0, 0, 350, + 264, 284, 295, 0, 502, 457, 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, 398, - 0, 197, 0, 442, 237, 347, 344, 475, 265, 256, + 0, 197, 0, 442, 237, 347, 344, 476, 265, 256, 252, 236, 292, 354, 396, 462, 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, - 300, 196, 381, 453, 269, 0, 0, 0, 0, 188, + 300, 196, 381, 453, 269, 0, 0, 0, 1349, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, - 248, 296, 255, 247, 472, 0, 0, 0, 0, 0, + 248, 296, 255, 247, 473, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4357,119 +4005,180 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, 370, 240, - 0, 0, 0, 0, 508, 0, 0, 0, 2909, 0, + 0, 0, 0, 0, 509, 0, 0, 0, 2916, 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, 380, - 423, 429, 0, 0, 0, 238, 0, 427, 394, 491, + 423, 429, 0, 0, 0, 238, 0, 427, 394, 492, 220, 267, 420, 400, 425, 407, 270, 0, 0, 426, - 342, 477, 414, 488, 509, 510, 246, 374, 499, 466, - 505, 523, 213, 243, 388, 459, 494, 449, 366, 473, - 474, 304, 448, 277, 195, 340, 515, 211, 435, 229, - 218, 479, 497, 272, 418, 203, 461, 486, 226, 439, - 0, 0, 525, 205, 484, 458, 362, 301, 302, 204, - 0, 419, 251, 275, 241, 383, 481, 482, 239, 526, - 215, 504, 207, 0, 503, 376, 476, 485, 363, 352, - 206, 483, 361, 351, 307, 326, 327, 263, 286, 412, - 345, 413, 287, 372, 371, 373, 198, 495, 0, 199, - 0, 454, 496, 527, 221, 222, 224, 0, 262, 266, + 342, 478, 414, 489, 510, 511, 246, 374, 500, 466, + 506, 524, 213, 243, 388, 459, 495, 449, 366, 474, + 475, 304, 448, 277, 195, 340, 516, 211, 435, 229, + 218, 480, 498, 272, 418, 203, 461, 487, 226, 439, + 0, 0, 526, 205, 485, 458, 362, 301, 302, 204, + 0, 419, 251, 275, 241, 383, 482, 483, 239, 527, + 215, 505, 207, 0, 504, 376, 477, 486, 363, 352, + 206, 484, 361, 351, 307, 326, 327, 263, 286, 412, + 345, 413, 287, 372, 371, 373, 198, 496, 0, 199, + 0, 454, 497, 528, 221, 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, 338, 387, 411, 409, 415, - 0, 471, 489, 500, 507, 513, 514, 516, 517, 518, - 519, 520, 522, 521, 375, 289, 450, 306, 343, 0, - 0, 393, 428, 227, 493, 451, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 528, 529, 530, - 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, - 541, 542, 543, 544, 545, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 546, 353, 441, 490, 308, + 0, 472, 490, 501, 508, 514, 515, 517, 518, 519, + 520, 521, 523, 522, 375, 289, 450, 306, 343, 0, + 0, 393, 428, 227, 494, 451, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 529, 530, 531, + 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, + 542, 543, 544, 545, 546, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 547, 353, 441, 491, 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, 335, 235, 201, 359, 367, - 0, 191, 208, 339, 0, 416, 271, 524, 502, 498, - 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, - 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, - 294, 297, 303, 349, 355, 356, 357, 358, 377, 378, - 379, 382, 385, 386, 389, 391, 392, 395, 399, 403, - 404, 405, 406, 408, 410, 417, 422, 430, 431, 432, - 433, 434, 437, 438, 443, 444, 445, 446, 447, 455, - 456, 460, 478, 480, 492, 506, 511, 436, 281, 487, - 512, 0, 348, 0, 0, 350, 264, 284, 295, 0, - 501, 457, 214, 424, 273, 202, 233, 217, 242, 257, - 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, - 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, - 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 384, 0, 0, - 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, - 0, 337, 250, 0, 0, 398, 0, 197, 0, 442, - 237, 347, 344, 475, 265, 256, 252, 236, 292, 354, - 396, 462, 390, 0, 341, 0, 0, 452, 369, 0, + 471, 0, 191, 208, 339, 0, 416, 271, 525, 503, + 499, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 298, 234, 300, 196, 381, 453, - 269, 0, 87, 0, 0, 188, 189, 190, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, - 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, - 334, 0, 0, 0, 0, 0, 248, 296, 255, 247, - 472, 0, 0, 0, 0, 0, 0, 0, 216, 0, + 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, + 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, + 293, 294, 297, 303, 349, 355, 356, 357, 358, 377, + 378, 379, 382, 385, 386, 389, 391, 392, 395, 399, + 403, 404, 405, 406, 408, 410, 417, 422, 430, 431, + 432, 433, 434, 437, 438, 443, 444, 445, 446, 447, + 455, 456, 460, 479, 481, 493, 507, 512, 436, 281, + 488, 513, 0, 348, 0, 0, 350, 264, 284, 295, + 0, 502, 457, 214, 424, 273, 202, 233, 217, 242, + 257, 260, 299, 360, 368, 397, 402, 278, 254, 231, + 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, + 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 384, 0, + 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, + 0, 0, 337, 250, 0, 0, 398, 0, 197, 0, + 442, 237, 347, 344, 476, 265, 256, 252, 236, 292, + 354, 396, 462, 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 298, 234, 300, 196, 381, + 453, 269, 0, 0, 0, 0, 188, 189, 190, 0, + 1693, 0, 0, 0, 0, 0, 0, 0, 0, 225, + 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, + 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, + 247, 473, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1694, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 279, 0, 370, 240, 0, 0, 0, 0, - 508, 0, 0, 0, 0, 0, 0, 0, 336, 0, - 305, 192, 212, 0, 0, 380, 423, 429, 0, 0, - 0, 238, 0, 427, 394, 491, 220, 267, 420, 400, - 425, 407, 270, 0, 0, 426, 342, 477, 414, 488, - 509, 510, 246, 374, 499, 466, 505, 523, 213, 243, - 388, 459, 494, 449, 366, 473, 474, 304, 448, 277, - 195, 340, 515, 211, 435, 229, 218, 479, 497, 272, - 418, 203, 461, 486, 226, 439, 0, 0, 525, 205, - 484, 458, 362, 301, 302, 204, 0, 419, 251, 275, - 241, 383, 481, 482, 239, 526, 215, 504, 207, 0, - 503, 376, 476, 485, 363, 352, 206, 483, 361, 351, - 307, 326, 327, 263, 286, 412, 345, 413, 287, 372, - 371, 373, 198, 495, 0, 199, 0, 454, 496, 527, - 221, 222, 224, 0, 262, 266, 274, 276, 282, 283, - 290, 338, 387, 411, 409, 415, 0, 471, 489, 500, - 507, 513, 514, 516, 517, 518, 519, 520, 522, 521, - 375, 289, 450, 306, 343, 0, 0, 393, 428, 227, - 493, 451, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 528, 529, 530, 531, 532, 533, 534, + 0, 0, 0, 279, 0, 370, 240, 0, 0, 0, + 0, 509, 0, 0, 0, 0, 0, 0, 0, 336, + 0, 305, 192, 212, 0, 0, 380, 423, 429, 0, + 0, 0, 238, 0, 427, 394, 492, 220, 267, 420, + 400, 425, 407, 270, 0, 0, 426, 342, 478, 414, + 489, 510, 511, 246, 374, 500, 466, 506, 524, 213, + 243, 388, 459, 495, 449, 366, 474, 475, 304, 448, + 277, 195, 340, 516, 211, 435, 229, 218, 480, 498, + 272, 418, 203, 461, 487, 226, 439, 0, 0, 526, + 205, 485, 458, 362, 301, 302, 204, 0, 419, 251, + 275, 241, 383, 482, 483, 239, 527, 215, 505, 207, + 0, 504, 376, 477, 486, 363, 352, 206, 484, 361, + 351, 307, 326, 327, 263, 286, 412, 345, 413, 287, + 372, 371, 373, 198, 496, 0, 199, 0, 454, 497, + 528, 221, 222, 224, 0, 262, 266, 274, 276, 282, + 283, 290, 338, 387, 411, 409, 415, 0, 472, 490, + 501, 508, 514, 515, 517, 518, 519, 520, 521, 523, + 522, 375, 289, 450, 306, 343, 0, 0, 393, 428, + 227, 494, 451, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 546, 353, 441, 490, 308, 320, 323, 313, 332, - 0, 333, 309, 310, 315, 317, 318, 319, 324, 325, - 329, 335, 235, 201, 359, 367, 0, 191, 208, 339, - 0, 416, 271, 524, 502, 498, 0, 210, 0, 245, + 545, 546, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 547, 353, 441, 491, 308, 320, 323, 313, + 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, + 325, 329, 335, 235, 201, 359, 367, 471, 0, 191, + 208, 339, 0, 416, 271, 525, 503, 499, 0, 210, + 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, + 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, + 303, 349, 355, 356, 357, 358, 377, 378, 379, 382, + 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, + 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, + 437, 438, 443, 444, 445, 446, 447, 455, 456, 460, + 479, 481, 493, 507, 512, 436, 281, 488, 513, 0, + 348, 0, 0, 350, 264, 284, 295, 0, 502, 457, + 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, + 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, + 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, + 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 384, 0, 0, 0, 0, + 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, + 250, 0, 0, 398, 0, 197, 0, 442, 237, 347, + 344, 476, 265, 256, 252, 236, 292, 354, 396, 462, + 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 298, 234, 300, 196, 381, 453, 269, 0, + 0, 0, 0, 188, 189, 190, 0, 2163, 0, 0, + 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, + 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, + 0, 0, 0, 0, 248, 296, 255, 247, 473, 0, + 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2164, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, - 261, 268, 280, 285, 288, 293, 294, 297, 303, 349, - 355, 356, 357, 358, 377, 378, 379, 382, 385, 386, - 389, 391, 392, 395, 399, 403, 404, 405, 406, 408, - 410, 417, 422, 430, 431, 432, 433, 434, 437, 438, - 443, 444, 445, 446, 447, 455, 456, 460, 478, 480, - 492, 506, 511, 436, 281, 487, 512, 0, 348, 0, - 0, 350, 264, 284, 295, 0, 501, 457, 214, 424, - 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, - 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, - 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, - 291, 468, 0, 0, 0, 0, 1861, 0, 0, 0, - 0, 0, 0, 384, 0, 0, 0, 0, 0, 0, - 0, 0, 253, 0, 0, 0, 0, 337, 250, 0, - 0, 398, 0, 197, 0, 442, 237, 347, 344, 475, - 265, 256, 252, 236, 292, 354, 396, 462, 390, 0, - 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, + 279, 0, 370, 240, 0, 0, 0, 0, 509, 0, + 0, 0, 0, 0, 0, 0, 336, 0, 305, 192, + 212, 0, 0, 380, 423, 429, 0, 0, 0, 238, + 0, 427, 394, 492, 220, 267, 420, 400, 425, 407, + 270, 0, 0, 426, 342, 478, 414, 489, 510, 511, + 246, 374, 500, 466, 506, 524, 213, 243, 388, 459, + 495, 449, 366, 474, 475, 304, 448, 277, 195, 340, + 516, 211, 435, 229, 218, 480, 498, 272, 418, 203, + 461, 487, 226, 439, 0, 0, 526, 205, 485, 458, + 362, 301, 302, 204, 0, 419, 251, 275, 241, 383, + 482, 483, 239, 527, 215, 505, 207, 0, 504, 376, + 477, 486, 363, 352, 206, 484, 361, 351, 307, 326, + 327, 263, 286, 412, 345, 413, 287, 372, 371, 373, + 198, 496, 0, 199, 0, 454, 497, 528, 221, 222, + 224, 0, 262, 266, 274, 276, 282, 283, 290, 338, + 387, 411, 409, 415, 0, 472, 490, 501, 508, 514, + 515, 517, 518, 519, 520, 521, 523, 522, 375, 289, + 450, 306, 343, 0, 0, 393, 428, 227, 494, 451, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 546, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 547, + 353, 441, 491, 308, 320, 323, 313, 332, 0, 333, + 309, 310, 315, 317, 318, 319, 324, 325, 329, 335, + 235, 201, 359, 367, 471, 0, 191, 208, 339, 0, + 416, 271, 525, 503, 499, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 298, 234, 300, 196, 381, 453, 269, 0, 0, 0, - 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, - 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, - 0, 0, 248, 296, 255, 247, 472, 0, 0, 0, - 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, + 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, + 356, 357, 358, 377, 378, 379, 382, 385, 386, 389, + 391, 392, 395, 399, 403, 404, 405, 406, 408, 410, + 417, 422, 430, 431, 432, 433, 434, 437, 438, 443, + 444, 445, 446, 447, 455, 456, 460, 479, 481, 493, + 507, 512, 436, 281, 488, 513, 0, 348, 0, 0, + 350, 264, 284, 295, 0, 502, 457, 214, 424, 273, + 202, 233, 217, 242, 257, 260, 299, 360, 368, 397, + 402, 278, 254, 231, 421, 228, 440, 463, 464, 465, + 467, 364, 249, 401, 0, 365, 346, 469, 470, 291, + 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 384, 0, 0, 0, 0, 0, 0, 0, + 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, + 398, 0, 197, 0, 442, 237, 347, 344, 476, 265, + 256, 252, 236, 292, 354, 396, 462, 390, 0, 341, + 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, + 234, 300, 196, 381, 453, 269, 0, 0, 0, 0, + 188, 189, 190, 0, 0, 0, 2148, 0, 0, 0, + 2149, 0, 0, 225, 0, 232, 322, 331, 330, 311, + 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, + 0, 248, 296, 255, 247, 473, 0, 0, 0, 0, + 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4477,33 +4186,33 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, - 370, 240, 0, 0, 0, 0, 508, 0, 0, 0, - 0, 0, 0, 0, 336, 0, 305, 192, 212, 0, - 0, 380, 423, 429, 0, 0, 0, 238, 0, 427, - 394, 491, 220, 267, 420, 400, 425, 407, 270, 0, - 0, 426, 342, 477, 414, 488, 509, 510, 246, 374, - 499, 466, 505, 523, 213, 243, 388, 459, 494, 449, - 366, 473, 474, 304, 448, 277, 195, 340, 515, 211, - 435, 229, 218, 479, 497, 272, 418, 203, 461, 486, - 226, 439, 0, 0, 525, 205, 484, 458, 362, 301, - 302, 204, 0, 419, 251, 275, 241, 383, 481, 482, - 239, 526, 215, 504, 207, 0, 503, 376, 476, 485, - 363, 352, 206, 483, 361, 351, 307, 326, 327, 263, - 286, 412, 345, 413, 287, 372, 371, 373, 198, 495, - 0, 199, 0, 454, 496, 527, 221, 222, 224, 0, - 262, 266, 274, 276, 282, 283, 290, 338, 387, 411, - 409, 415, 0, 471, 489, 500, 507, 513, 514, 516, - 517, 518, 519, 520, 522, 521, 375, 289, 450, 306, - 343, 0, 0, 393, 428, 227, 493, 451, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 528, - 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, - 539, 540, 541, 542, 543, 544, 545, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 546, 353, 441, - 490, 308, 320, 323, 313, 332, 0, 333, 309, 310, - 315, 317, 318, 319, 324, 325, 329, 335, 235, 201, - 359, 367, 0, 191, 208, 339, 0, 416, 271, 524, - 502, 498, 0, 210, 0, 245, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 279, 0, 370, + 240, 0, 0, 0, 0, 509, 0, 0, 0, 0, + 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, + 380, 423, 429, 0, 0, 0, 238, 0, 427, 394, + 492, 220, 267, 420, 400, 425, 407, 270, 0, 0, + 426, 342, 478, 414, 489, 510, 511, 246, 374, 500, + 466, 506, 524, 213, 243, 388, 459, 495, 449, 366, + 474, 475, 304, 448, 277, 195, 340, 516, 211, 435, + 229, 218, 480, 498, 272, 418, 203, 461, 487, 226, + 439, 0, 0, 526, 205, 485, 458, 362, 301, 302, + 204, 0, 419, 251, 275, 241, 383, 482, 483, 239, + 527, 215, 505, 207, 0, 504, 376, 477, 486, 363, + 352, 206, 484, 361, 351, 307, 326, 327, 263, 286, + 412, 345, 413, 287, 372, 371, 373, 198, 496, 0, + 199, 0, 454, 497, 528, 221, 222, 224, 0, 262, + 266, 274, 276, 282, 283, 290, 338, 387, 411, 409, + 415, 0, 472, 490, 501, 508, 514, 515, 517, 518, + 519, 520, 521, 523, 522, 375, 289, 450, 306, 343, + 0, 0, 393, 428, 227, 494, 451, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 529, 530, + 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, + 541, 542, 543, 544, 545, 546, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 547, 353, 441, 491, + 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, + 317, 318, 319, 324, 325, 329, 335, 235, 201, 359, + 367, 471, 0, 191, 208, 339, 0, 416, 271, 525, + 503, 499, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, @@ -4511,24 +4220,24 @@ var yyAct = [...]int{ 377, 378, 379, 382, 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, 437, 438, 443, 444, 445, 446, - 447, 455, 456, 460, 478, 480, 492, 506, 511, 436, - 281, 487, 512, 0, 348, 0, 0, 350, 264, 284, - 295, 0, 501, 457, 214, 424, 273, 202, 233, 217, + 447, 455, 456, 460, 479, 481, 493, 507, 512, 436, + 281, 488, 513, 0, 348, 0, 0, 350, 264, 284, + 295, 0, 502, 457, 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, - 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 253, 1393, 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, - 0, 442, 237, 347, 344, 475, 265, 256, 252, 236, + 0, 442, 237, 347, 344, 476, 265, 256, 252, 236, 292, 354, 396, 462, 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, 381, 453, 269, 0, 0, 0, 0, 188, 189, 190, - 0, 1369, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1392, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, - 255, 247, 472, 0, 0, 0, 0, 0, 0, 0, + 255, 247, 473, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4539,152 +4248,213 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, 370, 240, 0, 0, - 0, 0, 508, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 509, 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, 380, 423, 429, - 0, 0, 0, 238, 0, 427, 394, 491, 220, 267, - 420, 400, 425, 407, 270, 0, 0, 426, 342, 477, - 414, 488, 509, 510, 246, 374, 499, 466, 505, 523, - 213, 243, 388, 459, 494, 449, 366, 473, 474, 304, - 448, 277, 195, 340, 515, 211, 435, 229, 218, 479, - 497, 272, 418, 203, 461, 486, 226, 439, 0, 0, - 525, 205, 484, 458, 362, 301, 302, 204, 0, 419, - 251, 275, 241, 383, 481, 482, 239, 526, 215, 504, - 207, 0, 503, 376, 476, 485, 363, 352, 206, 483, + 0, 0, 0, 238, 0, 427, 394, 492, 220, 267, + 420, 400, 425, 407, 270, 0, 0, 426, 342, 478, + 414, 489, 510, 511, 246, 374, 500, 466, 506, 524, + 213, 243, 388, 459, 495, 449, 366, 474, 475, 304, + 448, 277, 195, 340, 516, 211, 435, 229, 218, 480, + 498, 272, 418, 203, 461, 487, 226, 439, 0, 0, + 526, 205, 485, 458, 362, 301, 302, 204, 0, 419, + 251, 275, 241, 383, 482, 483, 239, 527, 215, 505, + 207, 0, 504, 376, 477, 486, 363, 352, 206, 484, 361, 351, 307, 326, 327, 263, 286, 412, 345, 413, - 287, 372, 371, 373, 198, 495, 0, 199, 0, 454, - 496, 527, 221, 222, 224, 0, 262, 266, 274, 276, - 282, 283, 290, 338, 387, 411, 409, 415, 0, 471, - 489, 500, 507, 513, 514, 516, 517, 518, 519, 520, - 522, 521, 375, 289, 450, 306, 343, 0, 0, 393, - 428, 227, 493, 451, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 528, 529, 530, 531, 532, - 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, - 543, 544, 545, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 546, 353, 441, 490, 308, 320, 323, + 287, 372, 371, 373, 198, 496, 0, 199, 0, 454, + 497, 528, 221, 222, 224, 0, 262, 266, 274, 276, + 282, 283, 290, 338, 387, 411, 409, 415, 0, 472, + 490, 501, 508, 514, 515, 517, 518, 519, 520, 521, + 523, 522, 375, 289, 450, 306, 343, 0, 0, 393, + 428, 227, 494, 451, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 547, 353, 441, 491, 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, - 324, 325, 329, 335, 235, 201, 359, 367, 0, 191, - 208, 339, 0, 416, 271, 524, 502, 498, 0, 210, - 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, + 324, 325, 329, 335, 235, 201, 359, 367, 471, 0, + 191, 208, 339, 0, 416, 271, 525, 503, 499, 0, + 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, - 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, - 303, 349, 355, 356, 357, 358, 377, 378, 379, 382, - 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, - 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, - 437, 438, 443, 444, 445, 446, 447, 455, 456, 460, - 478, 480, 492, 506, 511, 436, 281, 487, 512, 0, - 348, 0, 0, 350, 264, 284, 295, 0, 501, 457, - 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, - 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, - 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, - 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 384, 0, 0, 0, 0, - 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, - 250, 0, 0, 398, 0, 197, 0, 442, 237, 347, - 344, 475, 265, 256, 252, 236, 292, 354, 396, 462, - 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, + 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, + 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, + 297, 303, 349, 355, 356, 357, 358, 377, 378, 379, + 382, 385, 386, 389, 391, 392, 395, 399, 403, 404, + 405, 406, 408, 410, 417, 422, 430, 431, 432, 433, + 434, 437, 438, 443, 444, 445, 446, 447, 455, 456, + 460, 479, 481, 493, 507, 512, 436, 281, 488, 513, + 0, 348, 0, 0, 350, 264, 284, 295, 0, 502, + 457, 214, 424, 273, 202, 233, 217, 242, 257, 260, + 299, 360, 368, 397, 402, 278, 254, 231, 421, 228, + 440, 463, 464, 465, 467, 364, 249, 401, 0, 365, + 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 384, 0, 0, 0, + 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, + 337, 250, 0, 0, 398, 0, 197, 0, 442, 237, + 347, 344, 476, 265, 256, 252, 236, 292, 354, 396, + 462, 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 298, 234, 300, 196, 381, 453, 269, 0, - 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, - 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, - 0, 0, 0, 0, 248, 296, 255, 247, 472, 0, - 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, + 0, 0, 0, 298, 234, 300, 196, 381, 453, 269, + 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, + 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, + 0, 0, 0, 0, 0, 248, 296, 255, 247, 473, + 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 279, 0, 370, 240, 0, 0, 0, 0, 508, 0, - 0, 0, 0, 0, 0, 0, 336, 0, 305, 192, - 212, 0, 0, 380, 423, 429, 0, 0, 0, 238, - 0, 427, 394, 491, 220, 267, 420, 400, 425, 407, - 270, 0, 0, 426, 342, 477, 414, 488, 509, 510, - 246, 374, 499, 466, 505, 523, 213, 243, 388, 459, - 494, 449, 366, 473, 474, 304, 448, 277, 195, 340, - 515, 211, 435, 229, 218, 479, 497, 272, 418, 203, - 461, 486, 226, 439, 0, 0, 525, 205, 484, 458, - 362, 301, 302, 204, 0, 419, 251, 275, 241, 383, - 481, 482, 239, 526, 215, 504, 207, 0, 503, 376, - 476, 485, 363, 352, 206, 483, 361, 351, 307, 326, - 327, 263, 286, 412, 345, 413, 287, 372, 371, 373, - 198, 495, 0, 199, 0, 454, 496, 527, 221, 222, - 224, 0, 262, 266, 274, 276, 282, 283, 290, 338, - 387, 411, 409, 415, 0, 471, 489, 500, 507, 513, - 514, 516, 517, 518, 519, 520, 522, 521, 375, 289, - 450, 306, 343, 0, 0, 393, 428, 227, 493, 451, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 528, 529, 530, 531, 532, 533, 534, 535, 536, - 537, 538, 539, 540, 541, 542, 543, 544, 545, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 546, - 353, 441, 490, 308, 320, 323, 313, 332, 0, 333, - 309, 310, 315, 317, 318, 319, 324, 325, 329, 335, - 235, 201, 359, 367, 0, 191, 208, 339, 0, 416, - 271, 524, 502, 498, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, - 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, - 357, 358, 377, 378, 379, 382, 385, 386, 389, 391, - 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, - 422, 430, 431, 432, 433, 434, 437, 438, 443, 444, - 445, 446, 447, 455, 456, 460, 478, 480, 492, 506, - 511, 436, 281, 487, 512, 0, 348, 0, 0, 350, - 264, 284, 295, 0, 501, 457, 214, 424, 273, 202, - 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, - 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, - 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, + 0, 279, 0, 370, 240, 0, 0, 0, 0, 509, + 0, 0, 0, 3009, 0, 0, 0, 336, 0, 305, + 192, 212, 0, 0, 380, 423, 429, 0, 0, 0, + 238, 0, 427, 394, 492, 220, 267, 420, 400, 425, + 407, 270, 0, 0, 426, 342, 478, 414, 489, 510, + 511, 246, 374, 500, 466, 506, 524, 213, 243, 388, + 459, 495, 449, 366, 474, 475, 304, 448, 277, 195, + 340, 516, 211, 435, 229, 218, 480, 498, 272, 418, + 203, 461, 487, 226, 439, 0, 0, 526, 205, 485, + 458, 362, 301, 302, 204, 0, 419, 251, 275, 241, + 383, 482, 483, 239, 527, 215, 505, 207, 0, 504, + 376, 477, 486, 363, 352, 206, 484, 361, 351, 307, + 326, 327, 263, 286, 412, 345, 413, 287, 372, 371, + 373, 198, 496, 0, 199, 0, 454, 497, 528, 221, + 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, + 338, 387, 411, 409, 415, 0, 472, 490, 501, 508, + 514, 515, 517, 518, 519, 520, 521, 523, 522, 375, + 289, 450, 306, 343, 0, 0, 393, 428, 227, 494, + 451, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 529, 530, 531, 532, 533, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 384, 0, 0, 0, 0, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 337, 250, 0, 0, 398, - 0, 197, 0, 442, 237, 347, 344, 475, 265, 256, - 252, 236, 292, 354, 396, 462, 390, 0, 341, 0, - 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, - 300, 196, 381, 453, 269, 0, 0, 0, 0, 188, - 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, - 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, - 248, 296, 255, 247, 472, 0, 0, 0, 0, 0, - 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, + 547, 353, 441, 491, 308, 320, 323, 313, 332, 0, + 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, + 335, 235, 201, 359, 367, 471, 0, 191, 208, 339, + 0, 416, 271, 525, 503, 499, 0, 210, 0, 245, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, + 261, 268, 280, 285, 288, 293, 294, 297, 303, 349, + 355, 356, 357, 358, 377, 378, 379, 382, 385, 386, + 389, 391, 392, 395, 399, 403, 404, 405, 406, 408, + 410, 417, 422, 430, 431, 432, 433, 434, 437, 438, + 443, 444, 445, 446, 447, 455, 456, 460, 479, 481, + 493, 507, 512, 436, 281, 488, 513, 0, 348, 0, + 0, 350, 264, 284, 295, 0, 502, 457, 214, 424, + 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, + 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, + 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, + 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 384, 0, 0, 0, 0, 0, 0, + 0, 0, 253, 0, 0, 0, 0, 337, 250, 0, + 0, 398, 0, 197, 0, 442, 237, 347, 344, 476, + 265, 256, 252, 236, 292, 354, 396, 462, 390, 0, + 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 298, 234, 300, 196, 381, 453, 269, 0, 0, 0, + 0, 188, 189, 190, 0, 1550, 0, 0, 0, 0, + 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, + 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, + 0, 0, 248, 296, 255, 247, 473, 0, 0, 0, + 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 279, 0, 370, 240, - 0, 0, 0, 0, 508, 0, 0, 0, 0, 0, - 0, 0, 336, 0, 305, 192, 212, 0, 0, 380, - 423, 429, 0, 0, 0, 238, 0, 427, 394, 491, - 220, 267, 420, 400, 425, 407, 270, 0, 0, 426, - 342, 477, 414, 488, 509, 510, 246, 374, 499, 466, - 505, 523, 213, 243, 388, 459, 494, 449, 366, 473, - 474, 304, 448, 277, 195, 340, 515, 211, 435, 229, - 218, 479, 497, 272, 418, 203, 461, 486, 226, 439, - 0, 0, 525, 205, 484, 458, 362, 301, 302, 204, - 0, 419, 251, 275, 241, 383, 481, 482, 239, 526, - 215, 504, 207, 0, 503, 376, 476, 485, 363, 352, - 206, 483, 361, 351, 307, 326, 327, 263, 286, 412, - 345, 413, 287, 372, 371, 373, 198, 495, 0, 199, - 0, 454, 496, 527, 221, 222, 224, 0, 262, 266, - 274, 276, 282, 283, 290, 338, 387, 411, 409, 415, - 0, 471, 489, 500, 507, 513, 514, 516, 517, 518, - 519, 520, 522, 521, 375, 289, 450, 306, 343, 0, - 0, 393, 428, 227, 493, 451, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 528, 529, 530, - 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, - 541, 542, 543, 544, 545, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 546, 353, 441, 490, 308, - 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, - 318, 319, 324, 325, 329, 335, 235, 201, 359, 367, - 0, 191, 208, 339, 1645, 416, 271, 524, 502, 498, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, + 370, 240, 0, 0, 0, 0, 509, 0, 0, 0, + 0, 0, 0, 0, 336, 0, 305, 192, 212, 0, + 0, 380, 423, 429, 0, 0, 0, 238, 0, 427, + 394, 492, 220, 267, 420, 400, 425, 407, 270, 0, + 0, 426, 342, 478, 414, 489, 510, 511, 246, 374, + 500, 466, 506, 524, 213, 243, 388, 459, 495, 449, + 366, 474, 475, 304, 448, 277, 195, 340, 516, 211, + 435, 229, 218, 480, 498, 272, 418, 203, 461, 487, + 226, 439, 0, 0, 526, 205, 485, 458, 362, 301, + 302, 204, 0, 419, 251, 275, 241, 383, 482, 483, + 239, 527, 215, 505, 207, 0, 504, 376, 477, 486, + 363, 352, 206, 484, 361, 351, 307, 326, 327, 263, + 286, 412, 345, 413, 287, 372, 371, 373, 198, 496, + 0, 199, 0, 454, 497, 528, 221, 222, 224, 0, + 262, 266, 274, 276, 282, 283, 290, 338, 387, 411, + 409, 415, 0, 472, 490, 501, 508, 514, 515, 517, + 518, 519, 520, 521, 523, 522, 375, 289, 450, 306, + 343, 0, 0, 393, 428, 227, 494, 451, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 545, 546, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 547, 353, 441, + 491, 308, 320, 323, 313, 332, 0, 333, 309, 310, + 315, 317, 318, 319, 324, 325, 329, 335, 235, 201, + 359, 367, 471, 0, 191, 208, 339, 0, 416, 271, + 525, 503, 499, 0, 210, 0, 245, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, + 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, + 285, 288, 293, 294, 297, 303, 349, 355, 356, 357, + 358, 377, 378, 379, 382, 385, 386, 389, 391, 392, + 395, 399, 403, 404, 405, 406, 408, 410, 417, 422, + 430, 431, 432, 433, 434, 437, 438, 443, 444, 445, + 446, 447, 455, 456, 460, 479, 481, 493, 507, 512, + 436, 281, 488, 513, 0, 348, 0, 0, 350, 264, + 284, 295, 0, 502, 457, 214, 424, 273, 202, 233, + 217, 242, 257, 260, 299, 360, 368, 397, 402, 278, + 254, 231, 421, 228, 440, 463, 464, 465, 467, 364, + 249, 401, 0, 365, 346, 469, 470, 291, 468, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 384, 0, 0, 0, 0, 0, 0, 0, 0, 253, + 0, 0, 0, 0, 337, 250, 0, 0, 398, 0, + 197, 0, 442, 237, 347, 344, 476, 265, 256, 252, + 236, 292, 354, 396, 462, 390, 0, 341, 0, 0, + 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, + 196, 381, 453, 269, 0, 0, 0, 0, 188, 189, + 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, + 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, + 296, 255, 247, 473, 0, 0, 0, 0, 0, 0, + 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 279, 0, 370, 240, 0, + 0, 0, 0, 509, 0, 0, 0, 2916, 0, 0, + 0, 336, 0, 305, 192, 212, 0, 0, 380, 423, + 429, 0, 0, 0, 238, 0, 427, 394, 492, 220, + 267, 420, 400, 425, 407, 270, 0, 0, 426, 342, + 478, 414, 489, 510, 511, 246, 374, 500, 466, 506, + 524, 213, 243, 388, 459, 495, 449, 366, 474, 475, + 304, 448, 277, 195, 340, 516, 211, 435, 229, 218, + 480, 498, 272, 418, 203, 461, 487, 226, 439, 0, + 0, 526, 205, 485, 458, 362, 301, 302, 204, 0, + 419, 251, 275, 241, 383, 482, 483, 239, 527, 215, + 505, 207, 0, 504, 376, 477, 486, 363, 352, 206, + 484, 361, 351, 307, 326, 327, 263, 286, 412, 345, + 413, 287, 372, 371, 373, 198, 496, 0, 199, 0, + 454, 497, 528, 221, 222, 224, 0, 262, 266, 274, + 276, 282, 283, 290, 338, 387, 411, 409, 415, 0, + 472, 490, 501, 508, 514, 515, 517, 518, 519, 520, + 521, 523, 522, 375, 289, 450, 306, 343, 0, 0, + 393, 428, 227, 494, 451, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 529, 530, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 547, 353, 441, 491, 308, 320, + 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, + 319, 324, 325, 329, 335, 235, 201, 359, 367, 471, + 0, 191, 208, 339, 0, 416, 271, 525, 503, 499, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, @@ -4693,24 +4463,24 @@ var yyAct = [...]int{ 379, 382, 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, 437, 438, 443, 444, 445, 446, 447, 455, - 456, 460, 478, 480, 492, 506, 511, 436, 281, 487, - 512, 0, 348, 0, 0, 350, 264, 284, 295, 0, - 501, 457, 214, 424, 273, 202, 233, 217, 242, 257, + 456, 460, 479, 481, 493, 507, 512, 436, 281, 488, + 513, 0, 348, 0, 0, 350, 264, 284, 295, 0, + 502, 457, 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 384, 0, 1515, + 0, 0, 0, 0, 0, 0, 0, 384, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, 0, 442, - 237, 347, 344, 475, 265, 256, 252, 236, 292, 354, + 237, 347, 344, 476, 265, 256, 252, 236, 292, 354, 396, 462, 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, 381, 453, - 269, 0, 0, 0, 0, 188, 189, 190, 0, 0, + 269, 0, 87, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, 247, - 472, 0, 0, 0, 0, 0, 0, 0, 216, 0, + 473, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4721,152 +4491,213 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, 370, 240, 0, 0, 0, 0, - 508, 0, 0, 0, 0, 0, 0, 0, 336, 0, + 509, 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, 380, 423, 429, 0, 0, - 0, 238, 0, 427, 394, 491, 220, 267, 420, 400, - 425, 407, 270, 0, 0, 426, 342, 477, 414, 488, - 509, 510, 246, 374, 499, 466, 505, 523, 213, 243, - 388, 459, 494, 449, 366, 473, 474, 304, 448, 277, - 195, 340, 515, 211, 435, 229, 218, 479, 497, 272, - 418, 203, 461, 486, 226, 439, 0, 0, 525, 205, - 484, 458, 362, 301, 302, 204, 0, 419, 251, 275, - 241, 383, 481, 482, 239, 526, 215, 504, 207, 0, - 503, 376, 476, 485, 363, 352, 206, 483, 361, 351, + 0, 238, 0, 427, 394, 492, 220, 267, 420, 400, + 425, 407, 270, 0, 0, 426, 342, 478, 414, 489, + 510, 511, 246, 374, 500, 466, 506, 524, 213, 243, + 388, 459, 495, 449, 366, 474, 475, 304, 448, 277, + 195, 340, 516, 211, 435, 229, 218, 480, 498, 272, + 418, 203, 461, 487, 226, 439, 0, 0, 526, 205, + 485, 458, 362, 301, 302, 204, 0, 419, 251, 275, + 241, 383, 482, 483, 239, 527, 215, 505, 207, 0, + 504, 376, 477, 486, 363, 352, 206, 484, 361, 351, 307, 326, 327, 263, 286, 412, 345, 413, 287, 372, - 371, 373, 198, 495, 0, 199, 0, 454, 496, 527, + 371, 373, 198, 496, 0, 199, 0, 454, 497, 528, 221, 222, 224, 0, 262, 266, 274, 276, 282, 283, - 290, 338, 387, 411, 409, 415, 0, 471, 489, 500, - 507, 513, 514, 516, 517, 518, 519, 520, 522, 521, + 290, 338, 387, 411, 409, 415, 0, 472, 490, 501, + 508, 514, 515, 517, 518, 519, 520, 521, 523, 522, 375, 289, 450, 306, 343, 0, 0, 393, 428, 227, - 493, 451, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 528, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 546, 353, 441, 490, 308, 320, 323, 313, 332, + 494, 451, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 529, 530, 531, 532, 533, 534, 535, + 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, + 546, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 547, 353, 441, 491, 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, 325, - 329, 335, 235, 201, 359, 367, 0, 191, 208, 339, - 0, 416, 271, 524, 502, 498, 0, 210, 0, 245, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 329, 335, 235, 201, 359, 367, 471, 0, 191, 208, + 339, 0, 416, 271, 525, 503, 499, 0, 210, 0, + 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, - 261, 268, 280, 285, 288, 293, 294, 297, 303, 349, - 355, 356, 357, 358, 377, 378, 379, 382, 385, 386, - 389, 391, 392, 395, 399, 403, 404, 405, 406, 408, - 410, 417, 422, 430, 431, 432, 433, 434, 437, 438, - 443, 444, 445, 446, 447, 455, 456, 460, 478, 480, - 492, 506, 511, 436, 281, 487, 512, 0, 348, 0, - 0, 350, 264, 284, 295, 0, 501, 457, 214, 424, - 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, - 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, - 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, - 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 384, 0, 1513, 0, 0, 0, 0, - 0, 0, 253, 0, 0, 0, 0, 337, 250, 0, - 0, 398, 0, 197, 0, 442, 237, 347, 344, 475, - 265, 256, 252, 236, 292, 354, 396, 462, 390, 0, - 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, + 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, + 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, + 349, 355, 356, 357, 358, 377, 378, 379, 382, 385, + 386, 389, 391, 392, 395, 399, 403, 404, 405, 406, + 408, 410, 417, 422, 430, 431, 432, 433, 434, 437, + 438, 443, 444, 445, 446, 447, 455, 456, 460, 479, + 481, 493, 507, 512, 436, 281, 488, 513, 0, 348, + 0, 0, 350, 264, 284, 295, 0, 502, 457, 214, + 424, 273, 202, 233, 217, 242, 257, 260, 299, 360, + 368, 397, 402, 278, 254, 231, 421, 228, 440, 463, + 464, 465, 467, 364, 249, 401, 0, 365, 346, 469, + 470, 291, 468, 0, 0, 0, 0, 1865, 0, 0, + 0, 0, 0, 0, 384, 0, 0, 0, 0, 0, + 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, + 0, 0, 398, 0, 197, 0, 442, 237, 347, 344, + 476, 265, 256, 252, 236, 292, 354, 396, 462, 390, + 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 298, 234, 300, 196, 381, 453, 269, 0, 0, + 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, + 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, + 0, 0, 0, 248, 296, 255, 247, 473, 0, 0, + 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 298, 234, 300, 196, 381, 453, 269, 0, 0, 0, - 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, - 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, - 0, 0, 248, 296, 255, 247, 472, 0, 0, 0, - 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, + 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, + 0, 370, 240, 0, 0, 0, 0, 509, 0, 0, + 0, 0, 0, 0, 0, 336, 0, 305, 192, 212, + 0, 0, 380, 423, 429, 0, 0, 0, 238, 0, + 427, 394, 492, 220, 267, 420, 400, 425, 407, 270, + 0, 0, 426, 342, 478, 414, 489, 510, 511, 246, + 374, 500, 466, 506, 524, 213, 243, 388, 459, 495, + 449, 366, 474, 475, 304, 448, 277, 195, 340, 516, + 211, 435, 229, 218, 480, 498, 272, 418, 203, 461, + 487, 226, 439, 0, 0, 526, 205, 485, 458, 362, + 301, 302, 204, 0, 419, 251, 275, 241, 383, 482, + 483, 239, 527, 215, 505, 207, 0, 504, 376, 477, + 486, 363, 352, 206, 484, 361, 351, 307, 326, 327, + 263, 286, 412, 345, 413, 287, 372, 371, 373, 198, + 496, 0, 199, 0, 454, 497, 528, 221, 222, 224, + 0, 262, 266, 274, 276, 282, 283, 290, 338, 387, + 411, 409, 415, 0, 472, 490, 501, 508, 514, 515, + 517, 518, 519, 520, 521, 523, 522, 375, 289, 450, + 306, 343, 0, 0, 393, 428, 227, 494, 451, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, - 370, 240, 0, 0, 0, 0, 508, 0, 0, 0, - 0, 0, 0, 0, 336, 0, 305, 192, 212, 0, - 0, 380, 423, 429, 0, 0, 0, 238, 0, 427, - 394, 491, 220, 267, 420, 400, 425, 407, 270, 0, - 0, 426, 342, 477, 414, 488, 509, 510, 246, 374, - 499, 466, 505, 523, 213, 243, 388, 459, 494, 449, - 366, 473, 474, 304, 448, 277, 195, 340, 515, 211, - 435, 229, 218, 479, 497, 272, 418, 203, 461, 486, - 226, 439, 0, 0, 525, 205, 484, 458, 362, 301, - 302, 204, 0, 419, 251, 275, 241, 383, 481, 482, - 239, 526, 215, 504, 207, 0, 503, 376, 476, 485, - 363, 352, 206, 483, 361, 351, 307, 326, 327, 263, - 286, 412, 345, 413, 287, 372, 371, 373, 198, 495, - 0, 199, 0, 454, 496, 527, 221, 222, 224, 0, - 262, 266, 274, 276, 282, 283, 290, 338, 387, 411, - 409, 415, 0, 471, 489, 500, 507, 513, 514, 516, - 517, 518, 519, 520, 522, 521, 375, 289, 450, 306, - 343, 0, 0, 393, 428, 227, 493, 451, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, - 539, 540, 541, 542, 543, 544, 545, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 546, 353, 441, - 490, 308, 320, 323, 313, 332, 0, 333, 309, 310, - 315, 317, 318, 319, 324, 325, 329, 335, 235, 201, - 359, 367, 0, 191, 208, 339, 0, 416, 271, 524, - 502, 498, 0, 210, 0, 245, 0, 0, 0, 0, + 539, 540, 541, 542, 543, 544, 545, 546, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 547, 353, + 441, 491, 308, 320, 323, 313, 332, 0, 333, 309, + 310, 315, 317, 318, 319, 324, 325, 329, 335, 235, + 201, 359, 367, 471, 0, 191, 208, 339, 0, 416, + 271, 525, 503, 499, 0, 210, 0, 245, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, + 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, + 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, + 357, 358, 377, 378, 379, 382, 385, 386, 389, 391, + 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, + 422, 430, 431, 432, 433, 434, 437, 438, 443, 444, + 445, 446, 447, 455, 456, 460, 479, 481, 493, 507, + 512, 436, 281, 488, 513, 0, 348, 0, 0, 350, + 264, 284, 295, 0, 502, 457, 214, 424, 273, 202, + 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, + 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, + 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 384, 0, 0, 0, 0, 0, 0, 0, 0, + 253, 0, 0, 0, 0, 337, 250, 0, 0, 398, + 0, 197, 0, 442, 237, 347, 344, 476, 265, 256, + 252, 236, 292, 354, 396, 462, 390, 0, 341, 0, + 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, + 300, 196, 381, 453, 269, 0, 0, 0, 0, 188, + 189, 190, 0, 1372, 0, 0, 0, 0, 0, 0, + 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, + 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, + 248, 296, 255, 247, 473, 0, 0, 0, 0, 0, + 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 279, 0, 370, 240, + 0, 0, 0, 0, 509, 0, 0, 0, 0, 0, + 0, 0, 336, 0, 305, 192, 212, 0, 0, 380, + 423, 429, 0, 0, 0, 238, 0, 427, 394, 492, + 220, 267, 420, 400, 425, 407, 270, 0, 0, 426, + 342, 478, 414, 489, 510, 511, 246, 374, 500, 466, + 506, 524, 213, 243, 388, 459, 495, 449, 366, 474, + 475, 304, 448, 277, 195, 340, 516, 211, 435, 229, + 218, 480, 498, 272, 418, 203, 461, 487, 226, 439, + 0, 0, 526, 205, 485, 458, 362, 301, 302, 204, + 0, 419, 251, 275, 241, 383, 482, 483, 239, 527, + 215, 505, 207, 0, 504, 376, 477, 486, 363, 352, + 206, 484, 361, 351, 307, 326, 327, 263, 286, 412, + 345, 413, 287, 372, 371, 373, 198, 496, 0, 199, + 0, 454, 497, 528, 221, 222, 224, 0, 262, 266, + 274, 276, 282, 283, 290, 338, 387, 411, 409, 415, + 0, 472, 490, 501, 508, 514, 515, 517, 518, 519, + 520, 521, 523, 522, 375, 289, 450, 306, 343, 0, + 0, 393, 428, 227, 494, 451, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 529, 530, 531, + 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, + 542, 543, 544, 545, 546, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 547, 353, 441, 491, 308, + 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, + 318, 319, 324, 325, 329, 335, 235, 201, 359, 367, + 471, 0, 191, 208, 339, 0, 416, 271, 525, 503, + 499, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, - 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, - 288, 293, 294, 297, 303, 349, 355, 356, 357, 358, - 377, 378, 379, 382, 385, 386, 389, 391, 392, 395, - 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, - 431, 432, 433, 434, 437, 438, 443, 444, 445, 446, - 447, 455, 456, 460, 478, 480, 492, 506, 511, 436, - 281, 487, 512, 0, 348, 0, 0, 350, 264, 284, - 295, 0, 501, 457, 214, 424, 273, 202, 233, 217, - 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, - 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, - 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, - 0, 1511, 0, 0, 0, 0, 0, 0, 253, 0, - 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, - 0, 442, 237, 347, 344, 475, 265, 256, 252, 236, - 292, 354, 396, 462, 390, 0, 341, 0, 0, 452, - 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, - 381, 453, 269, 0, 0, 0, 0, 188, 189, 190, + 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, + 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, + 293, 294, 297, 303, 349, 355, 356, 357, 358, 377, + 378, 379, 382, 385, 386, 389, 391, 392, 395, 399, + 403, 404, 405, 406, 408, 410, 417, 422, 430, 431, + 432, 433, 434, 437, 438, 443, 444, 445, 446, 447, + 455, 456, 460, 479, 481, 493, 507, 512, 436, 281, + 488, 513, 0, 348, 0, 0, 350, 264, 284, 295, + 0, 502, 457, 214, 424, 273, 202, 233, 217, 242, + 257, 260, 299, 360, 368, 397, 402, 278, 254, 231, + 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, + 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 384, 0, + 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, + 0, 0, 337, 250, 0, 0, 398, 0, 197, 0, + 442, 237, 347, 344, 476, 265, 256, 252, 236, 292, + 354, 396, 462, 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, - 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, - 255, 247, 472, 0, 0, 0, 0, 0, 0, 0, - 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 298, 234, 300, 196, 381, + 453, 269, 0, 0, 0, 0, 188, 189, 190, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, + 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, + 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, + 247, 473, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 279, 0, 370, 240, 0, 0, - 0, 0, 508, 0, 0, 0, 0, 0, 0, 0, - 336, 0, 305, 192, 212, 0, 0, 380, 423, 429, - 0, 0, 0, 238, 0, 427, 394, 491, 220, 267, - 420, 400, 425, 407, 270, 0, 0, 426, 342, 477, - 414, 488, 509, 510, 246, 374, 499, 466, 505, 523, - 213, 243, 388, 459, 494, 449, 366, 473, 474, 304, - 448, 277, 195, 340, 515, 211, 435, 229, 218, 479, - 497, 272, 418, 203, 461, 486, 226, 439, 0, 0, - 525, 205, 484, 458, 362, 301, 302, 204, 0, 419, - 251, 275, 241, 383, 481, 482, 239, 526, 215, 504, - 207, 0, 503, 376, 476, 485, 363, 352, 206, 483, - 361, 351, 307, 326, 327, 263, 286, 412, 345, 413, - 287, 372, 371, 373, 198, 495, 0, 199, 0, 454, - 496, 527, 221, 222, 224, 0, 262, 266, 274, 276, - 282, 283, 290, 338, 387, 411, 409, 415, 0, 471, - 489, 500, 507, 513, 514, 516, 517, 518, 519, 520, - 522, 521, 375, 289, 450, 306, 343, 0, 0, 393, - 428, 227, 493, 451, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 528, 529, 530, 531, 532, - 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, - 543, 544, 545, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 546, 353, 441, 490, 308, 320, 323, - 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, - 324, 325, 329, 335, 235, 201, 359, 367, 0, 191, - 208, 339, 0, 416, 271, 524, 502, 498, 0, 210, + 0, 0, 0, 279, 0, 370, 240, 0, 0, 0, + 0, 509, 0, 0, 0, 0, 0, 0, 0, 336, + 0, 305, 192, 212, 0, 0, 380, 423, 429, 0, + 0, 0, 238, 0, 427, 394, 492, 220, 267, 420, + 400, 425, 407, 270, 0, 0, 426, 342, 478, 414, + 489, 510, 511, 246, 374, 500, 466, 506, 524, 213, + 243, 388, 459, 495, 449, 366, 474, 475, 304, 448, + 277, 195, 340, 516, 211, 435, 229, 218, 480, 498, + 272, 418, 203, 461, 487, 226, 439, 0, 0, 526, + 205, 485, 458, 362, 301, 302, 204, 0, 419, 251, + 275, 241, 383, 482, 483, 239, 527, 215, 505, 207, + 0, 504, 376, 477, 486, 363, 352, 206, 484, 361, + 351, 307, 326, 327, 263, 286, 412, 345, 413, 287, + 372, 371, 373, 198, 496, 0, 199, 0, 454, 497, + 528, 221, 222, 224, 0, 262, 266, 274, 276, 282, + 283, 290, 338, 387, 411, 409, 415, 0, 472, 490, + 501, 508, 514, 515, 517, 518, 519, 520, 521, 523, + 522, 375, 289, 450, 306, 343, 0, 0, 393, 428, + 227, 494, 451, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 545, 546, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 547, 353, 441, 491, 308, 320, 323, 313, + 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, + 325, 329, 335, 235, 201, 359, 367, 471, 0, 191, + 208, 339, 0, 416, 271, 525, 503, 499, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, @@ -4875,23 +4706,23 @@ var yyAct = [...]int{ 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, 437, 438, 443, 444, 445, 446, 447, 455, 456, 460, - 478, 480, 492, 506, 511, 436, 281, 487, 512, 0, - 348, 0, 0, 350, 264, 284, 295, 0, 501, 457, + 479, 481, 493, 507, 512, 436, 281, 488, 513, 0, + 348, 0, 0, 350, 264, 284, 295, 0, 502, 457, 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 384, 0, 1509, 0, 0, + 0, 0, 0, 0, 0, 384, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, 0, 442, 237, 347, - 344, 475, 265, 256, 252, 236, 292, 354, 396, 462, + 344, 476, 265, 256, 252, 236, 292, 354, 396, 462, 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, 381, 453, 269, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, - 0, 0, 0, 0, 248, 296, 255, 247, 472, 0, + 0, 0, 0, 0, 248, 296, 255, 247, 473, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4902,59 +4733,59 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 279, 0, 370, 240, 0, 0, 0, 0, 508, 0, + 279, 0, 370, 240, 0, 0, 0, 0, 509, 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, 380, 423, 429, 0, 0, 0, 238, - 0, 427, 394, 491, 220, 267, 420, 400, 425, 407, - 270, 0, 0, 426, 342, 477, 414, 488, 509, 510, - 246, 374, 499, 466, 505, 523, 213, 243, 388, 459, - 494, 449, 366, 473, 474, 304, 448, 277, 195, 340, - 515, 211, 435, 229, 218, 479, 497, 272, 418, 203, - 461, 486, 226, 439, 0, 0, 525, 205, 484, 458, + 0, 427, 394, 492, 220, 267, 420, 400, 425, 407, + 270, 0, 0, 426, 342, 478, 414, 489, 510, 511, + 246, 374, 500, 466, 506, 524, 213, 243, 388, 459, + 495, 449, 366, 474, 475, 304, 448, 277, 195, 340, + 516, 211, 435, 229, 218, 480, 498, 272, 418, 203, + 461, 487, 226, 439, 0, 0, 526, 205, 485, 458, 362, 301, 302, 204, 0, 419, 251, 275, 241, 383, - 481, 482, 239, 526, 215, 504, 207, 0, 503, 376, - 476, 485, 363, 352, 206, 483, 361, 351, 307, 326, + 482, 483, 239, 527, 215, 505, 207, 0, 504, 376, + 477, 486, 363, 352, 206, 484, 361, 351, 307, 326, 327, 263, 286, 412, 345, 413, 287, 372, 371, 373, - 198, 495, 0, 199, 0, 454, 496, 527, 221, 222, + 198, 496, 0, 199, 0, 454, 497, 528, 221, 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, 338, - 387, 411, 409, 415, 0, 471, 489, 500, 507, 513, - 514, 516, 517, 518, 519, 520, 522, 521, 375, 289, - 450, 306, 343, 0, 0, 393, 428, 227, 493, 451, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 528, 529, 530, 531, 532, 533, 534, 535, 536, - 537, 538, 539, 540, 541, 542, 543, 544, 545, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 546, - 353, 441, 490, 308, 320, 323, 313, 332, 0, 333, + 387, 411, 409, 415, 0, 472, 490, 501, 508, 514, + 515, 517, 518, 519, 520, 521, 523, 522, 375, 289, + 450, 306, 343, 0, 0, 393, 428, 227, 494, 451, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 546, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 547, + 353, 441, 491, 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, 335, - 235, 201, 359, 367, 0, 191, 208, 339, 0, 416, - 271, 524, 502, 498, 0, 210, 0, 245, 0, 0, + 235, 201, 359, 367, 471, 0, 191, 208, 339, 1648, + 416, 271, 525, 503, 499, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, - 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, - 357, 358, 377, 378, 379, 382, 385, 386, 389, 391, - 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, - 422, 430, 431, 432, 433, 434, 437, 438, 443, 444, - 445, 446, 447, 455, 456, 460, 478, 480, 492, 506, - 511, 436, 281, 487, 512, 0, 348, 0, 0, 350, - 264, 284, 295, 0, 501, 457, 214, 424, 273, 202, - 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, - 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, - 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 384, 0, 1507, 0, 0, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 337, 250, 0, 0, 398, - 0, 197, 0, 442, 237, 347, 344, 475, 265, 256, - 252, 236, 292, 354, 396, 462, 390, 0, 341, 0, - 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, - 300, 196, 381, 453, 269, 0, 0, 0, 0, 188, - 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, - 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, - 248, 296, 255, 247, 472, 0, 0, 0, 0, 0, - 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, + 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, + 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, + 356, 357, 358, 377, 378, 379, 382, 385, 386, 389, + 391, 392, 395, 399, 403, 404, 405, 406, 408, 410, + 417, 422, 430, 431, 432, 433, 434, 437, 438, 443, + 444, 445, 446, 447, 455, 456, 460, 479, 481, 493, + 507, 512, 436, 281, 488, 513, 0, 348, 0, 0, + 350, 264, 284, 295, 0, 502, 457, 214, 424, 273, + 202, 233, 217, 242, 257, 260, 299, 360, 368, 397, + 402, 278, 254, 231, 421, 228, 440, 463, 464, 465, + 467, 364, 249, 401, 0, 365, 346, 469, 470, 291, + 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 384, 0, 1518, 0, 0, 0, 0, 0, + 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, + 398, 0, 197, 0, 442, 237, 347, 344, 476, 265, + 256, 252, 236, 292, 354, 396, 462, 390, 0, 341, + 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, + 234, 300, 196, 381, 453, 269, 0, 0, 0, 0, + 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, + 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, + 0, 248, 296, 255, 247, 473, 0, 0, 0, 0, + 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4962,93 +4793,154 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 279, 0, 370, 240, - 0, 0, 0, 0, 508, 0, 0, 0, 0, 0, - 0, 0, 336, 0, 305, 192, 212, 0, 0, 380, - 423, 429, 0, 0, 0, 238, 0, 427, 394, 491, - 220, 267, 420, 400, 425, 407, 270, 0, 0, 426, - 342, 477, 414, 488, 509, 510, 246, 374, 499, 466, - 505, 523, 213, 243, 388, 459, 494, 449, 366, 473, - 474, 304, 448, 277, 195, 340, 515, 211, 435, 229, - 218, 479, 497, 272, 418, 203, 461, 486, 226, 439, - 0, 0, 525, 205, 484, 458, 362, 301, 302, 204, - 0, 419, 251, 275, 241, 383, 481, 482, 239, 526, - 215, 504, 207, 0, 503, 376, 476, 485, 363, 352, - 206, 483, 361, 351, 307, 326, 327, 263, 286, 412, - 345, 413, 287, 372, 371, 373, 198, 495, 0, 199, - 0, 454, 496, 527, 221, 222, 224, 0, 262, 266, - 274, 276, 282, 283, 290, 338, 387, 411, 409, 415, - 0, 471, 489, 500, 507, 513, 514, 516, 517, 518, - 519, 520, 522, 521, 375, 289, 450, 306, 343, 0, - 0, 393, 428, 227, 493, 451, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 528, 529, 530, + 0, 0, 0, 0, 0, 0, 0, 279, 0, 370, + 240, 0, 0, 0, 0, 509, 0, 0, 0, 0, + 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, + 380, 423, 429, 0, 0, 0, 238, 0, 427, 394, + 492, 220, 267, 420, 400, 425, 407, 270, 0, 0, + 426, 342, 478, 414, 489, 510, 511, 246, 374, 500, + 466, 506, 524, 213, 243, 388, 459, 495, 449, 366, + 474, 475, 304, 448, 277, 195, 340, 516, 211, 435, + 229, 218, 480, 498, 272, 418, 203, 461, 487, 226, + 439, 0, 0, 526, 205, 485, 458, 362, 301, 302, + 204, 0, 419, 251, 275, 241, 383, 482, 483, 239, + 527, 215, 505, 207, 0, 504, 376, 477, 486, 363, + 352, 206, 484, 361, 351, 307, 326, 327, 263, 286, + 412, 345, 413, 287, 372, 371, 373, 198, 496, 0, + 199, 0, 454, 497, 528, 221, 222, 224, 0, 262, + 266, 274, 276, 282, 283, 290, 338, 387, 411, 409, + 415, 0, 472, 490, 501, 508, 514, 515, 517, 518, + 519, 520, 521, 523, 522, 375, 289, 450, 306, 343, + 0, 0, 393, 428, 227, 494, 451, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, - 541, 542, 543, 544, 545, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 546, 353, 441, 490, 308, - 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, - 318, 319, 324, 325, 329, 335, 235, 201, 359, 367, - 0, 191, 208, 339, 0, 416, 271, 524, 502, 498, - 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, + 541, 542, 543, 544, 545, 546, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 547, 353, 441, 491, + 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, + 317, 318, 319, 324, 325, 329, 335, 235, 201, 359, + 367, 471, 0, 191, 208, 339, 0, 416, 271, 525, + 503, 499, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, - 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, - 294, 297, 303, 349, 355, 356, 357, 358, 377, 378, - 379, 382, 385, 386, 389, 391, 392, 395, 399, 403, - 404, 405, 406, 408, 410, 417, 422, 430, 431, 432, - 433, 434, 437, 438, 443, 444, 445, 446, 447, 455, - 456, 460, 478, 480, 492, 506, 511, 436, 281, 487, - 512, 0, 348, 0, 0, 350, 264, 284, 295, 0, - 501, 457, 214, 424, 273, 202, 233, 217, 242, 257, - 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, - 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, - 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 384, 0, 1503, - 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, - 0, 337, 250, 0, 0, 398, 0, 197, 0, 442, - 237, 347, 344, 475, 265, 256, 252, 236, 292, 354, - 396, 462, 390, 0, 341, 0, 0, 452, 369, 0, + 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, + 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, + 288, 293, 294, 297, 303, 349, 355, 356, 357, 358, + 377, 378, 379, 382, 385, 386, 389, 391, 392, 395, + 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, + 431, 432, 433, 434, 437, 438, 443, 444, 445, 446, + 447, 455, 456, 460, 479, 481, 493, 507, 512, 436, + 281, 488, 513, 0, 348, 0, 0, 350, 264, 284, + 295, 0, 502, 457, 214, 424, 273, 202, 233, 217, + 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, + 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, + 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, + 0, 1516, 0, 0, 0, 0, 0, 0, 253, 0, + 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, + 0, 442, 237, 347, 344, 476, 265, 256, 252, 236, + 292, 354, 396, 462, 390, 0, 341, 0, 0, 452, + 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, + 381, 453, 269, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 298, 234, 300, 196, 381, 453, - 269, 0, 0, 0, 0, 188, 189, 190, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, - 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, - 334, 0, 0, 0, 0, 0, 248, 296, 255, 247, - 472, 0, 0, 0, 0, 0, 0, 0, 216, 0, + 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, + 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, + 255, 247, 473, 0, 0, 0, 0, 0, 0, 0, + 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 279, 0, 370, 240, 0, 0, + 0, 0, 509, 0, 0, 0, 0, 0, 0, 0, + 336, 0, 305, 192, 212, 0, 0, 380, 423, 429, + 0, 0, 0, 238, 0, 427, 394, 492, 220, 267, + 420, 400, 425, 407, 270, 0, 0, 426, 342, 478, + 414, 489, 510, 511, 246, 374, 500, 466, 506, 524, + 213, 243, 388, 459, 495, 449, 366, 474, 475, 304, + 448, 277, 195, 340, 516, 211, 435, 229, 218, 480, + 498, 272, 418, 203, 461, 487, 226, 439, 0, 0, + 526, 205, 485, 458, 362, 301, 302, 204, 0, 419, + 251, 275, 241, 383, 482, 483, 239, 527, 215, 505, + 207, 0, 504, 376, 477, 486, 363, 352, 206, 484, + 361, 351, 307, 326, 327, 263, 286, 412, 345, 413, + 287, 372, 371, 373, 198, 496, 0, 199, 0, 454, + 497, 528, 221, 222, 224, 0, 262, 266, 274, 276, + 282, 283, 290, 338, 387, 411, 409, 415, 0, 472, + 490, 501, 508, 514, 515, 517, 518, 519, 520, 521, + 523, 522, 375, 289, 450, 306, 343, 0, 0, 393, + 428, 227, 494, 451, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 547, 353, 441, 491, 308, 320, 323, + 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, + 324, 325, 329, 335, 235, 201, 359, 367, 471, 0, + 191, 208, 339, 0, 416, 271, 525, 503, 499, 0, + 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 279, 0, 370, 240, 0, 0, 0, 0, - 508, 0, 0, 0, 0, 0, 0, 0, 336, 0, - 305, 192, 212, 0, 0, 380, 423, 429, 0, 0, - 0, 238, 0, 427, 394, 491, 220, 267, 420, 400, - 425, 407, 270, 0, 0, 426, 342, 477, 414, 488, - 509, 510, 246, 374, 499, 466, 505, 523, 213, 243, - 388, 459, 494, 449, 366, 473, 474, 304, 448, 277, - 195, 340, 515, 211, 435, 229, 218, 479, 497, 272, - 418, 203, 461, 486, 226, 439, 0, 0, 525, 205, - 484, 458, 362, 301, 302, 204, 0, 419, 251, 275, - 241, 383, 481, 482, 239, 526, 215, 504, 207, 0, - 503, 376, 476, 485, 363, 352, 206, 483, 361, 351, - 307, 326, 327, 263, 286, 412, 345, 413, 287, 372, - 371, 373, 198, 495, 0, 199, 0, 454, 496, 527, - 221, 222, 224, 0, 262, 266, 274, 276, 282, 283, - 290, 338, 387, 411, 409, 415, 0, 471, 489, 500, - 507, 513, 514, 516, 517, 518, 519, 520, 522, 521, - 375, 289, 450, 306, 343, 0, 0, 393, 428, 227, - 493, 451, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 528, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 546, 353, 441, 490, 308, 320, 323, 313, 332, - 0, 333, 309, 310, 315, 317, 318, 319, 324, 325, - 329, 335, 235, 201, 359, 367, 0, 191, 208, 339, - 0, 416, 271, 524, 502, 498, 0, 210, 0, 245, + 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, + 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, + 297, 303, 349, 355, 356, 357, 358, 377, 378, 379, + 382, 385, 386, 389, 391, 392, 395, 399, 403, 404, + 405, 406, 408, 410, 417, 422, 430, 431, 432, 433, + 434, 437, 438, 443, 444, 445, 446, 447, 455, 456, + 460, 479, 481, 493, 507, 512, 436, 281, 488, 513, + 0, 348, 0, 0, 350, 264, 284, 295, 0, 502, + 457, 214, 424, 273, 202, 233, 217, 242, 257, 260, + 299, 360, 368, 397, 402, 278, 254, 231, 421, 228, + 440, 463, 464, 465, 467, 364, 249, 401, 0, 365, + 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 384, 0, 1514, 0, + 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, + 337, 250, 0, 0, 398, 0, 197, 0, 442, 237, + 347, 344, 476, 265, 256, 252, 236, 292, 354, 396, + 462, 390, 0, 341, 0, 0, 452, 369, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 298, 234, 300, 196, 381, 453, 269, + 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, + 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, + 0, 0, 0, 0, 0, 248, 296, 255, 247, 473, + 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 279, 0, 370, 240, 0, 0, 0, 0, 509, + 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, + 192, 212, 0, 0, 380, 423, 429, 0, 0, 0, + 238, 0, 427, 394, 492, 220, 267, 420, 400, 425, + 407, 270, 0, 0, 426, 342, 478, 414, 489, 510, + 511, 246, 374, 500, 466, 506, 524, 213, 243, 388, + 459, 495, 449, 366, 474, 475, 304, 448, 277, 195, + 340, 516, 211, 435, 229, 218, 480, 498, 272, 418, + 203, 461, 487, 226, 439, 0, 0, 526, 205, 485, + 458, 362, 301, 302, 204, 0, 419, 251, 275, 241, + 383, 482, 483, 239, 527, 215, 505, 207, 0, 504, + 376, 477, 486, 363, 352, 206, 484, 361, 351, 307, + 326, 327, 263, 286, 412, 345, 413, 287, 372, 371, + 373, 198, 496, 0, 199, 0, 454, 497, 528, 221, + 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, + 338, 387, 411, 409, 415, 0, 472, 490, 501, 508, + 514, 515, 517, 518, 519, 520, 521, 523, 522, 375, + 289, 450, 306, 343, 0, 0, 393, 428, 227, 494, + 451, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 529, 530, 531, 532, 533, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 547, 353, 441, 491, 308, 320, 323, 313, 332, 0, + 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, + 335, 235, 201, 359, 367, 471, 0, 191, 208, 339, + 0, 416, 271, 525, 503, 499, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, @@ -5056,16 +4948,16 @@ var yyAct = [...]int{ 355, 356, 357, 358, 377, 378, 379, 382, 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, 437, 438, - 443, 444, 445, 446, 447, 455, 456, 460, 478, 480, - 492, 506, 511, 436, 281, 487, 512, 0, 348, 0, - 0, 350, 264, 284, 295, 0, 501, 457, 214, 424, + 443, 444, 445, 446, 447, 455, 456, 460, 479, 481, + 493, 507, 512, 436, 281, 488, 513, 0, 348, 0, + 0, 350, 264, 284, 295, 0, 502, 457, 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 384, 0, 1501, 0, 0, 0, 0, + 0, 0, 0, 384, 0, 1512, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, 0, - 0, 398, 0, 197, 0, 442, 237, 347, 344, 475, + 0, 398, 0, 197, 0, 442, 237, 347, 344, 476, 265, 256, 252, 236, 292, 354, 396, 462, 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5073,7 +4965,7 @@ var yyAct = [...]int{ 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, - 0, 0, 248, 296, 255, 247, 472, 0, 0, 0, + 0, 0, 248, 296, 255, 247, 473, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5084,59 +4976,59 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, - 370, 240, 0, 0, 0, 0, 508, 0, 0, 0, + 370, 240, 0, 0, 0, 0, 509, 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, 380, 423, 429, 0, 0, 0, 238, 0, 427, - 394, 491, 220, 267, 420, 400, 425, 407, 270, 0, - 0, 426, 342, 477, 414, 488, 509, 510, 246, 374, - 499, 466, 505, 523, 213, 243, 388, 459, 494, 449, - 366, 473, 474, 304, 448, 277, 195, 340, 515, 211, - 435, 229, 218, 479, 497, 272, 418, 203, 461, 486, - 226, 439, 0, 0, 525, 205, 484, 458, 362, 301, - 302, 204, 0, 419, 251, 275, 241, 383, 481, 482, - 239, 526, 215, 504, 207, 0, 503, 376, 476, 485, - 363, 352, 206, 483, 361, 351, 307, 326, 327, 263, - 286, 412, 345, 413, 287, 372, 371, 373, 198, 495, - 0, 199, 0, 454, 496, 527, 221, 222, 224, 0, + 394, 492, 220, 267, 420, 400, 425, 407, 270, 0, + 0, 426, 342, 478, 414, 489, 510, 511, 246, 374, + 500, 466, 506, 524, 213, 243, 388, 459, 495, 449, + 366, 474, 475, 304, 448, 277, 195, 340, 516, 211, + 435, 229, 218, 480, 498, 272, 418, 203, 461, 487, + 226, 439, 0, 0, 526, 205, 485, 458, 362, 301, + 302, 204, 0, 419, 251, 275, 241, 383, 482, 483, + 239, 527, 215, 505, 207, 0, 504, 376, 477, 486, + 363, 352, 206, 484, 361, 351, 307, 326, 327, 263, + 286, 412, 345, 413, 287, 372, 371, 373, 198, 496, + 0, 199, 0, 454, 497, 528, 221, 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, 338, 387, 411, - 409, 415, 0, 471, 489, 500, 507, 513, 514, 516, - 517, 518, 519, 520, 522, 521, 375, 289, 450, 306, - 343, 0, 0, 393, 428, 227, 493, 451, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 528, - 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, - 539, 540, 541, 542, 543, 544, 545, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 546, 353, 441, - 490, 308, 320, 323, 313, 332, 0, 333, 309, 310, + 409, 415, 0, 472, 490, 501, 508, 514, 515, 517, + 518, 519, 520, 521, 523, 522, 375, 289, 450, 306, + 343, 0, 0, 393, 428, 227, 494, 451, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 545, 546, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 547, 353, 441, + 491, 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, 335, 235, 201, - 359, 367, 0, 191, 208, 339, 0, 416, 271, 524, - 502, 498, 0, 210, 0, 245, 0, 0, 0, 0, + 359, 367, 471, 0, 191, 208, 339, 0, 416, 271, + 525, 503, 499, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, - 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, - 288, 293, 294, 297, 303, 349, 355, 356, 357, 358, - 377, 378, 379, 382, 385, 386, 389, 391, 392, 395, - 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, - 431, 432, 433, 434, 437, 438, 443, 444, 445, 446, - 447, 455, 456, 460, 478, 480, 492, 506, 511, 436, - 281, 487, 512, 0, 348, 0, 0, 350, 264, 284, - 295, 0, 501, 457, 214, 424, 273, 202, 233, 217, - 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, - 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, - 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, - 0, 1499, 0, 0, 0, 0, 0, 0, 253, 0, - 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, - 0, 442, 237, 347, 344, 475, 265, 256, 252, 236, - 292, 354, 396, 462, 390, 0, 341, 0, 0, 452, - 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, - 381, 453, 269, 0, 0, 0, 0, 188, 189, 190, + 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, + 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, + 285, 288, 293, 294, 297, 303, 349, 355, 356, 357, + 358, 377, 378, 379, 382, 385, 386, 389, 391, 392, + 395, 399, 403, 404, 405, 406, 408, 410, 417, 422, + 430, 431, 432, 433, 434, 437, 438, 443, 444, 445, + 446, 447, 455, 456, 460, 479, 481, 493, 507, 512, + 436, 281, 488, 513, 0, 348, 0, 0, 350, 264, + 284, 295, 0, 502, 457, 214, 424, 273, 202, 233, + 217, 242, 257, 260, 299, 360, 368, 397, 402, 278, + 254, 231, 421, 228, 440, 463, 464, 465, 467, 364, + 249, 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, - 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, - 255, 247, 472, 0, 0, 0, 0, 0, 0, 0, - 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, + 384, 0, 1510, 0, 0, 0, 0, 0, 0, 253, + 0, 0, 0, 0, 337, 250, 0, 0, 398, 0, + 197, 0, 442, 237, 347, 344, 476, 265, 256, 252, + 236, 292, 354, 396, 462, 390, 0, 341, 0, 0, + 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, + 196, 381, 453, 269, 0, 0, 0, 0, 188, 189, + 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, + 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, + 296, 255, 247, 473, 0, 0, 0, 0, 0, 0, + 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5144,93 +5036,154 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 279, 0, 370, 240, 0, 0, - 0, 0, 508, 0, 0, 0, 0, 0, 0, 0, - 336, 0, 305, 192, 212, 0, 0, 380, 423, 429, - 0, 0, 0, 238, 0, 427, 394, 491, 220, 267, - 420, 400, 425, 407, 270, 0, 0, 426, 342, 477, - 414, 488, 509, 510, 246, 374, 499, 466, 505, 523, - 213, 243, 388, 459, 494, 449, 366, 473, 474, 304, - 448, 277, 195, 340, 515, 211, 435, 229, 218, 479, - 497, 272, 418, 203, 461, 486, 226, 439, 0, 0, - 525, 205, 484, 458, 362, 301, 302, 204, 0, 419, - 251, 275, 241, 383, 481, 482, 239, 526, 215, 504, - 207, 0, 503, 376, 476, 485, 363, 352, 206, 483, - 361, 351, 307, 326, 327, 263, 286, 412, 345, 413, - 287, 372, 371, 373, 198, 495, 0, 199, 0, 454, - 496, 527, 221, 222, 224, 0, 262, 266, 274, 276, - 282, 283, 290, 338, 387, 411, 409, 415, 0, 471, - 489, 500, 507, 513, 514, 516, 517, 518, 519, 520, - 522, 521, 375, 289, 450, 306, 343, 0, 0, 393, - 428, 227, 493, 451, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 528, 529, 530, 531, 532, + 0, 0, 0, 0, 0, 279, 0, 370, 240, 0, + 0, 0, 0, 509, 0, 0, 0, 0, 0, 0, + 0, 336, 0, 305, 192, 212, 0, 0, 380, 423, + 429, 0, 0, 0, 238, 0, 427, 394, 492, 220, + 267, 420, 400, 425, 407, 270, 0, 0, 426, 342, + 478, 414, 489, 510, 511, 246, 374, 500, 466, 506, + 524, 213, 243, 388, 459, 495, 449, 366, 474, 475, + 304, 448, 277, 195, 340, 516, 211, 435, 229, 218, + 480, 498, 272, 418, 203, 461, 487, 226, 439, 0, + 0, 526, 205, 485, 458, 362, 301, 302, 204, 0, + 419, 251, 275, 241, 383, 482, 483, 239, 527, 215, + 505, 207, 0, 504, 376, 477, 486, 363, 352, 206, + 484, 361, 351, 307, 326, 327, 263, 286, 412, 345, + 413, 287, 372, 371, 373, 198, 496, 0, 199, 0, + 454, 497, 528, 221, 222, 224, 0, 262, 266, 274, + 276, 282, 283, 290, 338, 387, 411, 409, 415, 0, + 472, 490, 501, 508, 514, 515, 517, 518, 519, 520, + 521, 523, 522, 375, 289, 450, 306, 343, 0, 0, + 393, 428, 227, 494, 451, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, - 543, 544, 545, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 546, 353, 441, 490, 308, 320, 323, - 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, - 324, 325, 329, 335, 235, 201, 359, 367, 0, 191, - 208, 339, 0, 416, 271, 524, 502, 498, 0, 210, - 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, + 543, 544, 545, 546, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 547, 353, 441, 491, 308, 320, + 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, + 319, 324, 325, 329, 335, 235, 201, 359, 367, 471, + 0, 191, 208, 339, 0, 416, 271, 525, 503, 499, + 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, + 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, + 294, 297, 303, 349, 355, 356, 357, 358, 377, 378, + 379, 382, 385, 386, 389, 391, 392, 395, 399, 403, + 404, 405, 406, 408, 410, 417, 422, 430, 431, 432, + 433, 434, 437, 438, 443, 444, 445, 446, 447, 455, + 456, 460, 479, 481, 493, 507, 512, 436, 281, 488, + 513, 0, 348, 0, 0, 350, 264, 284, 295, 0, + 502, 457, 214, 424, 273, 202, 233, 217, 242, 257, + 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, + 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, + 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 384, 0, 1506, + 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, + 0, 337, 250, 0, 0, 398, 0, 197, 0, 442, + 237, 347, 344, 476, 265, 256, 252, 236, 292, 354, + 396, 462, 390, 0, 341, 0, 0, 452, 369, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 298, 234, 300, 196, 381, 453, + 269, 0, 0, 0, 0, 188, 189, 190, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, + 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, + 334, 0, 0, 0, 0, 0, 248, 296, 255, 247, + 473, 0, 0, 0, 0, 0, 0, 0, 216, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, - 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, - 303, 349, 355, 356, 357, 358, 377, 378, 379, 382, - 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, - 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, - 437, 438, 443, 444, 445, 446, 447, 455, 456, 460, - 478, 480, 492, 506, 511, 436, 281, 487, 512, 0, - 348, 0, 0, 350, 264, 284, 295, 0, 501, 457, - 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, - 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, - 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, - 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 384, 0, 0, 0, 0, - 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, - 250, 0, 0, 398, 0, 197, 0, 442, 237, 347, - 344, 475, 265, 256, 252, 236, 292, 354, 396, 462, - 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 298, 234, 300, 196, 381, 453, 269, 0, - 1474, 0, 0, 188, 189, 190, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, - 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, - 0, 0, 0, 0, 248, 296, 255, 247, 472, 0, - 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 279, 0, 370, 240, 0, 0, 0, 0, + 509, 0, 0, 0, 0, 0, 0, 0, 336, 0, + 305, 192, 212, 0, 0, 380, 423, 429, 0, 0, + 0, 238, 0, 427, 394, 492, 220, 267, 420, 400, + 425, 407, 270, 0, 0, 426, 342, 478, 414, 489, + 510, 511, 246, 374, 500, 466, 506, 524, 213, 243, + 388, 459, 495, 449, 366, 474, 475, 304, 448, 277, + 195, 340, 516, 211, 435, 229, 218, 480, 498, 272, + 418, 203, 461, 487, 226, 439, 0, 0, 526, 205, + 485, 458, 362, 301, 302, 204, 0, 419, 251, 275, + 241, 383, 482, 483, 239, 527, 215, 505, 207, 0, + 504, 376, 477, 486, 363, 352, 206, 484, 361, 351, + 307, 326, 327, 263, 286, 412, 345, 413, 287, 372, + 371, 373, 198, 496, 0, 199, 0, 454, 497, 528, + 221, 222, 224, 0, 262, 266, 274, 276, 282, 283, + 290, 338, 387, 411, 409, 415, 0, 472, 490, 501, + 508, 514, 515, 517, 518, 519, 520, 521, 523, 522, + 375, 289, 450, 306, 343, 0, 0, 393, 428, 227, + 494, 451, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 529, 530, 531, 532, 533, 534, 535, + 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, + 546, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 547, 353, 441, 491, 308, 320, 323, 313, 332, + 0, 333, 309, 310, 315, 317, 318, 319, 324, 325, + 329, 335, 235, 201, 359, 367, 471, 0, 191, 208, + 339, 0, 416, 271, 525, 503, 499, 0, 210, 0, + 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, + 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, + 349, 355, 356, 357, 358, 377, 378, 379, 382, 385, + 386, 389, 391, 392, 395, 399, 403, 404, 405, 406, + 408, 410, 417, 422, 430, 431, 432, 433, 434, 437, + 438, 443, 444, 445, 446, 447, 455, 456, 460, 479, + 481, 493, 507, 512, 436, 281, 488, 513, 0, 348, + 0, 0, 350, 264, 284, 295, 0, 502, 457, 214, + 424, 273, 202, 233, 217, 242, 257, 260, 299, 360, + 368, 397, 402, 278, 254, 231, 421, 228, 440, 463, + 464, 465, 467, 364, 249, 401, 0, 365, 346, 469, + 470, 291, 468, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 384, 0, 1504, 0, 0, 0, + 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, + 0, 0, 398, 0, 197, 0, 442, 237, 347, 344, + 476, 265, 256, 252, 236, 292, 354, 396, 462, 390, + 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 298, 234, 300, 196, 381, 453, 269, 0, 0, + 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, + 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, + 0, 0, 0, 248, 296, 255, 247, 473, 0, 0, + 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 279, 0, 370, 240, 0, 0, 0, 0, 508, 0, - 0, 0, 0, 0, 0, 0, 336, 0, 305, 192, - 212, 0, 0, 380, 423, 429, 0, 0, 0, 238, - 0, 427, 394, 491, 220, 267, 420, 400, 425, 407, - 270, 0, 0, 426, 342, 477, 414, 488, 509, 510, - 246, 374, 499, 466, 505, 523, 213, 243, 388, 459, - 494, 449, 366, 473, 474, 304, 448, 277, 195, 340, - 515, 211, 435, 229, 218, 479, 497, 272, 418, 203, - 461, 486, 226, 439, 0, 0, 525, 205, 484, 458, - 362, 301, 302, 204, 0, 419, 251, 275, 241, 383, - 481, 482, 239, 526, 215, 504, 207, 0, 503, 376, - 476, 485, 363, 352, 206, 483, 361, 351, 307, 326, - 327, 263, 286, 412, 345, 413, 287, 372, 371, 373, - 198, 495, 0, 199, 0, 454, 496, 527, 221, 222, - 224, 0, 262, 266, 274, 276, 282, 283, 290, 338, - 387, 411, 409, 415, 0, 471, 489, 500, 507, 513, - 514, 516, 517, 518, 519, 520, 522, 521, 375, 289, - 450, 306, 343, 0, 0, 393, 428, 227, 493, 451, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 528, 529, 530, 531, 532, 533, 534, 535, 536, - 537, 538, 539, 540, 541, 542, 543, 544, 545, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 546, - 353, 441, 490, 308, 320, 323, 313, 332, 0, 333, - 309, 310, 315, 317, 318, 319, 324, 325, 329, 335, - 235, 201, 359, 367, 0, 191, 208, 339, 0, 416, - 271, 524, 502, 498, 0, 210, 0, 245, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, + 0, 370, 240, 0, 0, 0, 0, 509, 0, 0, + 0, 0, 0, 0, 0, 336, 0, 305, 192, 212, + 0, 0, 380, 423, 429, 0, 0, 0, 238, 0, + 427, 394, 492, 220, 267, 420, 400, 425, 407, 270, + 0, 0, 426, 342, 478, 414, 489, 510, 511, 246, + 374, 500, 466, 506, 524, 213, 243, 388, 459, 495, + 449, 366, 474, 475, 304, 448, 277, 195, 340, 516, + 211, 435, 229, 218, 480, 498, 272, 418, 203, 461, + 487, 226, 439, 0, 0, 526, 205, 485, 458, 362, + 301, 302, 204, 0, 419, 251, 275, 241, 383, 482, + 483, 239, 527, 215, 505, 207, 0, 504, 376, 477, + 486, 363, 352, 206, 484, 361, 351, 307, 326, 327, + 263, 286, 412, 345, 413, 287, 372, 371, 373, 198, + 496, 0, 199, 0, 454, 497, 528, 221, 222, 224, + 0, 262, 266, 274, 276, 282, 283, 290, 338, 387, + 411, 409, 415, 0, 472, 490, 501, 508, 514, 515, + 517, 518, 519, 520, 521, 523, 522, 375, 289, 450, + 306, 343, 0, 0, 393, 428, 227, 494, 451, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, + 539, 540, 541, 542, 543, 544, 545, 546, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 547, 353, + 441, 491, 308, 320, 323, 313, 332, 0, 333, 309, + 310, 315, 317, 318, 319, 324, 325, 329, 335, 235, + 201, 359, 367, 471, 0, 191, 208, 339, 0, 416, + 271, 525, 503, 499, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, @@ -5238,16 +5191,16 @@ var yyAct = [...]int{ 357, 358, 377, 378, 379, 382, 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, 437, 438, 443, 444, - 445, 446, 447, 455, 456, 460, 478, 480, 492, 506, - 511, 436, 281, 487, 512, 0, 348, 0, 0, 350, - 264, 284, 295, 0, 501, 457, 214, 424, 273, 202, + 445, 446, 447, 455, 456, 460, 479, 481, 493, 507, + 512, 436, 281, 488, 513, 0, 348, 0, 0, 350, + 264, 284, 295, 0, 502, 457, 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 384, 0, 0, 0, 0, 0, 0, 0, 1374, + 0, 384, 0, 1502, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, 398, - 0, 197, 0, 442, 237, 347, 344, 475, 265, 256, + 0, 197, 0, 442, 237, 347, 344, 476, 265, 256, 252, 236, 292, 354, 396, 462, 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, @@ -5255,7 +5208,7 @@ var yyAct = [...]int{ 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, - 248, 296, 255, 247, 472, 0, 0, 0, 0, 0, + 248, 296, 255, 247, 473, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5266,59 +5219,59 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, 370, 240, - 0, 0, 0, 0, 508, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 509, 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, 380, - 423, 429, 0, 0, 0, 238, 0, 427, 394, 491, + 423, 429, 0, 0, 0, 238, 0, 427, 394, 492, 220, 267, 420, 400, 425, 407, 270, 0, 0, 426, - 342, 477, 414, 488, 509, 510, 246, 374, 499, 466, - 505, 523, 213, 243, 388, 459, 494, 449, 366, 473, - 474, 304, 448, 277, 195, 340, 515, 211, 435, 229, - 218, 479, 497, 272, 418, 203, 461, 486, 226, 439, - 0, 0, 525, 205, 484, 458, 362, 301, 302, 204, - 0, 419, 251, 275, 241, 383, 481, 482, 239, 526, - 215, 504, 207, 0, 503, 376, 476, 485, 363, 352, - 206, 483, 361, 351, 307, 326, 327, 263, 286, 412, - 345, 413, 287, 372, 371, 373, 198, 495, 0, 199, - 0, 454, 496, 527, 221, 222, 224, 0, 262, 266, + 342, 478, 414, 489, 510, 511, 246, 374, 500, 466, + 506, 524, 213, 243, 388, 459, 495, 449, 366, 474, + 475, 304, 448, 277, 195, 340, 516, 211, 435, 229, + 218, 480, 498, 272, 418, 203, 461, 487, 226, 439, + 0, 0, 526, 205, 485, 458, 362, 301, 302, 204, + 0, 419, 251, 275, 241, 383, 482, 483, 239, 527, + 215, 505, 207, 0, 504, 376, 477, 486, 363, 352, + 206, 484, 361, 351, 307, 326, 327, 263, 286, 412, + 345, 413, 287, 372, 371, 373, 198, 496, 0, 199, + 0, 454, 497, 528, 221, 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, 338, 387, 411, 409, 415, - 0, 471, 489, 500, 507, 513, 514, 516, 517, 518, - 519, 520, 522, 521, 375, 289, 450, 306, 343, 0, - 0, 393, 428, 227, 493, 451, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 528, 529, 530, - 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, - 541, 542, 543, 544, 545, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 546, 353, 441, 490, 308, + 0, 472, 490, 501, 508, 514, 515, 517, 518, 519, + 520, 521, 523, 522, 375, 289, 450, 306, 343, 0, + 0, 393, 428, 227, 494, 451, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 529, 530, 531, + 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, + 542, 543, 544, 545, 546, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 547, 353, 441, 491, 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, 335, 235, 201, 359, 367, - 0, 191, 208, 339, 0, 416, 271, 524, 502, 498, - 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, + 471, 0, 191, 208, 339, 0, 416, 271, 525, 503, + 499, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, - 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, - 294, 297, 303, 349, 355, 356, 357, 358, 377, 378, - 379, 382, 385, 386, 389, 391, 392, 395, 399, 403, - 404, 405, 406, 408, 410, 417, 422, 430, 431, 432, - 433, 434, 437, 438, 443, 444, 445, 446, 447, 455, - 456, 460, 478, 480, 492, 506, 511, 436, 281, 487, - 512, 0, 348, 0, 0, 350, 264, 284, 295, 0, - 501, 457, 214, 424, 273, 202, 233, 217, 242, 257, - 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, - 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, - 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 384, 0, 0, - 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, - 0, 337, 250, 0, 0, 398, 0, 197, 0, 442, - 237, 347, 344, 475, 265, 256, 252, 236, 292, 354, - 396, 462, 390, 0, 341, 0, 0, 452, 369, 0, + 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, + 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, + 293, 294, 297, 303, 349, 355, 356, 357, 358, 377, + 378, 379, 382, 385, 386, 389, 391, 392, 395, 399, + 403, 404, 405, 406, 408, 410, 417, 422, 430, 431, + 432, 433, 434, 437, 438, 443, 444, 445, 446, 447, + 455, 456, 460, 479, 481, 493, 507, 512, 436, 281, + 488, 513, 0, 348, 0, 0, 350, 264, 284, 295, + 0, 502, 457, 214, 424, 273, 202, 233, 217, 242, + 257, 260, 299, 360, 368, 397, 402, 278, 254, 231, + 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, + 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 384, 0, + 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, + 0, 0, 337, 250, 0, 0, 398, 0, 197, 0, + 442, 237, 347, 344, 476, 265, 256, 252, 236, 292, + 354, 396, 462, 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 298, 234, 300, 196, 381, 453, - 269, 0, 0, 0, 0, 188, 189, 190, 0, 1171, - 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, - 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, - 334, 0, 0, 0, 0, 0, 248, 296, 255, 247, - 472, 0, 0, 0, 0, 0, 0, 0, 216, 0, + 0, 0, 0, 0, 0, 298, 234, 300, 196, 381, + 453, 269, 0, 1477, 0, 0, 188, 189, 190, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, + 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, + 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, + 247, 473, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5326,59 +5279,60 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 279, 0, 370, 240, 0, 0, 0, 0, - 508, 0, 0, 0, 0, 0, 0, 0, 336, 0, - 305, 192, 212, 0, 0, 380, 423, 429, 0, 0, - 0, 238, 0, 427, 394, 491, 220, 267, 420, 400, - 425, 407, 270, 0, 0, 426, 342, 477, 414, 488, - 509, 510, 246, 374, 499, 466, 505, 523, 213, 243, - 388, 459, 494, 449, 366, 473, 474, 304, 448, 277, - 195, 340, 515, 211, 435, 229, 218, 479, 497, 272, - 418, 203, 461, 486, 226, 439, 0, 0, 525, 205, - 484, 458, 362, 301, 302, 204, 0, 419, 251, 275, - 241, 383, 481, 482, 239, 526, 215, 504, 207, 0, - 503, 376, 476, 485, 363, 352, 206, 483, 361, 351, - 307, 326, 327, 263, 286, 412, 345, 413, 287, 372, - 371, 373, 198, 495, 0, 199, 0, 454, 496, 527, - 221, 222, 224, 0, 262, 266, 274, 276, 282, 283, - 290, 338, 387, 411, 409, 415, 0, 471, 489, 500, - 507, 513, 514, 516, 517, 518, 519, 520, 522, 521, - 375, 289, 450, 306, 343, 0, 0, 393, 428, 227, - 493, 451, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 528, 529, 530, 531, 532, 533, 534, + 0, 0, 0, 279, 0, 370, 240, 0, 0, 0, + 0, 509, 0, 0, 0, 0, 0, 0, 0, 336, + 0, 305, 192, 212, 0, 0, 380, 423, 429, 0, + 0, 0, 238, 0, 427, 394, 492, 220, 267, 420, + 400, 425, 407, 270, 0, 0, 426, 342, 478, 414, + 489, 510, 511, 246, 374, 500, 466, 506, 524, 213, + 243, 388, 459, 495, 449, 366, 474, 475, 304, 448, + 277, 195, 340, 516, 211, 435, 229, 218, 480, 498, + 272, 418, 203, 461, 487, 226, 439, 0, 0, 526, + 205, 485, 458, 362, 301, 302, 204, 0, 419, 251, + 275, 241, 383, 482, 483, 239, 527, 215, 505, 207, + 0, 504, 376, 477, 486, 363, 352, 206, 484, 361, + 351, 307, 326, 327, 263, 286, 412, 345, 413, 287, + 372, 371, 373, 198, 496, 0, 199, 0, 454, 497, + 528, 221, 222, 224, 0, 262, 266, 274, 276, 282, + 283, 290, 338, 387, 411, 409, 415, 0, 472, 490, + 501, 508, 514, 515, 517, 518, 519, 520, 521, 523, + 522, 375, 289, 450, 306, 343, 0, 0, 393, 428, + 227, 494, 451, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 546, 353, 441, 490, 308, 320, 323, 313, 332, - 0, 333, 309, 310, 315, 317, 318, 319, 324, 325, - 329, 335, 235, 201, 359, 367, 0, 191, 208, 339, - 0, 416, 271, 524, 502, 498, 0, 210, 0, 245, + 545, 546, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 547, 353, 441, 491, 308, 320, 323, 313, + 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, + 325, 329, 335, 235, 201, 359, 367, 471, 0, 191, + 208, 339, 0, 416, 271, 525, 503, 499, 0, 210, + 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, + 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, + 303, 349, 355, 356, 357, 358, 377, 378, 379, 382, + 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, + 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, + 437, 438, 443, 444, 445, 446, 447, 455, 456, 460, + 479, 481, 493, 507, 512, 436, 281, 488, 513, 0, + 348, 0, 0, 350, 264, 284, 295, 0, 502, 457, + 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, + 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, + 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, + 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 384, 0, 0, 0, 0, + 0, 0, 0, 1377, 253, 0, 0, 0, 0, 337, + 250, 0, 0, 398, 0, 197, 0, 442, 237, 347, + 344, 476, 265, 256, 252, 236, 292, 354, 396, 462, + 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, - 261, 268, 280, 285, 288, 293, 294, 297, 303, 349, - 355, 356, 357, 358, 377, 378, 379, 382, 385, 386, - 389, 391, 392, 395, 399, 403, 404, 405, 406, 408, - 410, 417, 422, 430, 431, 432, 433, 434, 437, 438, - 443, 444, 445, 446, 447, 455, 456, 460, 478, 480, - 492, 506, 511, 436, 281, 487, 512, 0, 348, 0, - 0, 350, 264, 284, 295, 0, 501, 457, 214, 424, - 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, - 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, - 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, - 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 384, 0, 0, 0, 0, 0, 0, - 0, 0, 253, 0, 0, 0, 0, 337, 250, 0, - 0, 398, 0, 197, 0, 442, 237, 347, 344, 475, - 265, 256, 252, 236, 292, 354, 396, 462, 390, 0, - 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, + 0, 0, 298, 234, 300, 196, 381, 453, 269, 0, + 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, + 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, + 0, 0, 0, 0, 248, 296, 255, 247, 473, 0, + 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 298, 234, 300, 196, 381, 453, 269, 0, 0, 0, - 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, - 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, - 0, 0, 248, 296, 255, 247, 472, 0, 0, 0, - 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, + 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5386,50 +5340,110 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, - 370, 240, 0, 0, 0, 0, 508, 0, 0, 0, - 0, 0, 0, 0, 336, 0, 305, 192, 212, 0, - 0, 380, 423, 429, 0, 0, 0, 238, 0, 427, - 394, 491, 220, 267, 420, 400, 425, 407, 270, 0, - 0, 426, 342, 477, 414, 488, 509, 510, 246, 374, - 499, 466, 505, 523, 213, 243, 388, 459, 494, 449, - 366, 473, 474, 304, 448, 277, 195, 340, 515, 211, - 435, 229, 218, 479, 497, 272, 418, 203, 461, 486, - 226, 439, 0, 0, 525, 205, 484, 458, 362, 301, - 302, 204, 0, 419, 251, 275, 241, 383, 481, 482, - 239, 526, 215, 504, 207, 0, 503, 376, 476, 485, - 363, 352, 206, 483, 361, 351, 307, 326, 327, 263, - 286, 412, 345, 413, 287, 372, 371, 373, 198, 495, - 0, 199, 0, 454, 496, 527, 221, 222, 224, 0, - 262, 266, 274, 276, 282, 283, 290, 338, 387, 411, - 409, 415, 0, 471, 489, 500, 507, 513, 514, 516, - 517, 518, 519, 520, 522, 521, 375, 289, 450, 306, - 343, 0, 0, 393, 428, 227, 493, 451, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 528, - 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, - 539, 540, 541, 542, 543, 544, 545, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 546, 353, 441, - 490, 308, 320, 323, 313, 332, 0, 333, 309, 310, - 315, 317, 318, 319, 324, 325, 329, 335, 235, 201, - 359, 367, 0, 191, 208, 339, 0, 416, 271, 524, - 502, 498, 0, 210, 0, 245, 0, 0, 0, 0, + 279, 0, 370, 240, 0, 0, 0, 0, 509, 0, + 0, 0, 0, 0, 0, 0, 336, 0, 305, 192, + 212, 0, 0, 380, 423, 429, 0, 0, 0, 238, + 0, 427, 394, 492, 220, 267, 420, 400, 425, 407, + 270, 0, 0, 426, 342, 478, 414, 489, 510, 511, + 246, 374, 500, 466, 506, 524, 213, 243, 388, 459, + 495, 449, 366, 474, 475, 304, 448, 277, 195, 340, + 516, 211, 435, 229, 218, 480, 498, 272, 418, 203, + 461, 487, 226, 439, 0, 0, 526, 205, 485, 458, + 362, 301, 302, 204, 0, 419, 251, 275, 241, 383, + 482, 483, 239, 527, 215, 505, 207, 0, 504, 376, + 477, 486, 363, 352, 206, 484, 361, 351, 307, 326, + 327, 263, 286, 412, 345, 413, 287, 372, 371, 373, + 198, 496, 0, 199, 0, 454, 497, 528, 221, 222, + 224, 0, 262, 266, 274, 276, 282, 283, 290, 338, + 387, 411, 409, 415, 0, 472, 490, 501, 508, 514, + 515, 517, 518, 519, 520, 521, 523, 522, 375, 289, + 450, 306, 343, 0, 0, 393, 428, 227, 494, 451, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 546, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 547, + 353, 441, 491, 308, 320, 323, 313, 332, 0, 333, + 309, 310, 315, 317, 318, 319, 324, 325, 329, 335, + 235, 201, 359, 367, 471, 0, 191, 208, 339, 0, + 416, 271, 525, 503, 499, 0, 210, 0, 245, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, + 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, + 356, 357, 358, 377, 378, 379, 382, 385, 386, 389, + 391, 392, 395, 399, 403, 404, 405, 406, 408, 410, + 417, 422, 430, 431, 432, 433, 434, 437, 438, 443, + 444, 445, 446, 447, 455, 456, 460, 479, 481, 493, + 507, 512, 436, 281, 488, 513, 0, 348, 0, 0, + 350, 264, 284, 295, 0, 502, 457, 214, 424, 273, + 202, 233, 217, 242, 257, 260, 299, 360, 368, 397, + 402, 278, 254, 231, 421, 228, 440, 463, 464, 465, + 467, 364, 249, 401, 0, 365, 346, 469, 470, 291, + 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 384, 0, 0, 0, 0, 0, 0, 0, + 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, + 398, 0, 197, 0, 442, 237, 347, 344, 476, 265, + 256, 252, 236, 292, 354, 396, 462, 390, 0, 341, + 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, + 234, 300, 196, 381, 453, 269, 0, 0, 0, 0, + 188, 189, 190, 0, 1173, 0, 0, 0, 0, 0, + 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, + 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, + 0, 248, 296, 255, 247, 473, 0, 0, 0, 0, + 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 279, 0, 370, + 240, 0, 0, 0, 0, 509, 0, 0, 0, 0, + 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, + 380, 423, 429, 0, 0, 0, 238, 0, 427, 394, + 492, 220, 267, 420, 400, 425, 407, 270, 0, 0, + 426, 342, 478, 414, 489, 510, 511, 246, 374, 500, + 466, 506, 524, 213, 243, 388, 459, 495, 449, 366, + 474, 475, 304, 448, 277, 195, 340, 516, 211, 435, + 229, 218, 480, 498, 272, 418, 203, 461, 487, 226, + 439, 0, 0, 526, 205, 485, 458, 362, 301, 302, + 204, 0, 419, 251, 275, 241, 383, 482, 483, 239, + 527, 215, 505, 207, 0, 504, 376, 477, 486, 363, + 352, 206, 484, 361, 351, 307, 326, 327, 263, 286, + 412, 345, 413, 287, 372, 371, 373, 198, 496, 0, + 199, 0, 454, 497, 528, 221, 222, 224, 0, 262, + 266, 274, 276, 282, 283, 290, 338, 387, 411, 409, + 415, 0, 472, 490, 501, 508, 514, 515, 517, 518, + 519, 520, 521, 523, 522, 375, 289, 450, 306, 343, + 0, 0, 393, 428, 227, 494, 451, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 529, 530, + 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, + 541, 542, 543, 544, 545, 546, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 547, 353, 441, 491, + 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, + 317, 318, 319, 324, 325, 329, 335, 235, 201, 359, + 367, 471, 0, 191, 208, 339, 0, 416, 271, 525, + 503, 499, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 785, 0, 0, 0, 193, 194, 200, + 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, 357, 358, 377, 378, 379, 382, 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, 437, 438, 443, 444, 445, 446, - 447, 455, 456, 460, 478, 480, 492, 506, 511, 436, - 281, 487, 512, 0, 348, 0, 0, 350, 264, 284, - 295, 0, 501, 457, 214, 424, 273, 202, 233, 217, + 447, 455, 456, 460, 479, 481, 493, 507, 512, 436, + 281, 488, 513, 0, 348, 0, 0, 350, 264, 284, + 295, 0, 502, 457, 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, - 0, 442, 237, 347, 344, 475, 265, 256, 252, 236, + 0, 442, 237, 347, 344, 476, 265, 256, 252, 236, 292, 354, 396, 462, 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, @@ -5437,7 +5451,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, - 255, 247, 472, 0, 0, 0, 0, 0, 0, 0, + 255, 247, 473, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5447,60 +5461,120 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 603, 0, 279, 0, 370, 240, 0, 0, - 0, 0, 508, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 279, 0, 370, 240, 0, 0, + 0, 0, 509, 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, 380, 423, 429, - 0, 0, 0, 238, 0, 427, 394, 491, 220, 267, - 420, 400, 425, 407, 270, 0, 0, 426, 342, 477, - 414, 488, 509, 510, 246, 374, 499, 466, 505, 523, - 213, 243, 388, 459, 494, 449, 366, 473, 474, 304, - 448, 277, 195, 340, 515, 211, 435, 229, 218, 479, - 497, 272, 418, 203, 461, 486, 226, 439, 0, 0, - 525, 205, 484, 458, 362, 301, 302, 204, 0, 419, - 251, 275, 241, 383, 481, 482, 239, 526, 215, 504, - 207, 0, 503, 376, 476, 485, 363, 352, 206, 483, + 0, 0, 0, 238, 0, 427, 394, 492, 220, 267, + 420, 400, 425, 407, 270, 0, 0, 426, 342, 478, + 414, 489, 510, 511, 246, 374, 500, 466, 506, 524, + 213, 243, 388, 459, 495, 449, 366, 474, 475, 304, + 448, 277, 195, 340, 516, 211, 435, 229, 218, 480, + 498, 272, 418, 203, 461, 487, 226, 439, 0, 0, + 526, 205, 485, 458, 362, 301, 302, 204, 0, 419, + 251, 275, 241, 383, 482, 483, 239, 527, 215, 505, + 207, 0, 504, 376, 477, 486, 363, 352, 206, 484, 361, 351, 307, 326, 327, 263, 286, 412, 345, 413, - 287, 372, 371, 373, 198, 495, 0, 199, 0, 454, - 496, 527, 221, 222, 224, 0, 262, 266, 274, 276, - 282, 283, 290, 338, 387, 411, 409, 415, 0, 471, - 489, 500, 507, 513, 514, 516, 517, 518, 519, 520, - 522, 521, 375, 289, 450, 306, 343, 0, 0, 393, - 428, 227, 493, 451, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 528, 529, 530, 531, 532, - 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, - 543, 544, 545, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 546, 353, 441, 490, 308, 320, 323, + 287, 372, 371, 373, 198, 496, 0, 199, 0, 454, + 497, 528, 221, 222, 224, 0, 262, 266, 274, 276, + 282, 283, 290, 338, 387, 411, 409, 415, 0, 472, + 490, 501, 508, 514, 515, 517, 518, 519, 520, 521, + 523, 522, 375, 289, 450, 306, 343, 0, 0, 393, + 428, 227, 494, 451, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 547, 353, 441, 491, 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, - 324, 325, 329, 335, 235, 201, 359, 367, 0, 191, - 208, 339, 0, 416, 271, 524, 502, 498, 0, 210, - 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, + 324, 325, 329, 335, 235, 201, 359, 367, 471, 0, + 191, 208, 339, 0, 416, 271, 525, 503, 499, 0, + 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, - 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, - 303, 349, 355, 356, 357, 358, 377, 378, 379, 382, - 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, - 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, - 437, 438, 443, 444, 445, 446, 447, 455, 456, 460, - 478, 480, 492, 506, 511, 436, 602, 487, 512, 0, - 348, 0, 0, 350, 264, 284, 295, 0, 501, 457, - 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, - 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, - 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, - 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 384, 0, 0, 0, 0, - 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, - 250, 0, 0, 398, 0, 197, 0, 442, 237, 347, - 344, 475, 265, 256, 252, 236, 292, 354, 396, 462, - 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, + 787, 0, 0, 0, 193, 194, 200, 209, 219, 223, + 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, + 297, 303, 349, 355, 356, 357, 358, 377, 378, 379, + 382, 385, 386, 389, 391, 392, 395, 399, 403, 404, + 405, 406, 408, 410, 417, 422, 430, 431, 432, 433, + 434, 437, 438, 443, 444, 445, 446, 447, 455, 456, + 460, 479, 481, 493, 507, 512, 436, 281, 488, 513, + 0, 348, 0, 0, 350, 264, 284, 295, 0, 502, + 457, 214, 424, 273, 202, 233, 217, 242, 257, 260, + 299, 360, 368, 397, 402, 278, 254, 231, 421, 228, + 440, 463, 464, 465, 467, 364, 249, 401, 0, 365, + 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 384, 0, 0, 0, + 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, + 337, 250, 0, 0, 398, 0, 197, 0, 442, 237, + 347, 344, 476, 265, 256, 252, 236, 292, 354, 396, + 462, 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 298, 234, 300, 196, 381, 453, 269, 0, - 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, - 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, - 0, 0, 0, 0, 248, 296, 255, 247, 472, 0, - 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, + 0, 0, 0, 298, 234, 300, 196, 381, 453, 269, + 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, + 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, + 0, 0, 0, 0, 0, 248, 296, 255, 247, 473, + 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 604, + 0, 279, 0, 370, 240, 0, 0, 0, 0, 509, + 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, + 192, 212, 0, 0, 380, 423, 429, 0, 0, 0, + 238, 0, 427, 394, 492, 220, 267, 420, 400, 425, + 407, 270, 0, 0, 426, 342, 478, 414, 489, 510, + 511, 246, 374, 500, 466, 506, 524, 213, 243, 388, + 459, 495, 449, 366, 474, 475, 304, 448, 277, 195, + 340, 516, 211, 435, 229, 218, 480, 498, 272, 418, + 203, 461, 487, 226, 439, 0, 0, 526, 205, 485, + 458, 362, 301, 302, 204, 0, 419, 251, 275, 241, + 383, 482, 483, 239, 527, 215, 505, 207, 0, 504, + 376, 477, 486, 363, 352, 206, 484, 361, 351, 307, + 326, 327, 263, 286, 412, 345, 413, 287, 372, 371, + 373, 198, 496, 0, 199, 0, 454, 497, 528, 221, + 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, + 338, 387, 411, 409, 415, 0, 472, 490, 501, 508, + 514, 515, 517, 518, 519, 520, 521, 523, 522, 375, + 289, 450, 306, 343, 0, 0, 393, 428, 227, 494, + 451, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 529, 530, 531, 532, 533, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 547, 353, 441, 491, 308, 320, 323, 313, 332, 0, + 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, + 335, 235, 201, 359, 367, 471, 0, 191, 208, 339, + 0, 416, 271, 525, 503, 499, 0, 210, 0, 245, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, + 261, 268, 280, 285, 288, 293, 294, 297, 303, 349, + 355, 356, 357, 358, 377, 378, 379, 382, 385, 386, + 389, 391, 392, 395, 399, 403, 404, 405, 406, 408, + 410, 417, 422, 430, 431, 432, 433, 434, 437, 438, + 443, 444, 445, 446, 447, 455, 456, 460, 479, 481, + 493, 507, 512, 436, 603, 488, 513, 0, 348, 0, + 0, 350, 264, 284, 295, 0, 502, 457, 214, 424, + 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, + 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, + 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, + 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 384, 0, 0, 0, 0, 0, 0, + 0, 0, 253, 0, 0, 0, 0, 337, 250, 0, + 0, 398, 0, 197, 0, 442, 237, 347, 344, 476, + 265, 256, 252, 236, 292, 354, 396, 462, 390, 0, + 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 298, 234, 300, 196, 381, 453, 269, 0, 0, 0, + 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, + 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, + 0, 0, 248, 296, 255, 247, 473, 0, 0, 0, + 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5508,59 +5582,60 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 279, 0, 370, 240, 0, 0, 549, 0, 508, 0, - 0, 0, 0, 0, 0, 0, 336, 0, 305, 192, - 212, 0, 0, 380, 423, 429, 0, 0, 0, 238, - 0, 427, 394, 491, 220, 267, 420, 400, 425, 407, - 270, 0, 0, 426, 342, 477, 414, 488, 509, 510, - 246, 374, 499, 466, 505, 523, 213, 243, 388, 459, - 494, 449, 366, 473, 474, 304, 448, 277, 195, 340, - 515, 211, 435, 229, 218, 479, 497, 272, 418, 203, - 461, 486, 226, 439, 0, 0, 525, 205, 484, 458, - 362, 301, 302, 204, 0, 419, 251, 275, 241, 383, - 481, 482, 239, 526, 215, 504, 207, 0, 503, 376, - 476, 485, 363, 352, 206, 483, 361, 351, 307, 326, - 327, 263, 286, 412, 345, 413, 287, 372, 371, 373, - 198, 495, 0, 199, 0, 454, 496, 527, 221, 222, - 224, 0, 262, 266, 274, 276, 282, 283, 290, 338, - 387, 411, 409, 415, 0, 471, 489, 500, 507, 513, - 514, 516, 517, 518, 519, 520, 522, 521, 375, 289, - 450, 306, 343, 0, 0, 393, 428, 227, 493, 451, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 528, 529, 530, 531, 532, 533, 534, 535, 536, - 537, 538, 539, 540, 541, 542, 543, 544, 545, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 546, - 353, 441, 490, 308, 320, 323, 313, 332, 0, 333, - 309, 310, 315, 317, 318, 319, 324, 325, 329, 335, - 235, 201, 359, 367, 0, 191, 208, 339, 0, 416, - 271, 524, 502, 498, 0, 210, 0, 245, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, + 370, 240, 0, 0, 550, 0, 509, 0, 0, 0, + 0, 0, 0, 0, 336, 0, 305, 192, 212, 0, + 0, 380, 423, 429, 0, 0, 0, 238, 0, 427, + 394, 492, 220, 267, 420, 400, 425, 407, 270, 0, + 0, 426, 342, 478, 414, 489, 510, 511, 246, 374, + 500, 466, 506, 524, 213, 243, 388, 459, 495, 449, + 366, 474, 475, 304, 448, 277, 195, 340, 516, 211, + 435, 229, 218, 480, 498, 272, 418, 203, 461, 487, + 226, 439, 0, 0, 526, 205, 485, 458, 362, 301, + 302, 204, 0, 419, 251, 275, 241, 383, 482, 483, + 239, 527, 215, 505, 207, 0, 504, 376, 477, 486, + 363, 352, 206, 484, 361, 351, 307, 326, 327, 263, + 286, 412, 345, 413, 287, 372, 371, 373, 198, 496, + 0, 199, 0, 454, 497, 528, 221, 222, 224, 0, + 262, 266, 274, 276, 282, 283, 290, 338, 387, 411, + 409, 415, 0, 472, 490, 501, 508, 514, 515, 517, + 518, 519, 520, 521, 523, 522, 375, 289, 450, 306, + 343, 0, 0, 393, 428, 227, 494, 451, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 545, 546, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 547, 353, 441, + 491, 308, 320, 323, 313, 332, 0, 333, 309, 310, + 315, 317, 318, 319, 324, 325, 329, 335, 235, 201, + 359, 367, 471, 0, 191, 208, 339, 0, 416, 271, + 525, 503, 499, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, - 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, - 357, 358, 377, 378, 379, 382, 385, 386, 389, 391, - 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, - 422, 430, 431, 432, 433, 434, 437, 438, 443, 444, - 445, 446, 447, 455, 456, 460, 478, 480, 492, 506, - 511, 436, 281, 487, 512, 0, 348, 0, 0, 350, - 264, 284, 295, 0, 501, 457, 214, 424, 273, 202, - 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, - 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, - 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, + 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, + 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, + 285, 288, 293, 294, 297, 303, 349, 355, 356, 357, + 358, 377, 378, 379, 382, 385, 386, 389, 391, 392, + 395, 399, 403, 404, 405, 406, 408, 410, 417, 422, + 430, 431, 432, 433, 434, 437, 438, 443, 444, 445, + 446, 447, 455, 456, 460, 479, 481, 493, 507, 512, + 436, 281, 488, 513, 0, 348, 0, 0, 350, 264, + 284, 295, 0, 502, 457, 214, 424, 273, 202, 233, + 217, 242, 257, 260, 299, 360, 368, 397, 402, 278, + 254, 231, 421, 228, 440, 463, 464, 465, 467, 364, + 249, 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 384, 0, 0, 0, 0, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 337, 250, 0, 0, 398, - 0, 197, 0, 442, 237, 347, 344, 475, 265, 256, - 252, 236, 292, 354, 396, 462, 390, 0, 341, 0, - 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, - 300, 196, 381, 453, 269, 0, 0, 0, 0, 188, - 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, - 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, - 248, 296, 255, 247, 472, 0, 0, 0, 0, 0, - 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, + 384, 0, 0, 0, 0, 0, 0, 0, 0, 253, + 0, 0, 0, 0, 337, 250, 0, 0, 398, 0, + 197, 0, 442, 237, 347, 344, 476, 265, 256, 252, + 236, 292, 354, 396, 462, 390, 0, 341, 0, 0, + 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, + 196, 381, 453, 269, 0, 0, 0, 0, 188, 189, + 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, + 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, + 296, 255, 247, 473, 0, 0, 0, 0, 0, 0, + 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5568,50 +5643,50 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 279, 0, 370, 240, - 0, 0, 0, 0, 508, 0, 0, 0, 0, 0, - 0, 0, 336, 0, 305, 192, 212, 0, 0, 380, - 423, 429, 0, 0, 0, 238, 0, 427, 394, 491, - 220, 267, 420, 400, 425, 407, 270, 0, 0, 426, - 342, 477, 414, 488, 509, 510, 246, 374, 499, 466, - 505, 523, 213, 243, 388, 459, 494, 449, 366, 473, - 474, 304, 448, 277, 195, 340, 515, 211, 435, 229, - 218, 479, 497, 272, 418, 203, 461, 486, 226, 439, - 0, 0, 525, 205, 484, 458, 362, 301, 302, 204, - 0, 419, 251, 275, 241, 383, 481, 482, 239, 526, - 215, 504, 207, 0, 503, 376, 476, 485, 363, 352, - 206, 483, 361, 351, 307, 326, 327, 263, 286, 412, - 345, 413, 287, 372, 371, 373, 198, 495, 0, 199, - 0, 454, 496, 527, 221, 222, 224, 0, 262, 266, - 274, 276, 282, 283, 290, 338, 387, 411, 409, 415, - 0, 471, 489, 500, 507, 513, 514, 516, 517, 518, - 519, 520, 522, 521, 375, 289, 450, 306, 343, 0, - 0, 393, 428, 227, 493, 451, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 528, 529, 530, - 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, - 541, 542, 543, 544, 545, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 546, 353, 441, 490, 308, - 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, - 318, 319, 324, 325, 329, 335, 235, 201, 359, 367, - 0, 191, 208, 339, 0, 416, 271, 524, 502, 498, + 0, 0, 0, 0, 0, 279, 0, 370, 240, 0, + 0, 0, 0, 509, 0, 0, 0, 0, 0, 0, + 0, 336, 0, 305, 192, 212, 0, 0, 380, 423, + 429, 0, 0, 0, 238, 0, 427, 394, 492, 220, + 267, 420, 400, 425, 407, 270, 0, 0, 426, 342, + 478, 414, 489, 510, 511, 246, 374, 500, 466, 506, + 524, 213, 243, 388, 459, 495, 449, 366, 474, 475, + 304, 448, 277, 195, 340, 516, 211, 435, 229, 218, + 480, 498, 272, 418, 203, 461, 487, 226, 439, 0, + 0, 526, 205, 485, 458, 362, 301, 302, 204, 0, + 419, 251, 275, 241, 383, 482, 483, 239, 527, 215, + 505, 207, 0, 504, 376, 477, 486, 363, 352, 206, + 484, 361, 351, 307, 326, 327, 263, 286, 412, 345, + 413, 287, 372, 371, 373, 198, 496, 0, 199, 0, + 454, 497, 528, 221, 222, 224, 0, 262, 266, 274, + 276, 282, 283, 290, 338, 387, 411, 409, 415, 0, + 472, 490, 501, 508, 514, 515, 517, 518, 519, 520, + 521, 523, 522, 375, 289, 450, 306, 343, 0, 0, + 393, 428, 227, 494, 451, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 529, 530, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 547, 353, 441, 491, 308, 320, + 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, + 319, 324, 325, 329, 335, 235, 201, 359, 367, 471, + 0, 191, 208, 339, 0, 416, 271, 525, 503, 499, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, - 294, 297, 303, 349, 355, 356, 357, 358, 3007, 378, + 294, 297, 303, 349, 355, 356, 357, 358, 3014, 378, 379, 382, 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, 437, 438, 443, 444, 445, 446, 447, 455, - 456, 460, 478, 480, 492, 506, 511, 436, 281, 487, - 512, 0, 348, 0, 0, 350, 264, 284, 295, 0, - 501, 457, 214, 424, 273, 202, 233, 217, 242, 257, + 456, 460, 479, 481, 493, 507, 512, 436, 281, 488, + 513, 0, 348, 0, 0, 350, 264, 284, 295, 0, + 502, 457, 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, 0, 442, - 237, 347, 344, 475, 265, 256, 252, 236, 292, 354, + 237, 347, 344, 476, 265, 256, 252, 236, 292, 354, 396, 462, 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, 381, 453, @@ -5619,7 +5694,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, 247, - 472, 0, 0, 0, 0, 0, 0, 0, 216, 0, + 473, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5630,119 +5705,119 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, 370, 240, 0, 0, 0, 0, - 508, 0, 0, 0, 0, 0, 0, 0, 336, 0, + 509, 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, 380, 423, 429, 0, 0, - 0, 238, 0, 427, 394, 491, 220, 267, 420, 400, - 425, 407, 270, 0, 0, 426, 342, 477, 414, 488, - 509, 510, 246, 374, 499, 466, 505, 523, 213, 243, - 388, 459, 494, 449, 366, 473, 474, 304, 448, 277, - 195, 340, 515, 211, 435, 229, 218, 479, 497, 272, - 418, 203, 461, 486, 226, 439, 0, 0, 525, 205, - 484, 458, 362, 301, 302, 204, 0, 419, 251, 275, - 241, 383, 481, 482, 239, 526, 215, 504, 207, 0, - 503, 376, 476, 485, 363, 352, 206, 483, 361, 351, + 0, 238, 0, 427, 394, 492, 220, 267, 420, 400, + 425, 407, 270, 0, 0, 426, 342, 478, 414, 489, + 510, 511, 246, 374, 500, 466, 506, 524, 213, 243, + 388, 459, 495, 449, 366, 474, 475, 304, 448, 277, + 195, 340, 516, 211, 435, 229, 218, 480, 498, 272, + 418, 203, 461, 487, 226, 439, 0, 0, 526, 205, + 485, 458, 362, 301, 302, 204, 0, 419, 251, 275, + 241, 383, 482, 483, 239, 527, 215, 505, 207, 0, + 504, 376, 477, 486, 363, 352, 206, 484, 361, 351, 307, 326, 327, 263, 286, 412, 345, 413, 287, 372, - 371, 373, 198, 495, 0, 199, 0, 454, 496, 527, + 371, 373, 198, 496, 0, 199, 0, 454, 497, 528, 221, 222, 224, 0, 262, 266, 274, 276, 282, 283, - 290, 338, 387, 411, 409, 415, 0, 471, 489, 500, - 507, 513, 514, 516, 517, 518, 519, 520, 522, 521, + 290, 338, 387, 411, 409, 415, 0, 472, 490, 501, + 508, 514, 515, 517, 518, 519, 520, 521, 523, 522, 375, 289, 450, 306, 343, 0, 0, 393, 428, 227, - 493, 451, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 528, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 546, 353, 441, 490, 308, 320, 323, 313, 332, + 494, 451, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 529, 530, 531, 532, 533, 534, 535, + 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, + 546, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 547, 353, 441, 491, 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, 325, - 329, 335, 235, 201, 359, 367, 0, 191, 208, 339, - 0, 416, 271, 524, 502, 498, 0, 210, 0, 245, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 329, 335, 235, 201, 359, 367, 471, 0, 191, 208, + 339, 0, 416, 271, 525, 503, 499, 0, 210, 0, + 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, - 261, 268, 280, 285, 288, 293, 294, 297, 303, 349, - 355, 356, 357, 358, 377, 378, 379, 382, 385, 386, - 389, 391, 392, 395, 399, 403, 404, 405, 406, 408, - 410, 417, 422, 430, 431, 432, 433, 434, 437, 438, - 443, 444, 445, 446, 447, 455, 456, 460, 478, 480, - 492, 506, 511, 436, 281, 487, 512, 0, 348, 0, - 0, 350, 264, 284, 295, 0, 501, 457, 214, 424, - 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, - 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, - 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, - 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 384, 0, 0, 0, 0, 0, 0, - 0, 0, 253, 0, 0, 0, 0, 337, 250, 0, - 0, 398, 0, 197, 0, 442, 237, 347, 344, 475, - 265, 256, 252, 236, 292, 354, 396, 462, 390, 0, - 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, + 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, + 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, + 349, 355, 356, 357, 358, 377, 378, 379, 382, 385, + 386, 389, 391, 392, 395, 399, 403, 404, 405, 406, + 408, 410, 417, 422, 430, 431, 432, 433, 434, 437, + 438, 443, 444, 445, 446, 447, 455, 456, 460, 479, + 481, 493, 507, 512, 436, 281, 488, 513, 0, 348, + 0, 0, 350, 264, 284, 295, 0, 502, 457, 214, + 424, 273, 202, 233, 217, 242, 257, 260, 299, 360, + 368, 397, 402, 278, 254, 231, 421, 228, 440, 463, + 464, 465, 467, 364, 249, 401, 0, 365, 346, 469, + 470, 291, 468, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 384, 0, 0, 0, 0, 0, + 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, + 0, 0, 398, 0, 197, 0, 442, 237, 347, 344, + 476, 265, 256, 252, 236, 292, 354, 396, 462, 390, + 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 298, 234, 300, 196, 381, 453, 269, 0, 0, + 0, 0, 188, 2633, 190, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, + 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, + 0, 0, 0, 248, 296, 255, 247, 473, 0, 0, + 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 298, 234, 300, 196, 381, 453, 269, 0, 0, 0, - 0, 188, 2627, 190, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, - 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, - 0, 0, 248, 296, 255, 247, 472, 0, 0, 0, - 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, + 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, + 0, 370, 240, 0, 0, 0, 0, 509, 0, 0, + 0, 0, 0, 0, 0, 336, 0, 305, 192, 212, + 0, 0, 380, 423, 429, 0, 0, 0, 238, 0, + 427, 394, 492, 220, 267, 420, 400, 425, 407, 270, + 0, 0, 426, 342, 478, 414, 489, 510, 511, 246, + 374, 500, 466, 506, 524, 213, 243, 388, 459, 495, + 449, 366, 474, 475, 304, 448, 277, 195, 340, 516, + 211, 435, 229, 218, 480, 498, 272, 418, 203, 461, + 487, 226, 439, 0, 0, 526, 205, 485, 458, 362, + 301, 302, 204, 0, 419, 251, 275, 241, 383, 482, + 483, 239, 527, 215, 505, 207, 0, 504, 376, 477, + 486, 363, 352, 206, 484, 361, 351, 307, 326, 327, + 263, 286, 412, 345, 413, 287, 372, 371, 373, 198, + 496, 0, 199, 0, 454, 497, 528, 221, 222, 224, + 0, 262, 266, 274, 276, 282, 283, 290, 338, 387, + 411, 409, 415, 0, 472, 490, 501, 508, 514, 515, + 517, 518, 519, 520, 521, 523, 522, 375, 289, 450, + 306, 343, 0, 0, 393, 428, 227, 494, 451, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, - 370, 240, 0, 0, 0, 0, 508, 0, 0, 0, - 0, 0, 0, 0, 336, 0, 305, 192, 212, 0, - 0, 380, 423, 429, 0, 0, 0, 238, 0, 427, - 394, 491, 220, 267, 420, 400, 425, 407, 270, 0, - 0, 426, 342, 477, 414, 488, 509, 510, 246, 374, - 499, 466, 505, 523, 213, 243, 388, 459, 494, 449, - 366, 473, 474, 304, 448, 277, 195, 340, 515, 211, - 435, 229, 218, 479, 497, 272, 418, 203, 461, 486, - 226, 439, 0, 0, 525, 205, 484, 458, 362, 301, - 302, 204, 0, 419, 251, 275, 241, 383, 481, 482, - 239, 526, 215, 504, 207, 0, 503, 376, 476, 485, - 363, 352, 206, 483, 361, 351, 307, 326, 327, 263, - 286, 412, 345, 413, 287, 372, 371, 373, 198, 495, - 0, 199, 0, 454, 496, 527, 221, 222, 224, 0, - 262, 266, 274, 276, 282, 283, 290, 338, 387, 411, - 409, 415, 0, 471, 489, 500, 507, 513, 514, 516, - 517, 518, 519, 520, 522, 521, 375, 289, 450, 306, - 343, 0, 0, 393, 428, 227, 493, 451, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, - 539, 540, 541, 542, 543, 544, 545, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 546, 353, 441, - 490, 308, 320, 323, 313, 332, 0, 333, 309, 310, - 315, 317, 318, 319, 324, 325, 329, 335, 235, 201, - 359, 367, 0, 191, 208, 339, 0, 416, 271, 524, - 502, 498, 0, 210, 0, 245, 0, 0, 0, 0, + 539, 540, 541, 542, 543, 544, 545, 546, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 547, 353, + 441, 491, 308, 320, 323, 313, 332, 0, 333, 309, + 310, 315, 317, 318, 319, 324, 325, 329, 335, 235, + 201, 359, 367, 471, 0, 191, 208, 339, 0, 416, + 271, 525, 503, 499, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, - 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, - 288, 293, 294, 297, 303, 349, 355, 356, 357, 358, - 377, 378, 379, 382, 385, 386, 389, 391, 392, 395, - 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, - 431, 432, 433, 434, 437, 438, 443, 444, 445, 446, - 447, 455, 456, 460, 478, 480, 492, 506, 511, 436, - 281, 487, 512, 0, 348, 0, 0, 350, 264, 284, - 295, 0, 501, 457, 214, 424, 273, 202, 233, 217, - 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, - 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, - 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, - 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, - 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, - 0, 442, 237, 347, 344, 475, 265, 256, 252, 236, - 292, 354, 396, 462, 390, 0, 341, 0, 0, 452, - 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, - 381, 453, 269, 0, 0, 0, 0, 188, 2139, 190, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, + 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, + 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, + 357, 358, 377, 378, 379, 382, 385, 386, 389, 391, + 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, + 422, 430, 431, 432, 433, 434, 437, 438, 443, 444, + 445, 446, 447, 455, 456, 460, 479, 481, 493, 507, + 512, 436, 281, 488, 513, 0, 348, 0, 0, 350, + 264, 284, 295, 0, 502, 457, 214, 424, 273, 202, + 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, + 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, + 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, - 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, - 255, 247, 472, 0, 0, 0, 0, 0, 0, 0, - 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, + 0, 384, 0, 0, 0, 0, 0, 0, 0, 0, + 253, 0, 0, 0, 0, 337, 250, 0, 0, 398, + 0, 197, 0, 442, 237, 347, 344, 476, 265, 256, + 252, 236, 292, 354, 396, 462, 390, 0, 341, 0, + 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, + 300, 196, 381, 453, 269, 0, 0, 0, 0, 188, + 2144, 190, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, + 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, + 248, 296, 255, 247, 473, 0, 0, 0, 0, 0, + 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5750,68 +5825,68 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 279, 0, 370, 240, 0, 0, - 0, 0, 508, 0, 0, 0, 0, 0, 0, 0, - 336, 0, 305, 192, 212, 0, 0, 380, 423, 429, - 0, 0, 0, 238, 0, 427, 394, 491, 220, 267, - 420, 400, 425, 407, 270, 0, 0, 426, 342, 477, - 414, 488, 509, 510, 246, 374, 499, 466, 505, 523, - 213, 243, 388, 459, 494, 449, 366, 473, 474, 304, - 448, 277, 195, 340, 515, 211, 435, 229, 218, 479, - 497, 272, 418, 203, 461, 486, 226, 439, 0, 0, - 525, 205, 484, 458, 362, 301, 302, 204, 0, 419, - 251, 275, 241, 383, 481, 482, 239, 526, 215, 504, - 207, 0, 503, 376, 476, 485, 363, 352, 206, 483, - 361, 351, 307, 326, 327, 263, 286, 412, 345, 413, - 287, 372, 371, 373, 198, 495, 0, 199, 0, 454, - 496, 527, 221, 222, 224, 0, 262, 266, 274, 276, - 282, 283, 290, 338, 387, 411, 409, 415, 0, 471, - 489, 500, 507, 513, 514, 516, 517, 518, 519, 520, - 522, 521, 375, 289, 450, 306, 343, 0, 0, 393, - 428, 227, 493, 451, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 528, 529, 530, 531, 532, - 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, - 543, 544, 545, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 546, 353, 441, 490, 308, 320, 323, - 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, - 324, 325, 329, 335, 235, 201, 359, 367, 0, 191, - 208, 339, 0, 416, 271, 524, 502, 498, 0, 210, - 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 279, 0, 370, 240, + 0, 0, 0, 0, 509, 0, 0, 0, 0, 0, + 0, 0, 336, 0, 305, 192, 212, 0, 0, 380, + 423, 429, 0, 0, 0, 238, 0, 427, 394, 492, + 220, 267, 420, 400, 425, 407, 270, 0, 0, 426, + 342, 478, 414, 489, 510, 511, 246, 374, 500, 466, + 506, 524, 213, 243, 388, 459, 495, 449, 366, 474, + 475, 304, 448, 277, 195, 340, 516, 211, 435, 229, + 218, 480, 498, 272, 418, 203, 461, 487, 226, 439, + 0, 0, 526, 205, 485, 458, 362, 301, 302, 204, + 0, 419, 251, 275, 241, 383, 482, 483, 239, 527, + 215, 505, 207, 0, 504, 376, 477, 486, 363, 352, + 206, 484, 361, 351, 307, 326, 327, 263, 286, 412, + 345, 413, 287, 372, 371, 373, 198, 496, 0, 199, + 0, 454, 497, 528, 221, 222, 224, 0, 262, 266, + 274, 276, 282, 283, 290, 338, 387, 411, 409, 415, + 0, 472, 490, 501, 508, 514, 515, 517, 518, 519, + 520, 521, 523, 522, 375, 289, 450, 306, 343, 0, + 0, 393, 428, 227, 494, 451, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 529, 530, 531, + 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, + 542, 543, 544, 545, 546, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 547, 353, 441, 491, 308, + 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, + 318, 319, 324, 325, 329, 335, 235, 201, 359, 367, + 471, 0, 191, 208, 339, 0, 416, 271, 525, 503, + 499, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, - 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, - 303, 349, 355, 356, 357, 358, 377, 378, 379, 382, - 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, - 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, - 437, 438, 443, 444, 445, 446, 447, 455, 456, 460, - 478, 480, 492, 506, 511, 436, 281, 487, 512, 0, - 348, 0, 0, 350, 264, 284, 295, 0, 501, 457, - 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, - 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, - 463, 464, 465, 467, 364, 249, 401, 0, 0, 346, - 469, 470, 291, + 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, + 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, + 293, 294, 297, 303, 349, 355, 356, 357, 358, 377, + 378, 379, 382, 385, 386, 389, 391, 392, 395, 399, + 403, 404, 405, 406, 408, 410, 417, 422, 430, 431, + 432, 433, 434, 437, 438, 443, 444, 445, 446, 447, + 455, 456, 460, 479, 481, 493, 507, 512, 436, 281, + 488, 513, 0, 348, 0, 0, 350, 264, 284, 295, + 0, 502, 457, 214, 424, 273, 202, 233, 217, 242, + 257, 260, 299, 360, 368, 397, 402, 278, 254, 231, + 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, + 0, 0, 346, 469, 470, 291, } var yyPact = [...]int{ - 4644, -1000, -417, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 5145, -1000, -413, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 1982, 2036, -1000, -1000, - -1000, -1000, 2118, -1000, 754, 1742, -1000, 1998, 4583, -1000, - 41626, 482, -1000, 40414, 481, 116, 41626, -1000, 151, -1000, - 138, 41626, 143, 39808, -1000, -1000, -299, 17376, 1937, 33, - 30, 41626, -1000, -1000, -1000, -1000, 2095, 1746, -1000, 334, - -1000, -1000, -1000, -1000, -1000, -1000, 39202, -1000, -1000, -1000, - 2019, 1997, 2125, 622, 1925, -1000, 2056, 1746, -1000, 17376, - 2088, 2037, 16770, -1000, 16770, 420, -1000, -1000, 12518, -1000, - -1000, 23446, 41626, 29506, 335, -1000, 1998, -1000, -1000, -1000, - 100, -1000, 301, 1632, -1000, 1604, -1000, 492, 678, 322, - 437, 434, 321, 320, 319, 313, 310, 309, 306, 304, - 331, -1000, 674, 674, -150, -154, 3657, 426, 384, 384, - 445, 1972, 1960, -1000, 687, -1000, 674, 674, 674, 325, - 674, 674, 674, 674, 278, 276, 674, 674, 674, 674, - 674, 674, 674, 674, 674, 674, 674, 674, 674, 674, - 674, 674, 674, 300, 1998, 232, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 2017, 2135, -1000, -1000, + -1000, -1000, 2213, -1000, 803, 1724, -1000, 1994, 3407, -1000, + 42356, 427, -1000, 41142, 425, 565, 42356, -1000, 143, -1000, + 129, 42356, 137, 40535, -1000, -1000, -312, 18066, 1925, 31, + 26, 42356, -1000, -1000, -1000, -1000, 2159, 1660, -1000, 325, + -1000, -1000, -1000, -1000, -1000, -1000, 39928, -1000, -1000, -1000, + 2001, 1990, 2230, 607, 1912, -1000, 2072, 1660, -1000, 18066, + 2150, 2051, 17459, -1000, 17459, 378, -1000, -1000, 13200, -1000, + -1000, 24146, 42356, 30216, 242, -1000, 1994, -1000, -1000, -1000, + 111, -1000, 294, 1577, -1000, 1576, -1000, 365, 681, 311, + 428, 424, 310, 308, 307, 305, 303, 298, 296, 295, + 317, -1000, 658, 658, -168, -169, 3103, 364, 357, 357, + 403, 1959, 1953, -1000, 787, -1000, 658, 658, 658, 297, + 658, 658, 658, 658, 253, 232, 658, 658, 658, 658, + 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, + 658, 658, 658, 272, 1994, 218, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, @@ -5847,36 +5922,37 @@ var yyPact = [...]int{ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 41626, 173, 41626, - -1000, 541, 41626, 778, 778, 37, 778, 778, 778, 778, - 163, 605, 29, -1000, 162, 266, 145, 203, 812, 155, - -1000, -1000, 215, 812, 1240, -1000, 628, 142, -1000, 778, - 778, -1000, 10074, 174, 10074, 10074, -1000, 1984, -1000, -1000, - -1000, -1000, 1230, -1000, 440, -1000, -1000, -1000, -1000, 41626, - 38596, 343, 733, -1000, -1000, -1000, 54, -1000, -1000, 1378, - 965, 17376, 896, -1000, 1521, 589, -1000, -1000, -1000, -1000, - -1000, 518, 17982, 17982, 17982, 17982, -1000, -1000, 1636, 1636, - 1636, 1636, 17982, 1636, 17982, 1636, 1636, 1636, 1636, 17376, - 1636, 1636, 1636, -1000, 1636, 1636, 1636, 1636, 1636, 1636, - 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, - 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, - 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, - 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 538, 1636, - 1636, 1636, 1636, 1636, -1000, -1000, -1000, -1000, 1636, 1636, - 1636, 1636, 1636, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 21017, -1000, 14952, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 42356, 163, + 42356, -1000, 518, 42356, 771, 771, 53, 771, 771, 771, + 771, 170, 580, 17, -1000, 166, 209, 123, 216, 788, + 184, -1000, -1000, 214, 788, 1235, -1000, 620, 124, -1000, + 771, 771, -1000, 10752, 225, 10752, 10752, -1000, 1960, -1000, + -1000, -1000, -1000, 1248, -1000, 396, -1000, -1000, -1000, -1000, + 42356, 39321, 319, 688, -1000, -1000, -1000, 45, -1000, -1000, + 1386, 1268, 18066, 898, -1000, 1557, 572, -1000, -1000, -1000, + -1000, -1000, 450, 18673, 18673, 18673, 18673, -1000, -1000, 1586, + 1586, 1586, 1586, 18673, 1586, 18673, 1586, 1586, 1586, 1586, + 18066, 1586, 1586, 1586, -1000, 1586, 1586, 1586, 1586, 1586, + 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, + 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, + 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, + 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, + 517, 1586, 1586, 1586, 1586, 1586, -1000, -1000, -1000, -1000, + 1586, 1586, 1586, 1586, 1586, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 21713, -1000, 15638, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 41626, -1000, 1636, 167, 41626, - 41626, 308, 2056, 1746, -1000, 2095, 2066, 334, -1000, 1913, - 1723, 1523, 1025, 1746, 1554, 41626, -1000, 1660, -1000, -1000, - -1000, 1834, 1141, 1237, -1000, -1000, -1000, -1000, 1297, 17376, - -1000, -1000, 2112, -1000, 20411, 536, 913, 2110, 37990, -1000, - 420, 420, 1589, 11907, -6, -1000, -1000, -1000, 731, 27082, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 42356, -1000, 1586, + 162, 42356, 42356, 300, 2072, 1660, -1000, 2159, 2139, 325, + -1000, 2062, 1345, 1392, 1252, 1660, 1560, 42356, -1000, 1602, + -1000, -1000, -1000, 1830, 1147, 1233, -1000, -1000, -1000, -1000, + 1308, 18066, -1000, -1000, 2189, -1000, 21106, 493, 886, 2187, + 38714, -1000, 378, 378, 1574, 12588, 11, -1000, -1000, -1000, + 687, 27788, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1960, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1984, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, @@ -5889,263 +5965,263 @@ var yyPact = [...]int{ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 1558, 42356, -1000, -1000, 4233, 1170, + -1000, 1723, -1000, 1543, -1000, 1641, 18066, 1730, 420, 1170, + 413, 408, 406, -1000, -86, -1000, -1000, -1000, -1000, -1000, + -1000, 658, 658, 658, -1000, 314, 2146, 3407, 6141, -1000, + -1000, -1000, 38107, 1721, 1170, -1000, 1716, -1000, 778, 462, + 513, 513, 1170, -1000, -1000, 42356, 1170, 758, 757, 1170, + 1170, 42356, 42356, -1000, 37500, -1000, 36893, 36286, 1088, 42356, + 35679, 35072, 34465, 33858, 33251, -1000, 2003, -1000, 1828, -1000, + -1000, -1000, 42356, 1170, 1170, 42356, 42356, 301, -1000, -1000, + 42356, 1170, -1000, -1000, 1079, 1071, 1059, 658, 658, 1045, + 1229, 1227, 1225, 658, 658, 1042, 1223, 29002, 1222, 244, + 1041, 1029, 1025, 1108, 1221, 192, 1220, 1005, 1003, 1023, + 42356, 1712, 42356, -1000, 204, 635, 374, 682, 1994, 1922, + 1568, 385, 419, 1170, 362, 362, 42356, -1000, 11364, -1000, + -1000, 1216, 18066, -1000, 825, 788, 788, -1000, -1000, -1000, + -1000, -1000, -1000, 771, 42356, 825, -1000, -1000, -1000, 788, + 771, 42356, 771, 771, 771, 771, 788, 788, 788, 771, + 42356, 42356, 42356, 42356, 42356, 42356, 42356, 42356, 42356, 10752, + 620, 771, -319, -1000, 1215, -1000, 1825, -1000, -1000, -1000, + -1000, -1000, -1000, 10752, 10752, -1000, -1000, -1000, -1000, 132, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -80, + 1566, 32644, -1000, -320, -323, -325, -326, -1000, -1000, -1000, + -328, -331, -1000, -1000, -1000, 18066, 18066, 18066, 18066, -197, + -1000, 770, 18673, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 914, 709, 18673, 18673, 18673, 18673, 18673, 18673, 18673, 18673, + 18673, 18673, 18673, 18673, 18673, 18673, 18673, 25967, 6806, 6806, + 572, 572, 572, 572, -1000, 17459, 18066, 18066, 572, -1000, + 1170, 32037, 17459, 17459, 18066, 1969, 697, 1268, 42356, -1000, + 1252, -1000, -1000, -1000, 1007, -1000, 1969, 818, 18066, 18066, + 1969, 42356, 42356, 93, 18066, 18066, 18066, 18066, 18066, 18066, + 14419, 18066, 18066, 18066, 18066, 18066, 18066, 18066, 18066, 18066, + 18066, 18066, 18066, 18066, 18066, 18066, 18066, 18066, 18066, 18066, + 18066, 18066, 18066, 18066, 18066, 18066, 18066, 13812, 11364, 17459, + 17459, 17459, 17459, 17459, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 488, 1547, 1361, 1482, + -1000, 1562, -1000, -160, 23539, 18066, 1214, 2184, 1752, 42356, + -1000, -1000, -1000, 2072, -1000, 2072, 1547, 1920, 1835, 17459, + -1000, -1000, 1920, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 1362, -1000, 42356, 1560, 2048, 42356, 1844, 1209, 304, + -1000, 18066, 18066, 1552, -1000, 1131, 42356, -1000, -197, -1000, + 31430, -1000, -1000, 10140, -1000, 42356, 292, 42356, -1000, 22932, + 30823, 11976, 11, -1000, 11976, 1473, -1000, -21, -28, 15026, + 570, -1000, -1000, -1000, 3103, 19887, 1336, 570, 69, -1000, + -1000, -1000, 1641, -1000, 1641, 1641, 1641, 1641, 304, 304, + 304, 304, -1000, -1000, -1000, -1000, -1000, 1711, 1710, -1000, + 1641, 1641, 1641, 1641, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 1646, 41626, -1000, -1000, 6017, 1186, -1000, 1733, - -1000, 1639, -1000, 1692, 17376, 1691, 472, 1186, 464, 463, - 461, -1000, -71, -1000, -1000, -1000, -1000, -1000, -1000, 674, - 674, 674, -1000, 330, 2078, 4583, 5941, -1000, -1000, -1000, - 37384, 1732, 1186, -1000, 1727, -1000, 818, 510, 526, 526, - 1186, -1000, -1000, 41626, 1186, 810, 808, 1186, 1186, 41626, - 41626, -1000, 36778, -1000, 36172, 35566, 1070, 41626, 34960, 34354, - 33748, 33142, 32536, -1000, 1832, -1000, 1807, -1000, -1000, -1000, - 41626, 1186, 1186, 41626, 41626, 315, -1000, -1000, 41626, 1186, - -1000, -1000, 1069, 1066, 1060, 674, 674, 1056, 1235, 1233, - 1228, 674, 674, 1054, 1226, 28294, 1224, 241, 1040, 1039, - 1037, 1100, 1220, 191, 1219, 1095, 1055, 1032, 41626, 1724, - 41626, -1000, 202, 668, 422, 711, 1998, 1927, 1587, 432, - 469, 1186, 408, 408, 41626, -1000, 10685, -1000, -1000, 1216, - 17376, -1000, 814, 812, 812, -1000, -1000, -1000, -1000, -1000, - -1000, 778, 41626, 814, -1000, -1000, -1000, 812, 778, 41626, - 778, 778, 778, 778, 812, 812, 812, 778, 41626, 41626, - 41626, 41626, 41626, 41626, 41626, 41626, 41626, 10074, 628, 778, - -304, -1000, 1212, -1000, 1795, -1000, -1000, -1000, -1000, -1000, - -1000, 10074, 10074, -1000, -1000, -1000, -1000, 141, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -53, 1570, 31930, - -1000, -306, -309, -316, -322, -1000, -1000, -1000, -324, -331, - -1000, -1000, -1000, 17376, 17376, 17376, 17376, -179, -1000, 940, - 17982, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 998, 773, - 17982, 17982, 17982, 17982, 17982, 17982, 17982, 17982, 17982, 17982, - 17982, 17982, 17982, 17982, 17982, 25264, 6936, 6936, 589, 589, - 589, 589, -1000, 16770, 17376, 17376, 589, -1000, 1186, 31324, - 16770, 16770, 17376, 1968, 745, 965, 41626, -1000, 1025, -1000, - -1000, -1000, 1000, -1000, 1968, 768, 17376, 17376, 41626, 41626, - 185, 17376, 17376, 17376, 17376, 17376, 17376, 13735, 17376, 17376, - 17376, 17376, 17376, 17376, 17376, 17376, 17376, 17376, 17376, 17376, - 17376, 17376, 17376, 17376, 17376, 17376, 17376, 17376, 17376, 17376, - 17376, 17376, 17376, 17376, 13129, 10685, 16770, 16770, 16770, 16770, - 16770, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 533, 1507, 1389, 1503, -1000, 1557, -1000, - -143, 22840, 17376, 1210, 2109, 1765, 41626, -1000, -1000, -1000, - 2056, -1000, 2056, 1507, 1878, 1869, 16770, -1000, -1000, 1878, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1326, -1000, - 41626, 1554, 2034, 41626, 1864, 1209, 314, -1000, 17376, 17376, - 1541, -1000, 1125, 41626, -1000, -179, -1000, 30718, -1000, -1000, - 9463, -1000, 41626, 302, 41626, -1000, 22234, 30112, 11296, -6, - -1000, 11296, 1496, -1000, -4, -1, 14341, 555, -1000, -1000, - -1000, 3657, 19194, 1339, 555, 75, -1000, -1000, -1000, 1692, - -1000, 1692, 1692, 1692, 1692, 314, 314, 314, 314, -1000, - -1000, -1000, -1000, -1000, 1720, 1715, -1000, 1692, 1692, 1692, - 1692, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1707, 1707, - 1707, 1693, 1693, 399, -1000, 17376, 280, 29506, 2017, 1030, - 1304, 202, 409, 1760, 1186, 1186, 1186, 409, -1000, 1313, - 1298, 1267, -1000, -400, 1520, -1000, -1000, 2074, -1000, -1000, - 710, 832, 831, 644, 41626, 171, 291, -1000, 393, -1000, - 29506, 1186, 801, 526, 1186, -1000, 1186, -1000, -1000, -1000, - -1000, -1000, 1186, -1000, -1000, 1518, -1000, 1488, 899, 830, - 861, 789, 1518, -1000, -1000, -119, 1518, -1000, 1518, -1000, - 1518, -1000, 1518, -1000, 1518, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 702, 177, -219, 41626, 171, 25264, - -1000, 428, -1000, -1000, -1000, 25264, 25264, -1000, -1000, -1000, - -1000, 1207, 1205, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 1708, 1708, 1708, 1654, 1654, 351, -1000, 18066, 302, + 30216, 2036, 1019, 1217, 204, 363, 1742, 1170, 1170, 1170, + 363, -1000, 1136, 1095, 1062, -1000, -404, 1530, -1000, -1000, + 2142, -1000, -1000, 447, 807, 802, 756, 42356, 177, 279, + -1000, 326, -1000, 30216, 1170, 748, 513, 1170, -1000, 1170, + -1000, -1000, -1000, -1000, -1000, 1170, -1000, -1000, 1523, -1000, + 1535, 857, 799, 838, 789, 1523, -1000, -1000, -135, 1523, + -1000, 1523, -1000, 1523, -1000, 1523, -1000, 1523, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 631, 159, -235, + 42356, 177, 25967, -1000, 382, -1000, -1000, -1000, 25967, 25967, + -1000, -1000, -1000, -1000, 1188, 1185, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -386, 41626, -1000, 193, 691, 277, 305, 248, - 41626, 175, 2046, 2045, 2044, 179, 273, 41626, 41626, 408, - 1816, 41626, 2024, 41626, -1000, -1000, -1000, -1000, -1000, 965, - 41626, -1000, -1000, 778, 778, -1000, -1000, 41626, 778, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 778, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -391, 42356, -1000, 199, 662, + 266, 269, 249, 42356, 164, 2056, 2055, 2053, 190, 230, + 42356, 42356, 362, 1810, 42356, 2015, 42356, -1000, -1000, -1000, + -1000, -1000, 1268, 42356, -1000, -1000, 771, 771, -1000, -1000, + 42356, 771, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 771, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 42356, -1000, -1000, -1000, + -1000, 42356, -1000, -1000, -1000, -1000, -1000, 172, -25, 306, + -1000, -1000, -1000, -1000, -1000, 2069, -1000, 1268, 724, 719, + -1000, 1586, -1000, -1000, 942, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 914, 18673, 18673, 18673, 1570, 418, 1687, 904, + 804, 843, 843, 711, 711, 578, 578, 578, 578, 578, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1181, -1000, + 1498, -1000, 1915, 1262, 1252, -1000, 1498, 1498, 1230, 17459, + -1000, -1000, 704, -1000, 18066, 1252, -1000, -1000, 1252, 1252, + 18066, 1252, 18066, -1000, 1217, 1217, 18066, 1521, 1509, 2183, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 41626, -1000, -1000, -1000, -1000, 41626, -1000, - -1000, -1000, -1000, -1000, 74, 3, 358, -1000, -1000, -1000, - -1000, -1000, 2053, -1000, 965, 800, 755, -1000, 1636, -1000, - -1000, 956, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 998, - 17982, 17982, 17982, 1402, 425, 1538, 902, 841, 828, 828, - 796, 796, 598, 598, 598, 598, 598, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 1203, -1000, 1543, -1000, 973, - 1258, 1025, -1000, 1543, 1543, 1086, 16770, -1000, -1000, 760, - -1000, 17376, 1025, -1000, -1000, 1025, 1025, 17376, 1025, 17376, - -1000, 1304, 1304, 1515, 1513, 2106, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 943, 1304, 1304, - 1304, 1304, 1304, 17376, 1018, -1000, -1000, -1000, 1852, 1791, - 1025, 1378, 1025, 1510, -1000, 1782, 1304, 1767, 1758, 1749, - 1227, 1743, 1734, 1728, 1304, 1304, 1304, 1168, 1712, 1705, - 1688, 1669, 1664, 1658, 1649, 1644, 1638, 1304, 1025, 16770, - 16770, 1500, 1636, 530, -1000, 1543, 1025, 1025, 1543, 1543, - 10685, 1025, -1000, 41626, -1000, -293, -1000, -22, 612, 1636, - -1000, 28294, 1025, -1000, 6651, -1000, 42838, -1000, -1000, -1000, - -1000, -1000, 26476, 1418, 1878, -1000, -1000, 1636, 1627, -1000, - -1000, 314, 55, 25870, 549, 549, 83, 965, 965, 17376, - -1000, -1000, -1000, -1000, -1000, -1000, 529, 2096, 327, 1636, - -1000, 1470, 1969, -1000, -1000, -1000, 2032, 19805, -1000, 1636, - 1636, 41626, 1391, 1376, -1000, 521, -1000, 1496, -6, -7, - -1000, -1000, -1000, -1000, 965, -1000, 1253, 303, 3249, -1000, - 378, -1000, -1000, -1000, -1000, 1943, 60, -1000, -1000, -1000, - 187, 314, -1000, -1000, -1000, -1000, -1000, -1000, 1179, 1179, - -1000, -1000, -1000, -1000, -1000, 1029, -1000, -1000, -1000, 1027, - -1000, -1000, 1582, 1802, 280, -1000, -1000, 674, 1174, -1000, - -1000, 1950, 674, 674, 41626, -1000, -1000, 1288, 2017, 193, - 41626, 779, 1804, -1000, 1760, 1760, 1760, 41626, -1000, -1000, - -1000, -1000, -1000, -1000, -393, 70, 329, -1000, -1000, -1000, - 3549, 41626, 1625, -1000, 165, -1000, 1282, -1000, 41626, -1000, - 1584, 1704, 1186, 1186, -1000, -1000, -1000, 41626, 1636, -1000, - -1000, -1000, -1000, 466, 1995, 275, -1000, -1000, -199, -1000, - -1000, 171, 165, 555, 1186, -1000, -1000, -1000, -1000, -1000, - -389, 1577, 457, 178, 290, 41626, 41626, 41626, 41626, 41626, - 504, -1000, -1000, -1000, -1000, 158, -1000, -1000, 158, -1000, - -1000, -1000, -1000, 236, 427, -1000, 41626, 41626, 552, -1000, - -1000, -1000, 812, -1000, -1000, 812, -1000, -1000, -1000, -1000, - -1000, 1980, 41626, 2, -349, -1000, -346, 17376, -1000, -1000, - -1000, -1000, 1048, 410, 1538, 17982, 17982, 16770, -109, 579, - 579, 25264, -1000, -1000, -1000, 17376, 17376, 1354, 688, -1000, - 17376, 881, -1000, -1000, -1000, 1304, -1000, 1304, -1000, -1000, - 17376, 17376, 17376, 1025, 261, -1000, -1000, -1000, -1000, -1000, - 2103, -1000, 17376, 17376, 17376, -1000, -1000, 17376, 17376, -1000, - 17376, 17376, 18588, 1025, 18588, 17376, 17376, 18588, -1000, -1000, - -1000, -1000, 18588, 17376, 17376, 17376, 17376, 17376, 17376, 17376, - 17376, 17376, -1000, -1000, 1543, 1543, 16770, 10685, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 612, -1000, - 526, 526, 526, 41626, -1000, -1000, -1000, -1000, -1000, -1000, - 1490, 2052, -1000, 1889, 1883, 2098, 2096, -1000, 22234, 1878, - -1000, -1000, 41626, -283, -1000, 1919, 1946, 549, 549, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 8852, 2056, 17376, 1800, - 41626, 1636, -1000, 21628, 41626, 41626, 22234, 22234, 22234, 22234, - 22234, -1000, 1853, 1849, -1000, 1851, 1827, 1866, 41626, -1000, - 1539, 1025, 2066, 19805, 334, 17376, 24052, 1372, 22234, -1000, - -1000, 22234, 41626, 8241, -1000, -1000, -3, -18, -1000, -1000, - -1000, -1000, 3657, -1000, -1000, 423, 2030, 1941, -1000, -1000, - -1000, -1000, -1000, 1537, -1000, 1534, 1468, 1532, 177, -1000, - 1674, 1977, 674, 674, -1000, 1020, -1000, 1186, 1172, 1161, - -1000, -1000, -1000, 451, -1000, 2023, 41626, 1792, 1789, 1783, - -1000, -398, 1013, 1703, 1668, 17376, 1698, 2072, 1399, 41626, - -1000, -1000, 41626, -1000, 176, -1000, 280, 41626, -1000, -1000, - -1000, 291, 41626, -1000, 7088, -1000, -1000, -1000, 165, -1000, - -1000, -1000, -1000, -1000, -1000, 41626, 250, -1000, 1695, 1003, - -1000, -1000, 1714, -1000, -1000, -1000, -1000, 181, 268, 156, - 1156, 156, -1000, 41626, 505, 1802, 41626, -1000, -1000, -1000, - 778, 778, -1000, -1000, 1970, -1000, 1186, 1304, 17982, 17982, - -1000, 589, -1000, 1636, 1025, 1692, 1692, -1000, 1692, 1693, - -1000, 1692, 130, 1692, 125, 1692, -1000, -1000, 1025, 1025, - 1132, 1106, -78, -1000, 965, 17376, -1000, -1000, 1572, 1511, - 1304, -1000, 1687, 1681, 17376, 1304, 1304, 1304, -1000, 965, - 1227, 1446, 1364, -1000, -1000, -1000, -1000, 1460, 1304, 1382, - -281, 1025, 1529, 1529, 1529, 1529, 1529, 1503, 1503, 1503, - 1503, -1000, -1000, 1025, -1000, -1000, 2049, 2049, 2049, 1456, - 42232, 41626, -1000, -1000, -1000, -1000, 2096, 2094, 1435, -1000, - -1000, 55, 380, -1000, 1907, 1946, -1000, 2070, 1912, 2069, - -1000, -1000, -1000, -1000, -1000, 965, -1000, 2010, 1663, -1000, - 685, 1347, -1000, -1000, 16164, 1485, 1876, 513, 1456, 1545, - 1969, 1763, 1779, 1955, -1000, -1000, -1000, -1000, 1847, -1000, - 1833, -1000, -1000, 1660, -1000, -1000, 1389, 1025, 1328, 302, - 22234, 1492, 1492, -1000, 500, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 864, 6595, 2124, -1000, 1154, -1000, 1108, 199, - 1001, -1000, -1000, 674, 674, -1000, 793, 784, -1000, 41626, - 1678, -1000, 314, 1153, 314, 999, -1000, 983, -1000, -1000, - -1000, -1000, 1686, 1829, -1000, -1000, -1000, -1000, 41626, -1000, - -1000, 41626, 41626, 41626, 1677, 2068, -1000, 17376, 1675, 681, - 1415, 41626, 41626, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 402, 674, -359, 271, 254, 674, - 674, 674, -399, -1000, -1000, 1447, 1444, -1000, -148, -1000, - 17376, -1000, -1000, -1000, 1023, 1023, -1000, 1660, -1000, -1000, - -1000, 1279, -1000, -1000, -124, 41626, 41626, 41626, 41626, -1000, - 988, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 589, 17982, -1000, -1000, 314, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 17376, -1000, 17376, - -1000, 2056, 1150, 965, 17376, 17376, -1000, 980, 942, 1304, - -1000, -1000, -1000, 1025, 18588, -1000, 18588, -1000, 17376, 209, - 579, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 1636, 1939, 1636, 1636, 24052, -1000, -1000, 2094, - 2092, 2064, 1895, 1908, 1908, 1907, -1000, 2063, 2062, -1000, - 1143, 2061, 1142, 774, -1000, 41626, 17376, 1636, -1000, 333, - 41626, 1636, 41626, -1000, 2067, -1000, -1000, 17376, 1672, -1000, - 17376, -1000, -1000, -1000, -1000, -1000, -1000, 6936, 2096, 1492, - -1000, -1000, 610, -1000, 17376, -1000, -1000, -1000, 5623, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1137, 1128, -1000, - -1000, 1662, 17376, -1000, -1000, -1000, 1264, 1261, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 1660, -1000, -1000, -1000, - -1000, 291, -397, 1370, 41626, 932, -1000, 1396, 1399, 284, - 1636, 1112, 674, 674, 674, 929, 923, 28294, 1385, -1000, - 41626, 348, -1000, 291, -1000, -157, -158, 1304, -1000, -1000, - 2028, -1000, -1000, 10685, -1000, -1000, 1643, 1756, -1000, -1000, - -1000, 208, -1000, 1304, 1304, 1025, -1000, 1304, 1304, 1246, - 1130, -1000, -1000, 1364, -1000, 1050, -1000, 209, 1025, 1777, - -1000, -1000, 6936, -1000, 24658, -1000, 2060, 2059, 28900, 28900, - 612, 2092, -1000, 17376, 17376, 1893, 958, -1000, -1000, -1000, - -1000, 1111, 1110, -1000, 1109, -1000, 2123, -1000, 965, -1000, - 1636, -1000, 498, 1347, -1000, 2056, 965, 41626, 965, 56, - 2067, -1000, 1304, -1000, 1636, 1636, 1636, 1636, 1636, 1636, - 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, - 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, - 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1636, - -1000, -1000, 41626, 1262, -1000, -1000, 2026, 1358, 69, -1000, - 1351, -1000, -1000, 478, -1000, 17376, -1000, 28294, 1090, 1076, - -1000, -1000, -1000, -1000, -399, -1000, -1000, -1000, -1000, -1000, - -1000, 334, 1387, -1000, 651, 41626, 41626, 1025, 285, -131, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 17376, - -1000, 1025, 1776, -1000, -246, -1000, 1343, -1000, -1000, -1000, - -1000, -1000, 1343, 1343, -1000, -1000, 965, 1378, -1000, 897, - -1000, -1000, -1000, -1000, -1000, 41626, 1347, 41626, -1000, 1338, - 1025, 1636, 2056, -1000, 1336, -1000, 334, -1000, 1583, 1668, - -1000, -1000, -1000, 15558, -1000, -1000, -1000, -1000, -1000, 172, - -122, 10685, 7630, 1321, -1000, -1000, 1862, -117, -138, 1227, - -1000, -334, -1000, -1000, 27688, -1000, -1000, -1000, -1000, -1000, - 1254, -1000, -1000, 24052, 41020, -1000, -107, 206, -122, 17376, - 1299, 1025, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -5, -1000, -1000, -1000, -1000, -1000, 1714, -1000, 1861, -1000, - 1025, -1000, -1000, -1000, 1293, -1000, 2973, -232, 1773, -1000, - -59, -1000, -1000, -1000, 851, 1074, -1000, -1000, -1000, -1000, - -1000, -1000, 1223, 41626, -1000, 395, -1000, -1000, -124, -125, - -1000, -1000, 41020, -223, 555, 6936, -1000, 1771, 1770, 2102, - -1000, -1000, -1000, -1000, -1000, -1000, -414, 1260, 182, -1000, - -132, -1000, -1000, 2020, 56, -1000, 2104, -1000, 2120, 567, - 567, -1000, 920, -414, -1000, -142, -234, -1000, -1000, -1000, - -1000, -1000, 377, 981, -1000, -1000, -1000, -1000, 6936, -1000, - -1000, -1000, 207, 207, -1000, -1000, + -1000, 1880, 1217, 1217, 1217, 1217, 1217, 18066, 1112, -1000, + -1000, -1000, 2240, 2145, 1252, 1386, 1252, 1491, -1000, 2118, + 1217, 2080, 2057, 1957, 1254, 1951, 1933, 1909, 1217, 1217, + 1217, 1165, 1904, 1893, 1888, 1872, 1809, 1800, 1795, 1786, + 1741, 1217, 1252, 17459, 17459, 1475, 1586, 482, -1000, 1498, + 1252, 1252, 1498, 1498, 11364, 1252, -1000, 42356, -1000, -313, + -1000, -49, 535, 1586, -1000, 29002, 1252, -1000, 5778, -1000, + 43570, -1000, -1000, -1000, -1000, -1000, 27181, 1614, 1920, -1000, + -1000, 1586, 1518, -1000, -1000, 304, 54, 26574, 563, 563, + 83, 1268, 1268, 18066, -1000, -1000, -1000, -1000, -1000, -1000, + 468, 2156, 323, 1586, -1000, 1513, 2167, -1000, -1000, -1000, + 2045, 20499, -1000, 1586, 1586, 42356, 1714, 1573, -1000, 460, + -1000, 1473, 11, -34, -1000, -1000, -1000, -1000, 1268, -1000, + 1040, 293, 313, -1000, 346, -1000, -1000, -1000, -1000, 1930, + 64, -1000, -1000, -1000, 176, 304, -1000, -1000, -1000, -1000, + -1000, -1000, 1178, 1178, -1000, -1000, -1000, -1000, -1000, 1013, + -1000, -1000, -1000, 1010, -1000, -1000, 1704, 1782, 302, -1000, + -1000, 658, 1175, -1000, -1000, 1942, 658, 658, 42356, -1000, + -1000, 1328, 2036, 199, 42356, 707, 1807, -1000, 1742, 1742, + 1742, 42356, -1000, -1000, -1000, -1000, -1000, -1000, -393, 68, + 327, -1000, -1000, -1000, 3809, 42356, 1511, -1000, 174, -1000, + 1296, -1000, 42356, -1000, 1506, 1707, 1170, 1170, -1000, -1000, + -1000, 42356, 1586, -1000, -1000, -1000, -1000, 416, 1983, 237, + -1000, -1000, -214, -1000, -1000, 177, 174, 570, 1170, -1000, + -1000, -1000, -1000, -1000, -394, 1502, 398, 180, 265, 42356, + 42356, 42356, 42356, 42356, 459, -1000, -1000, -1000, -1000, 152, + -1000, -1000, 152, -1000, -1000, -1000, -1000, 221, 381, -1000, + 42356, 42356, 532, -1000, -1000, -1000, 788, -1000, -1000, 788, + -1000, -1000, -1000, -1000, -1000, 1972, 42356, -32, -354, -1000, + -349, 18066, -1000, -1000, -1000, -1000, 1517, 411, 1687, 18673, + 18673, 17459, -126, 766, 766, 25967, -1000, -1000, -1000, 18066, + 18066, 1539, 691, -1000, 18066, 880, -1000, -1000, -1000, 1217, + -1000, 1217, -1000, -1000, 1217, 18066, 18066, 18066, 1252, 262, + -1000, -1000, -1000, -1000, -1000, 2164, -1000, 18066, 18066, 18066, + -1000, -1000, 18066, 18066, -1000, 18066, 18066, 19280, 1252, 19280, + 18066, 18066, 19280, -1000, -1000, -1000, -1000, 19280, 18066, 18066, + 18066, 18066, 18066, 18066, 18066, 18066, 18066, -1000, -1000, 1498, + 1498, 17459, 11364, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 535, -1000, 513, 513, 513, 42356, -1000, + -1000, -1000, -1000, -1000, -1000, 1447, 2083, -1000, 1863, 1860, + 2162, 2156, -1000, 22932, 1920, -1000, -1000, 42356, -303, -1000, + 1886, 2084, 563, 563, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 9528, 2072, 18066, 1799, 42356, 1586, -1000, 22325, 42356, + 42356, 22932, 22932, 22932, 22932, 22932, -1000, 1833, 1832, -1000, + 1822, 1819, 1989, 42356, -1000, 1495, 1252, 2139, 20499, 325, + 18066, 24753, 1355, 22932, -1000, -1000, 22932, 42356, 8916, -1000, + -1000, -43, -40, -1000, -1000, -1000, -1000, 3103, -1000, -1000, + 1303, 2043, 1923, -1000, -1000, -1000, -1000, -1000, 1493, -1000, + 1488, 1443, 1486, 159, -1000, 1719, 1966, 658, 658, -1000, + 1004, -1000, 1170, 1172, 1171, -1000, -1000, -1000, 384, -1000, + 2010, 42356, 1798, 1796, 1793, -1000, -402, 990, 1683, 1563, + 18066, 1681, 2133, 1402, 42356, -1000, -1000, 42356, -1000, 173, + -1000, 302, 42356, -1000, -1000, -1000, 279, 42356, -1000, 6764, + -1000, -1000, -1000, 174, -1000, -1000, -1000, -1000, -1000, -1000, + 42356, 188, -1000, 1658, 1247, -1000, -1000, 1735, -1000, -1000, + -1000, -1000, 179, 261, 150, 1150, 150, -1000, 42356, 524, + 1782, 42356, -1000, -1000, -1000, 771, 771, -1000, -1000, 1964, + -1000, 1170, 1217, 18673, 18673, -1000, 572, -1000, 1586, 1252, + 1641, 1641, -1000, 1641, 1654, -1000, 1641, 128, 1641, 125, + 1641, -1000, -1000, 1252, 1252, 1118, 1099, -94, -1000, 1268, + 18066, -1000, -1000, -1000, 1667, 1564, 1217, -1000, 1626, 1624, + 18066, 1217, 1217, 1217, -1000, 1268, 1254, 1399, 1383, -1000, + -1000, -1000, -1000, 1439, 1217, 1382, -301, 1252, 1484, 1484, + 1484, 1484, 1484, 1482, 1482, 1482, 1482, -1000, -1000, 1252, + -1000, -1000, 2066, 2066, 2066, 1464, 42963, 42356, -1000, -1000, + -1000, -1000, 2156, 2154, 1435, -1000, -1000, 54, 397, -1000, + 1902, 2084, -1000, 2122, 1881, 2116, -1000, -1000, -1000, -1000, + -1000, 1268, -1000, 1998, 1381, -1000, 661, 1375, -1000, -1000, + 16852, 1468, 1852, 453, 1464, 1430, 2167, 1760, 1792, 2271, + -1000, -1000, -1000, -1000, 1829, -1000, 1805, -1000, -1000, 1602, + -1000, -1000, 1361, 1252, 1302, 292, 22932, 1394, 1394, -1000, + 445, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 868, 6342, + 2229, -1000, 1130, -1000, 1022, 198, 989, -1000, -1000, 658, + 658, -1000, 739, 738, -1000, 42356, 1618, -1000, 304, 1129, + 304, 987, -1000, 985, -1000, -1000, -1000, -1000, 1748, 1836, + -1000, -1000, -1000, -1000, 42356, -1000, -1000, 42356, 42356, 42356, + 1612, 2115, -1000, 18066, 1609, 660, 1373, 42356, 42356, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 383, 658, -372, 226, 224, 658, 658, 658, -403, -1000, + -1000, 1455, 1437, -1000, -156, -1000, 18066, -1000, -1000, -1000, + 979, 979, -1000, 1602, -1000, -1000, -1000, 1284, -1000, -1000, + -138, 42356, 42356, 42356, 42356, -1000, 929, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 572, + 18673, -1000, -1000, 304, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 18066, -1000, 18066, -1000, 2072, 1121, 1268, + 18066, 18066, -1000, 984, 944, 1217, -1000, -1000, -1000, 1252, + 19280, -1000, 19280, -1000, 18066, 210, 766, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1586, 1905, + 1586, 1586, 24753, -1000, -1000, 2154, 2120, 2102, 1875, 1874, + 1874, 1902, -1000, 2094, 2092, -1000, 1120, 2089, 1117, 737, + -1000, 42356, 18066, 1586, -1000, 309, 42356, 1586, 42356, -1000, + 2085, -1000, -1000, 18066, 1607, -1000, 18066, -1000, -1000, -1000, + -1000, -1000, -1000, 6806, 2156, 1394, -1000, -1000, 600, -1000, + 18066, -1000, -1000, -1000, 6379, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 1111, 1105, -1000, -1000, 1604, 18066, -1000, + -1000, -1000, 1282, 1276, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 1602, -1000, -1000, -1000, -1000, 279, -401, 1338, + 42356, 934, -1000, 1420, 1402, 271, 1586, 1103, 658, 658, + 658, 922, 903, 29002, 1417, -1000, 42356, 322, -1000, 279, + -1000, -175, -176, 1217, -1000, -1000, 2034, -1000, -1000, 11364, + -1000, -1000, 1601, 1740, -1000, -1000, -1000, 223, -1000, 1217, + 1217, 1252, -1000, 1217, 1217, 1274, 1272, -1000, -1000, 1383, + -1000, 1073, -1000, 210, 1252, 1788, -1000, -1000, 6806, -1000, + 25360, -1000, 2079, 2075, 29609, 29609, 535, 2120, -1000, 18066, + 18066, 1873, 909, -1000, -1000, -1000, -1000, 1101, 1098, -1000, + 1096, -1000, 2205, -1000, 1268, -1000, 1586, -1000, 433, 1375, + -1000, 2072, 1268, 42356, 1268, 55, 2085, -1000, 1217, -1000, + 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, + 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, + 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, + 1586, 1586, 1586, 1586, 1586, 1586, 1586, -1000, -1000, 42356, + 1212, -1000, -1000, 2027, 1365, 67, -1000, 1347, -1000, -1000, + 473, -1000, 18066, -1000, 29002, 1064, 1024, -1000, -1000, -1000, + -1000, -403, -1000, -1000, -1000, -1000, -1000, -1000, 325, 1400, + -1000, 651, 42356, 42356, 1252, 270, -142, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 18066, -1000, 1252, 1785, + -1000, -248, -1000, 1342, -1000, -1000, -1000, -1000, -1000, 1342, + 1342, -1000, -1000, 1268, 1386, -1000, 872, -1000, -1000, -1000, + -1000, -1000, 42356, 1375, 42356, -1000, 1324, 1252, 1586, 2072, + -1000, 1300, -1000, 325, -1000, 1583, 1563, -1000, -1000, -1000, + 16245, -1000, -1000, -1000, -1000, -1000, 168, -136, 11364, 8304, + 1271, -1000, -1000, 1840, -132, -154, 1254, -1000, -342, -1000, + -1000, 28395, -1000, -1000, -1000, -1000, -1000, 1368, -1000, -1000, + 24753, 41749, -1000, -124, 236, -136, 18066, 1579, 1252, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -17, -1000, -1000, + -1000, -1000, -1000, 1735, -1000, 1838, -1000, 1252, -1000, -1000, + -1000, 1258, -1000, 1434, -255, 1769, -1000, -101, -1000, -1000, + -1000, 820, 900, -1000, -1000, -1000, -1000, -1000, -1000, 1159, + 42356, -1000, 345, -1000, -1000, -138, -139, -1000, -1000, 41749, + -247, 570, 6806, -1000, 1768, 1758, 2179, -1000, -1000, -1000, + -1000, -1000, -1000, -410, 1256, 201, -1000, -151, -1000, -1000, + 2007, 55, -1000, 2198, -1000, 2168, 603, 603, -1000, 897, + -410, -1000, -159, -268, -1000, -1000, -1000, -1000, -1000, 337, + 965, -1000, -1000, -1000, -1000, 6806, -1000, -1000, -1000, 205, + 205, -1000, -1000, } var yyPgo = [...]int{ - 0, 2448, 2447, 30, 4, 37, 36, 2446, 26, 100, - 192, 25, 197, 111, 2445, 2444, 2443, 2442, 2441, 2440, - 2439, 229, 228, 221, 2438, 2437, 2436, 2435, 2434, 2433, - 2432, 2429, 2427, 2425, 225, 172, 189, 2423, 2422, 2420, - 126, 185, 95, 98, 187, 2417, 2415, 88, 2414, 2412, - 2411, 184, 182, 181, 743, 2410, 176, 123, 46, 2409, - 2408, 2407, 2406, 2404, 2403, 2402, 2401, 2400, 2399, 2398, - 2397, 2396, 2390, 2389, 2388, 2387, 208, 2386, 2385, 18, - 2384, 90, 2382, 2381, 2380, 2379, 142, 2378, 2377, 2376, - 39, 2375, 2374, 2373, 2372, 2371, 2370, 2369, 153, 2367, - 2366, 2364, 173, 190, 2361, 2359, 179, 118, 138, 2358, - 2357, 131, 195, 2355, 140, 2354, 2353, 2352, 163, 2350, - 4568, 2349, 76, 73, 2345, 69, 85, 71, 74, 5, - 10, 2343, 2341, 75, 94, 2340, 115, 77, 2338, 121, - 110, 2337, 2336, 12, 8, 2335, 2, 7, 3, 80, - 2334, 2333, 122, 2332, 2331, 2325, 102, 2324, 2323, 3638, - 2322, 97, 146, 116, 84, 2321, 42, 66, 2319, 2318, - 2316, 2315, 2314, 53, 2311, 2309, 2306, 152, 60, 178, - 40, 65, 52, 144, 2305, 63, 89, 2302, 151, 150, - 2299, 67, 32, 43, 2297, 48, 147, 129, 38, 103, - 155, 2293, 2287, 61, 83, 2284, 2283, 2280, 2278, 2277, - 2275, 81, 2265, 58, 2264, 200, 2263, 14, 2262, 50, - 41, 2259, 79, 135, 78, 31, 2258, 167, 2257, 55, - 171, 143, 168, 2256, 2255, 2254, 2253, 188, 302, 2252, - 2251, 119, 174, 154, 160, 101, 2250, 304, 2249, 2248, - 99, 1542, 2230, 28, 170, 2246, 2236, 4008, 148, 45, - 19, 2233, 201, 2232, 2231, 2229, 194, 177, 130, 983, - 68, 2228, 2225, 15, 2223, 2222, 2219, 2218, 2217, 2215, - 92, 35, 34, 33, 196, 82, 17, 108, 169, 86, - 2214, 2212, 2211, 134, 105, 2210, 166, 165, 133, 139, - 2209, 175, 162, 158, 2208, 693, 29, 2201, 2198, 2196, - 2193, 107, 2192, 2191, 2190, 2188, 164, 156, 132, 93, - 2187, 96, 127, 157, 159, 49, 2185, 47, 2184, 2183, - 23, 186, 24, 2176, 13, 70, 59, 22, 117, 136, - 2165, 0, 2164, 16, 183, 337, 161, 2163, 2160, 6, - 9, 11, 2159, 2157, 2155, 2152, 149, 2151, 2150, 2148, - 2147, 21, 44, 20, 1, 120, 91, 2145, 2144, 2141, - 4758, 2162, 145, 2138, 202, + 0, 2551, 2550, 26, 4, 36, 35, 2549, 88, 103, + 191, 25, 198, 120, 2548, 2547, 2544, 2543, 2542, 2541, + 2535, 228, 226, 224, 2534, 2532, 2531, 2528, 2527, 2526, + 2524, 2523, 2522, 2521, 220, 169, 190, 2517, 2516, 2515, + 125, 184, 91, 96, 187, 2514, 2513, 81, 2512, 2511, + 2506, 178, 177, 176, 737, 2504, 174, 134, 45, 2503, + 2502, 2501, 2500, 2499, 2498, 2497, 2495, 2493, 2492, 2491, + 2489, 2488, 2485, 2484, 2483, 2482, 205, 2481, 2480, 17, + 2479, 85, 2476, 2471, 2470, 2469, 133, 2468, 2466, 2465, + 37, 2464, 2463, 2462, 2461, 2460, 2459, 2458, 147, 2456, + 2455, 2454, 170, 197, 2453, 2452, 179, 116, 122, 2451, + 2450, 124, 193, 2449, 128, 2448, 2447, 2446, 161, 2445, + 5034, 2444, 76, 70, 2443, 67, 105, 66, 59, 16, + 3, 2442, 2441, 75, 93, 2440, 108, 68, 2439, 104, + 111, 2438, 2437, 13, 8, 2436, 5, 7, 2, 80, + 2435, 2434, 129, 2432, 2428, 2427, 99, 2425, 2422, 3128, + 2420, 100, 143, 115, 83, 2419, 44, 71, 2418, 2416, + 2415, 2414, 2413, 53, 2412, 2411, 2410, 152, 73, 175, + 42, 38, 58, 150, 2409, 30, 90, 2408, 145, 146, + 2407, 52, 31, 55, 2406, 40, 142, 127, 39, 102, + 151, 2405, 2404, 74, 79, 2403, 2399, 2396, 2394, 2393, + 2391, 78, 2390, 49, 2388, 195, 2387, 20, 2386, 46, + 43, 2385, 77, 135, 69, 32, 2384, 181, 2382, 61, + 164, 136, 167, 2381, 2380, 2373, 2371, 188, 277, 2370, + 2367, 84, 172, 149, 160, 101, 2364, 282, 2362, 2361, + 98, 1561, 2251, 28, 165, 2359, 2358, 3742, 155, 41, + 18, 2357, 194, 2356, 2355, 2354, 196, 171, 119, 988, + 63, 2353, 2352, 14, 2351, 2345, 2342, 2336, 2331, 2330, + 92, 34, 33, 29, 192, 82, 10, 106, 159, 86, + 2326, 2324, 2323, 131, 110, 2321, 163, 162, 132, 180, + 2320, 173, 153, 139, 2319, 545, 27, 2314, 2311, 2310, + 2306, 107, 2305, 2304, 2301, 2296, 158, 148, 130, 94, + 2290, 97, 126, 156, 154, 48, 2285, 47, 2280, 2277, + 23, 185, 24, 2276, 12, 65, 60, 22, 121, 118, + 2271, 0, 2268, 15, 182, 276, 157, 2266, 2264, 6, + 9, 11, 2263, 2262, 2261, 2260, 144, 2258, 2255, 2253, + 2250, 21, 50, 19, 1, 123, 95, 2248, 2247, 2246, + 5425, 2890, 138, 2245, 199, } -//line sql.y:7154 +//line sql.y:7160 type yySymType struct { union any empty struct{} @@ -6840,30 +6916,30 @@ var yyR1 = [...]int{ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - 173, 173, 173, 173, 173, 271, 271, 337, 337, 336, - 336, 335, 335, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 94, 94, 94, 94, 94, - 94, 94, 94, 94, 374, 374, 284, 284, 284, 284, - 175, 175, 175, 175, 175, 101, 101, 101, 101, 101, - 268, 268, 268, 272, 272, 272, 270, 270, 270, 270, + 173, 173, 173, 173, 173, 173, 271, 271, 337, 337, + 336, 336, 335, 335, 95, 95, 95, 95, 95, 95, + 95, 95, 95, 95, 95, 95, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 374, 374, 284, 284, 284, + 284, 175, 175, 175, 175, 175, 101, 101, 101, 101, + 101, 268, 268, 268, 272, 272, 272, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, - 270, 189, 189, 97, 97, 187, 187, 188, 190, 190, - 185, 185, 185, 171, 171, 171, 191, 191, 192, 192, - 193, 193, 195, 194, 194, 196, 197, 197, 197, 198, - 198, 199, 199, 199, 47, 47, 47, 47, 47, 42, - 42, 42, 42, 43, 43, 43, 43, 112, 112, 112, - 112, 114, 114, 113, 113, 79, 79, 80, 80, 80, - 118, 118, 119, 119, 119, 116, 116, 117, 117, 215, - 215, 200, 200, 200, 207, 207, 207, 203, 203, 205, - 205, 205, 206, 206, 206, 204, 212, 212, 214, 214, - 213, 213, 209, 209, 210, 210, 211, 211, 211, 208, - 208, 170, 170, 170, 170, 170, 216, 216, 216, 216, - 224, 224, 180, 180, 182, 182, 181, 135, 225, 225, - 229, 226, 226, 230, 230, 230, 230, 230, 227, 227, - 228, 228, 256, 256, 256, 234, 234, 247, 247, 243, - 243, 244, 244, 237, 237, 249, 249, 249, 74, 179, - 179, 322, 322, 319, 252, 252, 253, 253, 257, 257, - 261, 261, 258, 258, 250, 250, 250, 250, 250, 250, + 270, 270, 189, 189, 97, 97, 187, 187, 188, 190, + 190, 185, 185, 185, 171, 171, 171, 191, 191, 192, + 192, 193, 193, 195, 194, 194, 196, 197, 197, 197, + 198, 198, 199, 199, 199, 47, 47, 47, 47, 47, + 42, 42, 42, 42, 43, 43, 43, 43, 112, 112, + 112, 112, 114, 114, 113, 113, 79, 79, 80, 80, + 80, 118, 118, 119, 119, 119, 116, 116, 117, 117, + 215, 215, 200, 200, 200, 207, 207, 207, 203, 203, + 205, 205, 205, 206, 206, 206, 204, 212, 212, 214, + 214, 213, 213, 209, 209, 210, 210, 211, 211, 211, + 208, 208, 170, 170, 170, 170, 170, 216, 216, 216, + 216, 224, 224, 180, 180, 182, 182, 181, 135, 225, + 225, 229, 226, 226, 230, 230, 230, 230, 230, 227, + 227, 228, 228, 256, 256, 256, 234, 234, 247, 247, + 243, 243, 244, 244, 237, 237, 249, 249, 249, 74, + 179, 179, 322, 322, 319, 252, 252, 253, 253, 257, + 257, 261, 261, 258, 258, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, @@ -6878,7 +6954,7 @@ var yyR1 = [...]int{ 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, - 250, 251, 251, 251, 251, 251, 251, 251, 251, 251, + 250, 250, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, @@ -6913,8 +6989,8 @@ var yyR1 = [...]int{ 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, - 251, 251, 251, 251, 251, 251, 251, 370, 371, 266, - 267, 267, 267, + 251, 251, 251, 251, 251, 251, 251, 251, 251, 370, + 371, 266, 267, 267, 267, } var yyR2 = [...]int{ @@ -7023,34 +7099,34 @@ var yyR2 = [...]int{ 1, 1, 1, 1, 1, 1, 1, 3, 4, 5, 5, 6, 4, 4, 8, 6, 8, 6, 8, 5, 4, 2, 2, 1, 2, 2, 2, 5, 4, 5, - 4, 4, 8, 8, 6, 5, 4, 4, 4, 4, - 4, 7, 4, 6, 6, 6, 4, 4, 4, 7, - 8, 6, 5, 6, 8, 11, 7, 8, 8, 9, - 4, 4, 4, 4, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 4, 0, 2, 0, 2, 1, - 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 4, 4, 5, 8, 8, 6, 5, 4, 4, 4, + 4, 4, 7, 4, 6, 6, 6, 4, 4, 4, + 7, 8, 6, 5, 6, 8, 11, 7, 8, 8, + 9, 4, 4, 4, 4, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 4, 0, 2, 0, 2, + 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 0, 2, 0, 2, 3, 3, - 4, 4, 4, 4, 4, 0, 3, 4, 7, 3, - 1, 1, 1, 0, 5, 5, 2, 3, 1, 2, - 2, 1, 2, 1, 2, 2, 1, 2, 2, 1, - 1, 0, 1, 0, 2, 1, 2, 4, 0, 2, - 1, 3, 5, 1, 2, 2, 0, 3, 0, 2, - 0, 1, 3, 1, 3, 2, 0, 1, 1, 0, - 1, 2, 4, 4, 0, 2, 2, 1, 1, 3, - 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, - 3, 0, 3, 1, 1, 0, 4, 0, 1, 1, - 0, 3, 1, 3, 2, 1, 1, 0, 1, 2, - 4, 9, 3, 5, 0, 3, 3, 0, 1, 0, - 2, 2, 0, 2, 2, 2, 0, 2, 1, 2, - 3, 3, 0, 2, 1, 2, 3, 4, 3, 0, - 1, 2, 1, 5, 4, 4, 1, 3, 3, 5, - 0, 5, 1, 3, 1, 2, 3, 1, 1, 3, - 3, 1, 3, 3, 3, 3, 3, 2, 1, 2, - 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, - 2, 0, 3, 0, 1, 0, 1, 1, 5, 0, - 1, 0, 1, 2, 1, 1, 1, 1, 1, 1, - 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 0, 2, 0, 2, 3, + 3, 4, 4, 4, 4, 4, 0, 3, 4, 7, + 3, 1, 1, 1, 0, 5, 5, 2, 3, 1, + 2, 2, 1, 2, 1, 2, 2, 1, 2, 2, + 1, 1, 0, 1, 0, 2, 1, 2, 4, 0, + 2, 1, 3, 5, 1, 2, 2, 0, 3, 0, + 2, 0, 1, 3, 1, 3, 2, 0, 1, 1, + 0, 1, 2, 4, 4, 0, 2, 2, 1, 1, + 3, 3, 3, 3, 3, 3, 3, 3, 0, 3, + 3, 3, 0, 3, 1, 1, 0, 4, 0, 1, + 1, 0, 3, 1, 3, 2, 1, 1, 0, 1, + 2, 4, 9, 3, 5, 0, 3, 3, 0, 1, + 0, 2, 2, 0, 2, 2, 2, 0, 2, 1, + 2, 3, 3, 0, 2, 1, 2, 3, 4, 3, + 0, 1, 2, 1, 5, 4, 4, 1, 3, 3, + 5, 0, 5, 1, 3, 1, 2, 3, 1, 1, + 3, 3, 1, 3, 3, 3, 3, 3, 2, 1, + 2, 1, 1, 1, 1, 1, 1, 1, 0, 1, + 0, 2, 0, 3, 0, 1, 0, 1, 1, 5, + 0, 1, 0, 1, 2, 1, 1, 1, 1, 1, + 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -7100,8 +7176,8 @@ var yyR2 = [...]int{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, - 0, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 0, 0, 1, 1, } var yyChk = [...]int{ @@ -7113,307 +7189,308 @@ var yyChk = [...]int{ -50, 223, 222, 259, 224, 252, 74, 305, 306, 308, 309, 310, 311, -85, 257, 258, 226, 36, 45, 33, 34, 37, 230, 265, 266, 229, -10, -34, 8, -370, - 11, 436, 254, 253, 28, -12, 474, 86, -369, 615, + 11, 436, 254, 253, 28, -12, 475, 86, -369, 616, -215, -200, 22, 33, 29, -199, -195, -103, -200, 20, 18, 7, -76, -373, -76, -76, 12, 13, -76, -307, -309, 86, 156, 86, -76, -55, -54, -52, -51, -53, -56, 31, -45, -46, -331, -44, -41, 225, 222, 269, 120, 121, 259, 260, 261, 224, 243, 258, 262, 257, - 278, -40, 81, 33, 474, 477, -314, 221, 227, 228, - 437, 123, 122, 75, 223, -311, 359, 507, 585, -56, - 587, 102, 104, 586, 44, 233, 588, 589, 590, 514, - 591, 242, 592, 593, 594, 595, 601, 556, 602, 603, - 604, 124, 7, -76, -261, -257, -341, -251, 89, 90, - 91, 471, 245, 505, 506, 294, 81, 41, 356, 359, - 507, 467, 585, 305, 319, 313, 340, 332, 472, 508, - 481, 297, 246, 282, 582, 330, 132, 587, 300, 509, - 260, 364, 365, 510, 366, 102, 308, 403, 600, 299, - 511, 598, 104, 586, 79, 466, 51, 44, 255, 328, - 229, 324, 588, 283, 512, 483, 276, 123, 120, 607, - 36, 322, 50, 30, 597, 122, 49, 589, 147, 513, - 590, 514, 368, 347, 576, 48, 369, 261, 515, 84, - 266, 476, 303, 584, 370, 323, 371, 293, 596, 226, - 516, 568, 372, 373, 577, 517, 348, 352, 518, 395, - 374, 614, 52, 519, 520, 578, 121, 521, 78, 591, - 80, 317, 318, 522, 291, 244, 397, 344, 449, 456, + 278, -40, 81, 33, 475, 478, -314, 221, 227, 228, + 437, 123, 122, 75, 223, -311, 359, 508, 586, -56, + 588, 102, 104, 587, 44, 233, 589, 590, 591, 515, + 592, 242, 593, 594, 595, 596, 602, 557, 603, 604, + 605, 124, 7, -76, -261, -257, -341, -251, 89, 90, + 91, 472, 245, 506, 507, 294, 81, 41, 356, 359, + 508, 467, 586, 305, 319, 313, 340, 332, 473, 509, + 482, 297, 246, 282, 583, 330, 132, 588, 300, 510, + 260, 364, 365, 511, 366, 102, 308, 403, 601, 299, + 512, 599, 104, 587, 79, 466, 51, 44, 255, 328, + 229, 324, 589, 283, 513, 484, 276, 123, 120, 608, + 36, 322, 50, 30, 598, 122, 49, 590, 147, 514, + 591, 515, 368, 347, 577, 48, 369, 261, 516, 84, + 266, 477, 303, 585, 370, 323, 371, 293, 597, 226, + 517, 569, 372, 373, 578, 518, 348, 352, 519, 395, + 374, 615, 52, 520, 521, 579, 121, 522, 78, 592, + 80, 317, 318, 523, 291, 244, 397, 344, 449, 456, 457, 108, 109, 452, 110, 458, 111, 459, 460, 461, 450, 112, 105, 451, 462, 463, 345, 346, 113, 464, - 107, 106, 453, 455, 114, 465, 242, 35, 375, 473, - 295, 58, 270, 398, 46, 350, 611, 45, 572, 523, - 575, 343, 339, 446, 53, 524, 525, 526, 527, 468, - 592, 342, 316, 338, 606, 4, 288, 469, 593, 62, - 228, 354, 353, 355, 277, 394, 335, 528, 529, 530, - 249, 82, 531, 325, 21, 532, 533, 376, 284, 534, - 56, 535, 536, 401, 258, 537, 54, 594, 39, 538, - 263, 608, 595, 539, 540, 541, 542, 265, 543, 378, - 544, 377, 349, 351, 272, 379, 475, 545, 304, 321, - 262, 599, 546, 250, 583, 264, 269, 257, 402, 251, - 547, 548, 549, 550, 551, 298, 567, 552, 553, 309, - 601, 447, 43, 554, 555, 556, 557, 558, 292, 287, - 396, 405, 61, 83, 361, 559, 560, 581, 315, 285, - 561, 306, 55, 602, 603, 604, 279, 605, 9, 612, - 613, 381, 124, 289, 290, 47, 336, 271, 562, 301, - 563, 326, 327, 341, 314, 337, 307, 569, 273, 382, - 448, 259, 564, 404, 286, 357, 362, 302, 479, 278, - 383, 580, 478, 334, 331, 280, 565, 384, 234, 274, - 275, 566, 570, 385, 386, 296, 387, 388, 389, 390, - 391, 393, 392, 281, 477, 312, 329, 363, 417, 418, - 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, - 429, 430, 431, 432, 433, 434, 445, 232, -76, 232, - -159, -257, 232, -227, 365, -248, 367, 380, 375, 385, - 373, -239, 376, 378, 272, -358, 395, 232, 382, 220, - 368, 377, 386, 387, 296, 393, 388, 392, 281, 389, - 390, 391, -341, 173, 590, 605, 132, 333, 372, 370, - 396, 572, -257, 307, -264, 312, -252, -341, -251, 310, - -159, -82, 568, 224, -266, -266, -105, 572, 574, -178, - -120, 140, -131, -134, -125, -126, -172, -173, -174, -175, - -132, -185, 162, 163, 170, 141, -183, -135, 26, 470, - 438, 437, 173, 31, 216, 68, 69, 440, 441, 143, - 57, 413, 414, -133, 408, 415, 410, 467, 466, 468, - 469, 443, 444, 115, 445, 105, 107, 106, 446, 447, - 448, 345, 346, 449, 450, 451, 108, 109, 110, 111, - 112, 113, 114, 452, 455, 453, 454, 456, 457, 458, - 463, 464, 459, 460, 461, 462, 465, -252, -257, 237, - 407, 231, 168, 436, -127, -123, -8, -181, 406, 411, - 412, 416, 409, -341, -251, -129, -128, -168, 92, 98, - 103, 99, -364, 116, -370, 93, 94, 95, 96, 97, - 117, 118, 174, 175, 176, 177, 178, 179, 180, 181, - 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, - 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, - 212, 213, 214, 215, 44, 381, 381, -159, -76, -76, - -76, -76, -193, -103, -195, -10, -8, -370, 8, -76, - -8, -9, -13, -34, -36, 501, -35, -257, -200, -215, - 12, 158, 42, 50, -198, -199, -12, -8, -120, 19, - 23, 24, -108, 164, -120, -257, -77, -108, -237, 236, - -76, -76, -226, -269, 307, -230, 396, 395, -253, -228, - -252, -250, -227, 394, 225, 23, 480, 139, 25, 27, - 142, 173, 127, 19, 143, 37, 227, 333, 243, 172, - 239, 437, 220, 72, 482, 408, 410, 406, 413, 439, - 440, 407, 367, 31, 13, 484, 28, 253, 24, 38, - 166, 222, 146, 485, 256, 26, 254, 115, 118, 487, - 22, 75, 248, 14, 241, 40, 16, 488, 489, 17, - 237, 236, 158, 233, 70, 11, 216, 29, 155, 66, - 490, 134, 491, 492, 493, 494, 128, 68, 156, 20, - 609, 411, 412, 33, 573, 470, 267, 168, 73, 59, - 574, 140, 409, 495, 496, 116, 497, 119, 76, 579, - 136, 18, 71, 42, 498, 268, 499, 238, 610, 500, - 399, 501, 157, 223, 436, 69, 502, 231, 380, 8, - 442, 32, 252, 240, 126, 67, 503, 232, 145, 443, - 444, 235, 129, 117, 7, 133, 34, 12, 74, 77, - 414, 415, 416, 57, 125, 474, 144, 15, 504, 400, - 138, 132, -308, 156, -294, -298, -252, 247, -324, 243, - -159, -317, -316, -252, -370, -104, -247, 233, 241, 240, - 133, -345, 136, 289, 407, 231, -51, -52, -53, -227, - 172, 589, -86, 264, 268, 87, 87, -298, -297, -296, - -346, 268, 247, -323, -315, 239, 248, -304, 240, 241, - -299, 233, 134, -346, -299, 238, 248, 243, 247, 268, - 268, 124, 268, 124, 268, 268, 268, 268, 268, 268, - 268, 268, 268, 263, -305, 148, -305, 478, 478, -311, - -346, 243, 233, -346, -346, 235, 35, 35, -249, -299, - 235, 25, -305, -305, -305, -227, 172, -305, -305, -305, - -305, 276, 276, -305, -305, -305, -305, -305, -305, -305, + 107, 106, 453, 455, 114, 465, 242, 35, 375, 474, + 295, 58, 270, 398, 46, 350, 612, 45, 573, 524, + 576, 343, 339, 446, 53, 525, 526, 527, 528, 468, + 593, 342, 316, 338, 607, 4, 288, 469, 594, 62, + 228, 354, 353, 355, 277, 394, 335, 529, 530, 531, + 249, 82, 532, 325, 21, 533, 534, 376, 284, 535, + 56, 536, 537, 401, 258, 538, 54, 595, 39, 539, + 263, 609, 596, 540, 541, 542, 543, 265, 544, 378, + 545, 377, 349, 351, 272, 379, 476, 546, 304, 321, + 262, 600, 547, 250, 584, 264, 269, 257, 402, 251, + 548, 549, 550, 551, 552, 298, 568, 553, 554, 309, + 602, 447, 43, 555, 556, 557, 558, 559, 292, 287, + 396, 405, 61, 83, 361, 560, 561, 582, 315, 285, + 562, 306, 55, 603, 604, 605, 279, 606, 9, 613, + 614, 470, 381, 124, 289, 290, 47, 336, 271, 563, + 301, 564, 326, 327, 341, 314, 337, 307, 570, 273, + 382, 448, 259, 565, 404, 286, 357, 362, 302, 480, + 278, 383, 581, 479, 334, 331, 280, 566, 384, 234, + 274, 275, 567, 571, 385, 386, 296, 387, 388, 389, + 390, 391, 393, 392, 281, 478, 312, 329, 363, 417, + 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, + 428, 429, 430, 431, 432, 433, 434, 445, 232, -76, + 232, -159, -257, 232, -227, 365, -248, 367, 380, 375, + 385, 373, -239, 376, 378, 272, -358, 395, 232, 382, + 220, 368, 377, 386, 387, 296, 393, 388, 392, 281, + 389, 390, 391, -341, 173, 591, 606, 132, 333, 372, + 370, 396, 573, -257, 307, -264, 312, -252, -341, -251, + 310, -159, -82, 569, 224, -266, -266, -105, 573, 575, + -178, -120, 140, -131, -134, -125, -126, -172, -173, -174, + -175, -132, -185, 162, 163, 170, 141, -183, -135, 26, + 471, 438, 437, 173, 31, 216, 68, 69, 440, 441, + 143, 57, 413, 414, -133, 408, 415, 410, 467, 466, + 468, 469, 470, 443, 444, 115, 445, 105, 107, 106, + 446, 447, 448, 345, 346, 449, 450, 451, 108, 109, + 110, 111, 112, 113, 114, 452, 455, 453, 454, 456, + 457, 458, 463, 464, 459, 460, 461, 462, 465, -252, + -257, 237, 407, 231, 168, 436, -127, -123, -8, -181, + 406, 411, 412, 416, 409, -341, -251, -129, -128, -168, + 92, 98, 103, 99, -364, 116, -370, 93, 94, 95, + 96, 97, 117, 118, 174, 175, 176, 177, 178, 179, + 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, + 210, 211, 212, 213, 214, 215, 44, 381, 381, -159, + -76, -76, -76, -76, -193, -103, -195, -10, -8, -370, + 8, -76, -8, -9, -13, -34, -36, 502, -35, -257, + -200, -215, 12, 158, 42, 50, -198, -199, -12, -8, + -120, 19, 23, 24, -108, 164, -120, -257, -77, -108, + -237, 236, -76, -76, -226, -269, 307, -230, 396, 395, + -253, -228, -252, -250, -227, 394, 225, 23, 481, 139, + 25, 27, 142, 173, 127, 19, 143, 37, 227, 333, + 243, 172, 239, 437, 220, 72, 483, 408, 410, 406, + 413, 439, 440, 407, 367, 31, 13, 485, 28, 253, + 24, 38, 166, 222, 146, 486, 256, 26, 254, 115, + 118, 488, 22, 75, 248, 14, 241, 40, 16, 489, + 490, 17, 237, 236, 158, 233, 70, 11, 216, 29, + 155, 66, 491, 134, 492, 493, 494, 495, 128, 68, + 156, 20, 610, 411, 412, 33, 574, 471, 267, 168, + 73, 59, 575, 140, 409, 496, 497, 116, 498, 119, + 76, 580, 136, 18, 71, 42, 499, 268, 500, 238, + 611, 501, 399, 502, 157, 223, 436, 69, 503, 231, + 380, 8, 442, 32, 252, 240, 126, 67, 504, 232, + 145, 443, 444, 235, 129, 117, 7, 133, 34, 12, + 74, 77, 414, 415, 416, 57, 125, 475, 144, 15, + 505, 400, 138, 132, -308, 156, -294, -298, -252, 247, + -324, 243, -159, -317, -316, -252, -370, -104, -247, 233, + 241, 240, 133, -345, 136, 289, 407, 231, -51, -52, + -53, -227, 172, 590, -86, 264, 268, 87, 87, -298, + -297, -296, -346, 268, 247, -323, -315, 239, 248, -304, + 240, 241, -299, 233, 134, -346, -299, 238, 248, 243, + 247, 268, 268, 124, 268, 124, 268, 268, 268, 268, + 268, 268, 268, 268, 268, 263, -305, 148, -305, 479, + 479, -311, -346, 243, 233, -346, -346, 235, 35, 35, + -249, -299, 235, 25, -305, -305, -305, -227, 172, -305, + -305, -305, -305, 276, 276, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, -305, - 232, -345, -112, 392, 296, 81, -54, 278, -37, -159, - -247, 233, 234, -345, 265, -159, 217, -159, -241, 156, - 15, -241, -238, 381, 379, 366, 371, -241, -241, -241, - -241, 279, 364, -300, 233, 35, 244, 381, 279, 364, - 279, 280, 279, 280, 374, 384, 279, -262, 14, 158, - 407, 369, 373, 272, 232, 273, 234, 383, 280, -262, - 93, -242, 156, 381, 275, -241, -241, -267, -370, -253, - 333, -341, 575, -267, -267, 32, 90, 235, -252, -78, - -252, 93, -15, -11, -22, -21, -23, 148, -110, 381, - -98, 173, 590, 576, 577, 578, 575, 378, 583, 581, - 579, 279, 580, 87, 136, 138, 139, 4, -120, 155, - -169, 148, 149, 150, 151, 152, 153, 154, 158, 140, - 142, 156, 157, 137, 159, 160, 161, 162, 163, 164, - 165, 167, 166, 168, 169, 172, 218, 219, -126, -126, - -126, -126, -183, -370, -370, -370, -126, -236, -370, -126, - -370, -370, -370, -370, -189, -120, -370, -374, -370, -374, - -374, -284, -370, -284, -370, -370, -370, -370, -370, -370, + -305, -305, 232, -345, -112, 392, 296, 81, -54, 278, + -37, -159, -247, 233, 234, -345, 265, -159, 217, -159, + -241, 156, 15, -241, -238, 381, 379, 366, 371, -241, + -241, -241, -241, 279, 364, -300, 233, 35, 244, 381, + 279, 364, 279, 280, 279, 280, 374, 384, 279, -262, + 14, 158, 407, 369, 373, 272, 232, 273, 234, 383, + 280, -262, 93, -242, 156, 381, 275, -241, -241, -267, + -370, -253, 333, -341, 576, -267, -267, 32, 90, 235, + -252, -78, -252, 93, -15, -11, -22, -21, -23, 148, + -110, 381, -98, 173, 591, 577, 578, 579, 576, 378, + 584, 582, 580, 279, 581, 87, 136, 138, 139, 4, + -120, 155, -169, 148, 149, 150, 151, 152, 153, 154, + 158, 140, 142, 156, 157, 137, 159, 160, 161, 162, + 163, 164, 165, 167, 166, 168, 169, 172, 218, 219, + -126, -126, -126, -126, -183, -370, -370, -370, -126, -236, + -370, -126, -370, -370, -370, -370, -189, -120, -370, -374, + -370, -374, -374, -284, -370, -284, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, -370, - -370, -370, -370, -370, -370, 217, -370, -370, -370, -370, - -370, -284, -284, -284, -284, -284, 103, 98, 92, -185, - 99, 93, -252, -257, -8, -9, -178, -266, -355, -356, - -162, -159, -370, 296, -252, -252, 265, -198, -12, -8, - -193, -199, -195, -8, -76, -96, -109, 63, 64, -111, - 24, 38, 67, 65, 23, -371, 88, -371, -215, -371, - 87, -36, -219, 86, 61, 43, 93, 93, 87, 21, - -194, -196, -120, 14, -255, 4, -254, 25, -252, 93, - 217, 101, 14, -160, 29, -159, -237, -237, 87, 307, - -230, -269, -232, -231, 397, 399, 148, -256, -252, 93, - 31, 88, 87, -159, -273, -276, -278, -277, -279, -274, - -275, 330, 331, 173, 334, 336, 337, 338, 339, 340, - 341, 342, 343, 344, 347, 32, 255, 326, 327, 328, - 329, 348, 349, 350, 351, 352, 353, 354, 355, 313, - 332, 472, 314, 315, 316, 317, 318, 319, 321, 322, - 323, 324, 325, -344, -341, 86, 88, 87, -280, 86, - -120, -112, 232, -341, 233, 233, 233, -76, 436, -305, - -305, -305, 263, 19, -44, -41, -331, 18, -40, -41, - 225, 120, 121, 222, 86, -294, 86, -303, -344, -341, - 86, 134, 238, 133, -302, -299, -302, -303, -341, -185, - -341, 134, 134, -341, -341, -223, -252, -223, -223, 23, - -223, 23, -223, 23, 95, -252, -223, 23, -223, 23, - -223, 23, -223, 23, -223, 23, 31, 78, 79, 80, - 31, 82, 83, 84, -185, -341, -341, -185, -294, -227, - -159, -341, 95, 95, 95, -305, -305, 95, 93, 93, - 93, -305, -305, 95, 93, -259, -257, 93, 93, -347, - 249, 293, 295, 95, 95, 95, 95, 31, 93, -348, - 31, 597, 596, 598, 599, 600, 93, 95, 31, 95, - 31, 95, -252, 86, -159, -118, 283, 220, 222, 225, - 76, 93, 297, 301, 302, 148, 44, 87, 235, 232, - -341, -243, 237, -243, -252, -258, -257, -250, 93, -120, - -301, 14, 158, -262, -262, -241, -159, -301, -262, -241, - -159, -241, -241, -241, -241, -262, -262, -262, -241, -257, - -257, -159, -159, -159, -159, -159, -159, -159, -267, -242, - -241, 575, 93, -235, 14, 76, -267, -267, -265, 310, - 344, 569, 570, 571, 87, 474, -152, -159, 575, 575, - 575, 575, 575, 575, -120, -120, -120, -120, 497, -176, - 116, 140, 117, 118, -134, -177, -181, -183, 100, 158, - 142, 156, 157, -125, -126, -125, -125, -125, -125, -125, - -125, -125, -125, -125, -125, -125, -125, -125, -268, -252, - 93, 173, -130, -129, 99, -364, -130, -106, -108, -120, - -120, -341, -252, -106, -106, -120, -102, 24, 38, -187, - -188, 144, -185, -371, -371, 95, 99, -102, -367, -102, - 164, -120, -120, -252, -252, -95, -94, 418, 419, 420, - 421, 423, 424, 425, 428, 429, 433, 434, 417, 435, - 422, 427, 430, 431, 432, 426, 329, -120, -120, -120, - -120, -120, -120, -83, -120, 127, 128, 129, -120, -120, - -179, -178, -340, -339, -338, -120, -120, -120, -120, -120, + -370, -370, -370, -370, -370, -370, -370, -370, 217, -370, + -370, -370, -370, -370, -284, -284, -284, -284, -284, 103, + 98, 92, -185, 99, 93, -252, -257, -8, -9, -178, + -266, -355, -356, -162, -159, -370, 296, -252, -252, 265, + -198, -12, -8, -193, -199, -195, -8, -76, -96, -109, + 63, 64, -111, 24, 38, 67, 65, 23, -371, 88, + -371, -215, -371, 87, -36, -219, 86, 61, 43, 93, + 93, 87, 21, -194, -196, -120, 14, -255, 4, -254, + 25, -252, 93, 217, 101, 14, -160, 29, -159, -237, + -237, 87, 307, -230, -269, -232, -231, 397, 399, 148, + -256, -252, 93, 31, 88, 87, -159, -273, -276, -278, + -277, -279, -274, -275, 330, 331, 173, 334, 336, 337, + 338, 339, 340, 341, 342, 343, 344, 347, 32, 255, + 326, 327, 328, 329, 348, 349, 350, 351, 352, 353, + 354, 355, 313, 332, 473, 314, 315, 316, 317, 318, + 319, 321, 322, 323, 324, 325, -344, -341, 86, 88, + 87, -280, 86, -120, -112, 232, -341, 233, 233, 233, + -76, 436, -305, -305, -305, 263, 19, -44, -41, -331, + 18, -40, -41, 225, 120, 121, 222, 86, -294, 86, + -303, -344, -341, 86, 134, 238, 133, -302, -299, -302, + -303, -341, -185, -341, 134, 134, -341, -341, -223, -252, + -223, -223, 23, -223, 23, -223, 23, 95, -252, -223, + 23, -223, 23, -223, 23, -223, 23, -223, 23, 31, + 78, 79, 80, 31, 82, 83, 84, -185, -341, -341, + -185, -294, -227, -159, -341, 95, 95, 95, -305, -305, + 95, 93, 93, 93, -305, -305, 95, 93, -259, -257, + 93, 93, -347, 249, 293, 295, 95, 95, 95, 95, + 31, 93, -348, 31, 598, 597, 599, 600, 601, 93, + 95, 31, 95, 31, 95, -252, 86, -159, -118, 283, + 220, 222, 225, 76, 93, 297, 301, 302, 148, 44, + 87, 235, 232, -341, -243, 237, -243, -252, -258, -257, + -250, 93, -120, -301, 14, 158, -262, -262, -241, -159, + -301, -262, -241, -159, -241, -241, -241, -241, -262, -262, + -262, -241, -257, -257, -159, -159, -159, -159, -159, -159, + -159, -267, -242, -241, 576, 93, -235, 14, 76, -267, + -267, -265, 310, 344, 570, 571, 572, 87, 475, -152, + -159, 576, 576, 576, 576, 576, 576, -120, -120, -120, + -120, 498, -176, 116, 140, 117, 118, -134, -177, -181, + -183, 100, 158, 142, 156, 157, -125, -126, -125, -125, + -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, + -125, -268, -252, 93, 173, -130, -129, 99, -364, -130, + -106, -108, -120, -120, -341, -252, -106, -106, -120, -102, + 24, 38, -187, -188, 144, -185, -371, -371, 95, 99, + -102, -367, -102, 164, -120, -120, -102, -252, -252, -95, + -94, 418, 419, 420, 421, 423, 424, 425, 428, 429, + 433, 434, 417, 435, 422, 427, 430, 431, 432, 426, + 329, -120, -120, -120, -120, -120, -120, -83, -120, 127, + 128, 129, -120, -120, -179, -178, -340, -339, -338, -120, + -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, - -120, -120, -120, -120, -120, -120, -120, -120, -107, 24, - 38, -106, -253, -258, -250, -106, -107, -107, -106, -106, - 217, -215, -371, 87, -357, 399, 400, 573, -260, 268, - -259, 25, -179, 93, 14, -221, 77, -252, -198, -198, - 63, 64, 59, -106, -111, -371, -35, 25, -217, -252, - 62, 93, -285, -227, 356, 357, 173, -120, -120, 87, - -197, 27, 28, -159, -254, 164, -258, -159, -222, 268, - -159, -137, -139, -140, -141, -162, -184, -370, -142, 493, - 490, 14, -152, -153, -161, -257, -230, -232, 87, 398, - 400, 401, 76, 119, -120, -286, 172, -313, -312, -311, - -294, -296, -297, -298, 88, -286, -290, 362, 361, -280, - -280, -280, -280, -280, -285, -285, -285, -285, 86, 86, - -280, -280, -280, -280, -288, 86, -288, -288, -289, 86, - -289, -324, -120, -321, -320, -318, -319, 242, 102, 566, - 522, 474, 514, 556, 77, -316, -197, 95, -371, -118, - -244, 237, -322, -319, -341, -341, -341, -244, -341, 93, - -341, 93, -341, 93, -87, -58, -1, 609, 610, 611, - 87, 19, -295, -294, -57, 293, -327, -328, 268, -323, - -317, -303, 134, -302, -303, -303, -341, 87, 29, 124, - 124, 124, 124, 474, 222, 32, -245, 513, 140, 566, - 522, -294, -57, -268, 235, -268, -268, 93, 93, -240, - 605, -152, -114, 285, 148, 274, 274, 232, 232, 287, - -159, 298, 300, 299, 297, 301, 302, 23, 23, 23, - 286, 288, 290, 276, -159, -159, -243, 76, -154, -159, - 26, -257, -159, -241, -241, -159, -241, -241, -159, -252, - -98, 399, 87, 474, 22, -99, 22, -370, 116, 117, - 118, -177, -125, -126, -125, 139, 256, 87, -371, 25, - 87, 77, -371, -371, -371, 87, 14, -106, -190, -188, - 146, -120, -371, -371, -371, -120, -371, -120, -371, -371, - 87, 87, 14, -272, 25, -371, -371, -371, -371, -371, - -189, -371, 14, 87, 87, -371, -371, 87, 87, -371, - 87, 87, 87, -337, 87, 87, 87, 87, -371, -371, - -371, -371, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, -371, -371, -106, -106, -370, 217, -371, -371, - -371, -371, -371, -253, -356, 572, 400, -166, -165, -163, - 74, 236, 75, -370, -259, -371, -130, 90, -218, 90, - -217, -171, -252, 95, 99, -200, -136, -138, 14, -111, - -183, 88, 87, -285, -204, -209, -238, -252, 93, 173, - -287, 173, -287, 356, 357, -196, 217, -167, 15, -170, - 32, 57, -11, -370, -370, 32, 87, -155, -157, -156, - -158, 66, 70, 72, 67, 68, 69, 73, -263, 25, - -137, -9, -8, -370, -370, -370, -159, -152, -372, 14, - 77, -372, 87, 217, -231, -233, 402, 399, 405, -341, - 93, -86, 87, -311, -298, -201, -115, 40, -291, 363, - -285, 481, -285, -293, 93, -293, 95, 95, 88, -47, - -42, -43, 33, 81, -318, -305, 93, 39, -305, -305, - -252, 88, -197, -114, -159, 140, 76, -322, -322, -322, - -257, -2, 608, 614, 134, 86, 366, 18, -217, 87, - 88, -186, 294, 88, -88, -252, 88, 86, -303, -303, - -252, -370, 232, 31, 31, 566, 522, 513, -57, -186, - -286, -341, 607, 606, 88, 234, 292, -119, 413, -116, - 93, 89, -159, -159, -159, -159, -159, 225, 222, -365, - 303, -365, 277, 235, -152, -159, 87, -81, 251, 246, - -262, -262, 33, -159, 399, 584, 582, -120, 139, 256, - -134, -126, -108, 471, -270, 173, 330, 255, 328, 324, - 344, 335, 361, 326, 362, 323, 322, 321, -270, -268, - -120, -120, -193, 147, -120, 145, -371, -371, -120, -120, - -120, -371, 173, 330, 14, -120, -120, -120, -338, -120, - -120, -120, -336, -335, -130, -185, -371, -336, -120, -120, - -335, -335, -339, -339, -339, -339, -339, -178, -178, -178, - -178, -371, -371, -107, -253, -163, -299, -299, -299, -223, - 87, -234, 22, 14, 57, 57, -136, -167, -137, -111, - -252, -207, 568, -212, 46, -210, -211, 47, -208, 48, - 56, -287, -287, 164, -198, -120, -224, 76, -225, -229, - -185, -180, -182, -181, -370, -216, -371, -252, -223, -225, - -139, -140, -140, -139, -140, 66, 66, 66, 71, 66, - 71, 66, -156, -257, -371, -371, -9, -9, -120, -260, - 77, -137, -137, -161, -257, 164, 399, 403, 404, -311, - -363, 116, 140, 31, 76, 359, 102, -361, 172, 510, - 561, 566, 522, 514, 556, -362, 238, 133, 134, 250, - 25, 41, 88, 87, 88, 87, 88, 87, -246, -245, - -43, -42, -305, -305, 95, -341, 93, 93, 234, 26, - -159, 76, 76, 76, -89, 612, 95, 86, -3, 81, - -120, 86, 19, -294, -185, -329, -281, -330, -282, -283, - -5, -6, -306, -92, 57, 102, -61, 44, 233, 592, - 593, 124, -370, 605, -321, -217, -325, -327, -159, -122, - -370, -121, -123, -127, 162, 163, -186, -159, -113, 283, - 291, 86, -117, 90, -343, 77, 274, 359, 274, -366, - 304, 93, -366, -159, -81, -47, -159, -241, -241, 33, - -341, -371, -134, -126, -370, -371, -280, -280, -280, -289, - -280, 318, -280, 318, -280, -371, -371, 87, -371, 22, - -371, -97, 442, -120, 87, 87, -371, 86, 86, -120, - -371, -371, -371, -337, 87, -371, 87, -371, 87, -271, - 567, -371, -371, -371, -371, -371, -371, -371, -371, -371, - -371, -371, -164, 22, -164, -164, -371, 90, -159, -167, - -191, 16, -204, 51, 336, -214, -213, 55, 47, -211, - 19, 49, 19, 30, -224, 87, 148, 87, -371, -371, - 87, 57, 217, -371, -167, -150, -149, 76, 77, -151, - 76, -149, 66, 66, -219, -371, -371, 87, -222, -137, - -167, -167, 217, 116, -370, -124, -133, -122, 12, 93, - 93, -341, -360, 596, 597, 31, 95, -305, -305, 134, - 134, -159, 86, -285, 93, -285, 95, 95, 31, 82, - 83, 84, 31, 78, 79, 80, -159, -159, -159, -159, - -326, 86, 19, -120, 86, 148, 88, -217, -217, 270, - 158, -305, 590, 276, 276, -305, -305, -305, -91, -90, - 612, 88, -371, 87, -292, 474, 477, -120, -128, -128, - -219, 88, -334, 474, -342, -252, -252, -252, -252, 95, - 97, -125, -285, -120, -120, -198, 93, -120, -120, 95, - 95, -371, -371, -336, -335, -120, -371, -147, -146, -148, - 576, 116, 31, -270, -370, 66, 18, 16, -370, -370, - -260, -191, -192, 17, 19, -205, 53, -203, 52, -203, - -213, 19, 19, 93, 19, 93, 134, -229, -120, -182, - 57, -11, -252, -180, -252, -193, -120, 86, -120, -130, - -167, -167, -120, -173, 467, 466, 468, 469, 445, 105, - 107, 106, 446, 447, 448, 345, 346, 449, 450, 451, - 108, 109, 110, 111, 112, 113, 114, 452, 455, 453, - 456, 457, 458, 463, 464, 459, 460, 461, 462, 465, - 93, 93, 86, -120, 88, 88, -219, -325, -58, 88, - -217, 95, 88, 271, -181, -370, 93, -305, -305, -305, - 95, 95, -259, -371, 87, -252, -362, -327, 478, 478, - -371, 25, -333, -332, -253, 86, 77, -101, 158, 474, - -371, -371, -371, -371, -371, 88, 88, -371, -371, 87, - -371, -146, -148, -371, 76, -130, -220, -371, -252, 238, - 19, 19, -220, -220, -166, -192, -120, -178, -206, 54, - 76, 119, 93, 93, 93, 12, -180, 217, -198, -217, - -144, 366, -193, -371, -217, 88, 25, 88, 614, 134, - 88, -181, -100, -370, 267, -259, 93, 93, -90, -93, - -11, 87, 148, -217, -159, -371, 472, 73, 475, -120, - -371, 76, 485, 576, 87, -371, -371, -371, 76, 119, - -225, -252, 88, -371, -370, -198, 88, -202, -11, 86, - -3, 267, -281, -330, -282, -283, -5, -6, -306, -79, - 474, -332, -310, -253, 93, 95, 88, 62, 473, 476, - -337, -252, 238, -260, -145, -143, -252, 528, -353, -352, - 470, -363, -359, 116, 140, 102, -361, 566, 522, 125, - 126, -79, -120, 86, -371, -80, 282, 572, -343, 62, - -371, -371, 87, 22, -273, -60, 539, -350, -351, 76, - -354, 372, 538, 559, 116, 93, 88, -217, 243, -334, - 474, -143, 535, -286, -130, -351, 76, -350, 76, 13, - 12, -4, 613, 88, 284, 475, -59, 26, -144, -349, - 251, 246, 249, 32, -349, 95, -4, 476, 539, 245, - 31, 116, -130, -147, -146, -146, + -120, -120, -107, 24, 38, -106, -253, -258, -250, -106, + -107, -107, -106, -106, 217, -215, -371, 87, -357, 399, + 400, 574, -260, 268, -259, 25, -179, 93, 14, -221, + 77, -252, -198, -198, 63, 64, 59, -106, -111, -371, + -35, 25, -217, -252, 62, 93, -285, -227, 356, 357, + 173, -120, -120, 87, -197, 27, 28, -159, -254, 164, + -258, -159, -222, 268, -159, -137, -139, -140, -141, -162, + -184, -370, -142, 494, 491, 14, -152, -153, -161, -257, + -230, -232, 87, 398, 400, 401, 76, 119, -120, -286, + 172, -313, -312, -311, -294, -296, -297, -298, 88, -286, + -290, 362, 361, -280, -280, -280, -280, -280, -285, -285, + -285, -285, 86, 86, -280, -280, -280, -280, -288, 86, + -288, -288, -289, 86, -289, -324, -120, -321, -320, -318, + -319, 242, 102, 567, 523, 475, 515, 557, 77, -316, + -197, 95, -371, -118, -244, 237, -322, -319, -341, -341, + -341, -244, -341, 93, -341, 93, -341, 93, -87, -58, + -1, 610, 611, 612, 87, 19, -295, -294, -57, 293, + -327, -328, 268, -323, -317, -303, 134, -302, -303, -303, + -341, 87, 29, 124, 124, 124, 124, 475, 222, 32, + -245, 514, 140, 567, 523, -294, -57, -268, 235, -268, + -268, 93, 93, -240, 606, -152, -114, 285, 148, 274, + 274, 232, 232, 287, -159, 298, 300, 299, 297, 301, + 302, 23, 23, 23, 286, 288, 290, 276, -159, -159, + -243, 76, -154, -159, 26, -257, -159, -241, -241, -159, + -241, -241, -159, -252, -98, 399, 87, 475, 22, -99, + 22, -370, 116, 117, 118, -177, -125, -126, -125, 139, + 256, 87, -371, 25, 87, 77, -371, -371, -371, 87, + 14, -106, -190, -188, 146, -120, -371, -371, -371, -120, + -371, -120, -371, -371, -120, 87, 87, 14, -272, 25, + -371, -371, -371, -371, -371, -189, -371, 14, 87, 87, + -371, -371, 87, 87, -371, 87, 87, 87, -337, 87, + 87, 87, 87, -371, -371, -371, -371, 87, 87, 87, + 87, 87, 87, 87, 87, 87, 87, -371, -371, -106, + -106, -370, 217, -371, -371, -371, -371, -371, -253, -356, + 573, 400, -166, -165, -163, 74, 236, 75, -370, -259, + -371, -130, 90, -218, 90, -217, -171, -252, 95, 99, + -200, -136, -138, 14, -111, -183, 88, 87, -285, -204, + -209, -238, -252, 93, 173, -287, 173, -287, 356, 357, + -196, 217, -167, 15, -170, 32, 57, -11, -370, -370, + 32, 87, -155, -157, -156, -158, 66, 70, 72, 67, + 68, 69, 73, -263, 25, -137, -9, -8, -370, -370, + -370, -159, -152, -372, 14, 77, -372, 87, 217, -231, + -233, 402, 399, 405, -341, 93, -86, 87, -311, -298, + -201, -115, 40, -291, 363, -285, 482, -285, -293, 93, + -293, 95, 95, 88, -47, -42, -43, 33, 81, -318, + -305, 93, 39, -305, -305, -252, 88, -197, -114, -159, + 140, 76, -322, -322, -322, -257, -2, 609, 615, 134, + 86, 366, 18, -217, 87, 88, -186, 294, 88, -88, + -252, 88, 86, -303, -303, -252, -370, 232, 31, 31, + 567, 523, 514, -57, -186, -286, -341, 608, 607, 88, + 234, 292, -119, 413, -116, 93, 89, -159, -159, -159, + -159, -159, 225, 222, -365, 303, -365, 277, 235, -152, + -159, 87, -81, 251, 246, -262, -262, 33, -159, 399, + 585, 583, -120, 139, 256, -134, -126, -108, 472, -270, + 173, 330, 255, 328, 324, 344, 335, 361, 326, 362, + 323, 322, 321, -270, -268, -120, -120, -193, 147, -120, + 145, -371, -371, -371, -120, -120, -120, -371, 173, 330, + 14, -120, -120, -120, -338, -120, -120, -120, -336, -335, + -130, -185, -371, -336, -120, -120, -335, -335, -339, -339, + -339, -339, -339, -178, -178, -178, -178, -371, -371, -107, + -253, -163, -299, -299, -299, -223, 87, -234, 22, 14, + 57, 57, -136, -167, -137, -111, -252, -207, 569, -212, + 46, -210, -211, 47, -208, 48, 56, -287, -287, 164, + -198, -120, -224, 76, -225, -229, -185, -180, -182, -181, + -370, -216, -371, -252, -223, -225, -139, -140, -140, -139, + -140, 66, 66, 66, 71, 66, 71, 66, -156, -257, + -371, -371, -9, -9, -120, -260, 77, -137, -137, -161, + -257, 164, 399, 403, 404, -311, -363, 116, 140, 31, + 76, 359, 102, -361, 172, 511, 562, 567, 523, 515, + 557, -362, 238, 133, 134, 250, 25, 41, 88, 87, + 88, 87, 88, 87, -246, -245, -43, -42, -305, -305, + 95, -341, 93, 93, 234, 26, -159, 76, 76, 76, + -89, 613, 95, 86, -3, 81, -120, 86, 19, -294, + -185, -329, -281, -330, -282, -283, -5, -6, -306, -92, + 57, 102, -61, 44, 233, 593, 594, 124, -370, 606, + -321, -217, -325, -327, -159, -122, -370, -121, -123, -127, + 162, 163, -186, -159, -113, 283, 291, 86, -117, 90, + -343, 77, 274, 359, 274, -366, 304, 93, -366, -159, + -81, -47, -159, -241, -241, 33, -341, -371, -134, -126, + -370, -371, -280, -280, -280, -289, -280, 318, -280, 318, + -280, -371, -371, 87, -371, 22, -371, -97, 442, -120, + 87, 87, -371, 86, 86, -120, -371, -371, -371, -337, + 87, -371, 87, -371, 87, -271, 568, -371, -371, -371, + -371, -371, -371, -371, -371, -371, -371, -371, -164, 22, + -164, -164, -371, 90, -159, -167, -191, 16, -204, 51, + 336, -214, -213, 55, 47, -211, 19, 49, 19, 30, + -224, 87, 148, 87, -371, -371, 87, 57, 217, -371, + -167, -150, -149, 76, 77, -151, 76, -149, 66, 66, + -219, -371, -371, 87, -222, -137, -167, -167, 217, 116, + -370, -124, -133, -122, 12, 93, 93, -341, -360, 597, + 598, 31, 95, -305, -305, 134, 134, -159, 86, -285, + 93, -285, 95, 95, 31, 82, 83, 84, 31, 78, + 79, 80, -159, -159, -159, -159, -326, 86, 19, -120, + 86, 148, 88, -217, -217, 270, 158, -305, 591, 276, + 276, -305, -305, -305, -91, -90, 613, 88, -371, 87, + -292, 475, 478, -120, -128, -128, -219, 88, -334, 475, + -342, -252, -252, -252, -252, 95, 97, -125, -285, -120, + -120, -198, 93, -120, -120, 95, 95, -371, -371, -336, + -335, -120, -371, -147, -146, -148, 577, 116, 31, -270, + -370, 66, 18, 16, -370, -370, -260, -191, -192, 17, + 19, -205, 53, -203, 52, -203, -213, 19, 19, 93, + 19, 93, 134, -229, -120, -182, 57, -11, -252, -180, + -252, -193, -120, 86, -120, -130, -167, -167, -120, -173, + 467, 466, 468, 469, 470, 445, 105, 107, 106, 446, + 447, 448, 345, 346, 449, 450, 451, 108, 109, 110, + 111, 112, 113, 114, 452, 455, 453, 456, 457, 458, + 463, 464, 459, 460, 461, 462, 465, 93, 93, 86, + -120, 88, 88, -219, -325, -58, 88, -217, 95, 88, + 271, -181, -370, 93, -305, -305, -305, 95, 95, -259, + -371, 87, -252, -362, -327, 479, 479, -371, 25, -333, + -332, -253, 86, 77, -101, 158, 475, -371, -371, -371, + -371, -371, 88, 88, -371, -371, 87, -371, -146, -148, + -371, 76, -130, -220, -371, -252, 238, 19, 19, -220, + -220, -166, -192, -120, -178, -206, 54, 76, 119, 93, + 93, 93, 12, -180, 217, -198, -217, -144, 366, -193, + -371, -217, 88, 25, 88, 615, 134, 88, -181, -100, + -370, 267, -259, 93, 93, -90, -93, -11, 87, 148, + -217, -159, -371, 473, 73, 476, -120, -371, 76, 486, + 577, 87, -371, -371, -371, 76, 119, -225, -252, 88, + -371, -370, -198, 88, -202, -11, 86, -3, 267, -281, + -330, -282, -283, -5, -6, -306, -79, 475, -332, -310, + -253, 93, 95, 88, 62, 474, 477, -337, -252, 238, + -260, -145, -143, -252, 529, -353, -352, 471, -363, -359, + 116, 140, 102, -361, 567, 523, 125, 126, -79, -120, + 86, -371, -80, 282, 573, -343, 62, -371, -371, 87, + 22, -273, -60, 540, -350, -351, 76, -354, 372, 539, + 560, 116, 93, 88, -217, 243, -334, 475, -143, 536, + -286, -130, -351, 76, -350, 76, 13, 12, -4, 614, + 88, 284, 476, -59, 26, -144, -349, 251, 246, 249, + 32, -349, 95, -4, 477, 540, 245, 31, 116, -130, + -147, -146, -146, } var yyDef = [...]int{ @@ -7422,310 +7499,311 @@ var yyDef = [...]int{ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 68, 70, 71, 827, 827, 827, 0, 827, 0, 0, 827, -2, -2, 827, - 1320, 0, 827, 0, 0, -2, 759, 761, 0, 763, - -2, 0, 0, 772, 1829, 1829, 822, 0, 0, 0, - 0, 0, 827, 827, 827, 827, 1180, 48, 827, 0, - 83, 84, 778, 779, 780, 63, 0, 1827, 1, 3, - 69, 73, 0, 0, 0, 56, 1189, 0, 76, 0, - 0, 831, 0, 829, 0, 1303, 827, 827, 0, 114, + 1321, 0, 827, 0, 0, -2, 759, 761, 0, 763, + -2, 0, 0, 772, 1831, 1831, 822, 0, 0, 0, + 0, 0, 827, 827, 827, 827, 1181, 48, 827, 0, + 83, 84, 778, 779, 780, 63, 0, 1829, 1, 3, + 69, 73, 0, 0, 0, 56, 1190, 0, 76, 0, + 0, 831, 0, 829, 0, 1304, 827, 827, 0, 114, 115, 0, 0, 0, -2, 118, -2, 147, 148, 149, 0, 154, 573, 501, 552, 499, 537, -2, 487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 504, 377, 377, 0, 0, -2, 487, 487, 487, - 0, 0, 0, 534, 1305, 439, 377, 377, 377, 0, + 0, 0, 0, 534, 1306, 439, 377, 377, 377, 0, 377, 377, 377, 377, 0, 0, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, - 377, 377, 377, 1207, 153, 1321, 1318, 1319, 38, 39, - 40, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, - 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489, - 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1499, - 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1509, - 1510, 1511, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1519, - 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, - 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, - 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, - 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, - 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, - 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, - 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, - 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, - 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, - 1610, 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1618, 1619, - 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, - 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1639, - 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, - 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, - 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, - 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678, 1679, - 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, - 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, - 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, - 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719, - 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, - 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, - 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, - 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1758, 1759, - 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1769, - 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, - 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, - 1790, 1791, 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799, - 1800, 1801, 1802, 1803, 1804, 1805, 1806, 1807, 1808, 1809, - 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818, 1819, - 1820, 1821, 1822, 1823, 1824, 1825, 1826, 0, 1297, 0, - 686, 929, 0, 748, 748, 0, 748, 748, 748, 748, - 0, 0, 0, 698, 0, 0, 0, 0, 745, 0, - 714, 715, 0, 745, 0, 721, 751, 0, 726, 748, - 748, 729, 1830, 0, 1830, 1830, 1288, 0, 742, 740, - 754, 755, 758, 762, 0, 767, 770, 1314, 1315, 0, - 785, 47, 1561, 777, 790, 791, 0, 823, 824, 43, - 1026, 0, 951, 956, 967, 980, 981, 982, 983, 984, - 986, 987, 0, 0, 0, 0, 992, 993, 0, 0, - 0, 0, 0, 1007, 0, 0, 0, 0, 0, 1161, - 0, 1124, 1124, 1043, 1124, 1126, 1126, 1481, 1515, 1639, - 1647, 0, 0, 0, 1826, 1602, 1610, 1611, 1633, 1721, - 1770, 1606, 1607, 1588, 1600, 1603, 1591, 1592, 1594, 1596, - 1601, 1608, 1614, 1593, 1613, 1612, 0, 1589, 1590, 1595, - 1605, 1609, 1597, 1598, 1599, 1604, 1615, 1170, 0, 0, - 0, 0, 0, 0, 273, 274, 1025, 1277, 1126, 1126, - 1126, 1126, 1126, -2, -2, 219, 220, 221, 222, 223, - 224, 225, 0, 215, 0, 278, 279, 275, 276, 277, - 1009, 1010, 231, 232, 233, 234, 235, 236, 237, 238, - 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, 1829, 0, 800, 0, 0, 0, - 0, 0, 1189, 0, 1181, 1180, 61, 0, 827, -2, - 0, 0, 0, 0, 45, 0, 50, 888, 75, 74, - 1229, 0, 0, 0, 57, 1190, 65, 67, 1191, 0, - 832, 833, 0, 864, 868, 0, 828, 0, 0, 1304, - 1303, 1303, 100, 0, 1766, 1281, -2, -2, 0, 0, - 1316, 1317, 1290, -2, 1324, 1325, 1326, 1327, 1328, 1329, - 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, - 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, - 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, - 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, - 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, - 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, - 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, - 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, - 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, - 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, - 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, - 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, - 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, - 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, - 1470, -2, 0, 0, 165, 166, 0, 41, 404, 0, - 161, 0, 397, 338, 0, 1207, 0, 0, 0, 0, - 0, 827, 0, 1298, 142, 143, 150, 151, 152, 377, - 377, 377, 549, 0, 0, 153, 153, 508, 509, 510, - 0, 0, -2, 402, 0, 488, 0, 0, 391, 391, - 395, 393, 394, 0, 0, 0, 0, 0, 0, 0, - 0, 526, 0, 527, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 634, 0, 378, 0, 547, 548, 440, - 0, 0, 0, 0, 0, 0, 524, 525, 0, 0, - 1306, 1307, 0, 0, 0, 377, 377, 0, 0, 0, - 0, 377, 377, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 141, 1220, 0, 0, 0, -2, 0, 678, 0, - 0, 0, 1299, 1299, 0, 685, 0, 687, 688, 0, - 0, 689, 0, 745, 745, 743, 744, 691, 692, 693, - 694, 748, 0, 0, 386, 387, 388, 745, 748, 0, - 748, 748, 748, 748, 745, 745, 745, 748, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1830, 751, 748, - 0, 722, 0, 723, 724, 727, 728, 730, 1831, 1832, - 1337, 1830, 1830, 734, 738, 1289, 760, 768, 771, 788, - 786, 787, 789, 781, 782, 783, 784, 0, 802, 803, - 808, 0, 0, 0, 0, 814, 815, 816, 0, 0, - 819, 820, 821, 0, 0, 0, 0, 0, 949, 0, - 0, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 988, 989, - 990, 991, 994, 0, 0, 0, 999, 1000, 0, 0, - 0, 0, 0, 837, 0, 1162, 0, 1041, 0, 1042, - 1044, 1045, 0, 1046, 837, 837, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1309, 129, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 847, 0, 0, 847, 847, 0, - 0, 208, 209, 210, 211, 212, 226, 227, 228, 229, - 230, 280, 1170, 0, 1025, 0, 0, 44, 792, 793, - 0, 912, 1309, 0, 0, 843, 0, 55, 64, 66, - 1189, 59, 1189, 0, 849, 0, 0, -2, -2, 850, - 856, 857, 858, 859, 860, 52, 1828, 53, 0, 72, - 0, 46, 0, 0, 0, 0, 350, 1232, 0, 0, - 1182, 1183, 1186, 0, 865, 1645, 869, 0, 871, 872, - 0, 830, 0, 98, 0, 928, 0, 0, 0, 1766, - 1287, 0, 102, 103, 0, 0, 0, 361, 1292, 1293, - 1294, -2, 384, 0, 361, 345, 288, 289, 290, 338, - 292, 338, 338, 338, 338, 350, 350, 350, 350, 321, - 322, 323, 324, 325, 0, 0, 307, 338, 338, 338, - 338, 328, 329, 330, 331, 332, 333, 334, 335, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 340, 340, - 340, 342, 342, 0, 42, 0, 365, 0, 1186, 0, - 0, 1220, 1301, 1311, 0, 0, 0, 1301, 120, 0, - 0, 0, 550, 584, 502, 538, 551, 0, 505, 506, - -2, 0, 0, 487, 0, 489, 0, 385, 0, -2, - 0, 395, 0, 391, 395, 392, 395, 383, 396, 528, - 529, 530, 0, 532, 533, 614, 898, 0, 0, 0, - 0, 0, 620, 621, 622, 0, 624, 625, 626, 627, - 628, 629, 630, 631, 632, 633, 539, 540, 541, 542, - 543, 544, 545, 546, 0, 0, 0, 0, 489, 0, - 535, 0, 441, 442, 443, 0, 0, 446, 447, 448, - 449, 0, 0, 452, 453, 454, 915, 916, 455, 456, - 481, 482, 483, 457, 458, 459, 460, 461, 462, 463, - 475, 476, 477, 478, 479, 480, 464, 465, 466, 467, - 468, 469, 472, 0, 135, 1211, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1299, - 0, 0, 0, 0, 846, 930, 1322, 1323, 749, 750, - 0, 389, 390, 748, 748, 695, 735, 0, 748, 699, - 736, 700, 702, 701, 703, 716, 717, 748, 706, 746, - 747, 707, 708, 709, 710, 711, 712, 713, 731, 718, - 719, 720, 752, 0, 756, 757, 732, 733, 0, 769, - 773, 774, 775, 776, 0, 0, 805, 94, 810, 811, - 812, 813, 825, 818, 1027, 946, 947, 948, 0, 950, - 953, 0, 1011, 1013, 955, 957, 1022, 1023, 1024, 0, - 0, 0, 0, 0, 961, 965, 968, 969, 970, 971, - 972, 973, 974, 975, 976, 977, 978, 979, 985, 1140, - 1141, 1142, 1002, 281, 282, 0, 1003, 0, 862, 0, - 0, 0, 1001, 0, 0, 0, 0, 838, 839, 1168, - 1165, 0, 0, 1125, 1127, 0, 0, 0, 0, 0, - 861, 0, 0, 0, 0, 0, 1103, 1104, 1105, 1106, - 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, - 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1143, 0, 0, - 0, 0, 0, 1161, 0, 1004, 1005, 1006, 0, 0, - 0, 1310, 0, 130, 131, 0, 0, 0, 0, 0, - 1097, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 848, 1171, 0, -2, 0, 0, 0, 0, 0, - 0, 0, 1276, 0, 795, 796, 798, 0, 932, 0, - 913, 0, 0, 801, 0, 842, 0, 845, 58, 60, - 854, 855, 0, 873, 851, 54, 49, 0, 0, 890, - 1230, 350, 1252, 0, 359, 359, 356, 1192, 1193, 0, - 1185, 1187, 1188, 77, 870, 866, 0, 944, 0, 0, - 927, 0, 876, 878, 879, 880, 910, 0, 883, 0, - 0, 0, 0, 0, 96, 929, 1282, 101, 0, 0, - 106, 107, 1283, 1284, 1285, 1286, 0, 573, -2, 436, - 167, 169, 170, 171, 162, -2, 348, 346, 347, 291, - 350, 350, 315, 316, 317, 318, 319, 320, 0, 0, - 308, 309, 310, 311, 302, 0, 303, 304, 305, 0, - 306, 403, 0, 1194, 366, 367, 369, 377, 0, 372, - 373, 0, 377, 377, 0, 398, 399, 0, 1186, 1211, - 0, 0, 0, 1312, 1311, 1311, 1311, 0, 155, 156, - 157, 158, 159, 160, 609, 0, 0, 585, 607, 608, - 153, 0, 0, 163, 491, 490, 0, 641, 0, 401, - 0, 0, 395, 395, 380, 381, 531, 0, 0, 616, - 617, 618, 619, 0, 0, 0, 518, 430, 0, 519, - 520, 489, 491, 361, 0, 444, 445, 450, 451, 470, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 564, 565, 566, 567, 493, 571, 568, 493, 572, - 1208, 1209, 1210, 0, 0, 679, 0, 0, 427, 92, - 1300, 684, 745, 705, 737, 745, 697, 704, 725, 765, - 809, 0, 0, 0, 0, 817, 0, 0, 954, 1012, - 1014, 958, 0, 962, 966, 0, 0, 0, 0, 0, - 0, 0, 1008, 1032, 1033, 0, 0, 1180, 0, 1166, - 0, 0, 1040, 1128, 1129, 0, 1048, 0, 1050, 1051, - 0, 0, 0, 0, 0, 1056, 1057, 1058, 1059, 1060, - 0, 1062, 0, 0, 0, 1066, 1067, 0, 0, 1068, - 0, 0, 0, 0, 0, 0, 0, 0, 1080, 1081, - 1082, 1083, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1094, 1028, 0, 0, 847, 0, 1130, 1131, - 1132, 1133, 1134, 1171, 794, 797, 799, 886, 933, 934, - 0, 0, 0, 0, 914, 1308, 840, 841, 844, -2, - 0, 0, 1173, 0, 0, 873, 944, 874, 0, 852, - 51, 889, 0, 1234, 1233, 1246, 1259, 359, 359, 353, - 354, 360, 355, 357, 358, 1184, 0, 1189, 0, 1270, - 0, 0, 1262, 0, 0, 0, 0, 0, 0, 0, - 0, 917, 0, 0, 920, 0, 0, 0, 0, 911, - 0, 0, 0, 0, 0, 0, -2, 0, 0, 90, - 91, 0, 0, 0, 104, 105, 0, 0, 111, 362, - 363, 144, 153, 438, 168, 411, 0, 0, 287, 349, - 312, 313, 314, 0, 336, 0, 0, 0, 432, 116, - 1198, 1197, 377, 377, 368, 0, 371, 0, 0, 0, - 1313, 339, 400, 0, 134, 0, 0, 0, 0, 0, - 140, 579, 0, 0, 586, 0, 0, 0, 500, 0, - 511, 512, 0, 613, -2, 675, 365, 0, 379, 382, - 899, 0, 0, 513, 0, 516, 517, 431, 491, 522, - 523, 536, 473, 474, 471, 0, 0, 1221, 1222, 1227, - 1225, 1226, 121, 557, 559, 558, 562, 0, 0, 495, - 0, 495, 555, 0, 427, 1194, 0, 683, 428, 429, - 748, 748, 804, 95, 0, 807, 0, 0, 0, 0, - 959, 963, 863, 0, 0, 338, 338, 1148, 338, 342, - 1151, 338, 1153, 338, 1156, 338, 1159, 1160, 0, 0, - 0, 0, 1163, 1039, 1169, 0, 1047, 1049, 0, 0, - 0, 1055, 0, 0, 0, 0, 0, 0, 132, 133, - 1097, 0, 0, 1099, 1101, 1102, 1072, 1098, 0, 0, - 1095, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1029, 1030, 0, 1172, 935, 940, 940, 940, 0, - 0, 0, 1295, 1296, 1174, 1175, 944, 1176, 875, 853, - 891, 1252, 0, 1245, 0, -2, 1254, 0, 0, 0, - 1260, 351, 352, 867, 78, 945, 81, 0, 1270, 1278, - 0, 1261, 1272, 1274, 0, 0, 0, 1266, 0, 944, - 877, 906, 908, 0, 903, 918, 919, 921, 0, 923, - 0, 925, 926, 888, 882, 884, 0, 0, 0, 98, - 0, 944, 944, 97, 0, 931, 108, 109, 110, 437, - 172, 177, 0, 0, 0, 182, 0, 184, 0, 0, - 0, 189, 190, 377, 377, 412, 0, 284, 286, 0, - 0, 175, 350, 0, 350, 0, 343, 0, 413, 433, - 1195, 1196, 0, 0, 370, 374, 375, 376, 0, 1302, - 136, 0, 0, 0, 582, 0, 610, 0, 0, 0, - 0, 0, 0, 164, 492, 642, 643, 644, 645, 646, - 647, 648, 649, 650, 0, 377, 0, 0, 0, 377, - 377, 377, 0, 667, 364, 0, 0, 638, 635, 514, - 0, 213, 214, 216, 0, 0, 521, 888, 1212, 1213, - 1214, 0, 1224, 1228, 124, 0, 0, 0, 0, 569, - 0, 494, 570, 680, 681, 682, 93, 690, 696, 806, - 826, 952, 960, 964, 0, 996, 1146, 350, 1149, 1150, - 1152, 1154, 1155, 1157, 1158, 997, 998, 0, 1035, 0, - 1037, 1189, 0, 1167, 0, 0, 1054, 0, 0, 0, - 1063, 1064, 1065, 0, 0, 1071, 0, 1073, 0, 0, - 0, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, - 1093, 1031, 0, 0, 0, 0, 912, -2, 62, 1176, - 1178, 0, 1239, 1237, 1237, 1247, 1248, 0, 0, 1255, - 0, 0, 0, 0, 82, 0, 0, 0, 1275, 0, - 0, 0, 0, 99, 1180, 900, 907, 0, 0, 901, - 0, 902, 922, 924, 881, -2, 885, 0, 944, 944, - 88, 89, 0, 178, 0, 180, 206, 207, 0, 183, - 185, 186, 187, 193, 194, 195, 188, 0, 0, 283, - 285, 0, 0, 326, 337, 327, 0, 0, 1199, 1200, - 1201, 1202, 1203, 1204, 1205, 1206, 888, 137, 138, 139, - 574, 0, 584, 0, 0, 0, 577, 0, 503, 0, - 0, 0, 377, 377, 377, 0, 0, 0, 0, 652, - 0, 0, 615, 0, 623, 0, 0, 0, 217, 218, - 0, 1223, 556, 0, 122, 123, 0, 0, 561, 496, - 497, 1135, 1147, 0, 0, 0, 1164, 0, 0, 0, - 0, 1061, 1069, 0, 1100, 0, 1076, 0, 0, 0, - 604, 605, 0, 1096, 0, 941, 0, 0, 0, 0, - 932, 1178, 80, 0, 0, 1242, 0, 1235, 1238, 1236, - 1249, 0, 0, 1256, 0, 1258, 0, 1279, 1280, 1273, - 0, 1265, 1268, 1264, 1267, 1189, 904, 0, 909, 0, - 1180, 87, 0, 181, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 191, 192, 0, 0, 341, 344, 0, 0, 0, 575, - 0, 587, 578, 0, 665, 0, 669, 0, 0, 0, - 672, 673, 674, 651, 0, 655, 405, 639, 636, 637, - 515, 0, 125, 126, 0, 0, 0, 0, 0, 0, - 1034, 1036, 1038, 1052, 1053, 1144, 1145, 1070, 1074, 0, - 1077, 0, 0, 1078, 0, 606, 0, 937, 894, 895, - 942, 943, 0, 0, 887, 79, 1179, 1177, 1231, 0, - 1240, 1241, 1250, 1251, 1257, 0, 1263, 0, 85, 0, - 0, 0, 1189, 179, 0, 198, 0, 583, 0, 586, - 576, 663, 664, 0, 676, 668, 670, 671, 653, -2, - 1215, 0, 0, 0, 563, 995, 0, 0, 0, 1097, - 1079, 0, 602, 603, 0, 936, 938, 939, 1243, 1244, - 1271, 1269, 905, 912, 0, 86, 418, 411, 1215, 0, - 0, 0, 656, 657, 658, 659, 660, 661, 662, 553, - 1217, 127, 128, 484, 485, 486, 121, 1136, 0, 1139, - 0, 896, 897, 588, 0, 590, 0, -2, 406, 419, - 0, 173, 199, 200, 0, 0, 203, 204, 205, 196, - 197, 117, 0, 0, 677, 0, 1218, 1219, 124, 1137, - 1075, 589, 0, 0, 361, 0, 599, 407, 408, 0, - 414, 415, 416, 417, 201, 202, 611, 0, 0, 560, - 0, 591, 592, 600, 0, 409, 0, 410, 0, 0, - 0, 580, 0, 611, 1216, 0, 0, 601, 597, 420, - 422, 423, 0, 0, 421, 612, 581, 1138, 0, 424, - 425, 426, 593, 594, 595, 596, + 377, 377, 377, 1208, 153, 1322, 1319, 1320, 38, 39, + 40, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, + 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489, 1490, + 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1500, + 1501, 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, + 1511, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, + 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, + 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, + 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550, + 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560, + 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, + 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, + 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, + 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, + 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610, + 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620, + 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, + 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640, + 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, + 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, + 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, + 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678, 1679, 1680, + 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, 1690, + 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700, + 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710, + 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719, 1720, + 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, + 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, + 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, + 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1758, 1759, 1760, + 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, + 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, + 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, + 1791, 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1800, + 1801, 1802, 1803, 1804, 1805, 1806, 1807, 1808, 1809, 1810, + 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818, 1819, 1820, + 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1828, 0, 1298, + 0, 686, 929, 0, 748, 748, 0, 748, 748, 748, + 748, 0, 0, 0, 698, 0, 0, 0, 0, 745, + 0, 714, 715, 0, 745, 0, 721, 751, 0, 726, + 748, 748, 729, 1832, 0, 1832, 1832, 1289, 0, 742, + 740, 754, 755, 758, 762, 0, 767, 770, 1315, 1316, + 0, 785, 47, 1562, 777, 790, 791, 0, 823, 824, + 43, 1026, 0, 951, 956, 967, 980, 981, 982, 983, + 984, 986, 987, 0, 0, 0, 0, 992, 993, 0, + 0, 0, 0, 0, 1007, 0, 0, 0, 0, 0, + 1162, 0, 1125, 1125, 1043, 1125, 1127, 1127, 1482, 1516, + 1640, 1648, 1752, 0, 0, 0, 1828, 1603, 1611, 1612, + 1634, 1722, 1772, 1607, 1608, 1589, 1601, 1604, 1592, 1593, + 1595, 1597, 1602, 1609, 1615, 1594, 1614, 1613, 0, 1590, + 1591, 1596, 1606, 1610, 1598, 1599, 1600, 1605, 1616, 1171, + 0, 0, 0, 0, 0, 0, 273, 274, 1025, 1278, + 1127, 1127, 1127, 1127, 1127, -2, -2, 219, 220, 221, + 222, 223, 224, 225, 0, 215, 0, 278, 279, 275, + 276, 277, 1009, 1010, 231, 232, 233, 234, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 1831, 0, 800, 0, + 0, 0, 0, 0, 1190, 0, 1182, 1181, 61, 0, + 827, -2, 0, 0, 0, 0, 45, 0, 50, 888, + 75, 74, 1230, 0, 0, 0, 57, 1191, 65, 67, + 1192, 0, 832, 833, 0, 864, 868, 0, 828, 0, + 0, 1305, 1304, 1304, 100, 0, 1768, 1282, -2, -2, + 0, 0, 1317, 1318, 1291, -2, 1325, 1326, 1327, 1328, + 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, + 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, + 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, + 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, + 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378, + 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, + 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398, + 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, + 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, + 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, + 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, + 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, + 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458, + 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, + 1469, 1470, 1471, -2, 0, 0, 165, 166, 0, 41, + 404, 0, 161, 0, 397, 338, 0, 1208, 0, 0, + 0, 0, 0, 827, 0, 1299, 142, 143, 150, 151, + 152, 377, 377, 377, 549, 0, 0, 153, 153, 508, + 509, 510, 0, 0, -2, 402, 0, 488, 0, 0, + 391, 391, 395, 393, 394, 0, 0, 0, 0, 0, + 0, 0, 0, 526, 0, 527, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 634, 0, 378, 0, 547, + 548, 440, 0, 0, 0, 0, 0, 0, 524, 525, + 0, 0, 1307, 1308, 0, 0, 0, 377, 377, 0, + 0, 0, 0, 377, 377, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 141, 1221, 0, 0, 0, -2, 0, + 678, 0, 0, 0, 1300, 1300, 0, 685, 0, 687, + 688, 0, 0, 689, 0, 745, 745, 743, 744, 691, + 692, 693, 694, 748, 0, 0, 386, 387, 388, 745, + 748, 0, 748, 748, 748, 748, 745, 745, 745, 748, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1832, + 751, 748, 0, 722, 0, 723, 724, 727, 728, 730, + 1833, 1834, 1338, 1832, 1832, 734, 738, 1290, 760, 768, + 771, 788, 786, 787, 789, 781, 782, 783, 784, 0, + 802, 803, 808, 0, 0, 0, 0, 814, 815, 816, + 0, 0, 819, 820, 821, 0, 0, 0, 0, 0, + 949, 0, 0, 1015, 1016, 1017, 1018, 1019, 1020, 1021, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 988, 989, 990, 991, 994, 0, 0, 0, 999, 1000, + 0, 0, 0, 0, 0, 837, 0, 1163, 0, 1041, + 0, 1042, 1044, 1045, 0, 1046, 837, 837, 0, 0, + 837, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1310, 129, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 847, 0, 0, + 847, 847, 0, 0, 208, 209, 210, 211, 212, 226, + 227, 228, 229, 230, 280, 1171, 0, 1025, 0, 0, + 44, 792, 793, 0, 912, 1310, 0, 0, 843, 0, + 55, 64, 66, 1190, 59, 1190, 0, 849, 0, 0, + -2, -2, 850, 856, 857, 858, 859, 860, 52, 1830, + 53, 0, 72, 0, 46, 0, 0, 0, 0, 350, + 1233, 0, 0, 1183, 1184, 1187, 0, 865, 1646, 869, + 0, 871, 872, 0, 830, 0, 98, 0, 928, 0, + 0, 0, 1768, 1288, 0, 102, 103, 0, 0, 0, + 361, 1293, 1294, 1295, -2, 384, 0, 361, 345, 288, + 289, 290, 338, 292, 338, 338, 338, 338, 350, 350, + 350, 350, 321, 322, 323, 324, 325, 0, 0, 307, + 338, 338, 338, 338, 328, 329, 330, 331, 332, 333, + 334, 335, 293, 294, 295, 296, 297, 298, 299, 300, + 301, 340, 340, 340, 342, 342, 0, 42, 0, 365, + 0, 1187, 0, 0, 1221, 1302, 1312, 0, 0, 0, + 1302, 120, 0, 0, 0, 550, 584, 502, 538, 551, + 0, 505, 506, -2, 0, 0, 487, 0, 489, 0, + 385, 0, -2, 0, 395, 0, 391, 395, 392, 395, + 383, 396, 528, 529, 530, 0, 532, 533, 614, 898, + 0, 0, 0, 0, 0, 620, 621, 622, 0, 624, + 625, 626, 627, 628, 629, 630, 631, 632, 633, 539, + 540, 541, 542, 543, 544, 545, 546, 0, 0, 0, + 0, 489, 0, 535, 0, 441, 442, 443, 0, 0, + 446, 447, 448, 449, 0, 0, 452, 453, 454, 915, + 916, 455, 456, 481, 482, 483, 457, 458, 459, 460, + 461, 462, 463, 475, 476, 477, 478, 479, 480, 464, + 465, 466, 467, 468, 469, 472, 0, 135, 1212, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1300, 0, 0, 0, 0, 846, 930, 1323, + 1324, 749, 750, 0, 389, 390, 748, 748, 695, 735, + 0, 748, 699, 736, 700, 702, 701, 703, 716, 717, + 748, 706, 746, 747, 707, 708, 709, 710, 711, 712, + 713, 731, 718, 719, 720, 752, 0, 756, 757, 732, + 733, 0, 769, 773, 774, 775, 776, 0, 0, 805, + 94, 810, 811, 812, 813, 825, 818, 1027, 946, 947, + 948, 0, 950, 953, 0, 1011, 1013, 955, 957, 1022, + 1023, 1024, 0, 0, 0, 0, 0, 961, 965, 968, + 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, + 979, 985, 1141, 1142, 1143, 1002, 281, 282, 0, 1003, + 0, 862, 0, 0, 0, 1001, 0, 0, 0, 0, + 838, 839, 1169, 1166, 0, 0, 1126, 1128, 0, 0, + 0, 0, 0, 861, 0, 0, 0, 0, 0, 0, + 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, + 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, + 1124, 1144, 0, 0, 0, 0, 0, 1162, 0, 1004, + 1005, 1006, 0, 0, 0, 1311, 0, 130, 131, 0, + 0, 0, 0, 0, 1098, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 848, 1172, 0, -2, 0, + 0, 0, 0, 0, 0, 0, 1277, 0, 795, 796, + 798, 0, 932, 0, 913, 0, 0, 801, 0, 842, + 0, 845, 58, 60, 854, 855, 0, 873, 851, 54, + 49, 0, 0, 890, 1231, 350, 1253, 0, 359, 359, + 356, 1193, 1194, 0, 1186, 1188, 1189, 77, 870, 866, + 0, 944, 0, 0, 927, 0, 876, 878, 879, 880, + 910, 0, 883, 0, 0, 0, 0, 0, 96, 929, + 1283, 101, 0, 0, 106, 107, 1284, 1285, 1286, 1287, + 0, 573, -2, 436, 167, 169, 170, 171, 162, -2, + 348, 346, 347, 291, 350, 350, 315, 316, 317, 318, + 319, 320, 0, 0, 308, 309, 310, 311, 302, 0, + 303, 304, 305, 0, 306, 403, 0, 1195, 366, 367, + 369, 377, 0, 372, 373, 0, 377, 377, 0, 398, + 399, 0, 1187, 1212, 0, 0, 0, 1313, 1312, 1312, + 1312, 0, 155, 156, 157, 158, 159, 160, 609, 0, + 0, 585, 607, 608, 153, 0, 0, 163, 491, 490, + 0, 641, 0, 401, 0, 0, 395, 395, 380, 381, + 531, 0, 0, 616, 617, 618, 619, 0, 0, 0, + 518, 430, 0, 519, 520, 489, 491, 361, 0, 444, + 445, 450, 451, 470, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 564, 565, 566, 567, 493, + 571, 568, 493, 572, 1209, 1210, 1211, 0, 0, 679, + 0, 0, 427, 92, 1301, 684, 745, 705, 737, 745, + 697, 704, 725, 765, 809, 0, 0, 0, 0, 817, + 0, 0, 954, 1012, 1014, 958, 0, 962, 966, 0, + 0, 0, 0, 0, 0, 0, 1008, 1032, 1033, 0, + 0, 1181, 0, 1167, 0, 0, 1040, 1129, 1130, 0, + 1048, 0, 1050, 1051, 0, 0, 0, 0, 0, 0, + 1057, 1058, 1059, 1060, 1061, 0, 1063, 0, 0, 0, + 1067, 1068, 0, 0, 1069, 0, 0, 0, 0, 0, + 0, 0, 0, 1081, 1082, 1083, 1084, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1095, 1028, 0, + 0, 847, 0, 1131, 1132, 1133, 1134, 1135, 1172, 794, + 797, 799, 886, 933, 934, 0, 0, 0, 0, 914, + 1309, 840, 841, 844, -2, 0, 0, 1174, 0, 0, + 873, 944, 874, 0, 852, 51, 889, 0, 1235, 1234, + 1247, 1260, 359, 359, 353, 354, 360, 355, 357, 358, + 1185, 0, 1190, 0, 1271, 0, 0, 1263, 0, 0, + 0, 0, 0, 0, 0, 0, 917, 0, 0, 920, + 0, 0, 0, 0, 911, 0, 0, 0, 0, 0, + 0, -2, 0, 0, 90, 91, 0, 0, 0, 104, + 105, 0, 0, 111, 362, 363, 144, 153, 438, 168, + 411, 0, 0, 287, 349, 312, 313, 314, 0, 336, + 0, 0, 0, 432, 116, 1199, 1198, 377, 377, 368, + 0, 371, 0, 0, 0, 1314, 339, 400, 0, 134, + 0, 0, 0, 0, 0, 140, 579, 0, 0, 586, + 0, 0, 0, 500, 0, 511, 512, 0, 613, -2, + 675, 365, 0, 379, 382, 899, 0, 0, 513, 0, + 516, 517, 431, 491, 522, 523, 536, 473, 474, 471, + 0, 0, 1222, 1223, 1228, 1226, 1227, 121, 557, 559, + 558, 562, 0, 0, 495, 0, 495, 555, 0, 427, + 1195, 0, 683, 428, 429, 748, 748, 804, 95, 0, + 807, 0, 0, 0, 0, 959, 963, 863, 0, 0, + 338, 338, 1149, 338, 342, 1152, 338, 1154, 338, 1157, + 338, 1160, 1161, 0, 0, 0, 0, 1164, 1039, 1170, + 0, 1047, 1049, 1052, 0, 0, 0, 1056, 0, 0, + 0, 0, 0, 0, 132, 133, 1098, 0, 0, 1100, + 1102, 1103, 1073, 1099, 0, 0, 1096, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1029, 1030, 0, + 1173, 935, 940, 940, 940, 0, 0, 0, 1296, 1297, + 1175, 1176, 944, 1177, 875, 853, 891, 1253, 0, 1246, + 0, -2, 1255, 0, 0, 0, 1261, 351, 352, 867, + 78, 945, 81, 0, 1271, 1279, 0, 1262, 1273, 1275, + 0, 0, 0, 1267, 0, 944, 877, 906, 908, 0, + 903, 918, 919, 921, 0, 923, 0, 925, 926, 888, + 882, 884, 0, 0, 0, 98, 0, 944, 944, 97, + 0, 931, 108, 109, 110, 437, 172, 177, 0, 0, + 0, 182, 0, 184, 0, 0, 0, 189, 190, 377, + 377, 412, 0, 284, 286, 0, 0, 175, 350, 0, + 350, 0, 343, 0, 413, 433, 1196, 1197, 0, 0, + 370, 374, 375, 376, 0, 1303, 136, 0, 0, 0, + 582, 0, 610, 0, 0, 0, 0, 0, 0, 164, + 492, 642, 643, 644, 645, 646, 647, 648, 649, 650, + 0, 377, 0, 0, 0, 377, 377, 377, 0, 667, + 364, 0, 0, 638, 635, 514, 0, 213, 214, 216, + 0, 0, 521, 888, 1213, 1214, 1215, 0, 1225, 1229, + 124, 0, 0, 0, 0, 569, 0, 494, 570, 680, + 681, 682, 93, 690, 696, 806, 826, 952, 960, 964, + 0, 996, 1147, 350, 1150, 1151, 1153, 1155, 1156, 1158, + 1159, 997, 998, 0, 1035, 0, 1037, 1190, 0, 1168, + 0, 0, 1055, 0, 0, 0, 1064, 1065, 1066, 0, + 0, 1072, 0, 1074, 0, 0, 0, 1085, 1086, 1087, + 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1031, 0, 0, + 0, 0, 912, -2, 62, 1177, 1179, 0, 1240, 1238, + 1238, 1248, 1249, 0, 0, 1256, 0, 0, 0, 0, + 82, 0, 0, 0, 1276, 0, 0, 0, 0, 99, + 1181, 900, 907, 0, 0, 901, 0, 902, 922, 924, + 881, -2, 885, 0, 944, 944, 88, 89, 0, 178, + 0, 180, 206, 207, 0, 183, 185, 186, 187, 193, + 194, 195, 188, 0, 0, 283, 285, 0, 0, 326, + 337, 327, 0, 0, 1200, 1201, 1202, 1203, 1204, 1205, + 1206, 1207, 888, 137, 138, 139, 574, 0, 584, 0, + 0, 0, 577, 0, 503, 0, 0, 0, 377, 377, + 377, 0, 0, 0, 0, 652, 0, 0, 615, 0, + 623, 0, 0, 0, 217, 218, 0, 1224, 556, 0, + 122, 123, 0, 0, 561, 496, 497, 1136, 1148, 0, + 0, 0, 1165, 0, 0, 0, 0, 1062, 1070, 0, + 1101, 0, 1077, 0, 0, 0, 604, 605, 0, 1097, + 0, 941, 0, 0, 0, 0, 932, 1179, 80, 0, + 0, 1243, 0, 1236, 1239, 1237, 1250, 0, 0, 1257, + 0, 1259, 0, 1280, 1281, 1274, 0, 1266, 1269, 1265, + 1268, 1190, 904, 0, 909, 0, 1181, 87, 0, 181, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 191, 192, 0, + 0, 341, 344, 0, 0, 0, 575, 0, 587, 578, + 0, 665, 0, 669, 0, 0, 0, 672, 673, 674, + 651, 0, 655, 405, 639, 636, 637, 515, 0, 125, + 126, 0, 0, 0, 0, 0, 0, 1034, 1036, 1038, + 1053, 1054, 1145, 1146, 1071, 1075, 0, 1078, 0, 0, + 1079, 0, 606, 0, 937, 894, 895, 942, 943, 0, + 0, 887, 79, 1180, 1178, 1232, 0, 1241, 1242, 1251, + 1252, 1258, 0, 1264, 0, 85, 0, 0, 0, 1190, + 179, 0, 198, 0, 583, 0, 586, 576, 663, 664, + 0, 676, 668, 670, 671, 653, -2, 1216, 0, 0, + 0, 563, 995, 0, 0, 0, 1098, 1080, 0, 602, + 603, 0, 936, 938, 939, 1244, 1245, 1272, 1270, 905, + 912, 0, 86, 418, 411, 1216, 0, 0, 0, 656, + 657, 658, 659, 660, 661, 662, 553, 1218, 127, 128, + 484, 485, 486, 121, 1137, 0, 1140, 0, 896, 897, + 588, 0, 590, 0, -2, 406, 419, 0, 173, 199, + 200, 0, 0, 203, 204, 205, 196, 197, 117, 0, + 0, 677, 0, 1219, 1220, 124, 1138, 1076, 589, 0, + 0, 361, 0, 599, 407, 408, 0, 414, 415, 416, + 417, 201, 202, 611, 0, 0, 560, 0, 591, 592, + 600, 0, 409, 0, 410, 0, 0, 0, 580, 0, + 611, 1217, 0, 0, 601, 597, 420, 422, 423, 0, + 0, 421, 612, 581, 1139, 0, 424, 425, 426, 593, + 594, 595, 596, } var yyTok1 = [...]int{ @@ -7734,7 +7812,7 @@ var yyTok1 = [...]int{ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 141, 3, 3, 3, 167, 159, 3, 86, 88, 164, 162, 87, 163, 217, 165, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 615, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 616, 149, 148, 150, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, @@ -7842,7 +7920,7 @@ var yyTok3 = [...]int{ 57925, 600, 57926, 601, 57927, 602, 57928, 603, 57929, 604, 57930, 605, 57931, 606, 57932, 607, 57933, 608, 57934, 609, 57935, 610, 57936, 611, 57937, 612, 57938, 613, 57939, 614, - 0, + 57940, 615, 0, } var yyErrorMessages = [...]struct { @@ -8192,68 +8270,68 @@ yydefault: case 1: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:538 +//line sql.y:539 { setParseTree(yylex, yyDollar[1].statementUnion()) } case 2: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:543 +//line sql.y:544 { } case 3: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:544 +//line sql.y:545 { } case 4: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:548 +//line sql.y:549 { yyLOCAL = yyDollar[1].selStmtUnion() } yyVAL.union = yyLOCAL case 37: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:584 +//line sql.y:585 { setParseTree(yylex, nil) } case 38: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:590 +//line sql.y:591 { yyVAL.colIdent = NewColIdentWithAt(string(yyDollar[1].str), NoAt) } case 39: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:594 +//line sql.y:595 { yyVAL.colIdent = NewColIdentWithAt(string(yyDollar[1].str), SingleAt) } case 40: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:598 +//line sql.y:599 { yyVAL.colIdent = NewColIdentWithAt(string(yyDollar[1].str), DoubleAt) } case 41: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:603 +//line sql.y:604 { yyVAL.colIdent = NewColIdentWithAt("", NoAt) } case 42: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:607 +//line sql.y:608 { yyVAL.colIdent = yyDollar[1].colIdent } case 43: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:613 +//line sql.y:614 { yyLOCAL = &OtherAdmin{} } @@ -8261,7 +8339,7 @@ yydefault: case 44: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:619 +//line sql.y:620 { yyLOCAL = &Load{} } @@ -8269,7 +8347,7 @@ yydefault: case 45: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *With -//line sql.y:625 +//line sql.y:626 { yyLOCAL = &With{ctes: yyDollar[2].ctesUnion(), Recursive: false} } @@ -8277,7 +8355,7 @@ yydefault: case 46: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *With -//line sql.y:629 +//line sql.y:630 { yyLOCAL = &With{ctes: yyDollar[3].ctesUnion(), Recursive: true} } @@ -8285,7 +8363,7 @@ yydefault: case 47: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *With -//line sql.y:634 +//line sql.y:635 { yyLOCAL = nil } @@ -8293,14 +8371,14 @@ yydefault: case 48: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *With -//line sql.y:638 +//line sql.y:639 { yyLOCAL = yyDollar[1].withUnion() } yyVAL.union = yyLOCAL case 49: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:644 +//line sql.y:645 { yySLICE := (*[]*CommonTableExpr)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].cteUnion()) @@ -8308,7 +8386,7 @@ yydefault: case 50: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*CommonTableExpr -//line sql.y:648 +//line sql.y:649 { yyLOCAL = []*CommonTableExpr{yyDollar[1].cteUnion()} } @@ -8316,7 +8394,7 @@ yydefault: case 51: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *CommonTableExpr -//line sql.y:654 +//line sql.y:655 { yyLOCAL = &CommonTableExpr{TableID: yyDollar[1].tableIdent, Columns: yyDollar[2].columnsUnion(), Subquery: yyDollar[4].subqueryUnion()} } @@ -8324,7 +8402,7 @@ yydefault: case 52: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:660 +//line sql.y:661 { yyLOCAL = yyDollar[2].selStmtUnion() } @@ -8332,7 +8410,7 @@ yydefault: case 53: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:664 +//line sql.y:665 { yyLOCAL = yyDollar[2].selStmtUnion() } @@ -8340,7 +8418,7 @@ yydefault: case 54: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:668 +//line sql.y:669 { setLockInSelect(yyDollar[2].selStmtUnion(), yyDollar[3].lockUnion()) yyLOCAL = yyDollar[2].selStmtUnion() @@ -8349,7 +8427,7 @@ yydefault: case 55: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:691 +//line sql.y:692 { yyDollar[1].selStmtUnion().SetOrderBy(yyDollar[2].orderByUnion()) yyDollar[1].selStmtUnion().SetLimit(yyDollar[3].limitUnion()) @@ -8359,7 +8437,7 @@ yydefault: case 56: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:697 +//line sql.y:698 { yyDollar[1].selStmtUnion().SetLimit(yyDollar[2].limitUnion()) yyLOCAL = yyDollar[1].selStmtUnion() @@ -8368,7 +8446,7 @@ yydefault: case 57: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:702 +//line sql.y:703 { yyDollar[1].selStmtUnion().SetOrderBy(yyDollar[2].orderByUnion()) yyDollar[1].selStmtUnion().SetLimit(yyDollar[3].limitUnion()) @@ -8378,7 +8456,7 @@ yydefault: case 58: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:708 +//line sql.y:709 { yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion()) yyDollar[2].selStmtUnion().SetOrderBy(yyDollar[3].orderByUnion()) @@ -8389,7 +8467,7 @@ yydefault: case 59: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:715 +//line sql.y:716 { yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion()) yyDollar[2].selStmtUnion().SetLimit(yyDollar[3].limitUnion()) @@ -8399,7 +8477,7 @@ yydefault: case 60: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:721 +//line sql.y:722 { yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion()) yyDollar[2].selStmtUnion().SetOrderBy(yyDollar[3].orderByUnion()) @@ -8409,14 +8487,14 @@ yydefault: yyVAL.union = yyLOCAL case 61: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:728 +//line sql.y:729 { yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion()) } case 62: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:732 +//line sql.y:733 { 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*/) } @@ -8424,7 +8502,7 @@ yydefault: case 63: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:738 +//line sql.y:739 { yyLOCAL = yyDollar[1].selStmtUnion() } @@ -8432,7 +8510,7 @@ yydefault: case 64: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:742 +//line sql.y:743 { yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()} } @@ -8440,7 +8518,7 @@ yydefault: case 65: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:746 +//line sql.y:747 { yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()} } @@ -8448,7 +8526,7 @@ yydefault: case 66: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:750 +//line sql.y:751 { yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()} } @@ -8456,7 +8534,7 @@ yydefault: case 67: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:754 +//line sql.y:755 { yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()} } @@ -8464,7 +8542,7 @@ yydefault: case 68: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:760 +//line sql.y:761 { yyLOCAL = yyDollar[1].selStmtUnion() } @@ -8472,7 +8550,7 @@ yydefault: case 69: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:764 +//line sql.y:765 { setLockInSelect(yyDollar[1].selStmtUnion(), yyDollar[2].lockUnion()) yyLOCAL = yyDollar[1].selStmtUnion() @@ -8481,7 +8559,7 @@ yydefault: case 70: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:769 +//line sql.y:770 { yyLOCAL = yyDollar[1].selStmtUnion() } @@ -8489,7 +8567,7 @@ yydefault: case 71: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:773 +//line sql.y:774 { yyLOCAL = yyDollar[1].selStmtUnion() } @@ -8497,7 +8575,7 @@ yydefault: case 72: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:779 +//line sql.y:780 { yyLOCAL = yyDollar[2].selStmtUnion() } @@ -8505,7 +8583,7 @@ yydefault: case 73: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:783 +//line sql.y:784 { yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion()) yyLOCAL = yyDollar[1].selStmtUnion() @@ -8514,7 +8592,7 @@ yydefault: case 74: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:788 +//line sql.y:789 { yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion()) yyDollar[1].selStmtUnion().SetLock(yyDollar[3].lockUnion()) @@ -8524,7 +8602,7 @@ yydefault: case 75: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:794 +//line sql.y:795 { yyDollar[1].selStmtUnion().SetInto(yyDollar[3].selectIntoUnion()) yyDollar[1].selStmtUnion().SetLock(yyDollar[2].lockUnion()) @@ -8534,7 +8612,7 @@ yydefault: case 76: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:800 +//line sql.y:801 { yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion()) yyLOCAL = yyDollar[1].selStmtUnion() @@ -8543,7 +8621,7 @@ yydefault: case 77: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:807 +//line sql.y:808 { yyLOCAL = &Stream{Comments: Comments(yyDollar[2].strs).Parsed(), SelectExpr: yyDollar[3].selectExprUnion(), Table: yyDollar[5].tableName} } @@ -8551,7 +8629,7 @@ yydefault: case 78: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:813 +//line sql.y:814 { yyLOCAL = &VStream{Comments: Comments(yyDollar[2].strs).Parsed(), SelectExpr: yyDollar[3].selectExprUnion(), Table: yyDollar[5].tableName, Where: NewWhere(WhereClause, yyDollar[6].exprUnion()), Limit: yyDollar[7].limitUnion()} } @@ -8559,7 +8637,7 @@ yydefault: case 79: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:821 +//line sql.y:822 { 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())) } @@ -8567,7 +8645,7 @@ yydefault: case 80: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:825 +//line sql.y:826 { 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())) } @@ -8575,7 +8653,7 @@ yydefault: case 81: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:831 +//line sql.y:832 { // insert_data returns a *Insert pre-filled with Columns & Values ins := yyDollar[6].insUnion() @@ -8591,7 +8669,7 @@ yydefault: case 82: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Statement -//line sql.y:843 +//line sql.y:844 { cols := make(Columns, 0, len(yyDollar[7].updateExprsUnion())) vals := make(ValTuple, 0, len(yyDollar[8].updateExprsUnion())) @@ -8605,7 +8683,7 @@ yydefault: case 83: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL InsertAction -//line sql.y:855 +//line sql.y:856 { yyLOCAL = InsertAct } @@ -8613,7 +8691,7 @@ yydefault: case 84: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL InsertAction -//line sql.y:859 +//line sql.y:860 { yyLOCAL = ReplaceAct } @@ -8621,7 +8699,7 @@ yydefault: case 85: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL Statement -//line sql.y:865 +//line sql.y:866 { yyLOCAL = &Update{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), 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()} } @@ -8629,7 +8707,7 @@ yydefault: case 86: yyDollar = yyS[yypt-11 : yypt+1] var yyLOCAL Statement -//line sql.y:871 +//line sql.y:872 { yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), 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()} } @@ -8637,7 +8715,7 @@ yydefault: case 87: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL Statement -//line sql.y:875 +//line sql.y:876 { yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), Targets: yyDollar[6].tableNamesUnion(), TableExprs: yyDollar[8].tableExprsUnion(), Where: NewWhere(WhereClause, yyDollar[9].exprUnion())} } @@ -8645,7 +8723,7 @@ yydefault: case 88: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Statement -//line sql.y:879 +//line sql.y:880 { yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), Targets: yyDollar[5].tableNamesUnion(), TableExprs: yyDollar[7].tableExprsUnion(), Where: NewWhere(WhereClause, yyDollar[8].exprUnion())} } @@ -8653,32 +8731,32 @@ yydefault: case 89: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Statement -//line sql.y:883 +//line sql.y:884 { yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), Targets: yyDollar[5].tableNamesUnion(), TableExprs: yyDollar[7].tableExprsUnion(), Where: NewWhere(WhereClause, yyDollar[8].exprUnion())} } yyVAL.union = yyLOCAL case 90: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:888 +//line sql.y:889 { } case 91: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:889 +//line sql.y:890 { } case 92: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableNames -//line sql.y:893 +//line sql.y:894 { yyLOCAL = TableNames{yyDollar[1].tableName.ToViewName()} } yyVAL.union = yyLOCAL case 93: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:897 +//line sql.y:898 { yySLICE := (*TableNames)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableName.ToViewName()) @@ -8686,14 +8764,14 @@ yydefault: case 94: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableNames -//line sql.y:903 +//line sql.y:904 { yyLOCAL = TableNames{yyDollar[1].tableName} } yyVAL.union = yyLOCAL case 95: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:907 +//line sql.y:908 { yySLICE := (*TableNames)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableName) @@ -8701,14 +8779,14 @@ yydefault: case 96: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableNames -//line sql.y:913 +//line sql.y:914 { yyLOCAL = TableNames{yyDollar[1].tableName} } yyVAL.union = yyLOCAL case 97: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:917 +//line sql.y:918 { yySLICE := (*TableNames)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableName) @@ -8716,7 +8794,7 @@ yydefault: case 98: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Partitions -//line sql.y:922 +//line sql.y:923 { yyLOCAL = nil } @@ -8724,7 +8802,7 @@ yydefault: case 99: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Partitions -//line sql.y:926 +//line sql.y:927 { yyLOCAL = yyDollar[3].partitionsUnion() } @@ -8732,7 +8810,7 @@ yydefault: case 100: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:932 +//line sql.y:933 { yyLOCAL = &Set{Comments: Comments(yyDollar[2].strs).Parsed(), Exprs: yyDollar[3].setExprsUnion()} } @@ -8740,7 +8818,7 @@ yydefault: case 101: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:938 +//line sql.y:939 { yyLOCAL = &SetTransaction{Comments: Comments(yyDollar[2].strs).Parsed(), Scope: yyDollar[3].scopeUnion(), Characteristics: yyDollar[5].characteristicsUnion()} } @@ -8748,7 +8826,7 @@ yydefault: case 102: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:942 +//line sql.y:943 { yyLOCAL = &SetTransaction{Comments: Comments(yyDollar[2].strs).Parsed(), Characteristics: yyDollar[4].characteristicsUnion(), Scope: ImplicitScope} } @@ -8756,14 +8834,14 @@ yydefault: case 103: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []Characteristic -//line sql.y:948 +//line sql.y:949 { yyLOCAL = []Characteristic{yyDollar[1].characteristicUnion()} } yyVAL.union = yyLOCAL case 104: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:952 +//line sql.y:953 { yySLICE := (*[]Characteristic)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].characteristicUnion()) @@ -8771,7 +8849,7 @@ yydefault: case 105: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Characteristic -//line sql.y:958 +//line sql.y:959 { yyLOCAL = yyDollar[3].isolationLevelUnion() } @@ -8779,7 +8857,7 @@ yydefault: case 106: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Characteristic -//line sql.y:962 +//line sql.y:963 { yyLOCAL = ReadWrite } @@ -8787,7 +8865,7 @@ yydefault: case 107: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Characteristic -//line sql.y:966 +//line sql.y:967 { yyLOCAL = ReadOnly } @@ -8795,7 +8873,7 @@ yydefault: case 108: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IsolationLevel -//line sql.y:972 +//line sql.y:973 { yyLOCAL = RepeatableRead } @@ -8803,7 +8881,7 @@ yydefault: case 109: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IsolationLevel -//line sql.y:976 +//line sql.y:977 { yyLOCAL = ReadCommitted } @@ -8811,7 +8889,7 @@ yydefault: case 110: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IsolationLevel -//line sql.y:980 +//line sql.y:981 { yyLOCAL = ReadUncommitted } @@ -8819,7 +8897,7 @@ yydefault: case 111: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IsolationLevel -//line sql.y:984 +//line sql.y:985 { yyLOCAL = Serializable } @@ -8827,7 +8905,7 @@ yydefault: case 112: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Scope -//line sql.y:990 +//line sql.y:991 { yyLOCAL = SessionScope } @@ -8835,7 +8913,7 @@ yydefault: case 113: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Scope -//line sql.y:994 +//line sql.y:995 { yyLOCAL = GlobalScope } @@ -8843,7 +8921,7 @@ yydefault: case 114: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:1000 +//line sql.y:1001 { yyDollar[1].createTableUnion().TableSpec = yyDollar[2].tableSpecUnion() yyDollar[1].createTableUnion().FullyParsed = true @@ -8853,7 +8931,7 @@ yydefault: case 115: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:1006 +//line sql.y:1007 { // Create table [name] like [name] yyDollar[1].createTableUnion().OptLike = yyDollar[2].optLikeUnion() @@ -8864,7 +8942,7 @@ yydefault: case 116: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:1013 +//line sql.y:1014 { indexDef := yyDollar[1].alterTableUnion().AlterOptions[0].(*AddIndexDefinition).IndexDefinition indexDef.Columns = yyDollar[3].indexColumnsUnion() @@ -8877,7 +8955,7 @@ yydefault: case 117: yyDollar = yyS[yypt-12 : yypt+1] var yyLOCAL Statement -//line sql.y:1022 +//line sql.y:1023 { yyLOCAL = &CreateView{ViewName: yyDollar[8].tableName.ToViewName(), Comments: Comments(yyDollar[2].strs).Parsed(), IsReplace: yyDollar[3].booleanUnion(), Algorithm: yyDollar[4].str, Definer: yyDollar[5].definerUnion(), Security: yyDollar[6].str, Columns: yyDollar[9].columnsUnion(), Select: yyDollar[11].selStmtUnion(), CheckOption: yyDollar[12].str} } @@ -8885,7 +8963,7 @@ yydefault: case 118: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:1026 +//line sql.y:1027 { yyDollar[1].createDatabaseUnion().FullyParsed = true yyDollar[1].createDatabaseUnion().CreateOptions = yyDollar[2].databaseOptionsUnion() @@ -8895,7 +8973,7 @@ yydefault: case 119: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:1033 +//line sql.y:1034 { yyLOCAL = false } @@ -8903,33 +8981,33 @@ yydefault: case 120: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:1037 +//line sql.y:1038 { yyLOCAL = true } yyVAL.union = yyLOCAL case 121: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1042 +//line sql.y:1043 { yyVAL.colIdent = NewColIdent("") } case 122: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1046 +//line sql.y:1047 { yyVAL.colIdent = yyDollar[2].colIdent } case 123: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1052 +//line sql.y:1053 { yyVAL.colIdent = yyDollar[1].colIdent } case 124: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []VindexParam -//line sql.y:1057 +//line sql.y:1058 { var v []VindexParam yyLOCAL = v @@ -8938,7 +9016,7 @@ yydefault: case 125: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []VindexParam -//line sql.y:1062 +//line sql.y:1063 { yyLOCAL = yyDollar[2].vindexParamsUnion() } @@ -8946,7 +9024,7 @@ yydefault: case 126: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []VindexParam -//line sql.y:1068 +//line sql.y:1069 { yyLOCAL = make([]VindexParam, 0, 4) yyLOCAL = append(yyLOCAL, yyDollar[1].vindexParam) @@ -8954,21 +9032,21 @@ yydefault: yyVAL.union = yyLOCAL case 127: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1073 +//line sql.y:1074 { yySLICE := (*[]VindexParam)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].vindexParam) } case 128: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1079 +//line sql.y:1080 { yyVAL.vindexParam = VindexParam{Key: yyDollar[1].colIdent, Val: yyDollar[3].str} } case 129: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*JSONObjectParam -//line sql.y:1084 +//line sql.y:1085 { yyLOCAL = nil } @@ -8976,7 +9054,7 @@ yydefault: case 130: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*JSONObjectParam -//line sql.y:1088 +//line sql.y:1089 { yyLOCAL = yyDollar[1].jsonObjectParamsUnion() } @@ -8984,28 +9062,28 @@ yydefault: case 131: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*JSONObjectParam -//line sql.y:1094 +//line sql.y:1095 { yyLOCAL = []*JSONObjectParam{yyDollar[1].jsonObjectParam} } yyVAL.union = yyLOCAL case 132: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1098 +//line sql.y:1099 { yySLICE := (*[]*JSONObjectParam)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].jsonObjectParam) } case 133: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1104 +//line sql.y:1105 { yyVAL.jsonObjectParam = &JSONObjectParam{Key: yyDollar[1].exprUnion(), Value: yyDollar[3].exprUnion()} } case 134: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *CreateTable -//line sql.y:1110 +//line sql.y:1111 { yyLOCAL = &CreateTable{Comments: Comments(yyDollar[2].strs).Parsed(), Table: yyDollar[6].tableName, IfNotExists: yyDollar[5].booleanUnion(), Temp: yyDollar[3].booleanUnion()} setDDL(yylex, yyLOCAL) @@ -9014,7 +9092,7 @@ yydefault: case 135: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *AlterTable -//line sql.y:1117 +//line sql.y:1118 { yyLOCAL = &AlterTable{Comments: Comments(yyDollar[2].strs).Parsed(), Table: yyDollar[4].tableName} setDDL(yylex, yyLOCAL) @@ -9023,7 +9101,7 @@ yydefault: case 136: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *AlterTable -//line sql.y:1124 +//line sql.y:1125 { 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()}}}} setDDL(yylex, yyLOCAL) @@ -9032,7 +9110,7 @@ yydefault: case 137: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *AlterTable -//line sql.y:1129 +//line sql.y:1130 { 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()}}}} setDDL(yylex, yyLOCAL) @@ -9041,7 +9119,7 @@ yydefault: case 138: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *AlterTable -//line sql.y:1134 +//line sql.y:1135 { 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()}}}} setDDL(yylex, yyLOCAL) @@ -9050,7 +9128,7 @@ yydefault: case 139: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *AlterTable -//line sql.y:1139 +//line sql.y:1140 { 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()}}}} setDDL(yylex, yyLOCAL) @@ -9059,7 +9137,7 @@ yydefault: case 140: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *CreateDatabase -//line sql.y:1146 +//line sql.y:1147 { yyLOCAL = &CreateDatabase{Comments: Comments(yyDollar[4].strs).Parsed(), DBName: yyDollar[6].tableIdent, IfNotExists: yyDollar[5].booleanUnion()} setDDL(yylex, yyLOCAL) @@ -9068,7 +9146,7 @@ yydefault: case 141: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *AlterDatabase -//line sql.y:1153 +//line sql.y:1154 { yyLOCAL = &AlterDatabase{} setDDL(yylex, yyLOCAL) @@ -9077,7 +9155,7 @@ yydefault: case 144: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *TableSpec -//line sql.y:1164 +//line sql.y:1165 { yyLOCAL = yyDollar[2].tableSpecUnion() yyLOCAL.Options = yyDollar[4].tableOptionsUnion() @@ -9087,7 +9165,7 @@ yydefault: case 145: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []DatabaseOption -//line sql.y:1171 +//line sql.y:1172 { yyLOCAL = nil } @@ -9095,7 +9173,7 @@ yydefault: case 146: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []DatabaseOption -//line sql.y:1175 +//line sql.y:1176 { yyLOCAL = yyDollar[1].databaseOptionsUnion() } @@ -9103,7 +9181,7 @@ yydefault: case 147: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []DatabaseOption -//line sql.y:1181 +//line sql.y:1182 { yyLOCAL = []DatabaseOption{yyDollar[1].databaseOption} } @@ -9111,7 +9189,7 @@ yydefault: case 148: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []DatabaseOption -//line sql.y:1185 +//line sql.y:1186 { yyLOCAL = []DatabaseOption{yyDollar[1].databaseOption} } @@ -9119,28 +9197,28 @@ yydefault: case 149: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []DatabaseOption -//line sql.y:1189 +//line sql.y:1190 { yyLOCAL = []DatabaseOption{yyDollar[1].databaseOption} } yyVAL.union = yyLOCAL case 150: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1193 +//line sql.y:1194 { yySLICE := (*[]DatabaseOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].databaseOption) } case 151: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1197 +//line sql.y:1198 { yySLICE := (*[]DatabaseOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].databaseOption) } case 152: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1201 +//line sql.y:1202 { yySLICE := (*[]DatabaseOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].databaseOption) @@ -9148,7 +9226,7 @@ yydefault: case 153: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:1207 +//line sql.y:1208 { yyLOCAL = false } @@ -9156,51 +9234,51 @@ yydefault: case 154: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:1211 +//line sql.y:1212 { yyLOCAL = true } yyVAL.union = yyLOCAL case 155: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1217 +//line sql.y:1218 { yyVAL.databaseOption = DatabaseOption{Type: CharacterSetType, Value: (yyDollar[4].colIdent.String()), IsDefault: yyDollar[1].booleanUnion()} } case 156: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1221 +//line sql.y:1222 { yyVAL.databaseOption = DatabaseOption{Type: CharacterSetType, Value: (encodeSQLString(yyDollar[4].str)), IsDefault: yyDollar[1].booleanUnion()} } case 157: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1227 +//line sql.y:1228 { yyVAL.databaseOption = DatabaseOption{Type: CollateType, Value: (yyDollar[4].colIdent.String()), IsDefault: yyDollar[1].booleanUnion()} } case 158: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1231 +//line sql.y:1232 { yyVAL.databaseOption = DatabaseOption{Type: CollateType, Value: (encodeSQLString(yyDollar[4].str)), IsDefault: yyDollar[1].booleanUnion()} } case 159: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1237 +//line sql.y:1238 { yyVAL.databaseOption = DatabaseOption{Type: EncryptionType, Value: (yyDollar[4].colIdent.String()), IsDefault: yyDollar[1].booleanUnion()} } case 160: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1241 +//line sql.y:1242 { yyVAL.databaseOption = DatabaseOption{Type: EncryptionType, Value: (encodeSQLString(yyDollar[4].str)), IsDefault: yyDollar[1].booleanUnion()} } case 161: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *OptLike -//line sql.y:1247 +//line sql.y:1248 { yyLOCAL = &OptLike{LikeTable: yyDollar[2].tableName} } @@ -9208,7 +9286,7 @@ yydefault: case 162: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *OptLike -//line sql.y:1251 +//line sql.y:1252 { yyLOCAL = &OptLike{LikeTable: yyDollar[3].tableName} } @@ -9216,14 +9294,14 @@ yydefault: case 163: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*ColumnDefinition -//line sql.y:1257 +//line sql.y:1258 { yyLOCAL = []*ColumnDefinition{yyDollar[1].columnDefinitionUnion()} } yyVAL.union = yyLOCAL case 164: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1261 +//line sql.y:1262 { yySLICE := (*[]*ColumnDefinition)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].columnDefinitionUnion()) @@ -9231,7 +9309,7 @@ yydefault: case 165: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *TableSpec -//line sql.y:1267 +//line sql.y:1268 { yyLOCAL = &TableSpec{} yyLOCAL.AddColumn(yyDollar[1].columnDefinitionUnion()) @@ -9240,7 +9318,7 @@ yydefault: case 166: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *TableSpec -//line sql.y:1272 +//line sql.y:1273 { yyLOCAL = &TableSpec{} yyLOCAL.AddConstraint(yyDollar[1].constraintDefinitionUnion()) @@ -9248,39 +9326,39 @@ yydefault: yyVAL.union = yyLOCAL case 167: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1277 +//line sql.y:1278 { yyVAL.tableSpecUnion().AddColumn(yyDollar[3].columnDefinitionUnion()) } case 168: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1281 +//line sql.y:1282 { yyVAL.tableSpecUnion().AddColumn(yyDollar[3].columnDefinitionUnion()) yyVAL.tableSpecUnion().AddConstraint(yyDollar[4].constraintDefinitionUnion()) } case 169: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1286 +//line sql.y:1287 { yyVAL.tableSpecUnion().AddIndex(yyDollar[3].indexDefinitionUnion()) } case 170: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1290 +//line sql.y:1291 { yyVAL.tableSpecUnion().AddConstraint(yyDollar[3].constraintDefinitionUnion()) } case 171: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1294 +//line sql.y:1295 { yyVAL.tableSpecUnion().AddConstraint(yyDollar[3].constraintDefinitionUnion()) } case 172: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ColumnDefinition -//line sql.y:1305 +//line sql.y:1306 { yyDollar[2].columnType.Options = yyDollar[4].columnTypeOptionsUnion() if yyDollar[2].columnType.Options.Collate == "" { @@ -9293,7 +9371,7 @@ yydefault: case 173: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL *ColumnDefinition -//line sql.y:1314 +//line sql.y:1315 { yyDollar[2].columnType.Options = yyDollar[9].columnTypeOptionsUnion() yyDollar[2].columnType.Options.As = yyDollar[7].exprUnion() @@ -9304,20 +9382,20 @@ yydefault: yyVAL.union = yyLOCAL case 174: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1323 +//line sql.y:1324 { yyVAL.str = "" } case 175: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1327 +//line sql.y:1328 { yyVAL.str = "" } case 176: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1336 +//line sql.y:1337 { yyLOCAL = &ColumnTypeOptions{Null: nil, Default: nil, OnUpdate: nil, Autoincrement: false, KeyOpt: colKeyNone, Comment: nil, As: nil, Invisible: nil, Format: UnspecifiedFormat, EngineAttribute: nil, SecondaryEngineAttribute: nil} } @@ -9325,7 +9403,7 @@ yydefault: case 177: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1340 +//line sql.y:1341 { val := true yyDollar[1].columnTypeOptionsUnion().Null = &val @@ -9335,7 +9413,7 @@ yydefault: case 178: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1346 +//line sql.y:1347 { val := false yyDollar[1].columnTypeOptionsUnion().Null = &val @@ -9345,7 +9423,7 @@ yydefault: case 179: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1352 +//line sql.y:1353 { yyDollar[1].columnTypeOptionsUnion().Default = yyDollar[4].exprUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9354,7 +9432,7 @@ yydefault: case 180: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1357 +//line sql.y:1358 { yyDollar[1].columnTypeOptionsUnion().Default = yyDollar[3].exprUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9363,7 +9441,7 @@ yydefault: case 181: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1362 +//line sql.y:1363 { yyDollar[1].columnTypeOptionsUnion().OnUpdate = yyDollar[4].exprUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9372,7 +9450,7 @@ yydefault: case 182: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1367 +//line sql.y:1368 { yyDollar[1].columnTypeOptionsUnion().Autoincrement = true yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9381,7 +9459,7 @@ yydefault: case 183: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1372 +//line sql.y:1373 { yyDollar[1].columnTypeOptionsUnion().Comment = NewStrLiteral(yyDollar[3].str) yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9390,7 +9468,7 @@ yydefault: case 184: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1377 +//line sql.y:1378 { yyDollar[1].columnTypeOptionsUnion().KeyOpt = yyDollar[2].colKeyOptUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9398,14 +9476,14 @@ yydefault: yyVAL.union = yyLOCAL case 185: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1382 +//line sql.y:1383 { yyDollar[1].columnTypeOptionsUnion().Collate = encodeSQLString(yyDollar[3].str) } case 186: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1386 +//line sql.y:1387 { yyDollar[1].columnTypeOptionsUnion().Collate = string(yyDollar[3].colIdent.String()) yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9413,14 +9491,14 @@ yydefault: yyVAL.union = yyLOCAL case 187: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1391 +//line sql.y:1392 { yyDollar[1].columnTypeOptionsUnion().Format = yyDollar[3].columnFormatUnion() } case 188: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1395 +//line sql.y:1396 { yyDollar[1].columnTypeOptionsUnion().SRID = NewIntLiteral(yyDollar[3].str) yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9429,7 +9507,7 @@ yydefault: case 189: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1400 +//line sql.y:1401 { val := false yyDollar[1].columnTypeOptionsUnion().Invisible = &val @@ -9439,7 +9517,7 @@ yydefault: case 190: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1406 +//line sql.y:1407 { val := true yyDollar[1].columnTypeOptionsUnion().Invisible = &val @@ -9448,20 +9526,20 @@ yydefault: yyVAL.union = yyLOCAL case 191: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1412 +//line sql.y:1413 { yyDollar[1].columnTypeOptionsUnion().EngineAttribute = NewStrLiteral(yyDollar[4].str) } case 192: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1416 +//line sql.y:1417 { yyDollar[1].columnTypeOptionsUnion().SecondaryEngineAttribute = NewStrLiteral(yyDollar[4].str) } case 193: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnFormat -//line sql.y:1422 +//line sql.y:1423 { yyLOCAL = FixedFormat } @@ -9469,7 +9547,7 @@ yydefault: case 194: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnFormat -//line sql.y:1426 +//line sql.y:1427 { yyLOCAL = DynamicFormat } @@ -9477,7 +9555,7 @@ yydefault: case 195: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnFormat -//line sql.y:1430 +//line sql.y:1431 { yyLOCAL = DefaultFormat } @@ -9485,7 +9563,7 @@ yydefault: case 196: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnStorage -//line sql.y:1436 +//line sql.y:1437 { yyLOCAL = VirtualStorage } @@ -9493,7 +9571,7 @@ yydefault: case 197: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnStorage -//line sql.y:1440 +//line sql.y:1441 { yyLOCAL = StoredStorage } @@ -9501,7 +9579,7 @@ yydefault: case 198: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1445 +//line sql.y:1446 { yyLOCAL = &ColumnTypeOptions{} } @@ -9509,7 +9587,7 @@ yydefault: case 199: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1449 +//line sql.y:1450 { yyDollar[1].columnTypeOptionsUnion().Storage = yyDollar[2].columnStorageUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9518,7 +9596,7 @@ yydefault: case 200: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1454 +//line sql.y:1455 { val := true yyDollar[1].columnTypeOptionsUnion().Null = &val @@ -9528,7 +9606,7 @@ yydefault: case 201: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1460 +//line sql.y:1461 { val := false yyDollar[1].columnTypeOptionsUnion().Null = &val @@ -9538,7 +9616,7 @@ yydefault: case 202: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1466 +//line sql.y:1467 { yyDollar[1].columnTypeOptionsUnion().Comment = NewStrLiteral(yyDollar[3].str) yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9547,7 +9625,7 @@ yydefault: case 203: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1471 +//line sql.y:1472 { yyDollar[1].columnTypeOptionsUnion().KeyOpt = yyDollar[2].colKeyOptUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9556,7 +9634,7 @@ yydefault: case 204: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1476 +//line sql.y:1477 { val := false yyDollar[1].columnTypeOptionsUnion().Invisible = &val @@ -9566,7 +9644,7 @@ yydefault: case 205: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1482 +//line sql.y:1483 { val := true yyDollar[1].columnTypeOptionsUnion().Invisible = &val @@ -9576,7 +9654,7 @@ yydefault: case 206: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1490 +//line sql.y:1491 { yyLOCAL = yyDollar[1].exprUnion() } @@ -9584,7 +9662,7 @@ yydefault: case 208: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1497 +//line sql.y:1498 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("current_timestamp"), Fsp: yyDollar[2].exprUnion()} } @@ -9592,7 +9670,7 @@ yydefault: case 209: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1501 +//line sql.y:1502 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("localtime"), Fsp: yyDollar[2].exprUnion()} } @@ -9600,7 +9678,7 @@ yydefault: case 210: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1505 +//line sql.y:1506 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("localtimestamp"), Fsp: yyDollar[2].exprUnion()} } @@ -9608,7 +9686,7 @@ yydefault: case 211: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1509 +//line sql.y:1510 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("utc_timestamp"), Fsp: yyDollar[2].exprUnion()} } @@ -9616,7 +9694,7 @@ yydefault: case 212: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1513 +//line sql.y:1514 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("now"), Fsp: yyDollar[2].exprUnion()} } @@ -9624,7 +9702,7 @@ yydefault: case 215: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1523 +//line sql.y:1524 { yyLOCAL = &NullVal{} } @@ -9632,7 +9710,7 @@ yydefault: case 217: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1530 +//line sql.y:1531 { yyLOCAL = yyDollar[2].exprUnion() } @@ -9640,7 +9718,7 @@ yydefault: case 218: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1534 +//line sql.y:1535 { yyLOCAL = &UnaryExpr{Operator: UMinusOp, Expr: yyDollar[2].exprUnion()} } @@ -9648,7 +9726,7 @@ yydefault: case 219: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1540 +//line sql.y:1541 { yyLOCAL = yyDollar[1].exprUnion() } @@ -9656,7 +9734,7 @@ yydefault: case 220: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1544 +//line sql.y:1545 { yyLOCAL = yyDollar[1].exprUnion() } @@ -9664,7 +9742,7 @@ yydefault: case 221: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1548 +//line sql.y:1549 { yyLOCAL = yyDollar[1].boolValUnion() } @@ -9672,7 +9750,7 @@ yydefault: case 222: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1552 +//line sql.y:1553 { yyLOCAL = NewHexLiteral(yyDollar[1].str) } @@ -9680,7 +9758,7 @@ yydefault: case 223: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1556 +//line sql.y:1557 { yyLOCAL = NewHexNumLiteral(yyDollar[1].str) } @@ -9688,7 +9766,7 @@ yydefault: case 224: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1560 +//line sql.y:1561 { yyLOCAL = NewBitLiteral(yyDollar[1].str) } @@ -9696,7 +9774,7 @@ yydefault: case 225: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1564 +//line sql.y:1565 { yyLOCAL = NewArgument(yyDollar[1].str[1:]) bindVariable(yylex, yyDollar[1].str[1:]) @@ -9705,7 +9783,7 @@ yydefault: case 226: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1569 +//line sql.y:1570 { yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewBitLiteral(yyDollar[2].str)} } @@ -9713,7 +9791,7 @@ yydefault: case 227: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1573 +//line sql.y:1574 { yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewHexNumLiteral(yyDollar[2].str)} } @@ -9721,7 +9799,7 @@ yydefault: case 228: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1577 +//line sql.y:1578 { yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewHexLiteral(yyDollar[2].str)} } @@ -9729,7 +9807,7 @@ yydefault: case 229: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1581 +//line sql.y:1582 { yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: yyDollar[2].colNameUnion()} } @@ -9737,7 +9815,7 @@ yydefault: case 230: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1585 +//line sql.y:1586 { bindVariable(yylex, yyDollar[2].str[1:]) yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewArgument(yyDollar[2].str[1:])} @@ -9745,260 +9823,260 @@ yydefault: yyVAL.union = yyLOCAL case 231: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1592 +//line sql.y:1593 { yyVAL.str = Armscii8Str } case 232: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1596 +//line sql.y:1597 { yyVAL.str = ASCIIStr } case 233: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1600 +//line sql.y:1601 { yyVAL.str = Big5Str } case 234: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1604 +//line sql.y:1605 { yyVAL.str = UBinaryStr } case 235: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1608 +//line sql.y:1609 { yyVAL.str = Cp1250Str } case 236: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1612 +//line sql.y:1613 { yyVAL.str = Cp1251Str } case 237: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1616 +//line sql.y:1617 { yyVAL.str = Cp1256Str } case 238: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1620 +//line sql.y:1621 { yyVAL.str = Cp1257Str } case 239: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1624 +//line sql.y:1625 { yyVAL.str = Cp850Str } case 240: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1628 +//line sql.y:1629 { yyVAL.str = Cp852Str } case 241: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1632 +//line sql.y:1633 { yyVAL.str = Cp866Str } case 242: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1636 +//line sql.y:1637 { yyVAL.str = Cp932Str } case 243: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1640 +//line sql.y:1641 { yyVAL.str = Dec8Str } case 244: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1644 +//line sql.y:1645 { yyVAL.str = EucjpmsStr } case 245: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1648 +//line sql.y:1649 { yyVAL.str = EuckrStr } case 246: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1652 +//line sql.y:1653 { yyVAL.str = Gb18030Str } case 247: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1656 +//line sql.y:1657 { yyVAL.str = Gb2312Str } case 248: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1660 +//line sql.y:1661 { yyVAL.str = GbkStr } case 249: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1664 +//line sql.y:1665 { yyVAL.str = Geostd8Str } case 250: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1668 +//line sql.y:1669 { yyVAL.str = GreekStr } case 251: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1672 +//line sql.y:1673 { yyVAL.str = HebrewStr } case 252: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1676 +//line sql.y:1677 { yyVAL.str = Hp8Str } case 253: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1680 +//line sql.y:1681 { yyVAL.str = Keybcs2Str } case 254: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1684 +//line sql.y:1685 { yyVAL.str = Koi8rStr } case 255: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1688 +//line sql.y:1689 { yyVAL.str = Koi8uStr } case 256: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1692 +//line sql.y:1693 { yyVAL.str = Latin1Str } case 257: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1696 +//line sql.y:1697 { yyVAL.str = Latin2Str } case 258: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1700 +//line sql.y:1701 { yyVAL.str = Latin5Str } case 259: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1704 +//line sql.y:1705 { yyVAL.str = Latin7Str } case 260: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1708 +//line sql.y:1709 { yyVAL.str = MacceStr } case 261: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1712 +//line sql.y:1713 { yyVAL.str = MacromanStr } case 262: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1716 +//line sql.y:1717 { yyVAL.str = SjisStr } case 263: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1720 +//line sql.y:1721 { yyVAL.str = Swe7Str } case 264: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1724 +//line sql.y:1725 { yyVAL.str = Tis620Str } case 265: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1728 +//line sql.y:1729 { yyVAL.str = Ucs2Str } case 266: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1732 +//line sql.y:1733 { yyVAL.str = UjisStr } case 267: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1736 +//line sql.y:1737 { yyVAL.str = Utf16Str } case 268: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1740 +//line sql.y:1741 { yyVAL.str = Utf16leStr } case 269: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1744 +//line sql.y:1745 { yyVAL.str = Utf32Str } case 270: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1748 +//line sql.y:1749 { yyVAL.str = Utf8Str } case 271: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1752 +//line sql.y:1753 { yyVAL.str = Utf8mb4Str } case 272: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1756 +//line sql.y:1757 { yyVAL.str = Utf8Str } case 275: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1766 +//line sql.y:1767 { yyLOCAL = NewIntLiteral(yyDollar[1].str) } @@ -10006,7 +10084,7 @@ yydefault: case 276: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1770 +//line sql.y:1771 { yyLOCAL = NewFloatLiteral(yyDollar[1].str) } @@ -10014,7 +10092,7 @@ yydefault: case 277: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1774 +//line sql.y:1775 { yyLOCAL = NewDecimalLiteral(yyDollar[1].str) } @@ -10022,7 +10100,7 @@ yydefault: case 278: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1780 +//line sql.y:1781 { yyLOCAL = NewStrLiteral(yyDollar[1].str) } @@ -10030,7 +10108,7 @@ yydefault: case 279: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1784 +//line sql.y:1785 { yyLOCAL = &UnaryExpr{Operator: NStringOp, Expr: NewStrLiteral(yyDollar[1].str)} } @@ -10038,7 +10116,7 @@ yydefault: case 280: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1788 +//line sql.y:1789 { yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewStrLiteral(yyDollar[2].str)} } @@ -10046,7 +10124,7 @@ yydefault: case 281: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1794 +//line sql.y:1795 { yyLOCAL = yyDollar[1].exprUnion() } @@ -10054,7 +10132,7 @@ yydefault: case 282: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1798 +//line sql.y:1799 { yyLOCAL = NewArgument(yyDollar[1].str[1:]) bindVariable(yylex, yyDollar[1].str[1:]) @@ -10063,7 +10141,7 @@ yydefault: case 283: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ColumnKeyOption -//line sql.y:1805 +//line sql.y:1806 { yyLOCAL = colKeyPrimary } @@ -10071,7 +10149,7 @@ yydefault: case 284: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnKeyOption -//line sql.y:1809 +//line sql.y:1810 { yyLOCAL = colKeyUnique } @@ -10079,7 +10157,7 @@ yydefault: case 285: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ColumnKeyOption -//line sql.y:1813 +//line sql.y:1814 { yyLOCAL = colKeyUniqueKey } @@ -10087,14 +10165,14 @@ yydefault: case 286: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnKeyOption -//line sql.y:1817 +//line sql.y:1818 { yyLOCAL = colKey } yyVAL.union = yyLOCAL case 287: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1823 +//line sql.y:1824 { yyVAL.columnType = yyDollar[1].columnType yyVAL.columnType.Unsigned = yyDollar[2].booleanUnion() @@ -10102,74 +10180,74 @@ yydefault: } case 291: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1834 +//line sql.y:1835 { yyVAL.columnType = yyDollar[1].columnType yyVAL.columnType.Length = yyDollar[2].literalUnion() } case 292: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1839 +//line sql.y:1840 { yyVAL.columnType = yyDollar[1].columnType } case 293: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1845 +//line sql.y:1846 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 294: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1849 +//line sql.y:1850 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 295: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1853 +//line sql.y:1854 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 296: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1857 +//line sql.y:1858 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 297: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1861 +//line sql.y:1862 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 298: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1865 +//line sql.y:1866 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 299: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1869 +//line sql.y:1870 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 300: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1873 +//line sql.y:1874 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 301: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1877 +//line sql.y:1878 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 302: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1883 +//line sql.y:1884 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -10177,7 +10255,7 @@ yydefault: } case 303: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1889 +//line sql.y:1890 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -10185,7 +10263,7 @@ yydefault: } case 304: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1895 +//line sql.y:1896 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -10193,7 +10271,7 @@ yydefault: } case 305: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1901 +//line sql.y:1902 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -10201,7 +10279,7 @@ yydefault: } case 306: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1907 +//line sql.y:1908 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -10209,43 +10287,43 @@ yydefault: } case 307: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1915 +//line sql.y:1916 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 308: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1919 +//line sql.y:1920 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 309: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1923 +//line sql.y:1924 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 310: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1927 +//line sql.y:1928 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 311: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1931 +//line sql.y:1932 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 312: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1937 +//line sql.y:1938 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion(), Charset: yyDollar[3].columnCharset} } case 313: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1941 +//line sql.y:1942 { // CHAR BYTE is an alias for binary. See also: // https://dev.mysql.com/doc/refman/8.0/en/string-type-syntax.html @@ -10253,153 +10331,153 @@ yydefault: } case 314: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1947 +//line sql.y:1948 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion(), Charset: yyDollar[3].columnCharset} } case 315: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1951 +//line sql.y:1952 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 316: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1955 +//line sql.y:1956 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 317: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1959 +//line sql.y:1960 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset} } case 318: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1963 +//line sql.y:1964 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset} } case 319: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1967 +//line sql.y:1968 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset} } case 320: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1971 +//line sql.y:1972 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset} } case 321: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1975 +//line sql.y:1976 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 322: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1979 +//line sql.y:1980 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 323: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1983 +//line sql.y:1984 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 324: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1987 +//line sql.y:1988 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 325: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1991 +//line sql.y:1992 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 326: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1995 +//line sql.y:1996 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].columnCharset} } case 327: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2000 +//line sql.y:2001 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].columnCharset} } case 328: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2006 +//line sql.y:2007 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 329: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2010 +//line sql.y:2011 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 330: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2014 +//line sql.y:2015 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 331: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2018 +//line sql.y:2019 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 332: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2022 +//line sql.y:2023 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 333: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2026 +//line sql.y:2027 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 334: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2030 +//line sql.y:2031 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 335: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2034 +//line sql.y:2035 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 336: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2040 +//line sql.y:2041 { yyVAL.strs = make([]string, 0, 4) yyVAL.strs = append(yyVAL.strs, encodeSQLString(yyDollar[1].str)) } case 337: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2045 +//line sql.y:2046 { yyVAL.strs = append(yyDollar[1].strs, encodeSQLString(yyDollar[3].str)) } case 338: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *Literal -//line sql.y:2050 +//line sql.y:2051 { yyLOCAL = nil } @@ -10407,20 +10485,20 @@ yydefault: case 339: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *Literal -//line sql.y:2054 +//line sql.y:2055 { yyLOCAL = NewIntLiteral(yyDollar[2].str) } yyVAL.union = yyLOCAL case 340: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2059 +//line sql.y:2060 { yyVAL.LengthScaleOption = LengthScaleOption{} } case 341: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2063 +//line sql.y:2064 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: NewIntLiteral(yyDollar[2].str), @@ -10429,13 +10507,13 @@ yydefault: } case 342: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2071 +//line sql.y:2072 { yyVAL.LengthScaleOption = LengthScaleOption{} } case 343: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2075 +//line sql.y:2076 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: NewIntLiteral(yyDollar[2].str), @@ -10443,7 +10521,7 @@ yydefault: } case 344: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2081 +//line sql.y:2082 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: NewIntLiteral(yyDollar[2].str), @@ -10453,7 +10531,7 @@ yydefault: case 345: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:2089 +//line sql.y:2090 { yyLOCAL = false } @@ -10461,7 +10539,7 @@ yydefault: case 346: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2093 +//line sql.y:2094 { yyLOCAL = true } @@ -10469,7 +10547,7 @@ yydefault: case 347: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2097 +//line sql.y:2098 { yyLOCAL = false } @@ -10477,7 +10555,7 @@ yydefault: case 348: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:2102 +//line sql.y:2103 { yyLOCAL = false } @@ -10485,66 +10563,66 @@ yydefault: case 349: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2106 +//line sql.y:2107 { yyLOCAL = true } yyVAL.union = yyLOCAL case 350: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2111 +//line sql.y:2112 { yyVAL.columnCharset = ColumnCharset{} } case 351: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2115 +//line sql.y:2116 { yyVAL.columnCharset = ColumnCharset{Name: string(yyDollar[2].colIdent.String()), Binary: yyDollar[3].booleanUnion()} } case 352: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2119 +//line sql.y:2120 { yyVAL.columnCharset = ColumnCharset{Name: encodeSQLString(yyDollar[2].str), Binary: yyDollar[3].booleanUnion()} } case 353: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2123 +//line sql.y:2124 { yyVAL.columnCharset = ColumnCharset{Name: string(yyDollar[2].str)} } case 354: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2127 +//line sql.y:2128 { // ASCII: Shorthand for CHARACTER SET latin1. yyVAL.columnCharset = ColumnCharset{Name: "latin1", Binary: yyDollar[2].booleanUnion()} } case 355: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2132 +//line sql.y:2133 { // UNICODE: Shorthand for CHARACTER SET ucs2. yyVAL.columnCharset = ColumnCharset{Name: "ucs2", Binary: yyDollar[2].booleanUnion()} } case 356: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2137 +//line sql.y:2138 { // BINARY: Shorthand for default CHARACTER SET but with binary collation yyVAL.columnCharset = ColumnCharset{Name: "", Binary: true} } case 357: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2142 +//line sql.y:2143 { // BINARY ASCII: Shorthand for CHARACTER SET latin1 with binary collation yyVAL.columnCharset = ColumnCharset{Name: "latin1", Binary: true} } case 358: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2147 +//line sql.y:2148 { // BINARY UNICODE: Shorthand for CHARACTER SET ucs2 with binary collation yyVAL.columnCharset = ColumnCharset{Name: "ucs2", Binary: true} @@ -10552,7 +10630,7 @@ yydefault: case 359: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:2153 +//line sql.y:2154 { yyLOCAL = false } @@ -10560,33 +10638,33 @@ yydefault: case 360: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2157 +//line sql.y:2158 { yyLOCAL = true } yyVAL.union = yyLOCAL case 361: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2162 +//line sql.y:2163 { yyVAL.str = "" } case 362: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2166 +//line sql.y:2167 { yyVAL.str = string(yyDollar[2].colIdent.String()) } case 363: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2170 +//line sql.y:2171 { yyVAL.str = encodeSQLString(yyDollar[2].str) } case 364: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *IndexDefinition -//line sql.y:2176 +//line sql.y:2177 { yyLOCAL = &IndexDefinition{Info: yyDollar[1].indexInfoUnion(), Columns: yyDollar[3].indexColumnsUnion(), Options: yyDollar[5].indexOptionsUnion()} } @@ -10594,7 +10672,7 @@ yydefault: case 365: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:2181 +//line sql.y:2182 { yyLOCAL = nil } @@ -10602,7 +10680,7 @@ yydefault: case 366: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:2185 +//line sql.y:2186 { yyLOCAL = yyDollar[1].indexOptionsUnion() } @@ -10610,14 +10688,14 @@ yydefault: case 367: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:2191 +//line sql.y:2192 { yyLOCAL = []*IndexOption{yyDollar[1].indexOptionUnion()} } yyVAL.union = yyLOCAL case 368: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2195 +//line sql.y:2196 { yySLICE := (*[]*IndexOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].indexOptionUnion()) @@ -10625,7 +10703,7 @@ yydefault: case 369: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2201 +//line sql.y:2202 { yyLOCAL = yyDollar[1].indexOptionUnion() } @@ -10633,7 +10711,7 @@ yydefault: case 370: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2205 +//line sql.y:2206 { // should not be string yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} @@ -10642,7 +10720,7 @@ yydefault: case 371: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2210 +//line sql.y:2211 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[2].str)} } @@ -10650,7 +10728,7 @@ yydefault: case 372: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2214 +//line sql.y:2215 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str)} } @@ -10658,7 +10736,7 @@ yydefault: case 373: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2218 +//line sql.y:2219 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str)} } @@ -10666,7 +10744,7 @@ yydefault: case 374: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2222 +//line sql.y:2223 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str) + " " + string(yyDollar[2].str), String: yyDollar[3].colIdent.String()} } @@ -10674,7 +10752,7 @@ yydefault: case 375: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2226 +//line sql.y:2227 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -10682,27 +10760,27 @@ yydefault: case 376: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2230 +//line sql.y:2231 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } yyVAL.union = yyLOCAL case 377: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2236 +//line sql.y:2237 { yyVAL.str = "" } case 378: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2240 +//line sql.y:2241 { yyVAL.str = string(yyDollar[1].str) } case 379: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *IndexInfo -//line sql.y:2246 +//line sql.y:2247 { yyLOCAL = &IndexInfo{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), ConstraintName: NewColIdent(yyDollar[1].str), Name: NewColIdent("PRIMARY"), Primary: true, Unique: true} } @@ -10710,7 +10788,7 @@ yydefault: case 380: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexInfo -//line sql.y:2250 +//line sql.y:2251 { yyLOCAL = &IndexInfo{Type: string(yyDollar[1].str) + " " + string(yyDollar[2].str), Name: NewColIdent(yyDollar[3].str), Spatial: true, Unique: false} } @@ -10718,7 +10796,7 @@ yydefault: case 381: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexInfo -//line sql.y:2254 +//line sql.y:2255 { yyLOCAL = &IndexInfo{Type: string(yyDollar[1].str) + " " + string(yyDollar[2].str), Name: NewColIdent(yyDollar[3].str), Fulltext: true, Unique: false} } @@ -10726,7 +10804,7 @@ yydefault: case 382: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *IndexInfo -//line sql.y:2258 +//line sql.y:2259 { yyLOCAL = &IndexInfo{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), ConstraintName: NewColIdent(yyDollar[1].str), Name: NewColIdent(yyDollar[4].str), Unique: true} } @@ -10734,100 +10812,100 @@ yydefault: case 383: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *IndexInfo -//line sql.y:2262 +//line sql.y:2263 { yyLOCAL = &IndexInfo{Type: string(yyDollar[1].str), Name: NewColIdent(yyDollar[2].str), Unique: false} } yyVAL.union = yyLOCAL case 384: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2267 +//line sql.y:2268 { yyVAL.str = "" } case 385: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2271 +//line sql.y:2272 { yyVAL.str = yyDollar[2].str } case 386: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2277 +//line sql.y:2278 { yyVAL.str = string(yyDollar[1].str) } case 387: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2281 +//line sql.y:2282 { yyVAL.str = string(yyDollar[1].str) } case 388: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2285 +//line sql.y:2286 { yyVAL.str = string(yyDollar[1].str) } case 389: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2291 +//line sql.y:2292 { yyVAL.str = string(yyDollar[1].str) } case 390: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2295 +//line sql.y:2296 { yyVAL.str = string(yyDollar[1].str) } case 391: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2300 +//line sql.y:2301 { yyVAL.str = "key" } case 392: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2304 +//line sql.y:2305 { yyVAL.str = yyDollar[1].str } case 393: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2310 +//line sql.y:2311 { yyVAL.str = string(yyDollar[1].str) } case 394: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2314 +//line sql.y:2315 { yyVAL.str = string(yyDollar[1].str) } case 395: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2319 +//line sql.y:2320 { yyVAL.str = "" } case 396: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2323 +//line sql.y:2324 { yyVAL.str = string(yyDollar[1].colIdent.String()) } case 397: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*IndexColumn -//line sql.y:2329 +//line sql.y:2330 { yyLOCAL = []*IndexColumn{yyDollar[1].indexColumnUnion()} } yyVAL.union = yyLOCAL case 398: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2333 +//line sql.y:2334 { yySLICE := (*[]*IndexColumn)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].indexColumnUnion()) @@ -10835,7 +10913,7 @@ yydefault: case 399: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexColumn -//line sql.y:2339 +//line sql.y:2340 { yyLOCAL = &IndexColumn{Column: yyDollar[1].colIdent, Length: yyDollar[2].literalUnion(), Direction: yyDollar[3].orderDirectionUnion()} } @@ -10843,7 +10921,7 @@ yydefault: case 400: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *IndexColumn -//line sql.y:2343 +//line sql.y:2344 { yyLOCAL = &IndexColumn{Expression: yyDollar[2].exprUnion(), Direction: yyDollar[4].orderDirectionUnion()} } @@ -10851,7 +10929,7 @@ yydefault: case 401: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ConstraintDefinition -//line sql.y:2349 +//line sql.y:2350 { yyLOCAL = &ConstraintDefinition{Name: yyDollar[2].colIdent, Details: yyDollar[3].constraintInfoUnion()} } @@ -10859,7 +10937,7 @@ yydefault: case 402: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConstraintDefinition -//line sql.y:2353 +//line sql.y:2354 { yyLOCAL = &ConstraintDefinition{Details: yyDollar[1].constraintInfoUnion()} } @@ -10867,7 +10945,7 @@ yydefault: case 403: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ConstraintDefinition -//line sql.y:2359 +//line sql.y:2360 { yyLOCAL = &ConstraintDefinition{Name: yyDollar[2].colIdent, Details: yyDollar[3].constraintInfoUnion()} } @@ -10875,7 +10953,7 @@ yydefault: case 404: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConstraintDefinition -//line sql.y:2363 +//line sql.y:2364 { yyLOCAL = &ConstraintDefinition{Details: yyDollar[1].constraintInfoUnion()} } @@ -10883,7 +10961,7 @@ yydefault: case 405: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL ConstraintInfo -//line sql.y:2369 +//line sql.y:2370 { yyLOCAL = &ForeignKeyDefinition{IndexName: NewColIdent(yyDollar[3].str), Source: yyDollar[5].columnsUnion(), ReferenceDefinition: yyDollar[7].referenceDefinitionUnion()} } @@ -10891,7 +10969,7 @@ yydefault: case 406: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2375 +//line sql.y:2376 { yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion()} } @@ -10899,7 +10977,7 @@ yydefault: case 407: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2379 +//line sql.y:2380 { yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnDelete: yyDollar[7].referenceActionUnion()} } @@ -10907,7 +10985,7 @@ yydefault: case 408: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2383 +//line sql.y:2384 { yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnUpdate: yyDollar[7].referenceActionUnion()} } @@ -10915,7 +10993,7 @@ yydefault: case 409: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2387 +//line sql.y:2388 { yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnDelete: yyDollar[7].referenceActionUnion(), OnUpdate: yyDollar[8].referenceActionUnion()} } @@ -10923,7 +11001,7 @@ yydefault: case 410: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2391 +//line sql.y:2392 { yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnUpdate: yyDollar[7].referenceActionUnion(), OnDelete: yyDollar[8].referenceActionUnion()} } @@ -10931,7 +11009,7 @@ yydefault: case 411: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2396 +//line sql.y:2397 { yyLOCAL = nil } @@ -10939,7 +11017,7 @@ yydefault: case 412: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2400 +//line sql.y:2401 { yyLOCAL = yyDollar[1].referenceDefinitionUnion() } @@ -10947,7 +11025,7 @@ yydefault: case 413: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL ConstraintInfo -//line sql.y:2406 +//line sql.y:2407 { yyLOCAL = &CheckConstraintDefinition{Expr: yyDollar[3].exprUnion(), Enforced: yyDollar[5].booleanUnion()} } @@ -10955,7 +11033,7 @@ yydefault: case 414: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2412 +//line sql.y:2413 { yyLOCAL = yyDollar[2].matchActionUnion() } @@ -10963,7 +11041,7 @@ yydefault: case 415: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2418 +//line sql.y:2419 { yyLOCAL = Full } @@ -10971,7 +11049,7 @@ yydefault: case 416: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2422 +//line sql.y:2423 { yyLOCAL = Partial } @@ -10979,7 +11057,7 @@ yydefault: case 417: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2426 +//line sql.y:2427 { yyLOCAL = Simple } @@ -10987,7 +11065,7 @@ yydefault: case 418: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2431 +//line sql.y:2432 { yyLOCAL = DefaultMatch } @@ -10995,7 +11073,7 @@ yydefault: case 419: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2435 +//line sql.y:2436 { yyLOCAL = yyDollar[1].matchActionUnion() } @@ -11003,7 +11081,7 @@ yydefault: case 420: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2441 +//line sql.y:2442 { yyLOCAL = yyDollar[3].referenceActionUnion() } @@ -11011,7 +11089,7 @@ yydefault: case 421: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2447 +//line sql.y:2448 { yyLOCAL = yyDollar[3].referenceActionUnion() } @@ -11019,7 +11097,7 @@ yydefault: case 422: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2453 +//line sql.y:2454 { yyLOCAL = Restrict } @@ -11027,7 +11105,7 @@ yydefault: case 423: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2457 +//line sql.y:2458 { yyLOCAL = Cascade } @@ -11035,7 +11113,7 @@ yydefault: case 424: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2461 +//line sql.y:2462 { yyLOCAL = NoAction } @@ -11043,7 +11121,7 @@ yydefault: case 425: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2465 +//line sql.y:2466 { yyLOCAL = SetDefault } @@ -11051,33 +11129,33 @@ yydefault: case 426: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2469 +//line sql.y:2470 { yyLOCAL = SetNull } yyVAL.union = yyLOCAL case 427: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2474 +//line sql.y:2475 { yyVAL.str = "" } case 428: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2478 +//line sql.y:2479 { yyVAL.str = string(yyDollar[1].str) } case 429: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2482 +//line sql.y:2483 { yyVAL.str = string(yyDollar[1].str) } case 430: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2488 +//line sql.y:2489 { yyLOCAL = true } @@ -11085,7 +11163,7 @@ yydefault: case 431: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:2492 +//line sql.y:2493 { yyLOCAL = false } @@ -11093,7 +11171,7 @@ yydefault: case 432: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:2497 +//line sql.y:2498 { yyLOCAL = true } @@ -11101,7 +11179,7 @@ yydefault: case 433: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2501 +//line sql.y:2502 { yyLOCAL = yyDollar[1].booleanUnion() } @@ -11109,7 +11187,7 @@ yydefault: case 434: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL TableOptions -//line sql.y:2506 +//line sql.y:2507 { yyLOCAL = nil } @@ -11117,7 +11195,7 @@ yydefault: case 435: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableOptions -//line sql.y:2510 +//line sql.y:2511 { yyLOCAL = yyDollar[1].tableOptionsUnion() } @@ -11125,21 +11203,21 @@ yydefault: case 436: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableOptions -//line sql.y:2516 +//line sql.y:2517 { yyLOCAL = TableOptions{yyDollar[1].tableOptionUnion()} } yyVAL.union = yyLOCAL case 437: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2520 +//line sql.y:2521 { yySLICE := (*TableOptions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableOptionUnion()) } case 438: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2524 +//line sql.y:2525 { yySLICE := (*TableOptions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].tableOptionUnion()) @@ -11147,14 +11225,14 @@ yydefault: case 439: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableOptions -//line sql.y:2530 +//line sql.y:2531 { yyLOCAL = TableOptions{yyDollar[1].tableOptionUnion()} } yyVAL.union = yyLOCAL case 440: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2534 +//line sql.y:2535 { yySLICE := (*TableOptions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].tableOptionUnion()) @@ -11162,7 +11240,7 @@ yydefault: case 441: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2540 +//line sql.y:2541 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11170,7 +11248,7 @@ yydefault: case 442: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2544 +//line sql.y:2545 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11178,7 +11256,7 @@ yydefault: case 443: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2548 +//line sql.y:2549 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11186,7 +11264,7 @@ yydefault: case 444: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2552 +//line sql.y:2553 { yyLOCAL = &TableOption{Name: (string(yyDollar[2].str)), String: yyDollar[4].str, CaseSensitive: true} } @@ -11194,7 +11272,7 @@ yydefault: case 445: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2556 +//line sql.y:2557 { yyLOCAL = &TableOption{Name: string(yyDollar[2].str), String: yyDollar[4].str, CaseSensitive: true} } @@ -11202,7 +11280,7 @@ yydefault: case 446: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2560 +//line sql.y:2561 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11210,7 +11288,7 @@ yydefault: case 447: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2564 +//line sql.y:2565 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11218,7 +11296,7 @@ yydefault: case 448: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2568 +//line sql.y:2569 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11226,7 +11304,7 @@ yydefault: case 449: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2572 +//line sql.y:2573 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11234,7 +11312,7 @@ yydefault: case 450: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2576 +//line sql.y:2577 { yyLOCAL = &TableOption{Name: (string(yyDollar[1].str) + " " + string(yyDollar[2].str)), Value: NewStrLiteral(yyDollar[4].str)} } @@ -11242,7 +11320,7 @@ yydefault: case 451: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2580 +//line sql.y:2581 { yyLOCAL = &TableOption{Name: (string(yyDollar[1].str) + " " + string(yyDollar[2].str)), Value: NewStrLiteral(yyDollar[4].str)} } @@ -11250,7 +11328,7 @@ yydefault: case 452: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2584 +//line sql.y:2585 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11258,7 +11336,7 @@ yydefault: case 453: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2588 +//line sql.y:2589 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11266,7 +11344,7 @@ yydefault: case 454: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2592 +//line sql.y:2593 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: yyDollar[3].tableIdent.String(), CaseSensitive: true} } @@ -11274,7 +11352,7 @@ yydefault: case 455: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2596 +//line sql.y:2597 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11282,7 +11360,7 @@ yydefault: case 456: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2600 +//line sql.y:2601 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} } @@ -11290,7 +11368,7 @@ yydefault: case 457: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2604 +//line sql.y:2605 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11298,7 +11376,7 @@ yydefault: case 458: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2608 +//line sql.y:2609 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11306,7 +11384,7 @@ yydefault: case 459: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2612 +//line sql.y:2613 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11314,7 +11392,7 @@ yydefault: case 460: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2616 +//line sql.y:2617 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11322,7 +11400,7 @@ yydefault: case 461: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2620 +//line sql.y:2621 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} } @@ -11330,7 +11408,7 @@ yydefault: case 462: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2624 +//line sql.y:2625 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11338,7 +11416,7 @@ yydefault: case 463: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2628 +//line sql.y:2629 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} } @@ -11346,7 +11424,7 @@ yydefault: case 464: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2632 +//line sql.y:2633 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11354,7 +11432,7 @@ yydefault: case 465: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2636 +//line sql.y:2637 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11362,7 +11440,7 @@ yydefault: case 466: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2640 +//line sql.y:2641 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} } @@ -11370,7 +11448,7 @@ yydefault: case 467: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2644 +//line sql.y:2645 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11378,7 +11456,7 @@ yydefault: case 468: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2648 +//line sql.y:2649 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} } @@ -11386,7 +11464,7 @@ yydefault: case 469: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2652 +//line sql.y:2653 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11394,7 +11472,7 @@ yydefault: case 470: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2656 +//line sql.y:2657 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: (yyDollar[3].colIdent.String() + yyDollar[4].str)} } @@ -11402,57 +11480,57 @@ yydefault: case 471: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2660 +//line sql.y:2661 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Tables: yyDollar[4].tableNamesUnion()} } yyVAL.union = yyLOCAL case 472: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2665 +//line sql.y:2666 { yyVAL.str = "" } case 473: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2669 +//line sql.y:2670 { yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 474: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2673 +//line sql.y:2674 { yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 484: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2692 +//line sql.y:2693 { yyVAL.str = yyDollar[1].colIdent.String() } case 485: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2696 +//line sql.y:2697 { yyVAL.str = encodeSQLString(yyDollar[1].str) } case 486: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2700 +//line sql.y:2701 { yyVAL.str = string(yyDollar[1].str) } case 487: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2705 +//line sql.y:2706 { yyVAL.str = "" } case 489: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:2711 +//line sql.y:2712 { yyLOCAL = false } @@ -11460,7 +11538,7 @@ yydefault: case 490: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2715 +//line sql.y:2716 { yyLOCAL = true } @@ -11468,7 +11546,7 @@ yydefault: case 491: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ColName -//line sql.y:2720 +//line sql.y:2721 { yyLOCAL = nil } @@ -11476,27 +11554,27 @@ yydefault: case 492: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColName -//line sql.y:2724 +//line sql.y:2725 { yyLOCAL = yyDollar[2].colNameUnion() } yyVAL.union = yyLOCAL case 493: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2729 +//line sql.y:2730 { yyVAL.str = "" } case 494: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2733 +//line sql.y:2734 { yyVAL.str = string(yyDollar[2].str) } case 495: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *Literal -//line sql.y:2738 +//line sql.y:2739 { yyLOCAL = nil } @@ -11504,7 +11582,7 @@ yydefault: case 496: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Literal -//line sql.y:2742 +//line sql.y:2743 { yyLOCAL = NewIntLiteral(yyDollar[2].str) } @@ -11512,7 +11590,7 @@ yydefault: case 497: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Literal -//line sql.y:2746 +//line sql.y:2747 { yyLOCAL = NewDecimalLiteral(yyDollar[2].str) } @@ -11520,7 +11598,7 @@ yydefault: case 498: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2751 +//line sql.y:2752 { yyLOCAL = nil } @@ -11528,14 +11606,14 @@ yydefault: case 499: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2755 +//line sql.y:2756 { yyLOCAL = yyDollar[1].alterOptionsUnion() } yyVAL.union = yyLOCAL case 500: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2759 +//line sql.y:2760 { yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, &OrderByOption{Cols: yyDollar[5].columnsUnion()}) @@ -11543,14 +11621,14 @@ yydefault: case 501: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2763 +//line sql.y:2764 { yyLOCAL = yyDollar[1].alterOptionsUnion() } yyVAL.union = yyLOCAL case 502: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2767 +//line sql.y:2768 { yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].alterOptionsUnion()...) @@ -11558,7 +11636,7 @@ yydefault: case 503: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2771 +//line sql.y:2772 { yyLOCAL = append(append(yyDollar[1].alterOptionsUnion(), yyDollar[3].alterOptionsUnion()...), &OrderByOption{Cols: yyDollar[7].columnsUnion()}) } @@ -11566,21 +11644,21 @@ yydefault: case 504: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2777 +//line sql.y:2778 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} } yyVAL.union = yyLOCAL case 505: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2781 +//line sql.y:2782 { yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion()) } case 506: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2785 +//line sql.y:2786 { yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion()) @@ -11588,7 +11666,7 @@ yydefault: case 507: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2791 +//line sql.y:2792 { yyLOCAL = yyDollar[1].tableOptionsUnion() } @@ -11596,7 +11674,7 @@ yydefault: case 508: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2795 +//line sql.y:2796 { yyLOCAL = &AddConstraintDefinition{ConstraintDefinition: yyDollar[2].constraintDefinitionUnion()} } @@ -11604,7 +11682,7 @@ yydefault: case 509: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2799 +//line sql.y:2800 { yyLOCAL = &AddConstraintDefinition{ConstraintDefinition: yyDollar[2].constraintDefinitionUnion()} } @@ -11612,7 +11690,7 @@ yydefault: case 510: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2803 +//line sql.y:2804 { yyLOCAL = &AddIndexDefinition{IndexDefinition: yyDollar[2].indexDefinitionUnion()} } @@ -11620,7 +11698,7 @@ yydefault: case 511: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2807 +//line sql.y:2808 { yyLOCAL = &AddColumns{Columns: yyDollar[4].columnDefinitionsUnion()} } @@ -11628,7 +11706,7 @@ yydefault: case 512: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2811 +//line sql.y:2812 { yyLOCAL = &AddColumns{Columns: []*ColumnDefinition{yyDollar[3].columnDefinitionUnion()}, First: yyDollar[4].booleanUnion(), After: yyDollar[5].colNameUnion()} } @@ -11636,7 +11714,7 @@ yydefault: case 513: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2815 +//line sql.y:2816 { yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: true} } @@ -11644,7 +11722,7 @@ yydefault: case 514: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2819 +//line sql.y:2820 { yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: false, DefaultVal: yyDollar[6].exprUnion()} } @@ -11652,7 +11730,7 @@ yydefault: case 515: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2823 +//line sql.y:2824 { yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: false, DefaultVal: yyDollar[7].exprUnion()} } @@ -11660,7 +11738,7 @@ yydefault: case 516: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2827 +//line sql.y:2828 { val := false yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), Invisible: &val} @@ -11669,7 +11747,7 @@ yydefault: case 517: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2832 +//line sql.y:2833 { val := true yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), Invisible: &val} @@ -11678,7 +11756,7 @@ yydefault: case 518: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2837 +//line sql.y:2838 { yyLOCAL = &AlterCheck{Name: yyDollar[3].colIdent, Enforced: yyDollar[4].booleanUnion()} } @@ -11686,7 +11764,7 @@ yydefault: case 519: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2841 +//line sql.y:2842 { yyLOCAL = &AlterIndex{Name: yyDollar[3].colIdent, Invisible: false} } @@ -11694,7 +11772,7 @@ yydefault: case 520: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2845 +//line sql.y:2846 { yyLOCAL = &AlterIndex{Name: yyDollar[3].colIdent, Invisible: true} } @@ -11702,7 +11780,7 @@ yydefault: case 521: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2849 +//line sql.y:2850 { yyLOCAL = &ChangeColumn{OldColumn: yyDollar[3].colNameUnion(), NewColDefinition: yyDollar[4].columnDefinitionUnion(), First: yyDollar[5].booleanUnion(), After: yyDollar[6].colNameUnion()} } @@ -11710,7 +11788,7 @@ yydefault: case 522: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2853 +//line sql.y:2854 { yyLOCAL = &ModifyColumn{NewColDefinition: yyDollar[3].columnDefinitionUnion(), First: yyDollar[4].booleanUnion(), After: yyDollar[5].colNameUnion()} } @@ -11718,7 +11796,7 @@ yydefault: case 523: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2857 +//line sql.y:2858 { yyLOCAL = &AlterCharset{CharacterSet: yyDollar[4].str, Collate: yyDollar[5].str} } @@ -11726,7 +11804,7 @@ yydefault: case 524: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2861 +//line sql.y:2862 { yyLOCAL = &KeyState{Enable: false} } @@ -11734,7 +11812,7 @@ yydefault: case 525: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2865 +//line sql.y:2866 { yyLOCAL = &KeyState{Enable: true} } @@ -11742,7 +11820,7 @@ yydefault: case 526: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2869 +//line sql.y:2870 { yyLOCAL = &TablespaceOperation{Import: false} } @@ -11750,7 +11828,7 @@ yydefault: case 527: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2873 +//line sql.y:2874 { yyLOCAL = &TablespaceOperation{Import: true} } @@ -11758,7 +11836,7 @@ yydefault: case 528: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2877 +//line sql.y:2878 { yyLOCAL = &DropColumn{Name: yyDollar[3].colNameUnion()} } @@ -11766,7 +11844,7 @@ yydefault: case 529: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2881 +//line sql.y:2882 { yyLOCAL = &DropKey{Type: NormalKeyType, Name: yyDollar[3].colIdent} } @@ -11774,7 +11852,7 @@ yydefault: case 530: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2885 +//line sql.y:2886 { yyLOCAL = &DropKey{Type: PrimaryKeyType} } @@ -11782,7 +11860,7 @@ yydefault: case 531: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2889 +//line sql.y:2890 { yyLOCAL = &DropKey{Type: ForeignKeyType, Name: yyDollar[4].colIdent} } @@ -11790,7 +11868,7 @@ yydefault: case 532: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2893 +//line sql.y:2894 { yyLOCAL = &DropKey{Type: CheckKeyType, Name: yyDollar[3].colIdent} } @@ -11798,7 +11876,7 @@ yydefault: case 533: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2897 +//line sql.y:2898 { yyLOCAL = &DropKey{Type: CheckKeyType, Name: yyDollar[3].colIdent} } @@ -11806,7 +11884,7 @@ yydefault: case 534: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2901 +//line sql.y:2902 { yyLOCAL = &Force{} } @@ -11814,7 +11892,7 @@ yydefault: case 535: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2905 +//line sql.y:2906 { yyLOCAL = &RenameTableName{Table: yyDollar[3].tableName} } @@ -11822,7 +11900,7 @@ yydefault: case 536: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2909 +//line sql.y:2910 { yyLOCAL = &RenameIndex{OldName: yyDollar[3].colIdent, NewName: yyDollar[5].colIdent} } @@ -11830,14 +11908,14 @@ yydefault: case 537: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2915 +//line sql.y:2916 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} } yyVAL.union = yyLOCAL case 538: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2919 +//line sql.y:2920 { yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion()) @@ -11845,7 +11923,7 @@ yydefault: case 539: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2925 +//line sql.y:2926 { yyLOCAL = AlgorithmValue(string(yyDollar[3].str)) } @@ -11853,7 +11931,7 @@ yydefault: case 540: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2929 +//line sql.y:2930 { yyLOCAL = AlgorithmValue(string(yyDollar[3].str)) } @@ -11861,7 +11939,7 @@ yydefault: case 541: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2933 +//line sql.y:2934 { yyLOCAL = AlgorithmValue(string(yyDollar[3].str)) } @@ -11869,7 +11947,7 @@ yydefault: case 542: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2937 +//line sql.y:2938 { yyLOCAL = AlgorithmValue(string(yyDollar[3].str)) } @@ -11877,7 +11955,7 @@ yydefault: case 543: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2941 +//line sql.y:2942 { yyLOCAL = &LockOption{Type: DefaultType} } @@ -11885,7 +11963,7 @@ yydefault: case 544: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2945 +//line sql.y:2946 { yyLOCAL = &LockOption{Type: NoneType} } @@ -11893,7 +11971,7 @@ yydefault: case 545: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2949 +//line sql.y:2950 { yyLOCAL = &LockOption{Type: SharedType} } @@ -11901,7 +11979,7 @@ yydefault: case 546: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2953 +//line sql.y:2954 { yyLOCAL = &LockOption{Type: ExclusiveType} } @@ -11909,7 +11987,7 @@ yydefault: case 547: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2957 +//line sql.y:2958 { yyLOCAL = &Validation{With: true} } @@ -11917,7 +11995,7 @@ yydefault: case 548: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2961 +//line sql.y:2962 { yyLOCAL = &Validation{With: false} } @@ -11925,7 +12003,7 @@ yydefault: case 549: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:2967 +//line sql.y:2968 { yyDollar[1].alterTableUnion().FullyParsed = true yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion() @@ -11936,7 +12014,7 @@ yydefault: case 550: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:2974 +//line sql.y:2975 { yyDollar[1].alterTableUnion().FullyParsed = true yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion() @@ -11947,7 +12025,7 @@ yydefault: case 551: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:2981 +//line sql.y:2982 { yyDollar[1].alterTableUnion().FullyParsed = true yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion() @@ -11958,7 +12036,7 @@ yydefault: case 552: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:2988 +//line sql.y:2989 { yyDollar[1].alterTableUnion().FullyParsed = true yyDollar[1].alterTableUnion().PartitionSpec = yyDollar[2].partSpecUnion() @@ -11968,7 +12046,7 @@ yydefault: case 553: yyDollar = yyS[yypt-11 : yypt+1] var yyLOCAL Statement -//line sql.y:2994 +//line sql.y:2995 { yyLOCAL = &AlterView{ViewName: yyDollar[7].tableName.ToViewName(), Comments: Comments(yyDollar[2].strs).Parsed(), Algorithm: yyDollar[3].str, Definer: yyDollar[4].definerUnion(), Security: yyDollar[5].str, Columns: yyDollar[8].columnsUnion(), Select: yyDollar[10].selStmtUnion(), CheckOption: yyDollar[11].str} } @@ -11976,7 +12054,7 @@ yydefault: case 554: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3004 +//line sql.y:3005 { yyDollar[1].alterDatabaseUnion().FullyParsed = true yyDollar[1].alterDatabaseUnion().DBName = yyDollar[2].tableIdent @@ -11987,7 +12065,7 @@ yydefault: case 555: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3011 +//line sql.y:3012 { yyDollar[1].alterDatabaseUnion().FullyParsed = true yyDollar[1].alterDatabaseUnion().DBName = yyDollar[2].tableIdent @@ -11998,7 +12076,7 @@ yydefault: case 556: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Statement -//line sql.y:3018 +//line sql.y:3019 { yyLOCAL = &AlterVschema{ Action: CreateVindexDDLAction, @@ -12014,7 +12092,7 @@ yydefault: case 557: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3030 +//line sql.y:3031 { yyLOCAL = &AlterVschema{ Action: DropVindexDDLAction, @@ -12028,7 +12106,7 @@ yydefault: case 558: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3040 +//line sql.y:3041 { yyLOCAL = &AlterVschema{Action: AddVschemaTableDDLAction, Table: yyDollar[6].tableName} } @@ -12036,7 +12114,7 @@ yydefault: case 559: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3044 +//line sql.y:3045 { yyLOCAL = &AlterVschema{Action: DropVschemaTableDDLAction, Table: yyDollar[6].tableName} } @@ -12044,7 +12122,7 @@ yydefault: case 560: yyDollar = yyS[yypt-13 : yypt+1] var yyLOCAL Statement -//line sql.y:3048 +//line sql.y:3049 { yyLOCAL = &AlterVschema{ Action: AddColVindexDDLAction, @@ -12061,7 +12139,7 @@ yydefault: case 561: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Statement -//line sql.y:3061 +//line sql.y:3062 { yyLOCAL = &AlterVschema{ Action: DropColVindexDDLAction, @@ -12075,7 +12153,7 @@ yydefault: case 562: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3071 +//line sql.y:3072 { yyLOCAL = &AlterVschema{Action: AddSequenceDDLAction, Table: yyDollar[6].tableName} } @@ -12083,7 +12161,7 @@ yydefault: case 563: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL Statement -//line sql.y:3075 +//line sql.y:3076 { yyLOCAL = &AlterVschema{ Action: AddAutoIncDDLAction, @@ -12098,7 +12176,7 @@ yydefault: case 564: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3086 +//line sql.y:3087 { yyLOCAL = &AlterMigration{ Type: RetryMigrationType, @@ -12109,7 +12187,7 @@ yydefault: case 565: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3093 +//line sql.y:3094 { yyLOCAL = &AlterMigration{ Type: CleanupMigrationType, @@ -12120,7 +12198,7 @@ yydefault: case 566: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3100 +//line sql.y:3101 { yyLOCAL = &AlterMigration{ Type: CompleteMigrationType, @@ -12131,7 +12209,7 @@ yydefault: case 567: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3107 +//line sql.y:3108 { yyLOCAL = &AlterMigration{ Type: CancelMigrationType, @@ -12142,7 +12220,7 @@ yydefault: case 568: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3114 +//line sql.y:3115 { yyLOCAL = &AlterMigration{ Type: CancelAllMigrationType, @@ -12152,7 +12230,7 @@ yydefault: case 569: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3120 +//line sql.y:3121 { yyLOCAL = &AlterMigration{ Type: ThrottleMigrationType, @@ -12165,7 +12243,7 @@ yydefault: case 570: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3129 +//line sql.y:3130 { yyLOCAL = &AlterMigration{ Type: ThrottleAllMigrationType, @@ -12177,7 +12255,7 @@ yydefault: case 571: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3137 +//line sql.y:3138 { yyLOCAL = &AlterMigration{ Type: UnthrottleMigrationType, @@ -12188,7 +12266,7 @@ yydefault: case 572: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3144 +//line sql.y:3145 { yyLOCAL = &AlterMigration{ Type: UnthrottleAllMigrationType, @@ -12198,7 +12276,7 @@ yydefault: case 573: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3151 +//line sql.y:3152 { yyLOCAL = nil } @@ -12206,7 +12284,7 @@ yydefault: case 574: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3155 +//line sql.y:3156 { yyDollar[3].partitionOptionUnion().Partitions = yyDollar[4].integerUnion() yyDollar[3].partitionOptionUnion().SubPartition = yyDollar[5].subPartitionUnion() @@ -12217,7 +12295,7 @@ yydefault: case 575: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3164 +//line sql.y:3165 { yyLOCAL = &PartitionOption{ IsLinear: yyDollar[1].booleanUnion(), @@ -12229,7 +12307,7 @@ yydefault: case 576: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3172 +//line sql.y:3173 { yyLOCAL = &PartitionOption{ IsLinear: yyDollar[1].booleanUnion(), @@ -12242,7 +12320,7 @@ yydefault: case 577: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3181 +//line sql.y:3182 { yyLOCAL = &PartitionOption{ Type: yyDollar[1].partitionByTypeUnion(), @@ -12253,7 +12331,7 @@ yydefault: case 578: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3188 +//line sql.y:3189 { yyLOCAL = &PartitionOption{ Type: yyDollar[1].partitionByTypeUnion(), @@ -12264,7 +12342,7 @@ yydefault: case 579: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *SubPartition -//line sql.y:3196 +//line sql.y:3197 { yyLOCAL = nil } @@ -12272,7 +12350,7 @@ yydefault: case 580: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *SubPartition -//line sql.y:3200 +//line sql.y:3201 { yyLOCAL = &SubPartition{ IsLinear: yyDollar[3].booleanUnion(), @@ -12285,7 +12363,7 @@ yydefault: case 581: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL *SubPartition -//line sql.y:3209 +//line sql.y:3210 { yyLOCAL = &SubPartition{ IsLinear: yyDollar[3].booleanUnion(), @@ -12299,7 +12377,7 @@ yydefault: case 582: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*PartitionDefinition -//line sql.y:3220 +//line sql.y:3221 { yyLOCAL = nil } @@ -12307,7 +12385,7 @@ yydefault: case 583: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*PartitionDefinition -//line sql.y:3224 +//line sql.y:3225 { yyLOCAL = yyDollar[2].partDefsUnion() } @@ -12315,7 +12393,7 @@ yydefault: case 584: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3229 +//line sql.y:3230 { yyLOCAL = false } @@ -12323,7 +12401,7 @@ yydefault: case 585: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3233 +//line sql.y:3234 { yyLOCAL = true } @@ -12331,7 +12409,7 @@ yydefault: case 586: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int -//line sql.y:3238 +//line sql.y:3239 { yyLOCAL = 0 } @@ -12339,7 +12417,7 @@ yydefault: case 587: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int -//line sql.y:3242 +//line sql.y:3243 { yyLOCAL = convertStringToInt(yyDollar[3].str) } @@ -12347,7 +12425,7 @@ yydefault: case 588: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL TableExpr -//line sql.y:3248 +//line sql.y:3249 { yyLOCAL = &JSONTableExpr{Expr: yyDollar[3].exprUnion(), Filter: yyDollar[5].exprUnion(), Columns: yyDollar[6].jtColumnListUnion(), Alias: yyDollar[8].tableIdent} } @@ -12355,7 +12433,7 @@ yydefault: case 589: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL []*JtColumnDefinition -//line sql.y:3254 +//line sql.y:3255 { yyLOCAL = yyDollar[3].jtColumnListUnion() } @@ -12363,14 +12441,14 @@ yydefault: case 590: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*JtColumnDefinition -//line sql.y:3260 +//line sql.y:3261 { yyLOCAL = []*JtColumnDefinition{yyDollar[1].jtColumnDefinitionUnion()} } yyVAL.union = yyLOCAL case 591: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3264 +//line sql.y:3265 { yySLICE := (*[]*JtColumnDefinition)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].jtColumnDefinitionUnion()) @@ -12378,7 +12456,7 @@ yydefault: case 592: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3270 +//line sql.y:3271 { yyLOCAL = &JtColumnDefinition{JtOrdinal: &JtOrdinalColDef{Name: yyDollar[1].colIdent}} } @@ -12386,7 +12464,7 @@ yydefault: case 593: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3274 +//line sql.y:3275 { yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str} jtPath := &JtPathColDef{Name: yyDollar[1].colIdent, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion()} @@ -12396,7 +12474,7 @@ yydefault: case 594: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3280 +//line sql.y:3281 { yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str} jtPath := &JtPathColDef{Name: yyDollar[1].colIdent, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion()} @@ -12406,7 +12484,7 @@ yydefault: case 595: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3286 +//line sql.y:3287 { yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str} jtPath := &JtPathColDef{Name: yyDollar[1].colIdent, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion(), ErrorOnResponse: yyDollar[7].jtOnResponseUnion()} @@ -12416,7 +12494,7 @@ yydefault: case 596: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3292 +//line sql.y:3293 { yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str} jtPath := &JtPathColDef{Name: yyDollar[1].colIdent, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion(), ErrorOnResponse: yyDollar[8].jtOnResponseUnion()} @@ -12426,7 +12504,7 @@ yydefault: case 597: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3298 +//line sql.y:3299 { jtNestedPath := &JtNestedPathColDef{Path: yyDollar[3].exprUnion(), Columns: yyDollar[4].jtColumnListUnion()} yyLOCAL = &JtColumnDefinition{JtNestedPath: jtNestedPath} @@ -12435,7 +12513,7 @@ yydefault: case 598: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3304 +//line sql.y:3305 { yyLOCAL = false } @@ -12443,7 +12521,7 @@ yydefault: case 599: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3308 +//line sql.y:3309 { yyLOCAL = true } @@ -12451,7 +12529,7 @@ yydefault: case 600: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3312 +//line sql.y:3313 { yyLOCAL = false } @@ -12459,7 +12537,7 @@ yydefault: case 601: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3316 +//line sql.y:3317 { yyLOCAL = true } @@ -12467,7 +12545,7 @@ yydefault: case 602: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3322 +//line sql.y:3323 { yyLOCAL = yyDollar[1].jtOnResponseUnion() } @@ -12475,7 +12553,7 @@ yydefault: case 603: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3328 +//line sql.y:3329 { yyLOCAL = yyDollar[1].jtOnResponseUnion() } @@ -12483,7 +12561,7 @@ yydefault: case 604: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3334 +//line sql.y:3335 { yyLOCAL = &JtOnResponse{ResponseType: ErrorJSONType} } @@ -12491,7 +12569,7 @@ yydefault: case 605: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3338 +//line sql.y:3339 { yyLOCAL = &JtOnResponse{ResponseType: NullJSONType} } @@ -12499,7 +12577,7 @@ yydefault: case 606: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3342 +//line sql.y:3343 { yyLOCAL = &JtOnResponse{ResponseType: DefaultJSONType, Expr: yyDollar[2].exprUnion()} } @@ -12507,7 +12585,7 @@ yydefault: case 607: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL PartitionByType -//line sql.y:3348 +//line sql.y:3349 { yyLOCAL = RangeType } @@ -12515,7 +12593,7 @@ yydefault: case 608: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL PartitionByType -//line sql.y:3352 +//line sql.y:3353 { yyLOCAL = ListType } @@ -12523,7 +12601,7 @@ yydefault: case 609: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int -//line sql.y:3357 +//line sql.y:3358 { yyLOCAL = -1 } @@ -12531,7 +12609,7 @@ yydefault: case 610: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL int -//line sql.y:3361 +//line sql.y:3362 { yyLOCAL = convertStringToInt(yyDollar[2].str) } @@ -12539,7 +12617,7 @@ yydefault: case 611: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int -//line sql.y:3366 +//line sql.y:3367 { yyLOCAL = -1 } @@ -12547,7 +12625,7 @@ yydefault: case 612: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL int -//line sql.y:3370 +//line sql.y:3371 { yyLOCAL = convertStringToInt(yyDollar[2].str) } @@ -12555,7 +12633,7 @@ yydefault: case 613: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3376 +//line sql.y:3377 { yyLOCAL = &PartitionSpec{Action: AddAction, Definitions: []*PartitionDefinition{yyDollar[4].partDefUnion()}} } @@ -12563,7 +12641,7 @@ yydefault: case 614: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3380 +//line sql.y:3381 { yyLOCAL = &PartitionSpec{Action: DropAction, Names: yyDollar[3].partitionsUnion()} } @@ -12571,7 +12649,7 @@ yydefault: case 615: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3384 +//line sql.y:3385 { yyLOCAL = &PartitionSpec{Action: ReorganizeAction, Names: yyDollar[3].partitionsUnion(), Definitions: yyDollar[6].partDefsUnion()} } @@ -12579,7 +12657,7 @@ yydefault: case 616: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3388 +//line sql.y:3389 { yyLOCAL = &PartitionSpec{Action: DiscardAction, Names: yyDollar[3].partitionsUnion()} } @@ -12587,7 +12665,7 @@ yydefault: case 617: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3392 +//line sql.y:3393 { yyLOCAL = &PartitionSpec{Action: DiscardAction, IsAll: true} } @@ -12595,7 +12673,7 @@ yydefault: case 618: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3396 +//line sql.y:3397 { yyLOCAL = &PartitionSpec{Action: ImportAction, Names: yyDollar[3].partitionsUnion()} } @@ -12603,7 +12681,7 @@ yydefault: case 619: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3400 +//line sql.y:3401 { yyLOCAL = &PartitionSpec{Action: ImportAction, IsAll: true} } @@ -12611,7 +12689,7 @@ yydefault: case 620: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3404 +//line sql.y:3405 { yyLOCAL = &PartitionSpec{Action: TruncateAction, Names: yyDollar[3].partitionsUnion()} } @@ -12619,7 +12697,7 @@ yydefault: case 621: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3408 +//line sql.y:3409 { yyLOCAL = &PartitionSpec{Action: TruncateAction, IsAll: true} } @@ -12627,7 +12705,7 @@ yydefault: case 622: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3412 +//line sql.y:3413 { yyLOCAL = &PartitionSpec{Action: CoalesceAction, Number: NewIntLiteral(yyDollar[3].str)} } @@ -12635,7 +12713,7 @@ yydefault: case 623: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3416 +//line sql.y:3417 { yyLOCAL = &PartitionSpec{Action: ExchangeAction, Names: Partitions{yyDollar[3].colIdent}, TableName: yyDollar[6].tableName, WithoutValidation: yyDollar[7].booleanUnion()} } @@ -12643,7 +12721,7 @@ yydefault: case 624: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3420 +//line sql.y:3421 { yyLOCAL = &PartitionSpec{Action: AnalyzeAction, Names: yyDollar[3].partitionsUnion()} } @@ -12651,7 +12729,7 @@ yydefault: case 625: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3424 +//line sql.y:3425 { yyLOCAL = &PartitionSpec{Action: AnalyzeAction, IsAll: true} } @@ -12659,7 +12737,7 @@ yydefault: case 626: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3428 +//line sql.y:3429 { yyLOCAL = &PartitionSpec{Action: CheckAction, Names: yyDollar[3].partitionsUnion()} } @@ -12667,7 +12745,7 @@ yydefault: case 627: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3432 +//line sql.y:3433 { yyLOCAL = &PartitionSpec{Action: CheckAction, IsAll: true} } @@ -12675,7 +12753,7 @@ yydefault: case 628: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3436 +//line sql.y:3437 { yyLOCAL = &PartitionSpec{Action: OptimizeAction, Names: yyDollar[3].partitionsUnion()} } @@ -12683,7 +12761,7 @@ yydefault: case 629: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3440 +//line sql.y:3441 { yyLOCAL = &PartitionSpec{Action: OptimizeAction, IsAll: true} } @@ -12691,7 +12769,7 @@ yydefault: case 630: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3444 +//line sql.y:3445 { yyLOCAL = &PartitionSpec{Action: RebuildAction, Names: yyDollar[3].partitionsUnion()} } @@ -12699,7 +12777,7 @@ yydefault: case 631: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3448 +//line sql.y:3449 { yyLOCAL = &PartitionSpec{Action: RebuildAction, IsAll: true} } @@ -12707,7 +12785,7 @@ yydefault: case 632: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3452 +//line sql.y:3453 { yyLOCAL = &PartitionSpec{Action: RepairAction, Names: yyDollar[3].partitionsUnion()} } @@ -12715,7 +12793,7 @@ yydefault: case 633: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3456 +//line sql.y:3457 { yyLOCAL = &PartitionSpec{Action: RepairAction, IsAll: true} } @@ -12723,7 +12801,7 @@ yydefault: case 634: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3460 +//line sql.y:3461 { yyLOCAL = &PartitionSpec{Action: UpgradeAction} } @@ -12731,7 +12809,7 @@ yydefault: case 635: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3465 +//line sql.y:3466 { yyLOCAL = false } @@ -12739,7 +12817,7 @@ yydefault: case 636: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:3469 +//line sql.y:3470 { yyLOCAL = false } @@ -12747,7 +12825,7 @@ yydefault: case 637: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:3473 +//line sql.y:3474 { yyLOCAL = true } @@ -12755,28 +12833,28 @@ yydefault: case 638: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*PartitionDefinition -//line sql.y:3479 +//line sql.y:3480 { yyLOCAL = []*PartitionDefinition{yyDollar[1].partDefUnion()} } yyVAL.union = yyLOCAL case 639: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3483 +//line sql.y:3484 { yySLICE := (*[]*PartitionDefinition)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].partDefUnion()) } case 640: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3489 +//line sql.y:3490 { yyVAL.partDefUnion().Options = yyDollar[2].partitionDefinitionOptionsUnion() } case 641: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3494 +//line sql.y:3495 { yyLOCAL = &PartitionDefinitionOptions{} } @@ -12784,7 +12862,7 @@ yydefault: case 642: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3498 +//line sql.y:3499 { yyDollar[1].partitionDefinitionOptionsUnion().ValueRange = yyDollar[2].partitionValueRangeUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -12793,7 +12871,7 @@ yydefault: case 643: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3503 +//line sql.y:3504 { yyDollar[1].partitionDefinitionOptionsUnion().Comment = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -12802,7 +12880,7 @@ yydefault: case 644: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3508 +//line sql.y:3509 { yyDollar[1].partitionDefinitionOptionsUnion().Engine = yyDollar[2].partitionEngineUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -12811,7 +12889,7 @@ yydefault: case 645: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3513 +//line sql.y:3514 { yyDollar[1].partitionDefinitionOptionsUnion().DataDirectory = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -12820,7 +12898,7 @@ yydefault: case 646: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3518 +//line sql.y:3519 { yyDollar[1].partitionDefinitionOptionsUnion().IndexDirectory = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -12829,7 +12907,7 @@ yydefault: case 647: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3523 +//line sql.y:3524 { val := yyDollar[2].integerUnion() yyDollar[1].partitionDefinitionOptionsUnion().MaxRows = &val @@ -12839,7 +12917,7 @@ yydefault: case 648: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3529 +//line sql.y:3530 { val := yyDollar[2].integerUnion() yyDollar[1].partitionDefinitionOptionsUnion().MinRows = &val @@ -12849,7 +12927,7 @@ yydefault: case 649: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3535 +//line sql.y:3536 { yyDollar[1].partitionDefinitionOptionsUnion().TableSpace = yyDollar[2].str yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -12858,7 +12936,7 @@ yydefault: case 650: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3540 +//line sql.y:3541 { yyDollar[1].partitionDefinitionOptionsUnion().SubPartitionDefinitions = yyDollar[2].subPartitionDefinitionsUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -12867,7 +12945,7 @@ yydefault: case 651: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SubPartitionDefinitions -//line sql.y:3546 +//line sql.y:3547 { yyLOCAL = yyDollar[2].subPartitionDefinitionsUnion() } @@ -12875,14 +12953,14 @@ yydefault: case 652: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SubPartitionDefinitions -//line sql.y:3552 +//line sql.y:3553 { yyLOCAL = SubPartitionDefinitions{yyDollar[1].subPartitionDefinitionUnion()} } yyVAL.union = yyLOCAL case 653: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3556 +//line sql.y:3557 { yySLICE := (*SubPartitionDefinitions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].subPartitionDefinitionUnion()) @@ -12890,7 +12968,7 @@ yydefault: case 654: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SubPartitionDefinition -//line sql.y:3562 +//line sql.y:3563 { yyLOCAL = &SubPartitionDefinition{Name: yyDollar[2].colIdent, Options: yyDollar[3].subPartitionDefinitionOptionsUnion()} } @@ -12898,7 +12976,7 @@ yydefault: case 655: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3567 +//line sql.y:3568 { yyLOCAL = &SubPartitionDefinitionOptions{} } @@ -12906,7 +12984,7 @@ yydefault: case 656: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3571 +//line sql.y:3572 { yyDollar[1].subPartitionDefinitionOptionsUnion().Comment = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() @@ -12915,7 +12993,7 @@ yydefault: case 657: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3576 +//line sql.y:3577 { yyDollar[1].subPartitionDefinitionOptionsUnion().Engine = yyDollar[2].partitionEngineUnion() yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() @@ -12924,7 +13002,7 @@ yydefault: case 658: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3581 +//line sql.y:3582 { yyDollar[1].subPartitionDefinitionOptionsUnion().DataDirectory = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() @@ -12933,7 +13011,7 @@ yydefault: case 659: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3586 +//line sql.y:3587 { yyDollar[1].subPartitionDefinitionOptionsUnion().IndexDirectory = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() @@ -12942,7 +13020,7 @@ yydefault: case 660: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3591 +//line sql.y:3592 { val := yyDollar[2].integerUnion() yyDollar[1].subPartitionDefinitionOptionsUnion().MaxRows = &val @@ -12952,7 +13030,7 @@ yydefault: case 661: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3597 +//line sql.y:3598 { val := yyDollar[2].integerUnion() yyDollar[1].subPartitionDefinitionOptionsUnion().MinRows = &val @@ -12962,7 +13040,7 @@ yydefault: case 662: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3603 +//line sql.y:3604 { yyDollar[1].subPartitionDefinitionOptionsUnion().TableSpace = yyDollar[2].str yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() @@ -12971,7 +13049,7 @@ yydefault: case 663: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionValueRange -//line sql.y:3610 +//line sql.y:3611 { yyLOCAL = &PartitionValueRange{ Type: LessThanType, @@ -12982,7 +13060,7 @@ yydefault: case 664: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionValueRange -//line sql.y:3617 +//line sql.y:3618 { yyLOCAL = &PartitionValueRange{ Type: LessThanType, @@ -12993,7 +13071,7 @@ yydefault: case 665: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionValueRange -//line sql.y:3624 +//line sql.y:3625 { yyLOCAL = &PartitionValueRange{ Type: InType, @@ -13004,7 +13082,7 @@ yydefault: case 666: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3632 +//line sql.y:3633 { yyLOCAL = false } @@ -13012,7 +13090,7 @@ yydefault: case 667: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3636 +//line sql.y:3637 { yyLOCAL = true } @@ -13020,7 +13098,7 @@ yydefault: case 668: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionEngine -//line sql.y:3642 +//line sql.y:3643 { yyLOCAL = &PartitionEngine{Storage: yyDollar[1].booleanUnion(), Name: yyDollar[4].tableIdent.String()} } @@ -13028,7 +13106,7 @@ yydefault: case 669: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *Literal -//line sql.y:3648 +//line sql.y:3649 { yyLOCAL = NewStrLiteral(yyDollar[3].str) } @@ -13036,7 +13114,7 @@ yydefault: case 670: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Literal -//line sql.y:3654 +//line sql.y:3655 { yyLOCAL = NewStrLiteral(yyDollar[4].str) } @@ -13044,7 +13122,7 @@ yydefault: case 671: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Literal -//line sql.y:3660 +//line sql.y:3661 { yyLOCAL = NewStrLiteral(yyDollar[4].str) } @@ -13052,7 +13130,7 @@ yydefault: case 672: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int -//line sql.y:3666 +//line sql.y:3667 { yyLOCAL = convertStringToInt(yyDollar[3].str) } @@ -13060,41 +13138,41 @@ yydefault: case 673: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int -//line sql.y:3672 +//line sql.y:3673 { yyLOCAL = convertStringToInt(yyDollar[3].str) } yyVAL.union = yyLOCAL case 674: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3678 +//line sql.y:3679 { yyVAL.str = yyDollar[3].tableIdent.String() } case 675: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinition -//line sql.y:3684 +//line sql.y:3685 { yyLOCAL = &PartitionDefinition{Name: yyDollar[2].colIdent} } yyVAL.union = yyLOCAL case 676: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3690 +//line sql.y:3691 { yyVAL.str = "" } case 677: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3694 +//line sql.y:3695 { yyVAL.str = "" } case 678: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3700 +//line sql.y:3701 { yyLOCAL = &RenameTable{TablePairs: yyDollar[3].renameTablePairsUnion()} } @@ -13102,14 +13180,14 @@ yydefault: case 679: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*RenameTablePair -//line sql.y:3706 +//line sql.y:3707 { yyLOCAL = []*RenameTablePair{{FromTable: yyDollar[1].tableName, ToTable: yyDollar[3].tableName}} } yyVAL.union = yyLOCAL case 680: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3710 +//line sql.y:3711 { yySLICE := (*[]*RenameTablePair)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, &RenameTablePair{FromTable: yyDollar[3].tableName, ToTable: yyDollar[5].tableName}) @@ -13117,7 +13195,7 @@ yydefault: case 681: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3716 +//line sql.y:3717 { yyLOCAL = &DropTable{FromTables: yyDollar[6].tableNamesUnion(), IfExists: yyDollar[5].booleanUnion(), Comments: Comments(yyDollar[2].strs).Parsed(), Temp: yyDollar[3].booleanUnion()} } @@ -13125,7 +13203,7 @@ yydefault: case 682: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3720 +//line sql.y:3721 { // Change this to an alter statement if yyDollar[4].colIdent.Lowered() == "primary" { @@ -13138,7 +13216,7 @@ yydefault: case 683: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3729 +//line sql.y:3730 { yyLOCAL = &DropView{FromTables: yyDollar[5].tableNamesUnion(), Comments: Comments(yyDollar[2].strs).Parsed(), IfExists: yyDollar[4].booleanUnion()} } @@ -13146,7 +13224,7 @@ yydefault: case 684: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3733 +//line sql.y:3734 { yyLOCAL = &DropDatabase{Comments: Comments(yyDollar[2].strs).Parsed(), DBName: yyDollar[5].tableIdent, IfExists: yyDollar[4].booleanUnion()} } @@ -13154,7 +13232,7 @@ yydefault: case 685: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3739 +//line sql.y:3740 { yyLOCAL = &TruncateTable{Table: yyDollar[3].tableName} } @@ -13162,7 +13240,7 @@ yydefault: case 686: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3743 +//line sql.y:3744 { yyLOCAL = &TruncateTable{Table: yyDollar[2].tableName} } @@ -13170,7 +13248,7 @@ yydefault: case 687: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3749 +//line sql.y:3750 { yyLOCAL = &OtherRead{} } @@ -13178,7 +13256,7 @@ yydefault: case 688: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3755 +//line sql.y:3756 { yyLOCAL = &Show{&ShowBasic{Command: Charset, Filter: yyDollar[3].showFilterUnion()}} } @@ -13186,7 +13264,7 @@ yydefault: case 689: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3759 +//line sql.y:3760 { yyLOCAL = &Show{&ShowBasic{Command: Collation, Filter: yyDollar[3].showFilterUnion()}} } @@ -13194,7 +13272,7 @@ yydefault: case 690: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3763 +//line sql.y:3764 { yyLOCAL = &Show{&ShowBasic{Full: yyDollar[2].booleanUnion(), Command: Column, Tbl: yyDollar[5].tableName, DbName: yyDollar[6].tableIdent, Filter: yyDollar[7].showFilterUnion()}} } @@ -13202,7 +13280,7 @@ yydefault: case 691: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3767 +//line sql.y:3768 { yyLOCAL = &Show{&ShowBasic{Command: Database, Filter: yyDollar[3].showFilterUnion()}} } @@ -13210,7 +13288,7 @@ yydefault: case 692: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3771 +//line sql.y:3772 { yyLOCAL = &Show{&ShowBasic{Command: Database, Filter: yyDollar[3].showFilterUnion()}} } @@ -13218,7 +13296,7 @@ yydefault: case 693: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3775 +//line sql.y:3776 { yyLOCAL = &Show{&ShowBasic{Command: Keyspace, Filter: yyDollar[3].showFilterUnion()}} } @@ -13226,7 +13304,7 @@ yydefault: case 694: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3779 +//line sql.y:3780 { yyLOCAL = &Show{&ShowBasic{Command: Keyspace, Filter: yyDollar[3].showFilterUnion()}} } @@ -13234,7 +13312,7 @@ yydefault: case 695: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3783 +//line sql.y:3784 { yyLOCAL = &Show{&ShowBasic{Command: Function, Filter: yyDollar[4].showFilterUnion()}} } @@ -13242,7 +13320,7 @@ yydefault: case 696: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3787 +//line sql.y:3788 { yyLOCAL = &Show{&ShowBasic{Command: Index, Tbl: yyDollar[5].tableName, DbName: yyDollar[6].tableIdent, Filter: yyDollar[7].showFilterUnion()}} } @@ -13250,7 +13328,7 @@ yydefault: case 697: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3791 +//line sql.y:3792 { yyLOCAL = &Show{&ShowBasic{Command: OpenTable, DbName: yyDollar[4].tableIdent, Filter: yyDollar[5].showFilterUnion()}} } @@ -13258,7 +13336,7 @@ yydefault: case 698: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3795 +//line sql.y:3796 { yyLOCAL = &Show{&ShowBasic{Command: Privilege}} } @@ -13266,7 +13344,7 @@ yydefault: case 699: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3799 +//line sql.y:3800 { yyLOCAL = &Show{&ShowBasic{Command: Procedure, Filter: yyDollar[4].showFilterUnion()}} } @@ -13274,7 +13352,7 @@ yydefault: case 700: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3803 +//line sql.y:3804 { yyLOCAL = &Show{&ShowBasic{Command: StatusSession, Filter: yyDollar[4].showFilterUnion()}} } @@ -13282,7 +13360,7 @@ yydefault: case 701: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3807 +//line sql.y:3808 { yyLOCAL = &Show{&ShowBasic{Command: StatusGlobal, Filter: yyDollar[4].showFilterUnion()}} } @@ -13290,7 +13368,7 @@ yydefault: case 702: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3811 +//line sql.y:3812 { yyLOCAL = &Show{&ShowBasic{Command: VariableSession, Filter: yyDollar[4].showFilterUnion()}} } @@ -13298,7 +13376,7 @@ yydefault: case 703: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3815 +//line sql.y:3816 { yyLOCAL = &Show{&ShowBasic{Command: VariableGlobal, Filter: yyDollar[4].showFilterUnion()}} } @@ -13306,7 +13384,7 @@ yydefault: case 704: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3819 +//line sql.y:3820 { yyLOCAL = &Show{&ShowBasic{Command: TableStatus, DbName: yyDollar[4].tableIdent, Filter: yyDollar[5].showFilterUnion()}} } @@ -13314,7 +13392,7 @@ yydefault: case 705: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3823 +//line sql.y:3824 { yyLOCAL = &Show{&ShowBasic{Command: Table, Full: yyDollar[2].booleanUnion(), DbName: yyDollar[4].tableIdent, Filter: yyDollar[5].showFilterUnion()}} } @@ -13322,7 +13400,7 @@ yydefault: case 706: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3827 +//line sql.y:3828 { yyLOCAL = &Show{&ShowBasic{Command: Trigger, DbName: yyDollar[3].tableIdent, Filter: yyDollar[4].showFilterUnion()}} } @@ -13330,7 +13408,7 @@ yydefault: case 707: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3831 +//line sql.y:3832 { yyLOCAL = &Show{&ShowCreate{Command: CreateDb, Op: yyDollar[4].tableName}} } @@ -13338,7 +13416,7 @@ yydefault: case 708: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3835 +//line sql.y:3836 { yyLOCAL = &Show{&ShowCreate{Command: CreateE, Op: yyDollar[4].tableName}} } @@ -13346,7 +13424,7 @@ yydefault: case 709: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3839 +//line sql.y:3840 { yyLOCAL = &Show{&ShowCreate{Command: CreateF, Op: yyDollar[4].tableName}} } @@ -13354,7 +13432,7 @@ yydefault: case 710: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3843 +//line sql.y:3844 { yyLOCAL = &Show{&ShowCreate{Command: CreateProc, Op: yyDollar[4].tableName}} } @@ -13362,7 +13440,7 @@ yydefault: case 711: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3847 +//line sql.y:3848 { yyLOCAL = &Show{&ShowCreate{Command: CreateTbl, Op: yyDollar[4].tableName}} } @@ -13370,7 +13448,7 @@ yydefault: case 712: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3851 +//line sql.y:3852 { yyLOCAL = &Show{&ShowCreate{Command: CreateTr, Op: yyDollar[4].tableName}} } @@ -13378,7 +13456,7 @@ yydefault: case 713: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3855 +//line sql.y:3856 { yyLOCAL = &Show{&ShowCreate{Command: CreateV, Op: yyDollar[4].tableName}} } @@ -13386,7 +13464,7 @@ yydefault: case 714: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3859 +//line sql.y:3860 { yyLOCAL = &Show{&ShowBasic{Command: Engines}} } @@ -13394,7 +13472,7 @@ yydefault: case 715: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3863 +//line sql.y:3864 { yyLOCAL = &Show{&ShowBasic{Command: Plugins}} } @@ -13402,7 +13480,7 @@ yydefault: case 716: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3867 +//line sql.y:3868 { yyLOCAL = &Show{&ShowBasic{Command: GtidExecGlobal, DbName: yyDollar[4].tableIdent}} } @@ -13410,7 +13488,7 @@ yydefault: case 717: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3871 +//line sql.y:3872 { yyLOCAL = &Show{&ShowBasic{Command: VGtidExecGlobal, DbName: yyDollar[4].tableIdent}} } @@ -13418,7 +13496,7 @@ yydefault: case 718: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3875 +//line sql.y:3876 { yyLOCAL = &Show{&ShowBasic{Command: VitessVariables, Filter: yyDollar[4].showFilterUnion()}} } @@ -13426,7 +13504,7 @@ yydefault: case 719: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3879 +//line sql.y:3880 { yyLOCAL = &Show{&ShowBasic{Command: VitessMigrations, Filter: yyDollar[4].showFilterUnion(), DbName: yyDollar[3].tableIdent}} } @@ -13434,7 +13512,7 @@ yydefault: case 720: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3883 +//line sql.y:3884 { yyLOCAL = &ShowMigrationLogs{UUID: string(yyDollar[3].str)} } @@ -13442,7 +13520,7 @@ yydefault: case 721: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3887 +//line sql.y:3888 { yyLOCAL = &ShowThrottledApps{} } @@ -13450,7 +13528,7 @@ yydefault: case 722: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3891 +//line sql.y:3892 { yyLOCAL = &Show{&ShowBasic{Command: VitessReplicationStatus, Filter: yyDollar[3].showFilterUnion()}} } @@ -13458,7 +13536,7 @@ yydefault: case 723: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3895 +//line sql.y:3896 { yyLOCAL = &Show{&ShowBasic{Command: VschemaTables}} } @@ -13466,7 +13544,7 @@ yydefault: case 724: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3899 +//line sql.y:3900 { yyLOCAL = &Show{&ShowBasic{Command: VschemaVindexes}} } @@ -13474,7 +13552,7 @@ yydefault: case 725: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3903 +//line sql.y:3904 { yyLOCAL = &Show{&ShowBasic{Command: VschemaVindexes, Tbl: yyDollar[5].tableName}} } @@ -13482,7 +13560,7 @@ yydefault: case 726: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3907 +//line sql.y:3908 { yyLOCAL = &Show{&ShowBasic{Command: Warnings}} } @@ -13490,7 +13568,7 @@ yydefault: case 727: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3911 +//line sql.y:3912 { yyLOCAL = &Show{&ShowBasic{Command: VitessShards, Filter: yyDollar[3].showFilterUnion()}} } @@ -13498,7 +13576,7 @@ yydefault: case 728: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3915 +//line sql.y:3916 { yyLOCAL = &Show{&ShowBasic{Command: VitessTablets, Filter: yyDollar[3].showFilterUnion()}} } @@ -13506,7 +13584,7 @@ yydefault: case 729: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3919 +//line sql.y:3920 { yyLOCAL = &Show{&ShowBasic{Command: VitessTarget}} } @@ -13514,7 +13592,7 @@ yydefault: case 730: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3926 +//line sql.y:3927 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].colIdent.String())}} } @@ -13522,7 +13600,7 @@ yydefault: case 731: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3930 +//line sql.y:3931 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str)}} } @@ -13530,7 +13608,7 @@ yydefault: case 732: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3934 +//line sql.y:3935 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + yyDollar[3].colIdent.String()}} } @@ -13538,7 +13616,7 @@ yydefault: case 733: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3938 +//line sql.y:3939 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str)}} } @@ -13546,7 +13624,7 @@ yydefault: case 734: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3942 +//line sql.y:3943 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str)}} } @@ -13554,7 +13632,7 @@ yydefault: case 735: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3946 +//line sql.y:3947 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str) + " " + String(yyDollar[4].tableName)}} } @@ -13562,7 +13640,7 @@ yydefault: case 736: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3950 +//line sql.y:3951 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str) + " " + String(yyDollar[4].tableName)}} } @@ -13570,7 +13648,7 @@ yydefault: case 737: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3954 +//line sql.y:3955 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[3].str)}} } @@ -13578,27 +13656,27 @@ yydefault: case 738: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3958 +//line sql.y:3959 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str)}} } yyVAL.union = yyLOCAL case 739: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3964 +//line sql.y:3965 { yyVAL.str = "" } case 740: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3968 +//line sql.y:3969 { yyVAL.str = "extended " } case 741: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3974 +//line sql.y:3975 { yyLOCAL = false } @@ -13606,45 +13684,45 @@ yydefault: case 742: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3978 +//line sql.y:3979 { yyLOCAL = true } yyVAL.union = yyLOCAL case 743: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3984 +//line sql.y:3985 { yyVAL.str = string(yyDollar[1].str) } case 744: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3988 +//line sql.y:3989 { yyVAL.str = string(yyDollar[1].str) } case 745: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3994 +//line sql.y:3995 { yyVAL.tableIdent = NewTableIdent("") } case 746: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3998 +//line sql.y:3999 { yyVAL.tableIdent = yyDollar[2].tableIdent } case 747: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4002 +//line sql.y:4003 { yyVAL.tableIdent = yyDollar[2].tableIdent } case 748: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:4008 +//line sql.y:4009 { yyLOCAL = nil } @@ -13652,7 +13730,7 @@ yydefault: case 749: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:4012 +//line sql.y:4013 { yyLOCAL = &ShowFilter{Like: string(yyDollar[2].str)} } @@ -13660,7 +13738,7 @@ yydefault: case 750: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:4016 +//line sql.y:4017 { yyLOCAL = &ShowFilter{Filter: yyDollar[2].exprUnion()} } @@ -13668,7 +13746,7 @@ yydefault: case 751: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:4022 +//line sql.y:4023 { yyLOCAL = nil } @@ -13676,45 +13754,45 @@ yydefault: case 752: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:4026 +//line sql.y:4027 { yyLOCAL = &ShowFilter{Like: string(yyDollar[2].str)} } yyVAL.union = yyLOCAL case 753: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4032 +//line sql.y:4033 { yyVAL.empty = struct{}{} } case 754: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4036 +//line sql.y:4037 { yyVAL.empty = struct{}{} } case 755: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4040 +//line sql.y:4041 { yyVAL.empty = struct{}{} } case 756: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4046 +//line sql.y:4047 { yyVAL.str = string(yyDollar[1].str) } case 757: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4050 +//line sql.y:4051 { yyVAL.str = string(yyDollar[1].str) } case 758: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4056 +//line sql.y:4057 { yyLOCAL = &Use{DBName: yyDollar[2].tableIdent} } @@ -13722,7 +13800,7 @@ yydefault: case 759: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4060 +//line sql.y:4061 { yyLOCAL = &Use{DBName: TableIdent{v: ""}} } @@ -13730,7 +13808,7 @@ yydefault: case 760: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4064 +//line sql.y:4065 { yyLOCAL = &Use{DBName: NewTableIdent(yyDollar[2].tableIdent.String() + "@" + string(yyDollar[3].str))} } @@ -13738,7 +13816,7 @@ yydefault: case 761: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4070 +//line sql.y:4071 { yyLOCAL = &Begin{} } @@ -13746,7 +13824,7 @@ yydefault: case 762: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4074 +//line sql.y:4075 { yyLOCAL = &Begin{} } @@ -13754,7 +13832,7 @@ yydefault: case 763: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4080 +//line sql.y:4081 { yyLOCAL = &Commit{} } @@ -13762,7 +13840,7 @@ yydefault: case 764: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4086 +//line sql.y:4087 { yyLOCAL = &Rollback{} } @@ -13770,39 +13848,39 @@ yydefault: case 765: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:4090 +//line sql.y:4091 { yyLOCAL = &SRollback{Name: yyDollar[5].colIdent} } yyVAL.union = yyLOCAL case 766: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4095 +//line sql.y:4096 { yyVAL.empty = struct{}{} } case 767: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4097 +//line sql.y:4098 { yyVAL.empty = struct{}{} } case 768: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4100 +//line sql.y:4101 { yyVAL.empty = struct{}{} } case 769: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4102 +//line sql.y:4103 { yyVAL.empty = struct{}{} } case 770: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4106 +//line sql.y:4107 { yyLOCAL = &Savepoint{Name: yyDollar[2].colIdent} } @@ -13810,7 +13888,7 @@ yydefault: case 771: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4112 +//line sql.y:4113 { yyLOCAL = &Release{Name: yyDollar[3].colIdent} } @@ -13818,7 +13896,7 @@ yydefault: case 772: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4117 +//line sql.y:4118 { yyLOCAL = EmptyType } @@ -13826,7 +13904,7 @@ yydefault: case 773: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4121 +//line sql.y:4122 { yyLOCAL = JSONType } @@ -13834,7 +13912,7 @@ yydefault: case 774: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4125 +//line sql.y:4126 { yyLOCAL = TreeType } @@ -13842,7 +13920,7 @@ yydefault: case 775: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4129 +//line sql.y:4130 { yyLOCAL = VitessType } @@ -13850,7 +13928,7 @@ yydefault: case 776: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4133 +//line sql.y:4134 { yyLOCAL = TraditionalType } @@ -13858,33 +13936,33 @@ yydefault: case 777: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4137 +//line sql.y:4138 { yyLOCAL = AnalyzeType } yyVAL.union = yyLOCAL case 778: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4143 +//line sql.y:4144 { yyVAL.str = yyDollar[1].str } case 779: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4147 +//line sql.y:4148 { yyVAL.str = yyDollar[1].str } case 780: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4151 +//line sql.y:4152 { yyVAL.str = yyDollar[1].str } case 781: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4157 +//line sql.y:4158 { yyLOCAL = yyDollar[1].selStmtUnion() } @@ -13892,7 +13970,7 @@ yydefault: case 782: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4161 +//line sql.y:4162 { yyLOCAL = yyDollar[1].statementUnion() } @@ -13900,7 +13978,7 @@ yydefault: case 783: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4165 +//line sql.y:4166 { yyLOCAL = yyDollar[1].statementUnion() } @@ -13908,33 +13986,33 @@ yydefault: case 784: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4169 +//line sql.y:4170 { yyLOCAL = yyDollar[1].statementUnion() } yyVAL.union = yyLOCAL case 785: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4174 +//line sql.y:4175 { yyVAL.str = "" } case 786: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4178 +//line sql.y:4179 { yyVAL.str = yyDollar[1].colIdent.val } case 787: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4182 +//line sql.y:4183 { yyVAL.str = encodeSQLString(yyDollar[1].str) } case 788: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4188 +//line sql.y:4189 { yyLOCAL = &ExplainTab{Table: yyDollar[2].tableName, Wild: yyDollar[3].str} } @@ -13942,7 +14020,7 @@ yydefault: case 789: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4192 +//line sql.y:4193 { yyLOCAL = &ExplainStmt{Type: yyDollar[2].explainTypeUnion(), Statement: yyDollar[3].statementUnion()} } @@ -13950,7 +14028,7 @@ yydefault: case 790: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4198 +//line sql.y:4199 { yyLOCAL = &OtherAdmin{} } @@ -13958,7 +14036,7 @@ yydefault: case 791: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4202 +//line sql.y:4203 { yyLOCAL = &OtherAdmin{} } @@ -13966,7 +14044,7 @@ yydefault: case 792: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4208 +//line sql.y:4209 { yyLOCAL = &LockTables{Tables: yyDollar[3].tableAndLockTypesUnion()} } @@ -13974,14 +14052,14 @@ yydefault: case 793: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableAndLockTypes -//line sql.y:4214 +//line sql.y:4215 { yyLOCAL = TableAndLockTypes{yyDollar[1].tableAndLockTypeUnion()} } yyVAL.union = yyLOCAL case 794: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4218 +//line sql.y:4219 { yySLICE := (*TableAndLockTypes)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableAndLockTypeUnion()) @@ -13989,7 +14067,7 @@ yydefault: case 795: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *TableAndLockType -//line sql.y:4224 +//line sql.y:4225 { yyLOCAL = &TableAndLockType{Table: yyDollar[1].aliasedTableNameUnion(), Lock: yyDollar[2].lockTypeUnion()} } @@ -13997,7 +14075,7 @@ yydefault: case 796: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL LockType -//line sql.y:4230 +//line sql.y:4231 { yyLOCAL = Read } @@ -14005,7 +14083,7 @@ yydefault: case 797: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL LockType -//line sql.y:4234 +//line sql.y:4235 { yyLOCAL = ReadLocal } @@ -14013,7 +14091,7 @@ yydefault: case 798: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL LockType -//line sql.y:4238 +//line sql.y:4239 { yyLOCAL = Write } @@ -14021,7 +14099,7 @@ yydefault: case 799: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL LockType -//line sql.y:4242 +//line sql.y:4243 { yyLOCAL = LowPriorityWrite } @@ -14029,7 +14107,7 @@ yydefault: case 800: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4248 +//line sql.y:4249 { yyLOCAL = &UnlockTables{} } @@ -14037,7 +14115,7 @@ yydefault: case 801: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4254 +//line sql.y:4255 { yyLOCAL = &RevertMigration{Comments: Comments(yyDollar[2].strs).Parsed(), UUID: string(yyDollar[4].str)} } @@ -14045,7 +14123,7 @@ yydefault: case 802: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4260 +//line sql.y:4261 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), FlushOptions: yyDollar[3].strs} } @@ -14053,7 +14131,7 @@ yydefault: case 803: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4264 +//line sql.y:4265 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion()} } @@ -14061,7 +14139,7 @@ yydefault: case 804: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:4268 +//line sql.y:4269 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), WithLock: true} } @@ -14069,7 +14147,7 @@ yydefault: case 805: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4272 +//line sql.y:4273 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion()} } @@ -14077,7 +14155,7 @@ yydefault: case 806: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:4276 +//line sql.y:4277 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion(), WithLock: true} } @@ -14085,99 +14163,99 @@ yydefault: case 807: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:4280 +//line sql.y:4281 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion(), ForExport: true} } yyVAL.union = yyLOCAL case 808: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4286 +//line sql.y:4287 { yyVAL.strs = []string{yyDollar[1].str} } case 809: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4290 +//line sql.y:4291 { yyVAL.strs = append(yyDollar[1].strs, yyDollar[3].str) } case 810: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4296 +//line sql.y:4297 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 811: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4300 +//line sql.y:4301 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 812: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4304 +//line sql.y:4305 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 813: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4308 +//line sql.y:4309 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 814: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4312 +//line sql.y:4313 { yyVAL.str = string(yyDollar[1].str) } case 815: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4316 +//line sql.y:4317 { yyVAL.str = string(yyDollar[1].str) } case 816: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4320 +//line sql.y:4321 { yyVAL.str = string(yyDollar[1].str) } case 817: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4324 +//line sql.y:4325 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) + yyDollar[3].str } case 818: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4328 +//line sql.y:4329 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 819: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4332 +//line sql.y:4333 { yyVAL.str = string(yyDollar[1].str) } case 820: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4336 +//line sql.y:4337 { yyVAL.str = string(yyDollar[1].str) } case 821: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4340 +//line sql.y:4341 { yyVAL.str = string(yyDollar[1].str) } case 822: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:4345 +//line sql.y:4346 { yyLOCAL = false } @@ -14185,7 +14263,7 @@ yydefault: case 823: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4349 +//line sql.y:4350 { yyLOCAL = true } @@ -14193,52 +14271,52 @@ yydefault: case 824: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4353 +//line sql.y:4354 { yyLOCAL = true } yyVAL.union = yyLOCAL case 825: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4358 +//line sql.y:4359 { yyVAL.str = "" } case 826: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4362 +//line sql.y:4363 { yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str) + " " + yyDollar[3].colIdent.String() } case 827: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4367 +//line sql.y:4368 { setAllowComments(yylex, true) } case 828: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4371 +//line sql.y:4372 { yyVAL.strs = yyDollar[2].strs setAllowComments(yylex, false) } case 829: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4377 +//line sql.y:4378 { yyVAL.strs = nil } case 830: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4381 +//line sql.y:4382 { yyVAL.strs = append(yyDollar[1].strs, yyDollar[2].str) } case 831: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4387 +//line sql.y:4388 { yyLOCAL = true } @@ -14246,7 +14324,7 @@ yydefault: case 832: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:4391 +//line sql.y:4392 { yyLOCAL = false } @@ -14254,33 +14332,33 @@ yydefault: case 833: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:4395 +//line sql.y:4396 { yyLOCAL = true } yyVAL.union = yyLOCAL case 834: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4400 +//line sql.y:4401 { yyVAL.str = "" } case 835: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4404 +//line sql.y:4405 { yyVAL.str = SQLNoCacheStr } case 836: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4408 +//line sql.y:4409 { yyVAL.str = SQLCacheStr } case 837: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:4413 +//line sql.y:4414 { yyLOCAL = false } @@ -14288,7 +14366,7 @@ yydefault: case 838: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4417 +//line sql.y:4418 { yyLOCAL = true } @@ -14296,7 +14374,7 @@ yydefault: case 839: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4421 +//line sql.y:4422 { yyLOCAL = true } @@ -14304,7 +14382,7 @@ yydefault: case 840: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:4427 +//line sql.y:4428 { yyLOCAL = &PrepareStmt{Name: yyDollar[3].colIdent, Comments: Comments(yyDollar[2].strs).Parsed(), Statement: yyDollar[5].exprUnion()} } @@ -14312,7 +14390,7 @@ yydefault: case 841: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:4431 +//line sql.y:4432 { yyLOCAL = &PrepareStmt{ Name: yyDollar[3].colIdent, @@ -14326,7 +14404,7 @@ yydefault: case 842: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4443 +//line sql.y:4444 { yyLOCAL = &ExecuteStmt{Name: yyDollar[3].colIdent, Comments: Comments(yyDollar[2].strs).Parsed(), Arguments: yyDollar[4].columnsUnion()} } @@ -14334,7 +14412,7 @@ yydefault: case 843: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Columns -//line sql.y:4448 +//line sql.y:4449 { yyLOCAL = nil } @@ -14342,7 +14420,7 @@ yydefault: case 844: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Columns -//line sql.y:4452 +//line sql.y:4453 { yyLOCAL = yyDollar[2].columnsUnion() } @@ -14350,7 +14428,7 @@ yydefault: case 845: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4458 +//line sql.y:4459 { yyLOCAL = &DeallocateStmt{Type: DeallocateType, Comments: Comments(yyDollar[2].strs).Parsed(), Name: yyDollar[4].colIdent} } @@ -14358,7 +14436,7 @@ yydefault: case 846: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4462 +//line sql.y:4463 { yyLOCAL = &DeallocateStmt{Type: DropType, Comments: Comments(yyDollar[2].strs).Parsed(), Name: yyDollar[4].colIdent} } @@ -14366,7 +14444,7 @@ yydefault: case 847: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL SelectExprs -//line sql.y:4467 +//line sql.y:4468 { yyLOCAL = nil } @@ -14374,87 +14452,87 @@ yydefault: case 848: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectExprs -//line sql.y:4471 +//line sql.y:4472 { yyLOCAL = yyDollar[1].selectExprsUnion() } yyVAL.union = yyLOCAL case 849: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4476 +//line sql.y:4477 { yyVAL.strs = nil } case 850: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4480 +//line sql.y:4481 { yyVAL.strs = []string{yyDollar[1].str} } case 851: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4484 +//line sql.y:4485 { // TODO: This is a hack since I couldn't get it to work in a nicer way. I got 'conflicts: 8 shift/reduce' yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str} } case 852: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4488 +//line sql.y:4489 { yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str, yyDollar[3].str} } case 853: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4492 +//line sql.y:4493 { yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str, yyDollar[3].str, yyDollar[4].str} } case 854: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4498 +//line sql.y:4499 { yyVAL.str = SQLNoCacheStr } case 855: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4502 +//line sql.y:4503 { yyVAL.str = SQLCacheStr } case 856: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4506 +//line sql.y:4507 { yyVAL.str = DistinctStr } case 857: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4510 +//line sql.y:4511 { yyVAL.str = DistinctStr } case 858: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4514 +//line sql.y:4515 { yyVAL.str = StraightJoinHint } case 859: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4518 +//line sql.y:4519 { yyVAL.str = SQLCalcFoundRowsStr } case 860: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4522 +//line sql.y:4523 { 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 } case 861: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL StarExpr -//line sql.y:4528 +//line sql.y:4529 { yyLOCAL = StarExpr{} } @@ -14462,14 +14540,14 @@ yydefault: case 862: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectExprs -//line sql.y:4534 +//line sql.y:4535 { yyLOCAL = SelectExprs{yyDollar[1].selectExprUnion()} } yyVAL.union = yyLOCAL case 863: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4538 +//line sql.y:4539 { yySLICE := (*SelectExprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].selectExprUnion()) @@ -14477,7 +14555,7 @@ yydefault: case 864: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectExpr -//line sql.y:4544 +//line sql.y:4545 { yyLOCAL = &StarExpr{} } @@ -14485,7 +14563,7 @@ yydefault: case 865: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectExpr -//line sql.y:4548 +//line sql.y:4549 { yyLOCAL = &AliasedExpr{Expr: yyDollar[1].exprUnion(), As: yyDollar[2].colIdent} } @@ -14493,7 +14571,7 @@ yydefault: case 866: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectExpr -//line sql.y:4552 +//line sql.y:4553 { yyLOCAL = &StarExpr{TableName: TableName{Name: yyDollar[1].tableIdent}} } @@ -14501,39 +14579,39 @@ yydefault: case 867: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL SelectExpr -//line sql.y:4556 +//line sql.y:4557 { yyLOCAL = &StarExpr{TableName: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}} } yyVAL.union = yyLOCAL case 868: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4561 +//line sql.y:4562 { yyVAL.colIdent = ColIdent{} } case 869: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4565 +//line sql.y:4566 { yyVAL.colIdent = yyDollar[1].colIdent } case 870: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4569 +//line sql.y:4570 { yyVAL.colIdent = yyDollar[2].colIdent } case 872: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4576 +//line sql.y:4577 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].str)) } case 873: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL TableExprs -//line sql.y:4581 +//line sql.y:4582 { yyLOCAL = TableExprs{&AliasedTableExpr{Expr: TableName{Name: NewTableIdent("dual")}}} } @@ -14541,7 +14619,7 @@ yydefault: case 874: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableExprs -//line sql.y:4585 +//line sql.y:4586 { yyLOCAL = yyDollar[1].tableExprsUnion() } @@ -14549,7 +14627,7 @@ yydefault: case 875: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL TableExprs -//line sql.y:4591 +//line sql.y:4592 { yyLOCAL = yyDollar[2].tableExprsUnion() } @@ -14557,14 +14635,14 @@ yydefault: case 876: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableExprs -//line sql.y:4597 +//line sql.y:4598 { yyLOCAL = TableExprs{yyDollar[1].tableExprUnion()} } yyVAL.union = yyLOCAL case 877: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4601 +//line sql.y:4602 { yySLICE := (*TableExprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableExprUnion()) @@ -14572,7 +14650,7 @@ yydefault: case 880: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4611 +//line sql.y:4612 { yyLOCAL = yyDollar[1].aliasedTableNameUnion() } @@ -14580,7 +14658,7 @@ yydefault: case 881: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4615 +//line sql.y:4616 { yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].derivedTableUnion(), As: yyDollar[3].tableIdent, Columns: yyDollar[4].columnsUnion()} } @@ -14588,7 +14666,7 @@ yydefault: case 882: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4619 +//line sql.y:4620 { yyLOCAL = &ParenTableExpr{Exprs: yyDollar[2].tableExprsUnion()} } @@ -14596,7 +14674,7 @@ yydefault: case 883: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4623 +//line sql.y:4624 { yyLOCAL = yyDollar[1].tableExprUnion() } @@ -14604,7 +14682,7 @@ yydefault: case 884: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *DerivedTable -//line sql.y:4629 +//line sql.y:4630 { yyLOCAL = &DerivedTable{Lateral: false, Select: yyDollar[2].selStmtUnion()} } @@ -14612,7 +14690,7 @@ yydefault: case 885: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *DerivedTable -//line sql.y:4633 +//line sql.y:4634 { yyLOCAL = &DerivedTable{Lateral: true, Select: yyDollar[3].selStmtUnion()} } @@ -14620,7 +14698,7 @@ yydefault: case 886: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *AliasedTableExpr -//line sql.y:4639 +//line sql.y:4640 { yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].tableName, As: yyDollar[2].tableIdent, Hints: yyDollar[3].indexHintsUnion()} } @@ -14628,7 +14706,7 @@ yydefault: case 887: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *AliasedTableExpr -//line sql.y:4643 +//line sql.y:4644 { yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].tableName, Partitions: yyDollar[4].partitionsUnion(), As: yyDollar[6].tableIdent, Hints: yyDollar[7].indexHintsUnion()} } @@ -14636,7 +14714,7 @@ yydefault: case 888: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Columns -//line sql.y:4648 +//line sql.y:4649 { yyLOCAL = nil } @@ -14644,7 +14722,7 @@ yydefault: case 889: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Columns -//line sql.y:4652 +//line sql.y:4653 { yyLOCAL = yyDollar[2].columnsUnion() } @@ -14652,14 +14730,14 @@ yydefault: case 890: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:4658 +//line sql.y:4659 { yyLOCAL = Columns{yyDollar[1].colIdent} } yyVAL.union = yyLOCAL case 891: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4662 +//line sql.y:4663 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].colIdent) @@ -14667,14 +14745,14 @@ yydefault: case 892: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:4668 +//line sql.y:4669 { yyLOCAL = Columns{NewColIdentWithAt(string(yyDollar[1].str), SingleAt)} } yyVAL.union = yyLOCAL case 893: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4672 +//line sql.y:4673 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, NewColIdentWithAt(string(yyDollar[3].str), SingleAt)) @@ -14682,7 +14760,7 @@ yydefault: case 894: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:4678 +//line sql.y:4679 { yyLOCAL = Columns{yyDollar[1].colIdent} } @@ -14690,21 +14768,21 @@ yydefault: case 895: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:4682 +//line sql.y:4683 { yyLOCAL = Columns{NewColIdent(string(yyDollar[1].str))} } yyVAL.union = yyLOCAL case 896: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4686 +//line sql.y:4687 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].colIdent) } case 897: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4690 +//line sql.y:4691 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, NewColIdent(string(yyDollar[3].str))) @@ -14712,14 +14790,14 @@ yydefault: case 898: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Partitions -//line sql.y:4696 +//line sql.y:4697 { yyLOCAL = Partitions{yyDollar[1].colIdent} } yyVAL.union = yyLOCAL case 899: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4700 +//line sql.y:4701 { yySLICE := (*Partitions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].colIdent) @@ -14727,7 +14805,7 @@ yydefault: case 900: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4713 +//line sql.y:4714 { yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition} } @@ -14735,7 +14813,7 @@ yydefault: case 901: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4717 +//line sql.y:4718 { yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition} } @@ -14743,7 +14821,7 @@ yydefault: case 902: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4721 +//line sql.y:4722 { yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition} } @@ -14751,87 +14829,87 @@ yydefault: case 903: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4725 +//line sql.y:4726 { yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion()} } yyVAL.union = yyLOCAL case 904: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4731 +//line sql.y:4732 { yyVAL.joinCondition = &JoinCondition{On: yyDollar[2].exprUnion()} } case 905: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4733 +//line sql.y:4734 { yyVAL.joinCondition = &JoinCondition{Using: yyDollar[3].columnsUnion()} } case 906: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4737 +//line sql.y:4738 { yyVAL.joinCondition = &JoinCondition{} } case 907: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4739 +//line sql.y:4740 { yyVAL.joinCondition = yyDollar[1].joinCondition } case 908: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4743 +//line sql.y:4744 { yyVAL.joinCondition = &JoinCondition{} } case 909: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4745 +//line sql.y:4746 { yyVAL.joinCondition = &JoinCondition{On: yyDollar[2].exprUnion()} } case 910: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4748 +//line sql.y:4749 { yyVAL.empty = struct{}{} } case 911: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4750 +//line sql.y:4751 { yyVAL.empty = struct{}{} } case 912: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4753 +//line sql.y:4754 { yyVAL.tableIdent = NewTableIdent("") } case 913: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4757 +//line sql.y:4758 { yyVAL.tableIdent = yyDollar[1].tableIdent } case 914: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4761 +//line sql.y:4762 { yyVAL.tableIdent = yyDollar[2].tableIdent } case 916: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4768 +//line sql.y:4769 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].str)) } case 917: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL JoinType -//line sql.y:4774 +//line sql.y:4775 { yyLOCAL = NormalJoinType } @@ -14839,7 +14917,7 @@ yydefault: case 918: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4778 +//line sql.y:4779 { yyLOCAL = NormalJoinType } @@ -14847,7 +14925,7 @@ yydefault: case 919: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4782 +//line sql.y:4783 { yyLOCAL = NormalJoinType } @@ -14855,7 +14933,7 @@ yydefault: case 920: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL JoinType -//line sql.y:4788 +//line sql.y:4789 { yyLOCAL = StraightJoinType } @@ -14863,7 +14941,7 @@ yydefault: case 921: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4794 +//line sql.y:4795 { yyLOCAL = LeftJoinType } @@ -14871,7 +14949,7 @@ yydefault: case 922: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL JoinType -//line sql.y:4798 +//line sql.y:4799 { yyLOCAL = LeftJoinType } @@ -14879,7 +14957,7 @@ yydefault: case 923: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4802 +//line sql.y:4803 { yyLOCAL = RightJoinType } @@ -14887,7 +14965,7 @@ yydefault: case 924: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL JoinType -//line sql.y:4806 +//line sql.y:4807 { yyLOCAL = RightJoinType } @@ -14895,7 +14973,7 @@ yydefault: case 925: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4812 +//line sql.y:4813 { yyLOCAL = NaturalJoinType } @@ -14903,7 +14981,7 @@ yydefault: case 926: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4816 +//line sql.y:4817 { if yyDollar[2].joinTypeUnion() == LeftJoinType { yyLOCAL = NaturalLeftJoinType @@ -14914,38 +14992,38 @@ yydefault: yyVAL.union = yyLOCAL case 927: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4826 +//line sql.y:4827 { yyVAL.tableName = yyDollar[2].tableName } case 928: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4830 +//line sql.y:4831 { yyVAL.tableName = yyDollar[1].tableName } case 929: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4836 +//line sql.y:4837 { yyVAL.tableName = TableName{Name: yyDollar[1].tableIdent} } case 930: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4840 +//line sql.y:4841 { yyVAL.tableName = TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent} } case 931: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4846 +//line sql.y:4847 { yyVAL.tableName = TableName{Name: yyDollar[1].tableIdent} } case 932: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL IndexHints -//line sql.y:4851 +//line sql.y:4852 { yyLOCAL = nil } @@ -14953,7 +15031,7 @@ yydefault: case 933: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IndexHints -//line sql.y:4855 +//line sql.y:4856 { yyLOCAL = yyDollar[1].indexHintsUnion() } @@ -14961,14 +15039,14 @@ yydefault: case 934: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IndexHints -//line sql.y:4861 +//line sql.y:4862 { yyLOCAL = IndexHints{yyDollar[1].indexHintUnion()} } yyVAL.union = yyLOCAL case 935: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4865 +//line sql.y:4866 { yySLICE := (*IndexHints)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].indexHintUnion()) @@ -14976,7 +15054,7 @@ yydefault: case 936: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *IndexHint -//line sql.y:4871 +//line sql.y:4872 { yyLOCAL = &IndexHint{Type: UseOp, ForType: yyDollar[3].indexHintForTypeUnion(), Indexes: yyDollar[5].columnsUnion()} } @@ -14984,7 +15062,7 @@ yydefault: case 937: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *IndexHint -//line sql.y:4875 +//line sql.y:4876 { yyLOCAL = &IndexHint{Type: UseOp, ForType: yyDollar[3].indexHintForTypeUnion()} } @@ -14992,7 +15070,7 @@ yydefault: case 938: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *IndexHint -//line sql.y:4879 +//line sql.y:4880 { yyLOCAL = &IndexHint{Type: IgnoreOp, ForType: yyDollar[3].indexHintForTypeUnion(), Indexes: yyDollar[5].columnsUnion()} } @@ -15000,7 +15078,7 @@ yydefault: case 939: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *IndexHint -//line sql.y:4883 +//line sql.y:4884 { yyLOCAL = &IndexHint{Type: ForceOp, ForType: yyDollar[3].indexHintForTypeUnion(), Indexes: yyDollar[5].columnsUnion()} } @@ -15008,7 +15086,7 @@ yydefault: case 940: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL IndexHintForType -//line sql.y:4888 +//line sql.y:4889 { yyLOCAL = NoForType } @@ -15016,7 +15094,7 @@ yydefault: case 941: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IndexHintForType -//line sql.y:4892 +//line sql.y:4893 { yyLOCAL = JoinForType } @@ -15024,7 +15102,7 @@ yydefault: case 942: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL IndexHintForType -//line sql.y:4896 +//line sql.y:4897 { yyLOCAL = OrderByForType } @@ -15032,7 +15110,7 @@ yydefault: case 943: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL IndexHintForType -//line sql.y:4900 +//line sql.y:4901 { yyLOCAL = GroupByForType } @@ -15040,7 +15118,7 @@ yydefault: case 944: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:4906 +//line sql.y:4907 { yyLOCAL = nil } @@ -15048,7 +15126,7 @@ yydefault: case 945: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:4910 +//line sql.y:4911 { yyLOCAL = yyDollar[2].exprUnion() } @@ -15056,7 +15134,7 @@ yydefault: case 946: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4917 +//line sql.y:4918 { yyLOCAL = &OrExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()} } @@ -15064,7 +15142,7 @@ yydefault: case 947: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4921 +//line sql.y:4922 { yyLOCAL = &XorExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()} } @@ -15072,7 +15150,7 @@ yydefault: case 948: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4925 +//line sql.y:4926 { yyLOCAL = &AndExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()} } @@ -15080,7 +15158,7 @@ yydefault: case 949: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:4929 +//line sql.y:4930 { yyLOCAL = &NotExpr{Expr: yyDollar[2].exprUnion()} } @@ -15088,7 +15166,7 @@ yydefault: case 950: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4933 +//line sql.y:4934 { yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].isExprOperatorUnion()} } @@ -15096,7 +15174,7 @@ yydefault: case 951: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:4937 +//line sql.y:4938 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15104,7 +15182,7 @@ yydefault: case 952: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:4941 +//line sql.y:4942 { yyLOCAL = &MemberOfExpr{Value: yyDollar[1].exprUnion(), JSONArr: yyDollar[5].exprUnion()} } @@ -15112,7 +15190,7 @@ yydefault: case 953: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4948 +//line sql.y:4949 { yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: IsNullOp} } @@ -15120,7 +15198,7 @@ yydefault: case 954: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:4952 +//line sql.y:4953 { yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: IsNotNullOp} } @@ -15128,7 +15206,7 @@ yydefault: case 955: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4956 +//line sql.y:4957 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: yyDollar[2].comparisonExprOperatorUnion(), Right: yyDollar[3].exprUnion()} } @@ -15136,7 +15214,7 @@ yydefault: case 956: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:4960 +//line sql.y:4961 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15144,7 +15222,7 @@ yydefault: case 957: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4966 +//line sql.y:4967 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: InOp, Right: yyDollar[3].colTupleUnion()} } @@ -15152,7 +15230,7 @@ yydefault: case 958: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:4970 +//line sql.y:4971 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotInOp, Right: yyDollar[4].colTupleUnion()} } @@ -15160,7 +15238,7 @@ yydefault: case 959: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:4974 +//line sql.y:4975 { yyLOCAL = &BetweenExpr{Left: yyDollar[1].exprUnion(), IsBetween: true, From: yyDollar[3].exprUnion(), To: yyDollar[5].exprUnion()} } @@ -15168,7 +15246,7 @@ yydefault: case 960: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:4978 +//line sql.y:4979 { yyLOCAL = &BetweenExpr{Left: yyDollar[1].exprUnion(), IsBetween: false, From: yyDollar[4].exprUnion(), To: yyDollar[6].exprUnion()} } @@ -15176,7 +15254,7 @@ yydefault: case 961: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4982 +//line sql.y:4983 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: LikeOp, Right: yyDollar[3].exprUnion()} } @@ -15184,7 +15262,7 @@ yydefault: case 962: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:4986 +//line sql.y:4987 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotLikeOp, Right: yyDollar[4].exprUnion()} } @@ -15192,7 +15270,7 @@ yydefault: case 963: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:4990 +//line sql.y:4991 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: LikeOp, Right: yyDollar[3].exprUnion(), Escape: yyDollar[5].exprUnion()} } @@ -15200,7 +15278,7 @@ yydefault: case 964: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:4994 +//line sql.y:4995 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotLikeOp, Right: yyDollar[4].exprUnion(), Escape: yyDollar[6].exprUnion()} } @@ -15208,7 +15286,7 @@ yydefault: case 965: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4998 +//line sql.y:4999 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: RegexpOp, Right: yyDollar[3].exprUnion()} } @@ -15216,7 +15294,7 @@ yydefault: case 966: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5002 +//line sql.y:5003 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotRegexpOp, Right: yyDollar[4].exprUnion()} } @@ -15224,7 +15302,7 @@ yydefault: case 967: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5006 +//line sql.y:5007 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15232,7 +15310,7 @@ yydefault: case 968: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5012 +//line sql.y:5013 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitOrOp, Right: yyDollar[3].exprUnion()} } @@ -15240,7 +15318,7 @@ yydefault: case 969: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5016 +//line sql.y:5017 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitAndOp, Right: yyDollar[3].exprUnion()} } @@ -15248,7 +15326,7 @@ yydefault: case 970: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5020 +//line sql.y:5021 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ShiftLeftOp, Right: yyDollar[3].exprUnion()} } @@ -15256,7 +15334,7 @@ yydefault: case 971: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5024 +//line sql.y:5025 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ShiftRightOp, Right: yyDollar[3].exprUnion()} } @@ -15264,7 +15342,7 @@ yydefault: case 972: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5028 +//line sql.y:5029 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: PlusOp, Right: yyDollar[3].exprUnion()} } @@ -15272,7 +15350,7 @@ yydefault: case 973: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5032 +//line sql.y:5033 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: MinusOp, Right: yyDollar[3].exprUnion()} } @@ -15280,7 +15358,7 @@ yydefault: case 974: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5036 +//line sql.y:5037 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: MultOp, Right: yyDollar[3].exprUnion()} } @@ -15288,7 +15366,7 @@ yydefault: case 975: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5040 +//line sql.y:5041 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: DivOp, Right: yyDollar[3].exprUnion()} } @@ -15296,7 +15374,7 @@ yydefault: case 976: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5044 +//line sql.y:5045 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ModOp, Right: yyDollar[3].exprUnion()} } @@ -15304,7 +15382,7 @@ yydefault: case 977: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5048 +//line sql.y:5049 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: IntDivOp, Right: yyDollar[3].exprUnion()} } @@ -15312,7 +15390,7 @@ yydefault: case 978: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5052 +//line sql.y:5053 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ModOp, Right: yyDollar[3].exprUnion()} } @@ -15320,7 +15398,7 @@ yydefault: case 979: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5056 +//line sql.y:5057 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitXorOp, Right: yyDollar[3].exprUnion()} } @@ -15328,7 +15406,7 @@ yydefault: case 980: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5060 +//line sql.y:5061 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15336,7 +15414,7 @@ yydefault: case 981: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5066 +//line sql.y:5067 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15344,7 +15422,7 @@ yydefault: case 982: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5070 +//line sql.y:5071 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15352,7 +15430,7 @@ yydefault: case 983: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5074 +//line sql.y:5075 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15360,7 +15438,7 @@ yydefault: case 984: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5078 +//line sql.y:5079 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15368,7 +15446,7 @@ yydefault: case 985: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5082 +//line sql.y:5083 { yyLOCAL = &CollateExpr{Expr: yyDollar[1].exprUnion(), Collation: yyDollar[3].str} } @@ -15376,7 +15454,7 @@ yydefault: case 986: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5086 +//line sql.y:5087 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15384,7 +15462,7 @@ yydefault: case 987: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5090 +//line sql.y:5091 { yyLOCAL = yyDollar[1].colNameUnion() } @@ -15392,7 +15470,7 @@ yydefault: case 988: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5094 +//line sql.y:5095 { yyLOCAL = yyDollar[2].exprUnion() // TODO: do we really want to ignore unary '+' before any kind of literals? } @@ -15400,7 +15478,7 @@ yydefault: case 989: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5098 +//line sql.y:5099 { yyLOCAL = &UnaryExpr{Operator: UMinusOp, Expr: yyDollar[2].exprUnion()} } @@ -15408,7 +15486,7 @@ yydefault: case 990: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5102 +//line sql.y:5103 { yyLOCAL = &UnaryExpr{Operator: TildaOp, Expr: yyDollar[2].exprUnion()} } @@ -15416,7 +15494,7 @@ yydefault: case 991: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5106 +//line sql.y:5107 { yyLOCAL = &UnaryExpr{Operator: BangOp, Expr: yyDollar[2].exprUnion()} } @@ -15424,7 +15502,7 @@ yydefault: case 992: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5110 +//line sql.y:5111 { yyLOCAL = yyDollar[1].subqueryUnion() } @@ -15432,7 +15510,7 @@ yydefault: case 993: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5114 +//line sql.y:5115 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15440,7 +15518,7 @@ yydefault: case 994: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5118 +//line sql.y:5119 { yyLOCAL = &ExistsExpr{Subquery: yyDollar[2].subqueryUnion()} } @@ -15448,7 +15526,7 @@ yydefault: case 995: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL Expr -//line sql.y:5122 +//line sql.y:5123 { yyLOCAL = &MatchExpr{Columns: yyDollar[3].selectExprsUnion(), Expr: yyDollar[7].exprUnion(), Option: yyDollar[8].matchExprOptionUnion()} } @@ -15456,7 +15534,7 @@ yydefault: case 996: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5126 +//line sql.y:5127 { yyLOCAL = &ConvertExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].convertTypeUnion()} } @@ -15464,7 +15542,7 @@ yydefault: case 997: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5130 +//line sql.y:5131 { yyLOCAL = &ConvertExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].convertTypeUnion()} } @@ -15472,7 +15550,7 @@ yydefault: case 998: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5134 +//line sql.y:5135 { yyLOCAL = &ConvertUsingExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].str} } @@ -15480,7 +15558,7 @@ yydefault: case 999: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5138 +//line sql.y:5139 { // From: https://dev.mysql.com/doc/refman/8.0/en/cast-functions.html#operator_binary // To convert a string expression to a binary string, these constructs are equivalent: @@ -15492,7 +15570,7 @@ yydefault: case 1000: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5146 +//line sql.y:5147 { yyLOCAL = &Default{ColName: yyDollar[2].str} } @@ -15500,7 +15578,7 @@ yydefault: case 1001: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5150 +//line sql.y:5151 { // This rule prevents the usage of INTERVAL // as a function. If support is needed for that, @@ -15512,7 +15590,7 @@ yydefault: case 1002: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5158 +//line sql.y:5159 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].colNameUnion(), Operator: JSONExtractOp, Right: yyDollar[3].exprUnion()} } @@ -15520,7 +15598,7 @@ yydefault: case 1003: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5162 +//line sql.y:5163 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].colNameUnion(), Operator: JSONUnquoteExtractOp, Right: yyDollar[3].exprUnion()} } @@ -15528,7 +15606,7 @@ yydefault: case 1004: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TrimType -//line sql.y:5168 +//line sql.y:5169 { yyLOCAL = BothTrimType } @@ -15536,7 +15614,7 @@ yydefault: case 1005: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TrimType -//line sql.y:5172 +//line sql.y:5173 { yyLOCAL = LeadingTrimType } @@ -15544,27 +15622,27 @@ yydefault: case 1006: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TrimType -//line sql.y:5176 +//line sql.y:5177 { yyLOCAL = TrailingTrimType } yyVAL.union = yyLOCAL case 1007: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5182 +//line sql.y:5183 { yyVAL.str = "" } case 1008: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5186 +//line sql.y:5187 { yyVAL.str = string(yyDollar[2].colIdent.String()) } case 1009: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL BoolVal -//line sql.y:5192 +//line sql.y:5193 { yyLOCAL = BoolVal(true) } @@ -15572,7 +15650,7 @@ yydefault: case 1010: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL BoolVal -//line sql.y:5196 +//line sql.y:5197 { yyLOCAL = BoolVal(false) } @@ -15580,7 +15658,7 @@ yydefault: case 1011: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IsExprOperator -//line sql.y:5203 +//line sql.y:5204 { yyLOCAL = IsTrueOp } @@ -15588,7 +15666,7 @@ yydefault: case 1012: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IsExprOperator -//line sql.y:5207 +//line sql.y:5208 { yyLOCAL = IsNotTrueOp } @@ -15596,7 +15674,7 @@ yydefault: case 1013: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IsExprOperator -//line sql.y:5211 +//line sql.y:5212 { yyLOCAL = IsFalseOp } @@ -15604,7 +15682,7 @@ yydefault: case 1014: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IsExprOperator -//line sql.y:5215 +//line sql.y:5216 { yyLOCAL = IsNotFalseOp } @@ -15612,7 +15690,7 @@ yydefault: case 1015: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5221 +//line sql.y:5222 { yyLOCAL = EqualOp } @@ -15620,7 +15698,7 @@ yydefault: case 1016: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5225 +//line sql.y:5226 { yyLOCAL = LessThanOp } @@ -15628,7 +15706,7 @@ yydefault: case 1017: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5229 +//line sql.y:5230 { yyLOCAL = GreaterThanOp } @@ -15636,7 +15714,7 @@ yydefault: case 1018: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5233 +//line sql.y:5234 { yyLOCAL = LessEqualOp } @@ -15644,7 +15722,7 @@ yydefault: case 1019: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5237 +//line sql.y:5238 { yyLOCAL = GreaterEqualOp } @@ -15652,7 +15730,7 @@ yydefault: case 1020: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5241 +//line sql.y:5242 { yyLOCAL = NotEqualOp } @@ -15660,7 +15738,7 @@ yydefault: case 1021: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5245 +//line sql.y:5246 { yyLOCAL = NullSafeEqualOp } @@ -15668,7 +15746,7 @@ yydefault: case 1022: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColTuple -//line sql.y:5251 +//line sql.y:5252 { yyLOCAL = yyDollar[1].valTupleUnion() } @@ -15676,7 +15754,7 @@ yydefault: case 1023: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColTuple -//line sql.y:5255 +//line sql.y:5256 { yyLOCAL = yyDollar[1].subqueryUnion() } @@ -15684,7 +15762,7 @@ yydefault: case 1024: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColTuple -//line sql.y:5259 +//line sql.y:5260 { yyLOCAL = ListArg(yyDollar[1].str[2:]) bindVariable(yylex, yyDollar[1].str[2:]) @@ -15693,7 +15771,7 @@ yydefault: case 1025: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Subquery -//line sql.y:5266 +//line sql.y:5267 { yyLOCAL = &Subquery{yyDollar[1].selStmtUnion()} } @@ -15701,14 +15779,14 @@ yydefault: case 1026: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Exprs -//line sql.y:5272 +//line sql.y:5273 { yyLOCAL = Exprs{yyDollar[1].exprUnion()} } yyVAL.union = yyLOCAL case 1027: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5276 +//line sql.y:5277 { yySLICE := (*Exprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].exprUnion()) @@ -15716,7 +15794,7 @@ yydefault: case 1028: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5286 +//line sql.y:5287 { yyLOCAL = &FuncExpr{Name: yyDollar[1].colIdent, Exprs: yyDollar[3].selectExprsUnion()} } @@ -15724,7 +15802,7 @@ yydefault: case 1029: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5290 +//line sql.y:5291 { yyLOCAL = &FuncExpr{Name: yyDollar[1].colIdent, Distinct: true, Exprs: yyDollar[4].selectExprsUnion()} } @@ -15732,7 +15810,7 @@ yydefault: case 1030: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5294 +//line sql.y:5295 { yyLOCAL = &FuncExpr{Name: yyDollar[1].colIdent, Distinct: true, Exprs: yyDollar[4].selectExprsUnion()} } @@ -15740,7 +15818,7 @@ yydefault: case 1031: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5298 +//line sql.y:5299 { yyLOCAL = &FuncExpr{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].colIdent, Exprs: yyDollar[5].selectExprsUnion()} } @@ -15748,7 +15826,7 @@ yydefault: case 1032: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5308 +//line sql.y:5309 { yyLOCAL = &FuncExpr{Name: NewColIdent("left"), Exprs: yyDollar[3].selectExprsUnion()} } @@ -15756,7 +15834,7 @@ yydefault: case 1033: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5312 +//line sql.y:5313 { yyLOCAL = &FuncExpr{Name: NewColIdent("right"), Exprs: yyDollar[3].selectExprsUnion()} } @@ -15764,7 +15842,7 @@ yydefault: case 1034: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5316 +//line sql.y:5317 { yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion(), To: yyDollar[7].exprUnion()} } @@ -15772,7 +15850,7 @@ yydefault: case 1035: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5320 +//line sql.y:5321 { yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion()} } @@ -15780,7 +15858,7 @@ yydefault: case 1036: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5324 +//line sql.y:5325 { yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion(), To: yyDollar[7].exprUnion()} } @@ -15788,7 +15866,7 @@ yydefault: case 1037: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5328 +//line sql.y:5329 { yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion()} } @@ -15796,7 +15874,7 @@ yydefault: case 1038: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5332 +//line sql.y:5333 { yyLOCAL = &GroupConcatExpr{Distinct: yyDollar[3].booleanUnion(), Exprs: yyDollar[4].selectExprsUnion(), OrderBy: yyDollar[5].orderByUnion(), Separator: yyDollar[6].str, Limit: yyDollar[7].limitUnion()} } @@ -15804,7 +15882,7 @@ yydefault: case 1039: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5336 +//line sql.y:5337 { yyLOCAL = &CaseExpr{Expr: yyDollar[2].exprUnion(), Whens: yyDollar[3].whensUnion(), Else: yyDollar[4].exprUnion()} } @@ -15812,7 +15890,7 @@ yydefault: case 1040: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5340 +//line sql.y:5341 { yyLOCAL = &ValuesFuncExpr{Name: yyDollar[3].colNameUnion()} } @@ -15820,7 +15898,7 @@ yydefault: case 1041: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5344 +//line sql.y:5345 { yyLOCAL = &FuncExpr{Name: NewColIdent(yyDollar[1].str)} } @@ -15828,7 +15906,7 @@ yydefault: case 1042: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5355 +//line sql.y:5356 { yyLOCAL = &FuncExpr{Name: NewColIdent("utc_date")} } @@ -15836,7 +15914,7 @@ yydefault: case 1043: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5359 +//line sql.y:5360 { yyLOCAL = yyDollar[1].exprUnion() } @@ -15844,7 +15922,7 @@ yydefault: case 1044: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5365 +//line sql.y:5366 { yyLOCAL = &FuncExpr{Name: NewColIdent("current_date")} } @@ -15852,7 +15930,7 @@ yydefault: case 1045: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5369 +//line sql.y:5370 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("utc_time"), Fsp: yyDollar[2].exprUnion()} } @@ -15860,7 +15938,7 @@ yydefault: case 1046: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5374 +//line sql.y:5375 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("current_time"), Fsp: yyDollar[2].exprUnion()} } @@ -15868,7 +15946,7 @@ yydefault: case 1047: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5378 +//line sql.y:5379 { yyLOCAL = &Avg{Arg: yyDollar[4].exprUnion(), Distinct: yyDollar[3].booleanUnion()} } @@ -15876,7 +15954,7 @@ yydefault: case 1048: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5382 +//line sql.y:5383 { yyLOCAL = &CountStar{Star: yyDollar[3].starExprUnion()} } @@ -15884,7 +15962,7 @@ yydefault: case 1049: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5386 +//line sql.y:5387 { yyLOCAL = &Count{Arg: yyDollar[4].exprUnion(), Distinct: yyDollar[3].booleanUnion()} } @@ -15892,7 +15970,7 @@ yydefault: case 1050: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5390 +//line sql.y:5391 { yyLOCAL = &Max{Arg: yyDollar[3].exprUnion()} } @@ -15900,951 +15978,959 @@ yydefault: case 1051: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5394 +//line sql.y:5395 { yyLOCAL = &Min{Arg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL case 1052: + yyDollar = yyS[yypt-5 : yypt+1] + var yyLOCAL Expr +//line sql.y:5399 + { + yyLOCAL = &Sum{Arg: yyDollar[4].exprUnion(), Distinct: yyDollar[3].booleanUnion()} + } + yyVAL.union = yyLOCAL + case 1053: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5398 +//line sql.y:5403 { yyLOCAL = &TimestampFuncExpr{Name: string("timestampadd"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].exprUnion(), Expr2: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1053: + case 1054: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5402 +//line sql.y:5407 { yyLOCAL = &TimestampFuncExpr{Name: string("timestampdiff"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].exprUnion(), Expr2: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1054: + case 1055: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5406 +//line sql.y:5411 { yyLOCAL = &ExtractFuncExpr{IntervalTypes: yyDollar[3].intervalTypeUnion(), Expr: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1055: + case 1056: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5410 +//line sql.y:5415 { yyLOCAL = &WeightStringFuncExpr{Expr: yyDollar[3].exprUnion(), As: yyDollar[4].convertTypeUnion()} } yyVAL.union = yyLOCAL - case 1056: + case 1057: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5414 +//line sql.y:5419 { yyLOCAL = &JSONPrettyExpr{JSONVal: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1057: + case 1058: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5418 +//line sql.y:5423 { yyLOCAL = &JSONStorageFreeExpr{JSONVal: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1058: + case 1059: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5422 +//line sql.y:5427 { yyLOCAL = &JSONStorageSizeExpr{JSONVal: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1059: + case 1060: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5426 +//line sql.y:5431 { yyLOCAL = &TrimFuncExpr{TrimFuncType: LTrimType, StringArg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1060: + case 1061: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5430 +//line sql.y:5435 { yyLOCAL = &TrimFuncExpr{TrimFuncType: RTrimType, StringArg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1061: + case 1062: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Expr -//line sql.y:5434 +//line sql.y:5439 { yyLOCAL = &TrimFuncExpr{Type: yyDollar[3].trimTypeUnion(), TrimArg: yyDollar[4].exprUnion(), StringArg: yyDollar[6].exprUnion()} } yyVAL.union = yyLOCAL - case 1062: + case 1063: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5438 +//line sql.y:5443 { yyLOCAL = &TrimFuncExpr{StringArg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1063: + case 1064: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5442 +//line sql.y:5447 { yyLOCAL = &TrimFuncExpr{TrimArg: yyDollar[3].exprUnion(), StringArg: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1064: + case 1065: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5446 +//line sql.y:5451 { yyLOCAL = &JSONSchemaValidFuncExpr{Schema: yyDollar[3].exprUnion(), Document: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1065: + case 1066: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5450 +//line sql.y:5455 { yyLOCAL = &JSONSchemaValidationReportFuncExpr{Schema: yyDollar[3].exprUnion(), Document: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1066: + case 1067: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5454 +//line sql.y:5459 { yyLOCAL = &JSONArrayExpr{Params: yyDollar[3].exprsUnion()} } yyVAL.union = yyLOCAL - case 1067: + case 1068: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5458 +//line sql.y:5463 { yyLOCAL = &JSONObjectExpr{Params: yyDollar[3].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1068: + case 1069: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5462 +//line sql.y:5467 { yyLOCAL = &JSONQuoteExpr{StringArg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1069: + case 1070: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Expr -//line sql.y:5466 +//line sql.y:5471 { yyLOCAL = &JSONContainsExpr{Target: yyDollar[3].exprUnion(), Candidate: yyDollar[5].exprUnion(), PathList: yyDollar[6].jsonPathParamsUnion()} } yyVAL.union = yyLOCAL - case 1070: + case 1071: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5470 +//line sql.y:5475 { yyLOCAL = &JSONContainsPathExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), PathList: yyDollar[7].jsonPathParamsUnion()} } yyVAL.union = yyLOCAL - case 1071: + case 1072: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5474 +//line sql.y:5479 { yyLOCAL = &JSONExtractExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[5].jsonPathParamsUnion()} } yyVAL.union = yyLOCAL - case 1072: + case 1073: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5478 +//line sql.y:5483 { yyLOCAL = &JSONKeysExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[4].jsonPathParamsUnion()} } yyVAL.union = yyLOCAL - case 1073: + case 1074: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5482 +//line sql.y:5487 { yyLOCAL = &JSONOverlapsExpr{JSONDoc1: yyDollar[3].exprUnion(), JSONDoc2: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1074: + case 1075: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5486 +//line sql.y:5491 { yyLOCAL = &JSONSearchExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), SearchStr: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1075: + case 1076: yyDollar = yyS[yypt-11 : yypt+1] var yyLOCAL Expr -//line sql.y:5490 +//line sql.y:5495 { yyLOCAL = &JSONSearchExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), SearchStr: yyDollar[7].exprUnion(), EscapeChar: yyDollar[9].exprUnion(), PathList: yyDollar[10].jsonPathParamsUnion()} } yyVAL.union = yyLOCAL - case 1076: + case 1077: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Expr -//line sql.y:5494 +//line sql.y:5499 { yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam, ReturningType: yyDollar[6].convertTypeUnion()} } yyVAL.union = yyLOCAL - case 1077: + case 1078: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5498 +//line sql.y:5503 { yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam, ReturningType: yyDollar[6].convertTypeUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion()} } yyVAL.union = yyLOCAL - case 1078: + case 1079: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5502 +//line sql.y:5507 { yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam, ReturningType: yyDollar[6].convertTypeUnion(), ErrorOnResponse: yyDollar[7].jtOnResponseUnion()} } yyVAL.union = yyLOCAL - case 1079: + case 1080: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL Expr -//line sql.y:5506 +//line sql.y:5511 { yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam, ReturningType: yyDollar[6].convertTypeUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion(), ErrorOnResponse: yyDollar[8].jtOnResponseUnion()} } yyVAL.union = yyLOCAL - case 1080: + case 1081: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5510 +//line sql.y:5515 { yyLOCAL = &JSONAttributesExpr{Type: DepthAttributeType, JSONDoc: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1081: + case 1082: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5514 +//line sql.y:5519 { yyLOCAL = &JSONAttributesExpr{Type: ValidAttributeType, JSONDoc: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1082: + case 1083: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5518 +//line sql.y:5523 { yyLOCAL = &JSONAttributesExpr{Type: TypeAttributeType, JSONDoc: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1083: + case 1084: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5522 +//line sql.y:5527 { yyLOCAL = &JSONAttributesExpr{Type: LengthAttributeType, JSONDoc: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1084: + case 1085: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5526 +//line sql.y:5531 { yyLOCAL = &JSONAttributesExpr{Type: LengthAttributeType, JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam} } yyVAL.union = yyLOCAL - case 1085: + case 1086: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5530 +//line sql.y:5535 { yyLOCAL = &JSONValueModifierExpr{Type: JSONArrayAppendType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1086: + case 1087: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5534 +//line sql.y:5539 { yyLOCAL = &JSONValueModifierExpr{Type: JSONArrayInsertType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1087: + case 1088: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5538 +//line sql.y:5543 { yyLOCAL = &JSONValueModifierExpr{Type: JSONInsertType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1088: + case 1089: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5542 +//line sql.y:5547 { yyLOCAL = &JSONValueModifierExpr{Type: JSONReplaceType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1089: + case 1090: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5546 +//line sql.y:5551 { yyLOCAL = &JSONValueModifierExpr{Type: JSONSetType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1090: + case 1091: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5550 +//line sql.y:5555 { yyLOCAL = &JSONValueMergeExpr{Type: JSONMergeType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()} } yyVAL.union = yyLOCAL - case 1091: + case 1092: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5554 +//line sql.y:5559 { yyLOCAL = &JSONValueMergeExpr{Type: JSONMergePatchType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()} } yyVAL.union = yyLOCAL - case 1092: + case 1093: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5558 +//line sql.y:5563 { yyLOCAL = &JSONValueMergeExpr{Type: JSONMergePreserveType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()} } yyVAL.union = yyLOCAL - case 1093: + case 1094: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5562 +//line sql.y:5567 { yyLOCAL = &JSONRemoveExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[5].exprsUnion()} } yyVAL.union = yyLOCAL - case 1094: + case 1095: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5566 +//line sql.y:5571 { yyLOCAL = &JSONUnquoteExpr{JSONValue: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1095: + case 1096: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5571 +//line sql.y:5576 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1096: + case 1097: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5575 +//line sql.y:5580 { yyLOCAL = yyDollar[2].convertTypeUnion() } yyVAL.union = yyLOCAL - case 1097: + case 1098: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []JSONPathParam -//line sql.y:5580 +//line sql.y:5585 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1098: + case 1099: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []JSONPathParam -//line sql.y:5584 +//line sql.y:5589 { yyLOCAL = yyDollar[2].jsonPathParamsUnion() } yyVAL.union = yyLOCAL - case 1099: + case 1100: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []JSONPathParam -//line sql.y:5590 +//line sql.y:5595 { yyLOCAL = []JSONPathParam{yyDollar[1].jsonPathParam} } yyVAL.union = yyLOCAL - case 1100: + case 1101: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5594 +//line sql.y:5599 { yySLICE := (*[]JSONPathParam)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].jsonPathParam) } - case 1101: + case 1102: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5600 +//line sql.y:5605 { yyVAL.jsonPathParam = JSONPathParam(yyDollar[1].exprUnion()) } - case 1102: + case 1103: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5604 +//line sql.y:5609 { yyVAL.jsonPathParam = JSONPathParam(yyDollar[1].colNameUnion()) } - case 1103: + case 1104: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5610 +//line sql.y:5615 { } - case 1104: + case 1105: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5612 +//line sql.y:5617 { yyLOCAL = IntervalDayHour } yyVAL.union = yyLOCAL - case 1105: + case 1106: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5616 +//line sql.y:5621 { yyLOCAL = IntervalDayMicrosecond } yyVAL.union = yyLOCAL - case 1106: + case 1107: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5620 +//line sql.y:5625 { yyLOCAL = IntervalDayMinute } yyVAL.union = yyLOCAL - case 1107: + case 1108: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5624 +//line sql.y:5629 { yyLOCAL = IntervalDaySecond } yyVAL.union = yyLOCAL - case 1108: + case 1109: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5628 +//line sql.y:5633 { yyLOCAL = IntervalHourMicrosecond } yyVAL.union = yyLOCAL - case 1109: + case 1110: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5632 +//line sql.y:5637 { yyLOCAL = IntervalHourMinute } yyVAL.union = yyLOCAL - case 1110: + case 1111: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5636 +//line sql.y:5641 { yyLOCAL = IntervalHourSecond } yyVAL.union = yyLOCAL - case 1111: + case 1112: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5640 +//line sql.y:5645 { yyLOCAL = IntervalMinuteMicrosecond } yyVAL.union = yyLOCAL - case 1112: + case 1113: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5644 +//line sql.y:5649 { yyLOCAL = IntervalMinuteSecond } yyVAL.union = yyLOCAL - case 1113: + case 1114: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5648 +//line sql.y:5653 { yyLOCAL = IntervalSecondMicrosecond } yyVAL.union = yyLOCAL - case 1114: + case 1115: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5652 +//line sql.y:5657 { yyLOCAL = IntervalYearMonth } yyVAL.union = yyLOCAL - case 1115: + case 1116: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5658 +//line sql.y:5663 { yyLOCAL = IntervalDay } yyVAL.union = yyLOCAL - case 1116: + case 1117: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5662 +//line sql.y:5667 { yyLOCAL = IntervalWeek } yyVAL.union = yyLOCAL - case 1117: + case 1118: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5666 +//line sql.y:5671 { yyLOCAL = IntervalHour } yyVAL.union = yyLOCAL - case 1118: + case 1119: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5670 +//line sql.y:5675 { yyLOCAL = IntervalMinute } yyVAL.union = yyLOCAL - case 1119: + case 1120: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5674 +//line sql.y:5679 { yyLOCAL = IntervalMonth } yyVAL.union = yyLOCAL - case 1120: + case 1121: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5678 +//line sql.y:5683 { yyLOCAL = IntervalQuarter } yyVAL.union = yyLOCAL - case 1121: + case 1122: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5682 +//line sql.y:5687 { yyLOCAL = IntervalSecond } yyVAL.union = yyLOCAL - case 1122: + case 1123: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5686 +//line sql.y:5691 { yyLOCAL = IntervalMicrosecond } yyVAL.union = yyLOCAL - case 1123: + case 1124: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5690 +//line sql.y:5695 { yyLOCAL = IntervalYear } yyVAL.union = yyLOCAL - case 1126: + case 1127: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:5700 +//line sql.y:5705 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1127: + case 1128: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5704 +//line sql.y:5709 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1128: + case 1129: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5708 +//line sql.y:5713 { yyLOCAL = NewIntLiteral(yyDollar[2].str) } yyVAL.union = yyLOCAL - case 1129: + case 1130: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5712 +//line sql.y:5717 { yyLOCAL = NewArgument(yyDollar[2].str[1:]) bindVariable(yylex, yyDollar[2].str[1:]) } yyVAL.union = yyLOCAL - case 1130: + case 1131: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5723 +//line sql.y:5728 { yyLOCAL = &FuncExpr{Name: NewColIdent("if"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1131: + case 1132: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5727 +//line sql.y:5732 { yyLOCAL = &FuncExpr{Name: NewColIdent("database"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1132: + case 1133: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5731 +//line sql.y:5736 { yyLOCAL = &FuncExpr{Name: NewColIdent("schema"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1133: + case 1134: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5735 +//line sql.y:5740 { yyLOCAL = &FuncExpr{Name: NewColIdent("mod"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1134: + case 1135: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5739 +//line sql.y:5744 { yyLOCAL = &FuncExpr{Name: NewColIdent("replace"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1135: + case 1136: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:5745 +//line sql.y:5750 { yyLOCAL = NoOption } yyVAL.union = yyLOCAL - case 1136: + case 1137: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:5749 +//line sql.y:5754 { yyLOCAL = BooleanModeOpt } yyVAL.union = yyLOCAL - case 1137: + case 1138: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:5753 +//line sql.y:5758 { yyLOCAL = NaturalLanguageModeOpt } yyVAL.union = yyLOCAL - case 1138: + case 1139: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:5757 +//line sql.y:5762 { yyLOCAL = NaturalLanguageModeWithQueryExpansionOpt } yyVAL.union = yyLOCAL - case 1139: + case 1140: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:5761 +//line sql.y:5766 { yyLOCAL = QueryExpansionOpt } yyVAL.union = yyLOCAL - case 1140: + case 1141: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5767 +//line sql.y:5772 { yyVAL.str = string(yyDollar[1].colIdent.String()) } - case 1141: + case 1142: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5771 +//line sql.y:5776 { yyVAL.str = string(yyDollar[1].str) } - case 1142: + case 1143: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5775 +//line sql.y:5780 { yyVAL.str = string(yyDollar[1].str) } - case 1143: + case 1144: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5781 +//line sql.y:5786 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1144: + case 1145: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5785 +//line sql.y:5790 { yyLOCAL = &ConvertType{Type: string(yyDollar[2].str), Length: NewIntLiteral(yyDollar[4].str)} } yyVAL.union = yyLOCAL - case 1145: + case 1146: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5789 +//line sql.y:5794 { yyLOCAL = &ConvertType{Type: string(yyDollar[2].str), Length: NewIntLiteral(yyDollar[4].str)} } yyVAL.union = yyLOCAL - case 1146: + case 1147: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5795 +//line sql.y:5800 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } yyVAL.union = yyLOCAL - case 1147: + case 1148: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5799 +//line sql.y:5804 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion(), Charset: yyDollar[3].columnCharset} } yyVAL.union = yyLOCAL - case 1148: + case 1149: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5803 +//line sql.y:5808 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1149: + case 1150: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5807 +//line sql.y:5812 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } yyVAL.union = yyLOCAL - case 1150: + case 1151: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5811 +//line sql.y:5816 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} yyLOCAL.Length = yyDollar[2].LengthScaleOption.Length yyLOCAL.Scale = yyDollar[2].LengthScaleOption.Scale } yyVAL.union = yyLOCAL - case 1151: + case 1152: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5817 +//line sql.y:5822 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1152: + case 1153: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5821 +//line sql.y:5826 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } yyVAL.union = yyLOCAL - case 1153: + case 1154: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5825 +//line sql.y:5830 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1154: + case 1155: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5829 +//line sql.y:5834 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1155: + case 1156: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5833 +//line sql.y:5838 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } yyVAL.union = yyLOCAL - case 1156: + case 1157: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5837 +//line sql.y:5842 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1157: + case 1158: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5841 +//line sql.y:5846 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1158: + case 1159: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5845 +//line sql.y:5850 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } yyVAL.union = yyLOCAL - case 1159: + case 1160: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5849 +//line sql.y:5854 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1160: + case 1161: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5853 +//line sql.y:5858 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1161: + case 1162: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:5859 +//line sql.y:5864 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1162: + case 1163: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5863 +//line sql.y:5868 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 1163: + case 1164: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5868 +//line sql.y:5873 { yyVAL.str = string("") } - case 1164: + case 1165: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5872 +//line sql.y:5877 { yyVAL.str = " separator " + encodeSQLString(yyDollar[2].str) } - case 1165: + case 1166: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*When -//line sql.y:5878 +//line sql.y:5883 { yyLOCAL = []*When{yyDollar[1].whenUnion()} } yyVAL.union = yyLOCAL - case 1166: + case 1167: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5882 +//line sql.y:5887 { yySLICE := (*[]*When)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].whenUnion()) } - case 1167: + case 1168: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *When -//line sql.y:5888 +//line sql.y:5893 { yyLOCAL = &When{Cond: yyDollar[2].exprUnion(), Val: yyDollar[4].exprUnion()} } yyVAL.union = yyLOCAL - case 1168: + case 1169: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:5893 +//line sql.y:5898 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1169: + case 1170: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5897 +//line sql.y:5902 { yyLOCAL = yyDollar[2].exprUnion() } yyVAL.union = yyLOCAL - case 1170: + case 1171: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ColName -//line sql.y:5903 +//line sql.y:5908 { yyLOCAL = &ColName{Name: yyDollar[1].colIdent} } yyVAL.union = yyLOCAL - case 1171: + case 1172: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColName -//line sql.y:5907 +//line sql.y:5912 { yyLOCAL = &ColName{Qualifier: TableName{Name: yyDollar[1].tableIdent}, Name: yyDollar[3].colIdent} } yyVAL.union = yyLOCAL - case 1172: + case 1173: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ColName -//line sql.y:5911 +//line sql.y:5916 { yyLOCAL = &ColName{Qualifier: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}, Name: yyDollar[5].colIdent} } yyVAL.union = yyLOCAL - case 1173: + case 1174: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5917 +//line sql.y:5922 { // TODO(sougou): Deprecate this construct. if yyDollar[1].colIdent.Lowered() != "value" { @@ -16854,388 +16940,388 @@ yydefault: yyLOCAL = NewIntLiteral("1") } yyVAL.union = yyLOCAL - case 1174: + case 1175: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5926 +//line sql.y:5931 { yyLOCAL = NewIntLiteral(yyDollar[1].str) } yyVAL.union = yyLOCAL - case 1175: + case 1176: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5930 +//line sql.y:5935 { yyLOCAL = NewArgument(yyDollar[1].str[1:]) bindVariable(yylex, yyDollar[1].str[1:]) } yyVAL.union = yyLOCAL - case 1176: + case 1177: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Exprs -//line sql.y:5936 +//line sql.y:5941 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1177: + case 1178: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Exprs -//line sql.y:5940 +//line sql.y:5945 { yyLOCAL = yyDollar[3].exprsUnion() } yyVAL.union = yyLOCAL - case 1178: + case 1179: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:5945 +//line sql.y:5950 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1179: + case 1180: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5949 +//line sql.y:5954 { yyLOCAL = yyDollar[2].exprUnion() } yyVAL.union = yyLOCAL - case 1180: + case 1181: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL OrderBy -//line sql.y:5954 +//line sql.y:5959 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1181: + case 1182: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL OrderBy -//line sql.y:5958 +//line sql.y:5963 { yyLOCAL = yyDollar[1].orderByUnion() } yyVAL.union = yyLOCAL - case 1182: + case 1183: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL OrderBy -//line sql.y:5964 +//line sql.y:5969 { yyLOCAL = yyDollar[3].orderByUnion() } yyVAL.union = yyLOCAL - case 1183: + case 1184: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL OrderBy -//line sql.y:5970 +//line sql.y:5975 { yyLOCAL = OrderBy{yyDollar[1].orderUnion()} } yyVAL.union = yyLOCAL - case 1184: + case 1185: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5974 +//line sql.y:5979 { yySLICE := (*OrderBy)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].orderUnion()) } - case 1185: + case 1186: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Order -//line sql.y:5980 +//line sql.y:5985 { yyLOCAL = &Order{Expr: yyDollar[1].exprUnion(), Direction: yyDollar[2].orderDirectionUnion()} } yyVAL.union = yyLOCAL - case 1186: + case 1187: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL OrderDirection -//line sql.y:5985 +//line sql.y:5990 { yyLOCAL = AscOrder } yyVAL.union = yyLOCAL - case 1187: + case 1188: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL OrderDirection -//line sql.y:5989 +//line sql.y:5994 { yyLOCAL = AscOrder } yyVAL.union = yyLOCAL - case 1188: + case 1189: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL OrderDirection -//line sql.y:5993 +//line sql.y:5998 { yyLOCAL = DescOrder } yyVAL.union = yyLOCAL - case 1189: + case 1190: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *Limit -//line sql.y:5998 +//line sql.y:6003 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1190: + case 1191: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Limit -//line sql.y:6002 +//line sql.y:6007 { yyLOCAL = yyDollar[1].limitUnion() } yyVAL.union = yyLOCAL - case 1191: + case 1192: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Limit -//line sql.y:6008 +//line sql.y:6013 { yyLOCAL = &Limit{Rowcount: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 1192: + case 1193: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Limit -//line sql.y:6012 +//line sql.y:6017 { yyLOCAL = &Limit{Offset: yyDollar[2].exprUnion(), Rowcount: yyDollar[4].exprUnion()} } yyVAL.union = yyLOCAL - case 1193: + case 1194: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Limit -//line sql.y:6016 +//line sql.y:6021 { yyLOCAL = &Limit{Offset: yyDollar[4].exprUnion(), Rowcount: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 1194: + case 1195: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:6021 +//line sql.y:6026 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1195: + case 1196: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:6025 +//line sql.y:6030 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion(), yyDollar[2].alterOptionUnion()} } yyVAL.union = yyLOCAL - case 1196: + case 1197: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:6029 +//line sql.y:6034 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion(), yyDollar[2].alterOptionUnion()} } yyVAL.union = yyLOCAL - case 1197: + case 1198: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:6033 +//line sql.y:6038 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} } yyVAL.union = yyLOCAL - case 1198: + case 1199: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:6037 +//line sql.y:6042 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} } yyVAL.union = yyLOCAL - case 1199: + case 1200: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6044 +//line sql.y:6049 { yyLOCAL = &LockOption{Type: DefaultType} } yyVAL.union = yyLOCAL - case 1200: + case 1201: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6048 +//line sql.y:6053 { yyLOCAL = &LockOption{Type: NoneType} } yyVAL.union = yyLOCAL - case 1201: + case 1202: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6052 +//line sql.y:6057 { yyLOCAL = &LockOption{Type: SharedType} } yyVAL.union = yyLOCAL - case 1202: + case 1203: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6056 +//line sql.y:6061 { yyLOCAL = &LockOption{Type: ExclusiveType} } yyVAL.union = yyLOCAL - case 1203: + case 1204: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6062 +//line sql.y:6067 { yyLOCAL = AlgorithmValue(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1204: + case 1205: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6066 +//line sql.y:6071 { yyLOCAL = AlgorithmValue(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1205: + case 1206: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6070 +//line sql.y:6075 { yyLOCAL = AlgorithmValue(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1206: + case 1207: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6074 +//line sql.y:6079 { yyLOCAL = AlgorithmValue(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1207: + case 1208: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6079 +//line sql.y:6084 { yyVAL.str = "" } - case 1208: + case 1209: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6083 +//line sql.y:6088 { yyVAL.str = string(yyDollar[3].str) } - case 1209: + case 1210: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6087 +//line sql.y:6092 { yyVAL.str = string(yyDollar[3].str) } - case 1210: + case 1211: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6091 +//line sql.y:6096 { yyVAL.str = string(yyDollar[3].str) } - case 1211: + case 1212: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6096 +//line sql.y:6101 { yyVAL.str = "" } - case 1212: + case 1213: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6100 +//line sql.y:6105 { yyVAL.str = yyDollar[3].str } - case 1213: + case 1214: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6106 +//line sql.y:6111 { yyVAL.str = string(yyDollar[1].str) } - case 1214: + case 1215: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6110 +//line sql.y:6115 { yyVAL.str = string(yyDollar[1].str) } - case 1215: + case 1216: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6115 +//line sql.y:6120 { yyVAL.str = "" } - case 1216: + case 1217: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:6119 +//line sql.y:6124 { yyVAL.str = yyDollar[2].str } - case 1217: + case 1218: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6124 +//line sql.y:6129 { yyVAL.str = "cascaded" } - case 1218: + case 1219: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6128 +//line sql.y:6133 { yyVAL.str = string(yyDollar[1].str) } - case 1219: + case 1220: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6132 +//line sql.y:6137 { yyVAL.str = string(yyDollar[1].str) } - case 1220: + case 1221: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *Definer -//line sql.y:6137 +//line sql.y:6142 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1221: + case 1222: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *Definer -//line sql.y:6141 +//line sql.y:6146 { yyLOCAL = yyDollar[3].definerUnion() } yyVAL.union = yyLOCAL - case 1222: + case 1223: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Definer -//line sql.y:6147 +//line sql.y:6152 { yyLOCAL = &Definer{ Name: string(yyDollar[1].str), } } yyVAL.union = yyLOCAL - case 1223: + case 1224: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *Definer -//line sql.y:6153 +//line sql.y:6158 { yyLOCAL = &Definer{ Name: string(yyDollar[1].str), } } yyVAL.union = yyLOCAL - case 1224: + case 1225: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Definer -//line sql.y:6159 +//line sql.y:6164 { yyLOCAL = &Definer{ Name: yyDollar[1].str, @@ -17243,361 +17329,361 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1225: + case 1226: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6168 +//line sql.y:6173 { yyVAL.str = encodeSQLString(yyDollar[1].str) } - case 1226: + case 1227: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6172 +//line sql.y:6177 { yyVAL.str = formatIdentifier(yyDollar[1].str) } - case 1227: + case 1228: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6177 +//line sql.y:6182 { yyVAL.str = "" } - case 1228: + case 1229: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6181 +//line sql.y:6186 { yyVAL.str = formatAddress(yyDollar[1].str) } - case 1229: + case 1230: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Lock -//line sql.y:6187 +//line sql.y:6192 { yyLOCAL = ForUpdateLock } yyVAL.union = yyLOCAL - case 1230: + case 1231: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Lock -//line sql.y:6191 +//line sql.y:6196 { yyLOCAL = ShareModeLock } yyVAL.union = yyLOCAL - case 1231: + case 1232: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL *SelectInto -//line sql.y:6197 +//line sql.y:6202 { yyLOCAL = &SelectInto{Type: IntoOutfileS3, FileName: encodeSQLString(yyDollar[4].str), Charset: yyDollar[5].columnCharset, FormatOption: yyDollar[6].str, ExportOption: yyDollar[7].str, Manifest: yyDollar[8].str, Overwrite: yyDollar[9].str} } yyVAL.union = yyLOCAL - case 1232: + case 1233: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SelectInto -//line sql.y:6201 +//line sql.y:6206 { yyLOCAL = &SelectInto{Type: IntoDumpfile, FileName: encodeSQLString(yyDollar[3].str), Charset: ColumnCharset{}, FormatOption: "", ExportOption: "", Manifest: "", Overwrite: ""} } yyVAL.union = yyLOCAL - case 1233: + case 1234: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *SelectInto -//line sql.y:6205 +//line sql.y:6210 { yyLOCAL = &SelectInto{Type: IntoOutfile, FileName: encodeSQLString(yyDollar[3].str), Charset: yyDollar[4].columnCharset, FormatOption: "", ExportOption: yyDollar[5].str, Manifest: "", Overwrite: ""} } yyVAL.union = yyLOCAL - case 1234: + case 1235: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6210 +//line sql.y:6215 { yyVAL.str = "" } - case 1235: + case 1236: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6214 +//line sql.y:6219 { yyVAL.str = " format csv" + yyDollar[3].str } - case 1236: + case 1237: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6218 +//line sql.y:6223 { yyVAL.str = " format text" + yyDollar[3].str } - case 1237: + case 1238: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6223 +//line sql.y:6228 { yyVAL.str = "" } - case 1238: + case 1239: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6227 +//line sql.y:6232 { yyVAL.str = " header" } - case 1239: + case 1240: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6232 +//line sql.y:6237 { yyVAL.str = "" } - case 1240: + case 1241: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6236 +//line sql.y:6241 { yyVAL.str = " manifest on" } - case 1241: + case 1242: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6240 +//line sql.y:6245 { yyVAL.str = " manifest off" } - case 1242: + case 1243: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6245 +//line sql.y:6250 { yyVAL.str = "" } - case 1243: + case 1244: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6249 +//line sql.y:6254 { yyVAL.str = " overwrite on" } - case 1244: + case 1245: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6253 +//line sql.y:6258 { yyVAL.str = " overwrite off" } - case 1245: + case 1246: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6259 +//line sql.y:6264 { yyVAL.str = yyDollar[1].str + yyDollar[2].str } - case 1246: + case 1247: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6264 +//line sql.y:6269 { yyVAL.str = "" } - case 1247: + case 1248: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6268 +//line sql.y:6273 { yyVAL.str = " lines" + yyDollar[2].str } - case 1248: + case 1249: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6274 +//line sql.y:6279 { yyVAL.str = yyDollar[1].str } - case 1249: + case 1250: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6278 +//line sql.y:6283 { yyVAL.str = yyDollar[1].str + yyDollar[2].str } - case 1250: + case 1251: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6284 +//line sql.y:6289 { yyVAL.str = " starting by " + encodeSQLString(yyDollar[3].str) } - case 1251: + case 1252: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6288 +//line sql.y:6293 { yyVAL.str = " terminated by " + encodeSQLString(yyDollar[3].str) } - case 1252: + case 1253: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6293 +//line sql.y:6298 { yyVAL.str = "" } - case 1253: + case 1254: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6297 +//line sql.y:6302 { yyVAL.str = " " + yyDollar[1].str + yyDollar[2].str } - case 1254: + case 1255: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6303 +//line sql.y:6308 { yyVAL.str = yyDollar[1].str } - case 1255: + case 1256: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6307 +//line sql.y:6312 { yyVAL.str = yyDollar[1].str + yyDollar[2].str } - case 1256: + case 1257: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6313 +//line sql.y:6318 { yyVAL.str = " terminated by " + encodeSQLString(yyDollar[3].str) } - case 1257: + case 1258: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:6317 +//line sql.y:6322 { yyVAL.str = yyDollar[1].str + " enclosed by " + encodeSQLString(yyDollar[4].str) } - case 1258: + case 1259: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6321 +//line sql.y:6326 { yyVAL.str = " escaped by " + encodeSQLString(yyDollar[3].str) } - case 1259: + case 1260: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6326 +//line sql.y:6331 { yyVAL.str = "" } - case 1260: + case 1261: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6330 +//line sql.y:6335 { yyVAL.str = " optionally" } - case 1261: + case 1262: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Insert -//line sql.y:6343 +//line sql.y:6348 { yyLOCAL = &Insert{Rows: yyDollar[2].valuesUnion()} } yyVAL.union = yyLOCAL - case 1262: + case 1263: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Insert -//line sql.y:6347 +//line sql.y:6352 { yyLOCAL = &Insert{Rows: yyDollar[1].selStmtUnion()} } yyVAL.union = yyLOCAL - case 1263: + case 1264: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *Insert -//line sql.y:6351 +//line sql.y:6356 { yyLOCAL = &Insert{Columns: yyDollar[2].columnsUnion(), Rows: yyDollar[5].valuesUnion()} } yyVAL.union = yyLOCAL - case 1264: + case 1265: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Insert -//line sql.y:6355 +//line sql.y:6360 { yyLOCAL = &Insert{Rows: yyDollar[4].valuesUnion()} } yyVAL.union = yyLOCAL - case 1265: + case 1266: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Insert -//line sql.y:6359 +//line sql.y:6364 { yyLOCAL = &Insert{Columns: yyDollar[2].columnsUnion(), Rows: yyDollar[4].selStmtUnion()} } yyVAL.union = yyLOCAL - case 1266: + case 1267: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:6365 +//line sql.y:6370 { yyLOCAL = Columns{yyDollar[1].colIdent} } yyVAL.union = yyLOCAL - case 1267: + case 1268: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Columns -//line sql.y:6369 +//line sql.y:6374 { yyLOCAL = Columns{yyDollar[3].colIdent} } yyVAL.union = yyLOCAL - case 1268: + case 1269: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6373 +//line sql.y:6378 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].colIdent) } - case 1269: + case 1270: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:6377 +//line sql.y:6382 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[5].colIdent) } - case 1270: + case 1271: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL UpdateExprs -//line sql.y:6382 +//line sql.y:6387 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1271: + case 1272: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL UpdateExprs -//line sql.y:6386 +//line sql.y:6391 { yyLOCAL = yyDollar[5].updateExprsUnion() } yyVAL.union = yyLOCAL - case 1272: + case 1273: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Values -//line sql.y:6392 +//line sql.y:6397 { yyLOCAL = Values{yyDollar[1].valTupleUnion()} } yyVAL.union = yyLOCAL - case 1273: + case 1274: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6396 +//line sql.y:6401 { yySLICE := (*Values)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].valTupleUnion()) } - case 1274: + case 1275: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ValTuple -//line sql.y:6402 +//line sql.y:6407 { yyLOCAL = yyDollar[1].valTupleUnion() } yyVAL.union = yyLOCAL - case 1275: + case 1276: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ValTuple -//line sql.y:6406 +//line sql.y:6411 { yyLOCAL = ValTuple{} } yyVAL.union = yyLOCAL - case 1276: + case 1277: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ValTuple -//line sql.y:6412 +//line sql.y:6417 { yyLOCAL = ValTuple(yyDollar[2].exprsUnion()) } yyVAL.union = yyLOCAL - case 1277: + case 1278: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:6417 +//line sql.y:6422 { if len(yyDollar[1].valTupleUnion()) == 1 { yyLOCAL = yyDollar[1].valTupleUnion()[0] @@ -17606,329 +17692,329 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1278: + case 1279: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL UpdateExprs -//line sql.y:6427 +//line sql.y:6432 { yyLOCAL = UpdateExprs{yyDollar[1].updateExprUnion()} } yyVAL.union = yyLOCAL - case 1279: + case 1280: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6431 +//line sql.y:6436 { yySLICE := (*UpdateExprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].updateExprUnion()) } - case 1280: + case 1281: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *UpdateExpr -//line sql.y:6437 +//line sql.y:6442 { yyLOCAL = &UpdateExpr{Name: yyDollar[1].colNameUnion(), Expr: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1281: + case 1282: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SetExprs -//line sql.y:6443 +//line sql.y:6448 { yyLOCAL = SetExprs{yyDollar[1].setExprUnion()} } yyVAL.union = yyLOCAL - case 1282: + case 1283: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6447 +//line sql.y:6452 { yySLICE := (*SetExprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].setExprUnion()) } - case 1283: + case 1284: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:6453 +//line sql.y:6458 { yyLOCAL = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: NewStrLiteral("on")} } yyVAL.union = yyLOCAL - case 1284: + case 1285: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:6457 +//line sql.y:6462 { yyLOCAL = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: NewStrLiteral("off")} } yyVAL.union = yyLOCAL - case 1285: + case 1286: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:6461 +//line sql.y:6466 { yyLOCAL = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1286: + case 1287: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:6465 +//line sql.y:6470 { yyLOCAL = &SetExpr{Name: NewColIdent(string(yyDollar[1].str)), Scope: ImplicitScope, Expr: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 1287: + case 1288: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:6469 +//line sql.y:6474 { yyDollar[2].setExprUnion().Scope = yyDollar[1].scopeUnion() yyLOCAL = yyDollar[2].setExprUnion() } yyVAL.union = yyLOCAL - case 1289: + case 1290: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6477 +//line sql.y:6482 { yyVAL.str = "charset" } - case 1292: + case 1293: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:6487 +//line sql.y:6492 { yyLOCAL = NewStrLiteral(yyDollar[1].colIdent.String()) } yyVAL.union = yyLOCAL - case 1293: + case 1294: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:6491 +//line sql.y:6496 { yyLOCAL = NewStrLiteral(yyDollar[1].str) } yyVAL.union = yyLOCAL - case 1294: + case 1295: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:6495 +//line sql.y:6500 { yyLOCAL = &Default{} } yyVAL.union = yyLOCAL - case 1297: + case 1298: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:6504 +//line sql.y:6509 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1298: + case 1299: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:6506 +//line sql.y:6511 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1299: + case 1300: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:6509 +//line sql.y:6514 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1300: + case 1301: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:6511 +//line sql.y:6516 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1301: + case 1302: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:6514 +//line sql.y:6519 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1302: + case 1303: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL bool -//line sql.y:6516 +//line sql.y:6521 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1303: + case 1304: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Ignore -//line sql.y:6519 +//line sql.y:6524 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1304: + case 1305: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Ignore -//line sql.y:6521 +//line sql.y:6526 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1305: + case 1306: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6524 +//line sql.y:6529 { yyVAL.empty = struct{}{} } - case 1306: + case 1307: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6526 +//line sql.y:6531 { yyVAL.empty = struct{}{} } - case 1307: + case 1308: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6528 +//line sql.y:6533 { yyVAL.empty = struct{}{} } - case 1308: + case 1309: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:6532 +//line sql.y:6537 { yyLOCAL = &CallProc{Name: yyDollar[2].tableName, Params: yyDollar[4].exprsUnion()} } yyVAL.union = yyLOCAL - case 1309: + case 1310: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Exprs -//line sql.y:6537 +//line sql.y:6542 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1310: + case 1311: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Exprs -//line sql.y:6541 +//line sql.y:6546 { yyLOCAL = yyDollar[1].exprsUnion() } yyVAL.union = yyLOCAL - case 1311: + case 1312: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:6546 +//line sql.y:6551 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1312: + case 1313: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:6548 +//line sql.y:6553 { yyLOCAL = []*IndexOption{yyDollar[1].indexOptionUnion()} } yyVAL.union = yyLOCAL - case 1313: + case 1314: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:6552 +//line sql.y:6557 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), String: string(yyDollar[2].colIdent.String())} } yyVAL.union = yyLOCAL - case 1314: + case 1315: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6558 +//line sql.y:6563 { yyVAL.colIdent = yyDollar[1].colIdent } - case 1315: + case 1316: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6562 +//line sql.y:6567 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].str)) } - case 1317: + case 1318: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6569 +//line sql.y:6574 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].str)) } - case 1318: + case 1319: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6575 +//line sql.y:6580 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].colIdent.String())) } - case 1319: + case 1320: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6579 +//line sql.y:6584 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].str)) } - case 1320: + case 1321: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6585 +//line sql.y:6590 { yyVAL.tableIdent = NewTableIdent("") } - case 1321: + case 1322: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6589 +//line sql.y:6594 { yyVAL.tableIdent = yyDollar[1].tableIdent } - case 1323: + case 1324: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6596 +//line sql.y:6601 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].str)) } - case 1827: + case 1829: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7124 +//line sql.y:7130 { if incNesting(yylex) { yylex.Error("max nesting level reached") return 1 } } - case 1828: + case 1830: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7133 +//line sql.y:7139 { decNesting(yylex) } - case 1829: + case 1831: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7138 +//line sql.y:7144 { skipToEnd(yylex) } - case 1830: + case 1832: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7143 +//line sql.y:7149 { skipToEnd(yylex) } - case 1831: + case 1833: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7147 +//line sql.y:7153 { skipToEnd(yylex) } - case 1832: + case 1834: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7151 +//line sql.y:7157 { skipToEnd(yylex) } diff --git a/go/vt/sqlparser/sql.y b/go/vt/sqlparser/sql.y index ea0f8e177e0..686b2576955 100644 --- a/go/vt/sqlparser/sql.y +++ b/go/vt/sqlparser/sql.y @@ -327,6 +327,7 @@ func bindVariable(yylex yyLexer, bvar string) { %token AVG // aggregate function %token MAX // aggregate function %token MIN // aggregate function +%token SUM // aggregate function // Match %token MATCH AGAINST BOOLEAN LANGUAGE WITH QUERY EXPANSION WITHOUT VALIDATION @@ -5394,6 +5395,10 @@ UTC_DATE func_paren_opt { $$ = &Min{Arg:$3} } +| SUM openb distinct_opt expression closeb + { + $$ = &Sum{Arg:$4, Distinct:$3} + } | TIMESTAMPADD openb sql_id ',' expression ',' expression closeb { $$ = &TimestampFuncExpr{Name:string("timestampadd"), Unit:$3.String(), Expr1:$5, Expr2:$7} @@ -7042,6 +7047,7 @@ non_reserved_keyword: | STREAM | SUBPARTITION | SUBPARTITIONS +| SUM | TABLES | TABLESPACE | TEMPORARY From 0bbb68c577f9d2c73694dd9a9d4790700511b478 Mon Sep 17 00:00:00 2001 From: Rameez Sajwani Date: Fri, 20 May 2022 13:03:12 -0700 Subject: [PATCH 07/22] SQLParser:Refactoring Fixing Parser Aggr Function Signed-off-by: Rameez Sajwani --- go/vt/sqlparser/ast.go | 197 ++++++++++++------ go/vt/sqlparser/ast_format.go | 6 +- go/vt/sqlparser/ast_format_fast.go | 6 +- go/vt/sqlparser/ast_funcs.go | 58 ++++++ go/vt/sqlparser/parse_test.go | 6 +- .../planbuilder/abstract/queryprojection.go | 26 ++- .../vtgate/planbuilder/aggregation_pushing.go | 8 +- go/vt/vtgate/planbuilder/horizon_planning.go | 24 ++- go/vt/vtgate/planbuilder/memory_sort.go | 2 + go/vt/vtgate/planbuilder/ordered_aggregate.go | 92 ++++++++ go/vt/vtgate/planbuilder/plan_test.go | 1 + go/vt/vtgate/planbuilder/project.go | 16 +- go/vt/vtgate/planbuilder/route.go | 2 + go/vt/vtgate/planbuilder/testdata/onecase.txt | 69 +++++- 14 files changed, 418 insertions(+), 95 deletions(-) diff --git a/go/vt/sqlparser/ast.go b/go/vt/sqlparser/ast.go index cc359040630..a03d41a49ca 100644 --- a/go/vt/sqlparser/ast.go +++ b/go/vt/sqlparser/ast.go @@ -2083,6 +2083,7 @@ type ( Expr interface { iExpr() SQLNode + AggrFunc } Callable interface { @@ -2557,6 +2558,10 @@ type ( JSONValue Expr } + AggrFunc interface { + isAggregate() (bool, string) + } + Count struct { Arg Expr Distinct bool @@ -2586,70 +2591,134 @@ type ( ) // iExpr ensures that only expressions nodes can be assigned to a Expr -func (*Sum) iExpr() {} -func (*Min) iExpr() {} -func (*Max) iExpr() {} -func (*Avg) iExpr() {} -func (*CountStar) iExpr() {} -func (*Count) iExpr() {} -func (*AndExpr) iExpr() {} -func (*OrExpr) iExpr() {} -func (*XorExpr) iExpr() {} -func (*NotExpr) iExpr() {} -func (*ComparisonExpr) iExpr() {} -func (*BetweenExpr) iExpr() {} -func (*IsExpr) iExpr() {} -func (*ExistsExpr) iExpr() {} -func (*Literal) iExpr() {} -func (Argument) iExpr() {} -func (*NullVal) iExpr() {} -func (BoolVal) iExpr() {} -func (*ColName) iExpr() {} -func (ValTuple) iExpr() {} -func (*Subquery) iExpr() {} -func (ListArg) iExpr() {} -func (*BinaryExpr) iExpr() {} -func (*UnaryExpr) iExpr() {} -func (*IntroducerExpr) iExpr() {} -func (*IntervalExpr) iExpr() {} -func (*CollateExpr) iExpr() {} -func (*FuncExpr) iExpr() {} -func (*TimestampFuncExpr) iExpr() {} -func (*ExtractFuncExpr) iExpr() {} -func (*WeightStringFuncExpr) iExpr() {} -func (*CurTimeFuncExpr) iExpr() {} -func (*CaseExpr) iExpr() {} -func (*ValuesFuncExpr) iExpr() {} -func (*ConvertExpr) iExpr() {} -func (*SubstrExpr) iExpr() {} -func (*ConvertUsingExpr) iExpr() {} -func (*MatchExpr) iExpr() {} -func (*GroupConcatExpr) iExpr() {} -func (*Default) iExpr() {} -func (*ExtractedSubquery) iExpr() {} -func (*TrimFuncExpr) iExpr() {} -func (*JSONSchemaValidFuncExpr) iExpr() {} -func (*JSONSchemaValidationReportFuncExpr) iExpr() {} -func (Offset) iExpr() {} -func (*JSONPrettyExpr) iExpr() {} -func (*JSONStorageFreeExpr) iExpr() {} -func (*JSONStorageSizeExpr) iExpr() {} -func (*JSONContainsExpr) iExpr() {} -func (*JSONContainsPathExpr) iExpr() {} -func (*JSONExtractExpr) iExpr() {} -func (*JSONKeysExpr) iExpr() {} -func (*JSONOverlapsExpr) iExpr() {} -func (*JSONSearchExpr) iExpr() {} -func (*JSONValueExpr) iExpr() {} -func (*JSONArrayExpr) iExpr() {} -func (*JSONObjectExpr) iExpr() {} -func (*JSONQuoteExpr) iExpr() {} -func (*JSONAttributesExpr) iExpr() {} -func (*JSONValueModifierExpr) iExpr() {} -func (*JSONValueMergeExpr) iExpr() {} -func (*JSONRemoveExpr) iExpr() {} -func (*JSONUnquoteExpr) iExpr() {} -func (*MemberOfExpr) iExpr() {} +func (*Sum) iExpr() {} +func (*Min) iExpr() {} +func (*Max) iExpr() {} +func (*Avg) iExpr() {} +func (*CountStar) iExpr() {} +func (*Count) iExpr() {} +func (*Sum) isAggregate() (bool, string) { return true, "sum" } +func (*Min) isAggregate() (bool, string) { return true, "min" } +func (*Max) isAggregate() (bool, string) { return true, "max" } +func (*Avg) isAggregate() (bool, string) { return true, "avg" } +func (*CountStar) isAggregate() (bool, string) { return true, "count" } +func (*Count) isAggregate() (bool, string) { return true, "count" } +func (*AndExpr) iExpr() {} +func (*AndExpr) isAggregate() (bool, string) { return false, "" } +func (*OrExpr) iExpr() {} +func (*OrExpr) isAggregate() (bool, string) { return false, "" } +func (*XorExpr) iExpr() {} +func (*XorExpr) isAggregate() (bool, string) { return false, "" } +func (*NotExpr) iExpr() {} +func (*NotExpr) isAggregate() (bool, string) { return false, "" } +func (*ComparisonExpr) iExpr() {} +func (*ComparisonExpr) isAggregate() (bool, string) { return false, "" } +func (*BetweenExpr) iExpr() {} +func (*BetweenExpr) isAggregate() (bool, string) { return false, "" } +func (*IsExpr) iExpr() {} +func (*IsExpr) isAggregate() (bool, string) { return false, "" } +func (*ExistsExpr) iExpr() {} +func (*ExistsExpr) isAggregate() (bool, string) { return false, "" } +func (*Literal) iExpr() {} +func (*Literal) isAggregate() (bool, string) { return false, "" } +func (Argument) iExpr() {} +func (Argument) isAggregate() (bool, string) { return false, "" } +func (*NullVal) iExpr() {} +func (*NullVal) isAggregate() (bool, string) { return false, "" } +func (BoolVal) iExpr() {} +func (BoolVal) isAggregate() (bool, string) { return false, "" } +func (*ColName) iExpr() {} +func (*ColName) isAggregate() (bool, string) { return false, "" } +func (ValTuple) iExpr() {} +func (ValTuple) isAggregate() (bool, string) { return false, "" } +func (*Subquery) iExpr() {} +func (*Subquery) isAggregate() (bool, string) { return false, "" } +func (ListArg) iExpr() {} +func (ListArg) isAggregate() (bool, string) { return false, "" } +func (*BinaryExpr) iExpr() {} +func (*BinaryExpr) isAggregate() (bool, string) { return false, "" } +func (*UnaryExpr) iExpr() {} +func (*UnaryExpr) isAggregate() (bool, string) { return false, "" } +func (*IntroducerExpr) iExpr() {} +func (*IntroducerExpr) isAggregate() (bool, string) { return false, "" } +func (*IntervalExpr) iExpr() {} +func (*IntervalExpr) isAggregate() (bool, string) { return false, "" } +func (*CollateExpr) iExpr() {} +func (*CollateExpr) isAggregate() (bool, string) { return false, "" } +func (*FuncExpr) iExpr() {} +func (*FuncExpr) isAggregate() (bool, string) { return false, "" } +func (*TimestampFuncExpr) iExpr() {} +func (*TimestampFuncExpr) isAggregate() (bool, string) { return false, "" } +func (*ExtractFuncExpr) iExpr() {} +func (*ExtractFuncExpr) isAggregate() (bool, string) { return false, "" } +func (*WeightStringFuncExpr) iExpr() {} +func (*WeightStringFuncExpr) isAggregate() (bool, string) { return false, "" } +func (*CurTimeFuncExpr) iExpr() {} +func (*CurTimeFuncExpr) isAggregate() (bool, string) { return false, "" } +func (*CaseExpr) iExpr() {} +func (*CaseExpr) isAggregate() (bool, string) { return false, "" } +func (*ValuesFuncExpr) iExpr() {} +func (*ValuesFuncExpr) isAggregate() (bool, string) { return false, "" } +func (*ConvertExpr) iExpr() {} +func (*ConvertExpr) isAggregate() (bool, string) { return false, "" } +func (*SubstrExpr) iExpr() {} +func (*SubstrExpr) isAggregate() (bool, string) { return false, "" } +func (*ConvertUsingExpr) iExpr() {} +func (*ConvertUsingExpr) isAggregate() (bool, string) { return false, "" } +func (*MatchExpr) iExpr() {} +func (*MatchExpr) isAggregate() (bool, string) { return false, "" } +func (*GroupConcatExpr) iExpr() {} +func (*GroupConcatExpr) isAggregate() (bool, string) { return false, "" } +func (*Default) iExpr() {} +func (*Default) isAggregate() (bool, string) { return false, "" } +func (*ExtractedSubquery) iExpr() {} +func (*ExtractedSubquery) isAggregate() (bool, string) { return false, "" } +func (*TrimFuncExpr) iExpr() {} +func (*TrimFuncExpr) isAggregate() (bool, string) { return false, "" } +func (*JSONSchemaValidFuncExpr) iExpr() {} +func (*JSONSchemaValidFuncExpr) isAggregate() (bool, string) { return false, "" } +func (*JSONSchemaValidationReportFuncExpr) iExpr() {} +func (*JSONSchemaValidationReportFuncExpr) isAggregate() (bool, string) { return false, "" } +func (Offset) iExpr() {} +func (Offset) isAggregate() (bool, string) { return false, "" } +func (*JSONPrettyExpr) iExpr() {} +func (*JSONPrettyExpr) isAggregate() (bool, string) { return false, "" } +func (*JSONStorageFreeExpr) iExpr() {} +func (*JSONStorageFreeExpr) isAggregate() (bool, string) { return false, "" } +func (*JSONStorageSizeExpr) iExpr() {} +func (*JSONStorageSizeExpr) isAggregate() (bool, string) { return false, "" } +func (*JSONContainsExpr) iExpr() {} +func (*JSONContainsExpr) isAggregate() (bool, string) { return false, "" } +func (*JSONContainsPathExpr) iExpr() {} +func (*JSONContainsPathExpr) isAggregate() (bool, string) { return false, "" } +func (*JSONExtractExpr) iExpr() {} +func (*JSONExtractExpr) isAggregate() (bool, string) { return false, "" } +func (*JSONKeysExpr) iExpr() {} +func (*JSONKeysExpr) isAggregate() (bool, string) { return false, "" } +func (*JSONOverlapsExpr) iExpr() {} +func (*JSONOverlapsExpr) isAggregate() (bool, string) { return false, "" } +func (*JSONSearchExpr) iExpr() {} +func (*JSONSearchExpr) isAggregate() (bool, string) { return false, "" } +func (*JSONValueExpr) iExpr() {} +func (*JSONValueExpr) isAggregate() (bool, string) { return false, "" } +func (*JSONArrayExpr) iExpr() {} +func (*JSONArrayExpr) isAggregate() (bool, string) { return false, "" } +func (*JSONObjectExpr) iExpr() {} +func (*JSONObjectExpr) isAggregate() (bool, string) { return false, "" } +func (*JSONQuoteExpr) iExpr() {} +func (*JSONQuoteExpr) isAggregate() (bool, string) { return false, "" } +func (*JSONAttributesExpr) iExpr() {} +func (*JSONAttributesExpr) isAggregate() (bool, string) { return false, "" } +func (*JSONValueModifierExpr) iExpr() {} +func (*JSONValueModifierExpr) isAggregate() (bool, string) { return false, "" } +func (*JSONValueMergeExpr) iExpr() {} +func (*JSONValueMergeExpr) isAggregate() (bool, string) { return false, "" } +func (*JSONRemoveExpr) iExpr() {} +func (*JSONRemoveExpr) isAggregate() (bool, string) { return false, "" } +func (*JSONUnquoteExpr) iExpr() {} +func (*JSONUnquoteExpr) isAggregate() (bool, string) { return false, "" } +func (*MemberOfExpr) iExpr() {} +func (*MemberOfExpr) isAggregate() (bool, string) { return false, "" } // iCallable marks all expressions that represent function calls func (*FuncExpr) iCallable() {} diff --git a/go/vt/sqlparser/ast_format.go b/go/vt/sqlparser/ast_format.go index 6dedce2be76..12a3dc47597 100644 --- a/go/vt/sqlparser/ast_format.go +++ b/go/vt/sqlparser/ast_format.go @@ -2352,9 +2352,9 @@ func (node *Count) Format(buf *TrackedBuffer) { } func (node *CountStar) Format(buf *TrackedBuffer) { - buf.WriteString("count(") - buf.astPrintf(node, "%v", node.Star) - buf.WriteString(")") + //buf.WriteString("count(") + buf.WriteString("count(*)") + //buf.WriteString(")") } func (node *Avg) Format(buf *TrackedBuffer) { diff --git a/go/vt/sqlparser/ast_format_fast.go b/go/vt/sqlparser/ast_format_fast.go index 6208055289c..1542eff9641 100644 --- a/go/vt/sqlparser/ast_format_fast.go +++ b/go/vt/sqlparser/ast_format_fast.go @@ -3067,9 +3067,9 @@ func (node *Count) formatFast(buf *TrackedBuffer) { } func (node *CountStar) formatFast(buf *TrackedBuffer) { - buf.WriteString("count(") - node.Star.formatFast(buf) - buf.WriteString(")") + //buf.WriteString("count(") + buf.WriteString("count(*)") + //buf.WriteString(")") } func (node *Avg) formatFast(buf *TrackedBuffer) { diff --git a/go/vt/sqlparser/ast_funcs.go b/go/vt/sqlparser/ast_funcs.go index 2edee53e43b..75865445ca9 100644 --- a/go/vt/sqlparser/ast_funcs.go +++ b/go/vt/sqlparser/ast_funcs.go @@ -1717,6 +1717,8 @@ func formatAddress(address string) string { func ContainsAggregation(e SQLNode) bool { hasAggregates := false _ = Walk(func(node SQLNode) (kontinue bool, err error) { + //fmt.Println(reflect.TypeOf(node)) + //fmt.Println(reflect.ValueOf(node).Kind()) if IsAggregation(node) { hasAggregates = true return false, nil @@ -1729,6 +1731,18 @@ func ContainsAggregation(e SQLNode) bool { // IsAggregation returns true if the node is an aggregation expression func IsAggregation(node SQLNode) bool { switch node := node.(type) { + case *Count: + return true + case *CountStar: + return true + case *Avg: + return true + case *Max: + return true + case *Min: + return true + case *Sum: + return true case *FuncExpr: return node.IsAggregate() case *GroupConcatExpr: @@ -1737,6 +1751,50 @@ func IsAggregation(node SQLNode) bool { return false } +func IsAggregation2(expr Expr) (bool, string) { + switch node := expr.(type) { + case *Count: + return node.isAggregate() + case *CountStar: + return node.isAggregate() + case *Avg: + return node.isAggregate() + case *Max: + return node.isAggregate() + case *Min: + return node.isAggregate() + case *Sum: + return node.isAggregate() + case *FuncExpr: + return node.isAggregate() + case *GroupConcatExpr: + return node.isAggregate() + } + return false, "" +} + +func IsDistinct(expr Expr) bool { + switch node := expr.(type) { + case *Count: + return node.Distinct + case *CountStar: + return false + case *Avg: + return node.Distinct + case *Max: + return false + case *Min: + return false + case *Sum: + return node.Distinct + case *FuncExpr: + return node.Distinct + case *GroupConcatExpr: + return node.Distinct + } + return false +} + // GetFirstSelect gets the first select statement func GetFirstSelect(selStmt SelectStatement) *Select { if selStmt == nil { diff --git a/go/vt/sqlparser/parse_test.go b/go/vt/sqlparser/parse_test.go index c737d67bf56..a2f28cb4faa 100644 --- a/go/vt/sqlparser/parse_test.go +++ b/go/vt/sqlparser/parse_test.go @@ -43,9 +43,11 @@ var ( ignoreNormalizerTest bool }{ {input: "select /* function with distinct */ count(a) from t"}, - {input: "select /* function with distinct */ count(a) 'total col' from t"}, + {input: "select /* function with distinct */ count(a) 'total col' from t", + output: "select /* function with distinct */ count(a) as 'total col' from t"}, {input: "select /* function with distinct */ count(distinct a) from t"}, - {input: "select /* function with distinct */ count(distinct(a)) from t"}, + {input: "select /* function with distinct */ count(distinct(a)) from t", + output: "select /* function with distinct */ count(distinct a) from t"}, {input: "select /* function with distinct */ count(*) from t"}, {input: "select avg(a) from products"}, {input: "select avg(distinct(a)) from products"}, diff --git a/go/vt/vtgate/planbuilder/abstract/queryprojection.go b/go/vt/vtgate/planbuilder/abstract/queryprojection.go index f91c3ae5764..a86f55d83ef 100644 --- a/go/vt/vtgate/planbuilder/abstract/queryprojection.go +++ b/go/vt/vtgate/planbuilder/abstract/queryprojection.go @@ -67,9 +67,10 @@ type ( Aggr struct { Original *sqlparser.AliasedExpr - Func *sqlparser.FuncExpr - OpCode engine.AggregateOpcode - Alias string + //Func *sqlparser.FuncExpr + Func sqlparser.Expr + OpCode engine.AggregateOpcode + Alias string // The index at which the user expects to see this aggregated function. Set to nil, if the user does not ask for it Index *int Distinct bool @@ -253,11 +254,16 @@ func (qp *QueryProjection) GetGrouping() []GroupBy { func checkForInvalidAggregations(exp *sqlparser.AliasedExpr) error { return sqlparser.Walk(func(node sqlparser.SQLNode) (kontinue bool, err error) { - fExpr, ok := node.(*sqlparser.FuncExpr) + /*fExpr, ok := node.(*sqlparser.FuncExpr) if ok && fExpr.IsAggregate() { if len(fExpr.Exprs) != 1 { return false, vterrors.NewErrorf(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.SyntaxError, "aggregate functions take a single argument '%s'", sqlparser.String(fExpr)) } + }*/ + if sqlparser.IsAggregation(node) { + //return false, vterrors.NewErrorf(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.SyntaxError, "aggregate functions take a single argument") + // TODO: for now return true every time but we need a way to detect single argument aggregate functions + return true, nil } return true, nil }, exp.Expr) @@ -423,18 +429,20 @@ func (qp *QueryProjection) AggregationExpressions() (out []Aggr, err error) { continue } - fExpr, isFunc := aliasedExpr.Expr.(*sqlparser.FuncExpr) + isFunc, funcName := sqlparser.IsAggregation2(aliasedExpr.Expr) + //fExpr, isFunc := aliasedExpr.Expr.(*sqlparser.FuncExpr) if !isFunc { return nil, vterrors.Errorf(vtrpcpb.Code_UNIMPLEMENTED, "unsupported: in scatter query: complex aggregate expression") } - funcName := fExpr.Name.Lowered() + //funcName := fExpr.Name.Lowered() opcode, found := engine.SupportedAggregates[funcName] if !found { return nil, vterrors.Errorf(vtrpcpb.Code_UNIMPLEMENTED, "unsupported: in scatter query: aggregation function '%s'", funcName) } - if fExpr.Distinct { + if sqlparser.IsDistinct(aliasedExpr.Expr) { + //fExpr.Distinct { switch opcode { case engine.AggregateCount: opcode = engine.AggregateCountDistinct @@ -445,11 +453,11 @@ func (qp *QueryProjection) AggregationExpressions() (out []Aggr, err error) { out = append(out, Aggr{ Original: aliasedExpr, - Func: fExpr, + Func: aliasedExpr.Expr, OpCode: opcode, Alias: aliasedExpr.ColumnName(), Index: &idxCopy, - Distinct: fExpr.Distinct, + Distinct: sqlparser.IsDistinct(aliasedExpr.Expr), }) } for i, orderExpr := range qp.OrderExprs { diff --git a/go/vt/vtgate/planbuilder/aggregation_pushing.go b/go/vt/vtgate/planbuilder/aggregation_pushing.go index bae6486f2b5..b8d3b5ab77e 100644 --- a/go/vt/vtgate/planbuilder/aggregation_pushing.go +++ b/go/vt/vtgate/planbuilder/aggregation_pushing.go @@ -178,10 +178,8 @@ func addAggregationToSelect(sel *sqlparser.Select, aggregation abstract.Aggr) of } func countStarAggr() *abstract.Aggr { - f := &sqlparser.FuncExpr{ - Name: sqlparser.NewColIdent("count"), - Distinct: false, - Exprs: []sqlparser.SelectExpr{&sqlparser.StarExpr{}}, + f := &sqlparser.CountStar{ + Star: sqlparser.StarExpr{}, } return &abstract.Aggr{ @@ -377,7 +375,7 @@ func splitAggregationsToLeftAndRight( var lhsAggrs, rhsAggrs []*abstract.Aggr for _, aggr := range aggregations { newAggr := aggr - if isCountStar(aggr.Func) { + if isCountStar2(aggr.Func) { lhsAggrs = append(lhsAggrs, &newAggr) rhsAggrs = append(rhsAggrs, &newAggr) } else { diff --git a/go/vt/vtgate/planbuilder/horizon_planning.go b/go/vt/vtgate/planbuilder/horizon_planning.go index fe9f8f58c92..b8c44ad4864 100644 --- a/go/vt/vtgate/planbuilder/horizon_planning.go +++ b/go/vt/vtgate/planbuilder/horizon_planning.go @@ -689,7 +689,8 @@ func addColumnsToOA( o := groupings[count] count++ a := aggregationExprs[offset] - collID := ctx.SemTable.CollationForExpr(a.Func.Exprs[0].(*sqlparser.AliasedExpr).Expr) + //collID := ctx.SemTable.CollationForExpr(a.Func.Exprs[0].(*sqlparser.AliasedExpr).Expr) + collID := ctx.SemTable.CollationForExpr(a.Func) oa.aggregates = append(oa.aggregates, &engine.AggregateParams{ Opcode: a.OpCode, Col: o.col, @@ -736,12 +737,14 @@ func (hp *horizonPlanning) handleDistinctAggr(ctx *plancontext.PlanningContext, aggrs = append(aggrs, expr) continue } - aliasedExpr, ok := expr.Func.Exprs[0].(*sqlparser.AliasedExpr) - if !ok { + //aliasedExpr, ok := expr.Func.Exprs[0].(*sqlparser.AliasedExpr) + //aliasedExpr := expr.Alias + // TODO: need to resolve this + /*if !ok { err = vterrors.Errorf(vtrpcpb.Code_INVALID_ARGUMENT, "syntax error: %s", sqlparser.String(expr.Original)) return - } - inner, innerWS, err := hp.qp.GetSimplifiedExpr(aliasedExpr.Expr) + }*/ + inner, innerWS, err := hp.qp.GetSimplifiedExpr(expr.Func) if err != nil { return nil, nil, nil, err } @@ -813,12 +816,21 @@ func (hp *horizonPlanning) createGroupingsForColumns(columns []*sqlparser.ColNam return lhsGrouping, nil } -func isCountStar(f *sqlparser.FuncExpr) bool { +/*func isCountStar(f *sqlparser.FuncExpr) bool { if f == nil { return false } _, isStar := f.Exprs[0].(*sqlparser.StarExpr) return isStar +}*/ + +func isCountStar2(expr sqlparser.Expr) bool { + switch expr.(type) { + case *sqlparser.CountStar: + return true + default: + return false + } } func hasUniqueVindex(semTable *semantics.SemTable, groupByExprs []abstract.GroupBy) bool { diff --git a/go/vt/vtgate/planbuilder/memory_sort.go b/go/vt/vtgate/planbuilder/memory_sort.go index 32898d54203..3aef915c87d 100644 --- a/go/vt/vtgate/planbuilder/memory_sort.go +++ b/go/vt/vtgate/planbuilder/memory_sort.go @@ -112,8 +112,10 @@ func (ms *memorySort) SetLimit(limit *sqlparser.Limit) error { // compare those instead. This is because we currently don't have the // ability to mimic mysql's collation behavior. func (ms *memorySort) Wireup(plan logicalPlan, jt *jointab) error { + fmt.Printf("memory_sort wireup %d \n", len(ms.eMemorySort.OrderBy)) for i, orderby := range ms.eMemorySort.OrderBy { rc := ms.resultColumns[orderby.Col] + fmt.Printf("memory_sort rc: %v \n", rc) // Add a weight_string column if we know that the column is a textual column or if its type is unknown if sqltypes.IsText(rc.column.typ) || rc.column.typ == sqltypes.Null { weightcolNumber, err := ms.input.SupplyWeightString(orderby.Col, orderby.FromGroupBy) diff --git a/go/vt/vtgate/planbuilder/ordered_aggregate.go b/go/vt/vtgate/planbuilder/ordered_aggregate.go index 8a940e340d3..ea68890741f 100644 --- a/go/vt/vtgate/planbuilder/ordered_aggregate.go +++ b/go/vt/vtgate/planbuilder/ordered_aggregate.go @@ -315,6 +315,96 @@ func (oa *orderedAggregate) pushAggr(pb *primitiveBuilder, expr *sqlparser.Alias return rc, len(oa.resultColumns) - 1, nil } +func (oa *orderedAggregate) pushAggr2(pb *primitiveBuilder, expr *sqlparser.AliasedExpr, origin logicalPlan) (rc *resultColumn, colNumber int, err error) { + _, aggName := sqlparser.IsAggregation2(expr.Expr) + opcode := engine.SupportedAggregates[aggName] + + //TODO: how to fix this + /*funcExpr := expr.Expr.(*sqlparser.FuncExpr) + opcode := engine.SupportedAggregates[funcExpr.Name.Lowered()] + if len(funcExpr.Exprs) != 1 { + return nil, 0, fmt.Errorf("unsupported: only one expression allowed inside aggregates: %s", sqlparser.String(funcExpr)) + }*/ + + handleDistinct, innerAliased, err := oa.needDistinctHandling2(pb, expr, opcode) + if err != nil { + return nil, 0, err + } + if handleDistinct { + if oa.extraDistinct != nil { + return nil, 0, fmt.Errorf("unsupported: only one distinct aggregation allowed in a select") + } + // Push the expression that's inside the aggregate. + // The column will eventually get added to the group by and order by clauses. + newBuilder, _, innerCol, err := planProjection(pb, oa.input, innerAliased, origin) + if err != nil { + return nil, 0, err + } + pb.plan = newBuilder + col, err := BuildColName(oa.input.ResultColumns(), innerCol) + if err != nil { + return nil, 0, err + } + oa.extraDistinct = col + oa.preProcess = true + switch opcode { + case engine.AggregateCount: + opcode = engine.AggregateCountDistinct + case engine.AggregateSum: + opcode = engine.AggregateSumDistinct + } + oa.aggregates = append(oa.aggregates, &engine.AggregateParams{ + Opcode: opcode, + Col: innerCol, + Alias: expr.ColumnName(), + }) + } else { + newBuilder, _, innerCol, err := planProjection(pb, oa.input, expr, origin) + if err != nil { + return nil, 0, err + } + pb.plan = newBuilder + oa.aggregates = append(oa.aggregates, &engine.AggregateParams{ + Opcode: opcode, + Col: innerCol, + }) + } + + // Build a new rc with oa as origin because it's semantically different + // from the expression we pushed down. + rc = newResultColumn(expr, oa) + oa.resultColumns = append(oa.resultColumns, rc) + return rc, len(oa.resultColumns) - 1, nil +} + +// needDistinctHandling returns true if oa needs to handle the distinct clause. +// If true, it will also return the aliased expression that needs to be pushed +// down into the underlying route. +func (oa *orderedAggregate) needDistinctHandling2(pb *primitiveBuilder, expr *sqlparser.AliasedExpr, opcode engine.AggregateOpcode) (bool, *sqlparser.AliasedExpr, error) { + if !sqlparser.IsDistinct(expr.Expr) { + return false, nil, nil + } + if opcode != engine.AggregateCount && opcode != engine.AggregateSum { + return false, nil, nil + } + + innerAliased := expr + //TODO: how to fix this + /*if !ok { + return false, nil, fmt.Errorf("syntax error: %s", sqlparser.String(funcExpr)) + }*/ + rb, ok := oa.input.(*route) + if !ok { + // Unreachable + return true, innerAliased, nil + } + vindex := pb.st.Vindex(innerAliased.Expr, rb) + if vindex != nil && vindex.IsUnique() { + return false, nil, nil + } + return true, innerAliased, nil +} + // needDistinctHandling returns true if oa needs to handle the distinct clause. // If true, it will also return the aliased expression that needs to be pushed // down into the underlying route. @@ -347,8 +437,10 @@ func (oa *orderedAggregate) needDistinctHandling(pb *primitiveBuilder, funcExpr // compare those instead. This is because we currently don't have the // ability to mimic mysql's collation behavior. func (oa *orderedAggregate) Wireup(plan logicalPlan, jt *jointab) error { + fmt.Printf("ordered_agg wireup %d \n", len(oa.groupByKeys)) for i, gbk := range oa.groupByKeys { rc := oa.resultColumns[gbk.KeyCol] + fmt.Printf("ordered_agg rc: %v \n", rc) if sqltypes.IsText(rc.column.typ) { weightcolNumber, err := oa.input.SupplyWeightString(gbk.KeyCol, gbk.FromGroupBy) if err != nil { diff --git a/go/vt/vtgate/planbuilder/plan_test.go b/go/vt/vtgate/planbuilder/plan_test.go index 8da819a2c21..8f31f1aa711 100644 --- a/go/vt/vtgate/planbuilder/plan_test.go +++ b/go/vt/vtgate/planbuilder/plan_test.go @@ -257,6 +257,7 @@ func TestOne(t *testing.T) { } testFile(t, "onecase.txt", "", vschema) + //testFile(t, "aggr_cases.txt", "", vschema) } func TestOneWithMainAsDefault(t *testing.T) { diff --git a/go/vt/vtgate/planbuilder/project.go b/go/vt/vtgate/planbuilder/project.go index ed488590ca9..8b7f127d26d 100644 --- a/go/vt/vtgate/planbuilder/project.go +++ b/go/vt/vtgate/planbuilder/project.go @@ -18,6 +18,7 @@ package planbuilder import ( "errors" + "fmt" querypb "vitess.io/vitess/go/vt/proto/query" vtrpcpb "vitess.io/vitess/go/vt/proto/vtrpc" @@ -72,7 +73,18 @@ func planProjection(pb *primitiveBuilder, in logicalPlan, expr *sqlparser.Aliase // others. This functionality depends on the PushOrderBy to request that // the rows be correctly ordered. case *orderedAggregate: - if inner, ok := expr.Expr.(*sqlparser.FuncExpr); ok { + //iAgg := expr(*sqlparser.AggrFunc) + if isAggregate, aggName := sqlparser.IsAggregation2(expr.Expr); isAggregate { + fmt.Printf("we got this %v \n", aggName) + if _, ok := engine.SupportedAggregates[aggName]; ok { + rc, colNumber, err := node.pushAggr2(pb, expr, origin) + if err != nil { + return nil, nil, 0, err + } + return node, rc, colNumber, nil + } + } + /*if inner, ok := expr.Expr.(*sqlparser.FuncExpr); ok { if _, ok := engine.SupportedAggregates[inner.Name.Lowered()]; ok { rc, colNumber, err := node.pushAggr(pb, expr, origin) if err != nil { @@ -80,7 +92,7 @@ func planProjection(pb *primitiveBuilder, in logicalPlan, expr *sqlparser.Aliase } return node, rc, colNumber, nil } - } + }*/ // Ensure that there are no aggregates in the expression. if sqlparser.ContainsAggregation(expr.Expr) { diff --git a/go/vt/vtgate/planbuilder/route.go b/go/vt/vtgate/planbuilder/route.go index 328cf7f3a4b..3c1ec422d90 100644 --- a/go/vt/vtgate/planbuilder/route.go +++ b/go/vt/vtgate/planbuilder/route.go @@ -17,6 +17,7 @@ limitations under the License. package planbuilder import ( + "fmt" "strconv" "vitess.io/vitess/go/mysql/collations" @@ -328,6 +329,7 @@ func (rb *route) SupplyWeightString(colNumber int, alsoAddToGroupBy bool) (weigh if !ok { return 0, vterrors.Errorf(vtrpcpb.Code_INTERNAL, "unexpected AST struct for query %T", s.SelectExprs[colNumber]) } + fmt.Printf("supply weight string %v \n", aliasExpr.Expr) weightStringExpr := &sqlparser.FuncExpr{ Name: sqlparser.NewColIdent("weight_string"), Exprs: []sqlparser.SelectExpr{ diff --git a/go/vt/vtgate/planbuilder/testdata/onecase.txt b/go/vt/vtgate/planbuilder/testdata/onecase.txt index e819513f354..95f7bfe01cc 100644 --- a/go/vt/vtgate/planbuilder/testdata/onecase.txt +++ b/go/vt/vtgate/planbuilder/testdata/onecase.txt @@ -1 +1,68 @@ -# Add your test case here for debugging and run go test -run=One. +# scatter group by a text column, reuse existing weight_string +"select count(*) k, a, textcol1, b from user group by a, textcol1, b order by k, textcol1" +{ + "QueryType": "SELECT", + "Original": "select count(*) k, a, textcol1, b from user group by a, textcol1, b order by k, textcol1", + "Instructions": { + "OperatorType": "Sort", + "Variant": "Memory", + "OrderBy": "0 ASC, (2|4) ASC", + "ResultColumns": 4, + "Inputs": [ + { + "OperatorType": "Aggregate", + "Variant": "Ordered", + "Aggregates": "count(0)", + "GroupBy": "1, 4, 3", + "ResultColumns": 5, + "Inputs": [ + { + "OperatorType": "Route", + "Variant": "Scatter", + "Keyspace": { + "Name": "user", + "Sharded": true + }, + "FieldQuery": "select count(*) as k, a, textcol1, b, weight_string(textcol1), weight_string(a), weight_string(b) from `user` where 1 != 1 group by a, textcol1, b, weight_string(textcol1), weight_string(a), weight_string(b)", + "OrderBy": "(2|4) ASC, (1|5) ASC, (3|6) ASC", + "Query": "select count(*) as k, a, textcol1, b, weight_string(textcol1), weight_string(a), weight_string(b) from `user` group by a, textcol1, b, weight_string(textcol1), weight_string(a), weight_string(b) order by textcol1 asc, a asc, b asc", + "ResultColumns": 5, + "Table": "`user`" + } + ] + } + ] + } +} +{ + "QueryType": "SELECT", + "Original": "select count(*) k, a, textcol1, b from user group by a, textcol1, b order by k, textcol1", + "Instructions": { + "OperatorType": "Sort", + "Variant": "Memory", + "OrderBy": "0 ASC, 2 ASC COLLATE latin1_swedish_ci", + "ResultColumns": 4, + "Inputs": [ + { + "OperatorType": "Aggregate", + "Variant": "Ordered", + "Aggregates": "sum(0) AS k", + "GroupBy": "(1|4), 2 COLLATE latin1_swedish_ci, (3|5)", + "Inputs": [ + { + "OperatorType": "Route", + "Variant": "Scatter", + "Keyspace": { + "Name": "user", + "Sharded": true + }, + "FieldQuery": "select count(*) as k, a, textcol1, b, weight_string(a), weight_string(b) from `user` where 1 != 1 group by a, weight_string(a), textcol1, b, weight_string(b)", + "OrderBy": "(1|4) ASC, 2 ASC COLLATE latin1_swedish_ci, (3|5) ASC", + "Query": "select count(*) as k, a, textcol1, b, weight_string(a), weight_string(b) from `user` group by a, weight_string(a), textcol1, b, weight_string(b) order by a asc, textcol1 asc, b asc", + "Table": "`user`" + } + ] + } + ] + } +} From 4cb77cb834260543ba81cea9e59723ef11b0827c Mon Sep 17 00:00:00 2001 From: Andres Taylor Date: Tue, 24 May 2022 18:56:25 +0200 Subject: [PATCH 08/22] fix: the return type of count was wrong Signed-off-by: Andres Taylor --- go/vt/sqlparser/ast.go | 29 +++++++++++++++-------------- go/vt/sqlparser/ast_funcs.go | 18 ++---------------- go/vt/vtgate/planbuilder/symtab.go | 4 ++-- 3 files changed, 19 insertions(+), 32 deletions(-) diff --git a/go/vt/sqlparser/ast.go b/go/vt/sqlparser/ast.go index a03d41a49ca..34f78708a99 100644 --- a/go/vt/sqlparser/ast.go +++ b/go/vt/sqlparser/ast.go @@ -2083,7 +2083,6 @@ type ( Expr interface { iExpr() SQLNode - AggrFunc } Callable interface { @@ -2559,7 +2558,7 @@ type ( } AggrFunc interface { - isAggregate() (bool, string) + AggrName() string } Count struct { @@ -2591,18 +2590,20 @@ type ( ) // iExpr ensures that only expressions nodes can be assigned to a Expr -func (*Sum) iExpr() {} -func (*Min) iExpr() {} -func (*Max) iExpr() {} -func (*Avg) iExpr() {} -func (*CountStar) iExpr() {} -func (*Count) iExpr() {} -func (*Sum) isAggregate() (bool, string) { return true, "sum" } -func (*Min) isAggregate() (bool, string) { return true, "min" } -func (*Max) isAggregate() (bool, string) { return true, "max" } -func (*Avg) isAggregate() (bool, string) { return true, "avg" } -func (*CountStar) isAggregate() (bool, string) { return true, "count" } -func (*Count) isAggregate() (bool, string) { return true, "count" } +func (*Sum) iExpr() {} +func (*Min) iExpr() {} +func (*Max) iExpr() {} +func (*Avg) iExpr() {} +func (*CountStar) iExpr() {} +func (*Count) iExpr() {} + +func (*Sum) AggrName() string { return "sum" } +func (*Min) AggrName() string { return "min" } +func (*Max) AggrName() string { return "max" } +func (*Avg) AggrName() string { return "avg" } +func (*CountStar) AggrName() string { return "count" } +func (*Count) AggrName() string { return "count" } + func (*AndExpr) iExpr() {} func (*AndExpr) isAggregate() (bool, string) { return false, "" } func (*OrExpr) iExpr() {} diff --git a/go/vt/sqlparser/ast_funcs.go b/go/vt/sqlparser/ast_funcs.go index 75865445ca9..d409d27725f 100644 --- a/go/vt/sqlparser/ast_funcs.go +++ b/go/vt/sqlparser/ast_funcs.go @@ -1753,22 +1753,8 @@ func IsAggregation(node SQLNode) bool { func IsAggregation2(expr Expr) (bool, string) { switch node := expr.(type) { - case *Count: - return node.isAggregate() - case *CountStar: - return node.isAggregate() - case *Avg: - return node.isAggregate() - case *Max: - return node.isAggregate() - case *Min: - return node.isAggregate() - case *Sum: - return node.isAggregate() - case *FuncExpr: - return node.isAggregate() - case *GroupConcatExpr: - return node.isAggregate() + case AggrFunc: + return true, node.AggrName() } return false, "" } diff --git a/go/vt/vtgate/planbuilder/symtab.go b/go/vt/vtgate/planbuilder/symtab.go index 5c5c9c67b14..3ef216223a2 100644 --- a/go/vt/vtgate/planbuilder/symtab.go +++ b/go/vt/vtgate/planbuilder/symtab.go @@ -592,12 +592,12 @@ func GetReturnType(input sqlparser.Expr) (querypb.Type, error) { return GetReturnType(expr.Expr) } } - case "COUNT": - return querypb.Type_INT64, nil } case *sqlparser.ColName: col := node.Metadata.(*column) return col.typ, nil + case *sqlparser.Count, *sqlparser.CountStar: + return querypb.Type_INT64, nil } return 0, vterrors.Errorf(vtrpcpb.Code_UNIMPLEMENTED, "cannot evaluate return type for %T", input) } From baca56486501b3b0e3555ab538ff4fe7e7485bec Mon Sep 17 00:00:00 2001 From: Rameez Sajwani Date: Tue, 24 May 2022 12:29:44 -0700 Subject: [PATCH 09/22] Refacotring code Signed-off-by: Rameez Sajwani --- go/vt/sqlparser/ast.go | 182 +++++++----------- go/vt/sqlparser/ast_format.go | 2 - go/vt/sqlparser/ast_funcs.go | 61 +++--- .../planbuilder/abstract/queryprojection.go | 24 +-- .../vtgate/planbuilder/aggregation_pushing.go | 2 +- go/vt/vtgate/planbuilder/horizon_planning.go | 24 +-- go/vt/vtgate/planbuilder/ordered_aggregate.go | 77 ++------ go/vt/vtgate/planbuilder/plan_test.go | 4 +- go/vt/vtgate/planbuilder/project.go | 14 +- go/vt/vtgate/planbuilder/rewrite.go | 3 +- go/vt/vtgate/planbuilder/symtab.go | 10 + go/vt/vtgate/planbuilder/testdata/onecase.txt | 83 ++++---- go/vt/vtgate/semantics/binder.go | 18 ++ 13 files changed, 208 insertions(+), 296 deletions(-) diff --git a/go/vt/sqlparser/ast.go b/go/vt/sqlparser/ast.go index 34f78708a99..42903943378 100644 --- a/go/vt/sqlparser/ast.go +++ b/go/vt/sqlparser/ast.go @@ -2559,6 +2559,7 @@ type ( AggrFunc interface { AggrName() string + GetArg() Expr } Count struct { @@ -2597,6 +2598,13 @@ func (*Avg) iExpr() {} func (*CountStar) iExpr() {} func (*Count) iExpr() {} +func (sum *Sum) GetArg() Expr { return sum.Arg } +func (min *Min) GetArg() Expr { return min.Arg } +func (max *Max) GetArg() Expr { return max.Arg } +func (avg *Avg) GetArg() Expr { return avg.Arg } +func (*CountStar) GetArg() Expr { return nil } +func (count *Count) GetArg() Expr { return count.Arg } + func (*Sum) AggrName() string { return "sum" } func (*Min) AggrName() string { return "min" } func (*Max) AggrName() string { return "max" } @@ -2604,122 +2612,64 @@ func (*Avg) AggrName() string { return "avg" } func (*CountStar) AggrName() string { return "count" } func (*Count) AggrName() string { return "count" } -func (*AndExpr) iExpr() {} -func (*AndExpr) isAggregate() (bool, string) { return false, "" } -func (*OrExpr) iExpr() {} -func (*OrExpr) isAggregate() (bool, string) { return false, "" } -func (*XorExpr) iExpr() {} -func (*XorExpr) isAggregate() (bool, string) { return false, "" } -func (*NotExpr) iExpr() {} -func (*NotExpr) isAggregate() (bool, string) { return false, "" } -func (*ComparisonExpr) iExpr() {} -func (*ComparisonExpr) isAggregate() (bool, string) { return false, "" } -func (*BetweenExpr) iExpr() {} -func (*BetweenExpr) isAggregate() (bool, string) { return false, "" } -func (*IsExpr) iExpr() {} -func (*IsExpr) isAggregate() (bool, string) { return false, "" } -func (*ExistsExpr) iExpr() {} -func (*ExistsExpr) isAggregate() (bool, string) { return false, "" } -func (*Literal) iExpr() {} -func (*Literal) isAggregate() (bool, string) { return false, "" } -func (Argument) iExpr() {} -func (Argument) isAggregate() (bool, string) { return false, "" } -func (*NullVal) iExpr() {} -func (*NullVal) isAggregate() (bool, string) { return false, "" } -func (BoolVal) iExpr() {} -func (BoolVal) isAggregate() (bool, string) { return false, "" } -func (*ColName) iExpr() {} -func (*ColName) isAggregate() (bool, string) { return false, "" } -func (ValTuple) iExpr() {} -func (ValTuple) isAggregate() (bool, string) { return false, "" } -func (*Subquery) iExpr() {} -func (*Subquery) isAggregate() (bool, string) { return false, "" } -func (ListArg) iExpr() {} -func (ListArg) isAggregate() (bool, string) { return false, "" } -func (*BinaryExpr) iExpr() {} -func (*BinaryExpr) isAggregate() (bool, string) { return false, "" } -func (*UnaryExpr) iExpr() {} -func (*UnaryExpr) isAggregate() (bool, string) { return false, "" } -func (*IntroducerExpr) iExpr() {} -func (*IntroducerExpr) isAggregate() (bool, string) { return false, "" } -func (*IntervalExpr) iExpr() {} -func (*IntervalExpr) isAggregate() (bool, string) { return false, "" } -func (*CollateExpr) iExpr() {} -func (*CollateExpr) isAggregate() (bool, string) { return false, "" } -func (*FuncExpr) iExpr() {} -func (*FuncExpr) isAggregate() (bool, string) { return false, "" } -func (*TimestampFuncExpr) iExpr() {} -func (*TimestampFuncExpr) isAggregate() (bool, string) { return false, "" } -func (*ExtractFuncExpr) iExpr() {} -func (*ExtractFuncExpr) isAggregate() (bool, string) { return false, "" } -func (*WeightStringFuncExpr) iExpr() {} -func (*WeightStringFuncExpr) isAggregate() (bool, string) { return false, "" } -func (*CurTimeFuncExpr) iExpr() {} -func (*CurTimeFuncExpr) isAggregate() (bool, string) { return false, "" } -func (*CaseExpr) iExpr() {} -func (*CaseExpr) isAggregate() (bool, string) { return false, "" } -func (*ValuesFuncExpr) iExpr() {} -func (*ValuesFuncExpr) isAggregate() (bool, string) { return false, "" } -func (*ConvertExpr) iExpr() {} -func (*ConvertExpr) isAggregate() (bool, string) { return false, "" } -func (*SubstrExpr) iExpr() {} -func (*SubstrExpr) isAggregate() (bool, string) { return false, "" } -func (*ConvertUsingExpr) iExpr() {} -func (*ConvertUsingExpr) isAggregate() (bool, string) { return false, "" } -func (*MatchExpr) iExpr() {} -func (*MatchExpr) isAggregate() (bool, string) { return false, "" } -func (*GroupConcatExpr) iExpr() {} -func (*GroupConcatExpr) isAggregate() (bool, string) { return false, "" } -func (*Default) iExpr() {} -func (*Default) isAggregate() (bool, string) { return false, "" } -func (*ExtractedSubquery) iExpr() {} -func (*ExtractedSubquery) isAggregate() (bool, string) { return false, "" } -func (*TrimFuncExpr) iExpr() {} -func (*TrimFuncExpr) isAggregate() (bool, string) { return false, "" } -func (*JSONSchemaValidFuncExpr) iExpr() {} -func (*JSONSchemaValidFuncExpr) isAggregate() (bool, string) { return false, "" } -func (*JSONSchemaValidationReportFuncExpr) iExpr() {} -func (*JSONSchemaValidationReportFuncExpr) isAggregate() (bool, string) { return false, "" } -func (Offset) iExpr() {} -func (Offset) isAggregate() (bool, string) { return false, "" } -func (*JSONPrettyExpr) iExpr() {} -func (*JSONPrettyExpr) isAggregate() (bool, string) { return false, "" } -func (*JSONStorageFreeExpr) iExpr() {} -func (*JSONStorageFreeExpr) isAggregate() (bool, string) { return false, "" } -func (*JSONStorageSizeExpr) iExpr() {} -func (*JSONStorageSizeExpr) isAggregate() (bool, string) { return false, "" } -func (*JSONContainsExpr) iExpr() {} -func (*JSONContainsExpr) isAggregate() (bool, string) { return false, "" } -func (*JSONContainsPathExpr) iExpr() {} -func (*JSONContainsPathExpr) isAggregate() (bool, string) { return false, "" } -func (*JSONExtractExpr) iExpr() {} -func (*JSONExtractExpr) isAggregate() (bool, string) { return false, "" } -func (*JSONKeysExpr) iExpr() {} -func (*JSONKeysExpr) isAggregate() (bool, string) { return false, "" } -func (*JSONOverlapsExpr) iExpr() {} -func (*JSONOverlapsExpr) isAggregate() (bool, string) { return false, "" } -func (*JSONSearchExpr) iExpr() {} -func (*JSONSearchExpr) isAggregate() (bool, string) { return false, "" } -func (*JSONValueExpr) iExpr() {} -func (*JSONValueExpr) isAggregate() (bool, string) { return false, "" } -func (*JSONArrayExpr) iExpr() {} -func (*JSONArrayExpr) isAggregate() (bool, string) { return false, "" } -func (*JSONObjectExpr) iExpr() {} -func (*JSONObjectExpr) isAggregate() (bool, string) { return false, "" } -func (*JSONQuoteExpr) iExpr() {} -func (*JSONQuoteExpr) isAggregate() (bool, string) { return false, "" } -func (*JSONAttributesExpr) iExpr() {} -func (*JSONAttributesExpr) isAggregate() (bool, string) { return false, "" } -func (*JSONValueModifierExpr) iExpr() {} -func (*JSONValueModifierExpr) isAggregate() (bool, string) { return false, "" } -func (*JSONValueMergeExpr) iExpr() {} -func (*JSONValueMergeExpr) isAggregate() (bool, string) { return false, "" } -func (*JSONRemoveExpr) iExpr() {} -func (*JSONRemoveExpr) isAggregate() (bool, string) { return false, "" } -func (*JSONUnquoteExpr) iExpr() {} -func (*JSONUnquoteExpr) isAggregate() (bool, string) { return false, "" } -func (*MemberOfExpr) iExpr() {} -func (*MemberOfExpr) isAggregate() (bool, string) { return false, "" } +func (*AndExpr) iExpr() {} +func (*OrExpr) iExpr() {} +func (*XorExpr) iExpr() {} +func (*NotExpr) iExpr() {} +func (*ComparisonExpr) iExpr() {} +func (*BetweenExpr) iExpr() {} +func (*IsExpr) iExpr() {} +func (*ExistsExpr) iExpr() {} +func (*Literal) iExpr() {} +func (Argument) iExpr() {} +func (*NullVal) iExpr() {} +func (BoolVal) iExpr() {} +func (*ColName) iExpr() {} +func (ValTuple) iExpr() {} +func (*Subquery) iExpr() {} +func (ListArg) iExpr() {} +func (*BinaryExpr) iExpr() {} +func (*UnaryExpr) iExpr() {} +func (*IntroducerExpr) iExpr() {} +func (*IntervalExpr) iExpr() {} +func (*CollateExpr) iExpr() {} +func (*FuncExpr) iExpr() {} +func (*TimestampFuncExpr) iExpr() {} +func (*ExtractFuncExpr) iExpr() {} +func (*WeightStringFuncExpr) iExpr() {} +func (*CurTimeFuncExpr) iExpr() {} +func (*CaseExpr) iExpr() {} +func (*ValuesFuncExpr) iExpr() {} +func (*ConvertExpr) iExpr() {} +func (*SubstrExpr) iExpr() {} +func (*ConvertUsingExpr) iExpr() {} +func (*MatchExpr) iExpr() {} +func (*GroupConcatExpr) iExpr() {} +func (*Default) iExpr() {} +func (*ExtractedSubquery) iExpr() {} +func (*TrimFuncExpr) iExpr() {} +func (*JSONSchemaValidFuncExpr) iExpr() {} +func (*JSONSchemaValidationReportFuncExpr) iExpr() {} +func (Offset) iExpr() {} +func (*JSONPrettyExpr) iExpr() {} +func (*JSONStorageFreeExpr) iExpr() {} +func (*JSONStorageSizeExpr) iExpr() {} +func (*JSONContainsExpr) iExpr() {} +func (*JSONContainsPathExpr) iExpr() {} +func (*JSONExtractExpr) iExpr() {} +func (*JSONKeysExpr) iExpr() {} +func (*JSONOverlapsExpr) iExpr() {} +func (*JSONSearchExpr) iExpr() {} +func (*JSONValueExpr) iExpr() {} +func (*JSONArrayExpr) iExpr() {} +func (*JSONObjectExpr) iExpr() {} +func (*JSONQuoteExpr) iExpr() {} +func (*JSONAttributesExpr) iExpr() {} +func (*JSONValueModifierExpr) iExpr() {} +func (*JSONValueMergeExpr) iExpr() {} +func (*JSONRemoveExpr) iExpr() {} +func (*JSONUnquoteExpr) iExpr() {} +func (*MemberOfExpr) iExpr() {} // iCallable marks all expressions that represent function calls func (*FuncExpr) iCallable() {} diff --git a/go/vt/sqlparser/ast_format.go b/go/vt/sqlparser/ast_format.go index 12a3dc47597..f035aac7f55 100644 --- a/go/vt/sqlparser/ast_format.go +++ b/go/vt/sqlparser/ast_format.go @@ -2352,9 +2352,7 @@ func (node *Count) Format(buf *TrackedBuffer) { } func (node *CountStar) Format(buf *TrackedBuffer) { - //buf.WriteString("count(") buf.WriteString("count(*)") - //buf.WriteString(")") } func (node *Avg) Format(buf *TrackedBuffer) { diff --git a/go/vt/sqlparser/ast_funcs.go b/go/vt/sqlparser/ast_funcs.go index d409d27725f..6e6ab2858a8 100644 --- a/go/vt/sqlparser/ast_funcs.go +++ b/go/vt/sqlparser/ast_funcs.go @@ -1717,47 +1717,64 @@ func formatAddress(address string) string { func ContainsAggregation(e SQLNode) bool { hasAggregates := false _ = Walk(func(node SQLNode) (kontinue bool, err error) { - //fmt.Println(reflect.TypeOf(node)) - //fmt.Println(reflect.ValueOf(node).Kind()) - if IsAggregation(node) { + //fExpr, ok := node.(Expr) + //if ok { + if isAggregate, _ := IsAggregation(node); isAggregate { hasAggregates = true return false, nil } + //} return true, nil }, e) return hasAggregates } -// IsAggregation returns true if the node is an aggregation expression -func IsAggregation(node SQLNode) bool { - switch node := node.(type) { - case *Count: - return true +/*func IsAggregateWithColName(aggr AggrFunc) (bool, ColIdent) { + switch node := aggr.(type) { case *CountStar: - return true + return false, ColIdent{} + case *Count: + if col, ok := node.(*ColName); ok { + return true, col.Name + } case *Avg: - return true + if col, ok := node.(*ColName); ok { + return true, col.Name + } case *Max: - return true + if col, ok := node.(*ColName); ok { + return true, col.Name + } case *Min: - return true + if col, ok := node.(*ColName); ok { + return true, col.Name + } case *Sum: - return true - case *FuncExpr: - return node.IsAggregate() - case *GroupConcatExpr: - return true + if col, ok := node.(*ColName); ok { + return true, col.Name + } } - return false + return false, ColIdent{} +}*/ + +func IsAggregation(node SQLNode) (bool, string) { + fExpr, ok := node.(Expr) + if ok { + switch expr := fExpr.(type) { + case AggrFunc: + return true, expr.AggrName() + } + } + return false, "" } -func IsAggregation2(expr Expr) (bool, string) { +/*func IsAggregation(expr Expr) (bool, string) { switch node := expr.(type) { case AggrFunc: return true, node.AggrName() } return false, "" -} +}*/ func IsDistinct(expr Expr) bool { switch node := expr.(type) { @@ -1773,10 +1790,6 @@ func IsDistinct(expr Expr) bool { return false case *Sum: return node.Distinct - case *FuncExpr: - return node.Distinct - case *GroupConcatExpr: - return node.Distinct } return false } diff --git a/go/vt/vtgate/planbuilder/abstract/queryprojection.go b/go/vt/vtgate/planbuilder/abstract/queryprojection.go index a86f55d83ef..c47460340e2 100644 --- a/go/vt/vtgate/planbuilder/abstract/queryprojection.go +++ b/go/vt/vtgate/planbuilder/abstract/queryprojection.go @@ -260,11 +260,15 @@ func checkForInvalidAggregations(exp *sqlparser.AliasedExpr) error { return false, vterrors.NewErrorf(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.SyntaxError, "aggregate functions take a single argument '%s'", sqlparser.String(fExpr)) } }*/ - if sqlparser.IsAggregation(node) { - //return false, vterrors.NewErrorf(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.SyntaxError, "aggregate functions take a single argument") - // TODO: for now return true every time but we need a way to detect single argument aggregate functions - return true, nil + fExpr, ok := node.(sqlparser.Expr) + if ok { + if isAggregate, _ := sqlparser.IsAggregation(fExpr); isAggregate { + //return false, vterrors.NewErrorf(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.SyntaxError, "aggregate functions take a single argument") + // TODO: for now return true every time but we need a way to detect single argument aggregate functions + return true, nil + } } + return true, nil }, exp.Expr) } @@ -290,7 +294,8 @@ func (qp *QueryProjection) getNonAggrExprNotMatchingGroupByExprs() sqlparser.Sel func (qp *QueryProjection) isOrderByExprInGroupBy(order OrderBy) bool { // ORDER BY NULL or Aggregation functions need not be present in group by - if sqlparser.IsNull(order.Inner.Expr) || sqlparser.IsAggregation(order.WeightStrExpr) { + isAggregate, _ := sqlparser.IsAggregation(order.WeightStrExpr) + if sqlparser.IsNull(order.Inner.Expr) || isAggregate { return true } for _, groupByExpr := range qp.groupByExprs { @@ -429,20 +434,17 @@ func (qp *QueryProjection) AggregationExpressions() (out []Aggr, err error) { continue } - isFunc, funcName := sqlparser.IsAggregation2(aliasedExpr.Expr) - //fExpr, isFunc := aliasedExpr.Expr.(*sqlparser.FuncExpr) - if !isFunc { + isAggregate, funcName := sqlparser.IsAggregation(aliasedExpr.Expr) + if !isAggregate { return nil, vterrors.Errorf(vtrpcpb.Code_UNIMPLEMENTED, "unsupported: in scatter query: complex aggregate expression") } - //funcName := fExpr.Name.Lowered() opcode, found := engine.SupportedAggregates[funcName] if !found { return nil, vterrors.Errorf(vtrpcpb.Code_UNIMPLEMENTED, "unsupported: in scatter query: aggregation function '%s'", funcName) } if sqlparser.IsDistinct(aliasedExpr.Expr) { - //fExpr.Distinct { switch opcode { case engine.AggregateCount: opcode = engine.AggregateCountDistinct @@ -559,7 +561,7 @@ func (qp *QueryProjection) AddGroupBy(by GroupBy) { func checkForInvalidGroupingExpressions(expr sqlparser.Expr) error { return sqlparser.Walk(func(node sqlparser.SQLNode) (bool, error) { - if sqlparser.IsAggregation(node) { + if isAggregate, _ := sqlparser.IsAggregation(node); isAggregate { return false, vterrors.NewErrorf(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.WrongGroupField, "Can't group on '%s'", sqlparser.String(expr)) } _, isSubQ := node.(*sqlparser.Subquery) diff --git a/go/vt/vtgate/planbuilder/aggregation_pushing.go b/go/vt/vtgate/planbuilder/aggregation_pushing.go index b8d3b5ab77e..ac876c59c15 100644 --- a/go/vt/vtgate/planbuilder/aggregation_pushing.go +++ b/go/vt/vtgate/planbuilder/aggregation_pushing.go @@ -375,7 +375,7 @@ func splitAggregationsToLeftAndRight( var lhsAggrs, rhsAggrs []*abstract.Aggr for _, aggr := range aggregations { newAggr := aggr - if isCountStar2(aggr.Func) { + if isCountStar(aggr.Func) { lhsAggrs = append(lhsAggrs, &newAggr) rhsAggrs = append(rhsAggrs, &newAggr) } else { diff --git a/go/vt/vtgate/planbuilder/horizon_planning.go b/go/vt/vtgate/planbuilder/horizon_planning.go index b8c44ad4864..d8212f76c31 100644 --- a/go/vt/vtgate/planbuilder/horizon_planning.go +++ b/go/vt/vtgate/planbuilder/horizon_planning.go @@ -17,6 +17,7 @@ limitations under the License. package planbuilder import ( + "vitess.io/vitess/go/mysql/collations" "vitess.io/vitess/go/sqltypes" "vitess.io/vitess/go/vt/vtgate/planbuilder/abstract" "vitess.io/vitess/go/vt/vtgate/planbuilder/physical" @@ -689,8 +690,10 @@ func addColumnsToOA( o := groupings[count] count++ a := aggregationExprs[offset] - //collID := ctx.SemTable.CollationForExpr(a.Func.Exprs[0].(*sqlparser.AliasedExpr).Expr) - collID := ctx.SemTable.CollationForExpr(a.Func) + collID := collations.Unknown + if aggr, ok := a.Func.(sqlparser.AggrFunc); ok { + collID = ctx.SemTable.CollationForExpr(aggr.GetArg()) + } oa.aggregates = append(oa.aggregates, &engine.AggregateParams{ Opcode: a.OpCode, Col: o.col, @@ -744,7 +747,12 @@ func (hp *horizonPlanning) handleDistinctAggr(ctx *plancontext.PlanningContext, err = vterrors.Errorf(vtrpcpb.Code_INVALID_ARGUMENT, "syntax error: %s", sqlparser.String(expr.Original)) return }*/ - inner, innerWS, err := hp.qp.GetSimplifiedExpr(expr.Func) + var agg = expr.Func + // if it is aggregator then we need to assign argument of aggregator which is ColName type + if tmpAgg, ok := expr.Func.(sqlparser.AggrFunc); ok { + agg = tmpAgg.GetArg() + } + inner, innerWS, err := hp.qp.GetSimplifiedExpr(agg) if err != nil { return nil, nil, nil, err } @@ -816,15 +824,7 @@ func (hp *horizonPlanning) createGroupingsForColumns(columns []*sqlparser.ColNam return lhsGrouping, nil } -/*func isCountStar(f *sqlparser.FuncExpr) bool { - if f == nil { - return false - } - _, isStar := f.Exprs[0].(*sqlparser.StarExpr) - return isStar -}*/ - -func isCountStar2(expr sqlparser.Expr) bool { +func isCountStar(expr sqlparser.Expr) bool { switch expr.(type) { case *sqlparser.CountStar: return true diff --git a/go/vt/vtgate/planbuilder/ordered_aggregate.go b/go/vt/vtgate/planbuilder/ordered_aggregate.go index ea68890741f..fb0417f2d8d 100644 --- a/go/vt/vtgate/planbuilder/ordered_aggregate.go +++ b/go/vt/vtgate/planbuilder/ordered_aggregate.go @@ -259,64 +259,7 @@ func (oa *orderedAggregate) Primitive() engine.Primitive { } func (oa *orderedAggregate) pushAggr(pb *primitiveBuilder, expr *sqlparser.AliasedExpr, origin logicalPlan) (rc *resultColumn, colNumber int, err error) { - funcExpr := expr.Expr.(*sqlparser.FuncExpr) - opcode := engine.SupportedAggregates[funcExpr.Name.Lowered()] - if len(funcExpr.Exprs) != 1 { - return nil, 0, fmt.Errorf("unsupported: only one expression allowed inside aggregates: %s", sqlparser.String(funcExpr)) - } - handleDistinct, innerAliased, err := oa.needDistinctHandling(pb, funcExpr, opcode) - if err != nil { - return nil, 0, err - } - if handleDistinct { - if oa.extraDistinct != nil { - return nil, 0, fmt.Errorf("unsupported: only one distinct aggregation allowed in a select: %s", sqlparser.String(funcExpr)) - } - // Push the expression that's inside the aggregate. - // The column will eventually get added to the group by and order by clauses. - newBuilder, _, innerCol, err := planProjection(pb, oa.input, innerAliased, origin) - if err != nil { - return nil, 0, err - } - pb.plan = newBuilder - col, err := BuildColName(oa.input.ResultColumns(), innerCol) - if err != nil { - return nil, 0, err - } - oa.extraDistinct = col - oa.preProcess = true - switch opcode { - case engine.AggregateCount: - opcode = engine.AggregateCountDistinct - case engine.AggregateSum: - opcode = engine.AggregateSumDistinct - } - oa.aggregates = append(oa.aggregates, &engine.AggregateParams{ - Opcode: opcode, - Col: innerCol, - Alias: expr.ColumnName(), - }) - } else { - newBuilder, _, innerCol, err := planProjection(pb, oa.input, expr, origin) - if err != nil { - return nil, 0, err - } - pb.plan = newBuilder - oa.aggregates = append(oa.aggregates, &engine.AggregateParams{ - Opcode: opcode, - Col: innerCol, - }) - } - - // Build a new rc with oa as origin because it's semantically different - // from the expression we pushed down. - rc = newResultColumn(expr, oa) - oa.resultColumns = append(oa.resultColumns, rc) - return rc, len(oa.resultColumns) - 1, nil -} - -func (oa *orderedAggregate) pushAggr2(pb *primitiveBuilder, expr *sqlparser.AliasedExpr, origin logicalPlan) (rc *resultColumn, colNumber int, err error) { - _, aggName := sqlparser.IsAggregation2(expr.Expr) + _, aggName := sqlparser.IsAggregation(expr.Expr) opcode := engine.SupportedAggregates[aggName] //TODO: how to fix this @@ -326,7 +269,7 @@ func (oa *orderedAggregate) pushAggr2(pb *primitiveBuilder, expr *sqlparser.Alia return nil, 0, fmt.Errorf("unsupported: only one expression allowed inside aggregates: %s", sqlparser.String(funcExpr)) }*/ - handleDistinct, innerAliased, err := oa.needDistinctHandling2(pb, expr, opcode) + handleDistinct, innerAliased, err := oa.needDistinctHandling(pb, expr, opcode) if err != nil { return nil, 0, err } @@ -380,7 +323,7 @@ func (oa *orderedAggregate) pushAggr2(pb *primitiveBuilder, expr *sqlparser.Alia // needDistinctHandling returns true if oa needs to handle the distinct clause. // If true, it will also return the aliased expression that needs to be pushed // down into the underlying route. -func (oa *orderedAggregate) needDistinctHandling2(pb *primitiveBuilder, expr *sqlparser.AliasedExpr, opcode engine.AggregateOpcode) (bool, *sqlparser.AliasedExpr, error) { +func (oa *orderedAggregate) needDistinctHandling(pb *primitiveBuilder, expr *sqlparser.AliasedExpr, opcode engine.AggregateOpcode) (bool, *sqlparser.AliasedExpr, error) { if !sqlparser.IsDistinct(expr.Expr) { return false, nil, nil } @@ -388,7 +331,11 @@ func (oa *orderedAggregate) needDistinctHandling2(pb *primitiveBuilder, expr *sq return false, nil, nil } - innerAliased := expr + var innerAliased *sqlparser.AliasedExpr + if aggr, ok := expr.Expr.(sqlparser.AggrFunc); ok { + innerAliased = &sqlparser.AliasedExpr{Expr: aggr.GetArg(), As: expr.As} + } + //TODO: how to fix this /*if !ok { return false, nil, fmt.Errorf("syntax error: %s", sqlparser.String(funcExpr)) @@ -408,7 +355,7 @@ func (oa *orderedAggregate) needDistinctHandling2(pb *primitiveBuilder, expr *sq // needDistinctHandling returns true if oa needs to handle the distinct clause. // If true, it will also return the aliased expression that needs to be pushed // down into the underlying route. -func (oa *orderedAggregate) needDistinctHandling(pb *primitiveBuilder, funcExpr *sqlparser.FuncExpr, opcode engine.AggregateOpcode) (bool, *sqlparser.AliasedExpr, error) { +/*func (oa *orderedAggregate) needDistinctHandling(pb *primitiveBuilder, funcExpr *sqlparser.FuncExpr, opcode engine.AggregateOpcode) (bool, *sqlparser.AliasedExpr, error) { if !funcExpr.Distinct { return false, nil, nil } @@ -429,7 +376,7 @@ func (oa *orderedAggregate) needDistinctHandling(pb *primitiveBuilder, funcExpr return false, nil, nil } return true, innerAliased, nil -} +}*/ // Wireup implements the logicalPlan interface // If text columns are detected in the keys, then the function modifies @@ -485,8 +432,8 @@ func (oa *orderedAggregate) SetTruncateColumnCount(count int) { func (oa *orderedAggregate) rewriteAggrExpressions() func(*sqlparser.Cursor) bool { return func(cursor *sqlparser.Cursor) bool { sqlNode := cursor.Node() - if sqlparser.IsAggregation(sqlNode) { - fExp := sqlNode.(*sqlparser.FuncExpr) + if isAggregate, _ := sqlparser.IsAggregation(sqlNode); isAggregate { + fExp := sqlNode.(sqlparser.Expr) for _, aggregate := range oa.aggregates { if sqlparser.EqualsExpr(aggregate.Expr, fExp) { cursor.Replace(sqlparser.Offset(aggregate.Col)) diff --git a/go/vt/vtgate/planbuilder/plan_test.go b/go/vt/vtgate/planbuilder/plan_test.go index 8f31f1aa711..0f26177d3a2 100644 --- a/go/vt/vtgate/planbuilder/plan_test.go +++ b/go/vt/vtgate/planbuilder/plan_test.go @@ -256,8 +256,8 @@ func TestOne(t *testing.T) { v: loadSchema(t, "schema_test.json", true), } - testFile(t, "onecase.txt", "", vschema) - //testFile(t, "aggr_cases.txt", "", vschema) + //testFile(t, "onecase.txt", "", vschema) + testFile(t, "aggr_cases.txt", "", vschema) } func TestOneWithMainAsDefault(t *testing.T) { diff --git a/go/vt/vtgate/planbuilder/project.go b/go/vt/vtgate/planbuilder/project.go index 8b7f127d26d..3799bfc3e62 100644 --- a/go/vt/vtgate/planbuilder/project.go +++ b/go/vt/vtgate/planbuilder/project.go @@ -73,26 +73,16 @@ func planProjection(pb *primitiveBuilder, in logicalPlan, expr *sqlparser.Aliase // others. This functionality depends on the PushOrderBy to request that // the rows be correctly ordered. case *orderedAggregate: - //iAgg := expr(*sqlparser.AggrFunc) - if isAggregate, aggName := sqlparser.IsAggregation2(expr.Expr); isAggregate { + if isAggregate, aggName := sqlparser.IsAggregation(expr.Expr); isAggregate { fmt.Printf("we got this %v \n", aggName) if _, ok := engine.SupportedAggregates[aggName]; ok { - rc, colNumber, err := node.pushAggr2(pb, expr, origin) - if err != nil { - return nil, nil, 0, err - } - return node, rc, colNumber, nil - } - } - /*if inner, ok := expr.Expr.(*sqlparser.FuncExpr); ok { - if _, ok := engine.SupportedAggregates[inner.Name.Lowered()]; ok { rc, colNumber, err := node.pushAggr(pb, expr, origin) if err != nil { return nil, nil, 0, err } return node, rc, colNumber, nil } - }*/ + } // Ensure that there are no aggregates in the expression. if sqlparser.ContainsAggregation(expr.Expr) { diff --git a/go/vt/vtgate/planbuilder/rewrite.go b/go/vt/vtgate/planbuilder/rewrite.go index c8712134ea3..fbbe79ac321 100644 --- a/go/vt/vtgate/planbuilder/rewrite.go +++ b/go/vt/vtgate/planbuilder/rewrite.go @@ -191,7 +191,8 @@ func rewriteHavingClause(node *sqlparser.Select) { } return false default: - hasAggr = hasAggr || sqlparser.IsAggregation(x) + isAggregate, _ := sqlparser.IsAggregation(x) + hasAggr = hasAggr || isAggregate } return true }, nil) diff --git a/go/vt/vtgate/planbuilder/symtab.go b/go/vt/vtgate/planbuilder/symtab.go index 3ef216223a2..5c0e157d44e 100644 --- a/go/vt/vtgate/planbuilder/symtab.go +++ b/go/vt/vtgate/planbuilder/symtab.go @@ -564,6 +564,16 @@ func newResultColumn(expr *sqlparser.AliasedExpr, origin logicalPlan) *resultCol } // If it's a col it should already have metadata. rc.column = col.Metadata.(*column) + /*} else if aggr, ok := expr.Expr.(sqlparser.AggrFunc); ok { + if arg := aggr.GetArg(); arg != nil { + if col, ok := arg.(*sqlparser.ColName); ok { + if rc.alias.IsEmpty() { + rc.alias = col.Name + } + // If it's a col it should already have metadata. + rc.column = col.Metadata.(*column) + } + }*/ } else { // We don't generate an alias if the expression is non-trivial. // Just to be safe, generate an anonymous column for the expression. diff --git a/go/vt/vtgate/planbuilder/testdata/onecase.txt b/go/vt/vtgate/planbuilder/testdata/onecase.txt index 95f7bfe01cc..94698e94aa7 100644 --- a/go/vt/vtgate/planbuilder/testdata/onecase.txt +++ b/go/vt/vtgate/planbuilder/testdata/onecase.txt @@ -1,67 +1,50 @@ -# scatter group by a text column, reuse existing weight_string -"select count(*) k, a, textcol1, b from user group by a, textcol1, b order by k, textcol1" +# distinct on text column with collation +"select col, count(distinct textcol1) from user group by col" { "QueryType": "SELECT", - "Original": "select count(*) k, a, textcol1, b from user group by a, textcol1, b order by k, textcol1", + "Original": "select col, count(distinct textcol1) from user group by col", "Instructions": { - "OperatorType": "Sort", - "Variant": "Memory", - "OrderBy": "0 ASC, (2|4) ASC", - "ResultColumns": 4, + "OperatorType": "Aggregate", + "Variant": "Ordered", + "Aggregates": "count_distinct(1) AS count(distinct textcol1)", + "GroupBy": "0", "Inputs": [ { - "OperatorType": "Aggregate", - "Variant": "Ordered", - "Aggregates": "count(0)", - "GroupBy": "1, 4, 3", - "ResultColumns": 5, - "Inputs": [ - { - "OperatorType": "Route", - "Variant": "Scatter", - "Keyspace": { - "Name": "user", - "Sharded": true - }, - "FieldQuery": "select count(*) as k, a, textcol1, b, weight_string(textcol1), weight_string(a), weight_string(b) from `user` where 1 != 1 group by a, textcol1, b, weight_string(textcol1), weight_string(a), weight_string(b)", - "OrderBy": "(2|4) ASC, (1|5) ASC, (3|6) ASC", - "Query": "select count(*) as k, a, textcol1, b, weight_string(textcol1), weight_string(a), weight_string(b) from `user` group by a, textcol1, b, weight_string(textcol1), weight_string(a), weight_string(b) order by textcol1 asc, a asc, b asc", - "ResultColumns": 5, - "Table": "`user`" - } - ] + "OperatorType": "Route", + "Variant": "Scatter", + "Keyspace": { + "Name": "user", + "Sharded": true + }, + "FieldQuery": "select col, textcol1, weight_string(textcol1) from `user` where 1 != 1 group by col, textcol1, weight_string(textcol1)", + "OrderBy": "0 ASC, (1|2) ASC", + "Query": "select col, textcol1, weight_string(textcol1) from `user` group by col, textcol1, weight_string(textcol1) order by col asc, textcol1 asc", + "ResultColumns": 2, + "Table": "`user`" } ] } } { "QueryType": "SELECT", - "Original": "select count(*) k, a, textcol1, b from user group by a, textcol1, b order by k, textcol1", + "Original": "select col, count(distinct textcol1) from user group by col", "Instructions": { - "OperatorType": "Sort", - "Variant": "Memory", - "OrderBy": "0 ASC, 2 ASC COLLATE latin1_swedish_ci", - "ResultColumns": 4, + "OperatorType": "Aggregate", + "Variant": "Ordered", + "Aggregates": "count_distinct(1 COLLATE latin1_swedish_ci) AS count(distinct textcol1)", + "GroupBy": "0", "Inputs": [ { - "OperatorType": "Aggregate", - "Variant": "Ordered", - "Aggregates": "sum(0) AS k", - "GroupBy": "(1|4), 2 COLLATE latin1_swedish_ci, (3|5)", - "Inputs": [ - { - "OperatorType": "Route", - "Variant": "Scatter", - "Keyspace": { - "Name": "user", - "Sharded": true - }, - "FieldQuery": "select count(*) as k, a, textcol1, b, weight_string(a), weight_string(b) from `user` where 1 != 1 group by a, weight_string(a), textcol1, b, weight_string(b)", - "OrderBy": "(1|4) ASC, 2 ASC COLLATE latin1_swedish_ci, (3|5) ASC", - "Query": "select count(*) as k, a, textcol1, b, weight_string(a), weight_string(b) from `user` group by a, weight_string(a), textcol1, b, weight_string(b) order by a asc, textcol1 asc, b asc", - "Table": "`user`" - } - ] + "OperatorType": "Route", + "Variant": "Scatter", + "Keyspace": { + "Name": "user", + "Sharded": true + }, + "FieldQuery": "select col, textcol1 from `user` where 1 != 1 group by col, textcol1", + "OrderBy": "0 ASC, 1 ASC COLLATE latin1_swedish_ci", + "Query": "select col, textcol1 from `user` group by col, textcol1 order by col asc, textcol1 asc", + "Table": "`user`" } ] } diff --git a/go/vt/vtgate/semantics/binder.go b/go/vt/vtgate/semantics/binder.go index d3d7ab7af9e..dae24bd7b1e 100644 --- a/go/vt/vtgate/semantics/binder.go +++ b/go/vt/vtgate/semantics/binder.go @@ -17,6 +17,7 @@ limitations under the License. package semantics import ( + "fmt" "strings" "vitess.io/vitess/go/vt/vtgate/engine" @@ -131,6 +132,23 @@ func (b *binder) up(cursor *sqlparser.Cursor) error { } b.recursive[node] = ts b.direct[node] = ts + case sqlparser.AggrFunc: + fmt.Println("here you go") + cStar, ok := node.(*sqlparser.CountStar) + if !ok { + break + } + + scope := b.scoper.currentScope() + var ts TableSet + for _, table := range scope.tables { + expr := table.getExpr() + if expr != nil { + ts.MergeInPlace(b.tc.tableSetFor(expr)) + } + } + b.recursive[cStar] = ts + b.direct[cStar] = ts } return nil } From e50f58365f911d70efeeb49becc9cf5079b6b707 Mon Sep 17 00:00:00 2001 From: Rameez Sajwani Date: Thu, 26 May 2022 18:17:33 -0700 Subject: [PATCH 10/22] More refactoring and unit test cases fix Signed-off-by: Rameez Sajwani --- go/vt/sqlparser/ast.go | 41 +- go/vt/sqlparser/ast_clone.go | 10 +- go/vt/sqlparser/ast_equals.go | 15 +- go/vt/sqlparser/ast_format.go | 24 +- go/vt/sqlparser/ast_format_fast.go | 24 +- go/vt/sqlparser/ast_funcs.go | 47 +- go/vt/sqlparser/ast_rewrite.go | 20 +- go/vt/sqlparser/ast_visit.go | 10 +- go/vt/sqlparser/cached_size.go | 67 +- go/vt/sqlparser/sql.go | 3730 +++++++++-------- go/vt/sqlparser/sql.y | 26 +- go/vt/vtgate/engine/ordered_aggregate.go | 3 +- .../planbuilder/abstract/queryprojection.go | 8 +- go/vt/vtgate/planbuilder/horizon_planning.go | 7 + go/vt/vtgate/planbuilder/memory_sort.go | 2 - go/vt/vtgate/planbuilder/ordered_aggregate.go | 16 +- go/vt/vtgate/planbuilder/project.go | 2 - go/vt/vtgate/planbuilder/route.go | 2 - go/vt/vtgate/planbuilder/testdata/onecase.txt | 54 +- go/vt/vtgate/semantics/binder.go | 2 - 20 files changed, 2083 insertions(+), 2027 deletions(-) diff --git a/go/vt/sqlparser/ast.go b/go/vt/sqlparser/ast.go index 42903943378..022433532d9 100644 --- a/go/vt/sqlparser/ast.go +++ b/go/vt/sqlparser/ast.go @@ -2560,32 +2560,37 @@ type ( AggrFunc interface { AggrName() string GetArg() Expr + isDistinct() bool + GetArgs() Exprs } Count struct { - Arg Expr + Args Exprs Distinct bool } CountStar struct { - Star StarExpr + Star StarExpr + Distinct bool } Avg struct { - Arg Expr + Args Exprs Distinct bool } Max struct { - Arg Expr + Args Exprs + Distinct bool } Min struct { - Arg Expr + Args Exprs + Distinct bool } Sum struct { - Arg Expr + Args Exprs Distinct bool } ) @@ -2598,12 +2603,26 @@ func (*Avg) iExpr() {} func (*CountStar) iExpr() {} func (*Count) iExpr() {} -func (sum *Sum) GetArg() Expr { return sum.Arg } -func (min *Min) GetArg() Expr { return min.Arg } -func (max *Max) GetArg() Expr { return max.Arg } -func (avg *Avg) GetArg() Expr { return avg.Arg } +func (sum *Sum) GetArg() Expr { return sum.Args[0] } +func (min *Min) GetArg() Expr { return min.Args[0] } +func (max *Max) GetArg() Expr { return max.Args[0] } +func (avg *Avg) GetArg() Expr { return avg.Args[0] } func (*CountStar) GetArg() Expr { return nil } -func (count *Count) GetArg() Expr { return count.Arg } +func (count *Count) GetArg() Expr { return count.Args[0] } + +func (sum *Sum) GetArgs() Exprs { return sum.Args } +func (min *Min) GetArgs() Exprs { return min.Args } +func (max *Max) GetArgs() Exprs { return max.Args } +func (avg *Avg) GetArgs() Exprs { return avg.Args } +func (*CountStar) GetArgs() Exprs { return nil } +func (count *Count) GetArgs() Exprs { return count.Args } + +func (sum *Sum) isDistinct() bool { return sum.Distinct } +func (min *Min) isDistinct() bool { return min.Distinct } +func (max *Max) isDistinct() bool { return max.Distinct } +func (avg *Avg) isDistinct() bool { return avg.Distinct } +func (cStar *CountStar) isDistinct() bool { return cStar.Distinct } +func (count *Count) isDistinct() bool { return count.Distinct } func (*Sum) AggrName() string { return "sum" } func (*Min) AggrName() string { return "min" } diff --git a/go/vt/sqlparser/ast_clone.go b/go/vt/sqlparser/ast_clone.go index f9c77b5179e..be052aeade9 100644 --- a/go/vt/sqlparser/ast_clone.go +++ b/go/vt/sqlparser/ast_clone.go @@ -622,7 +622,7 @@ func CloneRefOfAvg(n *Avg) *Avg { return nil } out := *n - out.Arg = CloneExpr(n.Arg) + out.Args = CloneExprs(n.Args) return &out } @@ -843,7 +843,7 @@ func CloneRefOfCount(n *Count) *Count { return nil } out := *n - out.Arg = CloneExpr(n.Arg) + out.Args = CloneExprs(n.Args) return &out } @@ -1609,7 +1609,7 @@ func CloneRefOfMax(n *Max) *Max { return nil } out := *n - out.Arg = CloneExpr(n.Arg) + out.Args = CloneExprs(n.Args) return &out } @@ -1630,7 +1630,7 @@ func CloneRefOfMin(n *Min) *Min { return nil } out := *n - out.Arg = CloneExpr(n.Arg) + out.Args = CloneExprs(n.Args) return &out } @@ -2228,7 +2228,7 @@ func CloneRefOfSum(n *Sum) *Sum { return nil } out := *n - out.Arg = CloneExpr(n.Arg) + out.Args = CloneExprs(n.Args) return &out } diff --git a/go/vt/sqlparser/ast_equals.go b/go/vt/sqlparser/ast_equals.go index 8bd1b2fb60b..27f70fc6338 100644 --- a/go/vt/sqlparser/ast_equals.go +++ b/go/vt/sqlparser/ast_equals.go @@ -1472,7 +1472,7 @@ func EqualsRefOfAvg(a, b *Avg) bool { return false } return a.Distinct == b.Distinct && - EqualsExpr(a.Arg, b.Arg) + EqualsExprs(a.Args, b.Args) } // EqualsRefOfBegin does deep equals between the two objects. @@ -1735,7 +1735,7 @@ func EqualsRefOfCount(a, b *Count) bool { return false } return a.Distinct == b.Distinct && - EqualsExpr(a.Arg, b.Arg) + EqualsExprs(a.Args, b.Args) } // EqualsRefOfCountStar does deep equals between the two objects. @@ -1746,7 +1746,8 @@ func EqualsRefOfCountStar(a, b *CountStar) bool { if a == nil || b == nil { return false } - return EqualsStarExpr(a.Star, b.Star) + return a.Distinct == b.Distinct && + EqualsStarExpr(a.Star, b.Star) } // EqualsRefOfCreateDatabase does deep equals between the two objects. @@ -2628,7 +2629,8 @@ func EqualsRefOfMax(a, b *Max) bool { if a == nil || b == nil { return false } - return EqualsExpr(a.Arg, b.Arg) + return a.Distinct == b.Distinct && + EqualsExprs(a.Args, b.Args) } // EqualsRefOfMemberOfExpr does deep equals between the two objects. @@ -2651,7 +2653,8 @@ func EqualsRefOfMin(a, b *Min) bool { if a == nil || b == nil { return false } - return EqualsExpr(a.Arg, b.Arg) + return a.Distinct == b.Distinct && + EqualsExprs(a.Args, b.Args) } // EqualsRefOfModifyColumn does deep equals between the two objects. @@ -3349,7 +3352,7 @@ func EqualsRefOfSum(a, b *Sum) bool { return false } return a.Distinct == b.Distinct && - EqualsExpr(a.Arg, b.Arg) + EqualsExprs(a.Args, b.Args) } // EqualsTableExprs does deep equals between the two objects. diff --git a/go/vt/sqlparser/ast_format.go b/go/vt/sqlparser/ast_format.go index f035aac7f55..29baf2247f4 100644 --- a/go/vt/sqlparser/ast_format.go +++ b/go/vt/sqlparser/ast_format.go @@ -2348,11 +2348,15 @@ func (node *Count) Format(buf *TrackedBuffer) { if node.Distinct { buf.literal(DistinctStr) } - buf.astPrintf(node, "%v)", node.Arg) + buf.astPrintf(node, "%v)", node.Args) } func (node *CountStar) Format(buf *TrackedBuffer) { - buf.WriteString("count(*)") + buf.WriteString("count(") + if node.Distinct { + buf.literal(DistinctStr) + } + buf.WriteString("*)") } func (node *Avg) Format(buf *TrackedBuffer) { @@ -2360,15 +2364,23 @@ func (node *Avg) Format(buf *TrackedBuffer) { if node.Distinct { buf.literal(DistinctStr) } - buf.astPrintf(node, "%v)", node.Arg) + buf.astPrintf(node, "%v)", node.Args) } func (node *Max) Format(buf *TrackedBuffer) { - buf.astPrintf(node, "max(%v)", node.Arg) + buf.WriteString("max(") + if node.Distinct { + buf.literal(DistinctStr) + } + buf.astPrintf(node, "%v)", node.Args) } func (node *Min) Format(buf *TrackedBuffer) { - buf.astPrintf(node, "min(%v)", node.Arg) + buf.WriteString("min(") + if node.Distinct { + buf.literal(DistinctStr) + } + buf.astPrintf(node, "%v)", node.Args) } func (node *Sum) Format(buf *TrackedBuffer) { @@ -2376,5 +2388,5 @@ func (node *Sum) Format(buf *TrackedBuffer) { if node.Distinct { buf.literal(DistinctStr) } - buf.astPrintf(node, "%v)", node.Arg) + buf.astPrintf(node, "%v)", node.Args) } diff --git a/go/vt/sqlparser/ast_format_fast.go b/go/vt/sqlparser/ast_format_fast.go index 1542eff9641..c4f4b8f3317 100644 --- a/go/vt/sqlparser/ast_format_fast.go +++ b/go/vt/sqlparser/ast_format_fast.go @@ -3062,14 +3062,16 @@ func (node *Count) formatFast(buf *TrackedBuffer) { if node.Distinct { buf.WriteString(DistinctStr) } - buf.printExpr(node, node.Arg, true) + node.Args.formatFast(buf) buf.WriteByte(')') } func (node *CountStar) formatFast(buf *TrackedBuffer) { - //buf.WriteString("count(") - buf.WriteString("count(*)") - //buf.WriteString(")") + buf.WriteString("count(") + if node.Distinct { + buf.WriteString(DistinctStr) + } + buf.WriteString("*)") } func (node *Avg) formatFast(buf *TrackedBuffer) { @@ -3077,19 +3079,25 @@ func (node *Avg) formatFast(buf *TrackedBuffer) { if node.Distinct { buf.WriteString(DistinctStr) } - buf.printExpr(node, node.Arg, true) + node.Args.formatFast(buf) buf.WriteByte(')') } func (node *Max) formatFast(buf *TrackedBuffer) { buf.WriteString("max(") - buf.printExpr(node, node.Arg, true) + if node.Distinct { + buf.WriteString(DistinctStr) + } + node.Args.formatFast(buf) buf.WriteByte(')') } func (node *Min) formatFast(buf *TrackedBuffer) { buf.WriteString("min(") - buf.printExpr(node, node.Arg, true) + if node.Distinct { + buf.WriteString(DistinctStr) + } + node.Args.formatFast(buf) buf.WriteByte(')') } @@ -3098,6 +3106,6 @@ func (node *Sum) formatFast(buf *TrackedBuffer) { if node.Distinct { buf.WriteString(DistinctStr) } - buf.printExpr(node, node.Arg, true) + node.Args.formatFast(buf) buf.WriteByte(')') } diff --git a/go/vt/sqlparser/ast_funcs.go b/go/vt/sqlparser/ast_funcs.go index 6e6ab2858a8..3d0781af142 100644 --- a/go/vt/sqlparser/ast_funcs.go +++ b/go/vt/sqlparser/ast_funcs.go @@ -598,7 +598,6 @@ var Aggregates = map[string]bool{ // IsAggregate returns true if the function is an aggregate. func (node *FuncExpr) IsAggregate() bool { - log.Infof("inside IsAggregate...") return Aggregates[node.Name.Lowered()] } @@ -629,7 +628,6 @@ func NewColNameWithQualifier(identifier string, table TableName) *ColName { // NewSelect is used to create a select statement func NewSelect(comments Comments, exprs SelectExprs, selectOptions []string, into *SelectInto, from TableExprs, where *Where, groupBy GroupBy, having *Where) *Select { - log.Infof("inside NewSelect") var cache *bool var distinct, straightJoinHint, sqlFoundRows bool @@ -1717,46 +1715,15 @@ func formatAddress(address string) string { func ContainsAggregation(e SQLNode) bool { hasAggregates := false _ = Walk(func(node SQLNode) (kontinue bool, err error) { - //fExpr, ok := node.(Expr) - //if ok { if isAggregate, _ := IsAggregation(node); isAggregate { hasAggregates = true return false, nil } - //} return true, nil }, e) return hasAggregates } -/*func IsAggregateWithColName(aggr AggrFunc) (bool, ColIdent) { - switch node := aggr.(type) { - case *CountStar: - return false, ColIdent{} - case *Count: - if col, ok := node.(*ColName); ok { - return true, col.Name - } - case *Avg: - if col, ok := node.(*ColName); ok { - return true, col.Name - } - case *Max: - if col, ok := node.(*ColName); ok { - return true, col.Name - } - case *Min: - if col, ok := node.(*ColName); ok { - return true, col.Name - } - case *Sum: - if col, ok := node.(*ColName); ok { - return true, col.Name - } - } - return false, ColIdent{} -}*/ - func IsAggregation(node SQLNode) (bool, string) { fExpr, ok := node.(Expr) if ok { @@ -1768,26 +1735,18 @@ func IsAggregation(node SQLNode) (bool, string) { return false, "" } -/*func IsAggregation(expr Expr) (bool, string) { - switch node := expr.(type) { - case AggrFunc: - return true, node.AggrName() - } - return false, "" -}*/ - func IsDistinct(expr Expr) bool { switch node := expr.(type) { case *Count: return node.Distinct case *CountStar: - return false + return node.Distinct case *Avg: return node.Distinct case *Max: - return false + return node.Distinct case *Min: - return false + return node.Distinct case *Sum: return node.Distinct } diff --git a/go/vt/sqlparser/ast_rewrite.go b/go/vt/sqlparser/ast_rewrite.go index 2ab71382af8..19ee04ec9d1 100644 --- a/go/vt/sqlparser/ast_rewrite.go +++ b/go/vt/sqlparser/ast_rewrite.go @@ -986,8 +986,8 @@ func (a *application) rewriteRefOfAvg(parent SQLNode, node *Avg, replacer replac return true } } - if !a.rewriteExpr(node, node.Arg, func(newNode, parent SQLNode) { - parent.(*Avg).Arg = newNode.(Expr) + if !a.rewriteExprs(node, node.Args, func(newNode, parent SQLNode) { + parent.(*Avg).Args = newNode.(Exprs) }) { return false } @@ -1640,8 +1640,8 @@ func (a *application) rewriteRefOfCount(parent SQLNode, node *Count, replacer re return true } } - if !a.rewriteExpr(node, node.Arg, func(newNode, parent SQLNode) { - parent.(*Count).Arg = newNode.(Expr) + if !a.rewriteExprs(node, node.Args, func(newNode, parent SQLNode) { + parent.(*Count).Args = newNode.(Exprs) }) { return false } @@ -3898,8 +3898,8 @@ func (a *application) rewriteRefOfMax(parent SQLNode, node *Max, replacer replac return true } } - if !a.rewriteExpr(node, node.Arg, func(newNode, parent SQLNode) { - parent.(*Max).Arg = newNode.(Expr) + if !a.rewriteExprs(node, node.Args, func(newNode, parent SQLNode) { + parent.(*Max).Args = newNode.(Exprs) }) { return false } @@ -3957,8 +3957,8 @@ func (a *application) rewriteRefOfMin(parent SQLNode, node *Min, replacer replac return true } } - if !a.rewriteExpr(node, node.Arg, func(newNode, parent SQLNode) { - parent.(*Min).Arg = newNode.(Expr) + if !a.rewriteExprs(node, node.Args, func(newNode, parent SQLNode) { + parent.(*Min).Args = newNode.(Exprs) }) { return false } @@ -5710,8 +5710,8 @@ func (a *application) rewriteRefOfSum(parent SQLNode, node *Sum, replacer replac return true } } - if !a.rewriteExpr(node, node.Arg, func(newNode, parent SQLNode) { - parent.(*Sum).Arg = newNode.(Expr) + if !a.rewriteExprs(node, node.Args, func(newNode, parent SQLNode) { + parent.(*Sum).Args = newNode.(Exprs) }) { return false } diff --git a/go/vt/sqlparser/ast_visit.go b/go/vt/sqlparser/ast_visit.go index 5a032839cbd..b186ef0ad15 100644 --- a/go/vt/sqlparser/ast_visit.go +++ b/go/vt/sqlparser/ast_visit.go @@ -695,7 +695,7 @@ func VisitRefOfAvg(in *Avg, f Visit) error { if cont, err := f(in); err != nil || !cont { return err } - if err := VisitExpr(in.Arg, f); err != nil { + if err := VisitExprs(in.Args, f); err != nil { return err } return nil @@ -990,7 +990,7 @@ func VisitRefOfCount(in *Count, f Visit) error { if cont, err := f(in); err != nil || !cont { return err } - if err := VisitExpr(in.Arg, f); err != nil { + if err := VisitExprs(in.Args, f); err != nil { return err } return nil @@ -2022,7 +2022,7 @@ func VisitRefOfMax(in *Max, f Visit) error { if cont, err := f(in); err != nil || !cont { return err } - if err := VisitExpr(in.Arg, f); err != nil { + if err := VisitExprs(in.Args, f); err != nil { return err } return nil @@ -2049,7 +2049,7 @@ func VisitRefOfMin(in *Min, f Visit) error { if cont, err := f(in); err != nil || !cont { return err } - if err := VisitExpr(in.Arg, f); err != nil { + if err := VisitExprs(in.Args, f); err != nil { return err } return nil @@ -2831,7 +2831,7 @@ func VisitRefOfSum(in *Sum, f Visit) error { if cont, err := f(in); err != nil || !cont { return err } - if err := VisitExpr(in.Arg, f); err != nil { + if err := VisitExprs(in.Args, f); err != nil { return err } return nil diff --git a/go/vt/sqlparser/cached_size.go b/go/vt/sqlparser/cached_size.go index ffa50c37da8..128c5391b62 100644 --- a/go/vt/sqlparser/cached_size.go +++ b/go/vt/sqlparser/cached_size.go @@ -337,11 +337,16 @@ func (cached *Avg) CachedSize(alloc bool) int64 { } size := int64(0) if alloc { - size += int64(24) + size += int64(32) } - // field Arg vitess.io/vitess/go/vt/sqlparser.Expr - if cc, ok := cached.Arg.(cachedObject); ok { - size += cc.CachedSize(true) + // field Args vitess.io/vitess/go/vt/sqlparser.Exprs + { + size += hack.RuntimeAllocSize(int64(cap(cached.Args)) * int64(16)) + for _, elem := range cached.Args { + if cc, ok := elem.(cachedObject); ok { + size += cc.CachedSize(true) + } + } } return size } @@ -742,11 +747,16 @@ func (cached *Count) CachedSize(alloc bool) int64 { } size := int64(0) if alloc { - size += int64(24) + size += int64(32) } - // field Arg vitess.io/vitess/go/vt/sqlparser.Expr - if cc, ok := cached.Arg.(cachedObject); ok { - size += cc.CachedSize(true) + // field Args vitess.io/vitess/go/vt/sqlparser.Exprs + { + size += hack.RuntimeAllocSize(int64(cap(cached.Args)) * int64(16)) + for _, elem := range cached.Args { + if cc, ok := elem.(cachedObject); ok { + size += cc.CachedSize(true) + } + } } return size } @@ -756,7 +766,7 @@ func (cached *CountStar) CachedSize(alloc bool) int64 { } size := int64(0) if alloc { - size += int64(32) + size += int64(48) } // field Star vitess.io/vitess/go/vt/sqlparser.StarExpr size += cached.Star.CachedSize(false) @@ -2090,11 +2100,16 @@ func (cached *Max) CachedSize(alloc bool) int64 { } size := int64(0) if alloc { - size += int64(16) + size += int64(32) } - // field Arg vitess.io/vitess/go/vt/sqlparser.Expr - if cc, ok := cached.Arg.(cachedObject); ok { - size += cc.CachedSize(true) + // field Args vitess.io/vitess/go/vt/sqlparser.Exprs + { + size += hack.RuntimeAllocSize(int64(cap(cached.Args)) * int64(16)) + for _, elem := range cached.Args { + if cc, ok := elem.(cachedObject); ok { + size += cc.CachedSize(true) + } + } } return size } @@ -2122,11 +2137,16 @@ func (cached *Min) CachedSize(alloc bool) int64 { } size := int64(0) if alloc { - size += int64(16) + size += int64(32) } - // field Arg vitess.io/vitess/go/vt/sqlparser.Expr - if cc, ok := cached.Arg.(cachedObject); ok { - size += cc.CachedSize(true) + // field Args vitess.io/vitess/go/vt/sqlparser.Exprs + { + size += hack.RuntimeAllocSize(int64(cap(cached.Args)) * int64(16)) + for _, elem := range cached.Args { + if cc, ok := elem.(cachedObject); ok { + size += cc.CachedSize(true) + } + } } return size } @@ -2968,11 +2988,16 @@ func (cached *Sum) CachedSize(alloc bool) int64 { } size := int64(0) if alloc { - size += int64(24) + size += int64(32) } - // field Arg vitess.io/vitess/go/vt/sqlparser.Expr - if cc, ok := cached.Arg.(cachedObject); ok { - size += cc.CachedSize(true) + // field Args vitess.io/vitess/go/vt/sqlparser.Exprs + { + size += hack.RuntimeAllocSize(int64(cap(cached.Args)) * int64(16)) + for _, elem := range cached.Args { + if cc, ok := elem.(cachedObject); ok { + size += cc.CachedSize(true) + } + } } return size } diff --git a/go/vt/sqlparser/sql.go b/go/vt/sqlparser/sql.go index 89738458e2a..e5f6324b6e9 100644 --- a/go/vt/sqlparser/sql.go +++ b/go/vt/sqlparser/sql.go @@ -1358,43 +1358,43 @@ var yyExca = [...]int{ 243, 42, 248, 42, -2, 396, - -1, 1798, + -1, 1796, 217, 1324, -2, 1318, - -1, 1882, + -1, 1880, 132, 153, 172, 153, 333, 153, -2, 435, - -1, 1889, + -1, 1887, 25, 174, -2, 176, - -1, 2144, + -1, 2143, 87, 39, -2, 892, - -1, 2201, + -1, 2200, 77, 94, 87, 94, -2, 912, - -1, 2269, + -1, 2268, 591, 666, -2, 640, - -1, 2411, + -1, 2413, 49, 1260, -2, 1254, - -1, 2633, + -1, 2635, 87, 39, -2, 893, - -1, 2671, + -1, 2673, 7, 53, 18, 53, 20, 53, 88, 53, -2, 884, - -1, 2956, + -1, 2958, 591, 666, -2, 654, - -1, 3014, + -1, 3016, 22, 1658, 32, 1658, 173, 1658, @@ -1443,756 +1443,754 @@ var yyExca = [...]int{ const yyPrivate = 57344 -const yyLast = 44186 +const yyLast = 44789 var yyAct = [...]int{ - 705, 714, 2775, 2370, 3068, 2774, 3076, 2773, 2937, 3044, - 1879, 3045, 2748, 3012, 1397, 2560, 707, 2996, 1812, 2466, - 1832, 2473, 2098, 2523, 2890, 3, 2514, 2528, 1161, 2525, - 622, 2788, 2424, 2524, 2522, 2527, 2526, 2735, 699, 796, - 96, 1814, 2427, 2913, 2132, 1949, 1355, 2543, 2542, 2642, - 2481, 186, 2636, 618, 186, 774, 583, 186, 2428, 708, - 2368, 2425, 598, 2329, 186, 2369, 696, 615, 2195, 2422, - 697, 2172, 186, 1319, 2793, 644, 2545, 1852, 2412, 2159, - 2662, 2234, 1836, 2628, 1110, 2312, 1912, 186, 698, 37, - 2266, 2235, 1451, 614, 1937, 2565, 2236, 1917, 823, 2184, - 1868, 1980, 797, 36, 1856, 616, 2165, 155, 2151, 598, - 976, 1857, 598, 186, 598, 2134, 1792, 776, 1767, 1691, - 38, 1768, 1701, 2304, 1342, 141, 1936, 1844, 1996, 1649, - 1919, 2228, 1009, 1004, 1958, 1498, 1386, 820, 2203, 1480, - 95, 610, 1364, 1859, 1322, 1713, 1246, 1182, 983, 1594, - 627, 91, 1668, 1487, 980, 1598, 1015, 1012, 984, 1908, - 1934, 1578, 1010, 1011, 1383, 1369, 778, 1385, 782, 788, - 1709, 1159, 1153, 1603, 159, 1764, 119, 117, 118, 1795, - 1022, 1837, 1446, 783, 1472, 124, 799, 125, 810, 98, - 786, 76, 1253, 1094, 1139, 1805, 605, 97, 85, 1249, - 784, 2946, 2259, 89, 3069, 102, 1951, 1952, 1953, 1951, - 2736, 2511, 2533, 2288, 2287, 1994, 2257, 2533, 1183, 2728, - 785, 77, 120, 1563, 8, 804, 7, 809, 6, 2691, - 2530, 2320, 90, 126, 2321, 2970, 2778, 554, 2969, 1809, - 1810, 2778, 790, 587, 977, 1656, 104, 105, 1655, 108, - 1654, 1653, 114, 1652, 1051, 183, 1651, 1634, 549, 87, - 2130, 608, 606, 609, 1643, 3033, 2408, 2616, 2279, 777, - 2531, 3048, 3085, 817, 775, 2531, 993, 2161, 770, 771, - 772, 773, 988, 1002, 781, 3043, 1025, 791, 1984, 3059, - 824, 120, 2537, 1000, 999, 998, 798, 2537, 1349, 1982, - 2282, 1661, 1001, 2886, 2885, 1052, 1055, 1056, 587, 1026, - 1050, 1049, 812, 813, 188, 189, 190, 78, 3084, 2741, - 182, 2777, 2742, 3006, 1193, 3072, 2777, 78, 2038, 2970, - 80, 78, 1983, 78, 2965, 1061, 3057, 2749, 3022, 2997, - 1977, 1067, 3005, 2964, 121, 1183, 2328, 3017, 2598, 1840, - 1461, 2131, 3020, 1097, 2296, 2175, 2462, 164, 2295, 120, - 1215, 3026, 3027, 2463, 2464, 2212, 2806, 2319, 2211, 2483, - 2484, 2213, 1874, 1875, 2035, 992, 3021, 1873, 994, 1928, - 2176, 2895, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1224, - 1223, 1225, 1226, 2036, 997, 87, 1103, 1104, 1129, 1156, - 2217, 2534, 1134, 1135, 1922, 87, 2534, 768, 1387, 87, - 1388, 87, 767, 2260, 1811, 161, 1146, 162, 1148, 1117, - 1117, 2938, 1750, 1189, 1118, 1118, 1181, 2224, 1106, 587, - 1892, 1891, 1116, 587, 1115, 2358, 587, 181, 3049, 2168, - 2169, 596, 1642, 2589, 588, 1130, 2587, 600, 2639, 1123, - 594, 1193, 995, 2562, 2566, 2305, 1145, 1147, 1326, 3050, - 1093, 2008, 2005, 2007, 2006, 2009, 2010, 1584, 2267, 1068, - 1959, 2555, 2291, 997, 2482, 989, 2014, 1840, 2015, 2556, - 2016, 2002, 991, 990, 1997, 3071, 2485, 1579, 1132, 1133, - 1644, 1645, 1646, 1553, 1150, 1138, 1099, 1136, 2307, 1024, - 2730, 2001, 2729, 997, 1092, 1155, 2017, 1137, 1074, 588, - 1742, 1731, 1732, 1733, 1734, 1744, 1735, 1736, 1737, 1749, - 1745, 1738, 1739, 1746, 1747, 1748, 1740, 1741, 1743, 1073, - 1131, 995, 1838, 1839, 1124, 2564, 2003, 1554, 2563, 1555, - 1999, 2726, 2870, 2000, 1921, 1046, 165, 1962, 1035, 186, - 1189, 186, 1033, 1143, 186, 171, 3034, 1144, 1005, 87, - 1853, 1006, 1006, 1044, 1043, 1329, 1042, 1149, 1096, 981, - 996, 1041, 2485, 1040, 1018, 1039, 1038, 1465, 1037, 1032, - 1045, 1024, 3086, 1227, 598, 1163, 598, 598, 3055, 981, - 1227, 1142, 2359, 979, 981, 1486, 1017, 1054, 1023, 1595, - 1935, 598, 598, 1017, 1017, 1020, 1021, 1053, 981, 2135, - 2137, 2036, 1014, 1018, 811, 1127, 2308, 1988, 2504, 2311, - 1591, 1188, 1185, 1186, 1187, 1192, 1194, 1191, 1175, 1190, - 588, 1169, 2290, 1013, 588, 3080, 1184, 588, 1057, 1459, - 1113, 1458, 1119, 1120, 1121, 1122, 1457, 1024, 2277, 996, - 2934, 1592, 1455, 2725, 188, 189, 190, 553, 2226, 548, - 1838, 1839, 2678, 1979, 1095, 1157, 1158, 2324, 1228, 1229, - 2658, 1585, 156, 1981, 2050, 1586, 1587, 2208, 2293, 996, - 1023, 2303, 2945, 2258, 2302, 2171, 1017, 1020, 1021, 1048, - 981, 37, 1036, 2261, 1014, 1018, 1034, 587, 2896, 2122, - 1485, 1003, 1064, 1065, 1066, 1804, 1069, 1070, 1071, 1072, - 1373, 1583, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, - 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1230, - 1231, 1232, 1233, 2640, 1298, 1108, 2166, 116, 584, 1238, - 2951, 1241, 1880, 2963, 1227, 1312, 1023, 1226, 1188, 1185, - 1186, 1187, 1192, 1194, 1191, 81, 1190, 1165, 1166, 3025, - 2281, 2535, 2536, 1184, 2461, 793, 2535, 2536, 186, 1151, - 2314, 2136, 598, 598, 2539, 2313, 1154, 1925, 2314, 2539, - 1234, 2037, 2776, 2313, 86, 570, 1112, 2776, 186, 1565, - 1564, 1566, 1567, 1568, 86, 2689, 2690, 568, 86, 2959, - 86, 1164, 1140, 3024, 2280, 1317, 1047, 598, 2721, 2652, - 1998, 186, 1063, 1126, 1330, 1024, 598, 1926, 776, 1335, - 1318, 157, 598, 77, 1128, 1924, 1105, 1178, 169, 1176, - 1588, 1177, 1102, 1333, 1114, 1389, 1179, 565, 2348, 1604, - 1255, 1714, 1710, 1251, 820, 1252, 579, 2250, 1714, 3078, - 2064, 1673, 3079, 1978, 3077, 1580, 1711, 1581, 1198, 1927, - 1582, 575, 1197, 1198, 1332, 1674, 1675, 1672, 1336, 1923, - 177, 2802, 2696, 2695, 778, 1221, 1222, 1224, 1223, 1225, - 1226, 1334, 1966, 1318, 1199, 95, 1663, 1665, 1666, 111, - 1024, 1495, 1494, 1304, 1305, 1306, 1307, 1308, 588, 158, - 163, 160, 166, 167, 168, 170, 172, 173, 174, 175, - 1664, 1323, 1484, 1976, 1023, 176, 178, 179, 180, 1027, - 1017, 1024, 1098, 1974, 1029, 1971, 1035, 1111, 1030, 1028, - 555, 1033, 557, 571, 98, 590, 3051, 589, 561, 2330, - 559, 563, 572, 564, 1971, 558, 1141, 569, 2975, 1031, - 560, 573, 574, 577, 580, 581, 582, 578, 576, 112, - 567, 591, 1975, 1320, 1217, 1218, 1219, 1220, 1221, 1222, - 1224, 1223, 1225, 1226, 1331, 775, 186, 777, 1354, 1351, - 1447, 1973, 1723, 1605, 2679, 2927, 1337, 1374, 1384, 1023, - 1456, 2976, 3082, 3052, 1027, 1017, 3087, 824, 2878, 1029, - 87, 1379, 1380, 1030, 1028, 1219, 1220, 1221, 1222, 1224, - 1223, 1225, 1226, 598, 1671, 1482, 1196, 2877, 1197, 1198, - 1023, 2332, 1062, 1491, 2755, 2350, 2756, 1493, 2928, 2868, - 1496, 1497, 598, 598, 1573, 598, 1571, 598, 598, 2766, - 598, 598, 598, 598, 598, 598, 1203, 1204, 1205, 1206, - 1207, 1208, 1209, 1201, 1528, 1529, 1492, 598, 2042, 2043, - 2044, 186, 1534, 1216, 1217, 1218, 1219, 1220, 1221, 1222, - 1224, 1223, 1225, 1226, 719, 720, 721, 1199, 186, 2765, - 2703, 3088, 2702, 1527, 2692, 2512, 1530, 2342, 2341, 2340, - 2334, 598, 2338, 186, 2333, 1349, 2331, 815, 1572, 2500, - 1570, 2336, 1718, 1199, 1593, 2232, 1719, 598, 2231, 186, - 2335, 188, 189, 190, 1931, 2686, 1199, 2954, 1574, 1548, - 1558, 2595, 1199, 1478, 1557, 186, 2087, 2337, 2339, 188, - 189, 190, 186, 2215, 1471, 1199, 1556, 1546, 592, 1560, - 1540, 186, 186, 186, 186, 186, 186, 186, 186, 186, - 598, 188, 189, 190, 1537, 1947, 585, 2953, 1845, 1846, - 2906, 1349, 1490, 1199, 598, 598, 1536, 1531, 1500, 1199, - 1501, 586, 1503, 1505, 1535, 1489, 1509, 1511, 1513, 1515, - 1517, 1454, 186, 1507, 188, 189, 190, 1349, 1945, 2931, - 1358, 2930, 1468, 1469, 2929, 1467, 2873, 1481, 2858, 1460, - 1349, 1488, 1488, 1559, 2857, 2593, 1349, 1600, 1608, 1196, - 2801, 1197, 1198, 2799, 2762, 1612, 1199, 1614, 1615, 1616, - 1617, 1199, 2700, 2685, 1621, 188, 189, 190, 598, 1943, - 1698, 1698, 1695, 1699, 1199, 1196, 1633, 1197, 1198, 1532, - 1359, 1704, 598, 2567, 2060, 1696, 1696, 3053, 1196, 1669, - 1197, 1198, 2107, 1349, 1196, 1596, 1197, 1198, 1199, 188, - 189, 190, 598, 598, 2503, 2502, 1199, 1196, 2241, 1197, - 1198, 2229, 1199, 120, 1314, 1000, 999, 998, 1992, 1715, - 1676, 1991, 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, - 1686, 1687, 1688, 1689, 1690, 1196, 1667, 1197, 1198, 1610, - 2942, 1196, 1835, 1197, 1198, 1349, 1199, 1817, 1635, 1601, - 1606, 1607, 1199, 1569, 1561, 1551, 1547, 2059, 1543, 1677, - 1542, 1631, 1541, 1632, 1611, 186, 1360, 1796, 1152, 1362, - 598, 1618, 1619, 1620, 2469, 1639, 1640, 2559, 1168, 2055, - 1349, 2099, 1199, 2157, 3070, 3039, 1349, 1765, 1196, 2054, - 1197, 1198, 101, 1196, 186, 1197, 1198, 598, 2157, 3003, - 2903, 1670, 2902, 100, 2862, 99, 1196, 186, 1197, 1198, - 2861, 598, 2747, 1822, 94, 1823, 186, 1199, 186, 2470, - 186, 186, 598, 92, 2268, 598, 1199, 2157, 2983, 2673, - 1196, 94, 1197, 1198, 93, 1361, 598, 1798, 1196, 1765, - 1197, 1198, 1796, 1199, 1196, 2472, 1197, 1198, 1889, 2173, - 820, 2157, 2979, 820, 92, 1700, 2246, 1800, 1801, 2467, - 95, 94, 1706, 1707, 1888, 93, 2866, 1720, 1722, 2971, - 1349, 1726, 2456, 1349, 2157, 2947, 2483, 2484, 1196, 95, - 1197, 1198, 2036, 2468, 1196, 2173, 1197, 1198, 1855, 1349, - 1349, 598, 2739, 2944, 1797, 2651, 3040, 2423, 1938, 1939, - 1940, 2722, 2653, 1942, 1944, 1946, 1418, 1828, 2651, 2614, - 2612, 1349, 1798, 1195, 1196, 2474, 1197, 1198, 598, 1799, - 1349, 2181, 1802, 1803, 598, 1491, 2610, 2958, 1491, 2157, - 1491, 1898, 1899, 1900, 1901, 1893, 1970, 1894, 1895, 1896, - 1897, 1816, 1883, 790, 2881, 1349, 1884, 2157, 2869, 1196, - 1866, 1197, 1198, 1904, 1905, 1906, 1907, 2651, 1196, 1827, - 1197, 1198, 2181, 1830, 2739, 1349, 2612, 1960, 1887, 1850, - 2491, 598, 1914, 598, 2396, 1196, 1848, 1197, 1198, 598, - 598, 2482, 2157, 2737, 1920, 2180, 1870, 1462, 1463, 1464, - 1871, 1971, 1349, 2485, 101, 2656, 1349, 100, 1886, 1885, - 1872, 706, 2051, 824, 1972, 100, 824, 99, 1199, 1195, - 1349, 2092, 1349, 2493, 2492, 2489, 2490, 186, 2092, 1930, - 2489, 2488, 2181, 1349, 186, 2051, 1349, 2204, 1957, 2036, - 2289, 186, 186, 1450, 2271, 186, 2076, 186, 2264, 2265, - 2181, 1915, 1910, 1911, 186, 2157, 2156, 1406, 2075, 1929, - 1971, 186, 187, 1538, 1539, 187, 1933, 1954, 187, 1544, - 1545, 1941, 1971, 599, 1965, 187, 2051, 1968, 2153, 1969, - 1450, 1449, 1964, 187, 1025, 1349, 1915, 186, 1963, 1843, - 1967, 1985, 598, 94, 2515, 1395, 1394, 1353, 187, 1807, - 2205, 2601, 1987, 1647, 1215, 1590, 2323, 1026, 1989, 1990, - 2207, 1381, 2471, 1008, 1007, 3030, 1986, 1488, 780, 2986, - 599, 1199, 87, 599, 187, 599, 1216, 1217, 1218, 1219, - 1220, 1221, 1222, 1224, 1223, 1225, 1226, 2892, 1356, 1419, - 2859, 2027, 2028, 2813, 1215, 2720, 2030, 1211, 2717, 1212, - 1196, 2051, 1197, 1198, 2698, 2031, 1995, 1215, 1199, 2049, - 2604, 1669, 2603, 1213, 1214, 1210, 1216, 1217, 1218, 1219, - 1220, 1221, 1222, 1224, 1223, 1225, 1226, 1452, 2204, 1216, + 705, 2777, 3070, 714, 2776, 2939, 3078, 2775, 3046, 1877, + 2372, 3047, 3014, 2750, 1830, 1397, 2562, 2998, 1161, 2468, + 2475, 707, 2097, 2525, 2892, 1810, 698, 37, 2530, 2527, + 2526, 2524, 3, 2529, 2528, 1812, 2426, 2516, 2737, 796, + 2429, 2790, 1947, 2545, 2544, 2915, 2131, 618, 2427, 2483, + 2795, 186, 96, 1355, 186, 774, 583, 186, 2430, 622, + 2638, 2328, 598, 2171, 186, 615, 2371, 696, 708, 697, + 2370, 644, 186, 2644, 1324, 2547, 2664, 2424, 1850, 2414, + 2158, 616, 699, 2630, 1910, 2233, 1046, 186, 2311, 1834, + 2194, 1935, 2567, 614, 2265, 1915, 2234, 2183, 2235, 155, + 36, 976, 823, 1451, 778, 1978, 782, 1866, 2133, 598, + 1854, 2164, 598, 186, 598, 2150, 797, 38, 1855, 1790, + 1765, 1766, 1691, 2303, 799, 1342, 1649, 820, 551, 776, + 1701, 1319, 1934, 1498, 1842, 1956, 1994, 1139, 601, 1917, + 2227, 1004, 141, 1386, 2202, 627, 769, 1364, 1598, 1857, + 91, 1322, 1246, 1713, 95, 1668, 1182, 1487, 1009, 1594, + 1480, 980, 983, 1578, 1932, 1015, 984, 1010, 1011, 1385, + 1110, 1906, 1369, 1835, 1383, 1012, 1159, 1762, 788, 1793, + 783, 1153, 1446, 1022, 124, 1709, 1603, 982, 98, 810, + 1472, 786, 125, 1094, 1803, 76, 1249, 784, 119, 610, + 117, 118, 1253, 159, 97, 605, 2948, 85, 2258, 89, + 3071, 1949, 1950, 1951, 1949, 2738, 2513, 2535, 2287, 2286, + 1992, 2256, 8, 1563, 785, 77, 7, 2730, 2693, 554, + 1048, 90, 6, 804, 2319, 809, 587, 2320, 2972, 126, + 2971, 790, 1656, 1064, 1065, 1066, 1051, 1069, 1070, 1071, + 1072, 120, 2780, 1075, 1076, 1077, 1078, 1079, 1080, 1081, + 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, + 977, 606, 2780, 777, 2535, 2533, 1002, 1655, 188, 189, + 190, 775, 824, 817, 1807, 1808, 791, 2532, 1654, 1653, + 1652, 1651, 1634, 1183, 1001, 2129, 608, 2539, 609, 3035, + 2410, 2618, 1982, 2160, 1025, 798, 993, 2278, 3050, 1349, + 1643, 988, 1026, 3087, 3045, 1000, 87, 999, 998, 102, + 120, 3061, 2281, 1052, 1055, 1056, 1661, 2888, 2887, 1183, + 1050, 2972, 2533, 1067, 1049, 1980, 2743, 2779, 1061, 2744, + 3086, 3008, 587, 182, 3074, 2967, 1981, 3059, 2036, 2751, + 2999, 1975, 3007, 78, 2539, 2327, 2966, 2779, 3019, 1926, + 104, 105, 2600, 108, 1461, 78, 114, 121, 2130, 183, + 78, 2464, 549, 188, 189, 190, 992, 2174, 2318, 994, + 164, 2465, 2466, 1838, 1920, 2471, 2295, 3024, 120, 1387, + 2294, 1388, 770, 771, 772, 773, 1872, 1873, 781, 1193, + 78, 3022, 2175, 80, 2033, 1871, 2536, 1134, 1135, 1156, + 3028, 3029, 182, 2034, 2808, 1129, 587, 768, 2485, 2486, + 767, 2940, 2223, 2216, 1117, 3023, 812, 813, 1130, 1118, + 2472, 87, 1123, 2564, 2259, 1193, 121, 588, 161, 997, + 162, 1103, 1104, 87, 2211, 1890, 1889, 2210, 87, 164, + 2212, 2360, 1146, 1117, 1148, 2591, 2474, 584, 1118, 1809, + 181, 2167, 2168, 2536, 2641, 2589, 1116, 587, 1115, 596, + 2469, 1642, 600, 1106, 997, 3051, 989, 594, 87, 2568, + 2304, 587, 1584, 991, 990, 2266, 1326, 2485, 2486, 1957, + 1093, 2290, 1145, 1147, 2470, 1553, 3052, 995, 1189, 1995, + 2557, 1181, 1136, 2000, 570, 1150, 3073, 161, 2558, 162, + 1579, 1138, 1137, 1131, 1099, 1155, 568, 1124, 2565, 2306, + 587, 1068, 1999, 2484, 1919, 2732, 2476, 1132, 1133, 181, + 2566, 2731, 995, 2015, 1189, 2487, 1644, 1645, 1646, 1554, + 2012, 1555, 2013, 588, 2014, 1074, 1073, 1227, 1997, 186, + 2872, 186, 1227, 2728, 186, 1960, 565, 1851, 2001, 1035, + 87, 1838, 1006, 1044, 1998, 579, 1836, 1837, 1097, 165, + 2006, 2003, 2005, 2004, 2007, 2008, 1033, 1005, 171, 1043, + 575, 1006, 1042, 1041, 598, 1163, 598, 598, 1040, 1143, + 3036, 1039, 2484, 1144, 1465, 1038, 1037, 1032, 1329, 3057, + 1045, 598, 598, 1149, 2487, 2487, 981, 981, 2361, 981, + 3088, 1018, 1127, 979, 1054, 996, 1017, 588, 2034, 1486, + 1017, 2310, 1595, 1101, 1053, 1107, 811, 1142, 1109, 37, + 1933, 2323, 2307, 1986, 1591, 1175, 2048, 1063, 165, 1169, + 2506, 2134, 2136, 1057, 2289, 3082, 2276, 171, 1459, 555, + 996, 557, 571, 1458, 590, 1024, 589, 561, 1457, 559, + 563, 572, 564, 1592, 558, 2727, 569, 2936, 588, 560, + 573, 574, 577, 580, 581, 582, 578, 576, 1455, 567, + 591, 553, 588, 548, 2680, 2302, 1585, 2947, 2301, 2257, + 1586, 1587, 2225, 2660, 1003, 156, 1188, 1185, 1186, 1187, + 1192, 1194, 1191, 1036, 1190, 1230, 1231, 1232, 1233, 1979, + 2292, 1184, 1151, 2473, 2260, 1238, 2207, 1241, 997, 1092, + 1034, 588, 1228, 1229, 1485, 1977, 1113, 2170, 1119, 1120, + 1121, 1122, 1188, 1185, 1186, 1187, 1192, 1194, 1191, 2121, + 1190, 2953, 1583, 1317, 1836, 1837, 1024, 1184, 2165, 2642, + 1802, 1157, 1158, 1373, 1023, 1298, 2965, 1923, 1108, 1878, + 1227, 1226, 1165, 1166, 156, 1164, 2537, 2538, 186, 1024, + 2463, 111, 598, 598, 1312, 1234, 793, 2313, 116, 2541, + 2313, 1154, 2312, 1096, 2961, 2312, 1047, 2723, 186, 1565, + 1564, 1566, 1567, 1568, 2691, 2692, 1112, 1924, 2778, 2280, + 2654, 2035, 1332, 2135, 1996, 1922, 1336, 598, 3027, 1588, + 1126, 186, 778, 1389, 1330, 1179, 598, 1318, 2778, 2347, + 86, 1128, 598, 2537, 2538, 1178, 1714, 77, 81, 1176, + 776, 1335, 86, 1333, 820, 1177, 2541, 86, 2249, 1925, + 1251, 112, 1252, 2279, 157, 1023, 1714, 1062, 2062, 1921, + 1255, 169, 3026, 1198, 1748, 2804, 1105, 592, 2698, 3080, + 1114, 1102, 3081, 2697, 3079, 2477, 1964, 86, 1023, 2481, + 1140, 1495, 1604, 1027, 1017, 585, 1494, 2480, 1029, 1095, + 1318, 1484, 1030, 1028, 1974, 1378, 1580, 1972, 1581, 1035, + 586, 1582, 1033, 177, 996, 1334, 1197, 1198, 1969, 95, + 2040, 2041, 2042, 1304, 1305, 1306, 1307, 1308, 3053, 2681, + 1374, 2482, 1024, 157, 3084, 1976, 2478, 1323, 2880, 2879, + 169, 2479, 158, 163, 160, 166, 167, 168, 170, 172, + 173, 174, 175, 98, 2870, 1973, 1969, 1111, 176, 178, + 179, 180, 1740, 1729, 1730, 1731, 1732, 1742, 1733, 1734, + 1735, 1747, 1743, 1736, 1737, 1744, 1745, 1746, 1738, 1739, + 1741, 1024, 177, 1098, 1219, 1220, 1221, 1222, 1224, 1223, + 1225, 1226, 1320, 1971, 3089, 1573, 186, 2977, 1351, 1354, + 1447, 777, 775, 1331, 2768, 1199, 2929, 1384, 1571, 824, + 1456, 158, 163, 160, 166, 167, 168, 170, 172, 173, + 174, 175, 1379, 1380, 1663, 1665, 1666, 176, 178, 179, + 180, 1023, 2767, 598, 1141, 1482, 1605, 1017, 1020, 1021, + 2978, 981, 87, 1491, 1024, 1014, 1018, 1493, 1664, 2930, + 1496, 1497, 598, 598, 2705, 598, 1671, 598, 598, 1572, + 598, 598, 598, 598, 598, 598, 1013, 719, 720, 721, + 1396, 2704, 1570, 1673, 1528, 1529, 2757, 598, 2758, 3090, + 1023, 186, 1534, 1560, 2694, 1027, 1017, 1674, 1675, 1672, + 1029, 2514, 2502, 2231, 1030, 1028, 3054, 2230, 186, 1221, + 1222, 1224, 1223, 1225, 1226, 1492, 1929, 1349, 1462, 1463, + 1464, 598, 1199, 186, 1718, 1031, 815, 1574, 1719, 1558, + 1337, 1557, 1556, 1199, 1593, 1546, 1540, 598, 1537, 186, + 1536, 1199, 1527, 1548, 1478, 1530, 1535, 1196, 1507, 1197, + 1198, 2956, 1358, 1023, 2078, 186, 2349, 1559, 2955, 1017, + 1020, 1021, 186, 981, 2933, 1533, 1199, 1014, 1018, 2932, + 2931, 186, 186, 186, 186, 186, 186, 186, 186, 186, + 598, 1471, 2875, 2860, 1538, 1539, 2859, 2051, 1531, 2803, + 1544, 1545, 2801, 2764, 598, 598, 1500, 1577, 1501, 2702, + 1503, 1505, 1359, 2687, 1509, 1511, 1513, 1515, 1517, 1489, + 2569, 1454, 186, 1490, 1203, 1204, 1205, 1206, 1207, 1208, + 1209, 1201, 1469, 2505, 2908, 1349, 2504, 1481, 1468, 1609, + 1467, 188, 189, 190, 1488, 1488, 1613, 2240, 188, 189, + 190, 1600, 2688, 2228, 1314, 1990, 1989, 1624, 1625, 1626, + 1627, 1628, 1629, 1630, 1196, 2561, 1197, 1198, 598, 1833, + 1199, 1532, 1698, 1698, 1199, 1196, 1815, 1197, 1198, 1695, + 1699, 1704, 598, 1196, 2086, 1197, 1198, 1635, 2597, 1601, + 1696, 1696, 1199, 1606, 1607, 1569, 1650, 188, 189, 190, + 1561, 2214, 598, 598, 1551, 1596, 1547, 1611, 1196, 1543, + 1197, 1198, 1542, 1541, 1618, 1619, 1620, 1199, 1676, 1360, + 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, + 1688, 1689, 1690, 1669, 1608, 1677, 1667, 1000, 1152, 999, + 998, 1612, 120, 1614, 1615, 1616, 1617, 1168, 1715, 1349, + 1621, 2905, 1610, 1460, 1349, 2156, 3072, 1794, 1349, 3041, + 1349, 1215, 1633, 92, 2904, 186, 1631, 188, 189, 190, + 598, 1945, 1632, 2864, 93, 2595, 1349, 2156, 3005, 2863, + 1639, 1640, 2897, 1216, 1217, 1218, 1219, 1220, 1221, 1222, + 1224, 1223, 1225, 1226, 186, 2749, 1670, 598, 2172, 101, + 2106, 1349, 1196, 2267, 1197, 1198, 1196, 186, 1197, 1198, + 100, 598, 99, 1820, 94, 1821, 186, 2245, 186, 1886, + 186, 186, 598, 1199, 1196, 598, 1197, 1198, 92, 1349, + 2156, 2985, 1794, 2058, 2458, 94, 598, 2156, 2981, 93, + 820, 1796, 1199, 820, 2034, 1763, 2653, 1887, 100, 1196, + 2655, 1197, 1198, 2973, 1349, 1700, 2156, 2949, 2741, 2946, + 1798, 1799, 1706, 1707, 1195, 1843, 1844, 188, 189, 190, + 2180, 1943, 2329, 1349, 95, 188, 189, 190, 2179, 1941, + 1349, 1845, 1720, 1721, 1722, 1723, 1724, 1795, 2614, 1349, + 1849, 598, 1852, 95, 1349, 1650, 2960, 1763, 1936, 1937, + 1938, 2883, 1349, 1940, 1942, 1944, 2057, 1199, 1826, 2156, + 1853, 2156, 2871, 2741, 1349, 1199, 1796, 2049, 598, 1797, + 2156, 2739, 1800, 1801, 598, 1491, 1969, 1349, 1491, 1970, + 1491, 2658, 1349, 2180, 1881, 2180, 1968, 1882, 1896, 1897, + 1898, 1899, 790, 1814, 1199, 2425, 1891, 1864, 1892, 1893, + 1894, 1895, 1195, 1349, 2331, 1196, 2653, 1197, 1198, 1825, + 2091, 1349, 1848, 1958, 1902, 1903, 1904, 1905, 2495, 2494, + 1912, 598, 1828, 598, 1196, 2614, 1197, 1198, 2493, 598, + 598, 1918, 2398, 1846, 1215, 1870, 2322, 1969, 1199, 2491, + 2492, 3055, 1869, 2049, 1885, 824, 1868, 1199, 824, 2944, + 2491, 2490, 706, 1884, 1883, 1362, 1216, 1217, 1218, 1219, + 1220, 1221, 1222, 1224, 1223, 1225, 1226, 186, 2091, 1955, + 2341, 2340, 2339, 2333, 186, 2337, 1928, 2332, 1349, 2330, + 2075, 186, 186, 2074, 2335, 186, 2172, 186, 1969, 1196, + 1952, 1197, 1198, 2334, 186, 2180, 1349, 1196, 1913, 1197, + 1198, 186, 1841, 187, 1908, 1909, 187, 1927, 1931, 187, + 2336, 2338, 2049, 1349, 599, 1939, 187, 2034, 2288, 1353, + 2053, 1361, 1983, 1805, 187, 1647, 1196, 186, 1197, 1198, + 2052, 1590, 598, 1913, 1965, 1963, 1962, 1961, 1966, 187, + 1967, 1650, 1025, 1381, 1199, 1985, 1450, 2270, 2002, 2898, + 1026, 1987, 1988, 2263, 2264, 2016, 2017, 1984, 2653, 2021, + 1488, 599, 1008, 1199, 599, 187, 599, 101, 2024, 1007, + 1196, 3032, 1197, 1198, 2988, 2027, 2156, 2155, 100, 1196, + 99, 1197, 1198, 1215, 1450, 1449, 1211, 1199, 1212, 94, + 1395, 1394, 87, 1993, 1215, 2894, 2047, 1199, 2203, 780, + 2203, 2030, 1213, 1214, 1210, 1216, 1217, 1218, 1219, 1220, + 1221, 1222, 1224, 1223, 1225, 1226, 1216, 1217, 1218, 1219, + 1220, 1221, 1222, 1224, 1223, 1225, 1226, 1215, 2868, 2044, + 1199, 2046, 1217, 1218, 1219, 1220, 1221, 1222, 1224, 1223, + 1225, 1226, 2018, 1199, 1356, 1669, 2045, 2724, 1349, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1224, 1223, 1225, 1226, - 1913, 2046, 2020, 2048, 2557, 1199, 87, 1432, 1435, 1436, - 1437, 1438, 1439, 1440, 2600, 1441, 1442, 1443, 1444, 1445, - 1420, 1421, 1422, 1423, 1404, 1405, 1433, 2517, 1407, 2513, - 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 2704, - 2047, 1417, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, - 1199, 2205, 2233, 2272, 1909, 2034, 1903, 1902, 1576, 1199, - 2238, 2036, 1483, 1196, 1199, 1197, 1198, 1479, 186, 1448, - 113, 1097, 2561, 1199, 2475, 2237, 186, 2893, 2479, 1928, - 1698, 598, 2141, 1670, 1215, 2045, 2478, 598, 2116, 1820, - 2705, 2706, 2707, 2128, 3065, 1696, 2663, 2664, 598, 1637, - 1196, 2145, 1197, 1198, 3063, 3046, 1216, 1217, 1218, 1219, - 1220, 1221, 1222, 1224, 1223, 1225, 1226, 2139, 2063, 1523, - 2480, 2968, 186, 2238, 2911, 2476, 186, 2708, 2666, 2509, - 2477, 2669, 2508, 2115, 2507, 2423, 1199, 1196, 2177, 1197, - 1198, 2214, 2114, 2251, 1199, 2445, 2021, 2113, 2443, 2061, - 2446, 1357, 1199, 2444, 1826, 2668, 2112, 1199, 2442, 2441, - 3036, 1638, 3004, 1798, 2085, 2079, 1834, 1434, 1199, 2657, - 1524, 1525, 1526, 1199, 2709, 2710, 2711, 2401, 2158, 1199, - 2400, 2783, 1196, 2782, 1197, 1198, 2794, 2926, 2792, 598, - 2647, 1196, 2410, 1197, 1198, 186, 1196, 1199, 1197, 1198, - 2053, 37, 186, 1347, 1343, 1196, 2167, 1197, 1198, 2644, - 2197, 1323, 2129, 2154, 794, 1199, 598, 2643, 1344, 2111, - 1797, 1199, 795, 598, 2487, 2196, 1589, 1491, 1491, 766, - 2222, 2781, 598, 2119, 2120, 2110, 2263, 2225, 2227, 2150, - 2109, 2242, 2155, 1824, 1825, 1346, 2170, 1345, 1059, 2286, - 2218, 2108, 1167, 1710, 1058, 2202, 2102, 2575, 2285, 2237, - 186, 186, 186, 186, 186, 2317, 2206, 1711, 1196, 2209, - 1197, 1198, 92, 1920, 2278, 2216, 1196, 2219, 1197, 1198, - 2101, 186, 186, 93, 1196, 121, 1197, 1198, 2649, 1196, - 94, 1197, 1198, 3074, 1519, 2230, 2505, 186, 2100, 92, - 1196, 2024, 1197, 1198, 2097, 1196, 94, 1197, 1198, 2239, - 93, 1196, 2943, 1197, 1198, 2447, 598, 2190, 2191, 2888, - 2247, 1199, 2248, 1845, 1846, 2252, 2253, 2254, 2486, 1196, - 2194, 1197, 1198, 1831, 802, 803, 2013, 2284, 2012, 2011, - 1471, 1520, 1521, 1522, 1199, 1347, 1343, 1196, 2629, 1197, - 1198, 2040, 99, 1196, 2918, 1197, 1198, 2399, 2917, 1698, - 1344, 1698, 776, 100, 1698, 2398, 2273, 2274, 2800, 1698, - 187, 2798, 187, 2797, 1696, 187, 1696, 2347, 2343, 1696, - 2283, 2790, 1199, 598, 1696, 1340, 1341, 1346, 2371, 1345, - 2371, 2413, 2415, 2371, 2718, 2648, 2306, 2789, 2371, 598, - 2416, 2646, 101, 2325, 2096, 599, 101, 599, 599, 1199, - 2309, 2390, 2518, 100, 186, 99, 2326, 100, 598, 99, - 2373, 1955, 599, 599, 94, 1466, 101, 2095, 2376, 801, - 2637, 2173, 598, 2377, 2327, 2344, 2153, 100, 2360, 598, - 598, 3066, 186, 186, 186, 186, 186, 2383, 2384, 2385, - 2386, 3067, 3066, 1196, 186, 1197, 1198, 2077, 1818, 186, - 2390, 1375, 186, 1366, 186, 2093, 2426, 186, 186, 186, - 3067, 2426, 2420, 2435, 2364, 2429, 1196, 2932, 1197, 1198, - 2455, 2315, 2404, 2403, 2316, 106, 107, 2378, 2379, 2380, - 2381, 2382, 2089, 2186, 2189, 2190, 2191, 2187, 2389, 2188, - 2192, 2684, 792, 2501, 1199, 103, 88, 1, 1721, 2391, - 2688, 689, 186, 3019, 1196, 566, 1197, 1198, 1808, 2402, - 1321, 3047, 3015, 3016, 1562, 598, 1552, 782, 2750, 2417, - 2418, 1766, 2457, 598, 2395, 2458, 2889, 2521, 186, 2405, - 1961, 1196, 783, 1197, 1198, 2716, 2436, 1336, 2197, 2439, - 1918, 186, 2448, 2541, 2437, 2438, 1016, 2440, 2520, 784, - 95, 146, 2452, 2453, 1881, 1882, 2999, 1600, 2459, 186, - 110, 974, 186, 597, 109, 2434, 2392, 2393, 2394, 1019, - 1125, 1956, 2576, 2740, 2223, 2465, 1890, 2088, 2497, 187, - 1401, 1399, 2496, 599, 599, 2495, 1400, 2186, 2189, 2190, - 2191, 2187, 1398, 2188, 2192, 1403, 2549, 2663, 2664, 187, - 2548, 1402, 2078, 2615, 1641, 595, 2193, 184, 1390, 1367, - 822, 1060, 556, 978, 2494, 985, 1920, 1993, 599, 2540, - 562, 1239, 187, 1636, 2552, 2519, 1196, 599, 1197, 1198, - 2397, 2210, 821, 599, 814, 1819, 2143, 2431, 2641, 2609, - 2409, 2411, 2571, 2160, 2414, 2570, 2407, 598, 186, 2925, - 2573, 2574, 2568, 2791, 2984, 2220, 1363, 2062, 1712, 1860, - 1662, 620, 619, 617, 2146, 2174, 1202, 2578, 709, 2133, - 1376, 2585, 2185, 2582, 2583, 2183, 2584, 2182, 2022, 2586, - 2579, 2588, 1867, 2590, 2665, 2661, 3011, 1862, 1858, 2152, - 628, 621, 613, 2681, 2547, 2292, 2558, 2294, 2221, 2554, - 1180, 1339, 607, 987, 2894, 2949, 2039, 186, 2597, 1338, - 1729, 1730, 2956, 2529, 2734, 2510, 2269, 2240, 1948, 63, - 41, 1757, 2243, 2244, 2635, 2687, 602, 2630, 2631, 3032, - 1171, 808, 32, 31, 30, 29, 186, 2638, 28, 23, - 2645, 22, 21, 20, 2650, 19, 2670, 25, 18, 17, - 16, 2532, 3042, 3073, 115, 186, 50, 2660, 186, 186, - 186, 47, 45, 123, 122, 48, 44, 1100, 598, 598, - 2667, 42, 27, 26, 15, 2675, 14, 13, 12, 2676, - 2677, 11, 10, 2674, 9, 5, 2549, 187, 2723, 2724, - 2548, 4, 35, 34, 33, 2682, 2683, 1174, 24, 2, - 2256, 1950, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 598, 598, 598, 598, 0, 0, 0, 0, - 0, 2699, 0, 2701, 599, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 599, 599, 0, 599, 0, 599, 599, - 2746, 599, 599, 599, 599, 599, 599, 0, 0, 0, - 2744, 2745, 1698, 0, 1698, 0, 0, 0, 599, 0, - 0, 0, 187, 0, 0, 0, 0, 1696, 0, 1696, - 0, 0, 0, 186, 0, 0, 0, 2761, 0, 187, - 0, 2371, 0, 2371, 0, 0, 0, 0, 2757, 0, - 0, 2786, 599, 0, 187, 0, 0, 598, 0, 598, - 0, 0, 0, 0, 0, 0, 2758, 0, 599, 0, - 187, 2769, 0, 0, 0, 1698, 0, 2815, 2770, 0, - 2779, 2807, 2426, 0, 0, 0, 187, 0, 2787, 0, - 1696, 2796, 2429, 187, 0, 0, 2429, 0, 0, 0, - 2809, 776, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 599, 2805, 2803, 0, 2795, 2811, 0, 0, 0, - 0, 598, 0, 0, 0, 599, 599, 0, 0, 0, - 0, 0, 0, 0, 186, 0, 0, 598, 2819, 0, - 0, 2867, 0, 187, 37, 0, 2816, 2817, 0, 0, - 598, 0, 0, 0, 0, 0, 0, 0, 0, 2863, - 0, 0, 0, 0, 2865, 2871, 2864, 0, 0, 0, - 0, 0, 0, 0, 0, 2879, 2909, 0, 2891, 2908, - 1698, 598, 2912, 2498, 2499, 598, 598, 2884, 2883, 599, - 0, 0, 0, 0, 0, 1696, 0, 0, 0, 0, - 0, 0, 0, 599, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 598, 0, 0, 0, 0, 2922, - 0, 0, 0, 599, 599, 0, 0, 0, 2919, 2920, - 0, 2921, 0, 0, 2936, 822, 0, 822, 822, 0, - 0, 0, 0, 0, 0, 2429, 0, 0, 0, 2933, - 0, 2935, 1170, 1172, 0, 0, 0, 776, 0, 0, - 598, 0, 0, 0, 2924, 0, 0, 0, 0, 0, - 0, 0, 2939, 0, 0, 186, 0, 0, 0, 0, - 2941, 0, 0, 0, 0, 0, 187, 0, 0, 0, - 1348, 599, 0, 598, 186, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2948, - 0, 0, 0, 2960, 2957, 187, 2952, 0, 599, 2955, - 0, 0, 0, 0, 0, 0, 0, 0, 187, 0, - 0, 0, 599, 0, 0, 598, 0, 187, 0, 187, - 0, 187, 187, 599, 0, 0, 599, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 599, 0, 598, - 598, 0, 0, 2426, 0, 2977, 1315, 0, 0, 2985, - 0, 0, 598, 2987, 0, 0, 0, 37, 0, 2982, - 2990, 186, 598, 2998, 2995, 0, 2992, 2891, 3000, 3007, - 2991, 2989, 2994, 2993, 0, 0, 0, 0, 0, 3010, - 0, 0, 0, 3028, 3018, 0, 3023, 0, 0, 0, - 0, 0, 599, 0, 0, 0, 0, 0, 0, 3035, - 0, 0, 0, 1327, 1328, 2693, 2694, 0, 3041, 0, - 0, 598, 37, 0, 0, 0, 0, 0, 0, 599, - 598, 0, 0, 0, 1698, 599, 3061, 0, 3056, 0, - 0, 3054, 3060, 3058, 0, 3064, 3062, 0, 1371, 1696, - 0, 0, 0, 0, 0, 0, 0, 822, 0, 0, - 3075, 0, 0, 1391, 3081, 3083, 0, 2727, 0, 0, - 0, 2731, 2732, 2733, 0, 0, 0, 1698, 0, 3089, - 0, 0, 599, 2909, 599, 3091, 3092, 3090, 0, 0, - 599, 599, 1696, 0, 0, 0, 0, 0, 0, 0, - 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1324, 0, - 0, 0, 0, 0, 121, 0, 0, 0, 187, 0, - 0, 0, 0, 0, 0, 187, 0, 164, 0, 0, - 0, 0, 187, 187, 0, 0, 187, 0, 187, 0, - 0, 0, 0, 0, 0, 187, 0, 0, 0, 0, + 2152, 2204, 2861, 2204, 2815, 1199, 2722, 2025, 2026, 1199, + 2098, 2206, 2028, 2034, 1199, 94, 1196, 87, 1197, 1198, + 2675, 2029, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1224, + 1223, 1225, 1226, 2719, 2032, 1196, 186, 1197, 1198, 1199, + 2700, 2606, 2605, 1199, 186, 1452, 1911, 2706, 1670, 598, + 1698, 2127, 2517, 2616, 2559, 598, 2519, 2140, 2043, 1196, + 2515, 1197, 1198, 2144, 2271, 1637, 598, 2232, 1696, 1196, + 1907, 1197, 1198, 2049, 1901, 1900, 1576, 1483, 1523, 2138, + 1479, 1448, 2067, 2069, 2071, 2072, 2073, 2237, 2612, 1199, + 186, 3067, 2603, 113, 186, 1097, 2061, 2602, 2707, 2708, + 2709, 2563, 1196, 2710, 1197, 1198, 2236, 37, 2895, 2213, + 1926, 1199, 1519, 2176, 1818, 1196, 2196, 1197, 1198, 2059, + 1199, 3065, 2115, 3038, 1199, 3048, 2114, 1638, 1199, 1524, + 1525, 1526, 1199, 2665, 2666, 1796, 2970, 1196, 2084, 1197, + 1198, 1196, 2913, 1197, 1198, 2668, 1196, 2511, 1197, 1198, + 2711, 2712, 2713, 2157, 2237, 2510, 1199, 598, 2509, 1520, + 1521, 1522, 2425, 186, 2250, 2019, 2671, 2670, 2200, 2444, + 186, 1196, 2113, 1197, 1198, 1196, 2443, 1197, 1198, 2166, + 3006, 1795, 2153, 2447, 598, 1323, 1199, 2128, 2448, 1832, + 2195, 598, 2445, 1357, 2112, 1491, 1491, 2446, 2262, 1199, + 598, 2118, 2119, 2111, 1824, 2154, 2149, 2110, 2659, 2928, + 2217, 2109, 2224, 2226, 2403, 2108, 2402, 2285, 2646, 2169, + 2201, 1196, 2794, 1197, 1198, 2284, 2645, 1199, 186, 186, + 186, 186, 186, 2785, 2649, 2784, 2239, 2248, 1918, 2107, + 2205, 2242, 2243, 1196, 2208, 1197, 1198, 2412, 2796, 186, + 186, 2215, 1196, 794, 1197, 1198, 1196, 1589, 1197, 1198, + 1196, 795, 1197, 1198, 1196, 186, 1197, 1198, 766, 2101, + 2489, 2218, 2229, 2185, 2188, 2189, 2190, 2186, 2221, 2187, + 2191, 2241, 2100, 2783, 598, 1059, 2238, 1058, 1196, 2577, + 1197, 1198, 2236, 1167, 2449, 2246, 2189, 2190, 2247, 2251, + 2252, 2253, 2296, 2297, 2298, 2299, 2300, 2415, 2417, 2283, + 2099, 92, 1710, 2316, 2277, 121, 2418, 1199, 1196, 94, + 1197, 1198, 93, 1650, 2309, 1471, 1711, 2651, 1843, 1844, + 1698, 1196, 1698, 1197, 1198, 1698, 3076, 2507, 2022, 2317, + 1698, 187, 776, 187, 2342, 2346, 187, 2945, 1696, 2282, + 1696, 2890, 598, 1696, 2488, 2272, 2273, 1199, 1696, 1196, + 2325, 1197, 1198, 2193, 2305, 1199, 92, 1829, 598, 2011, + 2392, 2324, 2010, 94, 2009, 2308, 599, 93, 599, 599, + 1199, 802, 803, 186, 2631, 2038, 2373, 598, 2373, 2401, + 99, 2373, 2314, 599, 599, 2315, 2373, 2400, 2378, 2375, + 2096, 598, 2920, 2379, 2919, 101, 2343, 2802, 598, 598, + 2326, 186, 186, 186, 186, 186, 100, 100, 99, 2392, + 2800, 2799, 2792, 186, 2720, 689, 2650, 94, 186, 2648, + 2520, 186, 1953, 186, 782, 1199, 186, 186, 186, 1199, + 2095, 2422, 1466, 2366, 2405, 801, 2437, 2791, 2094, 1196, + 2639, 1197, 1198, 2172, 1336, 2196, 2457, 101, 2380, 2381, + 2382, 2383, 2384, 2092, 2428, 3069, 3068, 101, 100, 2428, + 2391, 2393, 2503, 2406, 2385, 2386, 2387, 2388, 100, 2152, + 99, 186, 2362, 2076, 1816, 1375, 1366, 597, 2431, 1196, + 3068, 1197, 1198, 3069, 598, 2404, 2934, 1196, 2686, 1197, + 1198, 2397, 598, 2419, 2420, 106, 107, 186, 783, 2407, + 792, 103, 1196, 88, 1197, 1198, 2543, 1, 2088, 2450, + 186, 2438, 2087, 2459, 2441, 784, 2460, 2068, 2454, 2455, + 2439, 2440, 2690, 2442, 822, 3021, 566, 978, 186, 985, + 1600, 186, 2436, 95, 2461, 1806, 2467, 1321, 2394, 2395, + 2396, 2578, 3049, 2500, 2501, 2508, 2522, 3017, 3018, 1562, + 187, 1552, 2499, 2498, 599, 599, 2752, 1196, 2497, 1197, + 1198, 1196, 1764, 1197, 1198, 2891, 2551, 2523, 2550, 1959, + 187, 2546, 1347, 1343, 2718, 1916, 1016, 146, 1879, 1880, + 3001, 110, 1918, 974, 2555, 2521, 2542, 1344, 109, 599, + 1019, 1347, 1343, 187, 1125, 1954, 2742, 2554, 599, 2222, + 1888, 1401, 2571, 1399, 599, 2574, 1344, 1400, 1398, 1403, + 1402, 2611, 1822, 1823, 1346, 2573, 1345, 2572, 2570, 598, + 186, 2077, 2617, 1641, 595, 2581, 2192, 184, 1390, 1367, + 1060, 1340, 1341, 1346, 556, 1345, 2580, 2496, 2587, 2185, + 2188, 2189, 2190, 2186, 1991, 2187, 2191, 562, 1239, 2665, + 2666, 1636, 2399, 2584, 2585, 2209, 2586, 821, 814, 2588, + 1817, 2590, 2142, 2592, 2433, 2643, 2411, 2413, 2159, 2416, + 2409, 2927, 2793, 2986, 2219, 1363, 2060, 1712, 1858, 186, + 1662, 620, 619, 617, 2145, 2173, 1202, 709, 2637, 2132, + 1376, 2184, 2182, 2181, 2636, 2020, 1865, 2689, 2667, 2632, + 2633, 2663, 3013, 1860, 1856, 2575, 2576, 2151, 186, 628, + 2640, 621, 613, 2647, 2683, 2549, 2291, 2560, 2293, 2220, + 2556, 2662, 1180, 1339, 2652, 2672, 607, 186, 987, 2896, + 186, 186, 186, 2951, 2037, 2599, 1338, 1727, 2669, 1728, + 598, 598, 2958, 2678, 2679, 2531, 2736, 2512, 2268, 1946, + 63, 41, 1755, 602, 2725, 2726, 2676, 3034, 187, 2551, + 1171, 2550, 808, 2684, 32, 31, 30, 2685, 29, 2677, + 28, 23, 22, 21, 20, 19, 25, 18, 17, 16, + 2534, 3044, 2699, 3075, 598, 598, 598, 598, 2695, 2696, + 115, 50, 47, 45, 123, 599, 122, 48, 44, 1100, + 2701, 2714, 2703, 42, 2715, 2716, 2717, 27, 26, 15, + 14, 13, 12, 11, 599, 599, 10, 599, 9, 599, + 599, 5, 599, 599, 599, 599, 599, 599, 4, 2748, + 35, 34, 33, 1174, 24, 2, 1698, 2255, 1698, 599, + 2729, 2746, 2747, 187, 2733, 2734, 2735, 1948, 0, 0, + 0, 0, 0, 0, 1696, 186, 1696, 0, 0, 2763, + 187, 0, 0, 0, 0, 0, 0, 0, 2759, 0, + 0, 0, 0, 599, 0, 187, 0, 0, 0, 598, + 2788, 598, 0, 0, 0, 0, 0, 0, 0, 599, + 0, 187, 2373, 0, 2373, 2760, 0, 0, 0, 1698, + 2781, 2772, 0, 2771, 37, 0, 2817, 187, 0, 0, + 2809, 0, 0, 2797, 187, 0, 0, 1696, 2789, 0, + 2811, 0, 2805, 187, 187, 187, 187, 187, 187, 187, + 187, 187, 599, 2428, 2807, 776, 0, 2798, 2813, 0, + 0, 0, 0, 598, 0, 0, 599, 599, 0, 0, + 0, 0, 0, 0, 2821, 0, 186, 2869, 2431, 598, + 2818, 2819, 2431, 0, 187, 0, 0, 0, 0, 0, + 0, 0, 598, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2867, 2866, 0, 0, 0, 2865, 0, + 2893, 2881, 0, 0, 0, 0, 0, 2911, 0, 822, + 2910, 822, 822, 598, 1698, 2886, 0, 598, 598, 2885, + 599, 2914, 0, 0, 0, 0, 1170, 1172, 0, 0, + 0, 0, 1696, 0, 599, 0, 0, 0, 0, 0, + 0, 2873, 0, 0, 0, 0, 598, 2876, 2877, 2878, + 0, 0, 0, 0, 599, 599, 0, 0, 0, 0, + 2938, 2924, 2921, 2922, 0, 2923, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2935, + 0, 0, 0, 2937, 0, 0, 0, 0, 0, 0, + 0, 0, 598, 0, 0, 0, 0, 0, 1348, 0, + 0, 776, 0, 0, 2941, 0, 2943, 186, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 187, 0, 0, + 0, 2431, 599, 0, 0, 598, 186, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2962, + 1315, 0, 2954, 0, 0, 0, 187, 37, 0, 599, + 0, 0, 2957, 2959, 2926, 0, 0, 0, 0, 187, + 0, 0, 0, 599, 0, 0, 0, 598, 187, 0, + 187, 0, 187, 187, 599, 0, 0, 599, 0, 0, + 0, 0, 0, 0, 0, 2950, 0, 0, 599, 0, + 0, 598, 598, 3042, 0, 0, 0, 1327, 1328, 0, + 2963, 2979, 37, 1418, 598, 0, 0, 0, 2987, 2893, + 3002, 2984, 2992, 186, 598, 3000, 2989, 2997, 2994, 2993, + 2991, 3009, 2996, 2995, 2428, 0, 0, 0, 0, 0, + 0, 0, 1371, 0, 0, 3030, 3020, 3025, 3012, 0, + 0, 822, 0, 599, 0, 0, 0, 1391, 0, 0, + 0, 0, 3037, 0, 0, 0, 0, 0, 0, 0, + 0, 3043, 0, 598, 0, 0, 0, 0, 0, 0, + 599, 0, 598, 0, 0, 0, 599, 3056, 1698, 0, + 0, 3058, 0, 3062, 3060, 3063, 3066, 0, 3064, 0, + 0, 0, 0, 0, 0, 0, 1696, 0, 0, 3077, + 0, 0, 0, 0, 0, 3085, 3083, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1698, 0, 599, 2911, 599, 3093, 3094, 3091, 3092, + 0, 599, 599, 0, 0, 78, 39, 40, 80, 1696, + 0, 0, 0, 0, 1406, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 84, 0, 0, 0, 43, + 69, 70, 0, 67, 71, 0, 0, 0, 0, 187, + 0, 0, 68, 0, 0, 0, 187, 0, 0, 0, + 0, 0, 0, 187, 187, 0, 0, 187, 0, 187, + 0, 0, 0, 0, 0, 0, 187, 0, 0, 0, + 0, 56, 0, 187, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 87, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1419, 0, 0, 187, + 0, 0, 0, 0, 599, 0, 0, 0, 978, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1315, 0, 0, 0, 0, 0, 1499, 1499, 0, + 1499, 0, 1499, 1499, 0, 1508, 1499, 1499, 1499, 1499, + 1499, 0, 0, 0, 0, 0, 0, 0, 1315, 0, + 0, 1315, 978, 0, 1432, 1435, 1436, 1437, 1438, 1439, + 1440, 0, 1441, 1442, 1443, 1444, 1445, 1420, 1421, 1422, + 1423, 1404, 1405, 1433, 0, 1407, 0, 1408, 1409, 1410, + 1411, 1412, 1413, 1414, 1415, 1416, 1575, 0, 1417, 1424, + 1425, 1426, 1427, 1428, 1429, 1430, 1431, 0, 0, 0, + 0, 0, 1597, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 46, 49, 52, + 51, 54, 0, 66, 0, 0, 75, 72, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 822, 0, 0, 0, 55, + 83, 82, 0, 0, 64, 65, 53, 0, 0, 822, + 822, 0, 73, 74, 0, 0, 0, 0, 187, 0, + 0, 0, 0, 0, 0, 0, 187, 0, 0, 0, + 0, 599, 0, 0, 0, 0, 0, 599, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 599, 0, + 0, 0, 57, 58, 0, 59, 60, 61, 62, 0, + 0, 0, 0, 0, 1434, 0, 0, 0, 0, 0, + 0, 0, 187, 1692, 0, 0, 187, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1705, 0, 0, + 0, 0, 0, 0, 1315, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1725, 1726, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 599, + 0, 0, 0, 0, 822, 187, 0, 0, 0, 0, 0, 0, 187, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 551, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 601, 0, 0, 0, 0, 0, 187, 0, - 769, 0, 0, 599, 0, 161, 0, 162, 0, 0, + 0, 0, 0, 0, 0, 0, 599, 0, 0, 0, + 0, 0, 0, 599, 0, 1819, 0, 0, 0, 0, + 0, 0, 599, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 181, 0, 0, + 0, 0, 1831, 0, 0, 0, 0, 0, 0, 0, + 187, 187, 187, 187, 187, 0, 1371, 0, 0, 822, + 0, 0, 86, 0, 0, 0, 0, 822, 0, 0, + 822, 187, 187, 0, 0, 0, 0, 0, 0, 0, + 0, 978, 0, 0, 0, 0, 0, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 982, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 599, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 978, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2874, 2875, 2876, 1315, 0, 0, - 0, 0, 0, 1499, 1499, 0, 1499, 0, 1499, 1499, - 0, 1508, 1499, 1499, 1499, 1499, 1499, 0, 0, 0, - 0, 0, 0, 0, 1315, 0, 0, 1315, 978, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 985, 0, 0, 0, + 0, 0, 1350, 1352, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 165, 0, 0, 0, - 0, 0, 1575, 0, 0, 171, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1597, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, - 0, 0, 0, 0, 0, 0, 0, 187, 0, 0, - 0, 0, 599, 0, 0, 0, 0, 0, 599, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 599, - 0, 822, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 182, 822, 822, 0, 0, 0, - 0, 0, 0, 187, 0, 0, 0, 187, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 121, 0, - 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 164, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 156, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1692, - 0, 0, 153, 0, 0, 0, 0, 0, 142, 0, - 599, 0, 0, 1705, 0, 0, 187, 0, 0, 0, - 1315, 0, 0, 187, 0, 0, 0, 0, 0, 161, - 0, 162, 0, 1727, 1728, 0, 0, 599, 0, 0, - 0, 0, 0, 0, 599, 0, 0, 130, 131, 152, - 151, 181, 0, 599, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 822, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 187, 187, 187, 187, 187, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1821, 187, 187, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 187, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1833, 0, - 0, 157, 0, 0, 0, 0, 0, 599, 169, 0, - 0, 0, 1371, 0, 0, 822, 0, 0, 147, 128, - 154, 135, 127, 822, 148, 149, 822, 0, 0, 0, - 165, 0, 0, 0, 0, 0, 0, 978, 0, 171, - 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 177, 0, 0, 0, 139, 137, 132, 133, 134, 138, - 0, 0, 0, 0, 1350, 1352, 129, 1101, 0, 1107, - 0, 0, 1109, 0, 599, 140, 0, 0, 0, 158, - 163, 160, 166, 167, 168, 170, 172, 173, 174, 175, - 599, 0, 985, 0, 0, 176, 178, 179, 180, 0, + 0, 0, 0, 978, 0, 0, 0, 0, 0, 985, + 0, 0, 0, 182, 599, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 599, 0, 0, 0, 0, 0, 0, 121, 0, 143, 0, 0, 0, 0, 0, 187, 0, 0, 0, 599, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 978, - 0, 0, 0, 599, 0, 985, 0, 0, 0, 0, - 599, 599, 690, 187, 187, 187, 187, 187, 0, 0, - 0, 0, 0, 0, 0, 187, 0, 0, 0, 0, - 187, 0, 0, 187, 0, 187, 156, 0, 187, 187, - 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 978, 0, 1692, 0, 0, 0, 0, 0, - 1692, 1692, 0, 185, 0, 0, 552, 0, 0, 593, - 0, 0, 0, 0, 0, 0, 552, 0, 0, 0, - 0, 0, 0, 187, 552, 0, 182, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 599, 2262, 0, 789, - 0, 0, 0, 0, 599, 0, 0, 0, 0, 187, - 121, 0, 143, 0, 150, 807, 0, 807, 0, 0, - 0, 0, 187, 164, 0, 552, 0, 0, 0, 0, + 164, 0, 0, 0, 0, 0, 978, 0, 1692, 0, + 0, 0, 0, 599, 1692, 1692, 0, 690, 0, 0, + 599, 599, 0, 187, 187, 187, 187, 187, 0, 0, + 0, 153, 0, 0, 0, 187, 0, 142, 0, 0, + 187, 0, 0, 187, 0, 187, 0, 0, 187, 187, + 187, 0, 0, 0, 0, 0, 0, 0, 161, 0, + 162, 0, 0, 0, 0, 0, 0, 0, 185, 0, + 0, 552, 0, 0, 593, 0, 130, 131, 152, 151, + 181, 552, 0, 0, 0, 0, 0, 0, 0, 552, + 0, 0, 0, 187, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 789, 0, 599, 0, 0, 0, + 0, 0, 0, 0, 599, 0, 0, 2031, 0, 187, + 807, 0, 807, 0, 0, 0, 0, 0, 0, 0, + 552, 0, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, 0, 0, 187, 0, 0, 0, 0, 0, 0, - 0, 0, 144, 0, 153, 145, 0, 0, 0, 0, - 142, 0, 0, 2033, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 161, 0, 162, 0, 157, 0, 0, 0, 0, - 0, 0, 169, 0, 0, 0, 0, 0, 0, 1474, - 1475, 152, 151, 181, 0, 0, 0, 0, 0, 1378, + 0, 0, 0, 0, 0, 0, 0, 147, 128, 154, + 135, 127, 0, 148, 149, 0, 0, 0, 0, 165, + 0, 0, 0, 0, 0, 0, 0, 0, 171, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 599, 187, - 0, 0, 0, 0, 177, 0, 0, 0, 0, 0, + 0, 0, 182, 139, 137, 132, 133, 134, 138, 0, + 0, 0, 0, 2261, 0, 129, 0, 0, 0, 0, + 0, 0, 0, 0, 140, 0, 121, 0, 143, 0, + 0, 599, 187, 0, 0, 0, 0, 0, 0, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 158, 163, 160, 166, 167, 168, 170, - 172, 173, 174, 175, 0, 0, 0, 0, 0, 176, - 178, 179, 180, 0, 0, 0, 0, 0, 187, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 147, 1476, 154, 0, 1473, 0, 148, 149, 0, 0, - 0, 0, 165, 0, 0, 0, 0, 187, 0, 0, - 0, 171, 0, 0, 0, 0, 822, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 187, 0, 0, 187, - 187, 187, 1833, 0, 0, 0, 0, 0, 2147, 599, - 599, 0, 0, 0, 0, 0, 0, 0, 0, 2162, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1396, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 599, 599, 599, 599, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1716, 0, 0, 0, 1717, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 156, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2245, 0, 0, 0, 0, 0, 0, 0, 0, 1533, - 0, 0, 0, 0, 187, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1833, 0, 1350, - 1806, 0, 0, 0, 2270, 0, 0, 0, 599, 0, - 599, 1577, 0, 2275, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1829, 0, 0, 0, 150, 0, 0, 0, - 0, 0, 0, 1609, 0, 0, 0, 0, 0, 0, - 1613, 0, 0, 0, 0, 1418, 0, 0, 0, 0, - 0, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 0, 0, - 0, 0, 599, 0, 144, 0, 0, 145, 0, 0, - 0, 552, 0, 552, 0, 187, 552, 0, 599, 0, - 0, 0, 0, 0, 0, 0, 0, 1692, 0, 0, - 1650, 599, 0, 0, 0, 0, 0, 157, 0, 0, - 0, 0, 0, 0, 169, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 599, 0, 1932, 0, 599, 599, 0, 1315, - 0, 1315, 0, 0, 1315, 0, 0, 0, 0, 1315, - 0, 0, 0, 0, 0, 0, 177, 0, 0, 0, - 0, 0, 0, 0, 822, 599, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1499, 0, 0, 0, 0, 158, 163, 160, 166, 167, - 168, 170, 172, 173, 174, 175, 1406, 0, 0, 2406, - 0, 176, 178, 179, 180, 0, 0, 0, 0, 0, - 0, 599, 0, 822, 0, 0, 0, 1315, 0, 0, - 2433, 1499, 1315, 0, 0, 0, 187, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 599, 187, 0, 1316, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1419, 0, - 0, 0, 0, 0, 0, 1847, 599, 0, 0, 0, - 0, 0, 0, 0, 1851, 0, 1854, 0, 0, 1650, - 552, 0, 0, 0, 0, 0, 978, 0, 0, 1315, - 599, 599, 0, 0, 1833, 0, 0, 0, 0, 0, - 789, 0, 0, 599, 0, 0, 0, 0, 0, 0, - 0, 0, 187, 599, 0, 0, 1432, 1435, 1436, 1437, - 1438, 1439, 1440, 552, 1441, 1442, 1443, 1444, 1445, 1420, - 1421, 1422, 1423, 1404, 1405, 1433, 0, 1407, 0, 1408, - 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 0, 0, - 1417, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 0, - 0, 2052, 599, 0, 0, 2056, 0, 2057, 2058, 0, - 0, 599, 0, 0, 0, 0, 2066, 0, 0, 2067, - 2068, 0, 2070, 0, 0, 2072, 2073, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 822, 0, + 153, 0, 0, 0, 0, 0, 142, 0, 0, 0, + 0, 0, 0, 0, 1831, 0, 0, 0, 0, 0, + 2146, 187, 0, 0, 0, 0, 0, 161, 0, 162, + 0, 2161, 0, 0, 0, 156, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1474, 1475, 152, 151, 181, + 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, + 0, 0, 187, 187, 187, 0, 0, 0, 0, 0, + 0, 0, 599, 599, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2080, 2081, 2082, 2083, 2084, 2406, 2086, - 0, 0, 0, 0, 0, 2090, 0, 2091, 0, 0, - 0, 2094, 0, 0, 0, 0, 0, 0, 0, 2103, - 2104, 2105, 2106, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2117, 2118, 0, 0, 0, 0, 0, 0, - 2123, 2124, 2125, 2126, 2127, 0, 1829, 0, 0, 0, - 0, 0, 0, 0, 0, 1650, 1434, 2140, 0, 0, - 0, 0, 2004, 0, 0, 0, 0, 0, 552, 2018, - 2019, 0, 0, 2023, 0, 0, 0, 0, 0, 0, - 0, 0, 2026, 0, 0, 0, 0, 0, 0, 2029, + 0, 0, 0, 150, 0, 0, 0, 0, 0, 1716, + 0, 0, 2244, 1717, 0, 0, 599, 599, 599, 599, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 147, 1476, 154, 1831, + 1473, 144, 148, 149, 145, 0, 2269, 0, 165, 0, + 0, 0, 0, 0, 0, 2274, 0, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2032, 0, 0, 1316, 1833, - 1833, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 157, 0, 0, 1350, 1804, 0, + 0, 169, 0, 0, 0, 0, 0, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1316, 0, 0, 1316, 0, - 0, 0, 0, 552, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2751, 2752, 2753, 2754, 0, 0, 0, - 1549, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 552, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1599, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1315, 0, 1315, 0, 0, 552, 0, 0, + 1827, 599, 0, 599, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 177, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1692, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 158, 163, 160, 166, 167, 168, 170, 172, + 173, 174, 175, 0, 0, 0, 0, 0, 176, 178, + 179, 180, 0, 0, 156, 599, 552, 0, 552, 0, + 0, 552, 1315, 0, 1315, 0, 0, 1315, 187, 0, + 0, 599, 1315, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 599, 0, 0, 822, 0, 0, + 0, 0, 1930, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1499, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 599, 0, 0, 0, 599, + 599, 0, 2408, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 150, 0, 0, 0, 822, 0, 0, 0, + 1315, 0, 0, 2435, 1499, 1315, 0, 0, 599, 0, + 0, 0, 0, 0, 0, 0, 2828, 2830, 2829, 2839, + 2840, 2841, 2842, 2843, 2844, 2845, 655, 0, 0, 0, + 144, 0, 0, 145, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 599, 0, 0, 0, 0, 0, + 0, 0, 0, 157, 0, 0, 0, 0, 0, 187, + 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1316, 0, 0, 0, 0, 599, 187, 978, + 0, 0, 1315, 0, 0, 0, 0, 1831, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 177, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 599, + 0, 0, 0, 0, 0, 552, 0, 0, 0, 0, + 0, 158, 163, 160, 166, 167, 168, 170, 172, 173, + 174, 175, 0, 599, 599, 789, 0, 176, 178, 179, + 180, 0, 0, 0, 0, 0, 599, 0, 0, 0, + 0, 0, 0, 0, 0, 187, 599, 0, 552, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2050, + 0, 0, 0, 2054, 0, 2055, 2056, 0, 0, 0, + 0, 0, 0, 0, 2064, 0, 0, 2065, 2066, 0, + 0, 0, 0, 0, 2408, 599, 0, 0, 0, 0, + 0, 0, 0, 0, 599, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2079, + 2080, 2081, 2082, 2083, 0, 2085, 2834, 2835, 0, 0, + 0, 2089, 0, 2090, 0, 0, 0, 2093, 0, 0, + 0, 0, 0, 0, 0, 2102, 2103, 2104, 2105, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2116, 2117, + 0, 0, 0, 0, 0, 0, 2122, 2123, 2124, 2125, + 2126, 0, 1827, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2139, 0, 0, 0, 700, 0, 645, + 704, 647, 701, 702, 0, 643, 646, 703, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 552, 0, 1831, 1831, 0, 0, 0, + 0, 0, 0, 0, 653, 654, 2827, 2831, 2832, 2833, + 2836, 2837, 2838, 2846, 2848, 678, 2847, 2849, 2850, 2851, + 2854, 2855, 2856, 2857, 2852, 2853, 2858, 2823, 2822, 2824, + 2825, 2826, 0, 0, 0, 0, 0, 0, 0, 2753, + 2754, 2755, 2756, 1316, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1316, 0, 0, 1316, 0, 0, 0, 0, 552, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1315, 0, + 1315, 0, 0, 0, 0, 1549, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 552, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1599, 0, 0, 1315, + 0, 0, 0, 0, 2810, 0, 2812, 0, 0, 0, + 0, 0, 552, 0, 0, 0, 0, 0, 0, 552, + 0, 0, 0, 0, 0, 0, 0, 0, 1622, 1623, + 552, 552, 552, 552, 552, 552, 552, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1831, 552, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2884, 0, 2350, 2351, 2352, 0, + 2353, 2354, 2355, 0, 0, 0, 2359, 822, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2374, 0, 0, 0, + 0, 0, 0, 807, 0, 0, 0, 0, 2917, 0, + 807, 807, 2917, 2917, 182, 0, 1316, 2389, 2390, 0, + 0, 0, 0, 0, 0, 1470, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 121, 0, + 143, 1831, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 164, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 807, 1599, 807, 807, 807, + 807, 807, 0, 0, 611, 0, 2434, 0, 0, 0, + 0, 0, 153, 0, 0, 0, 0, 1831, 142, 0, + 0, 0, 1549, 2452, 2453, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 807, 0, 161, + 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, + 1831, 789, 0, 0, 0, 0, 0, 1474, 1475, 152, + 151, 181, 0, 0, 552, 0, 0, 0, 0, 0, + 0, 1599, 0, 552, 0, 552, 0, 552, 1867, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1315, 0, 2980, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 800, 0, 0, 806, 0, 806, + 0, 0, 0, 0, 0, 0, 822, 822, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 3010, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 3015, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2579, 0, 0, 0, 0, 0, 0, 2583, 147, 1476, + 154, 0, 1473, 0, 148, 149, 0, 0, 0, 0, + 165, 2593, 2594, 2596, 2598, 0, 0, 0, 0, 171, + 0, 0, 0, 0, 0, 0, 0, 2604, 1831, 0, + 0, 0, 2608, 2609, 2610, 0, 0, 3015, 0, 2613, + 0, 0, 0, 0, 0, 2615, 0, 0, 2619, 2620, + 2621, 2622, 2623, 2624, 2625, 2626, 2627, 2628, 0, 0, + 2629, 0, 0, 0, 0, 0, 2634, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2656, 2657, 0, 0, 2661, 0, 0, 0, 0, 0, 0, 0, 0, 552, 0, 0, 0, 0, 0, - 0, 0, 0, 1622, 1623, 552, 552, 552, 552, 552, - 552, 552, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1315, 0, 0, 0, 0, 2808, 0, - 2810, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 552, 0, 2673, 2674, 0, 0, 0, 552, 552, + 0, 0, 552, 0, 2023, 0, 156, 0, 0, 0, + 0, 552, 0, 0, 0, 0, 0, 0, 552, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 552, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2351, 0, 2352, 0, 0, 2353, 0, 0, 0, 2357, - 0, 0, 1833, 0, 0, 0, 0, 0, 807, 0, - 0, 0, 0, 0, 0, 807, 807, 0, 2882, 2372, - 0, 1316, 0, 0, 2201, 0, 0, 0, 0, 0, - 0, 822, 0, 0, 0, 0, 0, 0, 0, 0, - 2387, 2388, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2915, 0, 806, 0, 2915, 2915, 0, 0, - 807, 1599, 807, 807, 807, 807, 807, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2249, 0, 1833, 0, 1549, 0, 2432, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 807, 0, 0, 0, 2450, 2451, 0, 0, - 0, 0, 0, 0, 0, 0, 789, 0, 0, 0, - 0, 0, 611, 0, 0, 0, 0, 0, 0, 552, - 0, 1833, 0, 0, 0, 0, 1599, 0, 552, 0, - 552, 0, 552, 1869, 0, 0, 0, 0, 2297, 2298, - 2299, 2300, 2301, 0, 800, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1833, 0, 0, 0, 0, 1650, - 2310, 0, 0, 78, 39, 40, 80, 0, 0, 0, - 0, 0, 0, 0, 0, 2318, 0, 0, 0, 0, - 0, 0, 0, 84, 0, 0, 0, 43, 69, 70, - 0, 67, 71, 0, 1315, 0, 2978, 0, 0, 0, - 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 822, 822, 0, 2577, 0, 0, 0, 0, 0, 56, - 2581, 0, 0, 3008, 0, 0, 0, 0, 0, 0, - 0, 87, 0, 3013, 2591, 2592, 2594, 2596, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2602, 0, 0, - 0, 0, 2606, 2607, 2608, 0, 0, 0, 0, 2611, - 0, 0, 0, 0, 0, 2613, 0, 0, 2617, 2618, - 2619, 2620, 2621, 2622, 2623, 2624, 2625, 2626, 0, 0, - 2627, 0, 1833, 0, 0, 0, 2632, 0, 0, 0, - 0, 3013, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 552, - 0, 2654, 2655, 0, 0, 2659, 552, 0, 0, 0, - 0, 0, 0, 552, 552, 0, 0, 552, 0, 2025, - 0, 0, 0, 2671, 2672, 0, 552, 0, 0, 0, - 0, 0, 0, 552, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 46, 49, 52, 51, 54, - 0, 66, 0, 0, 75, 72, 0, 0, 0, 552, - 2506, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 55, 83, 82, - 0, 0, 64, 65, 53, 0, 2544, 0, 0, 0, - 73, 74, 0, 0, 0, 0, 0, 0, 0, 2553, - 0, 0, 0, 0, 0, 716, 79, 0, 0, 0, - 0, 0, 0, 2738, 0, 0, 0, 2569, 0, 0, - 2572, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 57, 58, 807, 59, 60, 61, 62, 0, 0, 0, + 0, 0, 0, 2740, 150, 0, 0, 0, 0, 716, + 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 807, 0, 0, + 0, 0, 144, 0, 0, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2769, 0, 0, 0, + 2770, 0, 0, 0, 0, 157, 2774, 0, 0, 0, + 0, 0, 169, 0, 0, 0, 0, 779, 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2767, 0, 0, 0, - 2768, 0, 0, 779, 0, 79, 2772, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 779, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 807, + 807, 0, 0, 986, 177, 0, 0, 0, 0, 0, + 1599, 0, 0, 552, 0, 0, 0, 0, 0, 0, + 0, 1549, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 158, 163, 160, 166, 167, 168, 170, + 172, 173, 174, 175, 0, 0, 0, 0, 0, 176, + 178, 179, 180, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 552, 0, 0, + 0, 552, 0, 0, 0, 2882, 2141, 0, 0, 717, + 718, 0, 0, 0, 2889, 1697, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 779, 0, 0, 2634, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 807, 807, 0, 986, - 0, 0, 0, 0, 0, 0, 0, 1599, 0, 0, - 552, 0, 0, 0, 0, 0, 0, 0, 1549, 0, + 2899, 2900, 2901, 0, 2902, 2903, 0, 0, 0, 0, + 2906, 0, 2907, 0, 2909, 2912, 0, 0, 0, 0, + 0, 2916, 0, 0, 0, 0, 0, 1200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 552, 0, 0, 0, 0, 1418, 0, 2254, 0, 0, + 0, 0, 0, 0, 0, 1247, 0, 0, 0, 2942, + 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, + 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, + 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, + 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, + 764, 765, 0, 0, 0, 552, 552, 552, 552, 552, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 552, 552, 0, 0, + 0, 0, 0, 0, 0, 2964, 0, 0, 0, 0, + 0, 0, 552, 0, 0, 0, 0, 0, 0, 2969, + 0, 0, 0, 0, 2974, 0, 0, 807, 0, 0, + 2975, 2976, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2982, 0, + 0, 0, 0, 0, 0, 0, 1406, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 552, 0, 0, 0, 552, 0, - 0, 0, 0, 0, 2697, 0, 0, 0, 0, 0, - 86, 0, 0, 0, 0, 2880, 0, 0, 0, 0, - 0, 0, 0, 2712, 2887, 0, 2713, 2714, 2715, 0, - 0, 0, 0, 0, 0, 0, 0, 1200, 0, 0, - 2897, 2898, 2899, 0, 2900, 2901, 0, 0, 0, 0, - 2904, 0, 2905, 0, 2907, 2910, 0, 0, 0, 0, - 0, 2914, 0, 0, 0, 1247, 0, 552, 0, 0, - 0, 0, 0, 0, 2255, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1316, 0, 1316, 0, 0, 1316, + 0, 0, 0, 0, 1316, 0, 1365, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 807, 3033, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2940, + 0, 0, 0, 0, 0, 0, 0, 0, 3039, 0, + 0, 0, 3040, 0, 0, 0, 0, 0, 0, 0, + 552, 0, 0, 0, 0, 0, 0, 0, 1419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1316, 0, 0, 0, 0, 1316, 552, 552, + 552, 552, 552, 0, 0, 0, 0, 0, 0, 0, + 2451, 0, 0, 0, 0, 552, 0, 0, 1549, 0, + 552, 0, 0, 552, 2462, 1599, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1432, 1435, 1436, 1437, + 1438, 1439, 1440, 0, 1441, 1442, 1443, 1444, 1445, 1420, + 1421, 1422, 1423, 1404, 1405, 1433, 0, 1407, 0, 1408, + 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 552, 0, + 1417, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 0, + 0, 0, 0, 1160, 1316, 1160, 1160, 0, 0, 0, + 0, 0, 0, 0, 552, 0, 0, 0, 0, 0, + 0, 0, 79, 0, 0, 0, 0, 552, 0, 0, + 0, 1453, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 552, 0, 0, 552, 779, + 1235, 1236, 1237, 0, 1240, 0, 1242, 1243, 1244, 1245, + 0, 1248, 1250, 1250, 0, 1250, 1254, 1254, 1256, 1257, + 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, + 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, + 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, + 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, + 0, 1299, 1300, 1301, 1302, 1303, 1434, 0, 0, 0, + 1254, 1254, 1254, 1254, 1254, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 552, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1602, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1325, + 0, 0, 0, 0, 0, 779, 552, 0, 0, 779, + 0, 0, 0, 0, 0, 779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 552, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 552, 552, 552, 552, 552, 0, 0, 0, - 0, 611, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 552, 552, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 552, - 0, 0, 0, 0, 0, 2962, 0, 0, 0, 0, - 0, 0, 0, 0, 807, 0, 0, 0, 0, 2967, - 0, 0, 0, 0, 2972, 0, 0, 0, 0, 0, - 2973, 2974, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2980, 0, - 0, 0, 0, 0, 0, 0, 1365, 0, 0, 0, - 1316, 0, 1316, 0, 0, 1316, 0, 0, 0, 0, - 1316, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 807, 0, 0, 0, 2142, 0, - 0, 717, 718, 0, 0, 0, 0, 1697, 0, 3031, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 552, 0, 3037, 0, - 0, 0, 3038, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1316, 0, - 0, 0, 0, 1316, 552, 552, 552, 552, 552, 0, - 0, 0, 0, 0, 0, 0, 2449, 0, 0, 0, - 0, 552, 0, 0, 1549, 0, 552, 0, 0, 552, - 2460, 1599, 724, 725, 726, 727, 728, 729, 730, 731, - 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, - 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, - 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, - 762, 763, 764, 765, 552, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1160, - 1316, 1160, 1160, 0, 0, 0, 0, 0, 0, 0, - 552, 1453, 2961, 0, 0, 0, 0, 0, 79, 0, - 0, 0, 0, 552, 0, 0, 0, 0, 0, 0, + 1657, 1658, 1659, 1660, 552, 0, 0, 552, 552, 552, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 552, 0, 0, 552, 779, 1235, 1236, 1237, 0, - 1240, 0, 1242, 1243, 1244, 1245, 0, 1248, 1250, 1250, - 0, 1250, 1254, 1254, 1256, 1257, 1258, 1259, 1260, 1261, - 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, - 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, - 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291, - 1292, 1293, 1294, 1295, 1296, 1297, 0, 1299, 1300, 1301, - 1302, 1303, 0, 0, 0, 0, 1254, 1254, 1254, 1254, - 1254, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 552, 0, 0, 0, 0, 0, 0, 1602, 182, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1470, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 121, 0, 143, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 164, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1325, 0, 0, 0, 552, - 0, 779, 0, 0, 0, 779, 0, 0, 0, 0, - 0, 779, 0, 0, 0, 0, 153, 0, 0, 0, - 0, 0, 142, 0, 0, 0, 0, 0, 552, 0, - 1657, 1658, 1659, 1660, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 161, 0, 162, 0, 552, 0, 0, - 552, 552, 552, 0, 0, 0, 0, 0, 0, 0, - 0, 1474, 1475, 152, 151, 181, 0, 0, 0, 0, - 0, 1702, 1703, 0, 0, 0, 0, 0, 0, 1708, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1724, 1725, 0, 0, 0, 0, 1751, - 1752, 1753, 1754, 1755, 1756, 1758, 1762, 1763, 611, 1769, - 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, - 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, - 1790, 1791, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1316, 0, 1316, 0, 0, 0, 0, - 611, 0, 147, 1476, 154, 0, 1473, 0, 148, 149, - 0, 0, 0, 0, 165, 1549, 0, 0, 0, 0, - 0, 0, 0, 171, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1316, 0, 1841, 1842, 0, 0, + 806, 1702, 1703, 0, 0, 0, 0, 806, 806, 1708, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1749, + 1750, 1751, 1752, 1753, 1754, 1756, 1760, 1761, 0, 1767, + 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, + 1778, 1779, 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, + 1788, 1789, 806, 0, 806, 806, 806, 806, 806, 0, + 1316, 0, 1316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1878, 0, 0, 0, 87, 0, + 0, 0, 1549, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 806, 0, 0, 0, 0, 0, + 0, 1316, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1839, 1840, 87, 0, 0, 0, 0, 0, 710, 717, 718, 719, 720, 721, 711, 713, 0, 0, 0, 712, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 715, 722, + 0, 0, 0, 0, 1876, 0, 0, 0, 715, 722, 723, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1549, 0, 0, 0, - 0, 0, 0, 1916, 2826, 2828, 2827, 2837, 2838, 2839, - 2840, 2841, 2842, 2843, 655, 0, 0, 0, 0, 0, - 156, 0, 0, 0, 2550, 2551, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 724, 725, 726, 727, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1549, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2552, 2553, 0, 0, 0, 0, + 0, 0, 0, 1914, 0, 0, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1160, 0, 0, 150, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1160, - 1160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 144, 1549, 0, 145, + 0, 0, 0, 1160, 1160, 87, 0, 0, 0, 0, + 0, 710, 717, 718, 719, 720, 721, 711, 713, 0, + 0, 0, 712, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1549, 715, 722, 723, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 552, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 157, - 0, 0, 0, 0, 0, 0, 169, 0, 0, 0, + 0, 0, 0, 552, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 177, 0, + 0, 2552, 2553, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1316, 724, 725, 726, 727, 728, 729, 730, + 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, + 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, + 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, + 761, 762, 763, 764, 765, 0, 0, 0, 0, 0, + 1549, 0, 0, 0, 0, 0, 0, 0, 700, 0, + 0, 704, 0, 701, 702, 0, 0, 0, 703, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 806, 0, 0, 0, 0, 2063, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1549, 2832, 2833, 0, 158, 163, 160, - 166, 167, 168, 170, 172, 173, 174, 175, 0, 0, - 0, 0, 0, 176, 178, 179, 180, 0, 700, 2065, - 0, 704, 0, 701, 702, 2069, 0, 2071, 703, 0, - 0, 2074, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 700, 0, 645, 704, 647, - 701, 702, 1247, 643, 646, 703, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1861, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 653, 654, 2825, 2829, 2830, 2831, 2834, 2835, - 2836, 2844, 2846, 678, 2845, 2847, 2848, 2849, 2852, 2853, - 2854, 2855, 2850, 2851, 2856, 2821, 2820, 2822, 2823, 2824, - 87, 0, 0, 0, 0, 0, 710, 717, 718, 719, - 720, 721, 711, 713, 0, 0, 0, 712, 0, 0, - 0, 0, 0, 0, 0, 0, 986, 0, 1365, 0, - 715, 722, 723, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 717, - 718, 0, 0, 0, 0, 1697, 0, 0, 0, 986, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1859, + 1247, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 717, 718, 0, 0, 0, 0, 1697, + 0, 0, 0, 0, 0, 0, 806, 806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2550, 2551, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 724, 725, - 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, - 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, - 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, - 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, - 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, - 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, - 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, - 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, - 764, 765, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 986, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1365, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 986, 724, 725, 726, 727, 728, 729, + 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, + 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, + 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, + 760, 761, 762, 763, 764, 765, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2322, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2041, 0, 0, - 0, 0, 0, 0, 2345, 2346, 0, 0, 0, 2349, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2354, 2355, 2356, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2361, 2362, 2363, 0, 0, 1769, 2365, 0, - 2366, 2367, 0, 0, 0, 2374, 2375, 0, 0, 0, - 0, 0, 0, 1769, 1769, 1769, 1769, 1769, 611, 611, - 611, 611, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2421, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2121, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2454, 0, 0, 0, 2138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2178, 2179, - 0, 0, 0, 0, 0, 0, 0, 2198, 0, 2199, - 2200, 0, 0, 0, 0, 2516, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2039, 0, 0, 2321, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 806, 0, 0, 0, 0, 0, + 0, 0, 2344, 2345, 0, 0, 0, 2348, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2356, + 2357, 2358, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2363, 2364, 2365, 0, 0, 1767, 2367, 0, 2368, + 2369, 0, 0, 0, 2376, 2377, 0, 0, 0, 0, + 0, 0, 1767, 1767, 1767, 1767, 1767, 0, 0, 0, + 0, 0, 0, 0, 0, 806, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2120, 0, 0, 2423, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2137, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2456, 0, 0, 0, 0, 779, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2177, 2178, 0, 0, 0, 0, 0, 0, 0, 2197, + 0, 2198, 2199, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2518, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2599, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2605, 0, 0, 2276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2275, 0, 0, 0, 2601, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2607, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 611, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2200,99 +2198,223 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1861, - 0, 2743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2430, 0, 79, 0, 0, 1861, 1861, 1861, - 1861, 1861, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2198, 779, 0, 0, 2759, 1861, - 2760, 0, 1861, 0, 0, 2763, 2764, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2721, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2745, 0, 2432, 0, 79, 0, 0, + 1859, 1859, 1859, 1859, 1859, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2197, 779, 0, + 0, 0, 1859, 0, 0, 1859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2804, 0, 0, - 0, 0, 0, 0, 0, 2538, 0, 0, 2812, 0, - 0, 2814, 0, 0, 0, 2546, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2818, 0, 0, 0, 0, + 2761, 0, 2762, 0, 0, 0, 0, 2765, 2766, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2860, 0, 0, 0, 0, 0, 0, + 0, 2773, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2580, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2540, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2548, 2806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2814, 0, 0, 2816, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2820, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2862, 0, 2582, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2923, 611, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2925, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1861, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2680, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 611, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2966, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2682, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 611, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2968, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3029, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2780, 0, 2784, 2785, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2430, - 0, 79, 0, 2430, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3031, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2782, 0, 2786, 2787, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2432, 0, 79, 0, 2432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2872, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2874, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2432, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1256, 1257, 1258, 1259, 1260, 1264, 1265, 1266, + 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, + 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1287, + 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2952, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 365, 0, 0, 956, 941, 468, + 79, 887, 959, 856, 875, 969, 878, 881, 923, 835, + 901, 384, 872, 827, 860, 830, 867, 831, 858, 889, + 253, 855, 943, 905, 958, 337, 250, 837, 861, 398, + 877, 197, 925, 442, 237, 347, 344, 476, 265, 256, + 252, 236, 292, 354, 396, 462, 390, 965, 341, 911, + 2983, 452, 369, 0, 0, 79, 891, 947, 899, 937, + 886, 924, 845, 910, 960, 873, 920, 961, 298, 234, + 300, 196, 381, 453, 269, 0, 0, 0, 0, 188, + 189, 190, 0, 3003, 0, 3004, 0, 0, 0, 0, + 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, + 314, 316, 321, 328, 334, 869, 917, 955, 870, 919, + 248, 296, 255, 247, 473, 966, 946, 834, 898, 954, + 0, 0, 216, 957, 893, 0, 922, 0, 972, 829, + 913, 0, 832, 836, 968, 950, 864, 258, 0, 0, + 0, 0, 0, 0, 0, 890, 900, 934, 884, 0, + 0, 0, 0, 0, 0, 0, 862, 0, 909, 0, + 0, 0, 841, 833, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 888, 0, 0, 0, + 844, 0, 863, 935, 0, 826, 279, 838, 370, 240, + 0, 939, 949, 885, 509, 953, 883, 882, 929, 842, + 945, 876, 336, 840, 305, 192, 212, 0, 874, 380, + 423, 429, 944, 859, 868, 238, 866, 427, 394, 492, + 220, 267, 420, 400, 425, 407, 270, 908, 927, 426, + 342, 478, 414, 489, 510, 511, 246, 374, 500, 466, + 506, 524, 213, 243, 388, 459, 495, 449, 366, 474, + 475, 304, 448, 277, 195, 340, 516, 211, 435, 229, + 218, 480, 498, 272, 418, 203, 461, 487, 226, 439, + 0, 0, 526, 205, 485, 458, 362, 301, 302, 204, + 0, 419, 251, 275, 241, 383, 482, 483, 239, 527, + 215, 505, 207, 1162, 504, 376, 477, 486, 363, 352, + 206, 484, 361, 351, 307, 326, 327, 263, 286, 412, + 345, 413, 287, 372, 371, 373, 198, 496, 0, 199, + 0, 454, 497, 528, 221, 222, 224, 854, 262, 266, + 274, 276, 282, 283, 290, 338, 387, 411, 409, 415, + 940, 472, 490, 501, 508, 514, 515, 517, 518, 519, + 520, 521, 523, 522, 375, 289, 450, 306, 343, 932, + 971, 393, 428, 227, 494, 451, 849, 853, 847, 914, + 848, 903, 904, 850, 962, 963, 964, 529, 530, 531, + 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, + 542, 543, 544, 545, 546, 0, 936, 843, 0, 851, + 852, 0, 942, 951, 952, 547, 353, 441, 491, 308, + 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, + 318, 319, 324, 325, 329, 335, 235, 201, 359, 367, + 471, 907, 191, 208, 339, 967, 416, 271, 525, 503, + 499, 828, 210, 846, 245, 857, 865, 0, 871, 879, + 880, 892, 894, 895, 896, 897, 915, 916, 918, 926, + 928, 931, 933, 938, 948, 970, 193, 194, 200, 209, + 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, + 293, 294, 297, 303, 349, 355, 356, 357, 358, 377, + 378, 379, 382, 385, 386, 389, 391, 392, 395, 399, + 403, 404, 405, 406, 408, 410, 417, 422, 430, 431, + 432, 433, 434, 437, 438, 443, 444, 445, 446, 447, + 455, 456, 460, 479, 481, 493, 507, 512, 436, 281, + 488, 513, 0, 348, 906, 912, 350, 264, 284, 295, + 921, 502, 457, 214, 424, 273, 202, 233, 217, 242, + 257, 260, 299, 360, 368, 397, 402, 278, 254, 231, + 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, + 902, 930, 346, 469, 470, 291, 365, 0, 0, 956, + 941, 468, 0, 887, 959, 856, 875, 969, 878, 881, + 923, 835, 901, 384, 872, 827, 860, 830, 867, 831, + 858, 889, 253, 855, 943, 905, 958, 337, 250, 837, + 861, 398, 877, 197, 925, 442, 237, 347, 344, 476, + 265, 256, 252, 236, 292, 354, 396, 462, 390, 965, + 341, 911, 0, 452, 369, 0, 0, 0, 891, 947, + 899, 937, 886, 924, 845, 910, 960, 873, 920, 961, + 298, 234, 300, 196, 381, 453, 269, 0, 0, 0, + 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, + 311, 312, 314, 316, 321, 328, 334, 869, 917, 955, + 870, 919, 248, 296, 255, 247, 473, 966, 946, 834, + 898, 954, 0, 0, 216, 957, 893, 0, 922, 0, + 972, 829, 913, 0, 832, 836, 968, 950, 864, 258, + 0, 0, 0, 0, 0, 0, 0, 890, 900, 934, + 884, 0, 0, 0, 0, 0, 2463, 0, 862, 0, + 909, 0, 0, 0, 841, 833, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2430, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1256, 1257, 1258, 1259, - 1260, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, - 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, - 1283, 1284, 1285, 1287, 1288, 1289, 1290, 1291, 1292, 1293, - 1294, 1295, 1296, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2950, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 365, 0, - 0, 956, 941, 468, 79, 887, 959, 856, 875, 969, + 0, 0, 0, 0, 0, 0, 0, 0, 888, 0, + 0, 0, 844, 0, 863, 935, 0, 826, 279, 838, + 370, 240, 0, 939, 949, 885, 509, 953, 883, 882, + 929, 842, 945, 876, 336, 840, 305, 192, 212, 0, + 874, 380, 423, 429, 944, 859, 868, 238, 866, 427, + 394, 492, 220, 267, 420, 400, 425, 407, 270, 908, + 927, 426, 342, 478, 414, 489, 510, 511, 246, 374, + 500, 466, 506, 524, 213, 243, 388, 459, 495, 449, + 366, 474, 475, 304, 448, 277, 195, 340, 516, 211, + 435, 229, 218, 480, 498, 272, 418, 203, 461, 487, + 226, 439, 0, 0, 526, 205, 485, 458, 362, 301, + 302, 204, 0, 419, 251, 275, 241, 383, 482, 483, + 239, 527, 215, 505, 207, 1162, 504, 376, 477, 486, + 363, 352, 206, 484, 361, 351, 307, 326, 327, 263, + 286, 412, 345, 413, 287, 372, 371, 373, 198, 496, + 0, 199, 0, 454, 497, 528, 221, 222, 224, 854, + 262, 266, 274, 276, 282, 283, 290, 338, 387, 411, + 409, 415, 940, 472, 490, 501, 508, 514, 515, 517, + 518, 519, 520, 521, 523, 522, 375, 289, 450, 306, + 343, 932, 971, 393, 428, 227, 494, 451, 849, 853, + 847, 914, 848, 903, 904, 850, 962, 963, 964, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 545, 546, 0, 936, 843, + 0, 851, 852, 0, 942, 951, 952, 547, 353, 441, + 491, 308, 320, 323, 313, 332, 0, 333, 309, 310, + 315, 317, 318, 319, 324, 325, 329, 335, 235, 201, + 359, 367, 471, 907, 191, 208, 339, 967, 416, 271, + 525, 503, 499, 828, 210, 846, 245, 857, 865, 0, + 871, 879, 880, 892, 894, 895, 896, 897, 915, 916, + 918, 926, 928, 931, 933, 938, 948, 970, 193, 194, + 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, + 285, 288, 293, 294, 297, 303, 349, 355, 356, 357, + 358, 377, 378, 379, 382, 385, 386, 389, 391, 392, + 395, 399, 403, 404, 405, 406, 408, 410, 417, 422, + 430, 431, 432, 433, 434, 437, 438, 443, 444, 445, + 446, 447, 455, 456, 460, 479, 481, 493, 507, 512, + 436, 281, 488, 513, 0, 348, 906, 912, 350, 264, + 284, 295, 921, 502, 457, 214, 424, 273, 202, 233, + 217, 242, 257, 260, 299, 360, 368, 397, 402, 278, + 254, 231, 421, 228, 440, 463, 464, 465, 467, 364, + 249, 401, 902, 930, 346, 469, 470, 291, 365, 0, + 0, 956, 941, 468, 0, 887, 959, 856, 875, 969, 878, 881, 923, 835, 901, 384, 872, 827, 860, 830, 867, 831, 858, 889, 253, 855, 943, 905, 958, 337, 250, 837, 861, 398, 877, 197, 925, 442, 237, 347, 344, 476, 265, 256, 252, 236, 292, 354, 396, 462, - 390, 965, 341, 911, 2981, 452, 369, 0, 0, 79, + 390, 965, 341, 911, 0, 452, 369, 0, 0, 0, 891, 947, 899, 937, 886, 924, 845, 910, 960, 873, 920, 961, 298, 234, 300, 196, 381, 453, 269, 0, - 0, 0, 0, 188, 189, 190, 0, 3001, 0, 3002, + 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 869, 917, 955, 870, 919, 248, 296, 255, 247, 473, 966, 946, 834, 898, 954, 0, 0, 216, 957, 893, 0, 922, 0, 972, 829, 913, 0, 832, 836, 968, 950, 864, 258, 0, 0, 0, 0, 0, 0, 0, 890, - 900, 934, 884, 0, 0, 0, 0, 0, 0, 0, + 900, 934, 884, 0, 0, 0, 0, 0, 2421, 0, 862, 0, 909, 0, 0, 0, 841, 833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2354,7 +2476,7 @@ var yyAct = [...]int{ 893, 0, 922, 0, 972, 829, 913, 0, 832, 836, 968, 950, 864, 258, 0, 0, 0, 0, 0, 0, 0, 890, 900, 934, 884, 0, 0, 0, 0, 0, - 2461, 0, 862, 0, 909, 0, 0, 0, 841, 833, + 1847, 0, 862, 0, 909, 0, 0, 0, 841, 833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2407,7 +2529,7 @@ var yyAct = [...]int{ 292, 354, 396, 462, 390, 965, 341, 911, 0, 452, 369, 0, 0, 0, 891, 947, 899, 937, 886, 924, 845, 910, 960, 873, 920, 961, 298, 234, 300, 196, - 381, 453, 269, 0, 0, 0, 0, 188, 189, 190, + 381, 453, 269, 0, 87, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 869, 917, 955, 870, 919, 248, 296, @@ -2415,7 +2537,7 @@ var yyAct = [...]int{ 216, 957, 893, 0, 922, 0, 972, 829, 913, 0, 832, 836, 968, 950, 864, 258, 0, 0, 0, 0, 0, 0, 0, 890, 900, 934, 884, 0, 0, 0, - 0, 0, 2419, 0, 862, 0, 909, 0, 0, 0, + 0, 0, 0, 0, 862, 0, 909, 0, 0, 0, 841, 833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2476,7 +2598,7 @@ var yyAct = [...]int{ 0, 0, 216, 957, 893, 0, 922, 0, 972, 829, 913, 0, 832, 836, 968, 950, 864, 258, 0, 0, 0, 0, 0, 0, 0, 890, 900, 934, 884, 0, - 0, 0, 0, 0, 1849, 0, 862, 0, 909, 0, + 0, 0, 0, 0, 0, 0, 862, 0, 909, 0, 0, 0, 841, 833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2529,12 +2651,12 @@ var yyAct = [...]int{ 265, 256, 252, 236, 292, 354, 396, 462, 390, 965, 341, 911, 0, 452, 369, 0, 0, 0, 891, 947, 899, 937, 886, 924, 845, 910, 960, 873, 920, 961, - 298, 234, 300, 196, 381, 453, 269, 0, 87, 0, + 298, 234, 300, 196, 381, 453, 269, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 869, 917, 955, 870, 919, 248, 296, 255, 247, 473, 966, 946, 834, - 898, 954, 0, 0, 216, 957, 893, 0, 922, 0, + 898, 954, 0, 0, 973, 957, 893, 0, 922, 0, 972, 829, 913, 0, 832, 836, 968, 950, 864, 258, 0, 0, 0, 0, 0, 0, 0, 890, 900, 934, 884, 0, 0, 0, 0, 0, 0, 0, 862, 0, @@ -2554,13 +2676,13 @@ var yyAct = [...]int{ 435, 229, 218, 480, 498, 272, 418, 203, 461, 487, 226, 439, 0, 0, 526, 205, 485, 458, 362, 301, 302, 204, 0, 419, 251, 275, 241, 383, 482, 483, - 239, 527, 215, 505, 207, 1162, 504, 376, 477, 486, + 239, 527, 215, 505, 207, 839, 504, 376, 477, 486, 363, 352, 206, 484, 361, 351, 307, 326, 327, 263, 286, 412, 345, 413, 287, 372, 371, 373, 198, 496, 0, 199, 0, 454, 497, 528, 221, 222, 224, 854, 262, 266, 274, 276, 282, 283, 290, 338, 387, 411, 409, 415, 940, 472, 490, 501, 508, 514, 515, 517, - 518, 519, 520, 521, 523, 522, 375, 289, 450, 306, + 518, 519, 520, 521, 523, 522, 825, 819, 818, 306, 343, 932, 971, 393, 428, 227, 494, 451, 849, 853, 847, 914, 848, 903, 904, 850, 962, 963, 964, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, @@ -2595,7 +2717,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 869, 917, 955, 870, 919, 248, 296, 255, 247, 473, 966, - 946, 834, 898, 954, 0, 0, 216, 957, 893, 0, + 946, 834, 898, 954, 0, 0, 973, 957, 893, 0, 922, 0, 972, 829, 913, 0, 832, 836, 968, 950, 864, 258, 0, 0, 0, 0, 0, 0, 0, 890, 900, 934, 884, 0, 0, 0, 0, 0, 0, 0, @@ -2613,16 +2735,16 @@ var yyAct = [...]int{ 246, 374, 500, 466, 506, 524, 213, 243, 388, 459, 495, 449, 366, 474, 475, 304, 448, 277, 195, 340, 516, 211, 435, 229, 218, 480, 498, 272, 418, 203, - 461, 487, 226, 439, 0, 0, 526, 205, 485, 458, + 461, 1382, 226, 439, 0, 0, 526, 205, 485, 458, 362, 301, 302, 204, 0, 419, 251, 275, 241, 383, - 482, 483, 239, 527, 215, 505, 207, 1162, 504, 376, + 482, 483, 239, 527, 215, 505, 207, 839, 504, 376, 477, 486, 363, 352, 206, 484, 361, 351, 307, 326, 327, 263, 286, 412, 345, 413, 287, 372, 371, 373, 198, 496, 0, 199, 0, 454, 497, 528, 221, 222, 224, 854, 262, 266, 274, 276, 282, 283, 290, 338, 387, 411, 409, 415, 940, 472, 490, 501, 508, 514, - 515, 517, 518, 519, 520, 521, 523, 522, 375, 289, - 450, 306, 343, 932, 971, 393, 428, 227, 494, 451, + 515, 517, 518, 519, 520, 521, 523, 522, 825, 819, + 818, 306, 343, 932, 971, 393, 428, 227, 494, 451, 849, 853, 847, 914, 848, 903, 904, 850, 962, 963, 964, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 0, @@ -2674,7 +2796,7 @@ var yyAct = [...]int{ 510, 511, 246, 374, 500, 466, 506, 524, 213, 243, 388, 459, 495, 449, 366, 474, 475, 304, 448, 277, 195, 340, 516, 211, 435, 229, 218, 480, 498, 272, - 418, 203, 461, 487, 226, 439, 0, 0, 526, 205, + 418, 203, 461, 816, 226, 439, 0, 0, 526, 205, 485, 458, 362, 301, 302, 204, 0, 419, 251, 275, 241, 383, 482, 483, 239, 527, 215, 505, 207, 839, 504, 376, 477, 486, 363, 352, 206, 484, 361, 351, @@ -2705,145 +2827,144 @@ var yyAct = [...]int{ 424, 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, 902, 930, 346, 469, - 470, 291, 365, 0, 0, 956, 941, 468, 0, 887, - 959, 856, 875, 969, 878, 881, 923, 835, 901, 384, - 872, 827, 860, 830, 867, 831, 858, 889, 253, 855, - 943, 905, 958, 337, 250, 837, 861, 398, 877, 197, - 925, 442, 237, 347, 344, 476, 265, 256, 252, 236, - 292, 354, 396, 462, 390, 965, 341, 911, 0, 452, - 369, 0, 0, 0, 891, 947, 899, 937, 886, 924, - 845, 910, 960, 873, 920, 961, 298, 234, 300, 196, - 381, 453, 269, 0, 0, 0, 0, 188, 189, 190, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, - 321, 328, 334, 869, 917, 955, 870, 919, 248, 296, - 255, 247, 473, 966, 946, 834, 898, 954, 0, 0, - 973, 957, 893, 0, 922, 0, 972, 829, 913, 0, - 832, 836, 968, 950, 864, 258, 0, 0, 0, 0, - 0, 0, 0, 890, 900, 934, 884, 0, 0, 0, - 0, 0, 0, 0, 862, 0, 909, 0, 0, 0, - 841, 833, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 470, 291, 365, 0, 0, 0, 0, 468, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, + 0, 0, 1791, 0, 629, 0, 0, 0, 253, 634, + 0, 0, 0, 337, 250, 0, 1792, 398, 0, 197, + 0, 442, 237, 347, 344, 476, 265, 256, 252, 236, + 292, 354, 396, 462, 390, 641, 341, 0, 0, 452, + 369, 0, 0, 0, 0, 0, 636, 637, 0, 0, + 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, + 381, 453, 269, 0, 87, 0, 0, 188, 189, 190, + 710, 717, 718, 719, 720, 721, 711, 713, 0, 0, + 225, 712, 232, 657, 659, 658, 668, 669, 670, 671, + 672, 673, 674, 655, 715, 722, 723, 0, 248, 296, + 255, 247, 473, 0, 0, 0, 0, 0, 0, 0, + 216, 0, 0, 0, 0, 0, 0, 0, 612, 626, + 0, 640, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 888, 0, 0, 0, 844, 0, - 863, 935, 0, 826, 279, 838, 370, 240, 0, 939, - 949, 885, 509, 953, 883, 882, 929, 842, 945, 876, - 336, 840, 305, 192, 212, 0, 874, 380, 423, 429, - 944, 859, 868, 238, 866, 427, 394, 492, 220, 267, - 420, 400, 425, 407, 270, 908, 927, 426, 342, 478, + 623, 624, 805, 0, 0, 0, 694, 0, 625, 0, + 0, 633, 724, 725, 726, 727, 728, 729, 730, 731, + 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, + 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, + 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, + 762, 763, 764, 765, 635, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 279, 0, 370, 240, 0, 693, + 0, 0, 509, 0, 0, 691, 0, 0, 0, 0, + 336, 0, 305, 192, 212, 0, 0, 380, 423, 429, + 0, 0, 0, 238, 0, 427, 394, 492, 220, 267, + 420, 400, 425, 407, 270, 0, 0, 426, 342, 478, 414, 489, 510, 511, 246, 374, 500, 466, 506, 524, 213, 243, 388, 459, 495, 449, 366, 474, 475, 304, 448, 277, 195, 340, 516, 211, 435, 229, 218, 480, - 498, 272, 418, 203, 461, 1382, 226, 439, 0, 0, + 498, 272, 418, 203, 461, 487, 226, 439, 0, 0, 526, 205, 485, 458, 362, 301, 302, 204, 0, 419, 251, 275, 241, 383, 482, 483, 239, 527, 215, 505, - 207, 839, 504, 376, 477, 486, 363, 352, 206, 484, - 361, 351, 307, 326, 327, 263, 286, 412, 345, 413, + 207, 0, 504, 376, 477, 486, 363, 352, 206, 484, + 361, 351, 307, 663, 664, 263, 286, 412, 345, 413, 287, 372, 371, 373, 198, 496, 0, 199, 0, 454, - 497, 528, 221, 222, 224, 854, 262, 266, 274, 276, - 282, 283, 290, 338, 387, 411, 409, 415, 940, 472, + 497, 528, 221, 222, 224, 0, 262, 266, 274, 276, + 282, 283, 290, 338, 387, 411, 409, 415, 0, 472, 490, 501, 508, 514, 515, 517, 518, 519, 520, 521, - 523, 522, 825, 819, 818, 306, 343, 932, 971, 393, - 428, 227, 494, 451, 849, 853, 847, 914, 848, 903, - 904, 850, 962, 963, 964, 529, 530, 531, 532, 533, + 523, 522, 375, 289, 450, 306, 343, 0, 0, 393, + 428, 227, 494, 451, 700, 692, 645, 704, 647, 701, + 702, 642, 643, 646, 703, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, - 544, 545, 546, 0, 936, 843, 0, 851, 852, 0, - 942, 951, 952, 547, 353, 441, 491, 308, 320, 323, - 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, - 324, 325, 329, 335, 235, 201, 359, 367, 471, 907, - 191, 208, 339, 967, 416, 271, 525, 503, 499, 828, - 210, 846, 245, 857, 865, 0, 871, 879, 880, 892, - 894, 895, 896, 897, 915, 916, 918, 926, 928, 931, - 933, 938, 948, 970, 193, 194, 200, 209, 219, 223, + 544, 545, 546, 0, 695, 632, 631, 0, 638, 639, + 0, 653, 654, 656, 660, 661, 662, 665, 666, 667, + 675, 677, 678, 676, 679, 680, 681, 684, 685, 686, + 687, 682, 683, 688, 649, 648, 650, 651, 652, 630, + 191, 208, 339, 0, 416, 271, 525, 503, 499, 0, + 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, 357, 358, 377, 378, 379, 382, 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, 437, 438, 443, 444, 445, 446, 447, 455, 456, 460, 479, 481, 493, 507, 512, 436, 281, 488, 513, - 0, 348, 906, 912, 350, 264, 284, 295, 921, 502, + 0, 348, 0, 0, 350, 264, 284, 295, 0, 502, 457, 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, 228, - 440, 463, 464, 465, 467, 364, 249, 401, 902, 930, - 346, 469, 470, 291, 365, 0, 0, 956, 941, 468, - 0, 887, 959, 856, 875, 969, 878, 881, 923, 835, - 901, 384, 872, 827, 860, 830, 867, 831, 858, 889, - 253, 855, 943, 905, 958, 337, 250, 837, 861, 398, - 877, 197, 925, 442, 237, 347, 344, 476, 265, 256, - 252, 236, 292, 354, 396, 462, 390, 965, 341, 911, - 0, 452, 369, 0, 0, 0, 891, 947, 899, 937, - 886, 924, 845, 910, 960, 873, 920, 961, 298, 234, - 300, 196, 381, 453, 269, 0, 0, 0, 0, 188, - 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, - 314, 316, 321, 328, 334, 869, 917, 955, 870, 919, - 248, 296, 255, 247, 473, 966, 946, 834, 898, 954, - 0, 0, 973, 957, 893, 0, 922, 0, 972, 829, - 913, 0, 832, 836, 968, 950, 864, 258, 0, 0, - 0, 0, 0, 0, 0, 890, 900, 934, 884, 0, - 0, 0, 0, 0, 0, 0, 862, 0, 909, 0, - 0, 0, 841, 833, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 440, 463, 464, 465, 467, 364, 249, 401, 0, 365, + 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 384, 0, 0, 0, + 0, 629, 0, 0, 0, 253, 634, 0, 0, 0, + 337, 250, 0, 0, 398, 0, 197, 0, 442, 237, + 347, 344, 476, 265, 256, 252, 236, 292, 354, 396, + 462, 390, 641, 341, 0, 0, 452, 369, 0, 0, + 0, 0, 0, 636, 637, 0, 0, 0, 0, 0, + 0, 0, 0, 298, 234, 300, 196, 381, 453, 269, + 0, 87, 0, 0, 188, 189, 190, 710, 717, 718, + 719, 720, 721, 711, 713, 0, 0, 225, 712, 232, + 657, 659, 658, 668, 669, 670, 671, 672, 673, 674, + 655, 715, 722, 723, 0, 248, 296, 255, 247, 473, + 0, 0, 1757, 1758, 1759, 0, 0, 216, 0, 0, + 0, 0, 0, 0, 0, 612, 626, 0, 640, 0, + 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 623, 624, 0, + 0, 0, 0, 694, 0, 625, 0, 0, 633, 724, + 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, + 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, + 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, + 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, + 765, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 279, 0, 370, 240, 0, 693, 0, 0, 509, + 0, 0, 691, 0, 0, 0, 0, 336, 0, 305, + 192, 212, 0, 0, 380, 423, 429, 0, 0, 0, + 238, 0, 427, 394, 492, 220, 267, 420, 400, 425, + 407, 270, 0, 0, 426, 342, 478, 414, 489, 510, + 511, 246, 374, 500, 466, 506, 524, 213, 243, 388, + 459, 495, 449, 366, 474, 475, 304, 448, 277, 195, + 340, 516, 211, 435, 229, 218, 480, 498, 272, 418, + 203, 461, 487, 226, 439, 0, 0, 526, 205, 485, + 458, 362, 301, 302, 204, 0, 419, 251, 275, 241, + 383, 482, 483, 239, 527, 215, 505, 207, 0, 504, + 376, 477, 486, 363, 352, 206, 484, 361, 351, 307, + 663, 664, 263, 286, 412, 345, 413, 287, 372, 371, + 373, 198, 496, 0, 199, 0, 454, 497, 528, 221, + 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, + 338, 387, 411, 409, 415, 0, 472, 490, 501, 508, + 514, 515, 517, 518, 519, 520, 521, 523, 522, 375, + 289, 450, 306, 343, 0, 0, 393, 428, 227, 494, + 451, 700, 692, 645, 704, 647, 701, 702, 642, 643, + 646, 703, 529, 530, 531, 532, 533, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, + 0, 695, 632, 631, 0, 638, 639, 0, 653, 654, + 656, 660, 661, 662, 665, 666, 667, 675, 677, 678, + 676, 679, 680, 681, 684, 685, 686, 687, 682, 683, + 688, 649, 648, 650, 651, 652, 630, 191, 208, 339, + 0, 416, 271, 525, 503, 499, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 888, 0, 0, 0, - 844, 0, 863, 935, 0, 826, 279, 838, 370, 240, - 0, 939, 949, 885, 509, 953, 883, 882, 929, 842, - 945, 876, 336, 840, 305, 192, 212, 0, 874, 380, - 423, 429, 944, 859, 868, 238, 866, 427, 394, 492, - 220, 267, 420, 400, 425, 407, 270, 908, 927, 426, - 342, 478, 414, 489, 510, 511, 246, 374, 500, 466, - 506, 524, 213, 243, 388, 459, 495, 449, 366, 474, - 475, 304, 448, 277, 195, 340, 516, 211, 435, 229, - 218, 480, 498, 272, 418, 203, 461, 816, 226, 439, - 0, 0, 526, 205, 485, 458, 362, 301, 302, 204, - 0, 419, 251, 275, 241, 383, 482, 483, 239, 527, - 215, 505, 207, 839, 504, 376, 477, 486, 363, 352, - 206, 484, 361, 351, 307, 326, 327, 263, 286, 412, - 345, 413, 287, 372, 371, 373, 198, 496, 0, 199, - 0, 454, 497, 528, 221, 222, 224, 854, 262, 266, - 274, 276, 282, 283, 290, 338, 387, 411, 409, 415, - 940, 472, 490, 501, 508, 514, 515, 517, 518, 519, - 520, 521, 523, 522, 825, 819, 818, 306, 343, 932, - 971, 393, 428, 227, 494, 451, 849, 853, 847, 914, - 848, 903, 904, 850, 962, 963, 964, 529, 530, 531, - 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, - 542, 543, 544, 545, 546, 0, 936, 843, 0, 851, - 852, 0, 942, 951, 952, 547, 353, 441, 491, 308, - 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, - 318, 319, 324, 325, 329, 335, 235, 201, 359, 367, - 471, 907, 191, 208, 339, 967, 416, 271, 525, 503, - 499, 828, 210, 846, 245, 857, 865, 0, 871, 879, - 880, 892, 894, 895, 896, 897, 915, 916, 918, 926, - 928, 931, 933, 938, 948, 970, 193, 194, 200, 209, - 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, - 293, 294, 297, 303, 349, 355, 356, 357, 358, 377, - 378, 379, 382, 385, 386, 389, 391, 392, 395, 399, - 403, 404, 405, 406, 408, 410, 417, 422, 430, 431, - 432, 433, 434, 437, 438, 443, 444, 445, 446, 447, - 455, 456, 460, 479, 481, 493, 507, 512, 436, 281, - 488, 513, 0, 348, 906, 912, 350, 264, 284, 295, - 921, 502, 457, 214, 424, 273, 202, 233, 217, 242, - 257, 260, 299, 360, 368, 397, 402, 278, 254, 231, - 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, - 902, 930, 346, 469, 470, 291, 365, 0, 0, 0, - 0, 468, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 384, 0, 0, 1793, 0, 629, 0, + 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, + 261, 268, 280, 285, 288, 293, 294, 297, 303, 349, + 355, 356, 357, 358, 377, 378, 379, 382, 385, 386, + 389, 391, 392, 395, 399, 403, 404, 405, 406, 408, + 410, 417, 422, 430, 431, 432, 433, 434, 437, 438, + 443, 444, 445, 446, 447, 455, 456, 460, 479, 481, + 493, 507, 512, 436, 281, 488, 513, 0, 348, 0, + 0, 350, 264, 284, 295, 0, 502, 457, 214, 424, + 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, + 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, + 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, + 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 384, 0, 0, 0, 0, 629, 0, 0, 0, 253, 634, 0, 0, 0, 337, 250, 0, - 1794, 398, 0, 197, 0, 442, 237, 347, 344, 476, + 0, 398, 0, 197, 0, 442, 237, 347, 344, 476, 265, 256, 252, 236, 292, 354, 396, 462, 390, 641, 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, - 636, 637, 0, 0, 0, 0, 0, 0, 0, 0, + 636, 637, 0, 0, 0, 0, 0, 0, 1874, 0, 298, 234, 300, 196, 381, 453, 269, 0, 87, 0, 0, 188, 189, 190, 710, 717, 718, 719, 720, 721, 711, 713, 0, 0, 225, 712, 232, 657, 659, 658, 668, 669, 670, 671, 672, 673, 674, 655, 715, 722, - 723, 0, 248, 296, 255, 247, 473, 0, 0, 0, + 723, 1875, 248, 296, 255, 247, 473, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 612, 626, 0, 640, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 623, 624, 805, 0, 0, 0, + 0, 0, 0, 0, 623, 624, 0, 0, 0, 0, 694, 0, 625, 0, 0, 633, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, @@ -2888,129 +3009,129 @@ var yyAct = [...]int{ 284, 295, 0, 502, 457, 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, 364, - 249, 401, 0, 365, 346, 469, 470, 291, 468, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 384, 0, 0, 0, 0, 629, 0, 0, 0, 253, - 634, 0, 0, 0, 337, 250, 0, 0, 398, 0, - 197, 0, 442, 237, 347, 344, 476, 265, 256, 252, - 236, 292, 354, 396, 462, 390, 641, 341, 0, 0, - 452, 369, 0, 0, 0, 0, 0, 636, 637, 0, - 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, - 196, 381, 453, 269, 0, 87, 0, 0, 188, 189, - 190, 710, 717, 718, 719, 720, 721, 711, 713, 0, - 0, 225, 712, 232, 657, 659, 658, 668, 669, 670, - 671, 672, 673, 674, 655, 715, 722, 723, 0, 248, - 296, 255, 247, 473, 0, 0, 1759, 1760, 1761, 0, - 0, 216, 0, 0, 0, 0, 0, 0, 0, 612, - 626, 0, 640, 0, 0, 0, 258, 0, 0, 0, + 249, 401, 0, 0, 346, 469, 470, 291, 365, 0, + 0, 0, 78, 468, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 384, 0, 0, 0, 0, + 629, 0, 0, 0, 253, 634, 0, 0, 0, 337, + 250, 0, 0, 398, 0, 197, 0, 442, 237, 347, + 344, 476, 265, 256, 252, 236, 292, 354, 396, 462, + 390, 641, 341, 0, 0, 452, 369, 0, 0, 0, + 0, 0, 636, 637, 0, 0, 0, 0, 0, 0, + 0, 0, 298, 234, 300, 196, 381, 453, 269, 0, + 87, 0, 0, 188, 189, 190, 710, 717, 718, 719, + 720, 721, 711, 713, 0, 0, 225, 712, 232, 657, + 659, 658, 668, 669, 670, 671, 672, 673, 674, 655, + 715, 722, 723, 0, 248, 296, 255, 247, 473, 0, + 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, + 0, 0, 0, 0, 612, 626, 0, 640, 0, 0, + 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 623, 624, 0, 0, + 0, 0, 694, 0, 625, 0, 0, 633, 724, 725, + 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, + 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, + 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, + 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, + 635, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 279, 0, 370, 240, 0, 693, 0, 0, 509, 0, + 0, 691, 0, 0, 0, 0, 336, 0, 305, 192, + 212, 0, 0, 380, 423, 429, 0, 0, 0, 238, + 0, 427, 394, 492, 220, 267, 420, 400, 425, 407, + 270, 0, 0, 426, 342, 478, 414, 489, 510, 511, + 246, 374, 500, 466, 506, 524, 213, 243, 388, 459, + 495, 449, 366, 474, 475, 304, 448, 277, 195, 340, + 516, 211, 435, 229, 218, 480, 498, 272, 418, 203, + 461, 487, 226, 439, 0, 0, 526, 205, 485, 458, + 362, 301, 302, 204, 0, 419, 251, 275, 241, 383, + 482, 483, 239, 527, 215, 505, 207, 0, 504, 376, + 477, 486, 363, 352, 206, 484, 361, 351, 307, 663, + 664, 263, 286, 412, 345, 413, 287, 372, 371, 373, + 198, 496, 0, 199, 0, 454, 497, 528, 221, 222, + 224, 0, 262, 266, 274, 276, 282, 283, 290, 338, + 387, 411, 409, 415, 0, 472, 490, 501, 508, 514, + 515, 517, 518, 519, 520, 521, 523, 522, 375, 289, + 450, 306, 343, 0, 0, 393, 428, 227, 494, 451, + 700, 692, 645, 704, 647, 701, 702, 642, 643, 646, + 703, 529, 530, 531, 532, 533, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 546, 0, + 695, 632, 631, 0, 638, 639, 0, 653, 654, 656, + 660, 661, 662, 665, 666, 667, 675, 677, 678, 676, + 679, 680, 681, 684, 685, 686, 687, 682, 683, 688, + 649, 648, 650, 651, 652, 630, 191, 208, 339, 86, + 416, 271, 525, 503, 499, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 623, 624, 0, 0, 0, 0, 694, 0, 625, - 0, 0, 633, 724, 725, 726, 727, 728, 729, 730, - 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, - 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, - 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, - 761, 762, 763, 764, 765, 635, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 279, 0, 370, 240, 0, - 693, 0, 0, 509, 0, 0, 691, 0, 0, 0, - 0, 336, 0, 305, 192, 212, 0, 0, 380, 423, - 429, 0, 0, 0, 238, 0, 427, 394, 492, 220, - 267, 420, 400, 425, 407, 270, 0, 0, 426, 342, - 478, 414, 489, 510, 511, 246, 374, 500, 466, 506, - 524, 213, 243, 388, 459, 495, 449, 366, 474, 475, - 304, 448, 277, 195, 340, 516, 211, 435, 229, 218, - 480, 498, 272, 418, 203, 461, 487, 226, 439, 0, - 0, 526, 205, 485, 458, 362, 301, 302, 204, 0, - 419, 251, 275, 241, 383, 482, 483, 239, 527, 215, - 505, 207, 0, 504, 376, 477, 486, 363, 352, 206, - 484, 361, 351, 307, 663, 664, 263, 286, 412, 345, - 413, 287, 372, 371, 373, 198, 496, 0, 199, 0, - 454, 497, 528, 221, 222, 224, 0, 262, 266, 274, - 276, 282, 283, 290, 338, 387, 411, 409, 415, 0, - 472, 490, 501, 508, 514, 515, 517, 518, 519, 520, - 521, 523, 522, 375, 289, 450, 306, 343, 0, 0, - 393, 428, 227, 494, 451, 700, 692, 645, 704, 647, - 701, 702, 642, 643, 646, 703, 529, 530, 531, 532, - 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, - 543, 544, 545, 546, 0, 695, 632, 631, 0, 638, - 639, 0, 653, 654, 656, 660, 661, 662, 665, 666, - 667, 675, 677, 678, 676, 679, 680, 681, 684, 685, - 686, 687, 682, 683, 688, 649, 648, 650, 651, 652, - 630, 191, 208, 339, 0, 416, 271, 525, 503, 499, - 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, - 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, - 294, 297, 303, 349, 355, 356, 357, 358, 377, 378, - 379, 382, 385, 386, 389, 391, 392, 395, 399, 403, - 404, 405, 406, 408, 410, 417, 422, 430, 431, 432, - 433, 434, 437, 438, 443, 444, 445, 446, 447, 455, - 456, 460, 479, 481, 493, 507, 512, 436, 281, 488, - 513, 0, 348, 0, 0, 350, 264, 284, 295, 0, - 502, 457, 214, 424, 273, 202, 233, 217, 242, 257, - 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, - 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, - 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 384, 0, 0, - 0, 0, 629, 0, 0, 0, 253, 634, 0, 0, - 0, 337, 250, 0, 0, 398, 0, 197, 0, 442, - 237, 347, 344, 476, 265, 256, 252, 236, 292, 354, - 396, 462, 390, 641, 341, 0, 0, 452, 369, 0, - 0, 0, 0, 0, 636, 637, 0, 0, 0, 0, - 0, 0, 1876, 0, 298, 234, 300, 196, 381, 453, - 269, 0, 87, 0, 0, 188, 189, 190, 710, 717, - 718, 719, 720, 721, 711, 713, 0, 0, 225, 712, - 232, 657, 659, 658, 668, 669, 670, 671, 672, 673, - 674, 655, 715, 722, 723, 1877, 248, 296, 255, 247, - 473, 0, 0, 0, 0, 0, 0, 0, 216, 0, - 0, 0, 0, 0, 0, 0, 612, 626, 0, 640, - 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 623, 624, - 0, 0, 0, 0, 694, 0, 625, 0, 0, 633, - 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, - 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, - 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, - 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, - 764, 765, 635, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 279, 0, 370, 240, 0, 693, 0, 0, - 509, 0, 0, 691, 0, 0, 0, 0, 336, 0, - 305, 192, 212, 0, 0, 380, 423, 429, 0, 0, - 0, 238, 0, 427, 394, 492, 220, 267, 420, 400, - 425, 407, 270, 0, 0, 426, 342, 478, 414, 489, - 510, 511, 246, 374, 500, 466, 506, 524, 213, 243, - 388, 459, 495, 449, 366, 474, 475, 304, 448, 277, - 195, 340, 516, 211, 435, 229, 218, 480, 498, 272, - 418, 203, 461, 487, 226, 439, 0, 0, 526, 205, - 485, 458, 362, 301, 302, 204, 0, 419, 251, 275, - 241, 383, 482, 483, 239, 527, 215, 505, 207, 0, - 504, 376, 477, 486, 363, 352, 206, 484, 361, 351, - 307, 663, 664, 263, 286, 412, 345, 413, 287, 372, - 371, 373, 198, 496, 0, 199, 0, 454, 497, 528, - 221, 222, 224, 0, 262, 266, 274, 276, 282, 283, - 290, 338, 387, 411, 409, 415, 0, 472, 490, 501, - 508, 514, 515, 517, 518, 519, 520, 521, 523, 522, - 375, 289, 450, 306, 343, 0, 0, 393, 428, 227, - 494, 451, 700, 692, 645, 704, 647, 701, 702, 642, - 643, 646, 703, 529, 530, 531, 532, 533, 534, 535, - 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, - 546, 0, 695, 632, 631, 0, 638, 639, 0, 653, - 654, 656, 660, 661, 662, 665, 666, 667, 675, 677, - 678, 676, 679, 680, 681, 684, 685, 686, 687, 682, - 683, 688, 649, 648, 650, 651, 652, 630, 191, 208, - 339, 0, 416, 271, 525, 503, 499, 0, 210, 0, - 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, + 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, + 356, 357, 358, 377, 378, 379, 382, 385, 386, 389, + 391, 392, 395, 399, 403, 404, 405, 406, 408, 410, + 417, 422, 430, 431, 432, 433, 434, 437, 438, 443, + 444, 445, 446, 447, 455, 456, 460, 479, 481, 493, + 507, 512, 436, 281, 488, 513, 0, 348, 0, 0, + 350, 264, 284, 295, 0, 502, 457, 214, 424, 273, + 202, 233, 217, 242, 257, 260, 299, 360, 368, 397, + 402, 278, 254, 231, 421, 228, 440, 463, 464, 465, + 467, 364, 249, 401, 0, 365, 346, 469, 470, 291, + 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 384, 0, 0, 0, 0, 629, 0, 0, + 0, 253, 634, 0, 0, 0, 337, 250, 0, 0, + 398, 0, 197, 0, 442, 237, 347, 344, 476, 265, + 256, 252, 236, 292, 354, 396, 462, 390, 641, 341, + 0, 0, 452, 369, 0, 0, 0, 0, 0, 636, + 637, 0, 0, 0, 0, 0, 0, 0, 0, 298, + 234, 300, 196, 381, 453, 269, 0, 87, 0, 0, + 188, 189, 190, 710, 717, 718, 719, 720, 721, 711, + 713, 0, 0, 225, 712, 232, 657, 659, 658, 668, + 669, 670, 671, 672, 673, 674, 655, 715, 722, 723, + 0, 248, 296, 255, 247, 473, 0, 0, 0, 0, + 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, + 0, 612, 626, 0, 640, 0, 0, 0, 258, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 623, 624, 0, 0, 0, 0, 694, + 0, 625, 0, 0, 633, 724, 725, 726, 727, 728, + 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, + 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, + 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, + 759, 760, 761, 762, 763, 764, 765, 635, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 279, 0, 370, + 240, 0, 693, 0, 0, 509, 0, 0, 691, 0, + 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, + 380, 423, 429, 0, 0, 0, 238, 0, 427, 394, + 492, 220, 267, 420, 400, 425, 407, 270, 2990, 0, + 426, 342, 478, 414, 489, 510, 511, 246, 374, 500, + 466, 506, 524, 213, 243, 388, 459, 495, 449, 366, + 474, 475, 304, 448, 277, 195, 340, 516, 211, 435, + 229, 218, 480, 498, 272, 418, 203, 461, 487, 226, + 439, 0, 0, 526, 205, 485, 458, 362, 301, 302, + 204, 0, 419, 251, 275, 241, 383, 482, 483, 239, + 527, 215, 505, 207, 0, 504, 376, 477, 486, 363, + 352, 206, 484, 361, 351, 307, 663, 664, 263, 286, + 412, 345, 413, 287, 372, 371, 373, 198, 496, 0, + 199, 0, 454, 497, 528, 221, 222, 224, 0, 262, + 266, 274, 276, 282, 283, 290, 338, 387, 411, 409, + 415, 0, 472, 490, 501, 508, 514, 515, 517, 518, + 519, 520, 521, 523, 522, 375, 289, 450, 306, 343, + 0, 0, 393, 428, 227, 494, 451, 700, 692, 645, + 704, 647, 701, 702, 642, 643, 646, 703, 529, 530, + 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, + 541, 542, 543, 544, 545, 546, 0, 695, 632, 631, + 0, 638, 639, 0, 653, 654, 656, 660, 661, 662, + 665, 666, 667, 675, 677, 678, 676, 679, 680, 681, + 684, 685, 686, 687, 682, 683, 688, 649, 648, 650, + 651, 652, 630, 191, 208, 339, 0, 416, 271, 525, + 503, 499, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, - 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, - 349, 355, 356, 357, 358, 377, 378, 379, 382, 385, - 386, 389, 391, 392, 395, 399, 403, 404, 405, 406, - 408, 410, 417, 422, 430, 431, 432, 433, 434, 437, - 438, 443, 444, 445, 446, 447, 455, 456, 460, 479, - 481, 493, 507, 512, 436, 281, 488, 513, 0, 348, - 0, 0, 350, 264, 284, 295, 0, 502, 457, 214, - 424, 273, 202, 233, 217, 242, 257, 260, 299, 360, - 368, 397, 402, 278, 254, 231, 421, 228, 440, 463, - 464, 465, 467, 364, 249, 401, 0, 0, 346, 469, - 470, 291, 365, 0, 0, 0, 78, 468, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, + 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, + 288, 293, 294, 297, 303, 349, 355, 356, 357, 358, + 377, 378, 379, 382, 385, 386, 389, 391, 392, 395, + 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, + 431, 432, 433, 434, 437, 438, 443, 444, 445, 446, + 447, 455, 456, 460, 479, 481, 493, 507, 512, 436, + 281, 488, 513, 0, 348, 0, 0, 350, 264, 284, + 295, 0, 502, 457, 214, 424, 273, 202, 233, 217, + 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, + 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, + 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, 0, 0, 0, 0, 629, 0, 0, 0, 253, 634, 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, @@ -3018,7 +3139,7 @@ var yyAct = [...]int{ 292, 354, 396, 462, 390, 641, 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 636, 637, 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, - 381, 453, 269, 0, 87, 0, 0, 188, 189, 190, + 381, 453, 269, 0, 87, 0, 1349, 188, 189, 190, 710, 717, 718, 719, 720, 721, 711, 713, 0, 0, 225, 712, 232, 657, 659, 658, 668, 669, 670, 671, 672, 673, 674, 655, 715, 722, 723, 0, 248, 296, @@ -3057,7 +3178,7 @@ var yyAct = [...]int{ 0, 653, 654, 656, 660, 661, 662, 665, 666, 667, 675, 677, 678, 676, 679, 680, 681, 684, 685, 686, 687, 682, 683, 688, 649, 648, 650, 651, 652, 630, - 191, 208, 339, 86, 416, 271, 525, 503, 499, 0, + 191, 208, 339, 0, 416, 271, 525, 503, 499, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, @@ -3086,7 +3207,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 612, 626, 0, 640, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 623, 624, 0, + 0, 0, 0, 0, 0, 0, 0, 623, 624, 805, 0, 0, 0, 694, 0, 625, 0, 0, 633, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, @@ -3097,7 +3218,7 @@ var yyAct = [...]int{ 0, 0, 691, 0, 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, 380, 423, 429, 0, 0, 0, 238, 0, 427, 394, 492, 220, 267, 420, 400, 425, - 407, 270, 2988, 0, 426, 342, 478, 414, 489, 510, + 407, 270, 0, 0, 426, 342, 478, 414, 489, 510, 511, 246, 374, 500, 466, 506, 524, 213, 243, 388, 459, 495, 449, 366, 474, 475, 304, 448, 277, 195, 340, 516, 211, 435, 229, 218, 480, 498, 272, 418, @@ -3140,14 +3261,14 @@ var yyAct = [...]int{ 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 636, 637, 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, 381, 453, 269, 0, 87, 0, - 1349, 188, 189, 190, 710, 717, 718, 719, 720, 721, + 0, 188, 189, 190, 710, 717, 718, 719, 720, 721, 711, 713, 0, 0, 225, 712, 232, 657, 659, 658, 668, 669, 670, 671, 672, 673, 674, 655, 715, 722, 723, 0, 248, 296, 255, 247, 473, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 612, 626, 0, 640, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 623, 624, 0, 0, 0, 0, + 0, 0, 0, 0, 623, 624, 2070, 0, 0, 0, 694, 0, 625, 0, 0, 633, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, @@ -3208,7 +3329,7 @@ var yyAct = [...]int{ 0, 216, 0, 0, 0, 0, 0, 0, 0, 612, 626, 0, 640, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 623, 624, 805, 0, 0, 0, 694, 0, 625, + 0, 623, 624, 0, 0, 0, 0, 694, 0, 625, 0, 0, 633, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, @@ -3266,7 +3387,7 @@ var yyAct = [...]int{ 232, 657, 659, 658, 668, 669, 670, 671, 672, 673, 674, 655, 715, 722, 723, 0, 248, 296, 255, 247, 473, 0, 0, 0, 0, 0, 0, 0, 216, 0, - 0, 0, 0, 0, 0, 0, 612, 626, 0, 640, + 0, 0, 0, 0, 0, 0, 0, 626, 0, 640, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 623, 624, 0, 0, 0, 0, 694, 0, 625, 0, 0, 633, @@ -3315,29 +3436,29 @@ var yyAct = [...]int{ 368, 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 384, 0, 0, 0, 0, 629, - 0, 0, 0, 253, 634, 0, 0, 0, 337, 250, + 0, 0, 0, 0, 384, 0, 0, 0, 0, 0, + 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, 0, 442, 237, 347, 344, 476, 265, 256, 252, 236, 292, 354, 396, 462, 390, - 641, 341, 0, 0, 452, 369, 0, 0, 0, 0, - 0, 636, 637, 0, 0, 0, 0, 0, 0, 0, - 0, 298, 234, 300, 196, 381, 453, 269, 0, 87, - 0, 0, 188, 189, 190, 710, 717, 718, 719, 720, - 721, 711, 713, 0, 0, 225, 712, 232, 657, 659, - 658, 668, 669, 670, 671, 672, 673, 674, 655, 715, - 722, 723, 0, 248, 296, 255, 247, 473, 0, 0, + 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 298, 234, 300, 196, 381, 453, 269, 0, 0, + 0, 0, 188, 189, 190, 0, 717, 718, 0, 0, + 0, 0, 1697, 0, 0, 225, 0, 232, 322, 331, + 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, + 0, 0, 0, 248, 296, 255, 247, 473, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, - 0, 0, 0, 0, 626, 0, 640, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 623, 624, 0, 0, 0, - 0, 694, 0, 625, 0, 0, 633, 724, 725, 726, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, - 757, 758, 759, 760, 761, 762, 763, 764, 765, 635, + 757, 758, 759, 760, 761, 762, 763, 764, 765, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, - 0, 370, 240, 0, 693, 0, 0, 509, 0, 0, - 691, 0, 0, 0, 0, 336, 0, 305, 192, 212, + 0, 370, 240, 0, 0, 0, 0, 509, 0, 0, + 0, 0, 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, 380, 423, 429, 0, 0, 0, 238, 0, 427, 394, 492, 220, 267, 420, 400, 425, 407, 270, 0, 0, 426, 342, 478, 414, 489, 510, 511, 246, @@ -3347,20 +3468,20 @@ var yyAct = [...]int{ 487, 226, 439, 0, 0, 526, 205, 485, 458, 362, 301, 302, 204, 0, 419, 251, 275, 241, 383, 482, 483, 239, 527, 215, 505, 207, 0, 504, 376, 477, - 486, 363, 352, 206, 484, 361, 351, 307, 663, 664, + 486, 363, 352, 206, 484, 361, 351, 307, 326, 327, 263, 286, 412, 345, 413, 287, 372, 371, 373, 198, 496, 0, 199, 0, 454, 497, 528, 221, 222, 224, 0, 262, 266, 274, 276, 282, 283, 290, 338, 387, 411, 409, 415, 0, 472, 490, 501, 508, 514, 515, 517, 518, 519, 520, 521, 523, 522, 375, 289, 450, - 306, 343, 0, 0, 393, 428, 227, 494, 451, 700, - 692, 645, 704, 647, 701, 702, 642, 643, 646, 703, + 306, 343, 0, 0, 393, 428, 227, 494, 451, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, - 539, 540, 541, 542, 543, 544, 545, 546, 0, 695, - 632, 631, 0, 638, 639, 0, 653, 654, 656, 660, - 661, 662, 665, 666, 667, 675, 677, 678, 676, 679, - 680, 681, 684, 685, 686, 687, 682, 683, 688, 649, - 648, 650, 651, 652, 630, 191, 208, 339, 0, 416, + 539, 540, 541, 542, 543, 544, 545, 546, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 547, 353, + 441, 491, 308, 320, 323, 313, 332, 0, 333, 309, + 310, 315, 317, 318, 319, 324, 325, 329, 335, 235, + 201, 359, 367, 471, 0, 191, 208, 339, 0, 416, 271, 525, 503, 499, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, @@ -3383,22 +3504,22 @@ var yyAct = [...]int{ 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, 381, 453, 269, 0, 0, 0, 0, 188, - 189, 190, 0, 717, 718, 0, 0, 0, 0, 1697, + 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, 247, 473, 0, 0, 0, 0, 0, - 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 216, 0, 1024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 724, 725, 726, 727, 728, 729, - 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, - 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, - 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, - 760, 761, 762, 763, 764, 765, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, 370, 240, - 0, 0, 0, 0, 509, 0, 0, 0, 0, 0, - 0, 0, 336, 0, 305, 192, 212, 0, 0, 380, + 0, 0, 0, 1023, 509, 0, 0, 0, 0, 0, + 1020, 1021, 336, 981, 305, 192, 212, 1014, 1018, 380, 423, 429, 0, 0, 0, 238, 0, 427, 394, 492, 220, 267, 420, 400, 425, 407, 270, 0, 0, 426, 342, 478, 414, 489, 510, 511, 246, 374, 500, 466, @@ -3435,81 +3556,81 @@ var yyAct = [...]int{ 0, 502, 457, 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, - 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 384, 0, - 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, - 0, 0, 337, 250, 0, 0, 398, 0, 197, 0, - 442, 237, 347, 344, 476, 265, 256, 252, 236, 292, - 354, 396, 462, 390, 0, 341, 0, 0, 452, 369, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 298, 234, 300, 196, 381, - 453, 269, 0, 0, 0, 0, 188, 189, 190, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, - 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, - 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, - 247, 473, 0, 0, 0, 0, 0, 0, 0, 216, - 0, 1024, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, + 0, 0, 346, 469, 470, 291, 365, 0, 0, 0, + 78, 468, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 384, 0, 0, 0, 0, 0, 0, + 0, 0, 253, 0, 0, 0, 0, 337, 250, 0, + 0, 398, 0, 197, 0, 442, 237, 347, 344, 476, + 265, 256, 252, 236, 292, 354, 396, 462, 390, 0, + 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 298, 234, 300, 196, 381, 453, 269, 0, 87, 0, + 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, + 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, + 0, 0, 248, 296, 255, 247, 473, 0, 0, 0, + 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 279, 0, 370, 240, 0, 0, 0, - 1023, 509, 0, 0, 0, 0, 0, 1020, 1021, 336, - 981, 305, 192, 212, 1014, 1018, 380, 423, 429, 0, - 0, 0, 238, 0, 427, 394, 492, 220, 267, 420, - 400, 425, 407, 270, 0, 0, 426, 342, 478, 414, - 489, 510, 511, 246, 374, 500, 466, 506, 524, 213, - 243, 388, 459, 495, 449, 366, 474, 475, 304, 448, - 277, 195, 340, 516, 211, 435, 229, 218, 480, 498, - 272, 418, 203, 461, 487, 226, 439, 0, 0, 526, - 205, 485, 458, 362, 301, 302, 204, 0, 419, 251, - 275, 241, 383, 482, 483, 239, 527, 215, 505, 207, - 0, 504, 376, 477, 486, 363, 352, 206, 484, 361, - 351, 307, 326, 327, 263, 286, 412, 345, 413, 287, - 372, 371, 373, 198, 496, 0, 199, 0, 454, 497, - 528, 221, 222, 224, 0, 262, 266, 274, 276, 282, - 283, 290, 338, 387, 411, 409, 415, 0, 472, 490, - 501, 508, 514, 515, 517, 518, 519, 520, 521, 523, - 522, 375, 289, 450, 306, 343, 0, 0, 393, 428, - 227, 494, 451, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 545, 546, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 547, 353, 441, 491, 308, 320, 323, 313, - 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, - 325, 329, 335, 235, 201, 359, 367, 471, 0, 191, - 208, 339, 0, 416, 271, 525, 503, 499, 0, 210, - 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, - 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, - 303, 349, 355, 356, 357, 358, 377, 378, 379, 382, - 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, - 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, - 437, 438, 443, 444, 445, 446, 447, 455, 456, 460, - 479, 481, 493, 507, 512, 436, 281, 488, 513, 0, - 348, 0, 0, 350, 264, 284, 295, 0, 502, 457, - 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, - 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, - 463, 464, 465, 467, 364, 249, 401, 0, 0, 346, - 469, 470, 291, 365, 0, 0, 0, 78, 468, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, + 370, 240, 0, 0, 0, 0, 509, 0, 0, 0, + 0, 0, 0, 0, 336, 0, 305, 192, 212, 0, + 0, 380, 423, 429, 0, 0, 0, 238, 0, 427, + 394, 492, 220, 267, 420, 400, 425, 407, 270, 0, + 0, 426, 342, 478, 414, 489, 510, 511, 246, 374, + 500, 466, 506, 524, 213, 243, 388, 459, 495, 449, + 366, 474, 475, 304, 448, 277, 195, 340, 516, 211, + 435, 229, 218, 480, 498, 272, 418, 203, 461, 487, + 226, 439, 0, 0, 526, 205, 485, 458, 362, 301, + 302, 204, 0, 419, 251, 275, 241, 383, 482, 483, + 239, 527, 215, 505, 207, 0, 504, 376, 477, 486, + 363, 352, 206, 484, 361, 351, 307, 326, 327, 263, + 286, 412, 345, 413, 287, 372, 371, 373, 198, 496, + 0, 199, 0, 454, 497, 528, 221, 222, 224, 0, + 262, 266, 274, 276, 282, 283, 290, 338, 387, 411, + 409, 415, 0, 472, 490, 501, 508, 514, 515, 517, + 518, 519, 520, 521, 523, 522, 375, 289, 450, 306, + 343, 0, 0, 393, 428, 227, 494, 451, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 545, 546, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 547, 353, 441, + 491, 308, 320, 323, 313, 332, 0, 333, 309, 310, + 315, 317, 318, 319, 324, 325, 329, 335, 235, 201, + 359, 367, 471, 0, 191, 208, 339, 86, 416, 271, + 525, 503, 499, 0, 210, 0, 245, 0, 0, 0, + 0, 0, 0, 1862, 0, 0, 1861, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, + 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, + 285, 288, 293, 294, 297, 303, 349, 355, 356, 357, + 358, 377, 378, 379, 382, 385, 386, 389, 391, 392, + 395, 399, 403, 404, 405, 406, 408, 410, 417, 422, + 430, 431, 432, 433, 434, 437, 438, 443, 444, 445, + 446, 447, 455, 456, 460, 479, 481, 493, 507, 512, + 436, 281, 488, 513, 0, 348, 0, 0, 350, 264, + 284, 295, 0, 502, 457, 214, 424, 273, 202, 233, + 217, 242, 257, 260, 299, 360, 368, 397, 402, 278, + 254, 231, 421, 228, 440, 463, 464, 465, 467, 364, + 249, 401, 0, 1368, 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 384, 0, 0, 0, 0, 0, 0, 0, 0, 253, + 384, 0, 0, 0, 1370, 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, 0, 442, 237, 347, 344, 476, 265, 256, 252, 236, 292, 354, 396, 462, 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, - 196, 381, 453, 269, 0, 87, 0, 0, 188, 189, - 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 196, 381, 453, 269, 0, 0, 0, 0, 188, 189, + 190, 0, 1372, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, 247, 473, 0, 0, 0, 0, 0, 0, - 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 216, 0, 0, 0, 1196, 0, 1197, 1198, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3543,9 +3664,9 @@ var yyAct = [...]int{ 0, 0, 0, 0, 547, 353, 441, 491, 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, 335, 235, 201, 359, 367, 471, - 0, 191, 208, 339, 86, 416, 271, 525, 503, 499, + 0, 191, 208, 339, 0, 416, 271, 525, 503, 499, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, - 1864, 0, 0, 1863, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, 357, 358, 377, 378, @@ -3557,20 +3678,20 @@ var yyAct = [...]int{ 502, 457, 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, - 1368, 346, 469, 470, 291, 468, 0, 0, 0, 0, + 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, 0, 0, - 0, 1370, 0, 0, 0, 0, 253, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, 0, 442, 237, 347, 344, 476, 265, 256, 252, 236, 292, 354, 396, 462, 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, 381, 453, - 269, 0, 0, 0, 0, 188, 189, 190, 0, 1372, - 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, + 269, 0, 0, 0, 0, 188, 189, 190, 1311, 1314, + 0, 0, 0, 0, 1310, 1313, 0, 0, 225, 1309, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, 247, 473, 0, 0, 0, 0, 0, 0, 0, 216, 0, - 0, 0, 1196, 0, 1197, 1198, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3617,69 +3738,69 @@ var yyAct = [...]int{ 0, 0, 350, 264, 284, 295, 0, 502, 457, 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, 463, - 464, 465, 467, 364, 249, 401, 0, 365, 346, 469, - 470, 291, 468, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 384, 0, 0, 0, 0, 0, - 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, - 0, 0, 398, 0, 197, 0, 442, 237, 347, 344, - 476, 265, 256, 252, 236, 292, 354, 396, 462, 390, - 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 298, 234, 300, 196, 381, 453, 269, 0, 0, - 0, 0, 188, 189, 190, 1311, 1314, 0, 0, 0, - 0, 1310, 1313, 0, 0, 225, 1309, 232, 322, 331, - 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, - 0, 0, 0, 248, 296, 255, 247, 473, 0, 0, - 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, + 464, 465, 467, 364, 249, 401, 0, 0, 346, 469, + 470, 291, 365, 0, 0, 0, 78, 468, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, + 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, + 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, + 0, 442, 237, 347, 344, 476, 265, 256, 252, 236, + 292, 354, 396, 462, 390, 0, 341, 0, 0, 452, + 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, + 381, 453, 269, 0, 87, 0, 1349, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, + 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, + 255, 247, 473, 0, 0, 0, 0, 0, 0, 0, + 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, - 0, 370, 240, 0, 0, 0, 0, 509, 0, 0, - 0, 0, 0, 0, 0, 336, 0, 305, 192, 212, - 0, 0, 380, 423, 429, 0, 0, 0, 238, 0, - 427, 394, 492, 220, 267, 420, 400, 425, 407, 270, - 0, 0, 426, 342, 478, 414, 489, 510, 511, 246, - 374, 500, 466, 506, 524, 213, 243, 388, 459, 495, - 449, 366, 474, 475, 304, 448, 277, 195, 340, 516, - 211, 435, 229, 218, 480, 498, 272, 418, 203, 461, - 487, 226, 439, 0, 0, 526, 205, 485, 458, 362, - 301, 302, 204, 0, 419, 251, 275, 241, 383, 482, - 483, 239, 527, 215, 505, 207, 0, 504, 376, 477, - 486, 363, 352, 206, 484, 361, 351, 307, 326, 327, - 263, 286, 412, 345, 413, 287, 372, 371, 373, 198, - 496, 0, 199, 0, 454, 497, 528, 221, 222, 224, - 0, 262, 266, 274, 276, 282, 283, 290, 338, 387, - 411, 409, 415, 0, 472, 490, 501, 508, 514, 515, - 517, 518, 519, 520, 521, 523, 522, 375, 289, 450, - 306, 343, 0, 0, 393, 428, 227, 494, 451, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, - 539, 540, 541, 542, 543, 544, 545, 546, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 547, 353, - 441, 491, 308, 320, 323, 313, 332, 0, 333, 309, - 310, 315, 317, 318, 319, 324, 325, 329, 335, 235, - 201, 359, 367, 471, 0, 191, 208, 339, 0, 416, - 271, 525, 503, 499, 0, 210, 0, 245, 0, 0, + 0, 0, 0, 0, 279, 0, 370, 240, 0, 0, + 0, 0, 509, 0, 0, 0, 0, 0, 0, 0, + 336, 0, 305, 192, 212, 0, 0, 380, 423, 429, + 0, 0, 0, 238, 0, 427, 394, 492, 220, 267, + 420, 400, 425, 407, 270, 0, 0, 426, 342, 478, + 414, 489, 510, 511, 246, 374, 500, 466, 506, 524, + 213, 243, 388, 459, 495, 449, 366, 474, 475, 304, + 448, 277, 195, 340, 516, 211, 435, 229, 218, 480, + 498, 272, 418, 203, 461, 487, 226, 439, 0, 0, + 526, 205, 485, 458, 362, 301, 302, 204, 0, 419, + 251, 275, 241, 383, 482, 483, 239, 527, 215, 505, + 207, 0, 504, 376, 477, 486, 363, 352, 206, 484, + 361, 351, 307, 326, 327, 263, 286, 412, 345, 413, + 287, 372, 371, 373, 198, 496, 0, 199, 0, 454, + 497, 528, 221, 222, 224, 0, 262, 266, 274, 276, + 282, 283, 290, 338, 387, 411, 409, 415, 0, 472, + 490, 501, 508, 514, 515, 517, 518, 519, 520, 521, + 523, 522, 375, 289, 450, 306, 343, 0, 0, 393, + 428, 227, 494, 451, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 547, 353, 441, 491, 308, 320, 323, + 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, + 324, 325, 329, 335, 235, 201, 359, 367, 471, 0, + 191, 208, 339, 86, 416, 271, 525, 503, 499, 0, + 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, - 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, - 357, 358, 377, 378, 379, 382, 385, 386, 389, 391, - 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, - 422, 430, 431, 432, 433, 434, 437, 438, 443, 444, - 445, 446, 447, 455, 456, 460, 479, 481, 493, 507, - 512, 436, 281, 488, 513, 0, 348, 0, 0, 350, - 264, 284, 295, 0, 502, 457, 214, 424, 273, 202, - 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, - 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, - 364, 249, 401, 0, 0, 346, 469, 470, 291, 365, - 0, 0, 0, 78, 468, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, + 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, + 297, 303, 349, 355, 356, 357, 358, 377, 378, 379, + 382, 385, 386, 389, 391, 392, 395, 399, 403, 404, + 405, 406, 408, 410, 417, 422, 430, 431, 432, 433, + 434, 437, 438, 443, 444, 445, 446, 447, 455, 456, + 460, 479, 481, 493, 507, 512, 436, 281, 488, 513, + 0, 348, 0, 0, 350, 264, 284, 295, 0, 502, + 457, 214, 424, 273, 202, 233, 217, 242, 257, 260, + 299, 360, 368, 397, 402, 278, 254, 231, 421, 228, + 440, 463, 464, 465, 467, 364, 249, 401, 0, 365, + 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, 0, 442, 237, @@ -3687,7 +3808,7 @@ var yyAct = [...]int{ 462, 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, 381, 453, 269, - 0, 87, 0, 1349, 188, 189, 190, 0, 0, 0, + 0, 87, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, 247, 473, @@ -3726,8 +3847,8 @@ var yyAct = [...]int{ 547, 353, 441, 491, 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, 335, 235, 201, 359, 367, 471, 0, 191, 208, 339, - 86, 416, 271, 525, 503, 499, 0, 210, 0, 245, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 416, 271, 525, 503, 499, 0, 210, 0, 245, + 0, 0, 0, 0, 0, 0, 1862, 0, 0, 1861, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, 349, @@ -3741,14 +3862,14 @@ var yyAct = [...]int{ 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 384, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 384, 0, 0, 0, 1813, 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, 0, 442, 237, 347, 344, 476, 265, 256, 252, 236, 292, 354, 396, 462, 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 298, 234, 300, 196, 381, 453, 269, 0, 87, 0, - 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, + 298, 234, 300, 196, 381, 453, 269, 0, 0, 0, + 0, 188, 189, 190, 0, 1550, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, 247, 473, 0, 0, 0, @@ -3766,7 +3887,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, 380, 423, 429, 0, 0, 0, 238, 0, 427, 394, 492, 220, 267, 420, 400, 425, 407, 270, 0, - 0, 426, 342, 478, 414, 489, 510, 511, 246, 374, + 1811, 426, 342, 478, 414, 489, 510, 511, 246, 374, 500, 466, 506, 524, 213, 243, 388, 459, 495, 449, 366, 474, 475, 304, 448, 277, 195, 340, 516, 211, 435, 229, 218, 480, 498, 272, 418, 203, 461, 487, @@ -3788,7 +3909,7 @@ var yyAct = [...]int{ 315, 317, 318, 319, 324, 325, 329, 335, 235, 201, 359, 367, 471, 0, 191, 208, 339, 0, 416, 271, 525, 503, 499, 0, 210, 0, 245, 0, 0, 0, - 0, 0, 0, 1864, 0, 0, 1863, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, 357, @@ -3802,20 +3923,20 @@ var yyAct = [...]int{ 254, 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 384, 0, 0, 0, 1815, 0, 0, 0, 0, 253, + 384, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, 0, 442, 237, 347, 344, 476, 265, 256, 252, 236, 292, 354, 396, 462, 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, 381, 453, 269, 0, 0, 0, 0, 188, 189, - 190, 0, 1550, 0, 0, 0, 0, 0, 0, 0, + 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, 247, 473, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 975, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3824,9 +3945,9 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, 370, 240, 0, 0, 0, 0, 509, 0, 0, 0, 0, 0, 0, - 0, 336, 0, 305, 192, 212, 0, 0, 380, 423, + 0, 336, 981, 305, 192, 212, 979, 0, 380, 423, 429, 0, 0, 0, 238, 0, 427, 394, 492, 220, - 267, 420, 400, 425, 407, 270, 0, 1813, 426, 342, + 267, 420, 400, 425, 407, 270, 0, 0, 426, 342, 478, 414, 489, 510, 511, 246, 374, 500, 466, 506, 524, 213, 243, 388, 459, 495, 449, 366, 474, 475, 304, 448, 277, 195, 340, 516, 211, 435, 229, 218, @@ -3863,20 +3984,20 @@ var yyAct = [...]int{ 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, 0, 0, - 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, + 0, 1813, 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, 0, 442, 237, 347, 344, 476, 265, 256, 252, 236, 292, 354, 396, 462, 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, 381, 453, - 269, 0, 0, 0, 0, 188, 189, 190, 0, 0, + 269, 0, 0, 0, 0, 188, 189, 190, 0, 1550, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, 247, 473, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, - 0, 0, 975, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3884,8 +4005,8 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, 370, 240, 0, 0, 0, 0, - 509, 0, 0, 0, 0, 0, 0, 0, 336, 981, - 305, 192, 212, 979, 0, 380, 423, 429, 0, 0, + 509, 0, 0, 0, 0, 0, 0, 0, 336, 0, + 305, 192, 212, 0, 0, 380, 423, 429, 0, 0, 0, 238, 0, 427, 394, 492, 220, 267, 420, 400, 425, 407, 270, 0, 0, 426, 342, 478, 414, 489, 510, 511, 246, 374, 500, 466, 506, 524, 213, 243, @@ -3923,14 +4044,14 @@ var yyAct = [...]int{ 368, 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 384, 0, 0, 0, 1815, 0, + 0, 0, 0, 0, 384, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, 0, 442, 237, 347, 344, 476, 265, 256, 252, 236, 292, 354, 396, 462, 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, 381, 453, 269, 0, 0, - 0, 0, 188, 189, 190, 0, 1550, 0, 0, 0, + 0, 1349, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, 247, 473, 0, 0, @@ -3945,7 +4066,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, 370, 240, 0, 0, 0, 0, 509, 0, 0, - 0, 0, 0, 0, 0, 336, 0, 305, 192, 212, + 0, 2918, 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, 380, 423, 429, 0, 0, 0, 238, 0, 427, 394, 492, 220, 267, 420, 400, 425, 407, 270, 0, 0, 426, 342, 478, 414, 489, 510, 511, 246, @@ -3990,8 +4111,8 @@ var yyAct = [...]int{ 252, 236, 292, 354, 396, 462, 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, - 300, 196, 381, 453, 269, 0, 0, 0, 1349, 188, - 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, + 300, 196, 381, 453, 269, 0, 0, 0, 0, 188, + 189, 190, 0, 1693, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, 247, 473, 0, 0, 0, 0, 0, @@ -3999,13 +4120,13 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1694, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, 370, 240, - 0, 0, 0, 0, 509, 0, 0, 0, 2916, 0, + 0, 0, 0, 0, 509, 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, 380, 423, 429, 0, 0, 0, 238, 0, 427, 394, 492, 220, 267, 420, 400, 425, 407, 270, 0, 0, 426, @@ -4052,7 +4173,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, 381, 453, 269, 0, 0, 0, 0, 188, 189, 190, 0, - 1693, 0, 0, 0, 0, 0, 0, 0, 0, 225, + 2162, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, 247, 473, 0, 0, 0, 0, 0, 0, 0, 216, @@ -4060,7 +4181,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1694, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4112,15 +4233,15 @@ var yyAct = [...]int{ 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, 381, 453, 269, 0, - 0, 0, 0, 188, 189, 190, 0, 2163, 0, 0, - 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, + 0, 0, 0, 188, 189, 190, 0, 0, 0, 2147, + 0, 0, 0, 2148, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, 247, 473, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2164, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4167,14 +4288,14 @@ var yyAct = [...]int{ 467, 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, 0, 0, 0, 0, 0, 0, 0, - 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, + 0, 253, 1393, 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, 0, 442, 237, 347, 344, 476, 265, 256, 252, 236, 292, 354, 396, 462, 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, 381, 453, 269, 0, 0, 0, 0, - 188, 189, 190, 0, 0, 0, 2148, 0, 0, 0, - 2149, 0, 0, 225, 0, 232, 322, 331, 330, 311, + 188, 189, 190, 0, 1392, 0, 0, 0, 0, 0, + 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, 247, 473, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, @@ -4227,14 +4348,14 @@ var yyAct = [...]int{ 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, - 0, 0, 0, 0, 0, 0, 0, 0, 253, 1393, + 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, 0, 442, 237, 347, 344, 476, 265, 256, 252, 236, 292, 354, 396, 462, 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, 381, 453, 269, 0, 0, 0, 0, 188, 189, 190, - 0, 1392, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, 247, 473, 0, 0, 0, 0, 0, 0, 0, @@ -4248,7 +4369,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, 370, 240, 0, 0, - 0, 0, 509, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 509, 0, 0, 0, 3011, 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, 380, 423, 429, 0, 0, 0, 238, 0, 427, 394, 492, 220, 267, 420, 400, 425, 407, 270, 0, 0, 426, 342, 478, @@ -4294,7 +4415,7 @@ var yyAct = [...]int{ 462, 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, 381, 453, 269, - 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, + 0, 0, 0, 0, 188, 189, 190, 0, 1550, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, 247, 473, @@ -4309,7 +4430,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, 370, 240, 0, 0, 0, 0, 509, - 0, 0, 0, 3009, 0, 0, 0, 336, 0, 305, + 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, 380, 423, 429, 0, 0, 0, 238, 0, 427, 394, 492, 220, 267, 420, 400, 425, 407, 270, 0, 0, 426, 342, 478, 414, 489, 510, @@ -4355,7 +4476,7 @@ var yyAct = [...]int{ 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, 381, 453, 269, 0, 0, 0, - 0, 188, 189, 190, 0, 1550, 0, 0, 0, 0, + 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, 247, 473, 0, 0, 0, @@ -4370,7 +4491,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, 370, 240, 0, 0, 0, 0, 509, 0, 0, 0, - 0, 0, 0, 0, 336, 0, 305, 192, 212, 0, + 2918, 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, 380, 423, 429, 0, 0, 0, 238, 0, 427, 394, 492, 220, 267, 420, 400, 425, 407, 270, 0, 0, 426, 342, 478, 414, 489, 510, 511, 246, 374, @@ -4415,7 +4536,7 @@ var yyAct = [...]int{ 236, 292, 354, 396, 462, 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, - 196, 381, 453, 269, 0, 0, 0, 0, 188, 189, + 196, 381, 453, 269, 0, 87, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, @@ -4430,7 +4551,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, 370, 240, 0, - 0, 0, 0, 509, 0, 0, 0, 2916, 0, 0, + 0, 0, 0, 509, 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, 380, 423, 429, 0, 0, 0, 238, 0, 427, 394, 492, 220, 267, 420, 400, 425, 407, 270, 0, 0, 426, 342, @@ -4469,14 +4590,14 @@ var yyAct = [...]int{ 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 384, 0, 0, + 1863, 0, 0, 0, 0, 0, 0, 384, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, 0, 442, 237, 347, 344, 476, 265, 256, 252, 236, 292, 354, 396, 462, 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, 381, 453, - 269, 0, 87, 0, 0, 188, 189, 190, 0, 0, + 269, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, 247, @@ -4529,7 +4650,7 @@ var yyAct = [...]int{ 424, 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, 469, - 470, 291, 468, 0, 0, 0, 0, 1865, 0, 0, + 470, 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, 0, 442, 237, 347, 344, @@ -4537,7 +4658,7 @@ var yyAct = [...]int{ 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, 381, 453, 269, 0, 0, - 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, + 0, 0, 188, 189, 190, 0, 1372, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, 247, 473, 0, 0, @@ -4598,7 +4719,7 @@ var yyAct = [...]int{ 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, 381, 453, 269, 0, 0, 0, 0, 188, - 189, 190, 0, 1372, 0, 0, 0, 0, 0, 0, + 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, 247, 473, 0, 0, 0, 0, 0, @@ -4606,7 +4727,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4666,7 +4787,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1227, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4697,7 +4818,7 @@ var yyAct = [...]int{ 0, 0, 547, 353, 441, 491, 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, 335, 235, 201, 359, 367, 471, 0, 191, - 208, 339, 0, 416, 271, 525, 503, 499, 0, 210, + 208, 339, 1648, 416, 271, 525, 503, 499, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, @@ -4712,7 +4833,7 @@ var yyAct = [...]int{ 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 384, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 384, 0, 1518, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, 0, 442, 237, 347, 344, 476, 265, 256, 252, 236, 292, 354, 396, 462, @@ -4757,7 +4878,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 547, 353, 441, 491, 308, 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, 318, 319, 324, 325, 329, 335, - 235, 201, 359, 367, 471, 0, 191, 208, 339, 1648, + 235, 201, 359, 367, 471, 0, 191, 208, 339, 0, 416, 271, 525, 503, 499, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4773,7 +4894,7 @@ var yyAct = [...]int{ 402, 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 384, 0, 1518, 0, 0, 0, 0, 0, + 0, 0, 384, 0, 1516, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, 0, 442, 237, 347, 344, 476, 265, 256, 252, 236, 292, 354, 396, 462, 390, 0, 341, @@ -4834,7 +4955,7 @@ var yyAct = [...]int{ 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, - 0, 1516, 0, 0, 0, 0, 0, 0, 253, 0, + 0, 1514, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, 0, 442, 237, 347, 344, 476, 265, 256, 252, 236, 292, 354, 396, 462, 390, 0, 341, 0, 0, 452, @@ -4894,7 +5015,7 @@ var yyAct = [...]int{ 299, 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 384, 0, 1514, 0, + 0, 0, 0, 0, 0, 0, 384, 0, 1512, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, 0, 442, 237, 347, 344, 476, 265, 256, 252, 236, 292, 354, 396, @@ -4955,7 +5076,7 @@ var yyAct = [...]int{ 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 384, 0, 1512, 0, 0, 0, 0, + 0, 0, 0, 384, 0, 1510, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, 0, 442, 237, 347, 344, 476, 265, 256, 252, 236, 292, 354, 396, 462, 390, 0, @@ -5016,7 +5137,7 @@ var yyAct = [...]int{ 254, 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 384, 0, 1510, 0, 0, 0, 0, 0, 0, 253, + 384, 0, 1506, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, 0, 442, 237, 347, 344, 476, 265, 256, 252, 236, 292, 354, 396, 462, 390, 0, 341, 0, 0, @@ -5076,7 +5197,7 @@ var yyAct = [...]int{ 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 384, 0, 1506, + 0, 0, 0, 0, 0, 0, 0, 384, 0, 1504, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, 0, 442, 237, 347, 344, 476, 265, 256, 252, 236, 292, 354, @@ -5137,7 +5258,7 @@ var yyAct = [...]int{ 368, 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 384, 0, 1504, 0, 0, 0, + 0, 0, 0, 0, 384, 0, 1502, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, 0, 442, 237, 347, 344, 476, 265, 256, 252, 236, 292, 354, 396, 462, 390, @@ -5198,13 +5319,13 @@ var yyAct = [...]int{ 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 384, 0, 1502, 0, 0, 0, 0, 0, 0, + 0, 384, 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, 0, 442, 237, 347, 344, 476, 265, 256, 252, 236, 292, 354, 396, 462, 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, - 300, 196, 381, 453, 269, 0, 0, 0, 0, 188, + 300, 196, 381, 453, 269, 0, 1477, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, @@ -5259,13 +5380,13 @@ var yyAct = [...]int{ 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, 0, - 0, 0, 0, 0, 0, 0, 0, 253, 0, 0, + 0, 0, 0, 0, 0, 0, 1377, 253, 0, 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, 0, 442, 237, 347, 344, 476, 265, 256, 252, 236, 292, 354, 396, 462, 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, 381, - 453, 269, 0, 1477, 0, 0, 188, 189, 190, 0, + 453, 269, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, @@ -5320,13 +5441,13 @@ var yyAct = [...]int{ 463, 464, 465, 467, 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, 0, 0, 0, 0, - 0, 0, 0, 1377, 253, 0, 0, 0, 0, 337, + 0, 0, 0, 0, 253, 0, 0, 0, 0, 337, 250, 0, 0, 398, 0, 197, 0, 442, 237, 347, 344, 476, 265, 256, 252, 236, 292, 354, 396, 462, 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, 381, 453, 269, 0, - 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, + 0, 0, 0, 188, 189, 190, 0, 1173, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, 247, 473, 0, @@ -5387,7 +5508,7 @@ var yyAct = [...]int{ 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, 381, 453, 269, 0, 0, 0, 0, - 188, 189, 190, 0, 1173, 0, 0, 0, 0, 0, + 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, 247, 473, 0, 0, 0, 0, @@ -5428,7 +5549,7 @@ var yyAct = [...]int{ 367, 471, 0, 191, 208, 339, 0, 416, 271, 525, 503, 499, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, + 0, 0, 0, 787, 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, 357, 358, 377, 378, 379, 382, 385, 386, 389, 391, 392, 395, @@ -5461,7 +5582,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 279, 0, 370, 240, 0, 0, + 0, 0, 604, 0, 279, 0, 370, 240, 0, 0, 0, 0, 509, 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, 380, 423, 429, 0, 0, 0, 238, 0, 427, 394, 492, 220, 267, @@ -5489,13 +5610,13 @@ var yyAct = [...]int{ 191, 208, 339, 0, 416, 271, 525, 503, 499, 0, 210, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 787, 0, 0, 0, 193, 194, 200, 209, 219, 223, + 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, 357, 358, 377, 378, 379, 382, 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, 437, 438, 443, 444, 445, 446, 447, 455, 456, - 460, 479, 481, 493, 507, 512, 436, 281, 488, 513, + 460, 479, 481, 493, 507, 512, 436, 603, 488, 513, 0, 348, 0, 0, 350, 264, 284, 295, 0, 502, 457, 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, 228, @@ -5521,8 +5642,8 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 604, - 0, 279, 0, 370, 240, 0, 0, 0, 0, 509, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 279, 0, 370, 240, 0, 0, 550, 0, 509, 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, 380, 423, 429, 0, 0, 0, 238, 0, 427, 394, 492, 220, 267, 420, 400, 425, @@ -5556,7 +5677,7 @@ var yyAct = [...]int{ 389, 391, 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, 437, 438, 443, 444, 445, 446, 447, 455, 456, 460, 479, 481, - 493, 507, 512, 436, 603, 488, 513, 0, 348, 0, + 493, 507, 512, 436, 281, 488, 513, 0, 348, 0, 0, 350, 264, 284, 295, 0, 502, 457, 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, @@ -5583,7 +5704,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, - 370, 240, 0, 0, 550, 0, 509, 0, 0, 0, + 370, 240, 0, 0, 0, 0, 509, 0, 0, 0, 0, 0, 0, 0, 336, 0, 305, 192, 212, 0, 0, 380, 423, 429, 0, 0, 0, 238, 0, 427, 394, 492, 220, 267, 420, 400, 425, 407, 270, 0, @@ -5613,7 +5734,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, 294, 297, 303, 349, 355, 356, 357, - 358, 377, 378, 379, 382, 385, 386, 389, 391, 392, + 358, 3016, 378, 379, 382, 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, 437, 438, 443, 444, 445, 446, 447, 455, 456, 460, 479, 481, 493, 507, 512, @@ -5673,7 +5794,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, 293, - 294, 297, 303, 349, 355, 356, 357, 358, 3014, 378, + 294, 297, 303, 349, 355, 356, 357, 358, 377, 378, 379, 382, 385, 386, 389, 391, 392, 395, 399, 403, 404, 405, 406, 408, 410, 417, 422, 430, 431, 432, 433, 434, 437, 438, 443, 444, 445, 446, 447, 455, @@ -5690,7 +5811,7 @@ var yyAct = [...]int{ 396, 462, 390, 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, 381, 453, - 269, 0, 0, 0, 0, 188, 189, 190, 0, 0, + 269, 0, 0, 0, 0, 188, 2635, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, 247, @@ -5751,7 +5872,7 @@ var yyAct = [...]int{ 0, 341, 0, 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, 300, 196, 381, 453, 269, 0, 0, - 0, 0, 188, 2633, 190, 0, 0, 0, 0, 0, + 0, 0, 188, 2143, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, 248, 296, 255, 247, 473, 0, 0, @@ -5803,90 +5924,29 @@ var yyAct = [...]int{ 264, 284, 295, 0, 502, 457, 214, 424, 273, 202, 233, 217, 242, 257, 260, 299, 360, 368, 397, 402, 278, 254, 231, 421, 228, 440, 463, 464, 465, 467, - 364, 249, 401, 0, 365, 346, 469, 470, 291, 468, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 384, 0, 0, 0, 0, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 337, 250, 0, 0, 398, - 0, 197, 0, 442, 237, 347, 344, 476, 265, 256, - 252, 236, 292, 354, 396, 462, 390, 0, 341, 0, - 0, 452, 369, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 298, 234, - 300, 196, 381, 453, 269, 0, 0, 0, 0, 188, - 2144, 190, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 225, 0, 232, 322, 331, 330, 311, 312, - 314, 316, 321, 328, 334, 0, 0, 0, 0, 0, - 248, 296, 255, 247, 473, 0, 0, 0, 0, 0, - 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 279, 0, 370, 240, - 0, 0, 0, 0, 509, 0, 0, 0, 0, 0, - 0, 0, 336, 0, 305, 192, 212, 0, 0, 380, - 423, 429, 0, 0, 0, 238, 0, 427, 394, 492, - 220, 267, 420, 400, 425, 407, 270, 0, 0, 426, - 342, 478, 414, 489, 510, 511, 246, 374, 500, 466, - 506, 524, 213, 243, 388, 459, 495, 449, 366, 474, - 475, 304, 448, 277, 195, 340, 516, 211, 435, 229, - 218, 480, 498, 272, 418, 203, 461, 487, 226, 439, - 0, 0, 526, 205, 485, 458, 362, 301, 302, 204, - 0, 419, 251, 275, 241, 383, 482, 483, 239, 527, - 215, 505, 207, 0, 504, 376, 477, 486, 363, 352, - 206, 484, 361, 351, 307, 326, 327, 263, 286, 412, - 345, 413, 287, 372, 371, 373, 198, 496, 0, 199, - 0, 454, 497, 528, 221, 222, 224, 0, 262, 266, - 274, 276, 282, 283, 290, 338, 387, 411, 409, 415, - 0, 472, 490, 501, 508, 514, 515, 517, 518, 519, - 520, 521, 523, 522, 375, 289, 450, 306, 343, 0, - 0, 393, 428, 227, 494, 451, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 529, 530, 531, - 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, - 542, 543, 544, 545, 546, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 547, 353, 441, 491, 308, - 320, 323, 313, 332, 0, 333, 309, 310, 315, 317, - 318, 319, 324, 325, 329, 335, 235, 201, 359, 367, - 471, 0, 191, 208, 339, 0, 416, 271, 525, 503, - 499, 0, 210, 0, 245, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 193, 194, 200, 209, - 219, 223, 230, 244, 259, 261, 268, 280, 285, 288, - 293, 294, 297, 303, 349, 355, 356, 357, 358, 377, - 378, 379, 382, 385, 386, 389, 391, 392, 395, 399, - 403, 404, 405, 406, 408, 410, 417, 422, 430, 431, - 432, 433, 434, 437, 438, 443, 444, 445, 446, 447, - 455, 456, 460, 479, 481, 493, 507, 512, 436, 281, - 488, 513, 0, 348, 0, 0, 350, 264, 284, 295, - 0, 502, 457, 214, 424, 273, 202, 233, 217, 242, - 257, 260, 299, 360, 368, 397, 402, 278, 254, 231, - 421, 228, 440, 463, 464, 465, 467, 364, 249, 401, - 0, 0, 346, 469, 470, 291, + 364, 249, 401, 0, 0, 346, 469, 470, 291, } var yyPact = [...]int{ - 5145, -1000, -413, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 3097, -1000, -407, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 2017, 2135, -1000, -1000, - -1000, -1000, 2213, -1000, 803, 1724, -1000, 1994, 3407, -1000, - 42356, 427, -1000, 41142, 425, 565, 42356, -1000, 143, -1000, - 129, 42356, 137, 40535, -1000, -1000, -312, 18066, 1925, 31, - 26, 42356, -1000, -1000, -1000, -1000, 2159, 1660, -1000, 325, - -1000, -1000, -1000, -1000, -1000, -1000, 39928, -1000, -1000, -1000, - 2001, 1990, 2230, 607, 1912, -1000, 2072, 1660, -1000, 18066, - 2150, 2051, 17459, -1000, 17459, 378, -1000, -1000, 13200, -1000, - -1000, 24146, 42356, 30216, 242, -1000, 1994, -1000, -1000, -1000, - 111, -1000, 294, 1577, -1000, 1576, -1000, 365, 681, 311, - 428, 424, 310, 308, 307, 305, 303, 298, 296, 295, - 317, -1000, 658, 658, -168, -169, 3103, 364, 357, 357, - 403, 1959, 1953, -1000, 787, -1000, 658, 658, 658, 297, - 658, 658, 658, 658, 253, 232, 658, 658, 658, 658, - 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, - 658, 658, 658, 272, 1994, 218, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 2114, 2168, -1000, -1000, + -1000, -1000, 2263, -1000, 685, 1777, -1000, 2054, 3676, -1000, + 42959, 451, -1000, 41745, 449, 284, 42959, -1000, 170, -1000, + 157, 42959, 162, 41138, -1000, -1000, -277, 18669, 1994, 39, + 36, 42959, -1000, -1000, -1000, -1000, 2220, 1701, -1000, 362, + -1000, -1000, -1000, -1000, -1000, -1000, 40531, -1000, -1000, -1000, + 2060, 2059, 2268, 618, 1981, -1000, 2140, 1701, -1000, 18669, + 2196, 2128, 17455, -1000, 17455, 390, -1000, -1000, 13196, -1000, + -1000, 24749, 42959, 30819, 243, -1000, 2054, -1000, -1000, -1000, + 104, -1000, 313, 1592, -1000, 1585, -1000, 778, 827, 329, + 452, 435, 328, 327, 323, 320, 315, 314, 311, 295, + 337, -1000, 638, 638, -145, -149, 405, 381, 377, 377, + 408, 2022, 2020, -1000, 612, -1000, 638, 638, 638, 349, + 638, 638, 638, 638, 270, 269, 638, 638, 638, 638, + 638, 638, 638, 638, 638, 638, 638, 638, 638, 638, + 638, 638, 638, 487, 2054, 236, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, @@ -5922,36 +5982,36 @@ var yyPact = [...]int{ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 42356, 163, - 42356, -1000, 518, 42356, 771, 771, 53, 771, 771, 771, - 771, 170, 580, 17, -1000, 166, 209, 123, 216, 788, - 184, -1000, -1000, 214, 788, 1235, -1000, 620, 124, -1000, - 771, 771, -1000, 10752, 225, 10752, 10752, -1000, 1960, -1000, - -1000, -1000, -1000, 1248, -1000, 396, -1000, -1000, -1000, -1000, - 42356, 39321, 319, 688, -1000, -1000, -1000, 45, -1000, -1000, - 1386, 1268, 18066, 898, -1000, 1557, 572, -1000, -1000, -1000, - -1000, -1000, 450, 18673, 18673, 18673, 18673, -1000, -1000, 1586, - 1586, 1586, 1586, 18673, 1586, 18673, 1586, 1586, 1586, 1586, - 18066, 1586, 1586, 1586, -1000, 1586, 1586, 1586, 1586, 1586, - 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, - 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, - 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, - 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, - 517, 1586, 1586, 1586, 1586, 1586, -1000, -1000, -1000, -1000, - 1586, 1586, 1586, 1586, 1586, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 21713, -1000, 15638, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 42959, 208, + 42959, -1000, 541, 42959, 781, 781, 87, 781, 781, 781, + 781, 153, 577, 34, -1000, 149, 248, 128, 232, 856, + 220, -1000, -1000, 225, 856, 1205, -1000, 625, 134, -1000, + 781, 781, -1000, 10748, 189, 10748, 10748, -1000, 2031, -1000, + -1000, -1000, -1000, 1217, -1000, 404, -1000, -1000, -1000, -1000, + 42959, 39924, 392, 667, -1000, -1000, -1000, 120, -1000, -1000, + 1337, 1088, 18669, 1036, -1000, 1556, 588, -1000, -1000, -1000, + -1000, -1000, 504, 19276, 19276, 19276, 19276, -1000, -1000, 1616, + 1616, 1616, 1616, 19276, 1616, 19276, 1616, 1616, 1616, 1616, + 18669, 1616, 1616, 1616, -1000, 1616, 1616, 1616, 1616, 1616, + 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, + 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, + 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, + 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, + 538, 1616, 1616, 1616, 1616, 1616, -1000, -1000, -1000, -1000, + 1616, 1616, 1616, 1616, 1616, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 22316, -1000, 15634, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 42356, -1000, 1586, - 162, 42356, 42356, 300, 2072, 1660, -1000, 2159, 2139, 325, - -1000, 2062, 1345, 1392, 1252, 1660, 1560, 42356, -1000, 1602, - -1000, -1000, -1000, 1830, 1147, 1233, -1000, -1000, -1000, -1000, - 1308, 18066, -1000, -1000, 2189, -1000, 21106, 493, 886, 2187, - 38714, -1000, 378, 378, 1574, 12588, 11, -1000, -1000, -1000, - 687, 27788, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1960, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 42959, -1000, 1616, + 190, 42959, 42959, 333, 2140, 1701, -1000, 2220, 2230, 362, + -1000, 2348, 1670, 1366, 1221, 1701, 1542, 42959, -1000, 1668, + -1000, -1000, -1000, 1902, 1079, 1186, -1000, -1000, -1000, -1000, + 1544, 18669, -1000, -1000, 2242, -1000, 21709, 536, 809, 2241, + 39317, -1000, 390, 390, 1566, 12584, -8, -1000, -1000, -1000, + 665, 28391, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 2031, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, @@ -5965,263 +6025,263 @@ var yyPact = [...]int{ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 1558, 42356, -1000, -1000, 4233, 1170, - -1000, 1723, -1000, 1543, -1000, 1641, 18066, 1730, 420, 1170, - 413, 408, 406, -1000, -86, -1000, -1000, -1000, -1000, -1000, - -1000, 658, 658, 658, -1000, 314, 2146, 3407, 6141, -1000, - -1000, -1000, 38107, 1721, 1170, -1000, 1716, -1000, 778, 462, - 513, 513, 1170, -1000, -1000, 42356, 1170, 758, 757, 1170, - 1170, 42356, 42356, -1000, 37500, -1000, 36893, 36286, 1088, 42356, - 35679, 35072, 34465, 33858, 33251, -1000, 2003, -1000, 1828, -1000, - -1000, -1000, 42356, 1170, 1170, 42356, 42356, 301, -1000, -1000, - 42356, 1170, -1000, -1000, 1079, 1071, 1059, 658, 658, 1045, - 1229, 1227, 1225, 658, 658, 1042, 1223, 29002, 1222, 244, - 1041, 1029, 1025, 1108, 1221, 192, 1220, 1005, 1003, 1023, - 42356, 1712, 42356, -1000, 204, 635, 374, 682, 1994, 1922, - 1568, 385, 419, 1170, 362, 362, 42356, -1000, 11364, -1000, - -1000, 1216, 18066, -1000, 825, 788, 788, -1000, -1000, -1000, - -1000, -1000, -1000, 771, 42356, 825, -1000, -1000, -1000, 788, - 771, 42356, 771, 771, 771, 771, 788, 788, 788, 771, - 42356, 42356, 42356, 42356, 42356, 42356, 42356, 42356, 42356, 10752, - 620, 771, -319, -1000, 1215, -1000, 1825, -1000, -1000, -1000, - -1000, -1000, -1000, 10752, 10752, -1000, -1000, -1000, -1000, 132, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -80, - 1566, 32644, -1000, -320, -323, -325, -326, -1000, -1000, -1000, - -328, -331, -1000, -1000, -1000, 18066, 18066, 18066, 18066, -197, - -1000, 770, 18673, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 914, 709, 18673, 18673, 18673, 18673, 18673, 18673, 18673, 18673, - 18673, 18673, 18673, 18673, 18673, 18673, 18673, 25967, 6806, 6806, - 572, 572, 572, 572, -1000, 17459, 18066, 18066, 572, -1000, - 1170, 32037, 17459, 17459, 18066, 1969, 697, 1268, 42356, -1000, - 1252, -1000, -1000, -1000, 1007, -1000, 1969, 818, 18066, 18066, - 1969, 42356, 42356, 93, 18066, 18066, 18066, 18066, 18066, 18066, - 14419, 18066, 18066, 18066, 18066, 18066, 18066, 18066, 18066, 18066, - 18066, 18066, 18066, 18066, 18066, 18066, 18066, 18066, 18066, 18066, - 18066, 18066, 18066, 18066, 18066, 18066, 18066, 13812, 11364, 17459, - 17459, 17459, 17459, 17459, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 488, 1547, 1361, 1482, - -1000, 1562, -1000, -160, 23539, 18066, 1214, 2184, 1752, 42356, - -1000, -1000, -1000, 2072, -1000, 2072, 1547, 1920, 1835, 17459, - -1000, -1000, 1920, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 1362, -1000, 42356, 1560, 2048, 42356, 1844, 1209, 304, - -1000, 18066, 18066, 1552, -1000, 1131, 42356, -1000, -197, -1000, - 31430, -1000, -1000, 10140, -1000, 42356, 292, 42356, -1000, 22932, - 30823, 11976, 11, -1000, 11976, 1473, -1000, -21, -28, 15026, - 570, -1000, -1000, -1000, 3103, 19887, 1336, 570, 69, -1000, - -1000, -1000, 1641, -1000, 1641, 1641, 1641, 1641, 304, 304, - 304, 304, -1000, -1000, -1000, -1000, -1000, 1711, 1710, -1000, - 1641, 1641, 1641, 1641, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 1613, 42959, -1000, -1000, 5643, 1112, + -1000, 1765, -1000, 1607, -1000, 1729, 18669, 1784, 446, 1112, + 425, 420, 415, -1000, -72, -1000, -1000, -1000, -1000, -1000, + -1000, 638, 638, 638, -1000, 331, 2193, 3676, 4977, -1000, + -1000, -1000, 38710, 1764, 1112, -1000, 1761, -1000, 747, 486, + 521, 521, 1112, -1000, -1000, 42959, 1112, 742, 737, 1112, + 1112, 42959, 42959, -1000, 38103, -1000, 37496, 36889, 1023, 42959, + 36282, 35675, 35068, 34461, 33854, -1000, 1851, -1000, 1817, -1000, + -1000, -1000, 42959, 1112, 1112, 42959, 42959, 335, -1000, -1000, + 42959, 1112, -1000, -1000, 1021, 1015, 1013, 638, 638, 1011, + 1180, 1179, 1176, 638, 638, 1010, 1173, 29605, 1171, 246, + 1007, 1006, 1004, 1032, 1167, 192, 1162, 957, 944, 1002, + 42959, 1760, 42959, -1000, 227, 666, 389, 661, 2054, 1983, + 1554, 399, 431, 1112, 385, 385, 42959, -1000, 11360, -1000, + -1000, 1156, 18669, -1000, 858, 856, 856, -1000, -1000, -1000, + -1000, -1000, -1000, 781, 42959, 858, -1000, -1000, -1000, 856, + 781, 42959, 781, 781, 781, 781, 856, 856, 856, 781, + 42959, 42959, 42959, 42959, 42959, 42959, 42959, 42959, 42959, 10748, + 625, 781, -284, -1000, 1154, -1000, 1821, -1000, -1000, -1000, + -1000, -1000, -1000, 10748, 10748, -1000, -1000, -1000, -1000, 161, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -34, + 1548, 33247, -1000, -285, -286, -287, -288, -1000, -1000, -1000, + -299, -334, -1000, -1000, -1000, 18669, 18669, 18669, 18669, -172, + -1000, 888, 19276, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 936, 911, 19276, 19276, 19276, 19276, 19276, 19276, 19276, 19276, + 19276, 19276, 19276, 19276, 19276, 19276, 19276, 26570, 6730, 6730, + 588, 588, 588, 588, -1000, 17455, 18669, 18669, 588, -1000, + 1112, 32640, 17455, 17455, 18669, 2058, 682, 1088, 42959, -1000, + 1221, -1000, -1000, -1000, 999, -1000, 2058, 2058, 2058, 2058, + 2058, 42959, 42959, 525, 18669, 18669, 18669, 18669, 18669, 18669, + 14415, 18669, 18669, 18669, 18669, 18669, 18669, 18669, 18669, 18669, + 18669, 18669, 18669, 18669, 18669, 18669, 18669, 18669, 18669, 18669, + 18669, 18669, 18669, 18669, 18669, 18669, 18669, 13808, 11360, 17455, + 17455, 17455, 17455, 17455, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 533, 1352, 1301, 1425, + -1000, 1546, -1000, -115, 24142, 18669, 1143, 2240, 1807, 42959, + -1000, -1000, -1000, 2140, -1000, 2140, 1352, 2329, 1915, 17455, + -1000, -1000, 2329, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 1345, -1000, 42959, 1542, 2112, 42959, 1897, 1136, 388, + -1000, 18669, 18669, 1525, -1000, 1398, 42959, -1000, -172, -1000, + 32033, -1000, -1000, 10136, -1000, 42959, 289, 42959, -1000, 23535, + 31426, 11972, -8, -1000, 11972, 1458, -1000, 7, -4, 15022, + 587, -1000, -1000, -1000, 405, 20490, 1291, 587, 84, -1000, + -1000, -1000, 1729, -1000, 1729, 1729, 1729, 1729, 388, 388, + 388, 388, -1000, -1000, -1000, -1000, -1000, 1759, 1758, -1000, + 1729, 1729, 1729, 1729, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 1708, 1708, 1708, 1654, 1654, 351, -1000, 18066, 302, - 30216, 2036, 1019, 1217, 204, 363, 1742, 1170, 1170, 1170, - 363, -1000, 1136, 1095, 1062, -1000, -404, 1530, -1000, -1000, - 2142, -1000, -1000, 447, 807, 802, 756, 42356, 177, 279, - -1000, 326, -1000, 30216, 1170, 748, 513, 1170, -1000, 1170, - -1000, -1000, -1000, -1000, -1000, 1170, -1000, -1000, 1523, -1000, - 1535, 857, 799, 838, 789, 1523, -1000, -1000, -135, 1523, - -1000, 1523, -1000, 1523, -1000, 1523, -1000, 1523, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 631, 159, -235, - 42356, 177, 25967, -1000, 382, -1000, -1000, -1000, 25967, 25967, - -1000, -1000, -1000, -1000, 1188, 1185, -1000, -1000, -1000, -1000, + -1000, 1754, 1754, 1754, 1730, 1730, 364, -1000, 18669, 282, + 30819, 2071, 991, 1500, 227, 393, 1803, 1112, 1112, 1112, + 393, -1000, 1346, 1338, 1238, -1000, -399, 1513, -1000, -1000, + 2183, -1000, -1000, 890, 768, 765, 635, 42959, 196, 287, + -1000, 363, -1000, 30819, 1112, 732, 521, 1112, -1000, 1112, + -1000, -1000, -1000, -1000, -1000, 1112, -1000, -1000, 1511, -1000, + 1460, 849, 763, 811, 760, 1511, -1000, -1000, -124, 1511, + -1000, 1511, -1000, 1511, -1000, 1511, -1000, 1511, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 693, 195, -221, + 42959, 196, 26570, -1000, 398, -1000, -1000, -1000, 26570, 26570, + -1000, -1000, -1000, -1000, 1123, 1122, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -391, 42356, -1000, 199, 662, - 266, 269, 249, 42356, 164, 2056, 2055, 2053, 190, 230, - 42356, 42356, 362, 1810, 42356, 2015, 42356, -1000, -1000, -1000, - -1000, -1000, 1268, 42356, -1000, -1000, 771, 771, -1000, -1000, - 42356, 771, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 771, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 42356, -1000, -1000, -1000, - -1000, 42356, -1000, -1000, -1000, -1000, -1000, 172, -25, 306, - -1000, -1000, -1000, -1000, -1000, 2069, -1000, 1268, 724, 719, - -1000, 1586, -1000, -1000, 942, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 914, 18673, 18673, 18673, 1570, 418, 1687, 904, - 804, 843, 843, 711, 711, 578, 578, 578, 578, 578, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1181, -1000, - 1498, -1000, 1915, 1262, 1252, -1000, 1498, 1498, 1230, 17459, - -1000, -1000, 704, -1000, 18066, 1252, -1000, -1000, 1252, 1252, - 18066, 1252, 18066, -1000, 1217, 1217, 18066, 1521, 1509, 2183, + -1000, -1000, -1000, -1000, -1000, -386, 42959, -1000, 214, 656, + 274, 290, 271, 42959, 273, 2121, 2119, 2116, 254, 257, + 42959, 42959, 385, 1859, 42959, 2082, 42959, -1000, -1000, -1000, + -1000, -1000, 1088, 42959, -1000, -1000, 781, 781, -1000, -1000, + 42959, 781, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 781, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 42959, -1000, -1000, -1000, + -1000, 42959, -1000, -1000, -1000, -1000, -1000, 156, 5, 326, + -1000, -1000, -1000, -1000, -1000, 2133, -1000, 1088, 758, 714, + -1000, 1616, -1000, -1000, 784, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 936, 19276, 19276, 19276, 1567, 380, 1600, 1633, + 1582, 802, 802, 915, 915, 592, 592, 592, 592, 592, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1121, -1000, + 1535, -1000, 1132, 1553, 1221, -1000, 1535, 1535, 1379, 17455, + -1000, -1000, 702, -1000, 18669, 1221, -1000, -1000, 1221, 1221, + 18669, 18062, 18669, 18669, 18669, 1506, 1503, 2239, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1099, + 1500, 1500, 1500, 1500, 1500, 18669, 1230, -1000, -1000, -1000, + 2205, 2201, 1221, 1337, 1221, 1491, -1000, 2146, 1500, 2131, + 2123, 2083, 1693, 1993, 1965, 1952, 1500, 1500, 1500, 1273, + 1922, 1898, 1894, 1890, 1886, 1877, 1855, 1809, 1805, 1500, + 1221, 17455, 17455, 1466, 1616, 522, -1000, 1535, 1221, 1221, + 1535, 1535, 11360, 1221, -1000, 42959, -1000, -278, -1000, -32, + 567, 1616, -1000, 29605, 1221, -1000, 5516, -1000, 44173, -1000, + -1000, -1000, -1000, -1000, 27784, 1756, 2329, -1000, -1000, 1616, + 1599, -1000, -1000, 388, 58, 27177, 575, 575, 105, 1088, + 1088, 18669, -1000, -1000, -1000, -1000, -1000, -1000, 510, 2208, + 345, 1616, -1000, 1406, 1977, -1000, -1000, -1000, 2108, 21102, + -1000, 1616, 1616, 42959, 1696, 1694, -1000, 499, -1000, 1458, + -8, 45, -1000, -1000, -1000, -1000, 1088, -1000, 1168, 294, + 336, -1000, 366, -1000, -1000, -1000, -1000, 2008, 59, -1000, + -1000, -1000, 210, 388, -1000, -1000, -1000, -1000, -1000, -1000, + 1120, 1120, -1000, -1000, -1000, -1000, -1000, 982, -1000, -1000, + -1000, 978, -1000, -1000, 1749, 1843, 282, -1000, -1000, 638, + 1114, -1000, -1000, 2012, 638, 638, 42959, -1000, -1000, 1289, + 2071, 214, 42959, 698, 1858, -1000, 1803, 1803, 1803, 42959, + -1000, -1000, -1000, -1000, -1000, -1000, -388, 74, 348, -1000, + -1000, -1000, 3925, 42959, 1576, -1000, 191, -1000, 1275, -1000, + 42959, -1000, 1569, 1748, 1112, 1112, -1000, -1000, -1000, 42959, + 1616, -1000, -1000, -1000, -1000, 414, 2053, 276, -1000, -1000, + -192, -1000, -1000, 196, 191, 587, 1112, -1000, -1000, -1000, + -1000, -1000, -389, 1540, 410, 199, 297, 42959, 42959, 42959, + 42959, 42959, 463, -1000, -1000, -1000, -1000, 177, -1000, -1000, + 177, -1000, -1000, -1000, -1000, 242, 397, -1000, 42959, 42959, + 534, -1000, -1000, -1000, 856, -1000, -1000, 856, -1000, -1000, + -1000, -1000, -1000, 2050, 42959, -21, -351, -1000, -346, 18669, + -1000, -1000, -1000, -1000, 1407, 375, 1600, 19276, 19276, 17455, + -117, 1259, 1259, 26570, -1000, -1000, -1000, 18669, 18669, 1390, + 672, -1000, 18669, 981, -1000, -1000, -1000, 1425, 1221, 1425, + -1000, 1425, 1425, 1425, 18669, 18669, 18669, 1221, 278, -1000, + -1000, -1000, -1000, -1000, 2238, -1000, 18669, 18669, 18669, -1000, + -1000, 18669, 18669, -1000, 18669, 18669, 19883, 1221, 19883, 18669, + 18669, 19883, -1000, -1000, -1000, -1000, 19883, 18669, 18669, 18669, + 18669, 18669, 18669, 18669, 18669, 18669, -1000, -1000, 1535, 1535, + 17455, 11360, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 567, -1000, 521, 521, 521, 42959, -1000, -1000, + -1000, -1000, -1000, -1000, 1455, 2145, -1000, 1929, 1927, 2235, + 2208, -1000, 23535, 2329, -1000, -1000, 42959, -269, -1000, 1971, + 2030, 575, 575, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 9524, 2140, 18669, 1856, 42959, 1616, -1000, 22928, 42959, 42959, + 23535, 23535, 23535, 23535, 23535, -1000, 1880, 1873, -1000, 1896, + 1887, 1998, 42959, -1000, 1518, 1221, 2230, 21102, 362, 18669, + 25356, 1317, 23535, -1000, -1000, 23535, 42959, 8912, -1000, -1000, + -28, -22, -1000, -1000, -1000, -1000, 405, -1000, -1000, 354, + 2099, 1999, -1000, -1000, -1000, -1000, -1000, 1473, -1000, 1462, + 1451, 1441, 195, -1000, 1776, 2029, 638, 638, -1000, 977, + -1000, 1112, 1103, 1100, -1000, -1000, -1000, 406, -1000, 2081, + 42959, 1852, 1849, 1841, -1000, -397, 976, 1744, 1741, 18669, + 1740, 2181, 1382, 42959, -1000, -1000, 42959, -1000, 230, -1000, + 282, 42959, -1000, -1000, -1000, 287, 42959, -1000, 6499, -1000, + -1000, -1000, 191, -1000, -1000, -1000, -1000, -1000, -1000, 42959, + 217, -1000, 1738, 1135, -1000, -1000, 1794, -1000, -1000, -1000, + -1000, 159, 256, 175, 1087, 175, -1000, 42959, 531, 1843, + 42959, -1000, -1000, -1000, 781, 781, -1000, -1000, 2026, -1000, + 1112, 1500, 19276, 19276, -1000, 588, -1000, 1616, 1221, 1729, + 1729, -1000, 1729, 1730, -1000, 1729, 147, 1729, 137, 1729, + -1000, -1000, 1221, 1221, 1248, 1226, -80, -1000, 1088, 18669, + -1000, -1000, -1000, -1000, -1000, -1000, 1780, 1775, 1500, -1000, + 1726, 1725, 18669, 1500, 1500, 1500, -1000, 1088, 1693, 1771, + 1361, -1000, -1000, -1000, -1000, 1448, 1500, 1736, -267, 1221, + 1433, 1433, 1433, 1433, 1433, 1425, 1425, 1425, 1425, -1000, + -1000, 1221, -1000, -1000, 2132, 2132, 2132, 1399, 43566, 42959, + -1000, -1000, -1000, -1000, 2208, 2204, 1408, -1000, -1000, 58, + 413, -1000, 1941, 2030, -1000, 2180, 1955, 2177, -1000, -1000, + -1000, -1000, -1000, 1088, -1000, 2067, 1429, -1000, 652, 1323, + -1000, -1000, 16848, 1404, 1921, 476, 1399, 1581, 1977, 1827, + 1839, 2353, -1000, -1000, -1000, -1000, 1871, -1000, 1870, -1000, + -1000, 1668, -1000, -1000, 1301, 1221, 1703, 289, 23535, 1343, + 1343, -1000, 467, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 793, 6322, 2256, -1000, 1080, -1000, 1119, 197, 969, -1000, + -1000, 638, 638, -1000, 729, 724, -1000, 42959, 1724, -1000, + 388, 1076, 388, 956, -1000, 939, -1000, -1000, -1000, -1000, + 1786, 1842, -1000, -1000, -1000, -1000, 42959, -1000, -1000, 42959, + 42959, 42959, 1717, 2175, -1000, 18669, 1690, 639, 1669, 42959, + 42959, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 395, 638, -364, 255, 249, 638, 638, 638, + -398, -1000, -1000, 1393, 1386, -1000, -139, -1000, 18669, -1000, + -1000, -1000, 952, 952, -1000, 1668, -1000, -1000, -1000, 1267, + -1000, -1000, -126, 42959, 42959, 42959, 42959, -1000, 961, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 1880, 1217, 1217, 1217, 1217, 1217, 18066, 1112, -1000, - -1000, -1000, 2240, 2145, 1252, 1386, 1252, 1491, -1000, 2118, - 1217, 2080, 2057, 1957, 1254, 1951, 1933, 1909, 1217, 1217, - 1217, 1165, 1904, 1893, 1888, 1872, 1809, 1800, 1795, 1786, - 1741, 1217, 1252, 17459, 17459, 1475, 1586, 482, -1000, 1498, - 1252, 1252, 1498, 1498, 11364, 1252, -1000, 42356, -1000, -313, - -1000, -49, 535, 1586, -1000, 29002, 1252, -1000, 5778, -1000, - 43570, -1000, -1000, -1000, -1000, -1000, 27181, 1614, 1920, -1000, - -1000, 1586, 1518, -1000, -1000, 304, 54, 26574, 563, 563, - 83, 1268, 1268, 18066, -1000, -1000, -1000, -1000, -1000, -1000, - 468, 2156, 323, 1586, -1000, 1513, 2167, -1000, -1000, -1000, - 2045, 20499, -1000, 1586, 1586, 42356, 1714, 1573, -1000, 460, - -1000, 1473, 11, -34, -1000, -1000, -1000, -1000, 1268, -1000, - 1040, 293, 313, -1000, 346, -1000, -1000, -1000, -1000, 1930, - 64, -1000, -1000, -1000, 176, 304, -1000, -1000, -1000, -1000, - -1000, -1000, 1178, 1178, -1000, -1000, -1000, -1000, -1000, 1013, - -1000, -1000, -1000, 1010, -1000, -1000, 1704, 1782, 302, -1000, - -1000, 658, 1175, -1000, -1000, 1942, 658, 658, 42356, -1000, - -1000, 1328, 2036, 199, 42356, 707, 1807, -1000, 1742, 1742, - 1742, 42356, -1000, -1000, -1000, -1000, -1000, -1000, -393, 68, - 327, -1000, -1000, -1000, 3809, 42356, 1511, -1000, 174, -1000, - 1296, -1000, 42356, -1000, 1506, 1707, 1170, 1170, -1000, -1000, - -1000, 42356, 1586, -1000, -1000, -1000, -1000, 416, 1983, 237, - -1000, -1000, -214, -1000, -1000, 177, 174, 570, 1170, -1000, - -1000, -1000, -1000, -1000, -394, 1502, 398, 180, 265, 42356, - 42356, 42356, 42356, 42356, 459, -1000, -1000, -1000, -1000, 152, - -1000, -1000, 152, -1000, -1000, -1000, -1000, 221, 381, -1000, - 42356, 42356, 532, -1000, -1000, -1000, 788, -1000, -1000, 788, - -1000, -1000, -1000, -1000, -1000, 1972, 42356, -32, -354, -1000, - -349, 18066, -1000, -1000, -1000, -1000, 1517, 411, 1687, 18673, - 18673, 17459, -126, 766, 766, 25967, -1000, -1000, -1000, 18066, - 18066, 1539, 691, -1000, 18066, 880, -1000, -1000, -1000, 1217, - -1000, 1217, -1000, -1000, 1217, 18066, 18066, 18066, 1252, 262, - -1000, -1000, -1000, -1000, -1000, 2164, -1000, 18066, 18066, 18066, - -1000, -1000, 18066, 18066, -1000, 18066, 18066, 19280, 1252, 19280, - 18066, 18066, 19280, -1000, -1000, -1000, -1000, 19280, 18066, 18066, - 18066, 18066, 18066, 18066, 18066, 18066, 18066, -1000, -1000, 1498, - 1498, 17459, 11364, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 535, -1000, 513, 513, 513, 42356, -1000, - -1000, -1000, -1000, -1000, -1000, 1447, 2083, -1000, 1863, 1860, - 2162, 2156, -1000, 22932, 1920, -1000, -1000, 42356, -303, -1000, - 1886, 2084, 563, 563, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 9528, 2072, 18066, 1799, 42356, 1586, -1000, 22325, 42356, - 42356, 22932, 22932, 22932, 22932, 22932, -1000, 1833, 1832, -1000, - 1822, 1819, 1989, 42356, -1000, 1495, 1252, 2139, 20499, 325, - 18066, 24753, 1355, 22932, -1000, -1000, 22932, 42356, 8916, -1000, - -1000, -43, -40, -1000, -1000, -1000, -1000, 3103, -1000, -1000, - 1303, 2043, 1923, -1000, -1000, -1000, -1000, -1000, 1493, -1000, - 1488, 1443, 1486, 159, -1000, 1719, 1966, 658, 658, -1000, - 1004, -1000, 1170, 1172, 1171, -1000, -1000, -1000, 384, -1000, - 2010, 42356, 1798, 1796, 1793, -1000, -402, 990, 1683, 1563, - 18066, 1681, 2133, 1402, 42356, -1000, -1000, 42356, -1000, 173, - -1000, 302, 42356, -1000, -1000, -1000, 279, 42356, -1000, 6764, - -1000, -1000, -1000, 174, -1000, -1000, -1000, -1000, -1000, -1000, - 42356, 188, -1000, 1658, 1247, -1000, -1000, 1735, -1000, -1000, - -1000, -1000, 179, 261, 150, 1150, 150, -1000, 42356, 524, - 1782, 42356, -1000, -1000, -1000, 771, 771, -1000, -1000, 1964, - -1000, 1170, 1217, 18673, 18673, -1000, 572, -1000, 1586, 1252, - 1641, 1641, -1000, 1641, 1654, -1000, 1641, 128, 1641, 125, - 1641, -1000, -1000, 1252, 1252, 1118, 1099, -94, -1000, 1268, - 18066, -1000, -1000, -1000, 1667, 1564, 1217, -1000, 1626, 1624, - 18066, 1217, 1217, 1217, -1000, 1268, 1254, 1399, 1383, -1000, - -1000, -1000, -1000, 1439, 1217, 1382, -301, 1252, 1484, 1484, - 1484, 1484, 1484, 1482, 1482, 1482, 1482, -1000, -1000, 1252, - -1000, -1000, 2066, 2066, 2066, 1464, 42963, 42356, -1000, -1000, - -1000, -1000, 2156, 2154, 1435, -1000, -1000, 54, 397, -1000, - 1902, 2084, -1000, 2122, 1881, 2116, -1000, -1000, -1000, -1000, - -1000, 1268, -1000, 1998, 1381, -1000, 661, 1375, -1000, -1000, - 16852, 1468, 1852, 453, 1464, 1430, 2167, 1760, 1792, 2271, - -1000, -1000, -1000, -1000, 1829, -1000, 1805, -1000, -1000, 1602, - -1000, -1000, 1361, 1252, 1302, 292, 22932, 1394, 1394, -1000, - 445, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 868, 6342, - 2229, -1000, 1130, -1000, 1022, 198, 989, -1000, -1000, 658, - 658, -1000, 739, 738, -1000, 42356, 1618, -1000, 304, 1129, - 304, 987, -1000, 985, -1000, -1000, -1000, -1000, 1748, 1836, - -1000, -1000, -1000, -1000, 42356, -1000, -1000, 42356, 42356, 42356, - 1612, 2115, -1000, 18066, 1609, 660, 1373, 42356, 42356, -1000, + -1000, 588, 19276, -1000, -1000, 388, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 18669, -1000, 18669, -1000, 2140, + 1070, 1088, 18669, 18669, -1000, 917, 889, 1500, -1000, -1000, + -1000, 1221, 19883, -1000, 19883, -1000, 18669, 221, 1259, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 383, 658, -372, 226, 224, 658, 658, 658, -403, -1000, - -1000, 1455, 1437, -1000, -156, -1000, 18066, -1000, -1000, -1000, - 979, 979, -1000, 1602, -1000, -1000, -1000, 1284, -1000, -1000, - -138, 42356, 42356, 42356, 42356, -1000, 929, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 572, - 18673, -1000, -1000, 304, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 18066, -1000, 18066, -1000, 2072, 1121, 1268, - 18066, 18066, -1000, 984, 944, 1217, -1000, -1000, -1000, 1252, - 19280, -1000, 19280, -1000, 18066, 210, 766, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1586, 1905, - 1586, 1586, 24753, -1000, -1000, 2154, 2120, 2102, 1875, 1874, - 1874, 1902, -1000, 2094, 2092, -1000, 1120, 2089, 1117, 737, - -1000, 42356, 18066, 1586, -1000, 309, 42356, 1586, 42356, -1000, - 2085, -1000, -1000, 18066, 1607, -1000, 18066, -1000, -1000, -1000, - -1000, -1000, -1000, 6806, 2156, 1394, -1000, -1000, 600, -1000, - 18066, -1000, -1000, -1000, 6379, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 1111, 1105, -1000, -1000, 1604, 18066, -1000, - -1000, -1000, 1282, 1276, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 1602, -1000, -1000, -1000, -1000, 279, -401, 1338, - 42356, 934, -1000, 1420, 1402, 271, 1586, 1103, 658, 658, - 658, 922, 903, 29002, 1417, -1000, 42356, 322, -1000, 279, - -1000, -175, -176, 1217, -1000, -1000, 2034, -1000, -1000, 11364, - -1000, -1000, 1601, 1740, -1000, -1000, -1000, 223, -1000, 1217, - 1217, 1252, -1000, 1217, 1217, 1274, 1272, -1000, -1000, 1383, - -1000, 1073, -1000, 210, 1252, 1788, -1000, -1000, 6806, -1000, - 25360, -1000, 2079, 2075, 29609, 29609, 535, 2120, -1000, 18066, - 18066, 1873, 909, -1000, -1000, -1000, -1000, 1101, 1098, -1000, - 1096, -1000, 2205, -1000, 1268, -1000, 1586, -1000, 433, 1375, - -1000, 2072, 1268, 42356, 1268, 55, 2085, -1000, 1217, -1000, - 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, - 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, - 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, 1586, - 1586, 1586, 1586, 1586, 1586, 1586, 1586, -1000, -1000, 42356, - 1212, -1000, -1000, 2027, 1365, 67, -1000, 1347, -1000, -1000, - 473, -1000, 18066, -1000, 29002, 1064, 1024, -1000, -1000, -1000, - -1000, -403, -1000, -1000, -1000, -1000, -1000, -1000, 325, 1400, - -1000, 651, 42356, 42356, 1252, 270, -142, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 18066, -1000, 1252, 1785, - -1000, -248, -1000, 1342, -1000, -1000, -1000, -1000, -1000, 1342, - 1342, -1000, -1000, 1268, 1386, -1000, 872, -1000, -1000, -1000, - -1000, -1000, 42356, 1375, 42356, -1000, 1324, 1252, 1586, 2072, - -1000, 1300, -1000, 325, -1000, 1583, 1563, -1000, -1000, -1000, - 16245, -1000, -1000, -1000, -1000, -1000, 168, -136, 11364, 8304, - 1271, -1000, -1000, 1840, -132, -154, 1254, -1000, -342, -1000, - -1000, 28395, -1000, -1000, -1000, -1000, -1000, 1368, -1000, -1000, - 24753, 41749, -1000, -124, 236, -136, 18066, 1579, 1252, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -17, -1000, -1000, - -1000, -1000, -1000, 1735, -1000, 1838, -1000, 1252, -1000, -1000, - -1000, 1258, -1000, 1434, -255, 1769, -1000, -101, -1000, -1000, - -1000, 820, 900, -1000, -1000, -1000, -1000, -1000, -1000, 1159, - 42356, -1000, 345, -1000, -1000, -138, -139, -1000, -1000, 41749, - -247, 570, 6806, -1000, 1768, 1758, 2179, -1000, -1000, -1000, - -1000, -1000, -1000, -410, 1256, 201, -1000, -151, -1000, -1000, - 2007, 55, -1000, 2198, -1000, 2168, 603, 603, -1000, 897, - -410, -1000, -159, -268, -1000, -1000, -1000, -1000, -1000, 337, - 965, -1000, -1000, -1000, -1000, 6806, -1000, -1000, -1000, 205, - 205, -1000, -1000, + 1616, 1987, 1616, 1616, 25356, -1000, -1000, 2204, 2200, 2173, + 1939, 1966, 1966, 1941, -1000, 2172, 2171, -1000, 1069, 2158, + 1066, 721, -1000, 42959, 18669, 1616, -1000, 357, 42959, 1616, + 42959, -1000, 2169, -1000, -1000, 18669, 1688, -1000, 18669, -1000, + -1000, -1000, -1000, -1000, -1000, 6730, 2208, 1343, -1000, -1000, + 606, -1000, 18669, -1000, -1000, -1000, 4281, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 1063, 1060, -1000, -1000, 1686, + 18669, -1000, -1000, -1000, 1251, 1245, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 1668, -1000, -1000, -1000, -1000, 287, + -396, 1650, 42959, 839, -1000, 1384, 1382, 279, 1616, 1059, + 638, 638, 638, 824, 823, 29605, 1374, -1000, 42959, 355, + -1000, 287, -1000, -151, -152, 1500, -1000, -1000, 2096, -1000, + -1000, 11360, -1000, -1000, 1619, 1801, -1000, -1000, -1000, 1184, + -1000, 1500, 1500, 1221, -1000, 1500, 1500, 1236, 1223, -1000, + -1000, 1361, -1000, 1107, -1000, 221, 1221, 1836, -1000, -1000, + 6730, -1000, 25963, -1000, 2155, 2153, 30212, 30212, 567, 2200, + -1000, 18669, 18669, 1925, 910, -1000, -1000, -1000, -1000, 1047, + 1046, -1000, 1041, -1000, 2254, -1000, 1088, -1000, 1616, -1000, + 450, 1323, -1000, 2140, 1088, 42959, 1088, 55, 2169, -1000, + 1500, -1000, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, + 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, + 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, + 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, 1616, -1000, + -1000, 42959, 1471, -1000, -1000, 2092, 1331, 72, -1000, 1329, + -1000, -1000, 474, -1000, 18669, -1000, 29605, 1035, 1028, -1000, + -1000, -1000, -1000, -398, -1000, -1000, -1000, -1000, -1000, -1000, + 362, 1369, -1000, 636, 42959, 42959, 1221, 283, -131, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 18669, -1000, + 1221, 1830, -1000, -246, -1000, 1326, -1000, -1000, -1000, -1000, + -1000, 1326, 1326, -1000, -1000, 1088, 1337, -1000, 901, -1000, + -1000, -1000, -1000, -1000, 42959, 1323, 42959, -1000, 1310, 1221, + 1616, 2140, -1000, 1303, -1000, 362, -1000, 1598, 1741, -1000, + -1000, -1000, 16241, -1000, -1000, -1000, -1000, -1000, 173, -125, + 11360, 8300, 1250, -1000, -1000, 1888, -122, -136, 1693, -1000, + -339, -1000, -1000, 28998, -1000, -1000, -1000, -1000, -1000, 1319, + -1000, -1000, 25356, 42352, -1000, -113, 285, -125, 18669, 1595, + 1221, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 17, + -1000, -1000, -1000, -1000, -1000, 1794, -1000, 1831, -1000, 1221, + -1000, -1000, -1000, 1232, -1000, 2941, -226, 1819, -1000, -64, + -1000, -1000, -1000, 792, 983, -1000, -1000, -1000, -1000, -1000, + -1000, 1463, 42959, -1000, 356, -1000, -1000, -126, -128, -1000, + -1000, 42352, -215, 587, 6730, -1000, 1815, 1785, 2223, -1000, + -1000, -1000, -1000, -1000, -1000, -404, 1228, 222, -1000, -132, + -1000, -1000, 2080, 55, -1000, 2251, -1000, 2247, 613, 613, + -1000, 819, -404, -1000, -137, -227, -1000, -1000, -1000, -1000, + -1000, 365, 943, -1000, -1000, -1000, -1000, 6730, -1000, -1000, + -1000, 241, 241, -1000, -1000, } var yyPgo = [...]int{ - 0, 2551, 2550, 26, 4, 36, 35, 2549, 88, 103, - 191, 25, 198, 120, 2548, 2547, 2544, 2543, 2542, 2541, - 2535, 228, 226, 224, 2534, 2532, 2531, 2528, 2527, 2526, - 2524, 2523, 2522, 2521, 220, 169, 190, 2517, 2516, 2515, - 125, 184, 91, 96, 187, 2514, 2513, 81, 2512, 2511, - 2506, 178, 177, 176, 737, 2504, 174, 134, 45, 2503, - 2502, 2501, 2500, 2499, 2498, 2497, 2495, 2493, 2492, 2491, - 2489, 2488, 2485, 2484, 2483, 2482, 205, 2481, 2480, 17, - 2479, 85, 2476, 2471, 2470, 2469, 133, 2468, 2466, 2465, - 37, 2464, 2463, 2462, 2461, 2460, 2459, 2458, 147, 2456, - 2455, 2454, 170, 197, 2453, 2452, 179, 116, 122, 2451, - 2450, 124, 193, 2449, 128, 2448, 2447, 2446, 161, 2445, - 5034, 2444, 76, 70, 2443, 67, 105, 66, 59, 16, - 3, 2442, 2441, 75, 93, 2440, 108, 68, 2439, 104, - 111, 2438, 2437, 13, 8, 2436, 5, 7, 2, 80, - 2435, 2434, 129, 2432, 2428, 2427, 99, 2425, 2422, 3128, - 2420, 100, 143, 115, 83, 2419, 44, 71, 2418, 2416, - 2415, 2414, 2413, 53, 2412, 2411, 2410, 152, 73, 175, - 42, 38, 58, 150, 2409, 30, 90, 2408, 145, 146, - 2407, 52, 31, 55, 2406, 40, 142, 127, 39, 102, - 151, 2405, 2404, 74, 79, 2403, 2399, 2396, 2394, 2393, - 2391, 78, 2390, 49, 2388, 195, 2387, 20, 2386, 46, - 43, 2385, 77, 135, 69, 32, 2384, 181, 2382, 61, - 164, 136, 167, 2381, 2380, 2373, 2371, 188, 277, 2370, - 2367, 84, 172, 149, 160, 101, 2364, 282, 2362, 2361, - 98, 1561, 2251, 28, 165, 2359, 2358, 3742, 155, 41, - 18, 2357, 194, 2356, 2355, 2354, 196, 171, 119, 988, - 63, 2353, 2352, 14, 2351, 2345, 2342, 2336, 2331, 2330, - 92, 34, 33, 29, 192, 82, 10, 106, 159, 86, - 2326, 2324, 2323, 131, 110, 2321, 163, 162, 132, 180, - 2320, 173, 153, 139, 2319, 545, 27, 2314, 2311, 2310, - 2306, 107, 2305, 2304, 2301, 2296, 158, 148, 130, 94, - 2290, 97, 126, 156, 154, 48, 2285, 47, 2280, 2277, - 23, 185, 24, 2276, 12, 65, 60, 22, 121, 118, - 2271, 0, 2268, 15, 182, 276, 157, 2266, 2264, 6, - 9, 11, 2263, 2262, 2261, 2260, 144, 2258, 2255, 2253, - 2250, 21, 50, 19, 1, 123, 95, 2248, 2247, 2246, - 5425, 2890, 138, 2245, 199, + 0, 2627, 2617, 37, 2, 34, 33, 2615, 26, 100, + 195, 32, 207, 117, 2614, 2613, 2612, 2611, 2610, 2608, + 2601, 232, 226, 222, 2598, 2596, 2593, 2592, 2591, 2590, + 2589, 2588, 2587, 2583, 224, 178, 191, 2579, 2578, 2577, + 142, 190, 96, 98, 192, 2576, 2574, 85, 2573, 2572, + 2571, 201, 200, 198, 778, 2570, 203, 135, 42, 2563, + 2561, 2560, 2559, 2558, 2557, 2556, 2555, 2554, 2553, 2552, + 2551, 2550, 2548, 2546, 2545, 2544, 319, 2542, 2540, 17, + 2537, 88, 2533, 2532, 2531, 2530, 141, 2529, 2528, 2527, + 38, 2526, 2525, 2522, 2519, 2517, 2516, 2515, 156, 2514, + 2513, 2509, 185, 204, 2508, 2506, 179, 119, 130, 2503, + 2502, 125, 193, 2500, 136, 2499, 2498, 2497, 163, 2496, + 5044, 2495, 75, 69, 2494, 65, 81, 67, 68, 21, + 10, 2492, 2491, 71, 93, 2489, 115, 90, 2487, 110, + 118, 2484, 2483, 12, 5, 2482, 4, 7, 1, 76, + 2481, 2478, 126, 2476, 2475, 2473, 97, 2472, 2471, 74, + 2470, 107, 149, 108, 83, 2469, 46, 63, 2467, 2466, + 2465, 2464, 2463, 47, 2462, 2461, 2460, 155, 131, 177, + 40, 82, 58, 145, 2458, 59, 94, 2457, 153, 152, + 2456, 60, 41, 55, 2455, 52, 147, 134, 39, 116, + 150, 2454, 2453, 50, 80, 2452, 2451, 2450, 2449, 2448, + 2447, 79, 2446, 73, 2445, 194, 2444, 14, 2442, 53, + 45, 2440, 78, 133, 77, 36, 2438, 173, 2437, 48, + 174, 143, 169, 2435, 2432, 2431, 2428, 189, 303, 2427, + 2424, 170, 181, 159, 164, 105, 2417, 311, 2414, 2410, + 102, 1562, 2195, 18, 172, 2409, 2408, 3737, 148, 35, + 25, 2407, 137, 2406, 2404, 2403, 205, 176, 122, 987, + 61, 2402, 2401, 15, 2390, 2389, 2388, 2387, 2383, 2381, + 103, 31, 30, 29, 202, 89, 9, 111, 171, 84, + 2380, 2379, 2376, 140, 101, 2375, 168, 167, 158, 183, + 2374, 186, 157, 160, 2370, 86, 28, 2368, 2363, 2361, + 2360, 99, 2359, 2358, 2357, 2356, 166, 162, 139, 91, + 2355, 95, 132, 165, 161, 44, 2354, 43, 2349, 2347, + 23, 184, 24, 2345, 13, 66, 70, 22, 121, 120, + 2342, 0, 2336, 16, 182, 306, 175, 2331, 2329, 6, + 8, 11, 2328, 2327, 2322, 2317, 151, 2315, 2306, 2305, + 2302, 20, 49, 19, 3, 123, 92, 2297, 2287, 2283, + 5419, 2868, 144, 2281, 196, } -//line sql.y:7160 +//line sql.y:7162 type yySymType struct { union any empty struct{} @@ -7098,8 +7158,8 @@ var yyR2 = [...]int{ 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 4, 5, 5, 6, 4, 4, 8, 6, 8, 6, 8, 5, - 4, 2, 2, 1, 2, 2, 2, 5, 4, 5, - 4, 4, 5, 8, 8, 6, 5, 4, 4, 4, + 4, 2, 2, 1, 2, 2, 2, 5, 5, 5, + 5, 5, 5, 8, 8, 6, 5, 4, 4, 4, 4, 4, 7, 4, 6, 6, 6, 4, 4, 4, 7, 8, 6, 5, 6, 8, 11, 7, 8, 8, 9, 4, 4, 4, 4, 6, 6, 6, 6, 6, @@ -7353,144 +7413,144 @@ var yyChk = [...]int{ -125, -268, -252, 93, 173, -130, -129, 99, -364, -130, -106, -108, -120, -120, -341, -252, -106, -106, -120, -102, 24, 38, -187, -188, 144, -185, -371, -371, 95, 99, - -102, -367, -102, 164, -120, -120, -102, -252, -252, -95, - -94, 418, 419, 420, 421, 423, 424, 425, 428, 429, - 433, 434, 417, 435, 422, 427, 430, 431, 432, 426, - 329, -120, -120, -120, -120, -120, -120, -83, -120, 127, - 128, 129, -120, -120, -179, -178, -340, -339, -338, -120, + -102, -102, -102, -102, -102, -252, -252, -95, -94, 418, + 419, 420, 421, 423, 424, 425, 428, 429, 433, 434, + 417, 435, 422, 427, 430, 431, 432, 426, 329, -120, + -120, -120, -120, -120, -120, -83, -120, 127, 128, 129, + -120, -120, -179, -178, -340, -339, -338, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, - -120, -120, -107, 24, 38, -106, -253, -258, -250, -106, - -107, -107, -106, -106, 217, -215, -371, 87, -357, 399, - 400, 574, -260, 268, -259, 25, -179, 93, 14, -221, - 77, -252, -198, -198, 63, 64, 59, -106, -111, -371, - -35, 25, -217, -252, 62, 93, -285, -227, 356, 357, - 173, -120, -120, 87, -197, 27, 28, -159, -254, 164, - -258, -159, -222, 268, -159, -137, -139, -140, -141, -162, - -184, -370, -142, 494, 491, 14, -152, -153, -161, -257, - -230, -232, 87, 398, 400, 401, 76, 119, -120, -286, - 172, -313, -312, -311, -294, -296, -297, -298, 88, -286, - -290, 362, 361, -280, -280, -280, -280, -280, -285, -285, - -285, -285, 86, 86, -280, -280, -280, -280, -288, 86, - -288, -288, -289, 86, -289, -324, -120, -321, -320, -318, - -319, 242, 102, 567, 523, 475, 515, 557, 77, -316, - -197, 95, -371, -118, -244, 237, -322, -319, -341, -341, - -341, -244, -341, 93, -341, 93, -341, 93, -87, -58, - -1, 610, 611, 612, 87, 19, -295, -294, -57, 293, - -327, -328, 268, -323, -317, -303, 134, -302, -303, -303, - -341, 87, 29, 124, 124, 124, 124, 475, 222, 32, - -245, 514, 140, 567, 523, -294, -57, -268, 235, -268, - -268, 93, 93, -240, 606, -152, -114, 285, 148, 274, - 274, 232, 232, 287, -159, 298, 300, 299, 297, 301, - 302, 23, 23, 23, 286, 288, 290, 276, -159, -159, - -243, 76, -154, -159, 26, -257, -159, -241, -241, -159, - -241, -241, -159, -252, -98, 399, 87, 475, 22, -99, - 22, -370, 116, 117, 118, -177, -125, -126, -125, 139, - 256, 87, -371, 25, 87, 77, -371, -371, -371, 87, - 14, -106, -190, -188, 146, -120, -371, -371, -371, -120, - -371, -120, -371, -371, -120, 87, 87, 14, -272, 25, - -371, -371, -371, -371, -371, -189, -371, 14, 87, 87, - -371, -371, 87, 87, -371, 87, 87, 87, -337, 87, - 87, 87, 87, -371, -371, -371, -371, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, -371, -371, -106, - -106, -370, 217, -371, -371, -371, -371, -371, -253, -356, - 573, 400, -166, -165, -163, 74, 236, 75, -370, -259, - -371, -130, 90, -218, 90, -217, -171, -252, 95, 99, - -200, -136, -138, 14, -111, -183, 88, 87, -285, -204, - -209, -238, -252, 93, 173, -287, 173, -287, 356, 357, - -196, 217, -167, 15, -170, 32, 57, -11, -370, -370, - 32, 87, -155, -157, -156, -158, 66, 70, 72, 67, - 68, 69, 73, -263, 25, -137, -9, -8, -370, -370, - -370, -159, -152, -372, 14, 77, -372, 87, 217, -231, - -233, 402, 399, 405, -341, 93, -86, 87, -311, -298, - -201, -115, 40, -291, 363, -285, 482, -285, -293, 93, - -293, 95, 95, 88, -47, -42, -43, 33, 81, -318, - -305, 93, 39, -305, -305, -252, 88, -197, -114, -159, - 140, 76, -322, -322, -322, -257, -2, 609, 615, 134, - 86, 366, 18, -217, 87, 88, -186, 294, 88, -88, - -252, 88, 86, -303, -303, -252, -370, 232, 31, 31, - 567, 523, 514, -57, -186, -286, -341, 608, 607, 88, - 234, 292, -119, 413, -116, 93, 89, -159, -159, -159, - -159, -159, 225, 222, -365, 303, -365, 277, 235, -152, - -159, 87, -81, 251, 246, -262, -262, 33, -159, 399, - 585, 583, -120, 139, 256, -134, -126, -108, 472, -270, - 173, 330, 255, 328, 324, 344, 335, 361, 326, 362, - 323, 322, 321, -270, -268, -120, -120, -193, 147, -120, - 145, -371, -371, -371, -120, -120, -120, -371, 173, 330, - 14, -120, -120, -120, -338, -120, -120, -120, -336, -335, - -130, -185, -371, -336, -120, -120, -335, -335, -339, -339, - -339, -339, -339, -178, -178, -178, -178, -371, -371, -107, - -253, -163, -299, -299, -299, -223, 87, -234, 22, 14, - 57, 57, -136, -167, -137, -111, -252, -207, 569, -212, - 46, -210, -211, 47, -208, 48, 56, -287, -287, 164, - -198, -120, -224, 76, -225, -229, -185, -180, -182, -181, - -370, -216, -371, -252, -223, -225, -139, -140, -140, -139, - -140, 66, 66, 66, 71, 66, 71, 66, -156, -257, - -371, -371, -9, -9, -120, -260, 77, -137, -137, -161, - -257, 164, 399, 403, 404, -311, -363, 116, 140, 31, - 76, 359, 102, -361, 172, 511, 562, 567, 523, 515, - 557, -362, 238, 133, 134, 250, 25, 41, 88, 87, - 88, 87, 88, 87, -246, -245, -43, -42, -305, -305, - 95, -341, 93, 93, 234, 26, -159, 76, 76, 76, - -89, 613, 95, 86, -3, 81, -120, 86, 19, -294, - -185, -329, -281, -330, -282, -283, -5, -6, -306, -92, - 57, 102, -61, 44, 233, 593, 594, 124, -370, 606, - -321, -217, -325, -327, -159, -122, -370, -121, -123, -127, - 162, 163, -186, -159, -113, 283, 291, 86, -117, 90, - -343, 77, 274, 359, 274, -366, 304, 93, -366, -159, - -81, -47, -159, -241, -241, 33, -341, -371, -134, -126, - -370, -371, -280, -280, -280, -289, -280, 318, -280, 318, - -280, -371, -371, 87, -371, 22, -371, -97, 442, -120, - 87, 87, -371, 86, 86, -120, -371, -371, -371, -337, - 87, -371, 87, -371, 87, -271, 568, -371, -371, -371, - -371, -371, -371, -371, -371, -371, -371, -371, -164, 22, - -164, -164, -371, 90, -159, -167, -191, 16, -204, 51, - 336, -214, -213, 55, 47, -211, 19, 49, 19, 30, - -224, 87, 148, 87, -371, -371, 87, 57, 217, -371, - -167, -150, -149, 76, 77, -151, 76, -149, 66, 66, - -219, -371, -371, 87, -222, -137, -167, -167, 217, 116, - -370, -124, -133, -122, 12, 93, 93, -341, -360, 597, - 598, 31, 95, -305, -305, 134, 134, -159, 86, -285, - 93, -285, 95, 95, 31, 82, 83, 84, 31, 78, - 79, 80, -159, -159, -159, -159, -326, 86, 19, -120, - 86, 148, 88, -217, -217, 270, 158, -305, 591, 276, - 276, -305, -305, -305, -91, -90, 613, 88, -371, 87, - -292, 475, 478, -120, -128, -128, -219, 88, -334, 475, - -342, -252, -252, -252, -252, 95, 97, -125, -285, -120, - -120, -198, 93, -120, -120, 95, 95, -371, -371, -336, - -335, -120, -371, -147, -146, -148, 577, 116, 31, -270, - -370, 66, 18, 16, -370, -370, -260, -191, -192, 17, - 19, -205, 53, -203, 52, -203, -213, 19, 19, 93, - 19, 93, 134, -229, -120, -182, 57, -11, -252, -180, - -252, -193, -120, 86, -120, -130, -167, -167, -120, -173, - 467, 466, 468, 469, 470, 445, 105, 107, 106, 446, - 447, 448, 345, 346, 449, 450, 451, 108, 109, 110, - 111, 112, 113, 114, 452, 455, 453, 456, 457, 458, - 463, 464, 459, 460, 461, 462, 465, 93, 93, 86, - -120, 88, 88, -219, -325, -58, 88, -217, 95, 88, - 271, -181, -370, 93, -305, -305, -305, 95, 95, -259, - -371, 87, -252, -362, -327, 479, 479, -371, 25, -333, - -332, -253, 86, 77, -101, 158, 475, -371, -371, -371, - -371, -371, 88, 88, -371, -371, 87, -371, -146, -148, - -371, 76, -130, -220, -371, -252, 238, 19, 19, -220, - -220, -166, -192, -120, -178, -206, 54, 76, 119, 93, - 93, 93, 12, -180, 217, -198, -217, -144, 366, -193, - -371, -217, 88, 25, 88, 615, 134, 88, -181, -100, - -370, 267, -259, 93, 93, -90, -93, -11, 87, 148, - -217, -159, -371, 473, 73, 476, -120, -371, 76, 486, - 577, 87, -371, -371, -371, 76, 119, -225, -252, 88, - -371, -370, -198, 88, -202, -11, 86, -3, 267, -281, - -330, -282, -283, -5, -6, -306, -79, 475, -332, -310, - -253, 93, 95, 88, 62, 474, 477, -337, -252, 238, - -260, -145, -143, -252, 529, -353, -352, 471, -363, -359, - 116, 140, 102, -361, 567, 523, 125, 126, -79, -120, - 86, -371, -80, 282, 573, -343, 62, -371, -371, 87, - 22, -273, -60, 540, -350, -351, 76, -354, 372, 539, - 560, 116, 93, 88, -217, 243, -334, 475, -143, 536, - -286, -130, -351, 76, -350, 76, 13, 12, -4, 614, - 88, 284, 476, -59, 26, -144, -349, 251, 246, 249, - 32, -349, 95, -4, 477, 540, 245, 31, 116, -130, - -147, -146, -146, + -107, 24, 38, -106, -253, -258, -250, -106, -107, -107, + -106, -106, 217, -215, -371, 87, -357, 399, 400, 574, + -260, 268, -259, 25, -179, 93, 14, -221, 77, -252, + -198, -198, 63, 64, 59, -106, -111, -371, -35, 25, + -217, -252, 62, 93, -285, -227, 356, 357, 173, -120, + -120, 87, -197, 27, 28, -159, -254, 164, -258, -159, + -222, 268, -159, -137, -139, -140, -141, -162, -184, -370, + -142, 494, 491, 14, -152, -153, -161, -257, -230, -232, + 87, 398, 400, 401, 76, 119, -120, -286, 172, -313, + -312, -311, -294, -296, -297, -298, 88, -286, -290, 362, + 361, -280, -280, -280, -280, -280, -285, -285, -285, -285, + 86, 86, -280, -280, -280, -280, -288, 86, -288, -288, + -289, 86, -289, -324, -120, -321, -320, -318, -319, 242, + 102, 567, 523, 475, 515, 557, 77, -316, -197, 95, + -371, -118, -244, 237, -322, -319, -341, -341, -341, -244, + -341, 93, -341, 93, -341, 93, -87, -58, -1, 610, + 611, 612, 87, 19, -295, -294, -57, 293, -327, -328, + 268, -323, -317, -303, 134, -302, -303, -303, -341, 87, + 29, 124, 124, 124, 124, 475, 222, 32, -245, 514, + 140, 567, 523, -294, -57, -268, 235, -268, -268, 93, + 93, -240, 606, -152, -114, 285, 148, 274, 274, 232, + 232, 287, -159, 298, 300, 299, 297, 301, 302, 23, + 23, 23, 286, 288, 290, 276, -159, -159, -243, 76, + -154, -159, 26, -257, -159, -241, -241, -159, -241, -241, + -159, -252, -98, 399, 87, 475, 22, -99, 22, -370, + 116, 117, 118, -177, -125, -126, -125, 139, 256, 87, + -371, 25, 87, 77, -371, -371, -371, 87, 14, -106, + -190, -188, 146, -120, -371, -371, -371, -178, -367, -178, + 164, -178, -178, -178, 87, 87, 14, -272, 25, -371, + -371, -371, -371, -371, -189, -371, 14, 87, 87, -371, + -371, 87, 87, -371, 87, 87, 87, -337, 87, 87, + 87, 87, -371, -371, -371, -371, 87, 87, 87, 87, + 87, 87, 87, 87, 87, 87, -371, -371, -106, -106, + -370, 217, -371, -371, -371, -371, -371, -253, -356, 573, + 400, -166, -165, -163, 74, 236, 75, -370, -259, -371, + -130, 90, -218, 90, -217, -171, -252, 95, 99, -200, + -136, -138, 14, -111, -183, 88, 87, -285, -204, -209, + -238, -252, 93, 173, -287, 173, -287, 356, 357, -196, + 217, -167, 15, -170, 32, 57, -11, -370, -370, 32, + 87, -155, -157, -156, -158, 66, 70, 72, 67, 68, + 69, 73, -263, 25, -137, -9, -8, -370, -370, -370, + -159, -152, -372, 14, 77, -372, 87, 217, -231, -233, + 402, 399, 405, -341, 93, -86, 87, -311, -298, -201, + -115, 40, -291, 363, -285, 482, -285, -293, 93, -293, + 95, 95, 88, -47, -42, -43, 33, 81, -318, -305, + 93, 39, -305, -305, -252, 88, -197, -114, -159, 140, + 76, -322, -322, -322, -257, -2, 609, 615, 134, 86, + 366, 18, -217, 87, 88, -186, 294, 88, -88, -252, + 88, 86, -303, -303, -252, -370, 232, 31, 31, 567, + 523, 514, -57, -186, -286, -341, 608, 607, 88, 234, + 292, -119, 413, -116, 93, 89, -159, -159, -159, -159, + -159, 225, 222, -365, 303, -365, 277, 235, -152, -159, + 87, -81, 251, 246, -262, -262, 33, -159, 399, 585, + 583, -120, 139, 256, -134, -126, -108, 472, -270, 173, + 330, 255, 328, 324, 344, 335, 361, 326, 362, 323, + 322, 321, -270, -268, -120, -120, -193, 147, -120, 145, + -371, -371, -371, -371, -371, -371, -120, -120, -120, -371, + 173, 330, 14, -120, -120, -120, -338, -120, -120, -120, + -336, -335, -130, -185, -371, -336, -120, -120, -335, -335, + -339, -339, -339, -339, -339, -178, -178, -178, -178, -371, + -371, -107, -253, -163, -299, -299, -299, -223, 87, -234, + 22, 14, 57, 57, -136, -167, -137, -111, -252, -207, + 569, -212, 46, -210, -211, 47, -208, 48, 56, -287, + -287, 164, -198, -120, -224, 76, -225, -229, -185, -180, + -182, -181, -370, -216, -371, -252, -223, -225, -139, -140, + -140, -139, -140, 66, 66, 66, 71, 66, 71, 66, + -156, -257, -371, -371, -9, -9, -120, -260, 77, -137, + -137, -161, -257, 164, 399, 403, 404, -311, -363, 116, + 140, 31, 76, 359, 102, -361, 172, 511, 562, 567, + 523, 515, 557, -362, 238, 133, 134, 250, 25, 41, + 88, 87, 88, 87, 88, 87, -246, -245, -43, -42, + -305, -305, 95, -341, 93, 93, 234, 26, -159, 76, + 76, 76, -89, 613, 95, 86, -3, 81, -120, 86, + 19, -294, -185, -329, -281, -330, -282, -283, -5, -6, + -306, -92, 57, 102, -61, 44, 233, 593, 594, 124, + -370, 606, -321, -217, -325, -327, -159, -122, -370, -121, + -123, -127, 162, 163, -186, -159, -113, 283, 291, 86, + -117, 90, -343, 77, 274, 359, 274, -366, 304, 93, + -366, -159, -81, -47, -159, -241, -241, 33, -341, -371, + -134, -126, -370, -371, -280, -280, -280, -289, -280, 318, + -280, 318, -280, -371, -371, 87, -371, 22, -371, -97, + 442, -120, 87, 87, -371, 86, 86, -120, -371, -371, + -371, -337, 87, -371, 87, -371, 87, -271, 568, -371, + -371, -371, -371, -371, -371, -371, -371, -371, -371, -371, + -164, 22, -164, -164, -371, 90, -159, -167, -191, 16, + -204, 51, 336, -214, -213, 55, 47, -211, 19, 49, + 19, 30, -224, 87, 148, 87, -371, -371, 87, 57, + 217, -371, -167, -150, -149, 76, 77, -151, 76, -149, + 66, 66, -219, -371, -371, 87, -222, -137, -167, -167, + 217, 116, -370, -124, -133, -122, 12, 93, 93, -341, + -360, 597, 598, 31, 95, -305, -305, 134, 134, -159, + 86, -285, 93, -285, 95, 95, 31, 82, 83, 84, + 31, 78, 79, 80, -159, -159, -159, -159, -326, 86, + 19, -120, 86, 148, 88, -217, -217, 270, 158, -305, + 591, 276, 276, -305, -305, -305, -91, -90, 613, 88, + -371, 87, -292, 475, 478, -120, -128, -128, -219, 88, + -334, 475, -342, -252, -252, -252, -252, 95, 97, -125, + -285, -120, -120, -198, 93, -120, -120, 95, 95, -371, + -371, -336, -335, -120, -371, -147, -146, -148, 577, 116, + 31, -270, -370, 66, 18, 16, -370, -370, -260, -191, + -192, 17, 19, -205, 53, -203, 52, -203, -213, 19, + 19, 93, 19, 93, 134, -229, -120, -182, 57, -11, + -252, -180, -252, -193, -120, 86, -120, -130, -167, -167, + -120, -173, 467, 466, 468, 469, 470, 445, 105, 107, + 106, 446, 447, 448, 345, 346, 449, 450, 451, 108, + 109, 110, 111, 112, 113, 114, 452, 455, 453, 456, + 457, 458, 463, 464, 459, 460, 461, 462, 465, 93, + 93, 86, -120, 88, 88, -219, -325, -58, 88, -217, + 95, 88, 271, -181, -370, 93, -305, -305, -305, 95, + 95, -259, -371, 87, -252, -362, -327, 479, 479, -371, + 25, -333, -332, -253, 86, 77, -101, 158, 475, -371, + -371, -371, -371, -371, 88, 88, -371, -371, 87, -371, + -146, -148, -371, 76, -130, -220, -371, -252, 238, 19, + 19, -220, -220, -166, -192, -120, -178, -206, 54, 76, + 119, 93, 93, 93, 12, -180, 217, -198, -217, -144, + 366, -193, -371, -217, 88, 25, 88, 615, 134, 88, + -181, -100, -370, 267, -259, 93, 93, -90, -93, -11, + 87, 148, -217, -159, -371, 473, 73, 476, -120, -371, + 76, 486, 577, 87, -371, -371, -371, 76, 119, -225, + -252, 88, -371, -370, -198, 88, -202, -11, 86, -3, + 267, -281, -330, -282, -283, -5, -6, -306, -79, 475, + -332, -310, -253, 93, 95, 88, 62, 474, 477, -337, + -252, 238, -260, -145, -143, -252, 529, -353, -352, 471, + -363, -359, 116, 140, 102, -361, 567, 523, 125, 126, + -79, -120, 86, -371, -80, 282, 573, -343, 62, -371, + -371, 87, 22, -273, -60, 540, -350, -351, 76, -354, + 372, 539, 560, 116, 93, 88, -217, 243, -334, 475, + -143, 536, -286, -130, -351, 76, -350, 76, 13, 12, + -4, 614, 88, 284, 476, -59, 26, -144, -349, 251, + 246, 249, 32, -349, 95, -4, 477, 540, 245, 31, + 116, -130, -147, -146, -146, } var yyDef = [...]int{ @@ -7619,7 +7679,7 @@ var yyDef = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 988, 989, 990, 991, 994, 0, 0, 0, 999, 1000, 0, 0, 0, 0, 0, 837, 0, 1163, 0, 1041, - 0, 1042, 1044, 1045, 0, 1046, 837, 837, 0, 0, + 0, 1042, 1044, 1045, 0, 1046, 837, 837, 837, 837, 837, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1310, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -7666,144 +7726,144 @@ var yyDef = [...]int{ 979, 985, 1141, 1142, 1143, 1002, 281, 282, 0, 1003, 0, 862, 0, 0, 0, 1001, 0, 0, 0, 0, 838, 839, 1169, 1166, 0, 0, 1126, 1128, 0, 0, - 0, 0, 0, 861, 0, 0, 0, 0, 0, 0, - 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, - 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, - 1124, 1144, 0, 0, 0, 0, 0, 1162, 0, 1004, - 1005, 1006, 0, 0, 0, 1311, 0, 130, 131, 0, - 0, 0, 0, 0, 1098, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 848, 1172, 0, -2, 0, - 0, 0, 0, 0, 0, 0, 1277, 0, 795, 796, - 798, 0, 932, 0, 913, 0, 0, 801, 0, 842, - 0, 845, 58, 60, 854, 855, 0, 873, 851, 54, - 49, 0, 0, 890, 1231, 350, 1253, 0, 359, 359, - 356, 1193, 1194, 0, 1186, 1188, 1189, 77, 870, 866, - 0, 944, 0, 0, 927, 0, 876, 878, 879, 880, - 910, 0, 883, 0, 0, 0, 0, 0, 96, 929, - 1283, 101, 0, 0, 106, 107, 1284, 1285, 1286, 1287, - 0, 573, -2, 436, 167, 169, 170, 171, 162, -2, - 348, 346, 347, 291, 350, 350, 315, 316, 317, 318, - 319, 320, 0, 0, 308, 309, 310, 311, 302, 0, - 303, 304, 305, 0, 306, 403, 0, 1195, 366, 367, - 369, 377, 0, 372, 373, 0, 377, 377, 0, 398, - 399, 0, 1187, 1212, 0, 0, 0, 1313, 1312, 1312, - 1312, 0, 155, 156, 157, 158, 159, 160, 609, 0, - 0, 585, 607, 608, 153, 0, 0, 163, 491, 490, - 0, 641, 0, 401, 0, 0, 395, 395, 380, 381, - 531, 0, 0, 616, 617, 618, 619, 0, 0, 0, - 518, 430, 0, 519, 520, 489, 491, 361, 0, 444, - 445, 450, 451, 470, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 564, 565, 566, 567, 493, - 571, 568, 493, 572, 1209, 1210, 1211, 0, 0, 679, - 0, 0, 427, 92, 1301, 684, 745, 705, 737, 745, - 697, 704, 725, 765, 809, 0, 0, 0, 0, 817, - 0, 0, 954, 1012, 1014, 958, 0, 962, 966, 0, - 0, 0, 0, 0, 0, 0, 1008, 1032, 1033, 0, - 0, 1181, 0, 1167, 0, 0, 1040, 1129, 1130, 0, - 1048, 0, 1050, 1051, 0, 0, 0, 0, 0, 0, - 1057, 1058, 1059, 1060, 1061, 0, 1063, 0, 0, 0, - 1067, 1068, 0, 0, 1069, 0, 0, 0, 0, 0, - 0, 0, 0, 1081, 1082, 1083, 1084, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1095, 1028, 0, - 0, 847, 0, 1131, 1132, 1133, 1134, 1135, 1172, 794, - 797, 799, 886, 933, 934, 0, 0, 0, 0, 914, - 1309, 840, 841, 844, -2, 0, 0, 1174, 0, 0, - 873, 944, 874, 0, 852, 51, 889, 0, 1235, 1234, - 1247, 1260, 359, 359, 353, 354, 360, 355, 357, 358, - 1185, 0, 1190, 0, 1271, 0, 0, 1263, 0, 0, - 0, 0, 0, 0, 0, 0, 917, 0, 0, 920, - 0, 0, 0, 0, 911, 0, 0, 0, 0, 0, - 0, -2, 0, 0, 90, 91, 0, 0, 0, 104, - 105, 0, 0, 111, 362, 363, 144, 153, 438, 168, - 411, 0, 0, 287, 349, 312, 313, 314, 0, 336, - 0, 0, 0, 432, 116, 1199, 1198, 377, 377, 368, - 0, 371, 0, 0, 0, 1314, 339, 400, 0, 134, - 0, 0, 0, 0, 0, 140, 579, 0, 0, 586, - 0, 0, 0, 500, 0, 511, 512, 0, 613, -2, - 675, 365, 0, 379, 382, 899, 0, 0, 513, 0, - 516, 517, 431, 491, 522, 523, 536, 473, 474, 471, - 0, 0, 1222, 1223, 1228, 1226, 1227, 121, 557, 559, - 558, 562, 0, 0, 495, 0, 495, 555, 0, 427, - 1195, 0, 683, 428, 429, 748, 748, 804, 95, 0, - 807, 0, 0, 0, 0, 959, 963, 863, 0, 0, - 338, 338, 1149, 338, 342, 1152, 338, 1154, 338, 1157, - 338, 1160, 1161, 0, 0, 0, 0, 1164, 1039, 1170, - 0, 1047, 1049, 1052, 0, 0, 0, 1056, 0, 0, - 0, 0, 0, 0, 132, 133, 1098, 0, 0, 1100, - 1102, 1103, 1073, 1099, 0, 0, 1096, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1029, 1030, 0, - 1173, 935, 940, 940, 940, 0, 0, 0, 1296, 1297, - 1175, 1176, 944, 1177, 875, 853, 891, 1253, 0, 1246, - 0, -2, 1255, 0, 0, 0, 1261, 351, 352, 867, - 78, 945, 81, 0, 1271, 1279, 0, 1262, 1273, 1275, - 0, 0, 0, 1267, 0, 944, 877, 906, 908, 0, - 903, 918, 919, 921, 0, 923, 0, 925, 926, 888, - 882, 884, 0, 0, 0, 98, 0, 944, 944, 97, - 0, 931, 108, 109, 110, 437, 172, 177, 0, 0, - 0, 182, 0, 184, 0, 0, 0, 189, 190, 377, - 377, 412, 0, 284, 286, 0, 0, 175, 350, 0, - 350, 0, 343, 0, 413, 433, 1196, 1197, 0, 0, - 370, 374, 375, 376, 0, 1303, 136, 0, 0, 0, - 582, 0, 610, 0, 0, 0, 0, 0, 0, 164, - 492, 642, 643, 644, 645, 646, 647, 648, 649, 650, - 0, 377, 0, 0, 0, 377, 377, 377, 0, 667, - 364, 0, 0, 638, 635, 514, 0, 213, 214, 216, - 0, 0, 521, 888, 1213, 1214, 1215, 0, 1225, 1229, - 124, 0, 0, 0, 0, 569, 0, 494, 570, 680, - 681, 682, 93, 690, 696, 806, 826, 952, 960, 964, - 0, 996, 1147, 350, 1150, 1151, 1153, 1155, 1156, 1158, - 1159, 997, 998, 0, 1035, 0, 1037, 1190, 0, 1168, - 0, 0, 1055, 0, 0, 0, 1064, 1065, 1066, 0, - 0, 1072, 0, 1074, 0, 0, 0, 1085, 1086, 1087, - 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1031, 0, 0, - 0, 0, 912, -2, 62, 1177, 1179, 0, 1240, 1238, - 1238, 1248, 1249, 0, 0, 1256, 0, 0, 0, 0, - 82, 0, 0, 0, 1276, 0, 0, 0, 0, 99, - 1181, 900, 907, 0, 0, 901, 0, 902, 922, 924, - 881, -2, 885, 0, 944, 944, 88, 89, 0, 178, - 0, 180, 206, 207, 0, 183, 185, 186, 187, 193, - 194, 195, 188, 0, 0, 283, 285, 0, 0, 326, - 337, 327, 0, 0, 1200, 1201, 1202, 1203, 1204, 1205, - 1206, 1207, 888, 137, 138, 139, 574, 0, 584, 0, - 0, 0, 577, 0, 503, 0, 0, 0, 377, 377, - 377, 0, 0, 0, 0, 652, 0, 0, 615, 0, - 623, 0, 0, 0, 217, 218, 0, 1224, 556, 0, - 122, 123, 0, 0, 561, 496, 497, 1136, 1148, 0, - 0, 0, 1165, 0, 0, 0, 0, 1062, 1070, 0, - 1101, 0, 1077, 0, 0, 0, 604, 605, 0, 1097, - 0, 941, 0, 0, 0, 0, 932, 1179, 80, 0, - 0, 1243, 0, 1236, 1239, 1237, 1250, 0, 0, 1257, - 0, 1259, 0, 1280, 1281, 1274, 0, 1266, 1269, 1265, - 1268, 1190, 904, 0, 909, 0, 1181, 87, 0, 181, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 191, 192, 0, - 0, 341, 344, 0, 0, 0, 575, 0, 587, 578, - 0, 665, 0, 669, 0, 0, 0, 672, 673, 674, - 651, 0, 655, 405, 639, 636, 637, 515, 0, 125, - 126, 0, 0, 0, 0, 0, 0, 1034, 1036, 1038, - 1053, 1054, 1145, 1146, 1071, 1075, 0, 1078, 0, 0, - 1079, 0, 606, 0, 937, 894, 895, 942, 943, 0, - 0, 887, 79, 1180, 1178, 1232, 0, 1241, 1242, 1251, - 1252, 1258, 0, 1264, 0, 85, 0, 0, 0, 1190, - 179, 0, 198, 0, 583, 0, 586, 576, 663, 664, - 0, 676, 668, 670, 671, 653, -2, 1216, 0, 0, - 0, 563, 995, 0, 0, 0, 1098, 1080, 0, 602, - 603, 0, 936, 938, 939, 1244, 1245, 1272, 1270, 905, - 912, 0, 86, 418, 411, 1216, 0, 0, 0, 656, - 657, 658, 659, 660, 661, 662, 553, 1218, 127, 128, - 484, 485, 486, 121, 1137, 0, 1140, 0, 896, 897, - 588, 0, 590, 0, -2, 406, 419, 0, 173, 199, - 200, 0, 0, 203, 204, 205, 196, 197, 117, 0, - 0, 677, 0, 1219, 1220, 124, 1138, 1076, 589, 0, - 0, 361, 0, 599, 407, 408, 0, 414, 415, 416, - 417, 201, 202, 611, 0, 0, 560, 0, 591, 592, - 600, 0, 409, 0, 410, 0, 0, 0, 580, 0, - 611, 1217, 0, 0, 601, 597, 420, 422, 423, 0, - 0, 421, 612, 581, 1139, 0, 424, 425, 426, 593, - 594, 595, 596, + 0, 0, 0, 0, 0, 0, 0, 0, 1104, 1105, + 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, + 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1144, + 0, 0, 0, 0, 0, 1162, 0, 1004, 1005, 1006, + 0, 0, 0, 1311, 0, 130, 131, 0, 0, 0, + 0, 0, 1098, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 848, 1172, 0, -2, 0, 0, 0, + 0, 0, 0, 0, 1277, 0, 795, 796, 798, 0, + 932, 0, 913, 0, 0, 801, 0, 842, 0, 845, + 58, 60, 854, 855, 0, 873, 851, 54, 49, 0, + 0, 890, 1231, 350, 1253, 0, 359, 359, 356, 1193, + 1194, 0, 1186, 1188, 1189, 77, 870, 866, 0, 944, + 0, 0, 927, 0, 876, 878, 879, 880, 910, 0, + 883, 0, 0, 0, 0, 0, 96, 929, 1283, 101, + 0, 0, 106, 107, 1284, 1285, 1286, 1287, 0, 573, + -2, 436, 167, 169, 170, 171, 162, -2, 348, 346, + 347, 291, 350, 350, 315, 316, 317, 318, 319, 320, + 0, 0, 308, 309, 310, 311, 302, 0, 303, 304, + 305, 0, 306, 403, 0, 1195, 366, 367, 369, 377, + 0, 372, 373, 0, 377, 377, 0, 398, 399, 0, + 1187, 1212, 0, 0, 0, 1313, 1312, 1312, 1312, 0, + 155, 156, 157, 158, 159, 160, 609, 0, 0, 585, + 607, 608, 153, 0, 0, 163, 491, 490, 0, 641, + 0, 401, 0, 0, 395, 395, 380, 381, 531, 0, + 0, 616, 617, 618, 619, 0, 0, 0, 518, 430, + 0, 519, 520, 489, 491, 361, 0, 444, 445, 450, + 451, 470, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 564, 565, 566, 567, 493, 571, 568, + 493, 572, 1209, 1210, 1211, 0, 0, 679, 0, 0, + 427, 92, 1301, 684, 745, 705, 737, 745, 697, 704, + 725, 765, 809, 0, 0, 0, 0, 817, 0, 0, + 954, 1012, 1014, 958, 0, 962, 966, 0, 0, 0, + 0, 0, 0, 0, 1008, 1032, 1033, 0, 0, 1181, + 0, 1167, 0, 0, 1040, 1129, 1130, 0, 0, 0, + 861, 0, 0, 0, 0, 0, 0, 0, 0, 1057, + 1058, 1059, 1060, 1061, 0, 1063, 0, 0, 0, 1067, + 1068, 0, 0, 1069, 0, 0, 0, 0, 0, 0, + 0, 0, 1081, 1082, 1083, 1084, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1095, 1028, 0, 0, + 847, 0, 1131, 1132, 1133, 1134, 1135, 1172, 794, 797, + 799, 886, 933, 934, 0, 0, 0, 0, 914, 1309, + 840, 841, 844, -2, 0, 0, 1174, 0, 0, 873, + 944, 874, 0, 852, 51, 889, 0, 1235, 1234, 1247, + 1260, 359, 359, 353, 354, 360, 355, 357, 358, 1185, + 0, 1190, 0, 1271, 0, 0, 1263, 0, 0, 0, + 0, 0, 0, 0, 0, 917, 0, 0, 920, 0, + 0, 0, 0, 911, 0, 0, 0, 0, 0, 0, + -2, 0, 0, 90, 91, 0, 0, 0, 104, 105, + 0, 0, 111, 362, 363, 144, 153, 438, 168, 411, + 0, 0, 287, 349, 312, 313, 314, 0, 336, 0, + 0, 0, 432, 116, 1199, 1198, 377, 377, 368, 0, + 371, 0, 0, 0, 1314, 339, 400, 0, 134, 0, + 0, 0, 0, 0, 140, 579, 0, 0, 586, 0, + 0, 0, 500, 0, 511, 512, 0, 613, -2, 675, + 365, 0, 379, 382, 899, 0, 0, 513, 0, 516, + 517, 431, 491, 522, 523, 536, 473, 474, 471, 0, + 0, 1222, 1223, 1228, 1226, 1227, 121, 557, 559, 558, + 562, 0, 0, 495, 0, 495, 555, 0, 427, 1195, + 0, 683, 428, 429, 748, 748, 804, 95, 0, 807, + 0, 0, 0, 0, 959, 963, 863, 0, 0, 338, + 338, 1149, 338, 342, 1152, 338, 1154, 338, 1157, 338, + 1160, 1161, 0, 0, 0, 0, 1164, 1039, 1170, 0, + 1047, 1048, 1049, 1050, 1051, 1052, 0, 0, 0, 1056, + 0, 0, 0, 0, 0, 0, 132, 133, 1098, 0, + 0, 1100, 1102, 1103, 1073, 1099, 0, 0, 1096, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1029, + 1030, 0, 1173, 935, 940, 940, 940, 0, 0, 0, + 1296, 1297, 1175, 1176, 944, 1177, 875, 853, 891, 1253, + 0, 1246, 0, -2, 1255, 0, 0, 0, 1261, 351, + 352, 867, 78, 945, 81, 0, 1271, 1279, 0, 1262, + 1273, 1275, 0, 0, 0, 1267, 0, 944, 877, 906, + 908, 0, 903, 918, 919, 921, 0, 923, 0, 925, + 926, 888, 882, 884, 0, 0, 0, 98, 0, 944, + 944, 97, 0, 931, 108, 109, 110, 437, 172, 177, + 0, 0, 0, 182, 0, 184, 0, 0, 0, 189, + 190, 377, 377, 412, 0, 284, 286, 0, 0, 175, + 350, 0, 350, 0, 343, 0, 413, 433, 1196, 1197, + 0, 0, 370, 374, 375, 376, 0, 1303, 136, 0, + 0, 0, 582, 0, 610, 0, 0, 0, 0, 0, + 0, 164, 492, 642, 643, 644, 645, 646, 647, 648, + 649, 650, 0, 377, 0, 0, 0, 377, 377, 377, + 0, 667, 364, 0, 0, 638, 635, 514, 0, 213, + 214, 216, 0, 0, 521, 888, 1213, 1214, 1215, 0, + 1225, 1229, 124, 0, 0, 0, 0, 569, 0, 494, + 570, 680, 681, 682, 93, 690, 696, 806, 826, 952, + 960, 964, 0, 996, 1147, 350, 1150, 1151, 1153, 1155, + 1156, 1158, 1159, 997, 998, 0, 1035, 0, 1037, 1190, + 0, 1168, 0, 0, 1055, 0, 0, 0, 1064, 1065, + 1066, 0, 0, 1072, 0, 1074, 0, 0, 0, 1085, + 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1031, + 0, 0, 0, 0, 912, -2, 62, 1177, 1179, 0, + 1240, 1238, 1238, 1248, 1249, 0, 0, 1256, 0, 0, + 0, 0, 82, 0, 0, 0, 1276, 0, 0, 0, + 0, 99, 1181, 900, 907, 0, 0, 901, 0, 902, + 922, 924, 881, -2, 885, 0, 944, 944, 88, 89, + 0, 178, 0, 180, 206, 207, 0, 183, 185, 186, + 187, 193, 194, 195, 188, 0, 0, 283, 285, 0, + 0, 326, 337, 327, 0, 0, 1200, 1201, 1202, 1203, + 1204, 1205, 1206, 1207, 888, 137, 138, 139, 574, 0, + 584, 0, 0, 0, 577, 0, 503, 0, 0, 0, + 377, 377, 377, 0, 0, 0, 0, 652, 0, 0, + 615, 0, 623, 0, 0, 0, 217, 218, 0, 1224, + 556, 0, 122, 123, 0, 0, 561, 496, 497, 1136, + 1148, 0, 0, 0, 1165, 0, 0, 0, 0, 1062, + 1070, 0, 1101, 0, 1077, 0, 0, 0, 604, 605, + 0, 1097, 0, 941, 0, 0, 0, 0, 932, 1179, + 80, 0, 0, 1243, 0, 1236, 1239, 1237, 1250, 0, + 0, 1257, 0, 1259, 0, 1280, 1281, 1274, 0, 1266, + 1269, 1265, 1268, 1190, 904, 0, 909, 0, 1181, 87, + 0, 181, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, + 192, 0, 0, 341, 344, 0, 0, 0, 575, 0, + 587, 578, 0, 665, 0, 669, 0, 0, 0, 672, + 673, 674, 651, 0, 655, 405, 639, 636, 637, 515, + 0, 125, 126, 0, 0, 0, 0, 0, 0, 1034, + 1036, 1038, 1053, 1054, 1145, 1146, 1071, 1075, 0, 1078, + 0, 0, 1079, 0, 606, 0, 937, 894, 895, 942, + 943, 0, 0, 887, 79, 1180, 1178, 1232, 0, 1241, + 1242, 1251, 1252, 1258, 0, 1264, 0, 85, 0, 0, + 0, 1190, 179, 0, 198, 0, 583, 0, 586, 576, + 663, 664, 0, 676, 668, 670, 671, 653, -2, 1216, + 0, 0, 0, 563, 995, 0, 0, 0, 1098, 1080, + 0, 602, 603, 0, 936, 938, 939, 1244, 1245, 1272, + 1270, 905, 912, 0, 86, 418, 411, 1216, 0, 0, + 0, 656, 657, 658, 659, 660, 661, 662, 553, 1218, + 127, 128, 484, 485, 486, 121, 1137, 0, 1140, 0, + 896, 897, 588, 0, 590, 0, -2, 406, 419, 0, + 173, 199, 200, 0, 0, 203, 204, 205, 196, 197, + 117, 0, 0, 677, 0, 1219, 1220, 124, 1138, 1076, + 589, 0, 0, 361, 0, 599, 407, 408, 0, 414, + 415, 416, 417, 201, 202, 611, 0, 0, 560, 0, + 591, 592, 600, 0, 409, 0, 410, 0, 0, 0, + 580, 0, 611, 1217, 0, 0, 601, 597, 420, 422, + 423, 0, 0, 421, 612, 581, 1139, 0, 424, 425, + 426, 593, 594, 595, 596, } var yyTok1 = [...]int{ @@ -15948,15 +16008,15 @@ yydefault: var yyLOCAL Expr //line sql.y:5379 { - yyLOCAL = &Avg{Arg: yyDollar[4].exprUnion(), Distinct: yyDollar[3].booleanUnion()} + yyLOCAL = &Avg{Args: yyDollar[4].exprsUnion(), Distinct: yyDollar[3].booleanUnion()} } yyVAL.union = yyLOCAL case 1048: - yyDollar = yyS[yypt-4 : yypt+1] + yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr //line sql.y:5383 { - yyLOCAL = &CountStar{Star: yyDollar[3].starExprUnion()} + yyLOCAL = &CountStar{Star: yyDollar[4].starExprUnion(), Distinct: yyDollar[3].booleanUnion()} } yyVAL.union = yyLOCAL case 1049: @@ -15964,23 +16024,23 @@ yydefault: var yyLOCAL Expr //line sql.y:5387 { - yyLOCAL = &Count{Arg: yyDollar[4].exprUnion(), Distinct: yyDollar[3].booleanUnion()} + yyLOCAL = &Count{Args: yyDollar[4].exprsUnion(), Distinct: yyDollar[3].booleanUnion()} } yyVAL.union = yyLOCAL case 1050: - yyDollar = yyS[yypt-4 : yypt+1] + yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr //line sql.y:5391 { - yyLOCAL = &Max{Arg: yyDollar[3].exprUnion()} + yyLOCAL = &Max{Args: yyDollar[4].exprsUnion(), Distinct: yyDollar[3].booleanUnion()} } yyVAL.union = yyLOCAL case 1051: - yyDollar = yyS[yypt-4 : yypt+1] + yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr //line sql.y:5395 { - yyLOCAL = &Min{Arg: yyDollar[3].exprUnion()} + yyLOCAL = &Min{Args: yyDollar[4].exprsUnion(), Distinct: yyDollar[3].booleanUnion()} } yyVAL.union = yyLOCAL case 1052: @@ -15988,7 +16048,7 @@ yydefault: var yyLOCAL Expr //line sql.y:5399 { - yyLOCAL = &Sum{Arg: yyDollar[4].exprUnion(), Distinct: yyDollar[3].booleanUnion()} + yyLOCAL = &Sum{Args: yyDollar[4].exprsUnion(), Distinct: yyDollar[3].booleanUnion()} } yyVAL.union = yyLOCAL case 1053: @@ -17981,7 +18041,7 @@ yydefault: } case 1829: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7130 +//line sql.y:7132 { if incNesting(yylex) { yylex.Error("max nesting level reached") @@ -17990,31 +18050,31 @@ yydefault: } case 1830: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7139 +//line sql.y:7141 { decNesting(yylex) } case 1831: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7144 +//line sql.y:7146 { skipToEnd(yylex) } case 1832: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7149 +//line sql.y:7151 { skipToEnd(yylex) } case 1833: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7153 +//line sql.y:7155 { skipToEnd(yylex) } case 1834: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7157 +//line sql.y:7159 { skipToEnd(yylex) } diff --git a/go/vt/sqlparser/sql.y b/go/vt/sqlparser/sql.y index 686b2576955..6d304d33898 100644 --- a/go/vt/sqlparser/sql.y +++ b/go/vt/sqlparser/sql.y @@ -5375,29 +5375,29 @@ UTC_DATE func_paren_opt { $$ = &CurTimeFuncExpr{Name:NewColIdent("current_time"), Fsp: $2} } -| AVG openb distinct_opt expression closeb +| AVG openb distinct_opt expression_list closeb { - $$ = &Avg{Arg:$4, Distinct:$3} + $$ = &Avg{Args:$4, Distinct:$3} } -| COUNT openb star_count closeb +| COUNT openb distinct_opt star_count closeb { - $$ = &CountStar{Star:$3} + $$ = &CountStar{Star:$4, Distinct:$3} } -| COUNT openb distinct_opt expression closeb +| COUNT openb distinct_opt expression_list closeb { - $$ = &Count{Arg:$4, Distinct:$3} + $$ = &Count{Args:$4, Distinct:$3} } -| MAX openb expression closeb +| MAX openb distinct_opt expression_list closeb { - $$ = &Max{Arg:$3} + $$ = &Max{Args:$4, Distinct:$3} } -| MIN openb expression closeb +| MIN openb distinct_opt expression_list closeb { - $$ = &Min{Arg:$3} + $$ = &Min{Args:$4, Distinct:$3} } -| SUM openb distinct_opt expression closeb +| SUM openb distinct_opt expression_list closeb { - $$ = &Sum{Arg:$4, Distinct:$3} + $$ = &Sum{Args:$4, Distinct:$3} } | TIMESTAMPADD openb sql_id ',' expression ',' expression closeb { @@ -7125,6 +7125,8 @@ non_reserved_keyword: | YEAR_MONTH | WEIGHT_STRING %prec FUNCTION_CALL_NON_KEYWORD + + openb: '(' { diff --git a/go/vt/vtgate/engine/ordered_aggregate.go b/go/vt/vtgate/engine/ordered_aggregate.go index dc159a49703..a51d89cfcf4 100644 --- a/go/vt/vtgate/engine/ordered_aggregate.go +++ b/go/vt/vtgate/engine/ordered_aggregate.go @@ -125,7 +125,8 @@ func (ap *AggregateParams) String() string { keyCol += " COLLATE " + collation.Name() } if ap.Alias != "" { - return fmt.Sprintf("%s(%s) AS %s", ap.Opcode.String(), keyCol, ap.Alias) + s := fmt.Sprintf("%s(%s) AS %s", ap.Opcode.String(), keyCol, ap.Alias) + return s } return fmt.Sprintf("%s(%s)", ap.Opcode.String(), keyCol) } diff --git a/go/vt/vtgate/planbuilder/abstract/queryprojection.go b/go/vt/vtgate/planbuilder/abstract/queryprojection.go index c47460340e2..9074895c6f1 100644 --- a/go/vt/vtgate/planbuilder/abstract/queryprojection.go +++ b/go/vt/vtgate/planbuilder/abstract/queryprojection.go @@ -263,8 +263,12 @@ func checkForInvalidAggregations(exp *sqlparser.AliasedExpr) error { fExpr, ok := node.(sqlparser.Expr) if ok { if isAggregate, _ := sqlparser.IsAggregation(fExpr); isAggregate { - //return false, vterrors.NewErrorf(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.SyntaxError, "aggregate functions take a single argument") - // TODO: for now return true every time but we need a way to detect single argument aggregate functions + aggrFunc := node.(sqlparser.AggrFunc) + if aggrFunc.GetArgs() != nil && + len(aggrFunc.GetArgs()) != 1 { + //return false, vterrors.NewErrorf(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.SyntaxError, "aggregate functions take a single argument") + return false, vterrors.NewErrorf(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.SyntaxError, "aggregate functions take a single argument '%s'", sqlparser.String(fExpr)) + } return true, nil } } diff --git a/go/vt/vtgate/planbuilder/horizon_planning.go b/go/vt/vtgate/planbuilder/horizon_planning.go index d8212f76c31..c249649f164 100644 --- a/go/vt/vtgate/planbuilder/horizon_planning.go +++ b/go/vt/vtgate/planbuilder/horizon_planning.go @@ -747,9 +747,16 @@ func (hp *horizonPlanning) handleDistinctAggr(ctx *plancontext.PlanningContext, err = vterrors.Errorf(vtrpcpb.Code_INVALID_ARGUMENT, "syntax error: %s", sqlparser.String(expr.Original)) return }*/ + var agg = expr.Func // if it is aggregator then we need to assign argument of aggregator which is ColName type if tmpAgg, ok := expr.Func.(sqlparser.AggrFunc); ok { + if cStar, ok := tmpAgg.(*sqlparser.CountStar); ok { + if cStar.Distinct { + err = vterrors.Errorf(vtrpcpb.Code_INVALID_ARGUMENT, "syntax error: %s", sqlparser.String(expr.Original)) + return + } + } agg = tmpAgg.GetArg() } inner, innerWS, err := hp.qp.GetSimplifiedExpr(agg) diff --git a/go/vt/vtgate/planbuilder/memory_sort.go b/go/vt/vtgate/planbuilder/memory_sort.go index 3aef915c87d..32898d54203 100644 --- a/go/vt/vtgate/planbuilder/memory_sort.go +++ b/go/vt/vtgate/planbuilder/memory_sort.go @@ -112,10 +112,8 @@ func (ms *memorySort) SetLimit(limit *sqlparser.Limit) error { // compare those instead. This is because we currently don't have the // ability to mimic mysql's collation behavior. func (ms *memorySort) Wireup(plan logicalPlan, jt *jointab) error { - fmt.Printf("memory_sort wireup %d \n", len(ms.eMemorySort.OrderBy)) for i, orderby := range ms.eMemorySort.OrderBy { rc := ms.resultColumns[orderby.Col] - fmt.Printf("memory_sort rc: %v \n", rc) // Add a weight_string column if we know that the column is a textual column or if its type is unknown if sqltypes.IsText(rc.column.typ) || rc.column.typ == sqltypes.Null { weightcolNumber, err := ms.input.SupplyWeightString(orderby.Col, orderby.FromGroupBy) diff --git a/go/vt/vtgate/planbuilder/ordered_aggregate.go b/go/vt/vtgate/planbuilder/ordered_aggregate.go index fb0417f2d8d..5b82d8e16df 100644 --- a/go/vt/vtgate/planbuilder/ordered_aggregate.go +++ b/go/vt/vtgate/planbuilder/ordered_aggregate.go @@ -262,6 +262,12 @@ func (oa *orderedAggregate) pushAggr(pb *primitiveBuilder, expr *sqlparser.Alias _, aggName := sqlparser.IsAggregation(expr.Expr) opcode := engine.SupportedAggregates[aggName] + aggrFunc := expr.Expr.(sqlparser.AggrFunc) + if aggrFunc != nil && + aggrFunc.GetArgs() != nil && + len(aggrFunc.GetArgs()) != 1 { + return nil, 0, fmt.Errorf("unsupported: only one expression allowed inside aggregates: %s", sqlparser.String(expr)) + } //TODO: how to fix this /*funcExpr := expr.Expr.(*sqlparser.FuncExpr) opcode := engine.SupportedAggregates[funcExpr.Name.Lowered()] @@ -275,7 +281,7 @@ func (oa *orderedAggregate) pushAggr(pb *primitiveBuilder, expr *sqlparser.Alias } if handleDistinct { if oa.extraDistinct != nil { - return nil, 0, fmt.Errorf("unsupported: only one distinct aggregation allowed in a select") + return nil, 0, fmt.Errorf("unsupported: only one distinct aggregation allowed in a select: %s", sqlparser.String(expr)) } // Push the expression that's inside the aggregate. // The column will eventually get added to the group by and order by clauses. @@ -333,7 +339,13 @@ func (oa *orderedAggregate) needDistinctHandling(pb *primitiveBuilder, expr *sql var innerAliased *sqlparser.AliasedExpr if aggr, ok := expr.Expr.(sqlparser.AggrFunc); ok { - innerAliased = &sqlparser.AliasedExpr{Expr: aggr.GetArg(), As: expr.As} + // add isDistinct in interface + if cStar, ok := aggr.(*sqlparser.CountStar); ok { + if cStar.Distinct { + return false, nil, fmt.Errorf("syntax error: %s", sqlparser.String(cStar)) + } + } + innerAliased = &sqlparser.AliasedExpr{Expr: aggr.GetArg() /*As: expr.As*/} } //TODO: how to fix this diff --git a/go/vt/vtgate/planbuilder/project.go b/go/vt/vtgate/planbuilder/project.go index 3799bfc3e62..703abe43879 100644 --- a/go/vt/vtgate/planbuilder/project.go +++ b/go/vt/vtgate/planbuilder/project.go @@ -18,7 +18,6 @@ package planbuilder import ( "errors" - "fmt" querypb "vitess.io/vitess/go/vt/proto/query" vtrpcpb "vitess.io/vitess/go/vt/proto/vtrpc" @@ -74,7 +73,6 @@ func planProjection(pb *primitiveBuilder, in logicalPlan, expr *sqlparser.Aliase // the rows be correctly ordered. case *orderedAggregate: if isAggregate, aggName := sqlparser.IsAggregation(expr.Expr); isAggregate { - fmt.Printf("we got this %v \n", aggName) if _, ok := engine.SupportedAggregates[aggName]; ok { rc, colNumber, err := node.pushAggr(pb, expr, origin) if err != nil { diff --git a/go/vt/vtgate/planbuilder/route.go b/go/vt/vtgate/planbuilder/route.go index 3c1ec422d90..328cf7f3a4b 100644 --- a/go/vt/vtgate/planbuilder/route.go +++ b/go/vt/vtgate/planbuilder/route.go @@ -17,7 +17,6 @@ limitations under the License. package planbuilder import ( - "fmt" "strconv" "vitess.io/vitess/go/mysql/collations" @@ -329,7 +328,6 @@ func (rb *route) SupplyWeightString(colNumber int, alsoAddToGroupBy bool) (weigh if !ok { return 0, vterrors.Errorf(vtrpcpb.Code_INTERNAL, "unexpected AST struct for query %T", s.SelectExprs[colNumber]) } - fmt.Printf("supply weight string %v \n", aliasExpr.Expr) weightStringExpr := &sqlparser.FuncExpr{ Name: sqlparser.NewColIdent("weight_string"), Exprs: []sqlparser.SelectExpr{ diff --git a/go/vt/vtgate/planbuilder/testdata/onecase.txt b/go/vt/vtgate/planbuilder/testdata/onecase.txt index 94698e94aa7..ae1d8bbe677 100644 --- a/go/vt/vtgate/planbuilder/testdata/onecase.txt +++ b/go/vt/vtgate/planbuilder/testdata/onecase.txt @@ -1,51 +1,3 @@ -# distinct on text column with collation -"select col, count(distinct textcol1) from user group by col" -{ - "QueryType": "SELECT", - "Original": "select col, count(distinct textcol1) from user group by col", - "Instructions": { - "OperatorType": "Aggregate", - "Variant": "Ordered", - "Aggregates": "count_distinct(1) AS count(distinct textcol1)", - "GroupBy": "0", - "Inputs": [ - { - "OperatorType": "Route", - "Variant": "Scatter", - "Keyspace": { - "Name": "user", - "Sharded": true - }, - "FieldQuery": "select col, textcol1, weight_string(textcol1) from `user` where 1 != 1 group by col, textcol1, weight_string(textcol1)", - "OrderBy": "0 ASC, (1|2) ASC", - "Query": "select col, textcol1, weight_string(textcol1) from `user` group by col, textcol1, weight_string(textcol1) order by col asc, textcol1 asc", - "ResultColumns": 2, - "Table": "`user`" - } - ] - } -} -{ - "QueryType": "SELECT", - "Original": "select col, count(distinct textcol1) from user group by col", - "Instructions": { - "OperatorType": "Aggregate", - "Variant": "Ordered", - "Aggregates": "count_distinct(1 COLLATE latin1_swedish_ci) AS count(distinct textcol1)", - "GroupBy": "0", - "Inputs": [ - { - "OperatorType": "Route", - "Variant": "Scatter", - "Keyspace": { - "Name": "user", - "Sharded": true - }, - "FieldQuery": "select col, textcol1 from `user` where 1 != 1 group by col, textcol1", - "OrderBy": "0 ASC, 1 ASC COLLATE latin1_swedish_ci", - "Query": "select col, textcol1 from `user` group by col, textcol1 order by col asc, textcol1 asc", - "Table": "`user`" - } - ] - } -} +"select count(distinct user_id, name) from user" +"unsupported: only one expression allowed inside aggregates: count(distinct user_id, `name`)" +Gen4 error: aggregate functions take a single argument 'count(distinct user_id, `name`)' diff --git a/go/vt/vtgate/semantics/binder.go b/go/vt/vtgate/semantics/binder.go index dae24bd7b1e..9dee691f778 100644 --- a/go/vt/vtgate/semantics/binder.go +++ b/go/vt/vtgate/semantics/binder.go @@ -17,7 +17,6 @@ limitations under the License. package semantics import ( - "fmt" "strings" "vitess.io/vitess/go/vt/vtgate/engine" @@ -133,7 +132,6 @@ func (b *binder) up(cursor *sqlparser.Cursor) error { b.recursive[node] = ts b.direct[node] = ts case sqlparser.AggrFunc: - fmt.Println("here you go") cStar, ok := node.(*sqlparser.CountStar) if !ok { break From 67d9ad6a048892a1641f3079effb1a0752382f3c Mon Sep 17 00:00:00 2001 From: Rameez Sajwani Date: Mon, 30 May 2022 13:37:08 -0700 Subject: [PATCH 11/22] removing getarg from aggregate interface Signed-off-by: Rameez Sajwani --- go/vt/vtgate/planbuilder/testdata/onecase.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/go/vt/vtgate/planbuilder/testdata/onecase.txt b/go/vt/vtgate/planbuilder/testdata/onecase.txt index ae1d8bbe677..759794527dc 100644 --- a/go/vt/vtgate/planbuilder/testdata/onecase.txt +++ b/go/vt/vtgate/planbuilder/testdata/onecase.txt @@ -1,3 +1,4 @@ "select count(distinct user_id, name) from user" "unsupported: only one expression allowed inside aggregates: count(distinct user_id, `name`)" Gen4 error: aggregate functions take a single argument 'count(distinct user_id, `name`)' + From 9a1e26536bdfd65eeb72197613c54c094002662f Mon Sep 17 00:00:00 2001 From: Rameez Sajwani Date: Wed, 1 Jun 2022 00:20:18 -0700 Subject: [PATCH 12/22] Fixing bugs after merge Signed-off-by: Rameez Sajwani --- .../vtgate/planbuilder/aggregation_pushing.go | 18 ++++---- go/vt/vtgate/planbuilder/plan_test.go | 2 +- go/vt/vtgate/planbuilder/testdata/onecase.txt | 43 +++++++++++++++++-- 3 files changed, 50 insertions(+), 13 deletions(-) diff --git a/go/vt/vtgate/planbuilder/aggregation_pushing.go b/go/vt/vtgate/planbuilder/aggregation_pushing.go index a99143766ae..023bb89064c 100644 --- a/go/vt/vtgate/planbuilder/aggregation_pushing.go +++ b/go/vt/vtgate/planbuilder/aggregation_pushing.go @@ -79,19 +79,21 @@ func (hp *horizonPlanning) pushAggregation( for _, aggr := range aggregations { var offset int - fExpr, ok := aggr.Original.Expr.(*sqlparser.FuncExpr) + aggrExpr, ok := aggr.Original.Expr.(sqlparser.AggrFunc) if !ok { return nil, nil, nil, false, vterrors.Errorf(vtrpcpb.Code_INTERNAL, "[BUG]: unexpected expression: %v", aggr.Original) } - if len(fExpr.Exprs) != 1 { - return nil, nil, nil, false, vterrors.Errorf(vtrpcpb.Code_INTERNAL, "[BUG]: unexpected expression: %v", fExpr) - } - switch e := fExpr.Exprs[0].(type) { - case *sqlparser.StarExpr: + + switch aggrExpr.(type) { + case *sqlparser.CountStar: offset = 0 - case *sqlparser.AliasedExpr: - offset, _, err = pushProjection(ctx, e, plan.input, true, true, false) + default: + if len(aggrExpr.GetArgs()) != 1 { + return nil, nil, nil, false, vterrors.Errorf(vtrpcpb.Code_INTERNAL, "[BUG]: unexpected expression: %v", aggrExpr) + } + offset, _, err = pushProjection(ctx, &sqlparser.AliasedExpr{Expr: aggrExpr.GetArg() /*As: expr.As*/}, plan.input, true, true, false) } + if err != nil { return nil, nil, nil, false, err } diff --git a/go/vt/vtgate/planbuilder/plan_test.go b/go/vt/vtgate/planbuilder/plan_test.go index 0f26177d3a2..cc38f534c3e 100644 --- a/go/vt/vtgate/planbuilder/plan_test.go +++ b/go/vt/vtgate/planbuilder/plan_test.go @@ -256,7 +256,7 @@ func TestOne(t *testing.T) { v: loadSchema(t, "schema_test.json", true), } - //testFile(t, "onecase.txt", "", vschema) + // testFile(t, "onecase.txt", "", vschema) testFile(t, "aggr_cases.txt", "", vschema) } diff --git a/go/vt/vtgate/planbuilder/testdata/onecase.txt b/go/vt/vtgate/planbuilder/testdata/onecase.txt index 759794527dc..61af961bd55 100644 --- a/go/vt/vtgate/planbuilder/testdata/onecase.txt +++ b/go/vt/vtgate/planbuilder/testdata/onecase.txt @@ -1,4 +1,39 @@ -"select count(distinct user_id, name) from user" -"unsupported: only one expression allowed inside aggregates: count(distinct user_id, `name`)" -Gen4 error: aggregate functions take a single argument 'count(distinct user_id, `name`)' - +# count on column from LIMIT +"select count(city) from (select phone, id, city from user where id > 12 limit 10) as x" +"unsupported: cross-shard query with aggregates" +{ + "QueryType": "SELECT", + "Original": "select count(city) from (select phone, id, city from user where id \u003e 12 limit 10) as x", + "Instructions": { + "OperatorType": "Aggregate", + "Variant": "Scalar", + "Aggregates": "count(0) AS count(city)", + "Inputs": [ + { + "OperatorType": "Projection", + "Expressions": [ + "[COLUMN 2] as count(city)" + ], + "Inputs": [ + { + "OperatorType": "Limit", + "Count": "INT64(10)", + "Inputs": [ + { + "OperatorType": "Route", + "Variant": "Scatter", + "Keyspace": { + "Name": "user", + "Sharded": true + }, + "FieldQuery": "select phone, id, city from `user` where 1 != 1", + "Query": "select phone, id, city from `user` where id \u003e 12 limit :__upper_limit", + "Table": "`user`" + } + ] + } + ] + } + ] + } +} From c73de2195439302f97282d3bdb83aad41c787400 Mon Sep 17 00:00:00 2001 From: Rameez Sajwani Date: Wed, 1 Jun 2022 19:45:20 -0700 Subject: [PATCH 13/22] Optimizing code Signed-off-by: Rameez Sajwani --- go/vt/sqlparser/ast.go | 1 - go/vt/sqlparser/ast_clone.go | 6 - go/vt/sqlparser/ast_equals.go | 8 +- go/vt/sqlparser/ast_funcs.go | 22 +- go/vt/sqlparser/cached_size.go | 4 +- go/vt/sqlparser/sql.go | 8167 ++++++++--------- go/vt/sqlparser/sql.y | 25 +- .../planbuilder/abstract/queryprojection.go | 18 +- .../vtgate/planbuilder/aggregation_pushing.go | 6 +- go/vt/vtgate/planbuilder/horizon_planning.go | 11 +- go/vt/vtgate/planbuilder/ordered_aggregate.go | 50 +- go/vt/vtgate/planbuilder/project.go | 4 +- go/vt/vtgate/planbuilder/rewrite.go | 2 +- go/vt/vtgate/planbuilder/symtab.go | 10 - 14 files changed, 4100 insertions(+), 4234 deletions(-) diff --git a/go/vt/sqlparser/ast.go b/go/vt/sqlparser/ast.go index fc05cb8926b..273020a5d2e 100644 --- a/go/vt/sqlparser/ast.go +++ b/go/vt/sqlparser/ast.go @@ -2576,7 +2576,6 @@ type ( } CountStar struct { - Star StarExpr Distinct bool } diff --git a/go/vt/sqlparser/ast_clone.go b/go/vt/sqlparser/ast_clone.go index 927c0cf6cfd..d9a22a4017e 100644 --- a/go/vt/sqlparser/ast_clone.go +++ b/go/vt/sqlparser/ast_clone.go @@ -861,7 +861,6 @@ func CloneRefOfCountStar(n *CountStar) *CountStar { return nil } out := *n - out.Star = CloneStarExpr(n.Star) return &out } @@ -3513,11 +3512,6 @@ func CloneSliceOfString(n []string) []string { return res } -// CloneStarExpr creates a deep clone of the input. -func CloneStarExpr(n StarExpr) StarExpr { - return *CloneRefOfStarExpr(&n) -} - // CloneSliceOfRefOfIndexColumn creates a deep clone of the input. func CloneSliceOfRefOfIndexColumn(n []*IndexColumn) []*IndexColumn { if n == nil { diff --git a/go/vt/sqlparser/ast_equals.go b/go/vt/sqlparser/ast_equals.go index 5436bdc2b37..85abd70bd9a 100644 --- a/go/vt/sqlparser/ast_equals.go +++ b/go/vt/sqlparser/ast_equals.go @@ -1771,8 +1771,7 @@ func EqualsRefOfCountStar(a, b *CountStar) bool { if a == nil || b == nil { return false } - return a.Distinct == b.Distinct && - EqualsStarExpr(a.Star, b.Star) + return a.Distinct == b.Distinct } // EqualsRefOfCreateDatabase does deep equals between the two objects. @@ -5911,11 +5910,6 @@ func EqualsSliceOfString(a, b []string) bool { return true } -// EqualsStarExpr does deep equals between the two objects. -func EqualsStarExpr(a, b StarExpr) bool { - return EqualsTableName(a.TableName, b.TableName) -} - // EqualsSliceOfRefOfIndexColumn does deep equals between the two objects. func EqualsSliceOfRefOfIndexColumn(a, b []*IndexColumn) bool { if len(a) != len(b) { diff --git a/go/vt/sqlparser/ast_funcs.go b/go/vt/sqlparser/ast_funcs.go index bfcfd7e9ba1..06ee82a9620 100644 --- a/go/vt/sqlparser/ast_funcs.go +++ b/go/vt/sqlparser/ast_funcs.go @@ -1719,7 +1719,7 @@ func formatAddress(address string) string { func ContainsAggregation(e SQLNode) bool { hasAggregates := false _ = Walk(func(node SQLNode) (kontinue bool, err error) { - if isAggregate, _ := IsAggregation(node); isAggregate { + if _, isAggregate := node.(AggrFunc); isAggregate { hasAggregates = true return false, nil } @@ -1728,7 +1728,7 @@ func ContainsAggregation(e SQLNode) bool { return hasAggregates } -func IsAggregation(node SQLNode) (bool, string) { +/*func IsAggregation(node SQLNode) (bool, string) { fExpr, ok := node.(Expr) if ok { switch expr := fExpr.(type) { @@ -1737,23 +1737,13 @@ func IsAggregation(node SQLNode) (bool, string) { } } return false, "" -} +}*/ func IsDistinct(expr Expr) bool { - switch node := expr.(type) { - case *Count: - return node.Distinct - case *CountStar: - return node.Distinct - case *Avg: - return node.Distinct - case *Max: - return node.Distinct - case *Min: - return node.Distinct - case *Sum: - return node.Distinct + if aggr, ok := expr.(AggrFunc); ok { + return aggr.isDistinct() } + return false } diff --git a/go/vt/sqlparser/cached_size.go b/go/vt/sqlparser/cached_size.go index a36c6fe63ac..67acfbe2578 100644 --- a/go/vt/sqlparser/cached_size.go +++ b/go/vt/sqlparser/cached_size.go @@ -766,10 +766,8 @@ func (cached *CountStar) CachedSize(alloc bool) int64 { } size := int64(0) if alloc { - size += int64(48) + size += int64(8) } - // field Star vitess.io/vitess/go/vt/sqlparser.StarExpr - size += cached.Star.CachedSize(false) return size } func (cached *CreateDatabase) CachedSize(alloc bool) int64 { diff --git a/go/vt/sqlparser/sql.go b/go/vt/sqlparser/sql.go index f83fb11dd0b..a7a48c78ec9 100644 --- a/go/vt/sqlparser/sql.go +++ b/go/vt/sqlparser/sql.go @@ -1305,7 +1305,7 @@ var yyExca = [...]int{ 236, 766, -2, 764, -1, 114, - 233, 1318, + 233, 1317, -2, 119, -1, 116, 1, 146, @@ -1321,26 +1321,26 @@ var yyExca = [...]int{ 334, 153, -2, 507, -1, 715, + 218, 1338, + -2, 1334, + -1, 716, 218, 1339, -2, 1335, - -1, 716, - 218, 1340, - -2, 1336, -1, 791, 59, 834, -2, 849, -1, 828, - 148, 1756, + 148, 1755, -2, 112, -1, 829, - 148, 1591, + 148, 1590, -2, 113, -1, 835, - 148, 1677, - -2, 1312, + 148, 1676, + -2, 1311, -1, 983, - 148, 1518, - -2, 1309, + 148, 1517, + -2, 1308, -1, 1024, 244, 41, 249, 41, @@ -1369,8 +1369,8 @@ var yyExca = [...]int{ 249, 42, -2, 396, -1, 1812, - 218, 1344, - -2, 1338, + 218, 1343, + -2, 1337, -1, 1900, 132, 153, 173, 153, @@ -1379,938 +1379,1158 @@ var yyExca = [...]int{ -1, 1907, 25, 174, -2, 176, - -1, 2167, + -1, 2166, 87, 39, - -2, 892, - -1, 2224, + -2, 891, + -1, 2223, 77, 94, 87, 94, - -2, 912, - -1, 2292, + -2, 911, + -1, 2291, 596, 666, -2, 640, - -1, 2441, - 49, 1280, - -2, 1274, - -1, 2671, + -1, 2440, + 49, 1279, + -2, 1273, + -1, 2670, 87, 39, - -2, 893, - -1, 2709, + -2, 892, + -1, 2708, 7, 53, 18, 53, 20, 53, 88, 53, - -2, 884, - -1, 3011, + -2, 883, + -1, 3010, 596, 666, -2, 654, - -1, 3078, - 22, 1679, - 32, 1679, - 174, 1679, - 256, 1679, - 314, 1679, - 315, 1679, - 316, 1679, - 317, 1679, - 318, 1679, - 319, 1679, - 320, 1679, - 322, 1679, - 323, 1679, - 324, 1679, - 325, 1679, - 326, 1679, - 327, 1679, - 328, 1679, - 329, 1679, - 330, 1679, - 331, 1679, - 332, 1679, - 333, 1679, - 335, 1679, - 337, 1679, - 338, 1679, - 339, 1679, - 340, 1679, - 341, 1679, - 342, 1679, - 343, 1679, - 344, 1679, - 345, 1679, - 348, 1679, - 349, 1679, - 350, 1679, - 351, 1679, - 352, 1679, - 353, 1679, - 354, 1679, - 355, 1679, - 356, 1679, - 478, 1679, + -1, 3077, + 22, 1678, + 32, 1678, + 174, 1678, + 256, 1678, + 314, 1678, + 315, 1678, + 316, 1678, + 317, 1678, + 318, 1678, + 319, 1678, + 320, 1678, + 322, 1678, + 323, 1678, + 324, 1678, + 325, 1678, + 326, 1678, + 327, 1678, + 328, 1678, + 329, 1678, + 330, 1678, + 331, 1678, + 332, 1678, + 333, 1678, + 335, 1678, + 337, 1678, + 338, 1678, + 339, 1678, + 340, 1678, + 341, 1678, + 342, 1678, + 343, 1678, + 344, 1678, + 345, 1678, + 348, 1678, + 349, 1678, + 350, 1678, + 351, 1678, + 352, 1678, + 353, 1678, + 354, 1678, + 355, 1678, + 356, 1678, + 478, 1678, -2, 598, } const yyPrivate = 57344 -const yyLast = 45332 +const yyLast = 45064 var yyAct = [...]int{ - 715, 2396, 2814, 2815, 3140, 724, 2813, 2992, 3150, 3111, - 1897, 3112, 2786, 3076, 1413, 2590, 717, 3054, 1830, 2496, - 2503, 1171, 1850, 2117, 2938, 2544, 2773, 3, 806, 2553, - 2558, 2555, 2554, 2454, 2552, 2557, 2556, 784, 704, 37, - 1335, 705, 1832, 2457, 2832, 2573, 2155, 2572, 96, 2968, - 2511, 186, 2458, 1967, 186, 2455, 588, 186, 2680, 623, - 2674, 2837, 603, 2395, 186, 1854, 702, 1371, 649, 2394, - 627, 2195, 186, 718, 703, 2575, 2352, 2218, 2452, 1870, - 2700, 2442, 620, 2182, 2666, 2611, 1120, 186, 619, 2335, - 2257, 2289, 1930, 1955, 1935, 986, 621, 155, 833, 2595, - 2258, 807, 1886, 2259, 2207, 1874, 1998, 38, 615, 603, - 2174, 2188, 603, 186, 603, 2157, 788, 36, 792, 1875, - 1781, 1782, 1707, 1806, 1358, 786, 141, 1665, 1717, 1467, - 830, 1954, 1032, 1514, 1862, 1976, 809, 2327, 1149, 95, - 2014, 1937, 2251, 1014, 1402, 1019, 2226, 1380, 91, 1877, - 1338, 632, 1258, 1729, 1614, 1192, 1610, 1684, 990, 1503, - 1496, 1025, 1022, 993, 1952, 1594, 994, 1020, 1021, 1926, - 798, 1401, 1778, 1855, 1399, 1385, 1725, 1224, 1169, 1163, - 159, 1462, 124, 119, 117, 1619, 98, 794, 820, 118, - 125, 1488, 1104, 796, 97, 85, 610, 793, 3001, 1261, - 76, 102, 1265, 2282, 1823, 1809, 89, 3141, 2563, 1969, - 1970, 1971, 1056, 2774, 2541, 1969, 2280, 188, 189, 190, - 2012, 2560, 2311, 2310, 592, 795, 77, 8, 120, 559, - 7, 814, 1579, 819, 2563, 6, 2766, 2729, 2343, 800, - 126, 90, 104, 105, 1061, 108, 1193, 2344, 114, 2818, - 87, 183, 3024, 3025, 554, 1827, 1828, 987, 1672, 2818, - 592, 1036, 611, 1671, 1670, 1012, 2561, 1669, 188, 189, - 190, 785, 1668, 1667, 780, 781, 782, 783, 787, 1650, - 791, 3097, 834, 827, 613, 2153, 614, 1071, 2567, 2438, - 1193, 1035, 2561, 808, 1011, 2647, 801, 120, 1659, 2302, - 1010, 1009, 589, 2002, 3086, 2184, 1008, 1946, 822, 823, - 1062, 1065, 1066, 3161, 2567, 998, 1365, 3110, 3084, 1003, - 3115, 3131, 2305, 1677, 592, 2000, 2612, 3090, 3091, 2934, - 2933, 1060, 1940, 1077, 2817, 2513, 2514, 2779, 1059, 78, - 2780, 3158, 3085, 3025, 2817, 3064, 3144, 2001, 3020, 575, - 78, 78, 1203, 80, 2056, 3124, 1058, 2787, 3055, 1995, - 3063, 573, 3019, 2351, 3081, 120, 1858, 2629, 1477, 1074, - 1075, 1076, 2154, 1079, 1080, 1081, 1082, 2493, 2494, 1085, - 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, - 1096, 1097, 1098, 1099, 1100, 1101, 1203, 78, 2564, 2235, - 2850, 570, 2234, 2492, 2319, 2236, 2342, 1156, 2318, 1158, - 584, 1892, 1893, 1403, 2053, 1404, 1891, 87, 1139, 2054, - 778, 2198, 1107, 777, 2564, 580, 593, 1166, 87, 87, - 2283, 2247, 1144, 1145, 1829, 1007, 2677, 1113, 1114, 2384, - 1127, 2512, 2993, 592, 1127, 1128, 2199, 1155, 1157, 1128, - 1140, 1199, 2620, 2515, 1191, 1133, 1225, 1126, 2592, 1125, - 2618, 1002, 593, 601, 1004, 1910, 1909, 592, 592, 1116, - 2191, 2192, 1658, 1939, 605, 87, 599, 2596, 2943, 1226, - 1227, 1228, 1229, 1230, 1231, 1232, 1234, 1233, 1235, 1236, - 2328, 3116, 1342, 1005, 560, 1199, 562, 576, 1977, 595, - 2290, 594, 566, 1103, 564, 568, 577, 569, 1078, 563, - 1858, 574, 3117, 2314, 565, 578, 579, 582, 585, 586, - 587, 583, 581, 2020, 572, 596, 593, 1146, 1660, 1661, - 1662, 1569, 2015, 1165, 2585, 1141, 1600, 1147, 3143, 2499, - 1134, 1595, 2586, 2593, 1153, 2330, 1142, 1143, 1154, 1856, - 1857, 2032, 1160, 2033, 186, 2034, 186, 1148, 1159, 186, - 1007, 1109, 999, 2768, 2767, 2035, 2019, 2594, 1084, 1001, - 1000, 1083, 2017, 1007, 1102, 1570, 3098, 1571, 2021, 2918, - 2764, 1015, 1152, 1980, 2500, 1016, 1045, 1043, 1345, 603, - 1173, 603, 603, 1871, 1016, 87, 2385, 2026, 2023, 2025, - 2024, 2027, 2028, 1054, 1239, 2515, 603, 603, 2018, 1053, - 2502, 1006, 1239, 1481, 1052, 1051, 1050, 1049, 1005, 1048, - 1047, 1042, 1055, 991, 2497, 2054, 991, 3162, 1028, 1611, - 989, 3154, 1137, 1064, 3122, 1185, 991, 1502, 1106, 1027, - 1027, 2513, 2514, 1063, 1953, 593, 37, 1123, 2498, 1129, - 1130, 1131, 1132, 1198, 1195, 1196, 1197, 1202, 1204, 1201, - 821, 1200, 2331, 2006, 2158, 2160, 1607, 2534, 1194, 593, - 593, 1179, 1167, 1168, 1067, 1073, 1034, 2313, 1475, 2249, - 1474, 2504, 1473, 2300, 3000, 1608, 1471, 1013, 2347, 2281, - 558, 553, 2763, 1856, 1857, 2989, 2068, 1198, 1195, 1196, - 1197, 1202, 1204, 1201, 1999, 1200, 597, 1240, 1241, 2353, - 1943, 2284, 1194, 2334, 2326, 1997, 2716, 2325, 1161, 2696, - 2231, 2194, 2678, 2141, 590, 1242, 1243, 1244, 1245, 2316, - 3089, 1046, 1044, 1822, 1105, 1250, 1006, 1253, 1389, 591, - 1310, 1601, 2189, 1501, 1118, 1602, 1603, 2512, 116, 1006, - 1944, 1898, 1239, 1236, 1599, 1150, 2491, 1620, 1942, 2515, - 1174, 803, 2565, 2566, 1122, 1333, 1164, 3018, 3014, 1175, - 1176, 111, 1057, 2759, 3088, 2569, 1033, 3006, 186, 81, - 2690, 1034, 603, 603, 1034, 2337, 1246, 2016, 2565, 2566, - 2336, 2355, 1945, 1604, 1405, 1328, 2304, 1189, 186, 2944, - 2816, 2569, 1941, 1581, 1580, 1582, 1583, 1584, 2727, 2728, - 2816, 86, 2055, 1346, 1034, 2371, 1730, 603, 2082, 1730, - 1208, 186, 86, 86, 1348, 1349, 603, 2159, 1352, 2273, - 2846, 1136, 603, 77, 788, 1188, 786, 1351, 1186, 2734, - 2303, 112, 1138, 1187, 1334, 2733, 3152, 830, 1263, 3153, - 1264, 3151, 1207, 1208, 1764, 1267, 1984, 2365, 2364, 2363, - 2357, 1034, 2361, 1511, 2356, 1510, 2354, 1124, 2501, 86, - 1112, 2359, 1500, 2337, 1115, 1994, 1992, 1045, 2336, 1034, - 2358, 1033, 1989, 1043, 1033, 1390, 1072, 1027, 1030, 1031, - 1350, 991, 3163, 1989, 95, 1024, 1028, 2360, 2362, 1596, - 1151, 1597, 1621, 3118, 1598, 1121, 1996, 1334, 2717, 1316, - 1317, 1318, 1319, 1320, 1033, 3156, 1023, 1400, 87, 1993, - 1027, 1030, 1031, 2926, 991, 3033, 2982, 1339, 1024, 1028, - 1991, 1589, 1687, 1108, 1231, 1232, 1234, 1233, 1235, 1236, - 2925, 98, 1756, 1745, 1746, 1747, 1748, 1758, 1749, 1750, - 1751, 1763, 1759, 1752, 1753, 1760, 1761, 1762, 1754, 1755, - 1757, 1033, 2916, 1679, 1681, 1682, 1037, 1027, 3034, 2983, - 1209, 1039, 2793, 1336, 2794, 1040, 1038, 3164, 1209, 1033, - 2806, 1347, 785, 2805, 1037, 1027, 186, 1680, 2106, 1039, - 1463, 1370, 1353, 1040, 1038, 1588, 787, 1209, 1367, 834, - 1472, 1227, 1228, 1229, 1230, 1231, 1232, 1234, 1233, 1235, - 1236, 1395, 1396, 2741, 1041, 1229, 1230, 1231, 1232, 1234, - 1233, 1235, 1236, 603, 2505, 1498, 825, 1365, 2509, 2060, - 2061, 2062, 2740, 1507, 1734, 2730, 2508, 1509, 1735, 2542, - 1512, 1513, 603, 603, 1689, 603, 2530, 603, 603, 2255, - 603, 603, 603, 603, 603, 603, 2254, 1949, 1690, 1237, - 1238, 1688, 1365, 1209, 1544, 1545, 1225, 603, 2346, 3119, - 2510, 186, 1550, 1590, 1574, 2506, 729, 730, 731, 1573, - 2507, 1365, 1572, 1562, 1209, 1587, 1576, 1556, 186, 1226, + 715, 2813, 2814, 2395, 2812, 3110, 3139, 3149, 2991, 724, + 3111, 1897, 2785, 2589, 3075, 1413, 3053, 2937, 2495, 2502, + 1830, 1171, 2552, 2543, 2116, 2557, 2772, 1832, 2831, 2554, + 96, 2553, 2453, 2154, 627, 705, 2551, 2556, 717, 2555, + 1335, 2967, 784, 2572, 2510, 1967, 2456, 2571, 623, 2836, + 1371, 186, 2457, 2194, 186, 1850, 588, 186, 2673, 2454, + 2394, 2351, 603, 806, 186, 2679, 3, 718, 649, 2393, + 1854, 1870, 186, 702, 2574, 704, 37, 703, 2451, 2441, + 2181, 1930, 2610, 2665, 2256, 2699, 1467, 186, 2217, 619, + 2334, 2594, 1935, 1120, 2288, 1955, 2257, 621, 2258, 833, + 155, 1875, 1998, 1886, 2206, 2187, 2173, 786, 615, 603, + 986, 1874, 603, 186, 603, 36, 2156, 1782, 807, 38, + 1781, 1717, 1707, 2014, 1358, 141, 1806, 1937, 1976, 2250, + 830, 1954, 1665, 1514, 2326, 1496, 1014, 1149, 1019, 1402, + 2225, 1862, 1380, 1877, 632, 91, 1338, 1614, 1258, 1729, + 1192, 1610, 1684, 788, 993, 792, 95, 1025, 1503, 1594, + 1952, 1855, 994, 1022, 1401, 990, 1385, 1032, 1020, 1399, + 798, 1224, 1778, 809, 1725, 1021, 1169, 1163, 119, 1619, + 159, 117, 118, 98, 1926, 1462, 1488, 124, 125, 820, + 796, 1104, 97, 85, 610, 793, 3000, 76, 102, 794, + 1261, 620, 2281, 89, 3140, 1265, 1969, 1970, 1971, 1823, + 2562, 2773, 2540, 1969, 2310, 2309, 2012, 559, 188, 189, + 190, 2279, 2728, 2559, 814, 8, 819, 7, 120, 6, + 2562, 2765, 1579, 795, 77, 126, 800, 2342, 592, 104, + 105, 2343, 108, 3023, 2817, 114, 90, 1061, 183, 3024, + 987, 554, 87, 1193, 188, 189, 190, 2817, 1827, 1828, + 611, 592, 1672, 1671, 1670, 1669, 1668, 1667, 2560, 785, + 834, 780, 781, 782, 783, 787, 1650, 791, 827, 1012, + 3096, 2152, 1011, 1193, 613, 2437, 614, 2646, 2560, 2002, + 2566, 808, 1035, 2301, 2183, 1010, 1036, 120, 1009, 1008, + 3114, 801, 1659, 589, 998, 822, 823, 1003, 3160, 1809, + 2566, 1062, 1065, 1066, 1365, 3109, 3085, 3130, 2000, 2304, + 1677, 1077, 1071, 2611, 2933, 2932, 1060, 1059, 2778, 2816, + 3083, 2779, 3157, 2001, 3024, 3063, 3143, 3019, 78, 3089, + 3090, 78, 2816, 78, 1225, 3123, 80, 2512, 2513, 2786, + 575, 592, 3054, 2056, 3084, 78, 1995, 3062, 1946, 1203, + 2350, 3018, 573, 3080, 2628, 120, 2942, 1226, 1227, 1228, + 1229, 1230, 1231, 1232, 1234, 1233, 1235, 1236, 1477, 2197, + 2492, 2493, 2153, 1940, 2318, 1892, 1893, 2849, 2317, 1203, + 2491, 2341, 2234, 1858, 1007, 2233, 1113, 1114, 2235, 1403, + 2563, 1404, 570, 2053, 2198, 1891, 1156, 1166, 1158, 1127, + 1107, 584, 1139, 778, 1128, 777, 87, 2992, 2054, 87, + 2563, 87, 1126, 2246, 1125, 1127, 580, 2282, 1116, 1002, + 1128, 592, 1004, 87, 1144, 1145, 592, 1829, 1910, 1909, + 593, 2383, 2591, 2619, 592, 2676, 1155, 1157, 2190, 2191, + 1140, 1133, 1005, 2511, 2617, 601, 1658, 605, 1199, 599, + 2352, 1191, 1600, 593, 2595, 2514, 1342, 2327, 2015, 2289, + 1977, 3115, 1078, 2026, 2023, 2025, 2024, 2027, 2028, 2584, + 2313, 2032, 3142, 2033, 1595, 2034, 1858, 2585, 1199, 2020, + 1160, 1103, 3116, 2593, 1109, 560, 1148, 562, 576, 2329, + 595, 2767, 594, 566, 1569, 564, 568, 577, 569, 2766, + 563, 2035, 574, 1165, 1084, 565, 578, 579, 582, 585, + 586, 587, 583, 581, 1939, 572, 596, 2592, 1007, 1146, + 999, 716, 1660, 1661, 1662, 1141, 1134, 1001, 1000, 1147, + 1142, 1143, 2354, 1153, 2021, 1083, 2017, 1154, 1570, 2917, + 1571, 87, 2019, 593, 186, 1045, 186, 1159, 1043, 186, + 1980, 1007, 1102, 1015, 2763, 1481, 1871, 1016, 1239, 1016, + 1006, 1054, 1053, 1345, 1052, 3097, 1856, 1857, 1051, 1050, + 1049, 1152, 187, 1048, 1047, 187, 1005, 1042, 187, 603, + 1173, 603, 603, 604, 2018, 187, 1055, 1239, 2384, 2514, + 991, 3161, 3121, 187, 991, 1028, 603, 603, 2364, 2363, + 2362, 2356, 991, 2360, 1064, 2355, 989, 2353, 187, 1027, + 1027, 1611, 2358, 1953, 1063, 821, 1106, 2054, 1502, 1137, + 1034, 2357, 2330, 593, 2006, 1073, 2157, 2159, 593, 1607, + 604, 1034, 1179, 604, 187, 604, 593, 1067, 2359, 2361, + 2533, 2312, 2346, 1475, 1123, 3153, 1129, 1130, 1131, 1132, + 1198, 1195, 1196, 1197, 1202, 1204, 1201, 1601, 1200, 1856, + 1857, 1602, 1603, 1474, 1185, 1194, 2762, 1473, 2299, 1167, + 1168, 2068, 2999, 37, 1608, 2333, 1471, 2943, 2280, 558, + 1198, 1195, 1196, 1197, 1202, 1204, 1201, 1999, 1200, 553, + 1046, 1013, 2988, 1044, 1006, 1194, 2248, 597, 2283, 2315, + 2325, 2715, 1997, 2324, 1898, 2695, 2230, 1161, 2193, 1056, + 1240, 1241, 1105, 2140, 1822, 590, 1242, 1243, 1244, 1245, + 1033, 2677, 1389, 3005, 1501, 1310, 1250, 1006, 1253, 1118, + 591, 1033, 3088, 2188, 1034, 1239, 1174, 1027, 1030, 1031, + 1236, 991, 116, 2490, 803, 1024, 1028, 1164, 2370, 1328, + 3013, 1943, 1057, 1122, 2564, 2565, 3017, 1175, 1176, 2758, + 111, 2272, 81, 1150, 1620, 2689, 1023, 2568, 186, 1246, + 2016, 1604, 603, 603, 2564, 2565, 3087, 2336, 1405, 1189, + 2303, 1730, 2335, 2726, 2727, 2815, 1208, 2568, 186, 2158, + 2845, 1944, 1333, 1581, 1580, 1582, 1583, 1584, 2815, 1942, + 86, 2055, 1994, 86, 1599, 86, 2733, 603, 786, 1351, + 1034, 186, 1730, 2732, 2082, 1984, 603, 86, 1136, 1511, + 1349, 1510, 603, 1188, 2302, 1186, 1500, 1187, 1992, 1138, + 112, 77, 1334, 1945, 1033, 2336, 1072, 830, 1346, 1263, + 2335, 1264, 1764, 1941, 1207, 1208, 1124, 3117, 1267, 1112, + 1034, 1348, 1115, 1058, 1209, 1352, 1045, 1034, 1043, 1989, + 3151, 788, 1989, 3152, 3032, 3150, 1074, 1075, 1076, 2716, + 1079, 1080, 1081, 1082, 3162, 2097, 1085, 1086, 1087, 1088, + 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, + 1099, 1100, 1101, 1996, 1121, 1334, 1993, 1350, 1689, 1991, + 1390, 95, 1316, 1317, 1318, 1319, 1320, 3033, 1151, 1621, + 1033, 1339, 1690, 1237, 1238, 1688, 1027, 1030, 1031, 1400, + 991, 3155, 2925, 2981, 1024, 1028, 3118, 1108, 98, 2924, + 1756, 1745, 1746, 1747, 1748, 1758, 1749, 1750, 1751, 1763, + 1759, 1752, 1753, 1760, 1761, 1762, 1754, 1755, 1757, 1596, + 1033, 1597, 3008, 1589, 1598, 1037, 1027, 1033, 2915, 3163, + 1039, 1336, 1037, 1027, 1040, 1038, 2982, 1039, 2805, 1347, + 785, 1040, 1038, 2060, 2061, 2062, 186, 834, 1370, 1353, + 1463, 2804, 1209, 787, 2740, 1041, 1206, 1209, 1207, 1208, + 1472, 2739, 1587, 1367, 1229, 1230, 1231, 1232, 1234, 1233, + 1235, 1236, 1395, 1396, 1231, 1232, 1234, 1233, 1235, 1236, + 1863, 1864, 87, 603, 2792, 1498, 2793, 1588, 1365, 1209, + 729, 730, 731, 1507, 2729, 1734, 1687, 1509, 825, 1735, + 1512, 1513, 603, 603, 2541, 603, 2529, 603, 603, 2254, + 603, 603, 603, 603, 603, 603, 1213, 1214, 1215, 1216, + 1217, 1218, 1219, 1211, 1544, 1545, 1586, 603, 2253, 1949, + 1508, 186, 1550, 1226, 1227, 1228, 1229, 1230, 1231, 1232, + 1234, 1233, 1235, 1236, 1576, 187, 1590, 187, 186, 1209, + 187, 1574, 1573, 1572, 1679, 1681, 1682, 1543, 1209, 1562, + 1546, 603, 1556, 186, 1227, 1228, 1229, 1230, 1231, 1232, + 1234, 1233, 1235, 1236, 1609, 1564, 2625, 603, 1680, 186, + 604, 1553, 604, 604, 1206, 1209, 1207, 1208, 1552, 1206, + 1551, 1207, 1208, 1494, 1523, 186, 1209, 604, 604, 188, + 189, 190, 186, 2723, 1487, 188, 189, 190, 1575, 2237, + 1374, 186, 186, 186, 186, 186, 186, 186, 186, 186, + 603, 1206, 3007, 1207, 1208, 1209, 2985, 2984, 1506, 1209, + 2372, 2983, 3127, 1365, 603, 603, 1516, 1547, 1517, 2078, + 1519, 1521, 1365, 2920, 1525, 1527, 1529, 1531, 1533, 1470, + 1505, 2905, 186, 188, 189, 190, 2904, 1965, 1504, 1504, + 1375, 2844, 1476, 2842, 1484, 1485, 1483, 2801, 3125, 1365, + 1497, 188, 189, 190, 1365, 1963, 2737, 2722, 1616, 3070, + 1365, 1206, 2596, 1207, 1208, 2950, 2532, 1624, 2531, 1548, + 1206, 2263, 1207, 1208, 1628, 2251, 1630, 1631, 1632, 1633, + 603, 1330, 2010, 1637, 1711, 1715, 1209, 2009, 3068, 1365, + 1714, 1714, 2077, 1720, 603, 1649, 1685, 1206, 2949, 1207, + 1208, 1853, 1835, 1622, 1623, 1651, 1617, 1612, 1206, 1585, + 1207, 1208, 1209, 1577, 603, 603, 1567, 1627, 1563, 1712, + 1712, 188, 189, 190, 1634, 1635, 1636, 1010, 1559, 120, + 1009, 1008, 188, 189, 190, 1731, 1961, 1206, 1558, 1207, + 1208, 1206, 1683, 1207, 1208, 1557, 1376, 1162, 2588, 187, + 1178, 2179, 3141, 604, 604, 1626, 1209, 3105, 1365, 2909, + 1364, 1693, 101, 2179, 3060, 1209, 1779, 2179, 3040, 187, + 1365, 2908, 1810, 100, 1209, 99, 1647, 2784, 1648, 2179, + 3036, 186, 3028, 1365, 94, 2290, 603, 2268, 604, 1906, + 1655, 1656, 187, 1209, 2688, 3066, 1365, 604, 1209, 2179, + 3001, 2776, 2998, 604, 94, 1686, 2642, 1365, 2928, 1365, + 186, 2179, 2916, 603, 2071, 2776, 1365, 2195, 1206, 2690, + 1207, 1208, 1779, 186, 2179, 2774, 1209, 603, 1989, 1365, + 2693, 1365, 186, 1691, 186, 1205, 186, 186, 603, 2966, + 1365, 603, 3093, 1365, 1206, 2452, 1207, 1208, 2964, 1365, + 1812, 1810, 603, 1840, 2195, 1841, 2688, 2961, 1365, 830, + 1205, 1365, 830, 1365, 1692, 1907, 1694, 1695, 1696, 1697, + 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1814, + 1815, 2953, 1365, 1736, 1737, 1738, 1739, 1740, 1206, 2203, + 1207, 1208, 95, 92, 2110, 1365, 3012, 1206, 1811, 1207, + 1208, 100, 1209, 2179, 93, 2203, 1206, 603, 1207, 1208, + 3119, 95, 2522, 2521, 1956, 1957, 1958, 2518, 2519, 1960, + 1962, 1964, 1209, 1846, 1873, 1206, 2688, 1207, 1208, 1812, + 1206, 2642, 1207, 1208, 603, 1916, 1917, 1918, 1919, 2520, + 603, 1507, 2518, 2517, 1507, 1911, 1507, 1912, 1913, 1914, + 1915, 1901, 1988, 800, 1834, 2203, 1365, 187, 1206, 1365, + 1207, 1208, 1902, 1922, 1923, 1924, 1925, 2069, 1365, 1884, + 2069, 101, 2054, 2311, 1466, 2293, 2425, 1868, 2485, 1978, + 1848, 1990, 100, 1932, 99, 2664, 1365, 603, 2054, 603, + 1905, 2286, 2287, 1866, 604, 603, 603, 1716, 1890, 834, + 2226, 1938, 834, 1889, 1722, 1723, 2996, 1888, 2179, 2178, + 1466, 1465, 2069, 604, 604, 1209, 604, 2110, 604, 604, + 1904, 604, 604, 604, 604, 604, 604, 1903, 2094, 2226, + 2093, 2175, 1989, 186, 1206, 1972, 1207, 1208, 604, 1989, + 186, 1861, 187, 1369, 1975, 1825, 94, 186, 186, 1948, + 1663, 186, 1365, 186, 1206, 92, 1207, 1208, 1606, 187, + 186, 1813, 94, 2227, 1816, 1817, 93, 186, 1933, 1947, + 1951, 1209, 604, 2229, 187, 1209, 1983, 1959, 1397, 1986, + 1018, 1987, 1017, 1928, 1929, 2105, 1411, 1410, 604, 790, + 187, 3043, 2227, 186, 1982, 1981, 1035, 2003, 603, 2913, + 1036, 1985, 2054, 1933, 2069, 1845, 187, 2202, 87, 1225, + 1504, 2005, 2939, 187, 1372, 3136, 2004, 2007, 2008, 2544, + 2906, 1365, 187, 187, 187, 187, 187, 187, 187, 187, + 187, 604, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1234, + 1233, 1235, 1236, 1209, 2073, 604, 604, 1206, 2856, 1207, + 1208, 2757, 2754, 2260, 2072, 1225, 2045, 2046, 1221, 1365, + 1222, 2048, 2203, 187, 1685, 2013, 1225, 87, 2345, 2735, + 2049, 1478, 1479, 1480, 1223, 1237, 1238, 1220, 1226, 1227, + 1228, 1229, 1230, 1231, 1232, 1234, 1233, 1235, 1236, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1234, 1233, 1235, 1236, - 1553, 603, 1206, 186, 1207, 1208, 1508, 1552, 1551, 1523, - 1206, 2373, 1207, 1208, 1609, 1374, 3009, 603, 1494, 186, - 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1211, 3008, 1206, - 1564, 1207, 1208, 1543, 2986, 186, 1546, 188, 189, 190, - 2985, 2724, 186, 2984, 2921, 1487, 3128, 1365, 1209, 1586, - 1575, 186, 186, 186, 186, 186, 186, 186, 186, 186, - 603, 2906, 1547, 1504, 1504, 1375, 2905, 3126, 1365, 2845, - 2843, 1863, 1864, 2589, 603, 603, 1516, 2802, 1517, 2738, - 1519, 1521, 2723, 2597, 1525, 1527, 1529, 1531, 1533, 2533, - 1470, 1505, 186, 1506, 2532, 1206, 2264, 1207, 1208, 2252, - 1485, 1209, 188, 189, 190, 1476, 1497, 1330, 1483, 1484, - 1209, 2078, 2010, 2009, 1853, 1835, 1206, 1616, 1207, 1208, - 1624, 1651, 1617, 1585, 1478, 1479, 1480, 1628, 2626, 1630, - 1631, 1632, 1633, 1577, 1567, 1563, 1637, 1178, 1559, 1558, - 603, 1548, 1711, 1715, 1557, 1376, 1714, 1714, 1649, 1162, - 2180, 3142, 1365, 1720, 603, 2951, 92, 1712, 1712, 188, - 189, 190, 1685, 2238, 1622, 1623, 101, 93, 1209, 3106, - 1365, 2950, 1612, 1209, 603, 603, 2910, 100, 1627, 99, - 1206, 2909, 1207, 1208, 2077, 1634, 1635, 1636, 94, 120, - 1554, 1555, 1010, 1009, 1365, 1209, 1560, 1561, 1008, 2180, - 3061, 1683, 2180, 3041, 716, 1692, 1209, 1694, 1695, 1696, - 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706, - 1693, 1626, 1365, 1209, 2180, 3037, 1779, 3029, 1365, 2180, - 3002, 1731, 1810, 1206, 94, 1207, 1208, 1209, 1647, 2785, - 1648, 186, 1206, 2453, 1207, 1208, 603, 1365, 2777, 2999, - 1209, 2118, 1655, 1656, 2689, 187, 3071, 1365, 187, 2486, - 92, 187, 2291, 1209, 2643, 1365, 604, 94, 187, 2054, - 186, 93, 1686, 603, 2269, 101, 187, 1906, 1840, 3120, - 1841, 1990, 1779, 186, 2098, 2689, 100, 603, 99, 3069, - 1365, 187, 186, 1365, 186, 2176, 186, 186, 603, 1691, - 1206, 603, 1207, 1208, 2203, 1206, 2711, 1207, 1208, 1812, - 94, 1810, 603, 604, 2929, 1365, 604, 187, 604, 830, - 3067, 1365, 830, 2691, 1907, 3094, 1365, 1206, 1205, 1207, - 1208, 2180, 2917, 2967, 1365, 95, 1814, 1815, 1206, 1989, - 1207, 1208, 3013, 1209, 100, 1736, 1737, 1738, 1739, 1740, - 1209, 2777, 1365, 1716, 95, 1206, 1365, 1207, 1208, 2204, - 1722, 1723, 1209, 2180, 2071, 1811, 2204, 603, 2069, 1206, - 2643, 1207, 1208, 1873, 1956, 1957, 1958, 2180, 2775, 1960, - 1962, 1964, 1206, 1846, 1207, 1208, 1989, 1365, 1812, 2521, - 1916, 1917, 1918, 1919, 603, 1206, 2426, 1207, 1208, 1890, - 603, 1507, 2069, 1225, 1507, 2067, 1507, 1902, 1901, 2694, - 1365, 1209, 1988, 2069, 1834, 1209, 800, 1813, 1205, 1365, - 1816, 1817, 2111, 1365, 1884, 2111, 1226, 1227, 1228, 1229, - 1230, 1231, 1232, 1234, 1233, 1235, 1236, 2523, 2522, 2095, - 1848, 1978, 2519, 2520, 1868, 2965, 1365, 603, 1911, 603, - 1912, 1913, 1914, 1915, 1932, 603, 603, 1905, 2094, 1938, - 1989, 1845, 1866, 2519, 2518, 1972, 1922, 1923, 1924, 1925, - 1889, 834, 1888, 1861, 834, 1206, 2196, 1207, 1208, 1904, - 1903, 2227, 1206, 1369, 1207, 1208, 2204, 1365, 2196, 1975, - 1209, 2069, 1365, 186, 1206, 2997, 1207, 1208, 2962, 1365, - 186, 1825, 1948, 2054, 2312, 1466, 2294, 186, 186, 2287, - 2288, 186, 3044, 186, 188, 189, 190, 1663, 1965, 1606, - 186, 1933, 1209, 2180, 2179, 1036, 1397, 186, 1928, 1929, - 1466, 1465, 1209, 1947, 1018, 1504, 1951, 1411, 1410, 2227, - 790, 1959, 2003, 1206, 2228, 1207, 1208, 1206, 2204, 1207, - 1208, 1017, 87, 186, 2230, 1035, 1933, 2545, 603, 1981, - 2689, 1983, 1985, 1982, 1986, 1225, 1987, 2940, 1221, 1209, - 1222, 2005, 2261, 2954, 1365, 1209, 2742, 2007, 2008, 1209, - 1372, 2907, 2857, 2004, 1223, 1237, 1238, 1220, 1226, 1227, - 1228, 1229, 1230, 1231, 1232, 1234, 1233, 1235, 1236, 2758, - 2755, 1209, 2228, 2736, 1107, 2665, 1365, 2635, 1225, 2045, - 2046, 2591, 2054, 2634, 2048, 2662, 1365, 1209, 87, 1468, - 2013, 1931, 1206, 2049, 1207, 1208, 2587, 2743, 2744, 2745, - 1685, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1234, 1233, - 1235, 1236, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1234, - 1233, 1235, 1236, 2914, 1206, 2547, 1207, 1208, 2660, 1365, - 2543, 3137, 2624, 1365, 1206, 2038, 1207, 1208, 2295, 1927, - 1921, 1209, 2064, 1920, 2066, 1592, 1499, 2087, 2089, 2091, - 2092, 2093, 1209, 2746, 2126, 1365, 1495, 2065, 1378, 2260, - 2073, 1209, 188, 189, 190, 1209, 1963, 1464, 113, 2941, - 2072, 1206, 1209, 1207, 1208, 1946, 1209, 1206, 1653, 1207, - 1208, 1206, 1838, 1207, 1208, 3135, 1539, 1209, 3113, 2052, - 188, 189, 190, 1209, 1961, 3023, 186, 2701, 2702, 1209, - 2747, 2748, 2749, 1206, 186, 1207, 1208, 2261, 2164, 603, - 1686, 2959, 1714, 2707, 2151, 603, 2063, 2704, 2539, 1206, - 2538, 1207, 1208, 1712, 1377, 2537, 603, 2453, 187, 2274, - 187, 2168, 2039, 187, 1373, 2706, 2760, 1540, 1541, 1542, - 1654, 1209, 2475, 2472, 2663, 2471, 2162, 2476, 2645, 3100, - 186, 2473, 2081, 3062, 186, 2641, 2474, 1844, 1852, 2632, - 2695, 1364, 2827, 604, 2826, 604, 604, 2431, 2200, 2237, - 2631, 2430, 2981, 1206, 2836, 1207, 1208, 2256, 2838, 37, - 604, 604, 2150, 2685, 1206, 2440, 1207, 1208, 2220, 2181, - 2682, 1812, 1605, 1206, 2104, 1207, 1208, 1206, 2681, 1207, - 1208, 2079, 776, 2517, 1206, 804, 1207, 1208, 1206, 2265, - 1207, 1208, 2825, 805, 1535, 1209, 2245, 603, 1726, 1206, - 1069, 1207, 1208, 186, 2149, 1206, 1068, 1207, 1208, 1209, - 186, 1206, 1727, 1207, 1208, 2477, 1209, 2213, 2214, 2190, - 2605, 2177, 92, 1209, 603, 1339, 2152, 1811, 2248, 2250, - 1209, 603, 2260, 93, 1209, 1507, 1507, 2340, 1177, 2301, - 603, 1536, 1537, 1538, 2173, 121, 2286, 2219, 2241, 2443, - 2445, 2178, 2687, 1206, 101, 1207, 1208, 2309, 2446, 2193, - 94, 2225, 3148, 2138, 2139, 100, 2308, 99, 186, 186, - 186, 186, 186, 1863, 1864, 2535, 94, 92, 2148, 2998, - 1938, 2936, 2229, 2042, 94, 2232, 2516, 1209, 93, 186, - 186, 2217, 2147, 2239, 1849, 812, 813, 2031, 2242, 2135, - 2429, 2030, 2029, 2667, 2058, 186, 2134, 99, 2428, 2973, - 2972, 2844, 2842, 2133, 2253, 2841, 2834, 2132, 2756, 2209, - 2212, 2213, 2214, 2210, 603, 2211, 2215, 1206, 2262, 1207, - 1208, 2686, 187, 2684, 101, 2270, 604, 604, 2275, 2276, - 2277, 1206, 2271, 1207, 1208, 100, 2307, 99, 1206, 1487, - 1207, 1208, 187, 2548, 1973, 1206, 1482, 1207, 1208, 811, - 1209, 100, 1206, 2833, 1207, 1208, 1206, 2370, 1207, 1208, - 2131, 604, 1714, 101, 1714, 187, 2675, 1714, 786, 2196, - 604, 2176, 1714, 1712, 100, 1712, 604, 2386, 1712, 2306, - 3139, 3138, 603, 1712, 2096, 2296, 2297, 1836, 1391, 2366, - 1382, 1209, 2263, 106, 107, 3138, 2348, 2266, 2267, 103, - 3139, 2987, 603, 2416, 2722, 2349, 2332, 802, 2329, 1206, - 88, 1207, 1208, 2409, 2410, 2411, 2412, 186, 1, 1363, - 1359, 603, 2088, 2338, 2726, 2402, 2339, 2397, 2399, 2397, - 2403, 3083, 2397, 2130, 1360, 603, 2367, 2397, 2350, 571, - 1826, 1337, 603, 603, 3114, 186, 186, 186, 186, 186, - 3079, 3080, 1578, 1568, 2788, 1780, 2416, 186, 2937, 1842, - 1843, 1362, 186, 1361, 2450, 186, 2551, 186, 1979, 2754, - 186, 186, 186, 2390, 2129, 1936, 1026, 2465, 1209, 146, - 792, 2459, 1206, 2485, 1207, 1208, 2433, 1899, 2404, 2405, - 2406, 2407, 2408, 1900, 2434, 3057, 110, 984, 109, 1209, - 1352, 2220, 1029, 1135, 2415, 1209, 2531, 1974, 2778, 2456, - 2246, 1908, 2421, 1417, 2456, 186, 1415, 1416, 1414, 1419, - 1418, 2097, 2646, 1206, 2432, 1207, 1208, 1657, 603, 600, - 187, 2422, 2423, 2424, 2216, 2425, 603, 2447, 2448, 1209, - 184, 186, 2435, 1406, 2487, 1383, 1070, 2488, 561, 794, - 2466, 2524, 2011, 2469, 186, 567, 1251, 1652, 2571, 793, - 2478, 2128, 95, 2427, 2233, 2467, 2468, 604, 2470, 831, - 1616, 824, 186, 2489, 1209, 186, 2464, 1837, 2495, 2482, - 2483, 2166, 2127, 2461, 2679, 2606, 604, 604, 2121, 604, - 2439, 604, 604, 2441, 604, 604, 604, 604, 604, 604, - 2527, 2550, 2526, 2525, 2183, 1209, 2444, 2437, 2980, 2579, - 1206, 604, 1207, 1208, 2835, 187, 3042, 2578, 2243, 1379, - 2080, 1728, 2120, 2549, 1878, 1678, 625, 624, 1938, 2570, - 622, 1206, 187, 1207, 1208, 2169, 2197, 1206, 2582, 1207, - 1208, 1212, 719, 2156, 1392, 604, 2208, 187, 2206, 2205, - 2040, 1209, 1885, 2703, 2699, 3075, 2640, 2119, 1880, 1209, - 1876, 604, 2600, 187, 2601, 2603, 2604, 603, 186, 2598, - 2175, 1206, 694, 1207, 1208, 2608, 633, 626, 618, 187, - 2719, 2577, 2315, 2588, 2609, 2317, 187, 2244, 2116, 2584, - 2616, 1190, 2622, 1209, 1355, 187, 187, 187, 187, 187, - 187, 187, 187, 187, 604, 612, 1206, 997, 1207, 1208, - 2942, 3004, 2057, 2528, 2529, 2628, 1354, 1743, 604, 604, - 1744, 3011, 2559, 2613, 2614, 2772, 2615, 186, 2540, 2617, - 2292, 2619, 1966, 2621, 2115, 63, 187, 1206, 41, 1207, - 1208, 1771, 2114, 607, 2673, 2725, 1209, 3096, 2668, 2669, - 1181, 2165, 818, 32, 727, 728, 186, 31, 30, 29, - 1713, 2676, 28, 2683, 23, 22, 21, 20, 19, 25, - 18, 17, 16, 2688, 2562, 186, 2112, 2698, 186, 186, - 186, 3109, 3147, 1206, 604, 1207, 1208, 2708, 603, 603, - 2705, 1206, 115, 1207, 1208, 50, 47, 45, 604, 2714, - 2715, 123, 122, 48, 2713, 2712, 2579, 44, 2720, 1110, - 2761, 2762, 42, 27, 2578, 2721, 26, 15, 604, 604, - 14, 13, 12, 11, 2737, 1206, 2739, 1207, 1208, 2108, - 10, 9, 603, 603, 603, 603, 734, 735, 736, 737, - 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, - 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, - 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, - 768, 769, 770, 771, 772, 773, 774, 775, 1206, 5, - 1207, 1208, 4, 35, 34, 187, 33, 1714, 1184, 1714, - 604, 2784, 24, 2, 2782, 2783, 2279, 2801, 1712, 1209, - 1712, 1968, 2209, 2212, 2213, 2214, 2210, 0, 2211, 2215, - 0, 186, 2701, 2702, 187, 0, 0, 604, 0, 0, - 2797, 0, 0, 0, 0, 1366, 1368, 187, 0, 2830, - 0, 604, 0, 2795, 0, 603, 187, 603, 187, 0, - 187, 187, 604, 0, 0, 604, 0, 2810, 0, 0, - 0, 2809, 2397, 2859, 2397, 0, 604, 1714, 0, 0, - 0, 2851, 2731, 2732, 2819, 0, 1363, 1359, 1712, 0, - 0, 0, 37, 2459, 2831, 0, 2855, 2459, 2840, 2853, - 2839, 1360, 2107, 0, 2849, 2847, 0, 786, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 603, - 2456, 0, 0, 0, 0, 0, 1356, 1357, 1362, 0, - 1361, 604, 186, 0, 2765, 603, 0, 0, 2769, 2770, - 2771, 2915, 2863, 0, 2860, 2861, 0, 0, 603, 0, - 0, 1206, 0, 1207, 1208, 0, 0, 0, 604, 0, - 0, 0, 0, 2912, 604, 0, 2919, 0, 0, 2939, - 2913, 0, 0, 0, 2927, 0, 2956, 2957, 2911, 0, - 2960, 0, 0, 2932, 1714, 603, 2931, 0, 0, 603, - 603, 0, 0, 0, 0, 1712, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 604, 0, 604, 0, 0, 0, 0, 603, 604, - 604, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2979, 2977, 2976, 2974, 2975, - 2991, 0, 0, 0, 2990, 0, 0, 0, 0, 0, - 0, 0, 2459, 0, 2988, 0, 0, 187, 2994, 0, - 0, 0, 0, 0, 187, 0, 0, 0, 603, 786, - 0, 187, 187, 0, 0, 187, 0, 187, 0, 0, - 0, 0, 0, 186, 187, 0, 0, 0, 0, 0, - 2996, 187, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 603, 186, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3010, 187, 0, 0, - 3003, 0, 604, 3015, 3012, 3007, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 37, 0, 0, 0, 2922, - 2923, 2924, 0, 0, 0, 0, 0, 0, 0, 0, - 603, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 603, 603, 0, 0, 0, 0, - 0, 3035, 0, 3040, 0, 0, 3043, 3045, 0, 0, - 603, 0, 0, 0, 0, 2939, 3058, 37, 3056, 186, - 603, 3048, 3053, 3050, 3049, 3065, 3047, 3052, 3051, 0, - 0, 0, 0, 0, 0, 0, 0, 3074, 2456, 0, - 0, 3092, 3082, 3087, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3099, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3108, 0, 0, 603, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 603, 0, 0, - 0, 3133, 3123, 0, 0, 1714, 0, 3121, 0, 3132, - 3130, 0, 3136, 3134, 0, 0, 1712, 0, 0, 0, - 187, 0, 0, 0, 0, 0, 0, 0, 187, 0, - 0, 3149, 0, 604, 0, 0, 0, 3157, 3155, 604, - 0, 0, 0, 0, 1732, 0, 0, 0, 1733, 0, - 604, 0, 0, 3165, 0, 0, 0, 1714, 3167, 3168, - 2957, 0, 3166, 0, 0, 182, 0, 0, 1712, 0, - 0, 0, 0, 0, 187, 0, 0, 0, 187, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, - 0, 143, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 164, 0, 0, 182, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1366, 1824, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, - 0, 0, 0, 153, 0, 0, 0, 0, 0, 142, - 0, 604, 164, 0, 0, 0, 0, 187, 0, 1847, - 0, 0, 0, 0, 187, 0, 0, 0, 0, 0, - 161, 0, 162, 0, 616, 0, 0, 0, 604, 0, - 0, 0, 0, 0, 0, 604, 0, 0, 130, 131, - 152, 151, 181, 0, 604, 2240, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 161, 0, 162, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 187, 187, 187, 187, 187, 0, 0, 0, - 0, 0, 181, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 187, 187, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, - 0, 1950, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 810, 0, 0, 816, 604, 816, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 147, 128, 154, 135, 127, 0, 148, 149, 0, 0, - 0, 0, 165, 0, 0, 0, 0, 0, 0, 0, - 0, 171, 136, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 139, 137, 132, 133, - 134, 138, 0, 0, 0, 0, 0, 0, 129, 0, - 0, 0, 165, 0, 0, 0, 604, 140, 0, 0, - 0, 171, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 604, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 187, 0, 0, 0, 604, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 604, - 0, 0, 0, 0, 0, 0, 604, 604, 0, 187, - 187, 187, 187, 187, 182, 0, 0, 0, 0, 0, - 0, 187, 0, 0, 0, 0, 187, 0, 156, 187, - 0, 187, 0, 0, 187, 187, 187, 0, 121, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 164, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 156, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 604, 0, 0, 0, 0, 0, 0, 0, - 604, 0, 0, 0, 0, 187, 150, 0, 2070, 161, - 0, 162, 2074, 0, 2075, 2076, 0, 0, 187, 0, - 0, 0, 0, 2084, 0, 0, 2085, 2086, 0, 0, - 0, 181, 0, 0, 0, 0, 187, 0, 0, 187, - 0, 0, 0, 0, 0, 0, 0, 0, 144, 0, - 0, 145, 0, 0, 0, 0, 0, 0, 2099, 2100, - 2101, 2102, 2103, 0, 2105, 0, 0, 0, 0, 0, - 2109, 0, 2110, 0, 0, 0, 2113, 0, 0, 0, - 0, 157, 0, 0, 2122, 2123, 2124, 2125, 169, 0, - 0, 0, 0, 0, 0, 0, 0, 2136, 2137, 0, - 0, 0, 0, 0, 0, 2142, 2143, 2144, 2145, 2146, - 0, 0, 0, 0, 0, 1847, 0, 0, 0, 0, - 0, 157, 0, 0, 0, 0, 2163, 0, 169, 0, - 177, 604, 187, 0, 0, 0, 0, 0, 0, 0, - 0, 165, 0, 0, 0, 0, 0, 0, 0, 0, - 171, 0, 0, 0, 0, 0, 0, 0, 0, 158, - 163, 160, 166, 167, 168, 170, 172, 173, 174, 175, - 177, 0, 0, 0, 0, 176, 178, 179, 180, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 187, 0, 0, 0, 0, 0, 0, 0, 158, - 163, 160, 166, 167, 168, 170, 172, 173, 174, 175, - 0, 0, 0, 0, 0, 176, 178, 179, 180, 0, - 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 182, 0, 0, 0, 187, - 0, 0, 187, 187, 187, 0, 2285, 0, 0, 0, - 0, 0, 604, 604, 0, 0, 0, 0, 0, 121, - 0, 143, 0, 0, 0, 0, 0, 156, 0, 0, - 0, 0, 164, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1210, 0, 0, 0, 604, 604, 604, 604, - 0, 0, 0, 153, 0, 0, 0, 0, 0, 142, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1259, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 161, 0, 162, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1490, 1491, - 152, 151, 181, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 187, 0, 0, 0, 2374, - 2375, 2376, 0, 2377, 2378, 2379, 0, 0, 0, 2383, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 604, - 0, 604, 0, 0, 0, 0, 0, 0, 0, 2398, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 157, 0, 0, 0, 0, 0, 0, 169, 0, 0, - 2413, 2414, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 147, 1492, 154, 0, 1489, 0, 148, 149, 0, 0, - 0, 0, 165, 604, 0, 0, 0, 0, 0, 177, - 0, 171, 0, 0, 0, 0, 187, 0, 0, 604, - 0, 0, 0, 0, 0, 0, 1381, 0, 0, 0, - 0, 0, 604, 2462, 0, 0, 0, 0, 158, 163, - 160, 166, 167, 168, 170, 172, 173, 174, 175, 0, - 2480, 2481, 0, 0, 176, 178, 179, 180, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 604, - 0, 0, 0, 604, 604, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 695, 0, - 0, 0, 604, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 156, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 604, 0, 0, 0, 0, 0, 0, 0, - 602, 0, 0, 0, 0, 0, 0, 187, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2607, 0, 0, - 0, 0, 0, 0, 0, 604, 187, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2623, - 2625, 2627, 0, 0, 0, 0, 150, 832, 0, 0, - 988, 1469, 995, 0, 2633, 0, 0, 0, 0, 2637, - 2638, 2639, 0, 0, 0, 0, 2642, 0, 0, 0, - 0, 0, 2644, 0, 604, 2648, 2649, 2650, 2651, 2652, - 2653, 2654, 2655, 2656, 2657, 0, 0, 2658, 144, 2659, - 2661, 145, 2664, 0, 0, 0, 3107, 2670, 604, 604, - 0, 0, 0, 0, 0, 0, 1434, 0, 0, 0, - 0, 0, 0, 0, 604, 0, 0, 0, 0, 0, - 0, 157, 0, 187, 604, 0, 0, 0, 169, 0, - 0, 0, 2692, 2693, 0, 0, 2697, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2709, 2710, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 177, 0, 0, 0, 0, 0, 0, 1618, 0, 604, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 604, 0, 0, 0, 0, 0, 0, 0, 158, - 163, 160, 166, 167, 168, 170, 172, 173, 174, 175, - 0, 0, 0, 0, 0, 176, 178, 179, 180, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2776, 0, 0, 0, 1422, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1673, 1674, 1675, 1676, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1434, 0, - 0, 0, 0, 2796, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2798, 0, 0, 0, 0, 0, - 0, 0, 816, 1718, 1719, 0, 0, 0, 2807, 816, - 816, 1724, 2808, 0, 0, 0, 0, 0, 2812, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1435, 1765, 1766, 1767, 1768, 1769, 1770, 1772, 1776, 1777, - 0, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791, - 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1800, 1801, - 1802, 1803, 1804, 1805, 816, 0, 816, 816, 816, 816, - 816, 0, 0, 0, 0, 0, 1818, 1819, 1820, 1821, - 0, 0, 0, 0, 0, 0, 0, 0, 1448, 1451, - 1452, 1453, 1454, 1455, 1456, 0, 1457, 1458, 1459, 1460, - 1461, 1436, 1437, 1438, 1439, 1420, 1421, 1449, 0, 1423, - 816, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, - 1422, 0, 1433, 1440, 1441, 1442, 1443, 1444, 1445, 1446, - 1447, 0, 1859, 1860, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2928, 0, 0, 0, 0, 0, - 0, 0, 0, 2935, 0, 0, 0, 0, 0, 0, - 1896, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2945, 2946, 2947, 0, 2948, 2949, 0, 0, 0, - 0, 2952, 0, 2953, 0, 2955, 2958, 0, 0, 0, - 0, 0, 2961, 2963, 2964, 2966, 2969, 0, 0, 0, - 0, 0, 1435, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1934, - 0, 0, 0, 0, 0, 0, 0, 832, 0, 832, - 832, 0, 0, 0, 2995, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1180, 1182, 0, 0, 0, 0, - 0, 0, 1450, 0, 0, 0, 0, 0, 0, 0, - 1448, 1451, 1452, 1453, 1454, 1455, 1456, 0, 1457, 1458, - 1459, 1460, 1461, 1436, 1437, 1438, 1439, 1420, 1421, 1449, - 0, 1423, 0, 1424, 1425, 1426, 1427, 1428, 1429, 1430, - 1431, 1432, 0, 0, 1433, 1440, 1441, 1442, 1443, 1444, - 1445, 1446, 1447, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3017, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 78, 39, 40, 80, 3022, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3030, 0, 0, 0, 84, 0, 3031, 3032, 43, 69, - 70, 0, 67, 71, 0, 0, 0, 0, 0, 0, - 0, 68, 0, 1331, 3038, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 56, 0, 0, 0, 0, 0, 0, 0, 3066, 3068, - 3070, 0, 87, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 182, 0, 0, 0, 3095, 0, - 1343, 1344, 0, 0, 1450, 1486, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3101, 121, 0, - 143, 0, 0, 0, 0, 0, 0, 3105, 0, 0, - 0, 164, 0, 0, 0, 1387, 0, 0, 0, 0, - 0, 0, 0, 0, 832, 0, 0, 0, 0, 0, - 1407, 0, 0, 0, 3125, 3127, 3129, 0, 0, 0, - 816, 0, 153, 0, 0, 2083, 0, 0, 142, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 161, - 0, 162, 0, 0, 0, 0, 0, 3159, 3160, 0, - 0, 0, 0, 0, 0, 0, 1259, 1490, 1491, 152, - 151, 181, 0, 0, 0, 0, 0, 46, 49, 52, - 51, 54, 0, 66, 0, 0, 75, 72, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 816, 816, 726, 79, 0, 0, 0, 55, - 83, 82, 0, 0, 64, 65, 53, 0, 0, 0, - 0, 0, 73, 74, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1381, 0, 0, 0, - 0, 0, 57, 58, 0, 59, 60, 61, 62, 147, - 1492, 154, 0, 1489, 0, 148, 149, 0, 0, 0, - 0, 165, 789, 0, 79, 0, 0, 0, 0, 0, - 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 988, 789, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1331, 0, 0, 0, 996, 0, - 1515, 1515, 0, 1515, 0, 1515, 1515, 0, 1524, 1515, - 1515, 1515, 1515, 1515, 0, 0, 0, 0, 0, 0, - 0, 1331, 0, 0, 1331, 988, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1591, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 81, 0, 1613, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 156, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 86, 0, 832, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 832, 832, 2345, 0, 0, 0, 0, 0, + 2038, 2634, 2633, 1206, 1468, 1207, 1208, 1206, 1209, 1207, + 1208, 604, 1931, 2586, 1209, 2546, 2741, 2088, 2089, 2090, + 2091, 2092, 2542, 2294, 1927, 604, 2661, 1365, 2065, 1921, + 1920, 1592, 1225, 1499, 2067, 1495, 1464, 1554, 1555, 1209, + 113, 2259, 1539, 1560, 1561, 604, 604, 1209, 1107, 2700, + 2701, 2590, 2940, 1946, 2052, 1226, 1227, 1228, 1229, 1230, + 1231, 1232, 1234, 1233, 1235, 1236, 186, 2742, 2743, 2744, + 1209, 1838, 3134, 1686, 186, 1206, 1653, 1207, 1208, 603, + 2163, 2063, 3112, 1209, 2150, 603, 1714, 1378, 2745, 2260, + 3022, 2659, 1365, 1540, 1541, 1542, 603, 2623, 1365, 2958, + 2703, 2161, 2538, 2537, 2536, 1209, 2452, 2273, 1535, 2039, + 2706, 1209, 187, 2705, 2474, 1712, 1209, 604, 2081, 2475, + 186, 2472, 2125, 1365, 186, 2476, 2473, 2212, 2213, 2471, + 2117, 2064, 3099, 2066, 2167, 2746, 2747, 2748, 1654, 2236, + 1206, 187, 1207, 1208, 604, 3061, 1206, 2470, 1207, 1208, + 1209, 1852, 1373, 1377, 187, 1536, 1537, 1538, 604, 1844, + 2103, 2694, 1812, 187, 2180, 187, 2710, 187, 187, 604, + 2430, 1206, 604, 1207, 1208, 2442, 2444, 2199, 2826, 1206, + 2825, 1207, 1208, 604, 2445, 2835, 37, 603, 2429, 2759, + 1209, 2980, 2837, 186, 2662, 2219, 2684, 1605, 2681, 2644, + 186, 2439, 1206, 2189, 1207, 1208, 2680, 776, 1209, 1339, + 1811, 2176, 2151, 1209, 603, 1206, 2516, 1207, 1208, 804, + 2244, 603, 2264, 2247, 2249, 1507, 1507, 805, 2824, 1069, + 603, 2172, 1068, 2640, 2177, 2218, 2604, 1206, 604, 1207, + 1208, 2240, 1177, 1206, 2192, 1207, 1208, 2308, 1206, 1726, + 1207, 1208, 2259, 1209, 2339, 2300, 2224, 2307, 186, 186, + 186, 186, 186, 1727, 121, 604, 2228, 92, 2686, 2285, + 2231, 604, 1938, 2631, 94, 2079, 2238, 92, 93, 186, + 186, 2241, 1206, 94, 1207, 1208, 1863, 1864, 93, 101, + 3147, 2252, 2255, 2534, 2042, 186, 2630, 2997, 2935, 2515, + 100, 2216, 99, 1209, 2261, 1849, 2208, 2211, 2212, 2213, + 2209, 94, 2210, 2214, 603, 2270, 2700, 2701, 604, 2031, + 604, 2030, 1206, 2428, 1207, 1208, 604, 604, 2274, 2275, + 2276, 2427, 2269, 812, 813, 2029, 2149, 2666, 1487, 2306, + 1206, 2058, 1207, 1208, 99, 1206, 2972, 1207, 1208, 2971, + 786, 2843, 2841, 2840, 1366, 1368, 2833, 2137, 2138, 2755, + 2295, 2296, 2369, 2685, 187, 1714, 2683, 1714, 1209, 2547, + 1714, 187, 2305, 1973, 2365, 1714, 1209, 1482, 187, 187, + 811, 603, 187, 100, 187, 1206, 2148, 1207, 1208, 2674, + 2396, 187, 2396, 2832, 1712, 2396, 1712, 2347, 187, 1712, + 2396, 603, 2415, 2195, 1712, 2328, 2348, 101, 3138, 3137, + 1209, 2331, 2408, 2409, 2410, 2411, 186, 101, 100, 2175, + 603, 2401, 2337, 2385, 187, 2338, 2402, 2398, 100, 604, + 99, 2349, 2095, 1836, 603, 1206, 2366, 1207, 1208, 1391, + 1382, 603, 603, 3137, 186, 186, 186, 186, 186, 106, + 107, 2147, 3138, 2986, 2721, 2415, 186, 802, 103, 2146, + 88, 186, 1, 2725, 186, 3082, 186, 2432, 2389, 186, + 186, 186, 2455, 571, 2458, 2464, 1826, 2455, 1337, 1209, + 1363, 1359, 3113, 3078, 2484, 3079, 1209, 2403, 2404, 2405, + 2406, 2407, 1578, 2134, 1568, 1360, 1209, 2787, 2449, 1780, + 1206, 2936, 1207, 1208, 2433, 2530, 2414, 2550, 1206, 1979, + 1207, 1208, 2420, 2753, 186, 1936, 792, 1026, 1209, 2431, + 1842, 1843, 1362, 146, 1361, 1899, 1900, 603, 3056, 1209, + 2446, 2447, 110, 984, 2424, 603, 1352, 2219, 616, 109, + 186, 2434, 1206, 1029, 1207, 1208, 2466, 2467, 1135, 2469, + 1974, 2777, 2245, 186, 2486, 2465, 793, 2487, 2468, 2477, + 794, 1209, 2133, 1908, 2549, 2421, 2422, 2423, 1417, 2132, + 1616, 186, 1415, 2488, 186, 2463, 2481, 2482, 95, 2131, + 2494, 1416, 1209, 1414, 2605, 1419, 1418, 1209, 2096, 2645, + 2570, 1657, 600, 2215, 184, 2526, 2525, 187, 2524, 1406, + 1209, 2130, 1383, 1070, 561, 187, 2523, 1209, 2011, 567, + 604, 1206, 2129, 1207, 1208, 2578, 604, 1251, 1206, 2577, + 1207, 1208, 1652, 2426, 2232, 831, 2569, 604, 1206, 1938, + 1207, 1208, 1209, 824, 1837, 2165, 2460, 2548, 810, 2678, + 2581, 816, 2438, 816, 2128, 2440, 2182, 2443, 2436, 2979, + 1206, 187, 1207, 1208, 2834, 187, 2639, 2600, 3041, 2242, + 2597, 1206, 2599, 1207, 1208, 2127, 603, 186, 1209, 1379, + 2126, 2602, 2603, 2080, 1728, 2607, 1878, 1678, 2615, 2612, + 2613, 625, 2614, 2120, 2608, 2616, 624, 2618, 2621, 2620, + 2119, 622, 2168, 1206, 2196, 1207, 1208, 1212, 2208, 2211, + 2212, 2213, 2209, 1209, 2210, 2214, 719, 2155, 1392, 2207, + 2205, 2204, 1209, 2040, 1206, 2118, 1207, 1208, 604, 1206, + 1885, 1207, 1208, 1209, 187, 2672, 186, 2702, 2698, 3074, + 1880, 187, 1206, 1876, 1207, 1208, 1209, 2174, 694, 1206, + 633, 1207, 1208, 626, 2724, 604, 2667, 2668, 618, 2718, + 2576, 2115, 604, 2314, 2587, 186, 2316, 2675, 2697, 2243, + 2682, 604, 2583, 1190, 1206, 1355, 1207, 1208, 1209, 2707, + 612, 997, 2687, 2941, 186, 3003, 2057, 186, 186, 186, + 2713, 2714, 2627, 1354, 1743, 1744, 2114, 603, 603, 187, + 187, 187, 187, 187, 2704, 2113, 2711, 3010, 2558, 2771, + 1206, 2539, 1207, 1208, 2291, 1966, 2111, 2719, 63, 41, + 187, 187, 2578, 2720, 2712, 1771, 2577, 607, 3095, 2107, + 1181, 1363, 1359, 1732, 818, 32, 187, 1733, 2736, 31, + 2738, 603, 603, 603, 603, 1206, 1360, 1207, 1208, 30, + 29, 28, 2760, 2761, 1206, 604, 1207, 1208, 23, 22, + 21, 2106, 20, 19, 25, 1206, 18, 1207, 1208, 17, + 16, 1356, 1357, 1362, 2561, 1361, 3108, 3146, 1206, 115, + 1207, 1208, 50, 2783, 47, 45, 123, 122, 48, 44, + 1110, 42, 27, 26, 15, 14, 13, 2781, 2782, 12, + 1714, 11, 1714, 10, 9, 1366, 1824, 5, 4, 2262, + 1206, 35, 1207, 1208, 2265, 2266, 34, 33, 1184, 24, + 186, 2, 604, 2278, 1968, 2396, 0, 2396, 0, 1712, + 0, 1712, 0, 0, 2796, 0, 0, 0, 1847, 0, + 2829, 2800, 604, 0, 603, 0, 603, 0, 0, 0, + 0, 0, 0, 2809, 0, 0, 0, 187, 2818, 0, + 2808, 604, 0, 0, 2858, 0, 0, 0, 0, 0, + 1714, 0, 0, 2455, 0, 604, 2458, 2838, 786, 0, + 2458, 2830, 604, 604, 0, 187, 187, 187, 187, 187, + 2854, 2852, 0, 2848, 2839, 0, 0, 187, 2846, 1712, + 0, 182, 187, 0, 0, 187, 0, 187, 603, 2850, + 187, 187, 187, 0, 0, 2859, 2860, 0, 37, 0, + 2862, 186, 0, 0, 603, 121, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 603, 164, 0, + 1950, 0, 0, 0, 0, 0, 0, 0, 2926, 2918, + 2910, 2912, 2911, 0, 0, 187, 0, 0, 2938, 0, + 0, 2794, 0, 2914, 2955, 2956, 0, 0, 604, 2930, + 2931, 2959, 0, 0, 603, 0, 604, 1714, 603, 603, + 0, 187, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 187, 0, 161, 0, 162, 0, + 0, 0, 0, 0, 0, 0, 1712, 603, 0, 2976, + 0, 0, 187, 2975, 0, 187, 0, 0, 181, 2973, + 2974, 0, 0, 0, 2978, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2458, 0, 0, 0, 2498, + 786, 0, 0, 0, 0, 0, 2987, 0, 0, 0, + 0, 0, 2993, 0, 0, 0, 0, 603, 0, 0, + 0, 0, 2990, 0, 0, 0, 1210, 0, 2989, 0, + 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2499, 0, 0, 0, 0, 0, + 603, 186, 0, 0, 1259, 0, 0, 0, 0, 3006, + 0, 0, 0, 3002, 0, 3009, 0, 604, 187, 0, + 2501, 0, 2995, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2496, 0, 0, 0, 165, 2527, + 2528, 0, 0, 0, 0, 0, 0, 171, 0, 603, + 0, 2512, 2513, 0, 0, 3014, 0, 0, 2497, 0, + 0, 0, 3011, 0, 0, 0, 0, 0, 0, 0, + 0, 37, 0, 603, 603, 0, 0, 187, 0, 3034, + 0, 2455, 0, 0, 3044, 0, 0, 0, 0, 603, + 3055, 2503, 0, 3047, 2938, 3057, 3052, 2070, 186, 603, + 3049, 2074, 3048, 2075, 2076, 3064, 187, 3046, 3051, 0, + 3050, 0, 2084, 0, 0, 2085, 2086, 3039, 3073, 3091, + 3081, 3086, 0, 0, 3042, 187, 0, 0, 187, 187, + 187, 0, 0, 37, 3098, 0, 0, 0, 604, 604, + 0, 0, 0, 0, 0, 0, 0, 2098, 2099, 2100, + 2101, 2102, 3107, 2104, 603, 0, 0, 2511, 0, 2108, + 0, 2109, 0, 0, 156, 2112, 603, 0, 0, 2514, + 1381, 3122, 3132, 2121, 2122, 2123, 2124, 3135, 1714, 3131, + 3129, 3133, 604, 604, 604, 604, 2135, 2136, 0, 0, + 0, 0, 0, 0, 2141, 2142, 2143, 2144, 2145, 0, + 0, 3148, 0, 0, 1847, 0, 3154, 1712, 3156, 3120, + 0, 0, 0, 0, 0, 2162, 0, 0, 0, 0, + 0, 0, 0, 0, 3164, 0, 3166, 3167, 2956, 3165, + 1714, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1712, + 695, 187, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2500, 0, + 0, 0, 0, 0, 0, 604, 0, 604, 2730, 2731, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 157, 0, 0, + 0, 0, 602, 0, 169, 0, 182, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2764, 0, 0, 0, 2768, 2769, 2770, 0, 0, 604, + 121, 0, 0, 0, 0, 1469, 0, 0, 0, 0, + 0, 0, 187, 164, 0, 604, 177, 0, 0, 832, + 0, 0, 988, 0, 995, 0, 0, 0, 604, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 158, 163, 160, 166, 167, + 168, 170, 172, 173, 174, 175, 2239, 0, 0, 0, + 0, 176, 178, 179, 180, 604, 0, 0, 0, 604, + 604, 161, 0, 162, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2504, 0, 0, 0, 2508, 0, + 0, 0, 0, 181, 0, 0, 2507, 0, 604, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2373, 2374, + 2375, 2376, 2377, 2378, 0, 0, 0, 2382, 0, 0, + 2509, 1618, 0, 0, 0, 2505, 0, 0, 0, 0, + 2506, 0, 0, 0, 0, 0, 0, 2397, 604, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 187, 0, 0, 0, 0, 2412, 2413, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 604, 187, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2921, 2922, 2923, 0, 0, + 0, 0, 0, 165, 0, 0, 0, 0, 0, 0, + 0, 0, 171, 0, 1673, 1674, 1675, 1676, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 604, 2461, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2479, 2480, + 0, 0, 0, 0, 604, 604, 816, 1718, 1719, 0, + 0, 0, 0, 816, 816, 1724, 0, 0, 0, 0, + 604, 0, 0, 0, 0, 0, 0, 0, 0, 187, + 604, 0, 0, 0, 0, 1765, 1766, 1767, 1768, 1769, + 1770, 1772, 1776, 1777, 0, 1783, 1784, 1785, 1786, 1787, + 1788, 1789, 1790, 1791, 1792, 1793, 1794, 1795, 1796, 1797, + 1798, 1799, 1800, 1801, 1802, 1803, 1804, 1805, 816, 0, + 816, 816, 816, 816, 816, 0, 0, 0, 0, 156, + 1818, 1819, 1820, 1821, 0, 604, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 604, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 816, 0, 0, 0, 0, 0, - 0, 0, 2368, 2369, 0, 0, 0, 2372, 0, 0, - 0, 0, 0, 0, 0, 150, 0, 0, 0, 2380, - 2381, 2382, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2387, 2388, 2389, 0, 0, 1783, 2391, 0, 2392, - 2393, 0, 0, 0, 2400, 2401, 0, 0, 1708, 0, - 0, 0, 1783, 1783, 1783, 1783, 1783, 144, 0, 0, - 145, 0, 1721, 0, 0, 816, 0, 0, 0, 1331, - 0, 0, 2417, 2418, 2419, 2420, 0, 0, 0, 0, - 0, 0, 1741, 1742, 0, 0, 0, 0, 0, 0, - 157, 0, 0, 0, 0, 0, 0, 169, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 832, - 0, 2451, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, - 0, 0, 0, 0, 0, 0, 0, 0, 2484, 0, - 0, 0, 0, 0, 1839, 0, 0, 0, 0, 696, - 0, 0, 0, 0, 0, 0, 0, 0, 158, 163, - 160, 166, 167, 168, 170, 172, 173, 174, 175, 0, - 0, 1851, 0, 0, 176, 178, 179, 180, 0, 0, - 0, 0, 0, 0, 0, 1387, 0, 0, 832, 0, - 0, 0, 0, 0, 0, 0, 832, 0, 2546, 832, - 185, 0, 0, 557, 0, 0, 598, 0, 0, 0, - 988, 0, 0, 557, 0, 0, 0, 0, 0, 0, - 0, 557, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 799, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 817, 0, 817, 0, 0, 0, 0, 0, - 0, 0, 557, 0, 0, 995, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2630, 0, - 0, 0, 988, 0, 0, 0, 0, 0, 995, 0, - 0, 2636, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1170, 0, 1170, 1170, 0, 0, 0, - 2870, 2872, 2871, 2881, 2882, 2883, 2884, 2885, 2886, 2887, - 660, 0, 79, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 988, 0, 1708, 0, 0, - 0, 0, 0, 1708, 1708, 0, 0, 0, 0, 789, - 1247, 1248, 1249, 0, 1252, 0, 1254, 1255, 1256, 1257, - 0, 1260, 1262, 1262, 0, 1262, 1266, 1266, 1268, 1269, - 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, - 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, - 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, - 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 0, - 1309, 0, 1311, 1312, 1313, 1314, 1315, 0, 0, 0, - 0, 1266, 1266, 1266, 1266, 1266, 1321, 1322, 1323, 1324, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2051, 1340, 2757, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2781, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1341, 0, 0, 0, 0, 0, - 789, 556, 0, 0, 789, 0, 0, 0, 0, 0, - 789, 606, 0, 0, 0, 0, 0, 0, 0, 779, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2799, - 0, 2800, 0, 0, 0, 0, 2803, 2804, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2811, 2876, 2877, 0, 0, 0, 0, 0, 0, 0, - 992, 0, 0, 0, 0, 2820, 0, 2821, 2822, 0, - 2823, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2848, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2856, 0, 0, 2858, - 0, 832, 706, 0, 650, 710, 652, 707, 708, 0, - 648, 651, 709, 2862, 0, 0, 0, 1851, 0, 0, - 0, 0, 0, 2170, 0, 0, 0, 0, 0, 0, - 0, 2908, 0, 0, 2185, 0, 0, 0, 0, 658, - 659, 2869, 2873, 2874, 2875, 2878, 2879, 2880, 2888, 2890, - 683, 2889, 2891, 2892, 2893, 2896, 2897, 2898, 2899, 2894, - 2895, 2900, 2865, 2864, 2866, 2867, 2868, 2901, 2902, 2903, - 2904, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 557, 87, 557, 0, 0, 557, 0, - 720, 727, 728, 729, 730, 731, 721, 723, 0, 0, - 0, 722, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 725, 732, 733, 0, 0, 0, - 0, 0, 0, 0, 0, 2268, 0, 0, 2978, 0, + 0, 0, 0, 0, 0, 2606, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1859, 1860, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2622, 2624, 2626, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2632, 0, 1896, 0, 0, 2636, 2637, 2638, + 0, 0, 0, 0, 2641, 0, 0, 0, 0, 0, + 2643, 0, 0, 2647, 2648, 2649, 2650, 2651, 2652, 2653, + 2654, 2655, 2656, 0, 0, 2657, 0, 2658, 2660, 0, + 2663, 0, 0, 0, 0, 2669, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1434, 0, 0, 0, 0, + 0, 0, 0, 1934, 0, 0, 0, 0, 0, 0, + 0, 0, 157, 0, 0, 0, 0, 0, 0, 169, + 2691, 2692, 0, 0, 2696, 0, 0, 0, 0, 832, + 0, 832, 832, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2708, 2709, 0, 0, 1180, 1182, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 177, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 158, 163, 160, 166, 167, 168, 170, 172, 173, 174, + 175, 0, 0, 0, 0, 0, 176, 178, 179, 180, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2775, 0, 0, 0, 0, 1422, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1331, 0, 0, 0, 0, + 0, 2795, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2797, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2806, 0, 0, 0, + 2807, 0, 0, 0, 0, 0, 2811, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1435, + 0, 0, 1343, 1344, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1387, 0, 0, + 0, 0, 0, 0, 816, 0, 832, 0, 0, 2083, + 0, 0, 1407, 0, 0, 0, 0, 1448, 1451, 1452, + 1453, 1454, 1455, 1456, 0, 1457, 1458, 1459, 1460, 1461, + 1436, 1437, 1438, 1439, 1420, 1421, 1449, 0, 1423, 0, + 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 0, + 1259, 1433, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 182, + 0, 0, 2927, 0, 0, 0, 0, 0, 0, 0, + 0, 2934, 0, 0, 0, 0, 816, 816, 0, 0, + 0, 0, 0, 121, 0, 143, 0, 0, 0, 2944, + 2945, 2946, 0, 2947, 2948, 0, 164, 0, 0, 2951, + 0, 2952, 0, 2954, 2957, 726, 79, 0, 0, 0, + 2960, 2962, 2963, 2965, 2968, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 153, 0, 0, + 1381, 0, 0, 142, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2994, 0, 161, 0, 162, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1450, 130, 131, 152, 151, 181, 0, 0, 0, + 0, 0, 0, 789, 0, 79, 0, 0, 0, 0, + 0, 0, 0, 988, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 789, 0, 0, 1331, 0, 0, 0, + 0, 0, 1515, 1515, 0, 1515, 0, 1515, 1515, 996, + 1524, 1515, 1515, 1515, 1515, 1515, 0, 0, 0, 0, + 0, 0, 3016, 1331, 0, 0, 1331, 988, 0, 0, + 0, 0, 0, 0, 0, 0, 3021, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 3029, 0, + 0, 0, 0, 0, 3030, 3031, 0, 0, 0, 0, + 0, 1591, 0, 0, 147, 128, 154, 135, 127, 0, + 148, 149, 3037, 0, 0, 0, 165, 1613, 0, 0, + 0, 0, 0, 0, 0, 171, 136, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 139, 137, 132, 133, 134, 138, 3065, 3067, 3069, 0, + 0, 0, 129, 0, 0, 0, 0, 0, 2344, 0, + 832, 140, 0, 0, 0, 0, 3094, 0, 816, 0, + 0, 0, 0, 0, 832, 832, 2367, 2368, 0, 0, + 0, 2371, 0, 0, 0, 3100, 0, 0, 0, 0, + 0, 0, 2379, 2380, 2381, 3104, 0, 0, 0, 0, + 0, 0, 0, 0, 2386, 2387, 2388, 0, 0, 1783, + 2390, 0, 2391, 2392, 0, 0, 0, 2399, 2400, 0, + 0, 0, 3124, 3126, 3128, 1783, 1783, 1783, 1783, 1783, + 0, 0, 0, 0, 0, 0, 0, 0, 816, 0, + 1708, 0, 156, 0, 0, 2416, 2417, 2418, 2419, 0, + 0, 0, 0, 0, 1721, 0, 0, 0, 0, 0, + 0, 1331, 0, 0, 0, 3158, 3159, 0, 0, 0, + 0, 0, 0, 0, 1741, 1742, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2450, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 832, 0, 0, 0, 0, 0, 0, 182, 0, + 150, 2483, 0, 0, 0, 1340, 0, 0, 0, 2284, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 121, 0, 143, 0, 1839, 0, 0, 0, + 0, 0, 0, 0, 0, 164, 0, 0, 0, 0, + 0, 0, 144, 0, 0, 145, 0, 0, 0, 0, + 0, 0, 0, 1851, 0, 0, 0, 0, 0, 556, + 0, 2545, 0, 0, 0, 0, 153, 1387, 0, 606, + 832, 0, 142, 0, 0, 157, 0, 779, 832, 0, + 0, 832, 169, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 988, 161, 0, 162, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1490, 1491, 152, 151, 181, 0, 0, 992, 0, + 0, 0, 0, 0, 177, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 995, 0, 0, + 0, 2629, 0, 158, 163, 160, 166, 167, 168, 170, + 172, 173, 174, 175, 2635, 0, 0, 0, 0, 176, + 178, 179, 180, 0, 988, 0, 0, 0, 0, 0, + 995, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1170, 0, 1170, 1170, 0, 0, + 0, 0, 0, 147, 1492, 154, 0, 1489, 0, 148, + 149, 0, 0, 79, 0, 165, 0, 988, 0, 1708, + 0, 0, 0, 0, 171, 1708, 1708, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 789, 1247, 1248, 1249, 0, 1252, 0, 1254, 1255, 1256, + 1257, 0, 1260, 1262, 1262, 0, 1262, 1266, 1266, 1268, + 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, + 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, + 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, + 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, + 0, 1309, 0, 1311, 1312, 1313, 1314, 1315, 0, 0, + 0, 2756, 1266, 1266, 1266, 1266, 1266, 1321, 1322, 1323, + 1324, 0, 0, 0, 0, 0, 0, 0, 2051, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 156, 0, 0, 2780, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1341, 0, 0, 0, 0, + 0, 789, 2798, 0, 2799, 789, 0, 0, 0, 2802, + 2803, 789, 0, 182, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2810, 1486, 0, 0, 0, 0, 150, + 0, 0, 0, 0, 0, 0, 0, 121, 2819, 143, + 2820, 2821, 0, 2822, 0, 0, 0, 0, 0, 0, + 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2847, 0, + 0, 144, 0, 0, 145, 0, 0, 0, 0, 2855, + 0, 153, 2857, 0, 0, 0, 0, 142, 0, 0, + 0, 0, 0, 0, 0, 0, 2861, 0, 0, 0, + 0, 0, 0, 832, 157, 0, 0, 0, 161, 0, + 162, 169, 0, 0, 2907, 0, 0, 0, 0, 1851, + 0, 0, 0, 0, 0, 2169, 1490, 1491, 152, 151, + 181, 0, 0, 0, 0, 0, 2184, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 177, 0, 0, 0, 0, 0, 1111, + 0, 1117, 0, 0, 1119, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 158, 163, 160, 166, 167, 168, 170, 172, + 173, 174, 175, 0, 0, 0, 0, 0, 176, 178, + 179, 180, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2977, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2267, 147, 1492, + 154, 0, 1489, 0, 148, 149, 0, 0, 0, 0, + 165, 0, 0, 0, 0, 0, 0, 0, 0, 171, + 0, 0, 0, 0, 1851, 0, 0, 0, 0, 0, + 0, 2292, 0, 0, 0, 0, 0, 0, 0, 0, + 2297, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2869, 2871, 2870, 2880, 2881, 2882, 2883, 2884, + 2885, 2886, 660, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1851, 0, 0, 0, 0, 0, 0, 2293, - 0, 2580, 2581, 0, 0, 0, 0, 0, 2298, 0, - 0, 0, 0, 734, 735, 736, 737, 738, 739, 740, - 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, - 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, - 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, - 771, 772, 773, 774, 775, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3021, - 0, 0, 1708, 0, 1332, 0, 0, 3026, 0, 0, - 3027, 0, 3028, 0, 1170, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1170, 1170, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1331, 0, 1331, 0, 0, - 1331, 0, 0, 0, 0, 1331, 0, 557, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 832, 0, 0, 0, 0, 0, 0, 799, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3093, - 1515, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 557, 0, 0, 0, 0, 0, 0, 0, 0, 2436, - 0, 0, 3102, 0, 3103, 0, 3104, 0, 0, 0, - 0, 0, 0, 832, 0, 0, 0, 1331, 0, 0, - 2463, 1515, 1331, 0, 0, 0, 0, 0, 0, 0, - 0, 1111, 0, 1117, 0, 0, 1119, 0, 0, 0, - 0, 0, 0, 0, 0, 706, 0, 0, 710, 0, - 707, 708, 0, 0, 0, 709, 0, 0, 0, 0, - 0, 3145, 0, 3146, 0, 0, 0, 87, 0, 0, - 0, 0, 0, 720, 727, 728, 729, 730, 731, 721, - 723, 0, 0, 0, 722, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 725, 732, 733, - 0, 0, 0, 0, 0, 0, 988, 0, 0, 1331, - 0, 0, 0, 0, 1851, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 696, 0, 0, + 0, 0, 3020, 0, 0, 0, 0, 0, 0, 0, + 3025, 0, 0, 3026, 0, 3027, 0, 0, 0, 0, + 0, 0, 0, 0, 1708, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 156, 0, 0, 0, + 0, 0, 0, 0, 0, 1170, 0, 0, 185, 0, + 0, 557, 0, 0, 598, 0, 0, 0, 0, 1170, + 1170, 557, 0, 0, 0, 0, 1331, 0, 1331, 557, + 0, 1331, 0, 0, 0, 0, 1331, 0, 0, 0, + 0, 0, 0, 0, 799, 0, 0, 0, 0, 0, + 0, 832, 3092, 0, 0, 0, 1394, 0, 0, 0, + 817, 0, 817, 0, 0, 0, 0, 0, 0, 0, + 557, 1515, 0, 0, 150, 3101, 0, 3102, 0, 3103, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2435, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 832, 0, 0, 0, 1331, 0, + 0, 2462, 1515, 1331, 0, 0, 144, 0, 0, 145, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3144, 0, 3145, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 157, + 0, 0, 0, 2875, 2876, 0, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1879, 0, 0, 0, 2580, 2581, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 557, 734, 735, 736, 737, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 988, 177, 0, + 1331, 0, 0, 0, 0, 1851, 0, 0, 0, 0, + 0, 0, 0, 0, 706, 0, 650, 710, 652, 707, + 708, 1412, 648, 651, 709, 0, 0, 158, 163, 160, + 166, 167, 168, 170, 172, 173, 174, 175, 0, 0, + 0, 1879, 0, 176, 178, 179, 180, 0, 0, 0, + 0, 658, 659, 2868, 2872, 2873, 2874, 2877, 2878, 2879, + 2887, 2889, 683, 2888, 2890, 2891, 2892, 2895, 2896, 2897, + 2898, 2893, 2894, 2899, 2863, 2867, 2864, 2865, 2866, 2900, + 2901, 2902, 2903, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1549, 0, 0, 0, + 0, 0, 996, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2435, 0, 1593, 0, + 0, 0, 0, 0, 0, 996, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1625, 0, 0, 0, 0, 0, 0, 1629, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1640, 1641, + 1642, 1643, 1644, 1645, 1646, 0, 0, 0, 0, 0, + 78, 39, 40, 80, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 84, 0, 0, 0, 43, 69, 70, 1666, 67, 71, + 0, 0, 0, 0, 0, 0, 0, 68, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1851, 1851, 0, + 0, 0, 0, 0, 0, 0, 56, 0, 0, 0, + 0, 2164, 0, 0, 727, 728, 0, 0, 87, 3106, + 1713, 0, 0, 0, 0, 0, 0, 0, 0, 1434, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2788, 2789, 2790, 2791, 0, 0, 0, 0, 0, + 0, 557, 0, 557, 0, 0, 557, 0, 0, 0, + 0, 0, 0, 2059, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1331, 0, 1331, 0, 0, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, - 768, 769, 770, 771, 772, 773, 774, 775, 0, 0, - 0, 0, 0, 0, 0, 1332, 0, 0, 0, 0, - 0, 996, 0, 0, 0, 0, 0, 0, 0, 0, + 768, 769, 770, 771, 772, 773, 774, 775, 0, 1331, + 0, 0, 0, 0, 2851, 0, 2853, 0, 0, 0, + 0, 0, 0, 46, 49, 52, 51, 54, 1865, 66, + 0, 0, 75, 72, 0, 0, 0, 1869, 0, 1872, + 0, 1422, 1666, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 55, 83, 82, 0, 0, + 64, 65, 53, 0, 0, 0, 2139, 0, 73, 74, + 0, 0, 0, 0, 0, 0, 0, 0, 1851, 0, + 0, 0, 0, 0, 0, 0, 0, 2160, 0, 0, + 0, 0, 1332, 0, 2929, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 789, 0, 832, 57, 58, + 0, 59, 60, 61, 62, 0, 0, 0, 0, 0, + 0, 0, 0, 1435, 0, 0, 2200, 2201, 0, 0, + 0, 0, 0, 0, 0, 2220, 0, 2221, 2222, 0, + 0, 0, 0, 0, 2969, 557, 0, 0, 2969, 2969, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 799, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1851, 0, 0, + 0, 1448, 1451, 1452, 1453, 1454, 1455, 1456, 557, 1457, + 1458, 1459, 1460, 1461, 1436, 1437, 1438, 1439, 1420, 1421, + 1449, 0, 1423, 0, 1424, 1425, 1426, 1427, 1428, 1429, + 1430, 1431, 1432, 0, 0, 1433, 1440, 1441, 1442, 1443, + 1444, 1445, 1446, 1447, 0, 0, 0, 1851, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1666, 81, + 0, 0, 0, 0, 0, 2022, 2298, 0, 0, 0, + 0, 0, 2036, 2037, 0, 0, 2041, 0, 0, 0, + 1851, 0, 0, 0, 0, 2044, 0, 0, 0, 0, + 0, 0, 2047, 0, 0, 0, 0, 0, 727, 728, + 0, 0, 86, 0, 1713, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2050, 0, + 0, 0, 0, 0, 0, 0, 0, 1331, 0, 3035, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 832, 832, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1450, 0, 0, 0, 3071, + 0, 0, 0, 557, 0, 0, 0, 0, 0, 3076, + 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, + 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, + 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, + 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, + 774, 775, 0, 1332, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1851, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3076, 0, 0, 0, + 1332, 1879, 0, 1332, 0, 0, 0, 0, 557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1332, 0, 0, 1332, 0, 0, 0, 0, - 557, 0, 0, 0, 996, 2436, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1565, 0, 0, + 0, 0, 0, 0, 2459, 1565, 79, 0, 0, 1879, + 1879, 1879, 1879, 1879, 0, 0, 0, 0, 0, 0, + 557, 0, 0, 0, 0, 0, 2220, 789, 0, 0, + 0, 1879, 0, 0, 1879, 0, 1615, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 557, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 727, 728, 1615, 0, - 0, 0, 1713, 0, 0, 0, 0, 0, 1394, 0, + 0, 0, 557, 0, 0, 0, 0, 0, 0, 557, + 0, 0, 0, 0, 0, 0, 0, 0, 1638, 1639, + 557, 557, 557, 557, 557, 557, 557, 0, 0, 2223, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2567, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2575, 0, 557, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2271, 0, + 0, 0, 0, 0, 0, 0, 2609, 0, 0, 0, + 0, 0, 0, 0, 0, 817, 0, 0, 0, 0, + 0, 0, 817, 817, 0, 0, 0, 0, 1332, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2319, 2320, 2321, 2322, 2323, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 817, 1615, 817, + 817, 817, 817, 817, 1666, 2332, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2340, 0, 0, 87, 0, 0, 0, 0, 1565, 720, + 727, 728, 729, 730, 731, 721, 723, 0, 0, 0, + 722, 0, 0, 817, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 725, 732, 733, 0, 799, 0, 0, + 0, 1879, 0, 0, 0, 0, 0, 0, 0, 0, + 557, 0, 0, 0, 2717, 0, 0, 1615, 0, 557, + 0, 557, 0, 557, 1887, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2579, 2580, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 734, 735, 736, 737, 738, 739, 740, 741, + 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, + 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, + 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, + 772, 773, 774, 775, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2535, + 0, 2823, 0, 2827, 2828, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2573, 2459, 0, 79, 0, + 2459, 0, 0, 0, 0, 0, 0, 0, 2582, 0, + 557, 0, 0, 0, 0, 0, 0, 557, 0, 0, + 0, 0, 0, 0, 557, 557, 2598, 0, 557, 2601, + 2043, 0, 0, 0, 0, 0, 0, 557, 0, 0, 0, 0, 0, 0, 557, 0, 0, 0, 0, 0, - 0, 557, 0, 0, 0, 0, 0, 0, 0, 0, - 1638, 1639, 557, 557, 557, 557, 557, 557, 557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2919, + 557, 0, 0, 0, 706, 0, 0, 710, 0, 707, + 708, 0, 0, 0, 709, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 557, 0, 0, 0, 0, 1851, 1851, 734, 735, - 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, - 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, - 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, - 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, - 2789, 2790, 2791, 2792, 0, 0, 0, 817, 0, 0, - 0, 0, 2059, 0, 817, 817, 0, 0, 0, 0, - 1332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2671, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1331, 0, 1331, 1412, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 817, - 1615, 817, 817, 817, 817, 817, 0, 0, 0, 0, + 0, 0, 0, 817, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2459, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1268, + 1269, 1270, 1271, 1272, 1276, 1277, 1278, 1279, 1280, 1281, + 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291, + 1292, 1293, 1294, 1295, 1296, 1297, 1299, 1300, 1301, 1302, + 1303, 1304, 1305, 1306, 1307, 1308, 1321, 1322, 1323, 1324, + 2734, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3004, 0, 817, 817, 0, 0, 2749, + 0, 0, 2750, 2751, 2752, 0, 0, 0, 0, 0, + 1615, 79, 0, 557, 0, 0, 0, 0, 0, 0, + 0, 1565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1331, 0, - 1565, 0, 0, 2852, 0, 2854, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 817, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 799, - 0, 0, 0, 0, 0, 0, 0, 0, 1549, 0, - 0, 0, 557, 0, 0, 2140, 0, 0, 0, 1615, - 0, 557, 0, 557, 0, 557, 1887, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2161, 1851, 0, 0, - 1593, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2930, 789, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 832, 0, 0, 0, - 0, 0, 1625, 0, 0, 2201, 2202, 0, 0, 1629, - 0, 0, 0, 0, 2221, 0, 2222, 2223, 0, 0, - 1640, 1641, 1642, 1643, 1644, 1645, 1646, 0, 0, 0, - 0, 0, 0, 2970, 0, 0, 0, 2970, 2970, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1666, - 0, 0, 0, 0, 0, 0, 1851, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 557, 3038, 0, + 0, 557, 87, 79, 0, 0, 0, 0, 720, 727, + 728, 729, 730, 731, 721, 723, 0, 0, 0, 722, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 725, 732, 733, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1851, 0, 0, 0, - 0, 0, 0, 0, 0, 2299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1851, - 0, 0, 557, 0, 0, 0, 0, 0, 0, 557, + 557, 0, 0, 0, 0, 0, 0, 2277, 0, 2579, + 2580, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 734, 735, 736, 737, 738, 739, 740, 741, 742, + 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, + 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, + 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, + 773, 774, 775, 0, 0, 557, 557, 557, 557, 557, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, 557, 0, 0, - 557, 0, 2043, 0, 0, 0, 0, 0, 0, 557, - 0, 0, 0, 0, 0, 0, 557, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1331, 0, 3036, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 832, 832, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3072, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3077, 0, - 1865, 0, 0, 0, 0, 0, 0, 0, 0, 1869, - 0, 1872, 0, 0, 1666, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 817, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 817, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1851, 0, 0, 0, 0, 0, 0, - 0, 1879, 0, 0, 0, 3077, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2460, 0, 79, 0, 0, 1879, - 1879, 1879, 1879, 1879, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2221, 789, 0, 0, - 0, 1879, 0, 0, 1879, 0, 0, 817, 817, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1615, 0, 0, 557, 0, 0, 0, 0, - 0, 0, 0, 1565, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1332, 0, 1332, 0, 0, 1332, 0, + 0, 0, 0, 1332, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 817, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2568, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2576, 0, 557, 0, 0, 0, 557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1666, 0, 0, 0, 0, 0, 0, 2022, 0, 0, - 0, 0, 0, 0, 2036, 2037, 0, 0, 2041, 0, - 0, 0, 0, 0, 0, 0, 2610, 2044, 0, 0, - 0, 0, 0, 0, 2047, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1332, 0, 0, 0, 0, + 1332, 557, 557, 557, 557, 557, 0, 0, 0, 0, + 0, 0, 0, 2478, 0, 0, 3015, 0, 557, 0, + 0, 1565, 0, 557, 0, 0, 557, 2489, 1615, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 557, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1332, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 557, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 557, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 557, 0, + 0, 557, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 557, 0, 0, 0, 0, 0, 0, 2278, - 2050, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 557, 557, 557, - 557, 557, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 557, 557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, 0, 0, 0, 0, 0, - 0, 1879, 0, 0, 0, 0, 0, 0, 0, 817, - 0, 0, 0, 0, 2718, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1332, 0, 1332, 0, - 0, 1332, 0, 0, 0, 0, 1332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 817, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 557, 0, 0, 0, + 0, 0, 557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2224, 0, 0, 0, 0, 0, 0, 1332, 0, - 0, 0, 0, 1332, 557, 557, 557, 557, 557, 0, - 0, 0, 0, 0, 0, 0, 2479, 0, 0, 0, - 0, 557, 0, 0, 1565, 0, 557, 0, 0, 557, - 2490, 1615, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2824, 0, 2828, 2829, 0, 0, 0, 0, 0, + 0, 557, 0, 0, 557, 557, 557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2272, 0, 0, 0, 0, 0, 2460, 0, 79, 0, - 2460, 0, 0, 0, 557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1332, 0, 1332, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 557, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 557, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2320, 2321, 2322, 2323, 2324, - 0, 557, 0, 0, 557, 0, 0, 0, 0, 2920, - 0, 0, 0, 0, 0, 0, 1666, 2333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2341, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2460, 0, 557, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1268, - 1269, 1270, 1271, 1272, 1276, 1277, 1278, 1279, 1280, 1281, - 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291, - 1292, 1293, 1294, 1295, 1296, 1297, 1299, 1300, 1301, 1302, - 1303, 1304, 1305, 1306, 1307, 1308, 1321, 1322, 1323, 1324, - 0, 0, 0, 0, 0, 0, 557, 0, 0, 0, - 0, 0, 0, 3005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 79, 0, 0, 0, 557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 557, 0, 0, 557, 557, 557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3039, 0, - 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, - 0, 0, 2536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2574, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2583, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2599, - 0, 1332, 2602, 1332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1565, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2672, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2750, 0, 0, 2751, 2752, 2753, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 366, + 0, 0, 966, 951, 473, 1565, 896, 969, 865, 884, + 979, 887, 890, 932, 844, 910, 385, 881, 837, 869, + 839, 876, 840, 867, 898, 254, 864, 953, 914, 968, + 338, 251, 846, 870, 399, 886, 197, 934, 447, 238, + 348, 345, 481, 266, 257, 253, 237, 293, 355, 397, + 467, 391, 975, 342, 920, 0, 457, 370, 0, 0, + 0, 900, 957, 908, 946, 895, 933, 854, 919, 970, + 882, 929, 971, 299, 235, 301, 196, 382, 458, 270, + 0, 0, 0, 0, 188, 189, 190, 0, 3058, 0, + 3059, 0, 0, 0, 0, 0, 0, 226, 0, 233, + 323, 332, 331, 312, 313, 315, 317, 322, 329, 335, + 878, 926, 965, 879, 928, 249, 297, 256, 248, 478, + 976, 956, 843, 907, 964, 0, 0, 217, 967, 902, + 0, 931, 0, 982, 838, 922, 0, 841, 845, 978, + 960, 873, 259, 0, 0, 0, 0, 0, 0, 0, + 899, 909, 943, 947, 893, 0, 0, 0, 0, 0, + 0, 0, 871, 0, 918, 0, 0, 0, 850, 842, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 897, 0, 0, 0, 853, 0, 872, 944, + 0, 836, 280, 847, 371, 241, 0, 949, 959, 894, + 514, 963, 892, 891, 938, 851, 955, 885, 337, 849, + 306, 192, 213, 0, 883, 381, 424, 434, 954, 868, + 877, 239, 875, 432, 395, 497, 221, 268, 421, 401, + 430, 408, 271, 917, 936, 431, 343, 483, 415, 494, + 515, 516, 247, 375, 505, 471, 511, 529, 214, 244, + 389, 464, 500, 454, 367, 479, 480, 305, 453, 278, + 195, 341, 521, 212, 440, 230, 219, 485, 503, 273, + 419, 204, 466, 492, 227, 444, 0, 0, 531, 206, + 490, 463, 363, 302, 303, 205, 0, 420, 252, 276, + 242, 384, 487, 488, 240, 532, 216, 510, 208, 1172, + 509, 377, 482, 491, 364, 353, 207, 489, 362, 352, + 308, 327, 328, 264, 287, 413, 346, 414, 288, 373, + 372, 374, 199, 501, 0, 200, 0, 459, 502, 533, + 222, 223, 225, 863, 263, 267, 275, 277, 283, 284, + 291, 339, 388, 412, 410, 416, 950, 477, 495, 506, + 513, 519, 520, 522, 523, 524, 525, 526, 528, 527, + 376, 290, 455, 307, 344, 941, 981, 394, 433, 228, + 499, 456, 858, 862, 856, 923, 857, 912, 913, 859, + 972, 973, 974, 534, 535, 536, 537, 538, 539, 540, + 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, + 551, 0, 945, 852, 0, 860, 861, 0, 952, 961, + 962, 552, 354, 446, 496, 309, 321, 324, 314, 333, + 0, 334, 310, 311, 316, 318, 319, 320, 325, 326, + 330, 336, 236, 202, 360, 368, 476, 425, 426, 427, + 428, 916, 191, 209, 340, 977, 417, 272, 530, 508, + 504, 198, 211, 855, 246, 866, 874, 0, 880, 888, + 889, 901, 903, 904, 905, 906, 924, 925, 927, 935, + 937, 940, 942, 948, 958, 980, 193, 194, 201, 210, + 220, 224, 231, 245, 260, 262, 269, 281, 286, 289, + 294, 295, 298, 304, 350, 356, 357, 358, 359, 378, + 379, 380, 383, 386, 387, 390, 392, 393, 396, 400, + 404, 405, 406, 407, 409, 411, 418, 423, 435, 436, + 437, 438, 439, 442, 443, 448, 449, 450, 451, 452, + 460, 461, 465, 484, 486, 498, 512, 517, 441, 282, + 493, 518, 0, 349, 915, 921, 351, 265, 285, 296, + 930, 507, 462, 215, 429, 274, 203, 234, 218, 243, + 258, 261, 300, 361, 369, 398, 403, 279, 255, 232, + 422, 229, 445, 468, 469, 470, 472, 365, 250, 402, + 911, 939, 347, 474, 475, 292, 366, 0, 0, 966, + 951, 473, 0, 896, 969, 865, 884, 979, 887, 890, + 932, 844, 910, 385, 881, 837, 869, 839, 876, 840, + 867, 898, 254, 864, 953, 914, 968, 338, 251, 846, + 870, 399, 886, 197, 934, 447, 238, 348, 345, 481, + 266, 257, 253, 237, 293, 355, 397, 467, 391, 975, + 342, 920, 0, 457, 370, 0, 0, 0, 900, 957, + 908, 946, 895, 933, 854, 919, 970, 882, 929, 971, + 299, 235, 301, 196, 382, 458, 270, 0, 0, 0, + 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 226, 0, 233, 323, 332, 331, + 312, 313, 315, 317, 322, 329, 335, 878, 926, 965, + 879, 928, 249, 297, 256, 248, 478, 976, 956, 843, + 907, 964, 0, 0, 217, 967, 902, 0, 931, 0, + 982, 838, 922, 0, 841, 845, 978, 960, 873, 259, + 0, 0, 0, 0, 0, 0, 0, 899, 909, 943, + 947, 893, 0, 0, 0, 0, 0, 2490, 0, 871, + 0, 918, 0, 0, 0, 850, 842, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 897, + 0, 0, 0, 853, 0, 872, 944, 0, 836, 280, + 847, 371, 241, 0, 949, 959, 894, 514, 963, 892, + 891, 938, 851, 955, 885, 337, 849, 306, 192, 213, + 0, 883, 381, 424, 434, 954, 868, 877, 239, 875, + 432, 395, 497, 221, 268, 421, 401, 430, 408, 271, + 917, 936, 431, 343, 483, 415, 494, 515, 516, 247, + 375, 505, 471, 511, 529, 214, 244, 389, 464, 500, + 454, 367, 479, 480, 305, 453, 278, 195, 341, 521, + 212, 440, 230, 219, 485, 503, 273, 419, 204, 466, + 492, 227, 444, 0, 0, 531, 206, 490, 463, 363, + 302, 303, 205, 0, 420, 252, 276, 242, 384, 487, + 488, 240, 532, 216, 510, 208, 1172, 509, 377, 482, + 491, 364, 353, 207, 489, 362, 352, 308, 327, 328, + 264, 287, 413, 346, 414, 288, 373, 372, 374, 199, + 501, 0, 200, 0, 459, 502, 533, 222, 223, 225, + 863, 263, 267, 275, 277, 283, 284, 291, 339, 388, + 412, 410, 416, 950, 477, 495, 506, 513, 519, 520, + 522, 523, 524, 525, 526, 528, 527, 376, 290, 455, + 307, 344, 941, 981, 394, 433, 228, 499, 456, 858, + 862, 856, 923, 857, 912, 913, 859, 972, 973, 974, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 550, 551, 0, 945, + 852, 0, 860, 861, 0, 952, 961, 962, 552, 354, + 446, 496, 309, 321, 324, 314, 333, 0, 334, 310, + 311, 316, 318, 319, 320, 325, 326, 330, 336, 236, + 202, 360, 368, 476, 425, 426, 427, 428, 916, 191, + 209, 340, 977, 417, 272, 530, 508, 504, 198, 211, + 855, 246, 866, 874, 0, 880, 888, 889, 901, 903, + 904, 905, 906, 924, 925, 927, 935, 937, 940, 942, + 948, 958, 980, 193, 194, 201, 210, 220, 224, 231, + 245, 260, 262, 269, 281, 286, 289, 294, 295, 298, + 304, 350, 356, 357, 358, 359, 378, 379, 380, 383, + 386, 387, 390, 392, 393, 396, 400, 404, 405, 406, + 407, 409, 411, 418, 423, 435, 436, 437, 438, 439, + 442, 443, 448, 449, 450, 451, 452, 460, 461, 465, + 484, 486, 498, 512, 517, 441, 282, 493, 518, 0, + 349, 915, 921, 351, 265, 285, 296, 930, 507, 462, + 215, 429, 274, 203, 234, 218, 243, 258, 261, 300, + 361, 369, 398, 403, 279, 255, 232, 422, 229, 445, + 468, 469, 470, 472, 365, 250, 402, 911, 939, 347, + 474, 475, 292, 366, 0, 0, 966, 951, 473, 0, + 896, 969, 865, 884, 979, 887, 890, 932, 844, 910, + 385, 881, 837, 869, 839, 876, 840, 867, 898, 254, + 864, 953, 914, 968, 338, 251, 846, 870, 399, 886, + 197, 934, 447, 238, 348, 345, 481, 266, 257, 253, + 237, 293, 355, 397, 467, 391, 975, 342, 920, 0, + 457, 370, 0, 0, 0, 900, 957, 908, 946, 895, + 933, 854, 919, 970, 882, 929, 971, 299, 235, 301, + 196, 382, 458, 270, 0, 0, 0, 0, 188, 189, + 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 226, 0, 233, 323, 332, 331, 312, 313, 315, + 317, 322, 329, 335, 878, 926, 965, 879, 928, 249, + 297, 256, 248, 478, 976, 956, 843, 907, 964, 0, + 0, 217, 967, 902, 0, 931, 0, 982, 838, 922, + 0, 841, 845, 978, 960, 873, 259, 0, 0, 0, + 0, 0, 0, 0, 899, 909, 943, 947, 893, 0, + 0, 0, 0, 0, 2448, 0, 871, 0, 918, 0, + 0, 0, 850, 842, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 366, 1565, 0, + 0, 0, 0, 0, 0, 0, 897, 0, 0, 0, + 853, 0, 872, 944, 0, 836, 280, 847, 371, 241, + 0, 949, 959, 894, 514, 963, 892, 891, 938, 851, + 955, 885, 337, 849, 306, 192, 213, 0, 883, 381, + 424, 434, 954, 868, 877, 239, 875, 432, 395, 497, + 221, 268, 421, 401, 430, 408, 271, 917, 936, 431, + 343, 483, 415, 494, 515, 516, 247, 375, 505, 471, + 511, 529, 214, 244, 389, 464, 500, 454, 367, 479, + 480, 305, 453, 278, 195, 341, 521, 212, 440, 230, + 219, 485, 503, 273, 419, 204, 466, 492, 227, 444, + 0, 0, 531, 206, 490, 463, 363, 302, 303, 205, + 0, 420, 252, 276, 242, 384, 487, 488, 240, 532, + 216, 510, 208, 1172, 509, 377, 482, 491, 364, 353, + 207, 489, 362, 352, 308, 327, 328, 264, 287, 413, + 346, 414, 288, 373, 372, 374, 199, 501, 0, 200, + 0, 459, 502, 533, 222, 223, 225, 863, 263, 267, + 275, 277, 283, 284, 291, 339, 388, 412, 410, 416, + 950, 477, 495, 506, 513, 519, 520, 522, 523, 524, + 525, 526, 528, 527, 376, 290, 455, 307, 344, 941, + 981, 394, 433, 228, 499, 456, 858, 862, 856, 923, + 857, 912, 913, 859, 972, 973, 974, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, + 547, 548, 549, 550, 551, 0, 945, 852, 0, 860, + 861, 0, 952, 961, 962, 552, 354, 446, 496, 309, + 321, 324, 314, 333, 0, 334, 310, 311, 316, 318, + 319, 320, 325, 326, 330, 336, 236, 202, 360, 368, + 476, 425, 426, 427, 428, 916, 191, 209, 340, 977, + 417, 272, 530, 508, 504, 198, 211, 855, 246, 866, + 874, 0, 880, 888, 889, 901, 903, 904, 905, 906, + 924, 925, 927, 935, 937, 940, 942, 948, 958, 980, + 193, 194, 201, 210, 220, 224, 231, 245, 260, 262, + 269, 281, 286, 289, 294, 295, 298, 304, 350, 356, + 357, 358, 359, 378, 379, 380, 383, 386, 387, 390, + 392, 393, 396, 400, 404, 405, 406, 407, 409, 411, + 418, 423, 435, 436, 437, 438, 439, 442, 443, 448, + 449, 450, 451, 452, 460, 461, 465, 484, 486, 498, + 512, 517, 441, 282, 493, 518, 0, 349, 915, 921, + 351, 265, 285, 296, 930, 507, 462, 215, 429, 274, + 203, 234, 218, 243, 258, 261, 300, 361, 369, 398, + 403, 279, 255, 232, 422, 229, 445, 468, 469, 470, + 472, 365, 250, 402, 911, 939, 347, 474, 475, 292, + 366, 0, 0, 966, 951, 473, 0, 896, 969, 865, + 884, 979, 887, 890, 932, 844, 910, 385, 881, 837, + 869, 839, 876, 840, 867, 898, 254, 864, 953, 914, + 968, 338, 251, 846, 870, 399, 886, 197, 934, 447, + 238, 348, 345, 481, 266, 257, 253, 237, 293, 355, + 397, 467, 391, 975, 342, 920, 0, 457, 370, 0, + 0, 0, 900, 957, 908, 946, 895, 933, 854, 919, + 970, 882, 929, 971, 299, 235, 301, 196, 382, 458, + 270, 0, 0, 0, 0, 188, 189, 190, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 226, 0, + 233, 323, 332, 331, 312, 313, 315, 317, 322, 329, + 335, 878, 926, 965, 879, 928, 249, 297, 256, 248, + 478, 976, 956, 843, 907, 964, 0, 0, 217, 967, + 902, 0, 931, 0, 982, 838, 922, 0, 841, 845, + 978, 960, 873, 259, 0, 0, 0, 0, 0, 0, + 0, 899, 909, 943, 947, 893, 0, 0, 0, 0, + 0, 1867, 0, 871, 0, 918, 0, 0, 0, 850, + 842, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 897, 0, 0, 0, 853, 0, 872, + 944, 0, 836, 280, 847, 371, 241, 0, 949, 959, + 894, 514, 963, 892, 891, 938, 851, 955, 885, 337, + 849, 306, 192, 213, 0, 883, 381, 424, 434, 954, + 868, 877, 239, 875, 432, 395, 497, 221, 268, 421, + 401, 430, 408, 271, 917, 936, 431, 343, 483, 415, + 494, 515, 516, 247, 375, 505, 471, 511, 529, 214, + 244, 389, 464, 500, 454, 367, 479, 480, 305, 453, + 278, 195, 341, 521, 212, 440, 230, 219, 485, 503, + 273, 419, 204, 466, 492, 227, 444, 0, 0, 531, + 206, 490, 463, 363, 302, 303, 205, 0, 420, 252, + 276, 242, 384, 487, 488, 240, 532, 216, 510, 208, + 1172, 509, 377, 482, 491, 364, 353, 207, 489, 362, + 352, 308, 327, 328, 264, 287, 413, 346, 414, 288, + 373, 372, 374, 199, 501, 0, 200, 0, 459, 502, + 533, 222, 223, 225, 863, 263, 267, 275, 277, 283, + 284, 291, 339, 388, 412, 410, 416, 950, 477, 495, + 506, 513, 519, 520, 522, 523, 524, 525, 526, 528, + 527, 376, 290, 455, 307, 344, 941, 981, 394, 433, + 228, 499, 456, 858, 862, 856, 923, 857, 912, 913, + 859, 972, 973, 974, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, + 550, 551, 0, 945, 852, 0, 860, 861, 0, 952, + 961, 962, 552, 354, 446, 496, 309, 321, 324, 314, + 333, 0, 334, 310, 311, 316, 318, 319, 320, 325, + 326, 330, 336, 236, 202, 360, 368, 476, 425, 426, + 427, 428, 916, 191, 209, 340, 977, 417, 272, 530, + 508, 504, 198, 211, 855, 246, 866, 874, 0, 880, + 888, 889, 901, 903, 904, 905, 906, 924, 925, 927, + 935, 937, 940, 942, 948, 958, 980, 193, 194, 201, + 210, 220, 224, 231, 245, 260, 262, 269, 281, 286, + 289, 294, 295, 298, 304, 350, 356, 357, 358, 359, + 378, 379, 380, 383, 386, 387, 390, 392, 393, 396, + 400, 404, 405, 406, 407, 409, 411, 418, 423, 435, + 436, 437, 438, 439, 442, 443, 448, 449, 450, 451, + 452, 460, 461, 465, 484, 486, 498, 512, 517, 441, + 282, 493, 518, 0, 349, 915, 921, 351, 265, 285, + 296, 930, 507, 462, 215, 429, 274, 203, 234, 218, + 243, 258, 261, 300, 361, 369, 398, 403, 279, 255, + 232, 422, 229, 445, 468, 469, 470, 472, 365, 250, + 402, 911, 939, 347, 474, 475, 292, 366, 0, 0, 966, 951, 473, 0, 896, 969, 865, 884, 979, 887, 890, 932, 844, 910, 385, 881, 837, 869, 839, 876, 840, 867, 898, 254, 864, 953, 914, 968, 338, 251, @@ -2318,8 +2538,8 @@ var yyAct = [...]int{ 481, 266, 257, 253, 237, 293, 355, 397, 467, 391, 975, 342, 920, 0, 457, 370, 0, 0, 0, 900, 957, 908, 946, 895, 933, 854, 919, 970, 882, 929, - 971, 299, 235, 301, 196, 382, 458, 270, 0, 0, - 0, 0, 188, 189, 190, 0, 3059, 0, 3060, 0, + 971, 299, 235, 301, 196, 382, 458, 270, 0, 87, + 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, 0, 233, 323, 332, 331, 312, 313, 315, 317, 322, 329, 335, 878, 926, 965, 879, 928, 249, 297, 256, 248, 478, 976, 956, @@ -2331,7 +2551,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3016, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 897, 0, 0, 0, 853, 0, 872, 944, 0, 836, 280, 847, 371, 241, 0, 949, 959, 894, 514, 963, 892, 891, 938, 851, 955, 885, 337, 849, 306, 192, @@ -2388,7 +2608,7 @@ var yyAct = [...]int{ 0, 0, 217, 967, 902, 0, 931, 0, 982, 838, 922, 0, 841, 845, 978, 960, 873, 259, 0, 0, 0, 0, 0, 0, 0, 899, 909, 943, 947, 893, - 0, 0, 0, 0, 0, 2491, 0, 871, 0, 918, + 0, 0, 0, 0, 0, 0, 0, 871, 0, 918, 0, 0, 0, 850, 842, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2446,11 +2666,11 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, 0, 233, 323, 332, 331, 312, 313, 315, 317, 322, 329, 335, 878, 926, 965, 879, 928, 249, 297, 256, - 248, 478, 976, 956, 843, 907, 964, 0, 0, 217, + 248, 478, 976, 956, 843, 907, 964, 0, 0, 983, 967, 902, 0, 931, 0, 982, 838, 922, 0, 841, 845, 978, 960, 873, 259, 0, 0, 0, 0, 0, 0, 0, 899, 909, 943, 947, 893, 0, 0, 0, - 0, 0, 2449, 0, 871, 0, 918, 0, 0, 0, + 0, 0, 0, 0, 871, 0, 918, 0, 0, 0, 850, 842, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2467,13 +2687,13 @@ var yyAct = [...]int{ 503, 273, 419, 204, 466, 492, 227, 444, 0, 0, 531, 206, 490, 463, 363, 302, 303, 205, 0, 420, 252, 276, 242, 384, 487, 488, 240, 532, 216, 510, - 208, 1172, 509, 377, 482, 491, 364, 353, 207, 489, + 208, 848, 509, 377, 482, 491, 364, 353, 207, 489, 362, 352, 308, 327, 328, 264, 287, 413, 346, 414, 288, 373, 372, 374, 199, 501, 0, 200, 0, 459, 502, 533, 222, 223, 225, 863, 263, 267, 275, 277, 283, 284, 291, 339, 388, 412, 410, 416, 950, 477, 495, 506, 513, 519, 520, 522, 523, 524, 525, 526, - 528, 527, 376, 290, 455, 307, 344, 941, 981, 394, + 528, 527, 835, 829, 828, 307, 344, 941, 981, 394, 433, 228, 499, 456, 858, 862, 856, 923, 857, 912, 913, 859, 972, 973, 974, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, @@ -2508,10 +2728,10 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 226, 0, 233, 323, 332, 331, 312, 313, 315, 317, 322, 329, 335, 878, 926, 965, 879, 928, 249, 297, 256, 248, 478, 976, - 956, 843, 907, 964, 0, 0, 217, 967, 902, 0, + 956, 843, 907, 964, 0, 0, 983, 967, 902, 0, 931, 0, 982, 838, 922, 0, 841, 845, 978, 960, 873, 259, 0, 0, 0, 0, 0, 0, 0, 899, - 909, 943, 947, 893, 0, 0, 0, 0, 0, 1867, + 909, 943, 947, 893, 0, 0, 0, 0, 0, 0, 0, 871, 0, 918, 0, 0, 0, 850, 842, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2526,411 +2746,103 @@ var yyAct = [...]int{ 516, 247, 375, 505, 471, 511, 529, 214, 244, 389, 464, 500, 454, 367, 479, 480, 305, 453, 278, 195, 341, 521, 212, 440, 230, 219, 485, 503, 273, 419, - 204, 466, 492, 227, 444, 0, 0, 531, 206, 490, + 204, 466, 1398, 227, 444, 0, 0, 531, 206, 490, 463, 363, 302, 303, 205, 0, 420, 252, 276, 242, - 384, 487, 488, 240, 532, 216, 510, 208, 1172, 509, + 384, 487, 488, 240, 532, 216, 510, 208, 848, 509, 377, 482, 491, 364, 353, 207, 489, 362, 352, 308, 327, 328, 264, 287, 413, 346, 414, 288, 373, 372, - 374, 199, 501, 0, 200, 0, 459, 502, 533, 222, - 223, 225, 863, 263, 267, 275, 277, 283, 284, 291, - 339, 388, 412, 410, 416, 950, 477, 495, 506, 513, - 519, 520, 522, 523, 524, 525, 526, 528, 527, 376, - 290, 455, 307, 344, 941, 981, 394, 433, 228, 499, - 456, 858, 862, 856, 923, 857, 912, 913, 859, 972, - 973, 974, 534, 535, 536, 537, 538, 539, 540, 541, - 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, - 0, 945, 852, 0, 860, 861, 0, 952, 961, 962, - 552, 354, 446, 496, 309, 321, 324, 314, 333, 0, - 334, 310, 311, 316, 318, 319, 320, 325, 326, 330, - 336, 236, 202, 360, 368, 476, 425, 426, 427, 428, - 916, 191, 209, 340, 977, 417, 272, 530, 508, 504, - 198, 211, 855, 246, 866, 874, 0, 880, 888, 889, - 901, 903, 904, 905, 906, 924, 925, 927, 935, 937, - 940, 942, 948, 958, 980, 193, 194, 201, 210, 220, - 224, 231, 245, 260, 262, 269, 281, 286, 289, 294, - 295, 298, 304, 350, 356, 357, 358, 359, 378, 379, - 380, 383, 386, 387, 390, 392, 393, 396, 400, 404, - 405, 406, 407, 409, 411, 418, 423, 435, 436, 437, - 438, 439, 442, 443, 448, 449, 450, 451, 452, 460, - 461, 465, 484, 486, 498, 512, 517, 441, 282, 493, - 518, 0, 349, 915, 921, 351, 265, 285, 296, 930, - 507, 462, 215, 429, 274, 203, 234, 218, 243, 258, - 261, 300, 361, 369, 398, 403, 279, 255, 232, 422, - 229, 445, 468, 469, 470, 472, 365, 250, 402, 911, - 939, 347, 474, 475, 292, 366, 0, 0, 966, 951, - 473, 0, 896, 969, 865, 884, 979, 887, 890, 932, - 844, 910, 385, 881, 837, 869, 839, 876, 840, 867, - 898, 254, 864, 953, 914, 968, 338, 251, 846, 870, - 399, 886, 197, 934, 447, 238, 348, 345, 481, 266, - 257, 253, 237, 293, 355, 397, 467, 391, 975, 342, - 920, 0, 457, 370, 0, 0, 0, 900, 957, 908, - 946, 895, 933, 854, 919, 970, 882, 929, 971, 299, - 235, 301, 196, 382, 458, 270, 0, 87, 0, 0, - 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 226, 0, 233, 323, 332, 331, 312, - 313, 315, 317, 322, 329, 335, 878, 926, 965, 879, - 928, 249, 297, 256, 248, 478, 976, 956, 843, 907, - 964, 0, 0, 217, 967, 902, 0, 931, 0, 982, - 838, 922, 0, 841, 845, 978, 960, 873, 259, 0, - 0, 0, 0, 0, 0, 0, 899, 909, 943, 947, - 893, 0, 0, 0, 0, 0, 0, 0, 871, 0, - 918, 0, 0, 0, 850, 842, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 897, 0, - 0, 0, 853, 0, 872, 944, 0, 836, 280, 847, - 371, 241, 0, 949, 959, 894, 514, 963, 892, 891, - 938, 851, 955, 885, 337, 849, 306, 192, 213, 0, - 883, 381, 424, 434, 954, 868, 877, 239, 875, 432, - 395, 497, 221, 268, 421, 401, 430, 408, 271, 917, - 936, 431, 343, 483, 415, 494, 515, 516, 247, 375, - 505, 471, 511, 529, 214, 244, 389, 464, 500, 454, - 367, 479, 480, 305, 453, 278, 195, 341, 521, 212, - 440, 230, 219, 485, 503, 273, 419, 204, 466, 492, - 227, 444, 0, 0, 531, 206, 490, 463, 363, 302, - 303, 205, 0, 420, 252, 276, 242, 384, 487, 488, - 240, 532, 216, 510, 208, 1172, 509, 377, 482, 491, - 364, 353, 207, 489, 362, 352, 308, 327, 328, 264, - 287, 413, 346, 414, 288, 373, 372, 374, 199, 501, - 0, 200, 0, 459, 502, 533, 222, 223, 225, 863, - 263, 267, 275, 277, 283, 284, 291, 339, 388, 412, - 410, 416, 950, 477, 495, 506, 513, 519, 520, 522, - 523, 524, 525, 526, 528, 527, 376, 290, 455, 307, - 344, 941, 981, 394, 433, 228, 499, 456, 858, 862, - 856, 923, 857, 912, 913, 859, 972, 973, 974, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 545, 546, 547, 548, 549, 550, 551, 0, 945, 852, - 0, 860, 861, 0, 952, 961, 962, 552, 354, 446, - 496, 309, 321, 324, 314, 333, 0, 334, 310, 311, - 316, 318, 319, 320, 325, 326, 330, 336, 236, 202, - 360, 368, 476, 425, 426, 427, 428, 916, 191, 209, - 340, 977, 417, 272, 530, 508, 504, 198, 211, 855, - 246, 866, 874, 0, 880, 888, 889, 901, 903, 904, - 905, 906, 924, 925, 927, 935, 937, 940, 942, 948, - 958, 980, 193, 194, 201, 210, 220, 224, 231, 245, - 260, 262, 269, 281, 286, 289, 294, 295, 298, 304, - 350, 356, 357, 358, 359, 378, 379, 380, 383, 386, - 387, 390, 392, 393, 396, 400, 404, 405, 406, 407, - 409, 411, 418, 423, 435, 436, 437, 438, 439, 442, - 443, 448, 449, 450, 451, 452, 460, 461, 465, 484, - 486, 498, 512, 517, 441, 282, 493, 518, 0, 349, - 915, 921, 351, 265, 285, 296, 930, 507, 462, 215, - 429, 274, 203, 234, 218, 243, 258, 261, 300, 361, - 369, 398, 403, 279, 255, 232, 422, 229, 445, 468, - 469, 470, 472, 365, 250, 402, 911, 939, 347, 474, - 475, 292, 366, 0, 0, 966, 951, 473, 0, 896, - 969, 865, 884, 979, 887, 890, 932, 844, 910, 385, - 881, 837, 869, 839, 876, 840, 867, 898, 254, 864, - 953, 914, 968, 338, 251, 846, 870, 399, 886, 197, - 934, 447, 238, 348, 345, 481, 266, 257, 253, 237, - 293, 355, 397, 467, 391, 975, 342, 920, 0, 457, - 370, 0, 0, 0, 900, 957, 908, 946, 895, 933, - 854, 919, 970, 882, 929, 971, 299, 235, 301, 196, - 382, 458, 270, 0, 0, 0, 0, 188, 189, 190, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 226, 0, 233, 323, 332, 331, 312, 313, 315, 317, - 322, 329, 335, 878, 926, 965, 879, 928, 249, 297, - 256, 248, 478, 976, 956, 843, 907, 964, 0, 0, - 217, 967, 902, 0, 931, 0, 982, 838, 922, 0, - 841, 845, 978, 960, 873, 259, 0, 0, 0, 0, - 0, 0, 0, 899, 909, 943, 947, 893, 0, 0, - 0, 0, 0, 0, 0, 871, 0, 918, 0, 0, - 0, 850, 842, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 897, 0, 0, 0, 853, - 0, 872, 944, 0, 836, 280, 847, 371, 241, 0, - 949, 959, 894, 514, 963, 892, 891, 938, 851, 955, - 885, 337, 849, 306, 192, 213, 0, 883, 381, 424, - 434, 954, 868, 877, 239, 875, 432, 395, 497, 221, - 268, 421, 401, 430, 408, 271, 917, 936, 431, 343, - 483, 415, 494, 515, 516, 247, 375, 505, 471, 511, - 529, 214, 244, 389, 464, 500, 454, 367, 479, 480, - 305, 453, 278, 195, 341, 521, 212, 440, 230, 219, - 485, 503, 273, 419, 204, 466, 492, 227, 444, 0, - 0, 531, 206, 490, 463, 363, 302, 303, 205, 0, - 420, 252, 276, 242, 384, 487, 488, 240, 532, 216, - 510, 208, 1172, 509, 377, 482, 491, 364, 353, 207, - 489, 362, 352, 308, 327, 328, 264, 287, 413, 346, - 414, 288, 373, 372, 374, 199, 501, 0, 200, 0, - 459, 502, 533, 222, 223, 225, 863, 263, 267, 275, - 277, 283, 284, 291, 339, 388, 412, 410, 416, 950, - 477, 495, 506, 513, 519, 520, 522, 523, 524, 525, - 526, 528, 527, 376, 290, 455, 307, 344, 941, 981, - 394, 433, 228, 499, 456, 858, 862, 856, 923, 857, - 912, 913, 859, 972, 973, 974, 534, 535, 536, 537, - 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 0, 945, 852, 0, 860, 861, - 0, 952, 961, 962, 552, 354, 446, 496, 309, 321, - 324, 314, 333, 0, 334, 310, 311, 316, 318, 319, - 320, 325, 326, 330, 336, 236, 202, 360, 368, 476, - 425, 426, 427, 428, 916, 191, 209, 340, 977, 417, - 272, 530, 508, 504, 198, 211, 855, 246, 866, 874, - 0, 880, 888, 889, 901, 903, 904, 905, 906, 924, - 925, 927, 935, 937, 940, 942, 948, 958, 980, 193, - 194, 201, 210, 220, 224, 231, 245, 260, 262, 269, - 281, 286, 289, 294, 295, 298, 304, 350, 356, 357, - 358, 359, 378, 379, 380, 383, 386, 387, 390, 392, - 393, 396, 400, 404, 405, 406, 407, 409, 411, 418, - 423, 435, 436, 437, 438, 439, 442, 443, 448, 449, - 450, 451, 452, 460, 461, 465, 484, 486, 498, 512, - 517, 441, 282, 493, 518, 0, 349, 915, 921, 351, - 265, 285, 296, 930, 507, 462, 215, 429, 274, 203, - 234, 218, 243, 258, 261, 300, 361, 369, 398, 403, - 279, 255, 232, 422, 229, 445, 468, 469, 470, 472, - 365, 250, 402, 911, 939, 347, 474, 475, 292, 366, - 0, 0, 966, 951, 473, 0, 896, 969, 865, 884, - 979, 887, 890, 932, 844, 910, 385, 881, 837, 869, - 839, 876, 840, 867, 898, 254, 864, 953, 914, 968, - 338, 251, 846, 870, 399, 886, 197, 934, 447, 238, - 348, 345, 481, 266, 257, 253, 237, 293, 355, 397, - 467, 391, 975, 342, 920, 0, 457, 370, 0, 0, - 0, 900, 957, 908, 946, 895, 933, 854, 919, 970, - 882, 929, 971, 299, 235, 301, 196, 382, 458, 270, - 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 226, 0, 233, - 323, 332, 331, 312, 313, 315, 317, 322, 329, 335, - 878, 926, 965, 879, 928, 249, 297, 256, 248, 478, - 976, 956, 843, 907, 964, 0, 0, 983, 967, 902, - 0, 931, 0, 982, 838, 922, 0, 841, 845, 978, - 960, 873, 259, 0, 0, 0, 0, 0, 0, 0, - 899, 909, 943, 947, 893, 0, 0, 0, 0, 0, - 0, 0, 871, 0, 918, 0, 0, 0, 850, 842, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 897, 0, 0, 0, 853, 0, 872, 944, - 0, 836, 280, 847, 371, 241, 0, 949, 959, 894, - 514, 963, 892, 891, 938, 851, 955, 885, 337, 849, - 306, 192, 213, 0, 883, 381, 424, 434, 954, 868, - 877, 239, 875, 432, 395, 497, 221, 268, 421, 401, - 430, 408, 271, 917, 936, 431, 343, 483, 415, 494, - 515, 516, 247, 375, 505, 471, 511, 529, 214, 244, - 389, 464, 500, 454, 367, 479, 480, 305, 453, 278, - 195, 341, 521, 212, 440, 230, 219, 485, 503, 273, - 419, 204, 466, 492, 227, 444, 0, 0, 531, 206, - 490, 463, 363, 302, 303, 205, 0, 420, 252, 276, - 242, 384, 487, 488, 240, 532, 216, 510, 208, 848, - 509, 377, 482, 491, 364, 353, 207, 489, 362, 352, - 308, 327, 328, 264, 287, 413, 346, 414, 288, 373, - 372, 374, 199, 501, 0, 200, 0, 459, 502, 533, - 222, 223, 225, 863, 263, 267, 275, 277, 283, 284, - 291, 339, 388, 412, 410, 416, 950, 477, 495, 506, - 513, 519, 520, 522, 523, 524, 525, 526, 528, 527, - 835, 829, 828, 307, 344, 941, 981, 394, 433, 228, - 499, 456, 858, 862, 856, 923, 857, 912, 913, 859, - 972, 973, 974, 534, 535, 536, 537, 538, 539, 540, - 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, - 551, 0, 945, 852, 0, 860, 861, 0, 952, 961, - 962, 552, 354, 446, 496, 309, 321, 324, 314, 333, - 0, 334, 310, 311, 316, 318, 319, 320, 325, 326, - 330, 336, 236, 202, 360, 368, 476, 425, 426, 427, - 428, 916, 191, 209, 340, 977, 417, 272, 530, 508, - 504, 198, 211, 855, 246, 866, 874, 0, 880, 888, - 889, 901, 903, 904, 905, 906, 924, 925, 927, 935, - 937, 940, 942, 948, 958, 980, 193, 194, 201, 210, - 220, 224, 231, 245, 260, 262, 269, 281, 286, 289, - 294, 295, 298, 304, 350, 356, 357, 358, 359, 378, - 379, 380, 383, 386, 387, 390, 392, 393, 396, 400, - 404, 405, 406, 407, 409, 411, 418, 423, 435, 436, - 437, 438, 439, 442, 443, 448, 449, 450, 451, 452, - 460, 461, 465, 484, 486, 498, 512, 517, 441, 282, - 493, 518, 0, 349, 915, 921, 351, 265, 285, 296, - 930, 507, 462, 215, 429, 274, 203, 234, 218, 243, - 258, 261, 300, 361, 369, 398, 403, 279, 255, 232, - 422, 229, 445, 468, 469, 470, 472, 365, 250, 402, - 911, 939, 347, 474, 475, 292, 366, 0, 0, 966, - 951, 473, 0, 896, 969, 865, 884, 979, 887, 890, - 932, 844, 910, 385, 881, 837, 869, 839, 876, 840, - 867, 898, 254, 864, 953, 914, 968, 338, 251, 846, - 870, 399, 886, 197, 934, 447, 238, 348, 345, 481, - 266, 257, 253, 237, 293, 355, 397, 467, 391, 975, - 342, 920, 0, 457, 370, 0, 0, 0, 900, 957, - 908, 946, 895, 933, 854, 919, 970, 882, 929, 971, - 299, 235, 301, 196, 382, 458, 270, 0, 0, 0, - 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 226, 0, 233, 323, 332, 331, - 312, 313, 315, 317, 322, 329, 335, 878, 926, 965, - 879, 928, 249, 297, 256, 248, 478, 976, 956, 843, - 907, 964, 0, 0, 983, 967, 902, 0, 931, 0, - 982, 838, 922, 0, 841, 845, 978, 960, 873, 259, - 0, 0, 0, 0, 0, 0, 0, 899, 909, 943, - 947, 893, 0, 0, 0, 0, 0, 0, 0, 871, - 0, 918, 0, 0, 0, 850, 842, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 897, - 0, 0, 0, 853, 0, 872, 944, 0, 836, 280, - 847, 371, 241, 0, 949, 959, 894, 514, 963, 892, - 891, 938, 851, 955, 885, 337, 849, 306, 192, 213, - 0, 883, 381, 424, 434, 954, 868, 877, 239, 875, - 432, 395, 497, 221, 268, 421, 401, 430, 408, 271, - 917, 936, 431, 343, 483, 415, 494, 515, 516, 247, - 375, 505, 471, 511, 529, 214, 244, 389, 464, 500, - 454, 367, 479, 480, 305, 453, 278, 195, 341, 521, - 212, 440, 230, 219, 485, 503, 273, 419, 204, 466, - 1398, 227, 444, 0, 0, 531, 206, 490, 463, 363, - 302, 303, 205, 0, 420, 252, 276, 242, 384, 487, - 488, 240, 532, 216, 510, 208, 848, 509, 377, 482, - 491, 364, 353, 207, 489, 362, 352, 308, 327, 328, - 264, 287, 413, 346, 414, 288, 373, 372, 374, 199, - 501, 0, 200, 0, 459, 502, 533, 222, 223, 225, - 863, 263, 267, 275, 277, 283, 284, 291, 339, 388, - 412, 410, 416, 950, 477, 495, 506, 513, 519, 520, - 522, 523, 524, 525, 526, 528, 527, 835, 829, 828, - 307, 344, 941, 981, 394, 433, 228, 499, 456, 858, - 862, 856, 923, 857, 912, 913, 859, 972, 973, 974, - 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 549, 550, 551, 0, 945, - 852, 0, 860, 861, 0, 952, 961, 962, 552, 354, - 446, 496, 309, 321, 324, 314, 333, 0, 334, 310, - 311, 316, 318, 319, 320, 325, 326, 330, 336, 236, - 202, 360, 368, 476, 425, 426, 427, 428, 916, 191, - 209, 340, 977, 417, 272, 530, 508, 504, 198, 211, - 855, 246, 866, 874, 0, 880, 888, 889, 901, 903, - 904, 905, 906, 924, 925, 927, 935, 937, 940, 942, - 948, 958, 980, 193, 194, 201, 210, 220, 224, 231, - 245, 260, 262, 269, 281, 286, 289, 294, 295, 298, - 304, 350, 356, 357, 358, 359, 378, 379, 380, 383, - 386, 387, 390, 392, 393, 396, 400, 404, 405, 406, - 407, 409, 411, 418, 423, 435, 436, 437, 438, 439, - 442, 443, 448, 449, 450, 451, 452, 460, 461, 465, - 484, 486, 498, 512, 517, 441, 282, 493, 518, 0, - 349, 915, 921, 351, 265, 285, 296, 930, 507, 462, - 215, 429, 274, 203, 234, 218, 243, 258, 261, 300, - 361, 369, 398, 403, 279, 255, 232, 422, 229, 445, - 468, 469, 470, 472, 365, 250, 402, 911, 939, 347, - 474, 475, 292, 366, 0, 0, 966, 951, 473, 0, - 896, 969, 865, 884, 979, 887, 890, 932, 844, 910, - 385, 881, 837, 869, 839, 876, 840, 867, 898, 254, - 864, 953, 914, 968, 338, 251, 846, 870, 399, 886, - 197, 934, 447, 238, 348, 345, 481, 266, 257, 253, - 237, 293, 355, 397, 467, 391, 975, 342, 920, 0, - 457, 370, 0, 0, 0, 900, 957, 908, 946, 895, - 933, 854, 919, 970, 882, 929, 971, 299, 235, 301, - 196, 382, 458, 270, 0, 0, 0, 0, 188, 189, - 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 226, 0, 233, 323, 332, 331, 312, 313, 315, - 317, 322, 329, 335, 878, 926, 965, 879, 928, 249, - 297, 256, 248, 478, 976, 956, 843, 907, 964, 0, - 0, 983, 967, 902, 0, 931, 0, 982, 838, 922, - 0, 841, 845, 978, 960, 873, 259, 0, 0, 0, - 0, 0, 0, 0, 899, 909, 943, 947, 893, 0, - 0, 0, 0, 0, 0, 0, 871, 0, 918, 0, - 0, 0, 850, 842, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 374, 199, 501, 0, 200, 0, 459, 502, 533, 222, + 223, 225, 863, 263, 267, 275, 277, 283, 284, 291, + 339, 388, 412, 410, 416, 950, 477, 495, 506, 513, + 519, 520, 522, 523, 524, 525, 526, 528, 527, 835, + 829, 828, 307, 344, 941, 981, 394, 433, 228, 499, + 456, 858, 862, 856, 923, 857, 912, 913, 859, 972, + 973, 974, 534, 535, 536, 537, 538, 539, 540, 541, + 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, + 0, 945, 852, 0, 860, 861, 0, 952, 961, 962, + 552, 354, 446, 496, 309, 321, 324, 314, 333, 0, + 334, 310, 311, 316, 318, 319, 320, 325, 326, 330, + 336, 236, 202, 360, 368, 476, 425, 426, 427, 428, + 916, 191, 209, 340, 977, 417, 272, 530, 508, 504, + 198, 211, 855, 246, 866, 874, 0, 880, 888, 889, + 901, 903, 904, 905, 906, 924, 925, 927, 935, 937, + 940, 942, 948, 958, 980, 193, 194, 201, 210, 220, + 224, 231, 245, 260, 262, 269, 281, 286, 289, 294, + 295, 298, 304, 350, 356, 357, 358, 359, 378, 379, + 380, 383, 386, 387, 390, 392, 393, 396, 400, 404, + 405, 406, 407, 409, 411, 418, 423, 435, 436, 437, + 438, 439, 442, 443, 448, 449, 450, 451, 452, 460, + 461, 465, 484, 486, 498, 512, 517, 441, 282, 493, + 518, 0, 349, 915, 921, 351, 265, 285, 296, 930, + 507, 462, 215, 429, 274, 203, 234, 218, 243, 258, + 261, 300, 361, 369, 398, 403, 279, 255, 232, 422, + 229, 445, 468, 469, 470, 472, 365, 250, 402, 911, + 939, 347, 474, 475, 292, 366, 0, 0, 966, 951, + 473, 0, 896, 969, 865, 884, 979, 887, 890, 932, + 844, 910, 385, 881, 837, 869, 839, 876, 840, 867, + 898, 254, 864, 953, 914, 968, 338, 251, 846, 870, + 399, 886, 197, 934, 447, 238, 348, 345, 481, 266, + 257, 253, 237, 293, 355, 397, 467, 391, 975, 342, + 920, 0, 457, 370, 0, 0, 0, 900, 957, 908, + 946, 895, 933, 854, 919, 970, 882, 929, 971, 299, + 235, 301, 196, 382, 458, 270, 0, 0, 0, 0, + 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 226, 0, 233, 323, 332, 331, 312, + 313, 315, 317, 322, 329, 335, 878, 926, 965, 879, + 928, 249, 297, 256, 248, 478, 976, 956, 843, 907, + 964, 0, 0, 983, 967, 902, 0, 931, 0, 982, + 838, 922, 0, 841, 845, 978, 960, 873, 259, 0, + 0, 0, 0, 0, 0, 0, 899, 909, 943, 947, + 893, 0, 0, 0, 0, 0, 0, 0, 871, 0, + 918, 0, 0, 0, 850, 842, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 897, 0, 0, 0, - 853, 0, 872, 944, 0, 836, 280, 847, 371, 241, - 0, 949, 959, 894, 514, 963, 892, 891, 938, 851, - 955, 885, 337, 849, 306, 192, 213, 0, 883, 381, - 424, 434, 954, 868, 877, 239, 875, 432, 395, 497, - 221, 268, 421, 401, 430, 408, 271, 917, 936, 431, - 343, 483, 415, 494, 515, 516, 247, 375, 505, 471, - 511, 529, 214, 244, 389, 464, 500, 454, 367, 479, - 480, 305, 453, 278, 195, 341, 521, 212, 440, 230, - 219, 485, 503, 273, 419, 204, 466, 826, 227, 444, - 0, 0, 531, 206, 490, 463, 363, 302, 303, 205, - 0, 420, 252, 276, 242, 384, 487, 488, 240, 532, - 216, 510, 208, 848, 509, 377, 482, 491, 364, 353, - 207, 489, 362, 352, 308, 327, 328, 264, 287, 413, - 346, 414, 288, 373, 372, 374, 199, 501, 0, 200, - 0, 459, 502, 533, 222, 223, 225, 863, 263, 267, - 275, 277, 283, 284, 291, 339, 388, 412, 410, 416, - 950, 477, 495, 506, 513, 519, 520, 522, 523, 524, - 525, 526, 528, 527, 835, 829, 828, 307, 344, 941, - 981, 394, 433, 228, 499, 456, 858, 862, 856, 923, - 857, 912, 913, 859, 972, 973, 974, 534, 535, 536, - 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, - 547, 548, 549, 550, 551, 0, 945, 852, 0, 860, - 861, 0, 952, 961, 962, 552, 354, 446, 496, 309, - 321, 324, 314, 333, 0, 334, 310, 311, 316, 318, - 319, 320, 325, 326, 330, 336, 236, 202, 360, 368, - 476, 425, 426, 427, 428, 916, 191, 209, 340, 977, - 417, 272, 530, 508, 504, 198, 211, 855, 246, 866, - 874, 0, 880, 888, 889, 901, 903, 904, 905, 906, - 924, 925, 927, 935, 937, 940, 942, 948, 958, 980, - 193, 194, 201, 210, 220, 224, 231, 245, 260, 262, - 269, 281, 286, 289, 294, 295, 298, 304, 350, 356, - 357, 358, 359, 378, 379, 380, 383, 386, 387, 390, - 392, 393, 396, 400, 404, 405, 406, 407, 409, 411, - 418, 423, 435, 436, 437, 438, 439, 442, 443, 448, - 449, 450, 451, 452, 460, 461, 465, 484, 486, 498, - 512, 517, 441, 282, 493, 518, 0, 349, 915, 921, - 351, 265, 285, 296, 930, 507, 462, 215, 429, 274, - 203, 234, 218, 243, 258, 261, 300, 361, 369, 398, - 403, 279, 255, 232, 422, 229, 445, 468, 469, 470, - 472, 365, 250, 402, 911, 939, 347, 474, 475, 292, - 366, 0, 0, 0, 0, 473, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 385, 0, 0, - 1807, 0, 634, 0, 0, 0, 254, 639, 0, 0, - 0, 338, 251, 0, 1808, 399, 0, 197, 0, 447, - 238, 348, 345, 481, 266, 257, 253, 237, 293, 355, - 397, 467, 391, 646, 342, 0, 0, 457, 370, 0, - 0, 0, 0, 0, 641, 642, 0, 0, 0, 0, - 0, 0, 0, 0, 299, 235, 301, 196, 382, 458, - 270, 0, 87, 0, 0, 188, 189, 190, 720, 727, - 728, 729, 730, 731, 721, 723, 0, 0, 226, 722, - 233, 662, 664, 663, 673, 674, 675, 676, 677, 678, - 679, 660, 725, 732, 733, 0, 249, 297, 256, 248, - 478, 0, 0, 0, 0, 0, 0, 0, 217, 0, - 0, 0, 0, 0, 0, 0, 617, 631, 0, 645, - 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 628, - 629, 815, 0, 0, 0, 700, 0, 630, 0, 0, - 638, 734, 735, 736, 737, 738, 739, 740, 741, 742, - 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, - 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, - 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, - 773, 774, 775, 640, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 280, 0, 371, 241, 0, 699, 0, - 0, 514, 0, 0, 697, 0, 0, 0, 0, 337, - 0, 306, 192, 213, 0, 0, 381, 424, 434, 0, - 0, 0, 239, 0, 432, 395, 497, 221, 268, 421, - 401, 430, 408, 271, 0, 0, 431, 343, 483, 415, - 494, 515, 516, 247, 375, 505, 471, 511, 529, 214, - 244, 389, 464, 500, 454, 367, 479, 480, 305, 453, - 278, 195, 341, 521, 212, 440, 230, 219, 485, 503, - 273, 419, 204, 466, 492, 227, 444, 0, 0, 531, - 206, 490, 463, 363, 302, 303, 205, 0, 420, 252, - 276, 242, 384, 487, 488, 240, 532, 216, 510, 208, - 0, 509, 377, 482, 491, 364, 353, 207, 489, 362, - 352, 308, 668, 669, 264, 287, 413, 346, 414, 288, - 373, 372, 374, 199, 501, 0, 200, 0, 459, 502, - 533, 222, 223, 225, 0, 263, 267, 275, 277, 283, - 284, 291, 339, 388, 412, 410, 416, 0, 477, 495, - 506, 513, 519, 520, 522, 523, 524, 525, 526, 528, - 527, 376, 290, 455, 307, 344, 0, 0, 394, 433, - 228, 499, 456, 706, 698, 650, 710, 652, 707, 708, - 647, 648, 651, 709, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, - 550, 551, 0, 701, 637, 636, 0, 643, 644, 0, - 658, 659, 661, 665, 666, 667, 670, 671, 672, 680, - 682, 683, 681, 684, 685, 686, 689, 690, 691, 692, - 687, 688, 693, 654, 653, 655, 656, 657, 711, 712, - 713, 714, 635, 191, 209, 340, 0, 417, 272, 530, - 508, 504, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, - 210, 220, 224, 231, 245, 260, 262, 269, 281, 286, - 289, 294, 295, 298, 304, 350, 356, 357, 358, 359, - 378, 379, 380, 383, 386, 387, 390, 392, 393, 396, - 400, 404, 405, 406, 407, 409, 411, 418, 423, 435, - 436, 437, 438, 439, 442, 443, 448, 449, 450, 451, - 452, 460, 461, 465, 484, 486, 498, 512, 517, 441, - 282, 493, 518, 0, 349, 0, 0, 351, 265, 285, - 296, 0, 507, 462, 215, 429, 274, 203, 234, 218, - 243, 258, 261, 300, 361, 369, 398, 403, 279, 255, - 232, 422, 229, 445, 468, 469, 470, 472, 365, 250, - 402, 0, 366, 347, 474, 475, 292, 473, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 897, 0, + 0, 0, 853, 0, 872, 944, 0, 836, 280, 847, + 371, 241, 0, 949, 959, 894, 514, 963, 892, 891, + 938, 851, 955, 885, 337, 849, 306, 192, 213, 0, + 883, 381, 424, 434, 954, 868, 877, 239, 875, 432, + 395, 497, 221, 268, 421, 401, 430, 408, 271, 917, + 936, 431, 343, 483, 415, 494, 515, 516, 247, 375, + 505, 471, 511, 529, 214, 244, 389, 464, 500, 454, + 367, 479, 480, 305, 453, 278, 195, 341, 521, 212, + 440, 230, 219, 485, 503, 273, 419, 204, 466, 826, + 227, 444, 0, 0, 531, 206, 490, 463, 363, 302, + 303, 205, 0, 420, 252, 276, 242, 384, 487, 488, + 240, 532, 216, 510, 208, 848, 509, 377, 482, 491, + 364, 353, 207, 489, 362, 352, 308, 327, 328, 264, + 287, 413, 346, 414, 288, 373, 372, 374, 199, 501, + 0, 200, 0, 459, 502, 533, 222, 223, 225, 863, + 263, 267, 275, 277, 283, 284, 291, 339, 388, 412, + 410, 416, 950, 477, 495, 506, 513, 519, 520, 522, + 523, 524, 525, 526, 528, 527, 835, 829, 828, 307, + 344, 941, 981, 394, 433, 228, 499, 456, 858, 862, + 856, 923, 857, 912, 913, 859, 972, 973, 974, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 545, 546, 547, 548, 549, 550, 551, 0, 945, 852, + 0, 860, 861, 0, 952, 961, 962, 552, 354, 446, + 496, 309, 321, 324, 314, 333, 0, 334, 310, 311, + 316, 318, 319, 320, 325, 326, 330, 336, 236, 202, + 360, 368, 476, 425, 426, 427, 428, 916, 191, 209, + 340, 977, 417, 272, 530, 508, 504, 198, 211, 855, + 246, 866, 874, 0, 880, 888, 889, 901, 903, 904, + 905, 906, 924, 925, 927, 935, 937, 940, 942, 948, + 958, 980, 193, 194, 201, 210, 220, 224, 231, 245, + 260, 262, 269, 281, 286, 289, 294, 295, 298, 304, + 350, 356, 357, 358, 359, 378, 379, 380, 383, 386, + 387, 390, 392, 393, 396, 400, 404, 405, 406, 407, + 409, 411, 418, 423, 435, 436, 437, 438, 439, 442, + 443, 448, 449, 450, 451, 452, 460, 461, 465, 484, + 486, 498, 512, 517, 441, 282, 493, 518, 0, 349, + 915, 921, 351, 265, 285, 296, 930, 507, 462, 215, + 429, 274, 203, 234, 218, 243, 258, 261, 300, 361, + 369, 398, 403, 279, 255, 232, 422, 229, 445, 468, + 469, 470, 472, 365, 250, 402, 911, 939, 347, 474, + 475, 292, 366, 0, 0, 0, 0, 473, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 385, - 0, 0, 0, 0, 634, 0, 0, 0, 254, 639, - 0, 0, 0, 338, 251, 0, 0, 399, 0, 197, + 0, 0, 1807, 0, 634, 0, 0, 0, 254, 639, + 0, 0, 0, 338, 251, 0, 1808, 399, 0, 197, 0, 447, 238, 348, 345, 481, 266, 257, 253, 237, 293, 355, 397, 467, 391, 646, 342, 0, 0, 457, 370, 0, 0, 0, 0, 0, 641, 642, 0, 0, @@ -2939,11 +2851,11 @@ var yyAct = [...]int{ 720, 727, 728, 729, 730, 731, 721, 723, 0, 0, 226, 722, 233, 662, 664, 663, 673, 674, 675, 676, 677, 678, 679, 660, 725, 732, 733, 0, 249, 297, - 256, 248, 478, 0, 0, 1773, 1774, 1775, 0, 0, + 256, 248, 478, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 617, 631, 0, 645, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 628, 629, 0, 0, 0, 0, 700, 0, 630, + 0, 628, 629, 815, 0, 0, 0, 700, 0, 630, 0, 0, 638, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, @@ -2973,7 +2885,7 @@ var yyAct = [...]int{ 548, 549, 550, 551, 0, 701, 637, 636, 0, 643, 644, 0, 658, 659, 661, 665, 666, 667, 670, 671, 672, 680, 682, 683, 681, 684, 685, 686, 689, 690, - 691, 692, 687, 688, 693, 654, 653, 655, 656, 657, + 691, 692, 687, 688, 693, 653, 657, 654, 655, 656, 711, 712, 713, 714, 635, 191, 209, 340, 0, 417, 272, 530, 508, 504, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2995,12 +2907,12 @@ var yyAct = [...]int{ 0, 197, 0, 447, 238, 348, 345, 481, 266, 257, 253, 237, 293, 355, 397, 467, 391, 646, 342, 0, 0, 457, 370, 0, 0, 0, 0, 0, 641, 642, - 0, 0, 0, 0, 0, 0, 1894, 0, 299, 235, + 0, 0, 0, 0, 0, 0, 0, 0, 299, 235, 301, 196, 382, 458, 270, 0, 87, 0, 0, 188, 189, 190, 720, 727, 728, 729, 730, 731, 721, 723, 0, 0, 226, 722, 233, 662, 664, 663, 673, 674, - 675, 676, 677, 678, 679, 660, 725, 732, 733, 1895, - 249, 297, 256, 248, 478, 0, 0, 0, 0, 0, + 675, 676, 677, 678, 679, 660, 725, 732, 733, 0, + 249, 297, 256, 248, 478, 0, 0, 1773, 1774, 1775, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 617, 631, 0, 645, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3034,8 +2946,8 @@ var yyAct = [...]int{ 546, 547, 548, 549, 550, 551, 0, 701, 637, 636, 0, 643, 644, 0, 658, 659, 661, 665, 666, 667, 670, 671, 672, 680, 682, 683, 681, 684, 685, 686, - 689, 690, 691, 692, 687, 688, 693, 654, 653, 655, - 656, 657, 711, 712, 713, 714, 635, 191, 209, 340, + 689, 690, 691, 692, 687, 688, 693, 653, 657, 654, + 655, 656, 711, 712, 713, 714, 635, 191, 209, 340, 0, 417, 272, 530, 508, 504, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3049,69 +2961,69 @@ var yyAct = [...]int{ 0, 351, 265, 285, 296, 0, 507, 462, 215, 429, 274, 203, 234, 218, 243, 258, 261, 300, 361, 369, 398, 403, 279, 255, 232, 422, 229, 445, 468, 469, - 470, 472, 365, 250, 402, 0, 0, 347, 474, 475, - 292, 366, 0, 0, 0, 78, 473, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 385, 0, - 0, 0, 0, 634, 0, 0, 0, 254, 639, 0, - 0, 0, 338, 251, 0, 0, 399, 0, 197, 0, - 447, 238, 348, 345, 481, 266, 257, 253, 237, 293, - 355, 397, 467, 391, 646, 342, 0, 0, 457, 370, - 0, 0, 0, 0, 0, 641, 642, 0, 0, 0, - 0, 0, 0, 0, 0, 299, 235, 301, 196, 382, - 458, 270, 0, 87, 0, 0, 188, 189, 190, 720, - 727, 728, 729, 730, 731, 721, 723, 0, 0, 226, - 722, 233, 662, 664, 663, 673, 674, 675, 676, 677, - 678, 679, 660, 725, 732, 733, 0, 249, 297, 256, - 248, 478, 0, 0, 0, 0, 0, 0, 0, 217, - 0, 0, 0, 0, 0, 0, 0, 617, 631, 0, - 645, 0, 0, 0, 259, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 628, 629, 0, 0, 0, 0, 700, 0, 630, 0, - 0, 638, 734, 735, 736, 737, 738, 739, 740, 741, - 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, - 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, - 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, - 772, 773, 774, 775, 640, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 280, 0, 371, 241, 0, 699, - 0, 0, 514, 0, 0, 697, 0, 0, 0, 0, - 337, 0, 306, 192, 213, 0, 0, 381, 424, 434, - 0, 0, 0, 239, 0, 432, 395, 497, 221, 268, - 421, 401, 430, 408, 271, 0, 0, 431, 343, 483, - 415, 494, 515, 516, 247, 375, 505, 471, 511, 529, - 214, 244, 389, 464, 500, 454, 367, 479, 480, 305, - 453, 278, 195, 341, 521, 212, 440, 230, 219, 485, - 503, 273, 419, 204, 466, 492, 227, 444, 0, 0, - 531, 206, 490, 463, 363, 302, 303, 205, 0, 420, - 252, 276, 242, 384, 487, 488, 240, 532, 216, 510, - 208, 0, 509, 377, 482, 491, 364, 353, 207, 489, - 362, 352, 308, 668, 669, 264, 287, 413, 346, 414, - 288, 373, 372, 374, 199, 501, 0, 200, 0, 459, - 502, 533, 222, 223, 225, 0, 263, 267, 275, 277, - 283, 284, 291, 339, 388, 412, 410, 416, 0, 477, - 495, 506, 513, 519, 520, 522, 523, 524, 525, 526, - 528, 527, 376, 290, 455, 307, 344, 0, 0, 394, - 433, 228, 499, 456, 706, 698, 650, 710, 652, 707, - 708, 647, 648, 651, 709, 534, 535, 536, 537, 538, - 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, - 549, 550, 551, 0, 701, 637, 636, 0, 643, 644, - 0, 658, 659, 661, 665, 666, 667, 670, 671, 672, - 680, 682, 683, 681, 684, 685, 686, 689, 690, 691, - 692, 687, 688, 693, 654, 653, 655, 656, 657, 711, - 712, 713, 714, 635, 191, 209, 340, 86, 417, 272, - 530, 508, 504, 198, 211, 0, 246, 0, 0, 0, + 470, 472, 365, 250, 402, 0, 366, 347, 474, 475, + 292, 473, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 385, 0, 0, 0, 0, 634, 0, + 0, 0, 254, 639, 0, 0, 0, 338, 251, 0, + 0, 399, 0, 197, 0, 447, 238, 348, 345, 481, + 266, 257, 253, 237, 293, 355, 397, 467, 391, 646, + 342, 0, 0, 457, 370, 0, 0, 0, 0, 0, + 641, 642, 0, 0, 0, 0, 0, 0, 1894, 0, + 299, 235, 301, 196, 382, 458, 270, 0, 87, 0, + 0, 188, 189, 190, 720, 727, 728, 729, 730, 731, + 721, 723, 0, 0, 226, 722, 233, 662, 664, 663, + 673, 674, 675, 676, 677, 678, 679, 660, 725, 732, + 733, 1895, 249, 297, 256, 248, 478, 0, 0, 0, + 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, + 0, 0, 617, 631, 0, 645, 0, 0, 0, 259, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 628, 629, 0, 0, 0, + 0, 700, 0, 630, 0, 0, 638, 734, 735, 736, + 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, + 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, + 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, + 767, 768, 769, 770, 771, 772, 773, 774, 775, 640, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, + 0, 371, 241, 0, 699, 0, 0, 514, 0, 0, + 697, 0, 0, 0, 0, 337, 0, 306, 192, 213, + 0, 0, 381, 424, 434, 0, 0, 0, 239, 0, + 432, 395, 497, 221, 268, 421, 401, 430, 408, 271, + 0, 0, 431, 343, 483, 415, 494, 515, 516, 247, + 375, 505, 471, 511, 529, 214, 244, 389, 464, 500, + 454, 367, 479, 480, 305, 453, 278, 195, 341, 521, + 212, 440, 230, 219, 485, 503, 273, 419, 204, 466, + 492, 227, 444, 0, 0, 531, 206, 490, 463, 363, + 302, 303, 205, 0, 420, 252, 276, 242, 384, 487, + 488, 240, 532, 216, 510, 208, 0, 509, 377, 482, + 491, 364, 353, 207, 489, 362, 352, 308, 668, 669, + 264, 287, 413, 346, 414, 288, 373, 372, 374, 199, + 501, 0, 200, 0, 459, 502, 533, 222, 223, 225, + 0, 263, 267, 275, 277, 283, 284, 291, 339, 388, + 412, 410, 416, 0, 477, 495, 506, 513, 519, 520, + 522, 523, 524, 525, 526, 528, 527, 376, 290, 455, + 307, 344, 0, 0, 394, 433, 228, 499, 456, 706, + 698, 650, 710, 652, 707, 708, 647, 648, 651, 709, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 550, 551, 0, 701, + 637, 636, 0, 643, 644, 0, 658, 659, 661, 665, + 666, 667, 670, 671, 672, 680, 682, 683, 681, 684, + 685, 686, 689, 690, 691, 692, 687, 688, 693, 653, + 657, 654, 655, 656, 711, 712, 713, 714, 635, 191, + 209, 340, 0, 417, 272, 530, 508, 504, 198, 211, + 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, - 201, 210, 220, 224, 231, 245, 260, 262, 269, 281, - 286, 289, 294, 295, 298, 304, 350, 356, 357, 358, - 359, 378, 379, 380, 383, 386, 387, 390, 392, 393, - 396, 400, 404, 405, 406, 407, 409, 411, 418, 423, - 435, 436, 437, 438, 439, 442, 443, 448, 449, 450, - 451, 452, 460, 461, 465, 484, 486, 498, 512, 517, - 441, 282, 493, 518, 0, 349, 0, 0, 351, 265, - 285, 296, 0, 507, 462, 215, 429, 274, 203, 234, - 218, 243, 258, 261, 300, 361, 369, 398, 403, 279, - 255, 232, 422, 229, 445, 468, 469, 470, 472, 365, - 250, 402, 0, 366, 347, 474, 475, 292, 473, 0, + 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, + 245, 260, 262, 269, 281, 286, 289, 294, 295, 298, + 304, 350, 356, 357, 358, 359, 378, 379, 380, 383, + 386, 387, 390, 392, 393, 396, 400, 404, 405, 406, + 407, 409, 411, 418, 423, 435, 436, 437, 438, 439, + 442, 443, 448, 449, 450, 451, 452, 460, 461, 465, + 484, 486, 498, 512, 517, 441, 282, 493, 518, 0, + 349, 0, 0, 351, 265, 285, 296, 0, 507, 462, + 215, 429, 274, 203, 234, 218, 243, 258, 261, 300, + 361, 369, 398, 403, 279, 255, 232, 422, 229, 445, + 468, 469, 470, 472, 365, 250, 402, 0, 0, 347, + 474, 475, 292, 366, 0, 0, 0, 78, 473, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 385, 0, 0, 0, 0, 634, 0, 0, 0, 254, 639, 0, 0, 0, 338, 251, 0, 0, 399, 0, @@ -3137,7 +3049,7 @@ var yyAct = [...]int{ 0, 699, 0, 0, 514, 0, 0, 697, 0, 0, 0, 0, 337, 0, 306, 192, 213, 0, 0, 381, 424, 434, 0, 0, 0, 239, 0, 432, 395, 497, - 221, 268, 421, 401, 430, 408, 271, 3046, 0, 431, + 221, 268, 421, 401, 430, 408, 271, 0, 0, 431, 343, 483, 415, 494, 515, 516, 247, 375, 505, 471, 511, 529, 214, 244, 389, 464, 500, 454, 367, 479, 480, 305, 453, 278, 195, 341, 521, 212, 440, 230, @@ -3157,8 +3069,8 @@ var yyAct = [...]int{ 547, 548, 549, 550, 551, 0, 701, 637, 636, 0, 643, 644, 0, 658, 659, 661, 665, 666, 667, 670, 671, 672, 680, 682, 683, 681, 684, 685, 686, 689, - 690, 691, 692, 687, 688, 693, 654, 653, 655, 656, - 657, 711, 712, 713, 714, 635, 191, 209, 340, 0, + 690, 691, 692, 687, 688, 693, 653, 657, 654, 655, + 656, 711, 712, 713, 714, 635, 191, 209, 340, 86, 417, 272, 530, 508, 504, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3180,7 +3092,7 @@ var yyAct = [...]int{ 257, 253, 237, 293, 355, 397, 467, 391, 646, 342, 0, 0, 457, 370, 0, 0, 0, 0, 0, 641, 642, 0, 0, 0, 0, 0, 0, 0, 0, 299, - 235, 301, 196, 382, 458, 270, 0, 87, 0, 1365, + 235, 301, 196, 382, 458, 270, 0, 87, 0, 0, 188, 189, 190, 720, 727, 728, 729, 730, 731, 721, 723, 0, 0, 226, 722, 233, 662, 664, 663, 673, 674, 675, 676, 677, 678, 679, 660, 725, 732, 733, @@ -3198,7 +3110,7 @@ var yyAct = [...]int{ 371, 241, 0, 699, 0, 0, 514, 0, 0, 697, 0, 0, 0, 0, 337, 0, 306, 192, 213, 0, 0, 381, 424, 434, 0, 0, 0, 239, 0, 432, - 395, 497, 221, 268, 421, 401, 430, 408, 271, 0, + 395, 497, 221, 268, 421, 401, 430, 408, 271, 3045, 0, 431, 343, 483, 415, 494, 515, 516, 247, 375, 505, 471, 511, 529, 214, 244, 389, 464, 500, 454, 367, 479, 480, 305, 453, 278, 195, 341, 521, 212, @@ -3218,8 +3130,8 @@ var yyAct = [...]int{ 545, 546, 547, 548, 549, 550, 551, 0, 701, 637, 636, 0, 643, 644, 0, 658, 659, 661, 665, 666, 667, 670, 671, 672, 680, 682, 683, 681, 684, 685, - 686, 689, 690, 691, 692, 687, 688, 693, 654, 653, - 655, 656, 657, 711, 712, 713, 714, 635, 191, 209, + 686, 689, 690, 691, 692, 687, 688, 693, 653, 657, + 654, 655, 656, 711, 712, 713, 714, 635, 191, 209, 340, 0, 417, 272, 530, 508, 504, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3242,14 +3154,14 @@ var yyAct = [...]int{ 646, 342, 0, 0, 457, 370, 0, 0, 0, 0, 0, 641, 642, 0, 0, 0, 0, 0, 0, 0, 0, 299, 235, 301, 196, 382, 458, 270, 0, 87, - 0, 0, 188, 189, 190, 720, 727, 728, 729, 730, + 0, 1365, 188, 189, 190, 720, 727, 728, 729, 730, 731, 721, 723, 0, 0, 226, 722, 233, 662, 664, 663, 673, 674, 675, 676, 677, 678, 679, 660, 725, 732, 733, 0, 249, 297, 256, 248, 478, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 617, 631, 0, 645, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 628, 629, 815, 0, + 0, 0, 0, 0, 0, 0, 628, 629, 0, 0, 0, 0, 700, 0, 630, 0, 0, 638, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, @@ -3280,7 +3192,7 @@ var yyAct = [...]int{ 701, 637, 636, 0, 643, 644, 0, 658, 659, 661, 665, 666, 667, 670, 671, 672, 680, 682, 683, 681, 684, 685, 686, 689, 690, 691, 692, 687, 688, 693, - 654, 653, 655, 656, 657, 711, 712, 713, 714, 635, + 653, 657, 654, 655, 656, 711, 712, 713, 714, 635, 191, 209, 340, 0, 417, 272, 530, 508, 504, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3311,7 +3223,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 617, 631, 0, 645, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 628, 629, - 2090, 0, 0, 0, 700, 0, 630, 0, 0, 638, + 815, 0, 0, 0, 700, 0, 630, 0, 0, 638, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, @@ -3341,7 +3253,7 @@ var yyAct = [...]int{ 551, 0, 701, 637, 636, 0, 643, 644, 0, 658, 659, 661, 665, 666, 667, 670, 671, 672, 680, 682, 683, 681, 684, 685, 686, 689, 690, 691, 692, 687, - 688, 693, 654, 653, 655, 656, 657, 711, 712, 713, + 688, 693, 653, 657, 654, 655, 656, 711, 712, 713, 714, 635, 191, 209, 340, 0, 417, 272, 530, 508, 504, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3372,7 +3284,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 617, 631, 0, 645, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 628, 629, 0, 0, 0, 0, 700, 0, 630, 0, + 628, 629, 2087, 0, 0, 0, 700, 0, 630, 0, 0, 638, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, @@ -3402,7 +3314,7 @@ var yyAct = [...]int{ 549, 550, 551, 0, 701, 637, 636, 0, 643, 644, 0, 658, 659, 661, 665, 666, 667, 670, 671, 672, 680, 682, 683, 681, 684, 685, 686, 689, 690, 691, - 692, 687, 688, 693, 654, 653, 655, 656, 657, 711, + 692, 687, 688, 693, 653, 657, 654, 655, 656, 711, 712, 713, 714, 635, 191, 209, 340, 0, 417, 272, 530, 508, 504, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3430,7 +3342,7 @@ var yyAct = [...]int{ 0, 226, 722, 233, 662, 664, 663, 673, 674, 675, 676, 677, 678, 679, 660, 725, 732, 733, 0, 249, 297, 256, 248, 478, 0, 0, 0, 0, 0, 0, - 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 217, 0, 0, 0, 0, 0, 0, 0, 617, 631, 0, 645, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 628, 629, 0, 0, 0, 0, 700, 0, @@ -3463,8 +3375,8 @@ var yyAct = [...]int{ 547, 548, 549, 550, 551, 0, 701, 637, 636, 0, 643, 644, 0, 658, 659, 661, 665, 666, 667, 670, 671, 672, 680, 682, 683, 681, 684, 685, 686, 689, - 690, 691, 692, 687, 688, 693, 654, 653, 655, 656, - 657, 711, 712, 713, 714, 635, 191, 209, 340, 0, + 690, 691, 692, 687, 688, 693, 653, 657, 654, 655, + 656, 711, 712, 713, 714, 635, 191, 209, 340, 0, 417, 272, 530, 508, 504, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3480,28 +3392,28 @@ var yyAct = [...]int{ 403, 279, 255, 232, 422, 229, 445, 468, 469, 470, 472, 365, 250, 402, 0, 366, 347, 474, 475, 292, 473, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 385, 0, 0, 0, 0, 0, 0, 0, - 0, 254, 0, 0, 0, 0, 338, 251, 0, 0, + 0, 0, 385, 0, 0, 0, 0, 634, 0, 0, + 0, 254, 639, 0, 0, 0, 338, 251, 0, 0, 399, 0, 197, 0, 447, 238, 348, 345, 481, 266, - 257, 253, 237, 293, 355, 397, 467, 391, 0, 342, - 0, 0, 457, 370, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, - 235, 301, 196, 382, 458, 270, 0, 0, 0, 0, - 188, 189, 190, 0, 727, 728, 0, 0, 0, 0, - 1713, 0, 0, 226, 0, 233, 323, 332, 331, 312, - 313, 315, 317, 322, 329, 335, 0, 0, 0, 0, + 257, 253, 237, 293, 355, 397, 467, 391, 646, 342, + 0, 0, 457, 370, 0, 0, 0, 0, 0, 641, + 642, 0, 0, 0, 0, 0, 0, 0, 0, 299, + 235, 301, 196, 382, 458, 270, 0, 87, 0, 0, + 188, 189, 190, 720, 727, 728, 729, 730, 731, 721, + 723, 0, 0, 226, 722, 233, 662, 664, 663, 673, + 674, 675, 676, 677, 678, 679, 660, 725, 732, 733, 0, 249, 297, 256, 248, 478, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, + 0, 0, 631, 0, 645, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 734, 735, 736, 737, + 0, 0, 0, 0, 628, 629, 0, 0, 0, 0, + 700, 0, 630, 0, 0, 638, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, - 768, 769, 770, 771, 772, 773, 774, 775, 0, 0, + 768, 769, 770, 771, 772, 773, 774, 775, 640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, - 371, 241, 0, 0, 0, 0, 514, 0, 0, 0, + 371, 241, 0, 699, 0, 0, 514, 0, 0, 697, 0, 0, 0, 0, 337, 0, 306, 192, 213, 0, 0, 381, 424, 434, 0, 0, 0, 239, 0, 432, 395, 497, 221, 268, 421, 401, 430, 408, 271, 0, @@ -3512,20 +3424,20 @@ var yyAct = [...]int{ 227, 444, 0, 0, 531, 206, 490, 463, 363, 302, 303, 205, 0, 420, 252, 276, 242, 384, 487, 488, 240, 532, 216, 510, 208, 0, 509, 377, 482, 491, - 364, 353, 207, 489, 362, 352, 308, 327, 328, 264, + 364, 353, 207, 489, 362, 352, 308, 668, 669, 264, 287, 413, 346, 414, 288, 373, 372, 374, 199, 501, 0, 200, 0, 459, 502, 533, 222, 223, 225, 0, 263, 267, 275, 277, 283, 284, 291, 339, 388, 412, 410, 416, 0, 477, 495, 506, 513, 519, 520, 522, 523, 524, 525, 526, 528, 527, 376, 290, 455, 307, - 344, 0, 0, 394, 433, 228, 499, 456, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, + 344, 0, 0, 394, 433, 228, 499, 456, 706, 698, + 650, 710, 652, 707, 708, 647, 648, 651, 709, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 545, 546, 547, 548, 549, 550, 551, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 552, 354, 446, - 496, 309, 321, 324, 314, 333, 0, 334, 310, 311, - 316, 318, 319, 320, 325, 326, 330, 336, 236, 202, - 360, 368, 476, 425, 426, 427, 428, 0, 191, 209, + 545, 546, 547, 548, 549, 550, 551, 0, 701, 637, + 636, 0, 643, 644, 0, 658, 659, 661, 665, 666, + 667, 670, 671, 672, 680, 682, 683, 681, 684, 685, + 686, 689, 690, 691, 692, 687, 688, 693, 653, 657, + 654, 655, 656, 711, 712, 713, 714, 635, 191, 209, 340, 0, 417, 272, 530, 508, 504, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3548,23 +3460,23 @@ var yyAct = [...]int{ 0, 342, 0, 0, 457, 370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 235, 301, 196, 382, 458, 270, 0, 0, - 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 226, 0, 233, 323, 332, + 0, 0, 188, 189, 190, 0, 727, 728, 0, 0, + 0, 0, 1713, 0, 0, 226, 0, 233, 323, 332, 331, 312, 313, 315, 317, 322, 329, 335, 0, 0, 0, 0, 0, 249, 297, 256, 248, 478, 0, 0, - 0, 0, 0, 0, 0, 217, 0, 1034, 0, 0, + 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 734, 735, + 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, + 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, + 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, + 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 280, 0, 371, 241, 0, 0, 0, 1033, 514, 0, - 0, 0, 0, 0, 1030, 1031, 337, 991, 306, 192, - 213, 1024, 1028, 381, 424, 434, 0, 0, 0, 239, + 280, 0, 371, 241, 0, 0, 0, 0, 514, 0, + 0, 0, 0, 0, 0, 0, 337, 0, 306, 192, + 213, 0, 0, 381, 424, 434, 0, 0, 0, 239, 0, 432, 395, 497, 221, 268, 421, 401, 430, 408, 271, 0, 0, 431, 343, 483, 415, 494, 515, 516, 247, 375, 505, 471, 511, 529, 214, 244, 389, 464, @@ -3600,83 +3512,83 @@ var yyAct = [...]int{ 0, 349, 0, 0, 351, 265, 285, 296, 0, 507, 462, 215, 429, 274, 203, 234, 218, 243, 258, 261, 300, 361, 369, 398, 403, 279, 255, 232, 422, 229, - 445, 468, 469, 470, 472, 365, 250, 402, 0, 0, - 347, 474, 475, 292, 366, 0, 0, 0, 78, 473, + 445, 468, 469, 470, 472, 365, 250, 402, 0, 366, + 347, 474, 475, 292, 473, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 385, 0, 0, 0, + 0, 0, 0, 0, 0, 254, 0, 0, 0, 0, + 338, 251, 0, 0, 399, 0, 197, 0, 447, 238, + 348, 345, 481, 266, 257, 253, 237, 293, 355, 397, + 467, 391, 0, 342, 0, 0, 457, 370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 385, 0, 0, 0, 0, 0, 0, 0, 0, - 254, 0, 0, 0, 0, 338, 251, 0, 0, 399, - 0, 197, 0, 447, 238, 348, 345, 481, 266, 257, - 253, 237, 293, 355, 397, 467, 391, 0, 342, 0, - 0, 457, 370, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 299, 235, - 301, 196, 382, 458, 270, 0, 87, 0, 0, 188, - 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 226, 0, 233, 323, 332, 331, 312, 313, - 315, 317, 322, 329, 335, 0, 0, 0, 0, 0, - 249, 297, 256, 248, 478, 0, 0, 0, 0, 0, - 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, + 0, 0, 0, 299, 235, 301, 196, 382, 458, 270, + 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 226, 0, 233, + 323, 332, 331, 312, 313, 315, 317, 322, 329, 335, + 0, 0, 0, 0, 0, 249, 297, 256, 248, 478, + 0, 0, 0, 0, 0, 0, 0, 217, 0, 1034, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 280, 0, 371, - 241, 0, 0, 0, 0, 514, 0, 0, 0, 0, - 0, 0, 0, 337, 0, 306, 192, 213, 0, 0, - 381, 424, 434, 0, 0, 0, 239, 0, 432, 395, - 497, 221, 268, 421, 401, 430, 408, 271, 0, 0, - 431, 343, 483, 415, 494, 515, 516, 247, 375, 505, - 471, 511, 529, 214, 244, 389, 464, 500, 454, 367, - 479, 480, 305, 453, 278, 195, 341, 521, 212, 440, - 230, 219, 485, 503, 273, 419, 204, 466, 492, 227, - 444, 0, 0, 531, 206, 490, 463, 363, 302, 303, - 205, 0, 420, 252, 276, 242, 384, 487, 488, 240, - 532, 216, 510, 208, 0, 509, 377, 482, 491, 364, - 353, 207, 489, 362, 352, 308, 327, 328, 264, 287, - 413, 346, 414, 288, 373, 372, 374, 199, 501, 0, - 200, 0, 459, 502, 533, 222, 223, 225, 0, 263, - 267, 275, 277, 283, 284, 291, 339, 388, 412, 410, - 416, 0, 477, 495, 506, 513, 519, 520, 522, 523, - 524, 525, 526, 528, 527, 376, 290, 455, 307, 344, - 0, 0, 394, 433, 228, 499, 456, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 534, 535, - 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, - 546, 547, 548, 549, 550, 551, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 552, 354, 446, 496, - 309, 321, 324, 314, 333, 0, 334, 310, 311, 316, - 318, 319, 320, 325, 326, 330, 336, 236, 202, 360, - 368, 476, 425, 426, 427, 428, 0, 191, 209, 340, - 86, 417, 272, 530, 508, 504, 198, 211, 0, 246, - 0, 0, 0, 0, 0, 0, 1882, 0, 0, 1881, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 193, 194, 201, 210, 220, 224, 231, 245, 260, - 262, 269, 281, 286, 289, 294, 295, 298, 304, 350, - 356, 357, 358, 359, 378, 379, 380, 383, 386, 387, - 390, 392, 393, 396, 400, 404, 405, 406, 407, 409, - 411, 418, 423, 435, 436, 437, 438, 439, 442, 443, - 448, 449, 450, 451, 452, 460, 461, 465, 484, 486, - 498, 512, 517, 441, 282, 493, 518, 0, 349, 0, - 0, 351, 265, 285, 296, 0, 507, 462, 215, 429, - 274, 203, 234, 218, 243, 258, 261, 300, 361, 369, - 398, 403, 279, 255, 232, 422, 229, 445, 468, 469, - 470, 472, 365, 250, 402, 0, 1384, 347, 474, 475, - 292, 473, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 385, 0, 0, 0, 1386, 0, 0, + 0, 0, 280, 0, 371, 241, 0, 0, 0, 1033, + 514, 0, 0, 0, 0, 0, 1030, 1031, 337, 991, + 306, 192, 213, 1024, 1028, 381, 424, 434, 0, 0, + 0, 239, 0, 432, 395, 497, 221, 268, 421, 401, + 430, 408, 271, 0, 0, 431, 343, 483, 415, 494, + 515, 516, 247, 375, 505, 471, 511, 529, 214, 244, + 389, 464, 500, 454, 367, 479, 480, 305, 453, 278, + 195, 341, 521, 212, 440, 230, 219, 485, 503, 273, + 419, 204, 466, 492, 227, 444, 0, 0, 531, 206, + 490, 463, 363, 302, 303, 205, 0, 420, 252, 276, + 242, 384, 487, 488, 240, 532, 216, 510, 208, 0, + 509, 377, 482, 491, 364, 353, 207, 489, 362, 352, + 308, 327, 328, 264, 287, 413, 346, 414, 288, 373, + 372, 374, 199, 501, 0, 200, 0, 459, 502, 533, + 222, 223, 225, 0, 263, 267, 275, 277, 283, 284, + 291, 339, 388, 412, 410, 416, 0, 477, 495, 506, + 513, 519, 520, 522, 523, 524, 525, 526, 528, 527, + 376, 290, 455, 307, 344, 0, 0, 394, 433, 228, + 499, 456, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 534, 535, 536, 537, 538, 539, 540, + 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, + 551, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 552, 354, 446, 496, 309, 321, 324, 314, 333, + 0, 334, 310, 311, 316, 318, 319, 320, 325, 326, + 330, 336, 236, 202, 360, 368, 476, 425, 426, 427, + 428, 0, 191, 209, 340, 0, 417, 272, 530, 508, + 504, 198, 211, 0, 246, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, + 220, 224, 231, 245, 260, 262, 269, 281, 286, 289, + 294, 295, 298, 304, 350, 356, 357, 358, 359, 378, + 379, 380, 383, 386, 387, 390, 392, 393, 396, 400, + 404, 405, 406, 407, 409, 411, 418, 423, 435, 436, + 437, 438, 439, 442, 443, 448, 449, 450, 451, 452, + 460, 461, 465, 484, 486, 498, 512, 517, 441, 282, + 493, 518, 0, 349, 0, 0, 351, 265, 285, 296, + 0, 507, 462, 215, 429, 274, 203, 234, 218, 243, + 258, 261, 300, 361, 369, 398, 403, 279, 255, 232, + 422, 229, 445, 468, 469, 470, 472, 365, 250, 402, + 0, 0, 347, 474, 475, 292, 366, 0, 0, 0, + 78, 473, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 385, 0, 0, 0, 0, 0, 0, 0, 0, 254, 0, 0, 0, 0, 338, 251, 0, 0, 399, 0, 197, 0, 447, 238, 348, 345, 481, 266, 257, 253, 237, 293, 355, 397, 467, 391, 0, 342, 0, 0, 457, 370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 299, 235, 301, 196, 382, 458, 270, 0, 0, 0, - 0, 188, 189, 190, 0, 1388, 0, 0, 0, 0, + 299, 235, 301, 196, 382, 458, 270, 0, 87, 0, + 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, 0, 233, 323, 332, 331, 312, 313, 315, 317, 322, 329, 335, 0, 0, 0, 0, 0, 249, 297, 256, 248, 478, 0, 0, 0, - 0, 0, 0, 0, 217, 0, 0, 0, 1206, 0, - 1207, 1208, 0, 0, 0, 0, 0, 0, 0, 259, + 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3710,9 +3622,9 @@ var yyAct = [...]int{ 446, 496, 309, 321, 324, 314, 333, 0, 334, 310, 311, 316, 318, 319, 320, 325, 326, 330, 336, 236, 202, 360, 368, 476, 425, 426, 427, 428, 0, 191, - 209, 340, 0, 417, 272, 530, 508, 504, 198, 211, - 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 209, 340, 86, 417, 272, 530, 508, 504, 198, 211, + 0, 246, 0, 0, 0, 0, 0, 0, 1882, 0, + 0, 1881, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, 245, 260, 262, 269, 281, 286, 289, 294, 295, 298, 304, 350, 356, 357, 358, 359, 378, 379, 380, 383, @@ -3723,21 +3635,21 @@ var yyAct = [...]int{ 349, 0, 0, 351, 265, 285, 296, 0, 507, 462, 215, 429, 274, 203, 234, 218, 243, 258, 261, 300, 361, 369, 398, 403, 279, 255, 232, 422, 229, 445, - 468, 469, 470, 472, 365, 250, 402, 0, 366, 347, + 468, 469, 470, 472, 365, 250, 402, 0, 1384, 347, 474, 475, 292, 473, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 385, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 385, 0, 0, 0, 1386, 0, 0, 0, 0, 254, 0, 0, 0, 0, 338, 251, 0, 0, 399, 0, 197, 0, 447, 238, 348, 345, 481, 266, 257, 253, 237, 293, 355, 397, 467, 391, 0, 342, 0, 0, 457, 370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 235, 301, 196, 382, 458, 270, 0, - 0, 0, 0, 188, 189, 190, 1327, 1330, 0, 0, - 0, 0, 1326, 1329, 0, 0, 226, 1325, 233, 323, + 0, 0, 0, 188, 189, 190, 0, 1388, 0, 0, + 0, 0, 0, 0, 0, 0, 226, 0, 233, 323, 332, 331, 312, 313, 315, 317, 322, 329, 335, 0, 0, 0, 0, 0, 249, 297, 256, 248, 478, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1206, 0, 1207, 1208, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3785,69 +3697,69 @@ var yyAct = [...]int{ 507, 462, 215, 429, 274, 203, 234, 218, 243, 258, 261, 300, 361, 369, 398, 403, 279, 255, 232, 422, 229, 445, 468, 469, 470, 472, 365, 250, 402, 0, - 0, 347, 474, 475, 292, 366, 0, 0, 0, 78, - 473, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 385, 0, 0, 0, 0, 0, 0, 0, - 0, 254, 0, 0, 0, 0, 338, 251, 0, 0, - 399, 0, 197, 0, 447, 238, 348, 345, 481, 266, - 257, 253, 237, 293, 355, 397, 467, 391, 0, 342, - 0, 0, 457, 370, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, - 235, 301, 196, 382, 458, 270, 0, 87, 0, 1365, - 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 226, 0, 233, 323, 332, 331, 312, - 313, 315, 317, 322, 329, 335, 0, 0, 0, 0, - 0, 249, 297, 256, 248, 478, 0, 0, 0, 0, - 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, + 366, 347, 474, 475, 292, 473, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 385, 0, 0, + 0, 0, 0, 0, 0, 0, 254, 0, 0, 0, + 0, 338, 251, 0, 0, 399, 0, 197, 0, 447, + 238, 348, 345, 481, 266, 257, 253, 237, 293, 355, + 397, 467, 391, 0, 342, 0, 0, 457, 370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 299, 235, 301, 196, 382, 458, + 270, 0, 0, 0, 0, 188, 189, 190, 1327, 1330, + 0, 0, 0, 0, 1326, 1329, 0, 0, 226, 1325, + 233, 323, 332, 331, 312, 313, 315, 317, 322, 329, + 335, 0, 0, 0, 0, 0, 249, 297, 256, 248, + 478, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, - 371, 241, 0, 0, 0, 0, 514, 0, 0, 0, - 0, 0, 0, 0, 337, 0, 306, 192, 213, 0, - 0, 381, 424, 434, 0, 0, 0, 239, 0, 432, - 395, 497, 221, 268, 421, 401, 430, 408, 271, 0, - 0, 431, 343, 483, 415, 494, 515, 516, 247, 375, - 505, 471, 511, 529, 214, 244, 389, 464, 500, 454, - 367, 479, 480, 305, 453, 278, 195, 341, 521, 212, - 440, 230, 219, 485, 503, 273, 419, 204, 466, 492, - 227, 444, 0, 0, 531, 206, 490, 463, 363, 302, - 303, 205, 0, 420, 252, 276, 242, 384, 487, 488, - 240, 532, 216, 510, 208, 0, 509, 377, 482, 491, - 364, 353, 207, 489, 362, 352, 308, 327, 328, 264, - 287, 413, 346, 414, 288, 373, 372, 374, 199, 501, - 0, 200, 0, 459, 502, 533, 222, 223, 225, 0, - 263, 267, 275, 277, 283, 284, 291, 339, 388, 412, - 410, 416, 0, 477, 495, 506, 513, 519, 520, 522, - 523, 524, 525, 526, 528, 527, 376, 290, 455, 307, - 344, 0, 0, 394, 433, 228, 499, 456, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 545, 546, 547, 548, 549, 550, 551, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 552, 354, 446, - 496, 309, 321, 324, 314, 333, 0, 334, 310, 311, - 316, 318, 319, 320, 325, 326, 330, 336, 236, 202, - 360, 368, 476, 425, 426, 427, 428, 0, 191, 209, - 340, 86, 417, 272, 530, 508, 504, 198, 211, 0, - 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 193, 194, 201, 210, 220, 224, 231, 245, - 260, 262, 269, 281, 286, 289, 294, 295, 298, 304, - 350, 356, 357, 358, 359, 378, 379, 380, 383, 386, - 387, 390, 392, 393, 396, 400, 404, 405, 406, 407, - 409, 411, 418, 423, 435, 436, 437, 438, 439, 442, - 443, 448, 449, 450, 451, 452, 460, 461, 465, 484, - 486, 498, 512, 517, 441, 282, 493, 518, 0, 349, - 0, 0, 351, 265, 285, 296, 0, 507, 462, 215, - 429, 274, 203, 234, 218, 243, 258, 261, 300, 361, - 369, 398, 403, 279, 255, 232, 422, 229, 445, 468, - 469, 470, 472, 365, 250, 402, 0, 366, 347, 474, - 475, 292, 473, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 280, 0, 371, 241, 0, 0, 0, + 0, 514, 0, 0, 0, 0, 0, 0, 0, 337, + 0, 306, 192, 213, 0, 0, 381, 424, 434, 0, + 0, 0, 239, 0, 432, 395, 497, 221, 268, 421, + 401, 430, 408, 271, 0, 0, 431, 343, 483, 415, + 494, 515, 516, 247, 375, 505, 471, 511, 529, 214, + 244, 389, 464, 500, 454, 367, 479, 480, 305, 453, + 278, 195, 341, 521, 212, 440, 230, 219, 485, 503, + 273, 419, 204, 466, 492, 227, 444, 0, 0, 531, + 206, 490, 463, 363, 302, 303, 205, 0, 420, 252, + 276, 242, 384, 487, 488, 240, 532, 216, 510, 208, + 0, 509, 377, 482, 491, 364, 353, 207, 489, 362, + 352, 308, 327, 328, 264, 287, 413, 346, 414, 288, + 373, 372, 374, 199, 501, 0, 200, 0, 459, 502, + 533, 222, 223, 225, 0, 263, 267, 275, 277, 283, + 284, 291, 339, 388, 412, 410, 416, 0, 477, 495, + 506, 513, 519, 520, 522, 523, 524, 525, 526, 528, + 527, 376, 290, 455, 307, 344, 0, 0, 394, 433, + 228, 499, 456, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, + 550, 551, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 552, 354, 446, 496, 309, 321, 324, 314, + 333, 0, 334, 310, 311, 316, 318, 319, 320, 325, + 326, 330, 336, 236, 202, 360, 368, 476, 425, 426, + 427, 428, 0, 191, 209, 340, 0, 417, 272, 530, + 508, 504, 198, 211, 0, 246, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, + 210, 220, 224, 231, 245, 260, 262, 269, 281, 286, + 289, 294, 295, 298, 304, 350, 356, 357, 358, 359, + 378, 379, 380, 383, 386, 387, 390, 392, 393, 396, + 400, 404, 405, 406, 407, 409, 411, 418, 423, 435, + 436, 437, 438, 439, 442, 443, 448, 449, 450, 451, + 452, 460, 461, 465, 484, 486, 498, 512, 517, 441, + 282, 493, 518, 0, 349, 0, 0, 351, 265, 285, + 296, 0, 507, 462, 215, 429, 274, 203, 234, 218, + 243, 258, 261, 300, 361, 369, 398, 403, 279, 255, + 232, 422, 229, 445, 468, 469, 470, 472, 365, 250, + 402, 0, 0, 347, 474, 475, 292, 366, 0, 0, + 0, 78, 473, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 385, 0, 0, 0, 0, 0, 0, 0, 0, 254, 0, 0, 0, 0, 338, 251, 0, 0, 399, 0, 197, 0, 447, 238, 348, 345, @@ -3855,7 +3767,7 @@ var yyAct = [...]int{ 0, 342, 0, 0, 457, 370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 235, 301, 196, 382, 458, 270, 0, 87, - 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, + 0, 1365, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, 0, 233, 323, 332, 331, 312, 313, 315, 317, 322, 329, 335, 0, 0, 0, 0, 0, 249, 297, 256, 248, 478, 0, 0, @@ -3894,9 +3806,9 @@ var yyAct = [...]int{ 354, 446, 496, 309, 321, 324, 314, 333, 0, 334, 310, 311, 316, 318, 319, 320, 325, 326, 330, 336, 236, 202, 360, 368, 476, 425, 426, 427, 428, 0, - 191, 209, 340, 0, 417, 272, 530, 508, 504, 198, - 211, 0, 246, 0, 0, 0, 0, 0, 0, 1882, - 0, 0, 1881, 0, 0, 0, 0, 0, 0, 0, + 191, 209, 340, 86, 417, 272, 530, 508, 504, 198, + 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, 245, 260, 262, 269, 281, 286, 289, 294, 295, 298, 304, 350, 356, 357, 358, 359, 378, 379, 380, @@ -3910,13 +3822,13 @@ var yyAct = [...]int{ 445, 468, 469, 470, 472, 365, 250, 402, 0, 366, 347, 474, 475, 292, 473, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 385, 0, 0, 0, - 1833, 0, 0, 0, 0, 254, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 254, 0, 0, 0, 0, 338, 251, 0, 0, 399, 0, 197, 0, 447, 238, 348, 345, 481, 266, 257, 253, 237, 293, 355, 397, 467, 391, 0, 342, 0, 0, 457, 370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 235, 301, 196, 382, 458, 270, - 0, 0, 0, 0, 188, 189, 190, 0, 1566, 0, + 0, 87, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, 0, 233, 323, 332, 331, 312, 313, 315, 317, 322, 329, 335, 0, 0, 0, 0, 0, 249, 297, 256, 248, 478, @@ -3934,7 +3846,7 @@ var yyAct = [...]int{ 514, 0, 0, 0, 0, 0, 0, 0, 337, 0, 306, 192, 213, 0, 0, 381, 424, 434, 0, 0, 0, 239, 0, 432, 395, 497, 221, 268, 421, 401, - 430, 408, 271, 0, 1831, 431, 343, 483, 415, 494, + 430, 408, 271, 0, 0, 431, 343, 483, 415, 494, 515, 516, 247, 375, 505, 471, 511, 529, 214, 244, 389, 464, 500, 454, 367, 479, 480, 305, 453, 278, 195, 341, 521, 212, 440, 230, 219, 485, 503, 273, @@ -3957,7 +3869,7 @@ var yyAct = [...]int{ 330, 336, 236, 202, 360, 368, 476, 425, 426, 427, 428, 0, 191, 209, 340, 0, 417, 272, 530, 508, 504, 198, 211, 0, 246, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1882, 0, 0, 1881, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, 245, 260, 262, 269, 281, 286, 289, 294, 295, 298, 304, 350, 356, 357, 358, 359, 378, @@ -3971,20 +3883,20 @@ var yyAct = [...]int{ 422, 229, 445, 468, 469, 470, 472, 365, 250, 402, 0, 366, 347, 474, 475, 292, 473, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 385, 0, - 0, 0, 0, 0, 0, 0, 0, 254, 0, 0, + 0, 0, 1833, 0, 0, 0, 0, 254, 0, 0, 0, 0, 338, 251, 0, 0, 399, 0, 197, 0, 447, 238, 348, 345, 481, 266, 257, 253, 237, 293, 355, 397, 467, 391, 0, 342, 0, 0, 457, 370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 235, 301, 196, 382, 458, 270, 0, 0, 0, 0, 188, 189, 190, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, + 1566, 0, 0, 0, 0, 0, 0, 0, 0, 226, 0, 233, 323, 332, 331, 312, 313, 315, 317, 322, 329, 335, 0, 0, 0, 0, 0, 249, 297, 256, 248, 478, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, - 0, 0, 0, 985, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3993,9 +3905,9 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, 371, 241, 0, 0, 0, 0, 514, 0, 0, 0, 0, 0, 0, 0, - 337, 991, 306, 192, 213, 989, 0, 381, 424, 434, + 337, 0, 306, 192, 213, 0, 0, 381, 424, 434, 0, 0, 0, 239, 0, 432, 395, 497, 221, 268, - 421, 401, 430, 408, 271, 0, 0, 431, 343, 483, + 421, 401, 430, 408, 271, 0, 1831, 431, 343, 483, 415, 494, 515, 516, 247, 375, 505, 471, 511, 529, 214, 244, 389, 464, 500, 454, 367, 479, 480, 305, 453, 278, 195, 341, 521, 212, 440, 230, 219, 485, @@ -4032,20 +3944,20 @@ var yyAct = [...]int{ 255, 232, 422, 229, 445, 468, 469, 470, 472, 365, 250, 402, 0, 366, 347, 474, 475, 292, 473, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 385, 0, 0, 0, 1833, 0, 0, 0, 0, 254, + 385, 0, 0, 0, 0, 0, 0, 0, 0, 254, 0, 0, 0, 0, 338, 251, 0, 0, 399, 0, 197, 0, 447, 238, 348, 345, 481, 266, 257, 253, 237, 293, 355, 397, 467, 391, 0, 342, 0, 0, 457, 370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 235, 301, 196, 382, 458, 270, 0, 0, 0, 0, 188, 189, - 190, 0, 1566, 0, 0, 0, 0, 0, 0, 0, + 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, 0, 233, 323, 332, 331, 312, 313, 315, 317, 322, 329, 335, 0, 0, 0, 0, 0, 249, 297, 256, 248, 478, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 985, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4054,7 +3966,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, 371, 241, 0, 0, 0, 0, 514, 0, 0, 0, 0, 0, - 0, 0, 337, 0, 306, 192, 213, 0, 0, 381, + 0, 0, 337, 991, 306, 192, 213, 989, 0, 381, 424, 434, 0, 0, 0, 239, 0, 432, 395, 497, 221, 268, 421, 401, 430, 408, 271, 0, 0, 431, 343, 483, 415, 494, 515, 516, 247, 375, 505, 471, @@ -4093,14 +4005,14 @@ var yyAct = [...]int{ 403, 279, 255, 232, 422, 229, 445, 468, 469, 470, 472, 365, 250, 402, 0, 366, 347, 474, 475, 292, 473, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 385, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 385, 0, 0, 0, 1833, 0, 0, 0, 0, 254, 0, 0, 0, 0, 338, 251, 0, 0, 399, 0, 197, 0, 447, 238, 348, 345, 481, 266, 257, 253, 237, 293, 355, 397, 467, 391, 0, 342, 0, 0, 457, 370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, - 235, 301, 196, 382, 458, 270, 0, 0, 0, 1365, - 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, + 235, 301, 196, 382, 458, 270, 0, 0, 0, 0, + 188, 189, 190, 0, 1566, 0, 0, 0, 0, 0, 0, 0, 0, 226, 0, 233, 323, 332, 331, 312, 313, 315, 317, 322, 329, 335, 0, 0, 0, 0, 0, 249, 297, 256, 248, 478, 0, 0, 0, 0, @@ -4115,7 +4027,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, 371, 241, 0, 0, 0, 0, 514, 0, 0, 0, - 2971, 0, 0, 0, 337, 0, 306, 192, 213, 0, + 0, 0, 0, 0, 337, 0, 306, 192, 213, 0, 0, 381, 424, 434, 0, 0, 0, 239, 0, 432, 395, 497, 221, 268, 421, 401, 430, 408, 271, 0, 0, 431, 343, 483, 415, 494, 515, 516, 247, 375, @@ -4161,7 +4073,7 @@ var yyAct = [...]int{ 0, 342, 0, 0, 457, 370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 235, 301, 196, 382, 458, 270, 0, 0, - 0, 0, 188, 189, 190, 0, 1709, 0, 0, 0, + 0, 1365, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, 0, 233, 323, 332, 331, 312, 313, 315, 317, 322, 329, 335, 0, 0, 0, 0, 0, 249, 297, 256, 248, 478, 0, 0, @@ -4169,14 +4081,14 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1710, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, 371, 241, 0, 0, 0, 0, 514, 0, - 0, 0, 0, 0, 0, 0, 337, 0, 306, 192, + 0, 0, 2970, 0, 0, 0, 337, 0, 306, 192, 213, 0, 0, 381, 424, 434, 0, 0, 0, 239, 0, 432, 395, 497, 221, 268, 421, 401, 430, 408, 271, 0, 0, 431, 343, 483, 415, 494, 515, 516, @@ -4222,7 +4134,7 @@ var yyAct = [...]int{ 467, 391, 0, 342, 0, 0, 457, 370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 235, 301, 196, 382, 458, 270, - 0, 0, 0, 0, 188, 189, 190, 0, 2186, 0, + 0, 0, 0, 0, 188, 189, 190, 0, 1709, 0, 0, 0, 0, 0, 0, 0, 0, 226, 0, 233, 323, 332, 331, 312, 313, 315, 317, 322, 329, 335, 0, 0, 0, 0, 0, 249, 297, 256, 248, 478, @@ -4230,7 +4142,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2187, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1710, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4284,7 +4196,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 235, 301, 196, 382, 458, 270, 0, 0, 0, 0, 188, 189, 190, 0, - 0, 0, 2171, 0, 0, 0, 2172, 0, 0, 226, + 2185, 0, 0, 0, 0, 0, 0, 0, 0, 226, 0, 233, 323, 332, 331, 312, 313, 315, 317, 322, 329, 335, 0, 0, 0, 0, 0, 249, 297, 256, 248, 478, 0, 0, 0, 0, 0, 0, 0, 217, @@ -4292,7 +4204,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4339,13 +4251,13 @@ var yyAct = [...]int{ 250, 402, 0, 366, 347, 474, 475, 292, 473, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 385, 0, 0, 0, 0, 0, 0, 0, 0, 254, - 1409, 0, 0, 0, 338, 251, 0, 0, 399, 0, + 0, 0, 0, 0, 338, 251, 0, 0, 399, 0, 197, 0, 447, 238, 348, 345, 481, 266, 257, 253, 237, 293, 355, 397, 467, 391, 0, 342, 0, 0, 457, 370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 235, 301, 196, 382, 458, 270, 0, 0, 0, 0, 188, 189, - 190, 0, 1408, 0, 0, 0, 0, 0, 0, 0, + 190, 0, 0, 0, 2170, 0, 0, 0, 2171, 0, 0, 226, 0, 233, 323, 332, 331, 312, 313, 315, 317, 322, 329, 335, 0, 0, 0, 0, 0, 249, 297, 256, 248, 478, 0, 0, 0, 0, 0, 0, @@ -4400,13 +4312,13 @@ var yyAct = [...]int{ 472, 365, 250, 402, 0, 366, 347, 474, 475, 292, 473, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 385, 0, 0, 0, 0, 0, 0, 0, - 0, 254, 0, 0, 0, 0, 338, 251, 0, 0, + 0, 254, 1409, 0, 0, 0, 338, 251, 0, 0, 399, 0, 197, 0, 447, 238, 348, 345, 481, 266, 257, 253, 237, 293, 355, 397, 467, 391, 0, 342, 0, 0, 457, 370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 235, 301, 196, 382, 458, 270, 0, 0, 0, 0, - 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, + 188, 189, 190, 0, 1408, 0, 0, 0, 0, 0, 0, 0, 0, 226, 0, 233, 323, 332, 331, 312, 313, 315, 317, 322, 329, 335, 0, 0, 0, 0, 0, 249, 297, 256, 248, 478, 0, 0, 0, 0, @@ -4421,7 +4333,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, 371, 241, 0, 0, 0, 0, 514, 0, 0, 0, - 3073, 0, 0, 0, 337, 0, 306, 192, 213, 0, + 0, 0, 0, 0, 337, 0, 306, 192, 213, 0, 0, 381, 424, 434, 0, 0, 0, 239, 0, 432, 395, 497, 221, 268, 421, 401, 430, 408, 271, 0, 0, 431, 343, 483, 415, 494, 515, 516, 247, 375, @@ -4467,7 +4379,7 @@ var yyAct = [...]int{ 0, 342, 0, 0, 457, 370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 235, 301, 196, 382, 458, 270, 0, 0, - 0, 0, 188, 189, 190, 0, 1566, 0, 0, 0, + 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, 0, 233, 323, 332, 331, 312, 313, 315, 317, 322, 329, 335, 0, 0, 0, 0, 0, 249, 297, 256, 248, 478, 0, 0, @@ -4482,7 +4394,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, 371, 241, 0, 0, 0, 0, 514, 0, - 0, 0, 0, 0, 0, 0, 337, 0, 306, 192, + 0, 0, 3072, 0, 0, 0, 337, 0, 306, 192, 213, 0, 0, 381, 424, 434, 0, 0, 0, 239, 0, 432, 395, 497, 221, 268, 421, 401, 430, 408, 271, 0, 0, 431, 343, 483, 415, 494, 515, 516, @@ -4528,7 +4440,7 @@ var yyAct = [...]int{ 467, 391, 0, 342, 0, 0, 457, 370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 235, 301, 196, 382, 458, 270, - 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, + 0, 0, 0, 0, 188, 189, 190, 0, 1566, 0, 0, 0, 0, 0, 0, 0, 0, 226, 0, 233, 323, 332, 331, 312, 313, 315, 317, 322, 329, 335, 0, 0, 0, 0, 0, 249, 297, 256, 248, 478, @@ -4543,7 +4455,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, 371, 241, 0, 0, 0, 0, - 514, 0, 0, 0, 2971, 0, 0, 0, 337, 0, + 514, 0, 0, 0, 0, 0, 0, 0, 337, 0, 306, 192, 213, 0, 0, 381, 424, 434, 0, 0, 0, 239, 0, 432, 395, 497, 221, 268, 421, 401, 430, 408, 271, 0, 0, 431, 343, 483, 415, 494, @@ -4589,7 +4501,7 @@ var yyAct = [...]int{ 355, 397, 467, 391, 0, 342, 0, 0, 457, 370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 235, 301, 196, 382, - 458, 270, 0, 87, 0, 0, 188, 189, 190, 0, + 458, 270, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, 0, 233, 323, 332, 331, 312, 313, 315, 317, 322, 329, 335, 0, 0, 0, 0, 0, 249, 297, 256, @@ -4604,7 +4516,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, 371, 241, 0, 0, - 0, 0, 514, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 514, 0, 0, 0, 2970, 0, 0, 0, 337, 0, 306, 192, 213, 0, 0, 381, 424, 434, 0, 0, 0, 239, 0, 432, 395, 497, 221, 268, 421, 401, 430, 408, 271, 0, 0, 431, 343, 483, @@ -4643,14 +4555,14 @@ var yyAct = [...]int{ 218, 243, 258, 261, 300, 361, 369, 398, 403, 279, 255, 232, 422, 229, 445, 468, 469, 470, 472, 365, 250, 402, 0, 366, 347, 474, 475, 292, 473, 0, - 0, 0, 0, 1883, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 385, 0, 0, 0, 0, 0, 0, 0, 0, 254, 0, 0, 0, 0, 338, 251, 0, 0, 399, 0, 197, 0, 447, 238, 348, 345, 481, 266, 257, 253, 237, 293, 355, 397, 467, 391, 0, 342, 0, 0, 457, 370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 235, 301, - 196, 382, 458, 270, 0, 0, 0, 0, 188, 189, + 196, 382, 458, 270, 0, 87, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, 0, 233, 323, 332, 331, 312, 313, 315, 317, 322, 329, 335, 0, 0, 0, 0, 0, 249, @@ -4704,7 +4616,7 @@ var yyAct = [...]int{ 203, 234, 218, 243, 258, 261, 300, 361, 369, 398, 403, 279, 255, 232, 422, 229, 445, 468, 469, 470, 472, 365, 250, 402, 0, 366, 347, 474, 475, 292, - 473, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 473, 0, 0, 0, 0, 1883, 0, 0, 0, 0, 0, 0, 385, 0, 0, 0, 0, 0, 0, 0, 0, 254, 0, 0, 0, 0, 338, 251, 0, 0, 399, 0, 197, 0, 447, 238, 348, 345, 481, 266, @@ -4712,7 +4624,7 @@ var yyAct = [...]int{ 0, 0, 457, 370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 235, 301, 196, 382, 458, 270, 0, 0, 0, 0, - 188, 189, 190, 0, 1388, 0, 0, 0, 0, 0, + 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, 0, 233, 323, 332, 331, 312, 313, 315, 317, 322, 329, 335, 0, 0, 0, 0, 0, 249, 297, 256, 248, 478, 0, 0, 0, 0, @@ -4773,7 +4685,7 @@ var yyAct = [...]int{ 0, 342, 0, 0, 457, 370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 235, 301, 196, 382, 458, 270, 0, 0, - 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, + 0, 0, 188, 189, 190, 0, 1388, 0, 0, 0, 0, 0, 0, 0, 0, 226, 0, 233, 323, 332, 331, 312, 313, 315, 317, 322, 329, 335, 0, 0, 0, 0, 0, 249, 297, 256, 248, 478, 0, 0, @@ -4781,7 +4693,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1239, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4842,7 +4754,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4873,7 +4785,7 @@ var yyAct = [...]int{ 0, 552, 354, 446, 496, 309, 321, 324, 314, 333, 0, 334, 310, 311, 316, 318, 319, 320, 325, 326, 330, 336, 236, 202, 360, 368, 476, 425, 426, 427, - 428, 0, 191, 209, 340, 1664, 417, 272, 530, 508, + 428, 0, 191, 209, 340, 0, 417, 272, 530, 508, 504, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, @@ -4889,7 +4801,7 @@ var yyAct = [...]int{ 422, 229, 445, 468, 469, 470, 472, 365, 250, 402, 0, 366, 347, 474, 475, 292, 473, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 385, 0, - 1534, 0, 0, 0, 0, 0, 0, 254, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 254, 0, 0, 0, 0, 338, 251, 0, 0, 399, 0, 197, 0, 447, 238, 348, 345, 481, 266, 257, 253, 237, 293, 355, 397, 467, 391, 0, 342, 0, 0, 457, 370, @@ -4934,7 +4846,7 @@ var yyAct = [...]int{ 0, 0, 0, 552, 354, 446, 496, 309, 321, 324, 314, 333, 0, 334, 310, 311, 316, 318, 319, 320, 325, 326, 330, 336, 236, 202, 360, 368, 476, 425, - 426, 427, 428, 0, 191, 209, 340, 0, 417, 272, + 426, 427, 428, 0, 191, 209, 340, 1664, 417, 272, 530, 508, 504, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, @@ -4950,7 +4862,7 @@ var yyAct = [...]int{ 255, 232, 422, 229, 445, 468, 469, 470, 472, 365, 250, 402, 0, 366, 347, 474, 475, 292, 473, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 385, 0, 1532, 0, 0, 0, 0, 0, 0, 254, + 385, 0, 1534, 0, 0, 0, 0, 0, 0, 254, 0, 0, 0, 0, 338, 251, 0, 0, 399, 0, 197, 0, 447, 238, 348, 345, 481, 266, 257, 253, 237, 293, 355, 397, 467, 391, 0, 342, 0, 0, @@ -5011,7 +4923,7 @@ var yyAct = [...]int{ 403, 279, 255, 232, 422, 229, 445, 468, 469, 470, 472, 365, 250, 402, 0, 366, 347, 474, 475, 292, 473, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 385, 0, 1530, 0, 0, 0, 0, 0, + 0, 0, 385, 0, 1532, 0, 0, 0, 0, 0, 0, 254, 0, 0, 0, 0, 338, 251, 0, 0, 399, 0, 197, 0, 447, 238, 348, 345, 481, 266, 257, 253, 237, 293, 355, 397, 467, 391, 0, 342, @@ -5072,7 +4984,7 @@ var yyAct = [...]int{ 369, 398, 403, 279, 255, 232, 422, 229, 445, 468, 469, 470, 472, 365, 250, 402, 0, 366, 347, 474, 475, 292, 473, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 385, 0, 1528, 0, 0, 0, + 0, 0, 0, 0, 385, 0, 1530, 0, 0, 0, 0, 0, 0, 254, 0, 0, 0, 0, 338, 251, 0, 0, 399, 0, 197, 0, 447, 238, 348, 345, 481, 266, 257, 253, 237, 293, 355, 397, 467, 391, @@ -5133,7 +5045,7 @@ var yyAct = [...]int{ 300, 361, 369, 398, 403, 279, 255, 232, 422, 229, 445, 468, 469, 470, 472, 365, 250, 402, 0, 366, 347, 474, 475, 292, 473, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 385, 0, 1526, 0, + 0, 0, 0, 0, 0, 0, 385, 0, 1528, 0, 0, 0, 0, 0, 0, 254, 0, 0, 0, 0, 338, 251, 0, 0, 399, 0, 197, 0, 447, 238, 348, 345, 481, 266, 257, 253, 237, 293, 355, 397, @@ -5195,7 +5107,7 @@ var yyAct = [...]int{ 422, 229, 445, 468, 469, 470, 472, 365, 250, 402, 0, 366, 347, 474, 475, 292, 473, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 385, 0, - 1522, 0, 0, 0, 0, 0, 0, 254, 0, 0, + 1526, 0, 0, 0, 0, 0, 0, 254, 0, 0, 0, 0, 338, 251, 0, 0, 399, 0, 197, 0, 447, 238, 348, 345, 481, 266, 257, 253, 237, 293, 355, 397, 467, 391, 0, 342, 0, 0, 457, 370, @@ -5256,7 +5168,7 @@ var yyAct = [...]int{ 255, 232, 422, 229, 445, 468, 469, 470, 472, 365, 250, 402, 0, 366, 347, 474, 475, 292, 473, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 385, 0, 1520, 0, 0, 0, 0, 0, 0, 254, + 385, 0, 1522, 0, 0, 0, 0, 0, 0, 254, 0, 0, 0, 0, 338, 251, 0, 0, 399, 0, 197, 0, 447, 238, 348, 345, 481, 266, 257, 253, 237, 293, 355, 397, 467, 391, 0, 342, 0, 0, @@ -5317,7 +5229,7 @@ var yyAct = [...]int{ 403, 279, 255, 232, 422, 229, 445, 468, 469, 470, 472, 365, 250, 402, 0, 366, 347, 474, 475, 292, 473, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 385, 0, 1518, 0, 0, 0, 0, 0, + 0, 0, 385, 0, 1520, 0, 0, 0, 0, 0, 0, 254, 0, 0, 0, 0, 338, 251, 0, 0, 399, 0, 197, 0, 447, 238, 348, 345, 481, 266, 257, 253, 237, 293, 355, 397, 467, 391, 0, 342, @@ -5378,13 +5290,13 @@ var yyAct = [...]int{ 369, 398, 403, 279, 255, 232, 422, 229, 445, 468, 469, 470, 472, 365, 250, 402, 0, 366, 347, 474, 475, 292, 473, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 385, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 385, 0, 1518, 0, 0, 0, 0, 0, 0, 254, 0, 0, 0, 0, 338, 251, 0, 0, 399, 0, 197, 0, 447, 238, 348, 345, 481, 266, 257, 253, 237, 293, 355, 397, 467, 391, 0, 342, 0, 0, 457, 370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 299, 235, 301, 196, 382, 458, 270, 0, 1493, + 0, 299, 235, 301, 196, 382, 458, 270, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, 0, 233, 323, 332, 331, 312, 313, 315, 317, 322, 329, 335, 0, 0, @@ -5440,13 +5352,13 @@ var yyAct = [...]int{ 445, 468, 469, 470, 472, 365, 250, 402, 0, 366, 347, 474, 475, 292, 473, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 385, 0, 0, 0, - 0, 0, 0, 0, 1393, 254, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 254, 0, 0, 0, 0, 338, 251, 0, 0, 399, 0, 197, 0, 447, 238, 348, 345, 481, 266, 257, 253, 237, 293, 355, 397, 467, 391, 0, 342, 0, 0, 457, 370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 235, 301, 196, 382, 458, 270, - 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, + 0, 1493, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, 0, 233, 323, 332, 331, 312, 313, 315, 317, 322, 329, 335, 0, 0, 0, 0, 0, 249, 297, 256, 248, 478, @@ -5501,14 +5413,14 @@ var yyAct = [...]int{ 422, 229, 445, 468, 469, 470, 472, 365, 250, 402, 0, 366, 347, 474, 475, 292, 473, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 385, 0, - 0, 0, 0, 0, 0, 0, 0, 254, 0, 0, + 0, 0, 0, 0, 0, 0, 1393, 254, 0, 0, 0, 0, 338, 251, 0, 0, 399, 0, 197, 0, 447, 238, 348, 345, 481, 266, 257, 253, 237, 293, 355, 397, 467, 391, 0, 342, 0, 0, 457, 370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 235, 301, 196, 382, 458, 270, 0, 0, 0, 0, 188, 189, 190, 0, - 1183, 0, 0, 0, 0, 0, 0, 0, 0, 226, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, 0, 233, 323, 332, 331, 312, 313, 315, 317, 322, 329, 335, 0, 0, 0, 0, 0, 249, 297, 256, 248, 478, 0, 0, 0, 0, 0, 0, 0, 217, @@ -5569,7 +5481,7 @@ var yyAct = [...]int{ 457, 370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 235, 301, 196, 382, 458, 270, 0, 0, 0, 0, 188, 189, - 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 190, 0, 1183, 0, 0, 0, 0, 0, 0, 0, 0, 226, 0, 233, 323, 332, 331, 312, 313, 315, 317, 322, 329, 335, 0, 0, 0, 0, 0, 249, 297, 256, 248, 478, 0, 0, 0, 0, 0, 0, @@ -5610,7 +5522,7 @@ var yyAct = [...]int{ 476, 425, 426, 427, 428, 0, 191, 209, 340, 0, 417, 272, 530, 508, 504, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 797, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, 245, 260, 262, 269, 281, 286, 289, 294, 295, 298, 304, 350, 356, 357, 358, 359, 378, 379, 380, 383, 386, 387, 390, @@ -5643,7 +5555,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 609, 0, 280, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, 371, 241, 0, 0, 0, 0, 514, 0, 0, 0, 0, 0, 0, 0, 337, 0, 306, 192, 213, 0, 0, 381, 424, 434, 0, 0, 0, 239, 0, 432, @@ -5671,14 +5583,14 @@ var yyAct = [...]int{ 360, 368, 476, 425, 426, 427, 428, 0, 191, 209, 340, 0, 417, 272, 530, 508, 504, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 797, 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, 245, 260, 262, 269, 281, 286, 289, 294, 295, 298, 304, 350, 356, 357, 358, 359, 378, 379, 380, 383, 386, 387, 390, 392, 393, 396, 400, 404, 405, 406, 407, 409, 411, 418, 423, 435, 436, 437, 438, 439, 442, 443, 448, 449, 450, 451, 452, 460, 461, 465, 484, - 486, 498, 512, 517, 441, 608, 493, 518, 0, 349, + 486, 498, 512, 517, 441, 282, 493, 518, 0, 349, 0, 0, 351, 265, 285, 296, 0, 507, 462, 215, 429, 274, 203, 234, 218, 243, 258, 261, 300, 361, 369, 398, 403, 279, 255, 232, 422, 229, 445, 468, @@ -5704,8 +5616,8 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 280, 0, 371, 241, 0, 0, 555, 0, 514, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 609, 0, + 280, 0, 371, 241, 0, 0, 0, 0, 514, 0, 0, 0, 0, 0, 0, 0, 337, 0, 306, 192, 213, 0, 0, 381, 424, 434, 0, 0, 0, 239, 0, 432, 395, 497, 221, 268, 421, 401, 430, 408, @@ -5739,7 +5651,7 @@ var yyAct = [...]int{ 383, 386, 387, 390, 392, 393, 396, 400, 404, 405, 406, 407, 409, 411, 418, 423, 435, 436, 437, 438, 439, 442, 443, 448, 449, 450, 451, 452, 460, 461, - 465, 484, 486, 498, 512, 517, 441, 282, 493, 518, + 465, 484, 486, 498, 512, 517, 441, 608, 493, 518, 0, 349, 0, 0, 351, 265, 285, 296, 0, 507, 462, 215, 429, 274, 203, 234, 218, 243, 258, 261, 300, 361, 369, 398, 403, 279, 255, 232, 422, 229, @@ -5766,7 +5678,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 280, 0, 371, 241, 0, 0, 0, 0, + 0, 0, 280, 0, 371, 241, 0, 0, 555, 0, 514, 0, 0, 0, 0, 0, 0, 0, 337, 0, 306, 192, 213, 0, 0, 381, 424, 434, 0, 0, 0, 239, 0, 432, 395, 497, 221, 268, 421, 401, @@ -5796,7 +5708,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, 245, 260, 262, 269, 281, 286, 289, - 294, 295, 298, 304, 350, 356, 357, 358, 359, 3078, + 294, 295, 298, 304, 350, 356, 357, 358, 359, 378, 379, 380, 383, 386, 387, 390, 392, 393, 396, 400, 404, 405, 406, 407, 409, 411, 418, 423, 435, 436, 437, 438, 439, 442, 443, 448, 449, 450, 451, 452, @@ -5858,7 +5770,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, 245, 260, 262, 269, 281, 286, 289, 294, 295, 298, 304, 350, 356, 357, 358, - 359, 378, 379, 380, 383, 386, 387, 390, 392, 393, + 359, 3077, 379, 380, 383, 386, 387, 390, 392, 393, 396, 400, 404, 405, 406, 407, 409, 411, 418, 423, 435, 436, 437, 438, 439, 442, 443, 448, 449, 450, 451, 452, 460, 461, 465, 484, 486, 498, 512, 517, @@ -5874,7 +5786,7 @@ var yyAct = [...]int{ 237, 293, 355, 397, 467, 391, 0, 342, 0, 0, 457, 370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 235, 301, - 196, 382, 458, 270, 0, 0, 0, 0, 188, 2671, + 196, 382, 458, 270, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, 0, 233, 323, 332, 331, 312, 313, 315, 317, 322, 329, 335, 0, 0, 0, 0, 0, 249, @@ -5936,7 +5848,7 @@ var yyAct = [...]int{ 0, 0, 457, 370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 235, 301, 196, 382, 458, 270, 0, 0, 0, 0, - 188, 2167, 190, 0, 0, 0, 0, 0, 0, 0, + 188, 2670, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, 0, 233, 323, 332, 331, 312, 313, 315, 317, 322, 329, 335, 0, 0, 0, 0, 0, 249, 297, 256, 248, 478, 0, 0, 0, 0, @@ -5988,31 +5900,91 @@ var yyAct = [...]int{ 0, 0, 351, 265, 285, 296, 0, 507, 462, 215, 429, 274, 203, 234, 218, 243, 258, 261, 300, 361, 369, 398, 403, 279, 255, 232, 422, 229, 445, 468, - 469, 470, 472, 365, 250, 402, 0, 0, 347, 474, - 475, 292, + 469, 470, 472, 365, 250, 402, 0, 366, 347, 474, + 475, 292, 473, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 385, 0, 0, 0, 0, 0, + 0, 0, 0, 254, 0, 0, 0, 0, 338, 251, + 0, 0, 399, 0, 197, 0, 447, 238, 348, 345, + 481, 266, 257, 253, 237, 293, 355, 397, 467, 391, + 0, 342, 0, 0, 457, 370, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 299, 235, 301, 196, 382, 458, 270, 0, 0, + 0, 0, 188, 2166, 190, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 226, 0, 233, 323, 332, + 331, 312, 313, 315, 317, 322, 329, 335, 0, 0, + 0, 0, 0, 249, 297, 256, 248, 478, 0, 0, + 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 280, 0, 371, 241, 0, 0, 0, 0, 514, 0, + 0, 0, 0, 0, 0, 0, 337, 0, 306, 192, + 213, 0, 0, 381, 424, 434, 0, 0, 0, 239, + 0, 432, 395, 497, 221, 268, 421, 401, 430, 408, + 271, 0, 0, 431, 343, 483, 415, 494, 515, 516, + 247, 375, 505, 471, 511, 529, 214, 244, 389, 464, + 500, 454, 367, 479, 480, 305, 453, 278, 195, 341, + 521, 212, 440, 230, 219, 485, 503, 273, 419, 204, + 466, 492, 227, 444, 0, 0, 531, 206, 490, 463, + 363, 302, 303, 205, 0, 420, 252, 276, 242, 384, + 487, 488, 240, 532, 216, 510, 208, 0, 509, 377, + 482, 491, 364, 353, 207, 489, 362, 352, 308, 327, + 328, 264, 287, 413, 346, 414, 288, 373, 372, 374, + 199, 501, 0, 200, 0, 459, 502, 533, 222, 223, + 225, 0, 263, 267, 275, 277, 283, 284, 291, 339, + 388, 412, 410, 416, 0, 477, 495, 506, 513, 519, + 520, 522, 523, 524, 525, 526, 528, 527, 376, 290, + 455, 307, 344, 0, 0, 394, 433, 228, 499, 456, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 550, 551, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 552, + 354, 446, 496, 309, 321, 324, 314, 333, 0, 334, + 310, 311, 316, 318, 319, 320, 325, 326, 330, 336, + 236, 202, 360, 368, 476, 425, 426, 427, 428, 0, + 191, 209, 340, 0, 417, 272, 530, 508, 504, 198, + 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, + 231, 245, 260, 262, 269, 281, 286, 289, 294, 295, + 298, 304, 350, 356, 357, 358, 359, 378, 379, 380, + 383, 386, 387, 390, 392, 393, 396, 400, 404, 405, + 406, 407, 409, 411, 418, 423, 435, 436, 437, 438, + 439, 442, 443, 448, 449, 450, 451, 452, 460, 461, + 465, 484, 486, 498, 512, 517, 441, 282, 493, 518, + 0, 349, 0, 0, 351, 265, 285, 296, 0, 507, + 462, 215, 429, 274, 203, 234, 218, 243, 258, 261, + 300, 361, 369, 398, 403, 279, 255, 232, 422, 229, + 445, 468, 469, 470, 472, 365, 250, 402, 0, 0, + 347, 474, 475, 292, } var yyPact = [...]int{ - 4836, -1000, -415, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 5682, -1000, -418, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 2005, 1997, -1000, -1000, - -1000, -1000, 2141, -1000, 685, 1712, -1000, 1964, 3168, -1000, - 43487, 458, -1000, 42263, 457, 128, 43487, -1000, 168, -1000, - 150, 43487, 163, 41651, -1000, -1000, -294, 18997, 1888, 41, - 38, 43487, -1000, -1000, -1000, -1000, 2116, 1632, -1000, 331, - -1000, -1000, -1000, -1000, -1000, -1000, 41039, -1000, -1000, -1000, - 1981, 1950, 2155, 602, 1893, -1000, 2037, 1632, -1000, 18997, - 2090, 2022, 17773, -1000, 17773, 423, -1000, -1000, 13479, -1000, - -1000, 25127, 43487, 31247, 328, -1000, 1964, -1000, -1000, -1000, - 92, -1000, 316, 1564, -1000, 1547, -1000, 647, 745, 352, - 463, 462, 351, 350, 348, 347, 346, 345, 340, 334, - 358, -1000, 624, 624, -146, -153, 3507, 399, 400, 400, - 438, 1921, 1915, -1000, 650, -1000, 624, 624, 624, 335, - 624, 624, 624, 624, 294, 291, 624, 624, 624, 624, - 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, - 624, 624, 624, 341, 1964, 282, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 2005, 2042, -1000, -1000, + -1000, -1000, 2197, -1000, 684, 1714, -1000, 1993, 4082, -1000, + 43219, 466, -1000, 41995, 456, 129, 43219, -1000, 151, -1000, + 142, 43219, 146, 41383, -1000, -1000, -294, 18729, 1923, 33, + 31, 43219, -1000, -1000, -1000, -1000, 2160, 1641, -1000, 333, + -1000, -1000, -1000, -1000, -1000, -1000, 40771, -1000, -1000, -1000, + 2014, 2015, 2205, 595, 1937, -1000, 2084, 1641, -1000, 18729, + 2121, 2070, 17505, -1000, 17505, 388, -1000, -1000, 13211, -1000, + -1000, 24859, 43219, 30979, 296, -1000, 1993, -1000, -1000, -1000, + 106, -1000, 298, 1555, -1000, 1553, -1000, 507, 726, 318, + 434, 431, 315, 314, 311, 310, 309, 305, 303, 302, + 332, -1000, 614, 614, -157, -158, 2744, 380, 379, 379, + 411, 1957, 1954, -1000, 610, -1000, 614, 614, 614, 299, + 614, 614, 614, 614, 268, 237, 614, 614, 614, 614, + 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, + 614, 614, 614, 329, 1993, 215, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, @@ -6048,37 +6020,37 @@ var yyPact = [...]int{ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 43487, 203, 43487, -1000, 526, 43487, 749, - 749, 77, 749, 749, 749, 749, 175, 597, 36, -1000, - 170, 266, 152, 277, 741, 174, -1000, -1000, 271, 741, - 1156, -1000, 610, 151, -1000, 749, 749, -1000, 11011, 179, - 11011, 11011, -1000, 1956, -1000, -1000, -1000, -1000, 1147, -1000, - 435, -1000, -1000, -1000, -1000, 43487, 40427, 342, 649, -1000, - -1000, -1000, 72, -1000, -1000, 1341, 1446, 18997, 972, -1000, - 1528, 579, -1000, -1000, -1000, -1000, -1000, 488, 19609, 19609, - 19609, 19609, -1000, -1000, 1566, 1566, 1566, 1566, 19609, 1566, - 19609, 1566, 1566, 1566, 1566, 18997, 1566, 1566, 1566, -1000, - 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, - 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, - 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, - 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, - 1566, 1566, 1566, 1566, -1000, 1566, 522, 1566, 1566, 1566, - 1566, 1566, -1000, -1000, -1000, -1000, 1566, 1566, 1566, 1566, - 1566, 1566, 1566, 1566, 1566, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 22674, -1000, 15937, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 43219, 162, 43219, -1000, 521, 43219, 748, + 748, 42, 748, 748, 748, 748, 171, 594, 30, -1000, + 170, 260, 154, 216, 759, 173, -1000, -1000, 209, 759, + 1214, -1000, 601, 131, -1000, 748, 748, -1000, 10743, 165, + 10743, 10743, -1000, 1970, -1000, -1000, -1000, -1000, 1220, -1000, + 406, -1000, -1000, -1000, -1000, 43219, 40159, 335, 641, -1000, + -1000, -1000, 79, -1000, -1000, 1308, 988, 18729, 908, -1000, + 1578, 572, -1000, -1000, -1000, -1000, -1000, 501, 19341, 19341, + 19341, 19341, -1000, -1000, 1582, 1582, 1582, 1582, 19341, 1582, + 19341, 1582, 1582, 1582, 1582, 18729, 1582, 1582, 1582, -1000, + 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, + 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, + 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, + 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, + 1582, 1582, 1582, 1582, -1000, 1582, 517, 1582, 1582, 1582, + 1582, 1582, -1000, -1000, -1000, -1000, 1582, 1582, 1582, 1582, + 1582, 1582, 1582, 1582, 1582, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 22406, -1000, 15669, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 43487, -1000, 1566, - 195, 43487, 43487, 322, 2037, 1632, -1000, 2116, 2077, 331, - -1000, 2703, 1259, 1338, 1164, 1632, 1496, 43487, -1000, 1594, - -1000, -1000, -1000, 1803, 1072, 1152, -1000, -1000, -1000, -1000, - 1767, 18997, -1000, -1000, 2136, -1000, 22062, 520, 784, 2134, - 39815, -1000, 423, 423, 1539, 12862, 15, -1000, -1000, -1000, - 646, 28799, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1956, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 43219, -1000, 1582, + 169, 43219, 43219, 307, 2084, 1641, -1000, 2160, 2170, 333, + -1000, 2558, 1315, 1593, 1126, 1641, 1516, 43219, -1000, 1588, + -1000, -1000, -1000, 1851, 1107, 1213, -1000, -1000, -1000, -1000, + 1826, 18729, -1000, -1000, 2186, -1000, 21794, 514, 809, 2185, + 39547, -1000, 388, 388, 1551, 12594, 1, -1000, -1000, -1000, + 640, 28531, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1970, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, @@ -6091,269 +6063,270 @@ var yyPact = [...]int{ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 1550, 43487, -1000, -1000, 4466, 1113, - -1000, 1711, -1000, 1543, -1000, 1633, 18997, 1623, 453, 1113, - 448, 446, 444, -1000, -69, -1000, -1000, -1000, -1000, -1000, - -1000, 624, 624, 624, -1000, 349, 2087, 3168, 4927, -1000, - -1000, -1000, 39203, 1700, 1113, -1000, 1690, -1000, 738, 504, - 542, 542, 1113, -1000, -1000, 43487, 1113, 731, 729, 1113, - 1113, 43487, 43487, -1000, 38591, -1000, 37979, 37367, 1014, 43487, - 36755, 36143, 35531, 34919, 34307, -1000, 1913, -1000, 1785, -1000, - -1000, -1000, 43487, 1113, 1113, 43487, 43487, 311, -1000, -1000, - 43487, 1113, -1000, -1000, 1013, 1012, 1005, 624, 624, 992, - 1151, 1146, 1145, 624, 624, 988, 1142, 30023, 1141, 281, - 987, 984, 979, 1055, 1140, 201, 1130, 1054, 900, 978, - 43487, 1689, 43487, -1000, 257, 678, 443, 645, 1964, 1878, - 1532, 430, 452, 1113, 391, 391, 43487, -1000, 11628, -1000, - -1000, 1129, 18997, -1000, 743, 741, 741, -1000, -1000, -1000, - -1000, -1000, -1000, 749, 43487, 743, -1000, -1000, -1000, 741, - 749, 43487, 749, 749, 749, 749, 741, 741, 741, 749, - 43487, 43487, 43487, 43487, 43487, 43487, 43487, 43487, 43487, 11011, - 610, 749, -302, -1000, 1128, -1000, 1794, -1000, -1000, -1000, - -1000, -1000, -1000, 11011, 11011, -1000, -1000, -1000, -1000, 161, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -47, - 1530, 33695, -1000, -308, -309, -314, -317, -1000, -1000, -1000, - -318, -323, -1000, -1000, -1000, 18997, 18997, 18997, 18997, -180, - -1000, 847, 19609, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 832, 902, 19609, 19609, 19609, 19609, 19609, 19609, 19609, 19609, - 19609, 19609, 19609, 19609, 19609, 19609, 19609, -1000, -1000, 26963, - 6533, 6533, 579, 579, 579, 579, -1000, 17773, 18997, 18997, - 579, -1000, 1113, 33083, 17773, 17773, 18997, 1924, 675, 1446, - 43487, -1000, 1164, -1000, -1000, -1000, 939, -1000, 1924, 1924, - 1924, 1924, 1924, 43487, 43487, 524, 18997, 18997, 18997, 18997, - 18997, 18997, 14708, 18997, 18997, 18997, 18997, 18997, 18997, 18997, - 18997, 18997, 18997, 18997, 18997, 18997, 18997, 18997, 18997, 18997, - 18997, 18997, 18997, 18997, 18997, 18997, 18997, 18997, 18997, 14096, - 11628, 17773, 17773, 17773, 17773, 17773, -1000, -1000, -1000, -1000, - -1000, 18997, 18997, 18997, 18997, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 515, 1368, 1234, 1431, -1000, 1514, -1000, -145, - 24515, 18997, 1122, 2133, 1735, 43487, -1000, -1000, -1000, 2037, - -1000, 2037, 1368, 2156, 1828, 17773, -1000, -1000, 2156, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1305, -1000, 43487, - 1496, 2019, 43487, 1826, 1121, 336, -1000, 18997, 18997, 1486, - -1000, 1144, 43487, -1000, -180, -1000, 32471, -1000, -1000, 10394, - -1000, 43487, 324, 43487, -1000, 23903, 31859, 12245, 15, -1000, - 12245, 1412, -1000, 17, 10, 15320, 578, -1000, -1000, -1000, - 3507, 20833, 1289, 578, 103, -1000, -1000, -1000, 1633, -1000, - 1633, 1633, 1633, 1633, 336, 336, 336, 336, -1000, -1000, - -1000, -1000, -1000, 1687, 1684, -1000, 1633, 1633, 1633, 1633, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1683, 1683, 1683, - 1635, 1635, 392, -1000, 18997, 230, 31247, 1996, 962, 993, - 257, 406, 1728, 1113, 1113, 1113, 406, -1000, 1731, 1703, - 1525, -1000, -406, 1478, -1000, -1000, 2085, -1000, -1000, 680, - 759, 753, 727, 43487, 204, 314, -1000, 379, -1000, 31247, - 1113, 722, 542, 1113, -1000, 1113, -1000, -1000, -1000, -1000, - -1000, 1113, -1000, -1000, 1473, -1000, 1352, 806, 752, 795, - 751, 1473, -1000, -1000, -121, 1473, -1000, 1473, -1000, 1473, - -1000, 1473, -1000, 1473, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 683, 185, -225, 43487, 204, 26963, -1000, - 427, -1000, -1000, -1000, 26963, 26963, -1000, -1000, -1000, -1000, - 1120, 1119, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 1559, 43219, -1000, -1000, 3723, 1192, + -1000, 1710, -1000, 1483, -1000, 1678, 18729, 1727, 453, 1192, + 443, 439, 419, -1000, -59, -1000, -1000, -1000, -1000, -1000, + -1000, 614, 614, 614, -1000, 301, 2118, 4082, 4926, -1000, + -1000, -1000, 38935, 1709, 1192, -1000, 1707, -1000, 702, 495, + 496, 496, 1192, -1000, -1000, 43219, 1192, 697, 695, 1192, + 1192, 43219, 43219, -1000, 38323, -1000, 37711, 37099, 1039, 43219, + 36487, 35875, 35263, 34651, 34039, -1000, 1837, -1000, 1771, -1000, + -1000, -1000, 43219, 1192, 1192, 43219, 43219, 304, -1000, -1000, + 43219, 1192, -1000, -1000, 1035, 1033, 1026, 614, 614, 1007, + 1212, 1205, 1195, 614, 614, 1004, 1185, 29755, 1183, 254, + 998, 997, 996, 1053, 1180, 201, 1176, 971, 932, 991, + 43219, 1705, 43219, -1000, 200, 738, 369, 633, 1993, 1913, + 1531, 403, 451, 1192, 383, 383, 43219, -1000, 11360, -1000, + -1000, 1173, 18729, -1000, 760, 759, 759, -1000, -1000, -1000, + -1000, -1000, -1000, 748, 43219, 760, -1000, -1000, -1000, 759, + 748, 43219, 748, 748, 748, 748, 759, 759, 759, 748, + 43219, 43219, 43219, 43219, 43219, 43219, 43219, 43219, 43219, 10743, + 601, 748, -305, -1000, 1172, -1000, 1822, -1000, -1000, -1000, + -1000, -1000, -1000, 10743, 10743, -1000, -1000, -1000, -1000, 145, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -43, + 1523, 33427, -1000, -314, -315, -316, -317, -1000, -1000, -1000, + -318, -319, -1000, -1000, -1000, 18729, 18729, 18729, 18729, -183, + -1000, 978, 19341, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 936, 766, 19341, 19341, 19341, 19341, 19341, 19341, 19341, 19341, + 19341, 19341, 19341, 19341, 19341, 19341, 19341, -1000, -1000, 26695, + 6065, 6065, 572, 572, 572, 572, -1000, 17505, 18729, 18729, + 572, -1000, 1192, 32815, 17505, 17505, 18729, 1985, 647, 988, + 43219, -1000, 1126, -1000, -1000, -1000, 940, -1000, 1985, 1985, + 1985, 1985, 1985, 43219, 43219, 522, 18729, 18729, 18729, 18729, + 18729, 18729, 14440, 18729, 18729, 18729, 18729, 18729, 18729, 18729, + 18729, 18729, 18729, 18729, 18729, 18729, 18729, 18729, 18729, 18729, + 18729, 18729, 18729, 18729, 18729, 18729, 18729, 18729, 18729, 13828, + 11360, 17505, 17505, 17505, 17505, 17505, -1000, -1000, -1000, -1000, + -1000, 18729, 18729, 18729, 18729, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 506, 1524, 1431, 1333, -1000, 1518, -1000, -142, + 24247, 18729, 1169, 2179, 1754, 43219, -1000, -1000, -1000, 2084, + -1000, 2084, 1524, 2217, 1860, 17505, -1000, -1000, 2217, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1335, -1000, 43219, + 1516, 2040, 43219, 1849, 1168, 312, -1000, 18729, 18729, 1514, + -1000, 993, 43219, -1000, -183, -1000, 32203, -1000, -1000, 10126, + -1000, 43219, 297, 43219, -1000, 23635, 31591, 11977, 1, -1000, + 11977, 1471, -1000, 6, -16, 15052, 541, -1000, -1000, -1000, + 2744, 20565, 1261, 541, 76, -1000, -1000, -1000, 1678, -1000, + 1678, 1678, 1678, 1678, 312, 312, 312, 312, -1000, -1000, + -1000, -1000, -1000, 1704, 1703, -1000, 1678, 1678, 1678, 1678, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1698, 1698, 1698, + 1686, 1686, 360, -1000, 18729, 281, 30979, 2019, 974, 1242, + 200, 385, 1736, 1192, 1192, 1192, 385, -1000, 1203, 1122, + 1104, -1000, -409, 1508, -1000, -1000, 2114, -1000, -1000, 686, + 744, 742, 733, 43219, 176, 291, -1000, 356, -1000, 30979, + 1192, 691, 496, 1192, -1000, 1192, -1000, -1000, -1000, -1000, + -1000, 1192, -1000, -1000, 1505, -1000, 1512, 785, 714, 782, + 688, 1505, -1000, -1000, -124, 1505, -1000, 1505, -1000, 1505, + -1000, 1505, -1000, 1505, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 680, 178, -239, 43219, 176, 26695, -1000, + 398, -1000, -1000, -1000, 26695, 26695, -1000, -1000, -1000, -1000, + 1154, 1149, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -391, 43487, -1000, 246, 639, 297, 333, 290, 43487, - 299, 2029, 2028, 2024, 264, 288, 43487, 43487, 391, 1786, - 43487, 2007, 43487, -1000, -1000, -1000, -1000, -1000, 1446, 43487, - -1000, -1000, 749, 749, -1000, -1000, 43487, 749, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 749, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 43487, -1000, -1000, -1000, -1000, 43487, -1000, -1000, - -1000, -1000, -1000, 116, 14, 332, -1000, -1000, -1000, -1000, - -1000, 2032, -1000, 1446, 714, 681, -1000, 1566, -1000, -1000, - 913, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 832, 19609, - 19609, 19609, 1366, 439, 1571, 1582, 840, 852, 852, 769, - 769, 583, 583, 583, 583, 583, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 1114, -1000, 1504, -1000, 1439, 1713, - 1164, -1000, 1504, 1504, 1197, 17773, -1000, -1000, 672, -1000, - 18997, 1164, -1000, -1000, 1164, 1164, 18997, 18385, 18997, 18997, - 18997, 1471, 1452, 2130, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -395, 43219, -1000, 182, 632, 271, 319, 256, 43219, + 175, 2072, 2058, 2056, 194, 234, 43219, 43219, 383, 1793, + 43219, 2028, 43219, -1000, -1000, -1000, -1000, -1000, 988, 43219, + -1000, -1000, 748, 748, -1000, -1000, 43219, 748, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 748, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 1359, 993, 993, 993, 993, - 993, 18997, 974, -1000, -1000, -1000, 2655, 2502, 1164, 1341, - 1164, 1438, -1000, 2449, 993, 2415, 2407, 2361, 1264, 2330, - 2295, 2261, 993, 993, 993, 1697, 2255, 2234, 2147, 2106, - 2033, 1980, 1976, 1969, 1962, 993, 1164, 17773, 17773, 1415, - 1566, 505, -1000, 1504, 1164, 1164, 1504, 1504, 1955, 1941, - 1867, 1825, 11628, 1164, -1000, 43487, -1000, -293, -1000, -29, - 590, 1566, -1000, 30023, 1164, -1000, 2421, -1000, 44711, -1000, - -1000, -1000, -1000, -1000, 28187, 1381, 2156, -1000, -1000, 1566, - 1536, -1000, -1000, 336, 73, 27575, 568, 568, 113, 1446, - 1446, 18997, -1000, -1000, -1000, -1000, -1000, -1000, 503, 2114, - 389, 1566, -1000, 1372, 2003, -1000, -1000, -1000, 2016, 21450, - -1000, 1566, 1566, 43487, 1625, 1567, -1000, 502, -1000, 1412, - 15, -1, -1000, -1000, -1000, -1000, 1446, -1000, 1170, 325, - 3208, -1000, 382, -1000, -1000, -1000, -1000, 1906, 67, -1000, - -1000, -1000, 192, 336, -1000, -1000, -1000, -1000, -1000, -1000, - 1106, 1106, -1000, -1000, -1000, -1000, -1000, 961, -1000, -1000, - -1000, 954, -1000, -1000, 1819, 1756, 230, -1000, -1000, 624, - 1103, -1000, -1000, 1900, 624, 624, 43487, -1000, -1000, 1286, - 1996, 246, 43487, 689, 1783, -1000, 1728, 1728, 1728, 43487, - -1000, -1000, -1000, -1000, -1000, -1000, -398, 69, 344, -1000, - -1000, -1000, 3828, 43487, 1522, -1000, 205, -1000, 1274, -1000, - 43487, -1000, 1518, 1682, 1113, 1113, -1000, -1000, -1000, 43487, - 1566, -1000, -1000, -1000, -1000, 450, 1958, 268, -1000, -1000, - -197, -1000, -1000, 204, 205, 578, 1113, -1000, -1000, -1000, - -1000, -1000, -390, 1516, 442, 220, 315, 43487, 43487, 43487, - 43487, 43487, 491, -1000, -1000, -1000, -1000, 186, -1000, -1000, - 186, -1000, -1000, -1000, -1000, 267, 426, -1000, 43487, 43487, - 626, -1000, -1000, -1000, 741, -1000, -1000, 741, -1000, -1000, - -1000, -1000, -1000, 1954, 43487, 6, -352, -1000, -341, 18997, - -1000, -1000, -1000, -1000, 929, 431, 1571, 19609, 19609, 17773, - -114, 535, 535, 26963, -1000, -1000, -1000, 18997, 18997, 1426, - 668, -1000, 18997, 966, -1000, -1000, -1000, 1431, 1164, 1431, - -1000, 1431, 1431, 1431, 18997, 18997, 18997, 1164, 265, -1000, - -1000, -1000, -1000, -1000, 2123, -1000, 18997, 18997, 18997, -1000, - -1000, 18997, 18997, -1000, 18997, 18997, 20221, 1164, 20221, 18997, - 18997, 20221, -1000, -1000, -1000, -1000, 20221, 18997, 18997, 18997, - 18997, 18997, 18997, 18997, 18997, 18997, -1000, -1000, 1504, 1504, - 17773, 11628, -1000, -1000, -1000, -1000, -1000, 18997, 18997, 18997, - 18997, -1000, -1000, -1000, -1000, -1000, 590, -1000, 542, 542, - 542, 43487, -1000, -1000, -1000, -1000, -1000, -1000, 1409, 2036, - -1000, 1844, 1840, 2117, 2114, -1000, 23903, 2156, -1000, -1000, - 43487, -285, -1000, 1869, 1952, 568, 568, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 9777, 2037, 18997, 1781, 43487, 1566, - -1000, 23291, 43487, 43487, 23903, 23903, 23903, 23903, 23903, -1000, - 1809, 1807, -1000, 1815, 1806, 1899, 43487, -1000, 1499, 1164, - 2077, 21450, 331, 18997, 25739, 1282, 23903, -1000, -1000, 23903, - 43487, 9160, -1000, -1000, 3, -27, -1000, -1000, -1000, -1000, - 3507, -1000, -1000, 508, 2011, 1892, -1000, -1000, -1000, -1000, - -1000, 1476, -1000, 1455, 1402, 1450, 185, -1000, 1591, 1949, - 624, 624, -1000, 951, -1000, 1113, 1101, 1096, -1000, -1000, - -1000, 432, -1000, 1999, 43487, 1779, 1774, 1772, -1000, -404, - 944, 1674, 1576, 18997, 1669, 2084, 1376, 43487, -1000, -1000, - 43487, -1000, 164, -1000, 230, 43487, -1000, -1000, -1000, 314, - 43487, -1000, 6321, -1000, -1000, -1000, 205, -1000, -1000, -1000, - -1000, -1000, -1000, 43487, 250, -1000, 1640, 1083, -1000, -1000, - 1634, -1000, -1000, -1000, -1000, 183, 292, 172, 1090, 172, - -1000, 43487, 538, 1756, 43487, -1000, -1000, -1000, 749, 749, - -1000, -1000, 1937, -1000, 1113, 993, 19609, 19609, -1000, 579, - -1000, 1566, -160, 1633, 1633, -1000, 1633, 1635, -1000, 1633, - 141, 1633, 133, 1633, -1000, -1000, -160, 1164, 1675, 1206, - -76, -1000, 1446, 18997, -1000, -1000, -1000, -1000, -1000, -1000, - 1813, 1802, 993, -1000, 1627, 1621, 18997, 993, 993, 993, - -1000, 1446, 1264, 1798, 1277, -1000, -1000, -1000, -1000, 1383, - 993, 1791, -278, 1164, 1435, 1435, 1435, 1435, 1435, 1431, - 1431, 1431, 1431, -1000, -1000, 1164, -1000, 1671, 1628, 1787, - 1618, -1000, 2031, 2031, 2031, 1399, 44099, 43487, -1000, -1000, - -1000, -1000, 2114, 2110, 1379, -1000, -1000, 73, 385, -1000, - 1873, 1952, -1000, 2064, 1864, 2062, -1000, -1000, -1000, -1000, - -1000, 1446, -1000, 1972, 1267, -1000, 632, 1336, -1000, -1000, - 17161, 1422, 1833, 501, 1399, 1573, 2003, 1751, 1771, 2596, - -1000, -1000, -1000, -1000, 1799, -1000, 1777, -1000, -1000, 1594, - -1000, -1000, 1234, 1164, 1319, 324, 23903, 1561, 1561, -1000, - 498, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 792, 5978, - 2152, -1000, 1089, -1000, 1048, 206, 940, -1000, -1000, 624, - 624, -1000, 711, 705, -1000, 43487, 1617, -1000, 336, 1086, - 336, 937, -1000, 918, -1000, -1000, -1000, -1000, 1645, 1752, - -1000, -1000, -1000, -1000, 43487, -1000, -1000, 43487, 43487, 43487, - 1614, 2049, -1000, 18997, 1613, 625, 1778, 43487, 43487, -1000, + -1000, -1000, 43219, -1000, -1000, -1000, -1000, 43219, -1000, -1000, + -1000, -1000, -1000, 109, 3, 331, -1000, -1000, -1000, -1000, + -1000, 2079, -1000, 988, 716, 657, -1000, 1582, -1000, -1000, + 867, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 936, 19341, + 19341, 19341, 1655, 424, 1532, 913, 943, 841, 841, 849, + 849, 580, 580, 580, 580, 580, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 1148, -1000, 1440, -1000, 1349, 1627, + 1126, -1000, 1440, 1440, 1165, 17505, -1000, -1000, 678, -1000, + 18729, 1126, -1000, -1000, 1126, 1126, 18117, 18729, 18729, 18729, + 18729, 1503, 1501, 2178, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 421, 624, -360, 287, 286, 624, 624, 624, -405, -1000, - -1000, 1390, 1364, -1000, -143, -1000, 18997, -1000, -1000, -1000, - 981, 981, -1000, 1594, -1000, -1000, -1000, 1251, -1000, -1000, - -123, 43487, 43487, 43487, 43487, -1000, 877, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 579, - 19609, 1164, -1000, -1000, 336, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 1164, -1000, 18997, -1000, 18997, -1000, 2037, 1084, - 1446, 18997, 18997, -1000, 888, 885, 993, -1000, -1000, -1000, - 1164, 20221, -1000, 20221, -1000, 18997, 228, 535, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 18997, -1000, 18997, 18997, -1000, 18997, 1566, 1876, 1566, 1566, - 25739, -1000, -1000, 2110, 2096, 2047, 1851, 1856, 1856, 1873, - -1000, 2046, 2043, -1000, 1077, 2042, 1076, 696, -1000, 43487, - 18997, 1566, -1000, 343, 43487, 1566, 43487, -1000, 2093, -1000, - -1000, 18997, 1596, -1000, 18997, -1000, -1000, -1000, -1000, -1000, - -1000, 6533, 2114, 1561, -1000, -1000, 591, -1000, 18997, -1000, - -1000, -1000, 5575, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 1073, 1068, -1000, -1000, 1595, 18997, -1000, -1000, -1000, - 1193, 1188, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 1594, -1000, -1000, -1000, -1000, 314, -400, 1665, 43487, 867, - -1000, 1344, 1376, 307, 1566, 1051, 624, 624, 624, 845, - 828, 30023, 1327, -1000, 43487, 354, -1000, 314, -1000, -154, - -155, 993, -1000, -1000, 2006, -1000, -1000, 11628, -1000, -1000, - 1581, 1722, -1000, -1000, -1000, 319, -1000, -1000, -1000, 993, - 993, 1164, -1000, 993, 993, 1183, 1167, -1000, -1000, 1277, - -1000, 1586, -1000, 228, 1164, 1765, -1000, -1000, 6533, -1000, - 1511, 993, 1458, 1346, 26351, -1000, 2041, 2040, 30635, 30635, - 590, 2096, -1000, 18997, 18997, 1848, 850, -1000, -1000, -1000, - -1000, 1050, 1047, -1000, 1041, -1000, 2149, -1000, 1446, -1000, - 1566, -1000, 477, 1336, -1000, 2037, 1446, 43487, 1446, 75, - 2093, -1000, 993, -1000, 1566, 1566, 1566, 1566, 1566, 1566, - 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, - 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, - 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, 1566, - 1566, 1566, 1566, 1566, 1566, -1000, -1000, 43487, 1507, -1000, - -1000, 2004, 1261, 64, -1000, 1242, -1000, -1000, 509, -1000, - 18997, -1000, 30023, 1035, 1023, -1000, -1000, -1000, -1000, -405, - -1000, -1000, -1000, -1000, -1000, -1000, 331, 1355, -1000, 620, - 43487, 43487, 1164, 289, -133, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 18997, -1000, 1164, 1749, -1000, -239, - -1000, -1000, 18997, -1000, -1000, 18997, -1000, 18997, 1240, -1000, - -1000, -1000, -1000, -1000, 1240, 1240, -1000, -1000, 1446, 1341, - -1000, 849, -1000, -1000, -1000, -1000, -1000, 43487, 1336, 43487, - -1000, 1237, 1164, 1566, 2037, -1000, 1215, -1000, 331, -1000, - 1526, 1576, -1000, -1000, -1000, 16549, -1000, -1000, -1000, -1000, - -1000, 190, -122, 11628, 8543, 1212, -1000, -1000, 1821, -119, - -137, 1264, -1000, -329, -1000, -1000, 1333, 1302, 1269, 29411, - -1000, -1000, -1000, -1000, -1000, 1298, -1000, -1000, 25739, 42875, - -1000, -112, 202, -122, 18997, 1339, 1164, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -2, -1000, -1000, -1000, -1000, - -1000, 1634, -1000, 1817, -1000, 1164, -1000, 18997, -1000, 18997, - -1000, 18997, -1000, -1000, -1000, 1182, -1000, 4294, -228, 1742, - -1000, -53, -1000, -1000, -1000, 787, 976, -1000, -1000, -1000, - -1000, -1000, -1000, 1291, 43487, -1000, 390, -1000, -1000, -123, - -125, -1000, 1080, 1059, 993, -1000, 42875, -220, 578, 6533, - -1000, 1739, 1685, 2128, -1000, -1000, -1000, -1000, -1000, -1000, - -412, 1163, 253, -1000, -135, -1000, 18997, -1000, 18997, -1000, - -1000, -1000, 1986, 75, -1000, 2148, -1000, 2142, 599, 599, - -1000, 820, -412, -1000, -141, 993, 993, -232, -1000, -1000, - -1000, -1000, -1000, 381, 861, -1000, -1000, -1000, -1000, -1000, - -1000, 6533, -1000, -1000, -1000, 218, 218, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 860, 1242, 1242, 1242, 1242, + 1242, 18729, 1631, -1000, -1000, -1000, 2524, 2492, 1126, 1308, + 1126, 1490, -1000, 2479, 1242, 2468, 2459, 2424, 1803, 2388, + 2363, 2356, 1242, 1242, 1242, 1795, 2343, 2338, 2317, 2285, + 2274, 2252, 2242, 2235, 2166, 1242, 1126, 17505, 17505, 1485, + 1582, 505, -1000, 1440, 1126, 1126, 1440, 1440, 2132, 2124, + 2059, 2009, 11360, 1126, -1000, 43219, -1000, -297, -1000, -19, + 562, 1582, -1000, 29755, 1126, -1000, 5671, -1000, 44443, -1000, + -1000, -1000, -1000, -1000, 27919, 1577, 2217, -1000, -1000, 1582, + 1481, -1000, -1000, 312, 58, 27307, 569, 569, 91, 988, + 988, 18729, -1000, -1000, -1000, -1000, -1000, -1000, 500, 2148, + 347, 1582, -1000, 1635, 2392, -1000, -1000, -1000, 2036, 21182, + -1000, 1582, 1582, 43219, 1575, 1546, -1000, 498, -1000, 1471, + 1, -8, -1000, -1000, -1000, -1000, 988, -1000, 1056, 300, + 3259, -1000, 368, -1000, -1000, -1000, -1000, 1940, 59, -1000, + -1000, -1000, 219, 312, -1000, -1000, -1000, -1000, -1000, -1000, + 1142, 1142, -1000, -1000, -1000, -1000, -1000, 973, -1000, -1000, + -1000, 954, -1000, -1000, 1964, 1768, 281, -1000, -1000, 614, + 1138, -1000, -1000, 1943, 614, 614, 43219, -1000, -1000, 1259, + 2019, 182, 43219, 631, 1791, -1000, 1736, 1736, 1736, 43219, + -1000, -1000, -1000, -1000, -1000, -1000, -393, 68, 341, -1000, + -1000, -1000, 4511, 43219, 1464, -1000, 174, -1000, 1257, -1000, + 43219, -1000, 1447, 1697, 1192, 1192, -1000, -1000, -1000, 43219, + 1582, -1000, -1000, -1000, -1000, 445, 1984, 262, -1000, -1000, + -200, -1000, -1000, 176, 174, 541, 1192, -1000, -1000, -1000, + -1000, -1000, -398, 1445, 416, 187, 295, 43219, 43219, 43219, + 43219, 43219, 487, -1000, -1000, -1000, -1000, 163, -1000, -1000, + 163, -1000, -1000, -1000, -1000, 221, 396, -1000, 43219, 43219, + 598, -1000, -1000, -1000, 759, -1000, -1000, 759, -1000, -1000, + -1000, -1000, -1000, 1981, 43219, -9, -353, -1000, -347, 18729, + -1000, -1000, -1000, -1000, 1589, 395, 1532, 19341, 19341, 17505, + -117, 286, 286, 26695, -1000, -1000, -1000, 18729, 18729, 1443, + 611, -1000, 18729, 1025, -1000, -1000, -1000, 1126, 1333, 1333, + 1333, 1333, 1333, 18729, 18729, 18729, 1126, 267, -1000, -1000, + -1000, -1000, -1000, 2169, -1000, 18729, 18729, 18729, -1000, -1000, + 18729, 18729, -1000, 18729, 18729, 19953, 1126, 19953, 18729, 18729, + 19953, -1000, -1000, -1000, -1000, 19953, 18729, 18729, 18729, 18729, + 18729, 18729, 18729, 18729, 18729, -1000, -1000, 1440, 1440, 17505, + 11360, -1000, -1000, -1000, -1000, -1000, 18729, 18729, 18729, 18729, + -1000, -1000, -1000, -1000, -1000, 562, -1000, 496, 496, 496, + 43219, -1000, -1000, -1000, -1000, -1000, -1000, 1449, 2069, -1000, + 1891, 1873, 2165, 2148, -1000, 23635, 2217, -1000, -1000, 43219, + -289, -1000, 1915, 1888, 569, 569, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 9509, 2084, 18729, 1790, 43219, 1582, -1000, + 23023, 43219, 43219, 23635, 23635, 23635, 23635, 23635, -1000, 1841, + 1823, -1000, 1815, 1808, 1819, 43219, -1000, 1428, 1126, 2170, + 21182, 333, 18729, 25471, 1461, 23635, -1000, -1000, 23635, 43219, + 8892, -1000, -1000, -10, -24, -1000, -1000, -1000, -1000, 2744, + -1000, -1000, 2858, 2034, 1935, -1000, -1000, -1000, -1000, -1000, + 1415, -1000, 1390, 1412, 1385, 178, -1000, 1632, 1979, 614, + 614, -1000, 951, -1000, 1192, 1135, 1133, -1000, -1000, -1000, + 415, -1000, 2027, 43219, 1788, 1787, 1786, -1000, -406, 949, + 1696, 1598, 18729, 1689, 2110, 1376, 43219, -1000, -1000, 43219, + -1000, 166, -1000, 281, 43219, -1000, -1000, -1000, 291, 43219, + -1000, 7046, -1000, -1000, -1000, 174, -1000, -1000, -1000, -1000, + -1000, -1000, 43219, 195, -1000, 1687, 1218, -1000, -1000, 1734, + -1000, -1000, -1000, -1000, 167, 218, 159, 1129, 159, -1000, + 43219, 540, 1768, 43219, -1000, -1000, -1000, 748, 748, -1000, + -1000, 1963, -1000, 1192, 1242, 19341, 19341, -1000, 572, -1000, + 1582, -163, 1678, 1678, -1000, 1678, 1686, -1000, 1678, 135, + 1678, 124, 1678, -1000, -1000, -163, 1126, 1770, 1094, -79, + -1000, 988, 18729, -1000, -1000, -1000, -1000, -1000, -1000, 1969, + 1946, 1242, -1000, 1676, 1675, 18729, 1242, 1242, 1242, -1000, + 988, 1803, 1906, 1279, -1000, -1000, -1000, -1000, 1404, 1242, + 1872, -286, 1126, 1367, 1367, 1367, 1367, 1367, 1333, 1333, + 1333, 1333, -1000, -1000, 1126, -1000, 1764, 1699, 1867, 1458, + -1000, 2075, 2075, 2075, 1301, 43831, 43219, -1000, -1000, -1000, + -1000, 2148, 2133, 1378, -1000, -1000, 58, 394, -1000, 1911, + 1888, -1000, 2107, 1907, 2104, -1000, -1000, -1000, -1000, -1000, + 988, -1000, 1998, 1329, -1000, 627, 1292, -1000, -1000, 16893, + 1303, 1864, 497, 1301, 1399, 2392, 1733, 1784, 2000, -1000, + -1000, -1000, -1000, 1807, -1000, 1804, -1000, -1000, 1588, -1000, + -1000, 1431, 1126, 1839, 297, 23635, 1362, 1362, -1000, 493, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 763, 6497, 2202, + -1000, 1124, -1000, 1050, 191, 939, -1000, -1000, 614, 614, + -1000, 689, 682, -1000, 43219, 1643, -1000, 312, 1123, 312, + 906, -1000, 899, -1000, -1000, -1000, -1000, 1745, 1817, -1000, + -1000, -1000, -1000, 43219, -1000, -1000, 43219, 43219, 43219, 1626, + 2100, -1000, 18729, 1625, 621, 1861, 43219, 43219, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 405, + 614, -365, 232, 224, 614, 614, 614, -407, -1000, -1000, + 1297, 1288, -1000, -152, -1000, 18729, -1000, -1000, -1000, 935, + 935, -1000, 1588, -1000, -1000, -1000, 1249, -1000, -1000, -131, + 43219, 43219, 43219, 43219, -1000, 929, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 572, 19341, + 1126, -1000, -1000, 312, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 1126, -1000, 18729, -1000, 18729, -1000, 2084, 1114, 988, + 18729, 18729, -1000, 896, 883, 1242, -1000, -1000, -1000, 1126, + 19953, -1000, 19953, -1000, 18729, 226, 286, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 18729, + -1000, 18729, 18729, -1000, 18729, 1582, 1922, 1582, 1582, 25471, + -1000, -1000, 2133, 2136, 2097, 1892, 1900, 1900, 1911, -1000, + 2094, 2093, -1000, 1110, 2092, 1108, 666, -1000, 43219, 18729, + 1582, -1000, 330, 43219, 1582, 43219, -1000, 2125, -1000, -1000, + 18729, 1622, -1000, 18729, -1000, -1000, -1000, -1000, -1000, -1000, + 6065, 2148, 1362, -1000, -1000, 588, -1000, 18729, -1000, -1000, + -1000, 5097, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 1103, 1098, -1000, -1000, 1594, 18729, -1000, -1000, -1000, 1243, + 1231, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1588, + -1000, -1000, -1000, -1000, 291, -402, 1571, 43219, 873, -1000, + 1284, 1376, 277, 1582, 1090, 614, 614, 614, 844, 837, + 29755, 1281, -1000, 43219, 348, -1000, 291, -1000, -159, -160, + 1242, -1000, -1000, 2033, -1000, -1000, 11360, -1000, -1000, 1586, + 1735, -1000, -1000, -1000, 207, -1000, -1000, -1000, 1242, 1242, + 1126, -1000, 1242, 1242, 1170, 1137, -1000, -1000, 1279, -1000, + 1354, -1000, 226, 1126, 1783, -1000, -1000, 6065, -1000, 1330, + 1242, 1321, 1312, 26083, -1000, 2090, 2087, 30367, 30367, 562, + 2136, -1000, 18729, 18729, 1897, 857, -1000, -1000, -1000, -1000, + 1078, 1074, -1000, 1073, -1000, 2201, -1000, 988, -1000, 1582, + -1000, 484, 1292, -1000, 2084, 988, 43219, 988, 50, 2125, + -1000, 1242, -1000, 1582, 1582, 1582, 1582, 1582, 1582, 1582, + 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, + 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, + 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, + 1582, 1582, 1582, 1582, -1000, -1000, 43219, 1478, -1000, -1000, + 2032, 1274, 62, -1000, 1272, -1000, -1000, 465, -1000, 18729, + -1000, 29755, 1069, 869, -1000, -1000, -1000, -1000, -407, -1000, + -1000, -1000, -1000, -1000, -1000, 333, 1369, -1000, 612, 43219, + 43219, 1126, 288, -144, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 18729, -1000, 1126, 1774, -1000, -248, -1000, + -1000, 18729, -1000, -1000, 18729, -1000, 18729, 1255, -1000, -1000, + -1000, -1000, -1000, 1255, 1255, -1000, -1000, 988, 1308, -1000, + 798, -1000, -1000, -1000, -1000, -1000, 43219, 1292, 43219, -1000, + 1252, 1126, 1582, 2084, -1000, 1240, -1000, 333, -1000, 1565, + 1598, -1000, -1000, -1000, 16281, -1000, -1000, -1000, -1000, -1000, + 186, -128, 11360, 8275, 1236, -1000, -1000, 1843, -122, -147, + 1803, -1000, -333, -1000, -1000, 1268, 1161, 1132, 29143, -1000, + -1000, -1000, -1000, -1000, 1267, -1000, -1000, 25471, 42607, -1000, + -113, 214, -128, 18729, 1316, 1126, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -3, -1000, -1000, -1000, -1000, -1000, + 1734, -1000, 1830, -1000, 1126, -1000, 18729, -1000, 18729, -1000, + 18729, -1000, -1000, -1000, 1230, -1000, 5747, -230, 1766, -1000, + -73, -1000, -1000, -1000, 741, 843, -1000, -1000, -1000, -1000, + -1000, -1000, 1382, 43219, -1000, 358, -1000, -1000, -131, -135, + -1000, 1121, 1085, 1242, -1000, 42607, -224, 541, 6065, -1000, + 1756, 1599, 2156, -1000, -1000, -1000, -1000, -1000, -1000, -415, + 1224, 197, -1000, -145, -1000, 18729, -1000, 18729, -1000, -1000, + -1000, 2024, 50, -1000, 2200, -1000, 2190, 623, 623, -1000, + 836, -415, -1000, -150, 1242, 1242, -237, -1000, -1000, -1000, + -1000, -1000, 355, 853, -1000, -1000, -1000, -1000, -1000, -1000, + 6065, -1000, -1000, -1000, 213, 213, -1000, -1000, } var yyPgo = [...]int{ - 0, 2661, 2656, 25, 4, 36, 35, 2653, 38, 117, - 200, 27, 195, 107, 2652, 2648, 2646, 2644, 2643, 2642, - 2639, 235, 230, 227, 2591, 2590, 2583, 2582, 2581, 2580, - 2577, 2576, 2573, 2572, 225, 170, 193, 2569, 2567, 2563, - 126, 191, 100, 103, 190, 2562, 2561, 90, 2557, 2556, - 2555, 189, 184, 183, 748, 2552, 180, 135, 53, 2542, - 2541, 2534, 2532, 2531, 2530, 2529, 2528, 2527, 2526, 2525, - 2524, 2522, 2519, 2518, 2517, 2513, 201, 2512, 2510, 17, - 2507, 89, 2503, 2501, 2498, 2495, 143, 2492, 2490, 2488, - 26, 2485, 2482, 2481, 2480, 2477, 2476, 2475, 155, 2472, - 2471, 2470, 176, 194, 2467, 2465, 205, 123, 128, 2454, - 2451, 124, 192, 2449, 140, 2447, 2445, 2443, 165, 2442, - 3274, 2441, 75, 74, 2440, 82, 96, 66, 73, 16, - 1, 2438, 2437, 68, 88, 2436, 2432, 110, 77, 2430, - 105, 119, 2420, 2418, 13, 7, 2415, 2, 6, 3, - 80, 2414, 2413, 127, 2412, 2410, 2409, 104, 2408, 2406, - 5817, 2404, 102, 149, 115, 84, 2403, 46, 71, 2402, - 2401, 2396, 2395, 2390, 59, 2387, 2386, 2385, 157, 40, - 172, 43, 41, 52, 151, 2384, 70, 91, 2381, 153, - 152, 2380, 60, 44, 37, 2379, 48, 147, 134, 28, - 101, 148, 2378, 2376, 61, 83, 2374, 2368, 2367, 2366, - 177, 2364, 2353, 81, 2350, 58, 2344, 204, 2343, 22, - 2341, 67, 49, 2337, 79, 133, 78, 33, 2331, 173, - 2329, 55, 174, 144, 171, 2324, 2323, 2317, 2316, 188, - 305, 2315, 2312, 86, 179, 156, 164, 106, 2311, 315, - 2308, 2306, 98, 1304, 4158, 21, 175, 2305, 2303, 5509, - 154, 42, 18, 2300, 138, 2294, 2289, 2287, 196, 178, - 122, 917, 76, 2282, 2281, 85, 14, 2280, 2279, 2278, - 2277, 2276, 2273, 129, 34, 32, 31, 202, 65, 10, - 111, 169, 92, 2271, 2270, 2268, 142, 95, 2267, 168, - 167, 145, 132, 2263, 185, 159, 160, 2262, 212, 30, - 2258, 2257, 2256, 2255, 97, 2253, 2247, 2239, 2236, 166, - 163, 141, 93, 2235, 94, 131, 161, 158, 47, 2229, - 45, 2228, 2226, 29, 182, 24, 2218, 12, 63, 69, - 23, 121, 120, 2215, 0, 2214, 15, 181, 319, 162, - 2213, 2212, 8, 9, 11, 2211, 2210, 2204, 2201, 150, - 2200, 2199, 2191, 2184, 20, 50, 19, 5, 137, 99, - 2182, 2178, 2170, 5084, 1891, 146, 2159, 199, + 0, 2674, 2673, 23, 6, 39, 37, 2671, 75, 115, + 197, 66, 193, 119, 2669, 2668, 2667, 2666, 2661, 2658, + 2657, 229, 227, 225, 2654, 2653, 2651, 2649, 2646, 2645, + 2644, 2643, 2642, 2641, 233, 170, 190, 2640, 2639, 2638, + 125, 186, 96, 98, 188, 2637, 2636, 84, 2635, 2634, + 2632, 182, 181, 178, 752, 2629, 180, 128, 45, 2627, + 2626, 2624, 2620, 2619, 2616, 2614, 2613, 2612, 2610, 2609, + 2608, 2601, 2600, 2599, 2589, 2585, 198, 2584, 2580, 16, + 2578, 90, 2577, 2575, 2569, 2568, 136, 2565, 2564, 2561, + 26, 2559, 2558, 2557, 2545, 2544, 2543, 2542, 150, 2536, + 2535, 2533, 174, 192, 2531, 2530, 309, 126, 121, 2525, + 2523, 124, 191, 2522, 123, 2519, 2516, 2514, 159, 2513, + 2298, 2510, 74, 77, 2509, 201, 97, 73, 67, 38, + 3, 2508, 2503, 68, 89, 2500, 2498, 106, 88, 2497, + 111, 101, 2493, 2490, 14, 8, 2489, 1, 4, 2, + 85, 2488, 2487, 132, 2480, 2473, 2471, 104, 2470, 2469, + 4525, 2468, 103, 143, 116, 83, 2467, 33, 53, 2466, + 2457, 2454, 2452, 2451, 48, 2446, 2441, 2437, 152, 40, + 172, 46, 35, 52, 144, 2436, 34, 94, 2434, 149, + 148, 2433, 58, 28, 42, 2429, 30, 142, 141, 63, + 118, 145, 2419, 2418, 49, 80, 2414, 2409, 2408, 2407, + 171, 2406, 2405, 79, 2402, 65, 2399, 209, 2396, 55, + 2395, 50, 41, 2394, 71, 133, 78, 32, 2393, 161, + 2385, 59, 169, 139, 164, 2384, 2383, 2382, 2377, 189, + 294, 2369, 2368, 93, 177, 151, 160, 102, 2366, 304, + 2364, 2363, 99, 531, 3200, 21, 166, 2362, 2359, 5247, + 147, 27, 20, 2354, 137, 2353, 2352, 2351, 194, 176, + 122, 929, 61, 2349, 2348, 82, 15, 2346, 2345, 2343, + 2341, 2332, 2328, 86, 36, 31, 29, 205, 70, 11, + 105, 184, 81, 2323, 2312, 2311, 129, 110, 2310, 175, + 168, 138, 167, 2308, 179, 158, 135, 2303, 719, 25, + 2299, 2293, 2292, 2288, 100, 2286, 2285, 2283, 2277, 162, + 154, 127, 95, 2275, 92, 131, 157, 165, 47, 2273, + 43, 2269, 2267, 22, 187, 17, 2261, 12, 60, 69, + 24, 117, 120, 2259, 0, 2257, 13, 185, 307, 163, + 2254, 2252, 7, 5, 10, 2245, 2243, 2242, 2238, 146, + 2236, 2233, 2225, 2223, 19, 44, 18, 9, 134, 91, + 2222, 2220, 4135, 1320, 140, 2218, 200, } -//line sql.y:7252 +//line sql.y:7241 type yySymType struct { union any empty struct{} @@ -6939,7 +6912,7 @@ func (st *yySymType) withUnion() *With { } var yyR1 = [...]int{ - 0, 371, 372, 372, 7, 7, 7, 7, 7, 7, + 0, 370, 371, 371, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 344, 344, @@ -6948,7 +6921,7 @@ var yyR1 = [...]int{ 9, 9, 9, 10, 10, 10, 10, 10, 11, 11, 11, 11, 13, 13, 13, 13, 13, 19, 20, 12, 12, 21, 21, 84, 84, 22, 23, 23, 23, 23, - 375, 375, 155, 155, 153, 153, 154, 154, 224, 224, + 374, 374, 155, 155, 153, 153, 154, 154, 224, 224, 24, 25, 25, 234, 234, 233, 233, 233, 235, 235, 235, 235, 271, 271, 26, 26, 26, 26, 26, 104, 104, 346, 346, 345, 337, 337, 336, 336, 335, 343, @@ -7021,59 +6994,59 @@ var yyR1 = [...]int{ 65, 65, 72, 358, 358, 359, 360, 360, 360, 360, 73, 75, 31, 31, 31, 31, 31, 31, 110, 110, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, - 98, 98, 105, 105, 105, 99, 99, 376, 76, 77, + 98, 98, 105, 105, 105, 99, 99, 375, 76, 77, 77, 103, 103, 103, 96, 96, 96, 102, 102, 102, 16, 16, 17, 223, 223, 18, 18, 107, 107, 109, 109, 109, 109, 109, 111, 111, 111, 111, 111, 111, - 111, 370, 106, 106, 108, 108, 108, 108, 257, 257, - 257, 256, 256, 137, 137, 139, 138, 138, 140, 140, - 141, 141, 141, 141, 185, 185, 163, 163, 221, 221, - 219, 219, 220, 220, 222, 222, 222, 222, 225, 225, - 142, 142, 142, 142, 150, 150, 151, 151, 152, 152, - 265, 265, 262, 262, 262, 261, 261, 156, 156, 156, - 158, 157, 157, 157, 157, 159, 159, 161, 161, 160, - 160, 162, 167, 167, 166, 166, 164, 164, 164, 164, - 165, 165, 165, 165, 168, 168, 120, 120, 120, 120, - 120, 120, 120, 131, 131, 131, 131, 134, 134, 134, - 134, 134, 134, 134, 134, 134, 134, 134, 210, 210, + 111, 106, 106, 108, 108, 108, 108, 257, 257, 257, + 256, 256, 137, 137, 139, 138, 138, 140, 140, 141, + 141, 141, 141, 185, 185, 163, 163, 221, 221, 219, + 219, 220, 220, 222, 222, 222, 222, 225, 225, 142, + 142, 142, 142, 150, 150, 151, 151, 152, 152, 265, + 265, 262, 262, 262, 261, 261, 156, 156, 156, 158, + 157, 157, 157, 157, 159, 159, 161, 161, 160, 160, + 162, 167, 167, 166, 166, 164, 164, 164, 164, 165, + 165, 165, 165, 168, 168, 120, 120, 120, 120, 120, + 120, 120, 131, 131, 131, 131, 134, 134, 134, 134, + 134, 134, 134, 134, 134, 134, 134, 210, 210, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, - 125, 125, 125, 126, 126, 126, 126, 126, 126, 126, + 125, 125, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, - 126, 126, 126, 126, 126, 126, 83, 83, 83, 238, - 238, 169, 169, 177, 177, 177, 177, 170, 170, 170, - 170, 170, 170, 170, 178, 178, 178, 184, 179, 179, - 175, 175, 175, 175, 173, 173, 173, 173, 173, 173, - 173, 173, 173, 173, 174, 174, 174, 174, 174, 174, + 126, 126, 126, 126, 126, 83, 83, 83, 238, 238, + 169, 169, 177, 177, 177, 177, 170, 170, 170, 170, + 170, 170, 170, 178, 178, 178, 184, 179, 179, 175, + 175, 175, 175, 173, 173, 173, 173, 173, 173, 173, + 173, 173, 173, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 136, + 174, 174, 174, 174, 174, 174, 174, 174, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, - 136, 136, 136, 136, 273, 273, 340, 340, 339, 339, - 338, 338, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 94, 94, 94, 94, 94, 94, - 94, 94, 94, 377, 377, 287, 287, 287, 287, 176, - 176, 176, 176, 176, 101, 101, 101, 101, 101, 270, - 270, 270, 274, 274, 274, 272, 272, 272, 272, 272, - 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, - 275, 275, 190, 190, 97, 97, 188, 188, 189, 191, - 191, 186, 186, 186, 172, 172, 172, 192, 192, 193, - 193, 194, 194, 196, 195, 195, 197, 198, 198, 198, - 199, 199, 200, 200, 200, 47, 47, 47, 47, 47, - 42, 42, 42, 42, 43, 43, 43, 43, 112, 112, - 112, 112, 114, 114, 113, 113, 79, 79, 80, 80, - 80, 118, 118, 119, 119, 119, 116, 116, 117, 117, - 217, 217, 201, 201, 201, 208, 208, 208, 204, 204, - 206, 206, 206, 207, 207, 207, 205, 214, 214, 216, - 216, 215, 215, 211, 211, 212, 212, 213, 213, 213, - 209, 209, 171, 171, 171, 171, 171, 218, 218, 218, - 218, 226, 226, 181, 181, 183, 183, 182, 135, 227, - 227, 231, 228, 228, 232, 232, 232, 232, 232, 229, - 229, 230, 230, 258, 258, 258, 236, 236, 249, 249, - 245, 245, 246, 246, 239, 239, 251, 251, 251, 74, - 180, 180, 325, 325, 322, 254, 254, 255, 255, 259, - 259, 263, 263, 260, 260, 252, 252, 252, 252, 252, + 136, 136, 136, 273, 273, 340, 340, 339, 339, 338, + 338, 95, 95, 95, 95, 95, 95, 95, 95, 95, + 95, 95, 95, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 376, 376, 287, 287, 287, 287, 176, 176, + 176, 176, 176, 101, 101, 101, 101, 101, 270, 270, + 270, 274, 274, 274, 272, 272, 272, 272, 272, 272, + 272, 272, 272, 272, 272, 272, 272, 272, 272, 275, + 275, 190, 190, 97, 97, 188, 188, 189, 191, 191, + 186, 186, 186, 172, 172, 172, 192, 192, 193, 193, + 194, 194, 196, 195, 195, 197, 198, 198, 198, 199, + 199, 200, 200, 200, 47, 47, 47, 47, 47, 42, + 42, 42, 42, 43, 43, 43, 43, 112, 112, 112, + 112, 114, 114, 113, 113, 79, 79, 80, 80, 80, + 118, 118, 119, 119, 119, 116, 116, 117, 117, 217, + 217, 201, 201, 201, 208, 208, 208, 204, 204, 206, + 206, 206, 207, 207, 207, 205, 214, 214, 216, 216, + 215, 215, 211, 211, 212, 212, 213, 213, 213, 209, + 209, 171, 171, 171, 171, 171, 218, 218, 218, 218, + 226, 226, 181, 181, 183, 183, 182, 135, 227, 227, + 231, 228, 228, 232, 232, 232, 232, 232, 229, 229, + 230, 230, 258, 258, 258, 236, 236, 249, 249, 245, + 245, 246, 246, 239, 239, 251, 251, 251, 74, 180, + 180, 325, 325, 322, 254, 254, 255, 255, 259, 259, + 263, 263, 260, 260, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, @@ -7088,7 +7061,7 @@ var yyR1 = [...]int{ 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, - 252, 252, 253, 253, 253, 253, 253, 253, 253, 253, + 252, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, @@ -7124,7 +7097,7 @@ var yyR1 = [...]int{ 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 253, 373, 374, 268, 269, 269, 269, + 253, 253, 253, 372, 373, 268, 269, 269, 269, } var yyR2 = [...]int{ @@ -7214,55 +7187,55 @@ var yyR2 = [...]int{ 2, 1, 2, 2, 0, 1, 1, 0, 1, 1, 5, 5, 4, 0, 2, 4, 4, 0, 1, 0, 1, 2, 3, 4, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 3, 1, 2, 3, 5, 0, 1, - 2, 1, 1, 0, 1, 2, 1, 3, 1, 1, - 1, 4, 3, 1, 3, 4, 3, 7, 0, 3, - 1, 3, 1, 3, 1, 1, 3, 3, 1, 3, - 4, 4, 4, 3, 2, 4, 0, 1, 0, 2, - 0, 1, 0, 1, 2, 1, 1, 1, 2, 2, - 1, 2, 3, 2, 3, 2, 2, 2, 1, 1, - 3, 3, 0, 1, 1, 2, 6, 5, 6, 6, - 0, 2, 3, 3, 0, 2, 3, 3, 3, 2, - 3, 1, 6, 3, 4, 3, 1, 3, 4, 5, - 6, 3, 4, 5, 6, 3, 4, 1, 1, 1, + 1, 1, 3, 1, 2, 3, 5, 0, 1, 2, + 1, 1, 0, 1, 2, 1, 3, 1, 1, 1, + 4, 3, 1, 3, 4, 3, 7, 0, 3, 1, + 3, 1, 3, 1, 1, 3, 3, 1, 3, 4, + 4, 4, 3, 2, 4, 0, 1, 0, 2, 0, + 1, 0, 1, 2, 1, 1, 1, 2, 2, 1, + 2, 3, 2, 3, 2, 2, 2, 1, 1, 3, + 3, 0, 1, 1, 2, 6, 5, 6, 6, 0, + 2, 3, 3, 0, 2, 3, 3, 3, 2, 3, + 1, 6, 3, 4, 3, 1, 3, 4, 5, 6, + 3, 4, 5, 6, 3, 4, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 1, 1, 1, 1, 1, 3, 1, 1, - 2, 2, 2, 2, 1, 1, 2, 9, 7, 7, - 6, 2, 2, 3, 3, 3, 1, 1, 1, 0, - 3, 1, 1, 1, 2, 1, 2, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, - 4, 5, 5, 6, 4, 4, 8, 6, 8, 6, - 8, 5, 4, 2, 2, 1, 2, 2, 2, 5, - 5, 5, 5, 5, 5, 8, 8, 6, 5, 4, - 4, 4, 4, 4, 7, 4, 6, 6, 6, 4, - 4, 4, 7, 8, 6, 5, 6, 8, 11, 7, - 8, 8, 9, 4, 4, 4, 4, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 4, 1, 6, - 8, 10, 12, 14, 6, 8, 8, 10, 12, 14, - 6, 8, 10, 12, 0, 2, 0, 2, 1, 3, + 3, 1, 1, 1, 1, 1, 3, 1, 1, 2, + 2, 2, 2, 1, 1, 2, 9, 7, 7, 6, + 2, 2, 3, 3, 3, 1, 1, 1, 0, 3, + 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 3, 4, + 5, 5, 6, 4, 4, 8, 6, 8, 6, 8, + 5, 4, 2, 2, 1, 2, 2, 2, 5, 5, + 5, 5, 5, 5, 8, 8, 6, 5, 4, 4, + 4, 4, 4, 7, 4, 6, 6, 6, 4, 4, + 4, 7, 8, 6, 5, 6, 8, 11, 7, 8, + 8, 9, 4, 4, 4, 4, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 4, 1, 6, 8, + 10, 12, 14, 6, 8, 8, 10, 12, 14, 6, + 8, 10, 12, 0, 2, 0, 2, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 0, 2, 0, 2, 3, 3, 4, - 4, 4, 4, 4, 0, 3, 4, 7, 3, 1, - 1, 1, 0, 5, 5, 2, 3, 1, 2, 2, - 1, 2, 1, 2, 2, 1, 2, 2, 1, 1, - 0, 1, 0, 1, 0, 2, 1, 2, 4, 0, - 2, 1, 3, 5, 1, 2, 2, 0, 3, 0, - 2, 0, 1, 3, 1, 3, 2, 0, 1, 1, - 0, 1, 2, 4, 4, 0, 2, 2, 1, 1, - 3, 3, 3, 3, 3, 3, 3, 3, 0, 3, - 3, 3, 0, 3, 1, 1, 0, 4, 0, 1, - 1, 0, 3, 1, 3, 2, 1, 1, 0, 1, - 2, 4, 9, 3, 5, 0, 3, 3, 0, 1, - 0, 2, 2, 0, 2, 2, 2, 0, 2, 1, - 2, 3, 3, 0, 2, 1, 2, 3, 4, 3, - 0, 1, 2, 1, 5, 4, 4, 1, 3, 3, - 5, 0, 5, 1, 3, 1, 2, 3, 1, 1, - 3, 3, 1, 3, 3, 3, 3, 3, 2, 1, - 2, 1, 1, 1, 1, 1, 1, 1, 0, 1, - 0, 2, 0, 3, 0, 1, 0, 1, 1, 5, - 0, 1, 0, 1, 2, 1, 1, 1, 1, 1, - 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 0, 2, 0, 2, 3, 3, 4, 4, + 4, 4, 4, 0, 3, 4, 7, 3, 1, 1, + 1, 0, 5, 5, 2, 3, 1, 2, 2, 1, + 2, 1, 2, 2, 1, 2, 2, 1, 1, 0, + 1, 0, 1, 0, 2, 1, 2, 4, 0, 2, + 1, 3, 5, 1, 2, 2, 0, 3, 0, 2, + 0, 1, 3, 1, 3, 2, 0, 1, 1, 0, + 1, 2, 4, 4, 0, 2, 2, 1, 1, 3, + 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, + 3, 0, 3, 1, 1, 0, 4, 0, 1, 1, + 0, 3, 1, 3, 2, 1, 1, 0, 1, 2, + 4, 9, 3, 5, 0, 3, 3, 0, 1, 0, + 2, 2, 0, 2, 2, 2, 0, 2, 1, 2, + 3, 3, 0, 2, 1, 2, 3, 4, 3, 0, + 1, 2, 1, 5, 4, 4, 1, 3, 3, 5, + 0, 5, 1, 3, 1, 2, 3, 1, 1, 3, + 3, 1, 3, 3, 3, 3, 3, 2, 1, 2, + 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, + 2, 0, 3, 0, 1, 0, 1, 1, 5, 0, + 1, 0, 1, 2, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -7313,21 +7286,21 @@ var yyR2 = [...]int{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, + 1, 1, 1, 1, 1, 0, 0, 1, 1, } var yyChk = [...]int{ - -1000, -371, -7, -11, -19, -20, -21, -22, -23, -24, + -1000, -370, -7, -11, -19, -20, -21, -22, -23, -24, -25, -26, -27, -28, -29, -30, -62, -63, -64, -66, -67, -68, -69, -70, -14, -65, -31, -32, -71, -72, -73, -74, -75, -16, -17, -18, -9, -8, -13, 9, 10, -84, -33, 32, -38, -48, 221, -49, -39, 222, -50, 224, 223, 260, 225, 253, 74, 306, 307, 309, 310, 311, 312, -85, 258, 259, 227, 36, 45, 33, - 34, 37, 231, 266, 267, 230, -10, -34, 8, -373, - 11, 437, 255, 254, 28, -12, 480, 86, -372, 621, + 34, 37, 231, 266, 267, 230, -10, -34, 8, -372, + 11, 437, 255, 254, 28, -12, 480, 86, -371, 621, -217, -201, 22, 33, 29, -200, -196, -103, -201, 20, - 18, 7, -76, -376, -76, -76, 12, 13, -76, -310, + 18, 7, -76, -375, -76, -76, 12, 13, -76, -310, -312, 86, 156, 86, -76, -55, -54, -52, -51, -53, -56, 31, -45, -46, -334, -44, -41, 226, 223, 270, 120, 121, 260, 261, 262, 225, 244, 259, 263, 258, @@ -7382,20 +7355,20 @@ var yyChk = [...]int{ -125, -126, -173, -174, -175, -176, -132, -186, 163, 164, 171, 141, -184, -135, 26, 476, 439, 438, 174, 31, 217, 68, 69, 441, 442, 143, 57, 414, 415, -133, - 409, 416, 411, 468, 467, 469, 470, 471, 444, 445, + 409, 416, 411, 467, 469, 470, 471, 468, 444, 445, 115, 446, 105, 107, 106, 447, 448, 449, 346, 347, 450, 451, 452, 108, 109, 110, 111, 112, 113, 114, 453, 456, 454, 455, 457, 458, 459, 464, 465, 460, 461, 462, 463, 466, -136, -254, -259, 238, 408, 232, 169, 437, -127, -123, -8, -182, 407, 412, 413, 417, 410, 472, 473, 474, 475, -344, -253, -129, -128, -169, - 92, 98, 103, 99, -367, 116, -373, 93, 94, 95, + 92, 98, 103, 99, -367, 116, -372, 93, 94, 95, 96, 97, 117, 118, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 44, 382, 382, -160, - -76, -76, -76, -76, -194, -103, -196, -10, -8, -373, + -76, -76, -76, -76, -194, -103, -196, -10, -8, -372, 8, -76, -8, -9, -13, -34, -36, 507, -35, -259, -201, -217, 12, 159, 42, 50, -199, -200, -12, -8, -120, 19, 23, 24, -108, 165, -120, -259, -77, -108, @@ -7416,7 +7389,7 @@ var yyChk = [...]int{ 145, 444, 445, 236, 129, 117, 7, 133, 34, 12, 74, 77, 415, 416, 417, 57, 125, 480, 144, 15, 510, 401, 138, 132, -311, 156, -297, -301, -254, 248, - -327, 244, -160, -320, -319, -254, -373, -104, -249, 234, + -327, 244, -160, -320, -319, -254, -372, -104, -249, 234, 242, 241, 133, -348, 136, 290, 408, 232, -51, -52, -53, -229, 173, 595, -86, 265, 269, 87, 87, -301, -300, -299, -349, 269, 248, -326, -318, 240, 249, -307, @@ -7434,26 +7407,26 @@ var yyChk = [...]int{ 280, 365, 280, 281, 280, 281, 375, 385, 280, -264, 14, 159, 408, 370, 374, 273, 233, 274, 235, 384, 281, -264, 93, -244, 156, 382, 276, -243, -243, -269, - -373, -255, 334, -344, 581, -269, -269, 32, 90, 236, + -372, -255, 334, -344, 581, -269, -269, 32, 90, 236, -254, -78, -254, 93, -15, -11, -22, -21, -23, 148, -110, 382, -98, 174, 596, 582, 583, 584, 581, 379, 589, 587, 585, 280, 586, 87, 136, 138, 139, 4, -120, 155, -170, 148, 149, 150, 151, 152, 153, 154, 159, 140, 142, 156, -210, 137, 160, 161, 162, 163, 164, 165, 166, 168, 167, 169, 170, 157, 158, 173, - 219, 220, -126, -126, -126, -126, -184, -373, -373, -373, - -126, -238, -373, -126, -373, -373, -373, -373, -190, -120, - -373, -377, -373, -377, -377, -287, -373, -287, -373, -373, - -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, - -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, - -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, - -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, - 218, -373, -373, -373, -373, -373, -287, -287, -287, -287, - -287, -373, -373, -373, -373, 103, 98, 92, -186, 99, + 219, 220, -126, -126, -126, -126, -184, -372, -372, -372, + -126, -238, -372, -126, -372, -372, -372, -372, -190, -120, + -372, -376, -372, -376, -376, -287, -372, -287, -372, -372, + -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, + -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, + -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, + -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, + 218, -372, -372, -372, -372, -372, -287, -287, -287, -287, + -287, -372, -372, -372, -372, 103, 98, 92, -186, 99, 93, -254, -259, -8, -9, -179, -268, -358, -359, -163, - -160, -373, 297, -254, -254, 266, -199, -12, -8, -194, + -160, -372, 297, -254, -254, 266, -199, -12, -8, -194, -200, -196, -8, -76, -96, -109, 63, 64, -111, 24, - 38, 67, 65, 23, -374, 88, -374, -217, -374, 87, + 38, 67, 65, 23, -373, 88, -373, -217, -373, 87, -36, -221, 86, 61, 43, 93, 93, 87, 21, -195, -197, -120, 14, -257, 4, -256, 25, -254, 93, 218, 101, 14, -161, 29, -160, -239, -239, 87, 308, -232, @@ -7490,7 +7463,7 @@ var yyChk = [...]int{ -125, -125, -125, -125, -125, -125, -125, -270, -254, 93, 174, -130, -129, 99, -367, -130, -106, -108, -120, -120, -344, -254, -106, -106, -120, -102, 24, 38, -188, -189, - 144, -186, -374, -374, 95, 99, -102, -102, -102, -102, + 144, -186, -373, -373, 95, 99, -102, -102, -102, -102, -102, -254, -254, -95, -94, 419, 420, 421, 422, 424, 425, 426, 429, 430, 434, 435, 418, 436, 423, 428, 431, 432, 433, 427, 330, -120, -120, -120, -120, -120, @@ -7499,12 +7472,12 @@ var yyChk = [...]int{ -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -107, 24, 38, -106, -255, -260, -252, -106, -107, -107, -106, -106, -120, -120, - -120, -120, 218, -217, -374, 87, -360, 400, 401, 579, + -120, -120, 218, -217, -373, 87, -360, 400, 401, 579, -262, 269, -261, 25, -180, 93, 14, -223, 77, -254, - -199, -199, 63, 64, 59, -106, -111, -374, -35, 25, + -199, -199, 63, 64, 59, -106, -111, -373, -35, 25, -219, -254, 62, 93, -288, -229, 357, 358, 174, -120, -120, 87, -198, 27, 28, -160, -256, 165, -260, -160, - -224, 269, -160, -138, -140, -141, -142, -163, -185, -373, + -224, 269, -160, -138, -140, -141, -142, -163, -185, -372, -143, 499, 496, 14, -153, -154, -162, -259, -232, -234, 87, 399, 401, 402, 76, 119, -120, -289, 173, -316, -315, -314, -297, -299, -300, -301, 88, -289, -293, 363, @@ -7512,7 +7485,7 @@ var yyChk = [...]int{ 86, 86, -283, -283, -283, -283, -291, 86, -291, -291, -292, 86, -292, -327, -120, -324, -323, -321, -322, 243, 102, 572, 528, 480, 520, 562, 77, -319, -198, 95, - -374, -118, -246, 238, -325, -322, -344, -344, -344, -246, + -373, -118, -246, 238, -325, -322, -344, -344, -344, -246, -344, 93, -344, 93, -344, 93, -87, -58, -1, 615, 616, 617, 87, 19, -298, -297, -57, 294, -330, -331, 269, -326, -320, -306, 134, -305, -306, -306, -344, 87, @@ -7522,118 +7495,118 @@ var yyChk = [...]int{ 233, 288, -160, 299, 301, 300, 298, 302, 303, 23, 23, 23, 287, 289, 291, 277, -160, -160, -245, 76, -155, -160, 26, -259, -160, -243, -243, -160, -243, -243, - -160, -254, -98, 400, 87, 480, 22, -99, 22, -373, + -160, -254, -98, 400, 87, 480, 22, -99, 22, -372, 116, 117, 118, -178, -125, -126, -125, 139, 257, 87, - -374, 25, 87, 77, -374, -374, -374, 87, 14, -106, - -191, -189, 146, -120, -374, -374, -374, -179, -370, -179, - 165, -179, -179, -179, 87, 87, 14, -274, 25, -374, - -374, -374, -374, -374, -190, -374, 14, 87, 87, -374, - -374, 87, 87, -374, 87, 87, 87, -340, 87, 87, - 87, 87, -374, -374, -374, -374, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, -374, -374, -106, -106, - -373, 218, -374, -374, -374, -374, -374, 87, 87, 87, - 87, -255, -359, 578, 401, -167, -166, -164, 74, 237, - 75, -373, -261, -374, -130, 90, -220, 90, -219, -172, - -254, 95, 99, -201, -137, -139, 14, -111, -184, 88, - 87, -288, -205, -211, -240, -254, 93, 174, -290, 174, - -290, 357, 358, -197, 218, -168, 15, -171, 32, 57, - -11, -373, -373, 32, 87, -156, -158, -157, -159, 66, - 70, 72, 67, 68, 69, 73, -265, 25, -138, -9, - -8, -373, -373, -373, -160, -153, -375, 14, 77, -375, - 87, 218, -233, -235, 403, 400, 406, -344, 93, -86, - 87, -314, -301, -202, -115, 40, -294, 364, -288, 487, - -288, -296, 93, -296, 95, 95, 88, -47, -42, -43, - 33, 81, -321, -308, 93, 39, -308, -308, -254, 88, - -198, -114, -160, 140, 76, -325, -325, -325, -259, -2, - 614, 620, 134, 86, 367, 18, -219, 87, 88, -187, - 295, 88, -88, -254, 88, 86, -306, -306, -254, -373, - 233, 31, 31, 572, 528, 519, -57, -187, -289, -344, - 613, 612, 88, 235, 293, -119, 414, -116, 93, 89, - -160, -160, -160, -160, -160, 226, 223, -368, 304, -368, - 278, 236, -153, -160, 87, -81, 252, 247, -264, -264, - 33, -160, 400, 590, 588, -120, 139, 257, -134, -126, - -108, 477, -272, 174, 331, 256, 329, 325, 345, 336, - 362, 327, 363, 324, 323, 322, -272, -270, -120, -120, - -194, 147, -120, 145, -374, -374, -374, -374, -374, -374, - -120, -120, -120, -374, 174, 331, 14, -120, -120, -120, - -341, -120, -120, -120, -339, -338, -130, -186, -374, -339, - -120, -120, -338, -338, -342, -342, -342, -342, -342, -179, - -179, -179, -179, -374, -374, -107, -255, -120, -120, -120, - -120, -164, -302, -302, -302, -225, 87, -236, 22, 14, - 57, 57, -137, -168, -138, -111, -254, -208, 574, -214, - 46, -212, -213, 47, -209, 48, 56, -290, -290, 165, - -199, -120, -226, 76, -227, -231, -186, -181, -183, -182, - -373, -218, -374, -254, -225, -227, -140, -141, -141, -140, - -141, 66, 66, 66, 71, 66, 71, 66, -157, -259, - -374, -374, -9, -9, -120, -262, 77, -138, -138, -162, - -259, 165, 400, 404, 405, -314, -366, 116, 140, 31, - 76, 360, 102, -364, 173, 516, 567, 572, 528, 520, - 562, -365, 239, 133, 134, 251, 25, 41, 88, 87, - 88, 87, 88, 87, -248, -247, -43, -42, -308, -308, - 95, -344, 93, 93, 235, 26, -160, 76, 76, 76, - -89, 618, 95, 86, -3, 81, -120, 86, 19, -297, - -186, -332, -284, -333, -285, -286, -5, -6, -309, -92, - 57, 102, -61, 44, 234, 598, 599, 124, -373, 611, - -324, -219, -328, -330, -160, -122, -373, -121, -123, -127, - 163, 164, -187, -160, -113, 284, 292, 86, -117, 90, - -346, 77, 275, 360, 275, -369, 305, 93, -369, -160, - -81, -47, -160, -243, -243, 33, -344, -374, -134, -126, - -373, -275, 486, -283, -283, -283, -292, -283, 319, -283, - 319, -283, -275, -374, 87, -374, 22, -374, -97, 443, - -120, 87, 87, -374, 86, 86, -120, -374, -374, -374, - -340, 87, -374, 87, -374, 87, -273, 573, -374, -374, - -374, -374, -374, -374, -374, -374, -374, -374, -374, -374, - 87, -374, 87, 87, -374, 87, -165, 22, -165, -165, - -374, 90, -160, -168, -192, 16, -205, 51, 337, -216, - -215, 55, 47, -213, 19, 49, 19, 30, -226, 87, - 148, 87, -374, -374, 87, 57, 218, -374, -168, -151, - -150, 76, 77, -152, 76, -150, 66, 66, -221, -374, - -374, 87, -224, -138, -168, -168, 218, 116, -373, -124, - -133, -122, 12, 93, 93, -344, -363, 602, 603, 31, - 95, -308, -308, 134, 134, -160, 86, -288, 93, -288, - 95, 95, 31, 82, 83, 84, 31, 78, 79, 80, - -160, -160, -160, -160, -329, 86, 19, -120, 86, 148, - 88, -219, -219, 271, 159, -308, 596, 277, 277, -308, - -308, -308, -91, -90, 618, 88, -374, 87, -295, 480, - 483, -120, -128, -128, -221, 88, -337, 480, -345, -254, - -254, -254, -254, 95, 97, -125, -374, -288, -374, -120, - -120, -199, 93, -120, -120, 95, 95, -374, -374, -339, - -338, -120, -374, -148, -147, -149, 582, 116, 31, -272, - -120, -120, -120, -120, -373, 66, 18, 16, -373, -373, - -262, -192, -193, 17, 19, -206, 53, -204, 52, -204, - -215, 19, 19, 93, 19, 93, 134, -231, -120, -183, - 57, -11, -254, -181, -254, -194, -120, 86, -120, -130, - -168, -168, -120, -174, 468, 467, 469, 470, 471, 446, - 105, 107, 106, 447, 448, 449, 346, 347, 450, 451, - 452, 108, 109, 110, 111, 112, 113, 114, 453, 456, - 454, 457, 458, 459, 464, 465, 460, 461, 462, 463, - 466, 472, 473, 474, 475, 93, 93, 86, -120, 88, - 88, -221, -328, -58, 88, -219, 95, 88, 272, -182, - -373, 93, -308, -308, -308, 95, 95, -261, -374, 87, - -254, -365, -330, 484, 484, -374, 25, -336, -335, -255, - 86, 77, -101, 159, 480, -374, -374, -374, -374, -374, - 88, 88, -374, -374, 87, -374, -147, -149, -374, 76, - -130, -374, 87, -374, -374, 87, -374, 87, -222, -374, - -254, 239, 19, 19, -222, -222, -167, -193, -120, -179, - -207, 54, 76, 119, 93, 93, 93, 12, -181, 218, - -199, -219, -145, 367, -194, -374, -219, 88, 25, 88, - 620, 134, 88, -182, -100, -373, 268, -261, 93, 93, - -90, -93, -11, 87, 148, -219, -160, -374, 478, 73, - 481, -120, -374, 76, 491, 582, -120, -120, -120, 87, - -374, -374, -374, 76, 119, -227, -254, 88, -374, -373, - -199, 88, -203, -11, 86, -3, 268, -284, -333, -285, - -286, -5, -6, -309, -79, 480, -335, -313, -255, 93, - 95, 88, 62, 479, 482, -340, -374, 87, -374, 87, - -374, 87, -254, 239, -262, -146, -144, -254, 534, -356, - -355, 476, -366, -362, 116, 140, 102, -364, 572, 528, - 125, 126, -79, -120, 86, -374, -80, 283, 578, -346, - 62, -374, -120, -120, -120, -374, 87, 22, -276, -60, - 545, -353, -354, 76, -357, 373, 544, 565, 116, 93, - 88, -219, 244, -337, 480, -374, 87, -374, 87, -374, - -144, 541, -289, -130, -354, 76, -353, 76, 13, 12, - -4, 619, 88, 285, 481, -120, -120, -59, 26, -145, - -352, 252, 247, 250, 32, -352, 95, -4, 482, -374, - -374, 545, 246, 31, 116, -130, -148, -147, -147, + -373, 25, 87, 77, -373, -373, -373, 87, 14, -106, + -191, -189, 146, -120, -373, -373, -373, 165, -179, -179, + -179, -179, -179, 87, 87, 14, -274, 25, -373, -373, + -373, -373, -373, -190, -373, 14, 87, 87, -373, -373, + 87, 87, -373, 87, 87, 87, -340, 87, 87, 87, + 87, -373, -373, -373, -373, 87, 87, 87, 87, 87, + 87, 87, 87, 87, 87, -373, -373, -106, -106, -372, + 218, -373, -373, -373, -373, -373, 87, 87, 87, 87, + -255, -359, 578, 401, -167, -166, -164, 74, 237, 75, + -372, -261, -373, -130, 90, -220, 90, -219, -172, -254, + 95, 99, -201, -137, -139, 14, -111, -184, 88, 87, + -288, -205, -211, -240, -254, 93, 174, -290, 174, -290, + 357, 358, -197, 218, -168, 15, -171, 32, 57, -11, + -372, -372, 32, 87, -156, -158, -157, -159, 66, 70, + 72, 67, 68, 69, 73, -265, 25, -138, -9, -8, + -372, -372, -372, -160, -153, -374, 14, 77, -374, 87, + 218, -233, -235, 403, 400, 406, -344, 93, -86, 87, + -314, -301, -202, -115, 40, -294, 364, -288, 487, -288, + -296, 93, -296, 95, 95, 88, -47, -42, -43, 33, + 81, -321, -308, 93, 39, -308, -308, -254, 88, -198, + -114, -160, 140, 76, -325, -325, -325, -259, -2, 614, + 620, 134, 86, 367, 18, -219, 87, 88, -187, 295, + 88, -88, -254, 88, 86, -306, -306, -254, -372, 233, + 31, 31, 572, 528, 519, -57, -187, -289, -344, 613, + 612, 88, 235, 293, -119, 414, -116, 93, 89, -160, + -160, -160, -160, -160, 226, 223, -368, 304, -368, 278, + 236, -153, -160, 87, -81, 252, 247, -264, -264, 33, + -160, 400, 590, 588, -120, 139, 257, -134, -126, -108, + 477, -272, 174, 331, 256, 329, 325, 345, 336, 362, + 327, 363, 324, 323, 322, -272, -270, -120, -120, -194, + 147, -120, 145, -373, -373, -373, -373, -373, -373, -120, + -120, -120, -373, 174, 331, 14, -120, -120, -120, -341, + -120, -120, -120, -339, -338, -130, -186, -373, -339, -120, + -120, -338, -338, -342, -342, -342, -342, -342, -179, -179, + -179, -179, -373, -373, -107, -255, -120, -120, -120, -120, + -164, -302, -302, -302, -225, 87, -236, 22, 14, 57, + 57, -137, -168, -138, -111, -254, -208, 574, -214, 46, + -212, -213, 47, -209, 48, 56, -290, -290, 165, -199, + -120, -226, 76, -227, -231, -186, -181, -183, -182, -372, + -218, -373, -254, -225, -227, -140, -141, -141, -140, -141, + 66, 66, 66, 71, 66, 71, 66, -157, -259, -373, + -373, -9, -9, -120, -262, 77, -138, -138, -162, -259, + 165, 400, 404, 405, -314, -366, 116, 140, 31, 76, + 360, 102, -364, 173, 516, 567, 572, 528, 520, 562, + -365, 239, 133, 134, 251, 25, 41, 88, 87, 88, + 87, 88, 87, -248, -247, -43, -42, -308, -308, 95, + -344, 93, 93, 235, 26, -160, 76, 76, 76, -89, + 618, 95, 86, -3, 81, -120, 86, 19, -297, -186, + -332, -284, -333, -285, -286, -5, -6, -309, -92, 57, + 102, -61, 44, 234, 598, 599, 124, -372, 611, -324, + -219, -328, -330, -160, -122, -372, -121, -123, -127, 163, + 164, -187, -160, -113, 284, 292, 86, -117, 90, -346, + 77, 275, 360, 275, -369, 305, 93, -369, -160, -81, + -47, -160, -243, -243, 33, -344, -373, -134, -126, -372, + -275, 486, -283, -283, -283, -292, -283, 319, -283, 319, + -283, -275, -373, 87, -373, 22, -373, -97, 443, -120, + 87, 87, -373, 86, 86, -120, -373, -373, -373, -340, + 87, -373, 87, -373, 87, -273, 573, -373, -373, -373, + -373, -373, -373, -373, -373, -373, -373, -373, -373, 87, + -373, 87, 87, -373, 87, -165, 22, -165, -165, -373, + 90, -160, -168, -192, 16, -205, 51, 337, -216, -215, + 55, 47, -213, 19, 49, 19, 30, -226, 87, 148, + 87, -373, -373, 87, 57, 218, -373, -168, -151, -150, + 76, 77, -152, 76, -150, 66, 66, -221, -373, -373, + 87, -224, -138, -168, -168, 218, 116, -372, -124, -133, + -122, 12, 93, 93, -344, -363, 602, 603, 31, 95, + -308, -308, 134, 134, -160, 86, -288, 93, -288, 95, + 95, 31, 82, 83, 84, 31, 78, 79, 80, -160, + -160, -160, -160, -329, 86, 19, -120, 86, 148, 88, + -219, -219, 271, 159, -308, 596, 277, 277, -308, -308, + -308, -91, -90, 618, 88, -373, 87, -295, 480, 483, + -120, -128, -128, -221, 88, -337, 480, -345, -254, -254, + -254, -254, 95, 97, -125, -373, -288, -373, -120, -120, + -199, 93, -120, -120, 95, 95, -373, -373, -339, -338, + -120, -373, -148, -147, -149, 582, 116, 31, -272, -120, + -120, -120, -120, -372, 66, 18, 16, -372, -372, -262, + -192, -193, 17, 19, -206, 53, -204, 52, -204, -215, + 19, 19, 93, 19, 93, 134, -231, -120, -183, 57, + -11, -254, -181, -254, -194, -120, 86, -120, -130, -168, + -168, -120, -174, 467, 469, 470, 471, 468, 446, 105, + 107, 106, 447, 448, 449, 346, 347, 450, 451, 452, + 108, 109, 110, 111, 112, 113, 114, 453, 456, 454, + 457, 458, 459, 464, 465, 460, 461, 462, 463, 466, + 472, 473, 474, 475, 93, 93, 86, -120, 88, 88, + -221, -328, -58, 88, -219, 95, 88, 272, -182, -372, + 93, -308, -308, -308, 95, 95, -261, -373, 87, -254, + -365, -330, 484, 484, -373, 25, -336, -335, -255, 86, + 77, -101, 159, 480, -373, -373, -373, -373, -373, 88, + 88, -373, -373, 87, -373, -147, -149, -373, 76, -130, + -373, 87, -373, -373, 87, -373, 87, -222, -373, -254, + 239, 19, 19, -222, -222, -167, -193, -120, -179, -207, + 54, 76, 119, 93, 93, 93, 12, -181, 218, -199, + -219, -145, 367, -194, -373, -219, 88, 25, 88, 620, + 134, 88, -182, -100, -372, 268, -261, 93, 93, -90, + -93, -11, 87, 148, -219, -160, -373, 478, 73, 481, + -120, -373, 76, 491, 582, -120, -120, -120, 87, -373, + -373, -373, 76, 119, -227, -254, 88, -373, -372, -199, + 88, -203, -11, 86, -3, 268, -284, -333, -285, -286, + -5, -6, -309, -79, 480, -335, -313, -255, 93, 95, + 88, 62, 479, 482, -340, -373, 87, -373, 87, -373, + 87, -254, 239, -262, -146, -144, -254, 534, -356, -355, + 476, -366, -362, 116, 140, 102, -364, 572, 528, 125, + 126, -79, -120, 86, -373, -80, 283, 578, -346, 62, + -373, -120, -120, -120, -373, 87, 22, -276, -60, 545, + -353, -354, 76, -357, 373, 544, 565, 116, 93, 88, + -219, 244, -337, 480, -373, 87, -373, 87, -373, -144, + 541, -289, -130, -354, 76, -353, 76, 13, 12, -4, + 619, 88, 285, 481, -120, -120, -59, 26, -145, -352, + 252, 247, 250, 32, -352, 95, -4, 482, -373, -373, + 545, 246, 31, 116, -130, -148, -147, -147, } var yyDef = [...]int{ @@ -7642,197 +7615,197 @@ var yyDef = [...]int{ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 68, 70, 71, 827, 827, 827, 0, 827, 0, 0, 827, -2, -2, 827, - 1341, 0, 827, 0, 0, -2, 759, 761, 0, 763, - -2, 0, 0, 772, 1856, 1856, 822, 0, 0, 0, - 0, 0, 827, 827, 827, 827, 1201, 48, 827, 0, - 83, 84, 778, 779, 780, 63, 0, 1854, 1, 3, - 69, 73, 0, 0, 0, 56, 1210, 0, 76, 0, - 0, 831, 0, 829, 0, 1324, 827, 827, 0, 114, + 1340, 0, 827, 0, 0, -2, 759, 761, 0, 763, + -2, 0, 0, 772, 1855, 1855, 822, 0, 0, 0, + 0, 0, 827, 827, 827, 827, 1200, 48, 827, 0, + 83, 84, 778, 779, 780, 63, 0, 1853, 1, 3, + 69, 73, 0, 0, 0, 56, 1209, 0, 76, 0, + 0, 831, 0, 829, 0, 1323, 827, 827, 0, 114, 115, 0, 0, 0, -2, 118, -2, 147, 148, 149, 0, 154, 573, 501, 552, 499, 537, -2, 487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 504, 377, 377, 0, 0, -2, 487, 487, 487, - 0, 0, 0, 534, 1326, 439, 377, 377, 377, 0, + 0, 0, 0, 534, 1325, 439, 377, 377, 377, 0, 377, 377, 377, 377, 0, 0, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, - 377, 377, 377, 1228, 153, 1342, 1339, 1340, 38, 39, - 40, 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1500, - 1501, 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, - 1511, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, - 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, - 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, - 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550, - 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560, - 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, - 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, - 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, - 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, - 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610, - 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620, - 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, - 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640, - 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, - 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, - 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, - 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678, 1679, 1680, - 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, 1690, - 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700, - 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710, - 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719, 1720, - 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, - 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, - 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, - 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1758, 1759, 1760, - 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, - 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, - 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, - 1791, 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1800, - 1801, 1802, 1803, 1804, 1805, 1806, 1807, 1808, 1809, 1810, - 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818, 1819, 1820, - 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1828, 1829, 1830, - 1831, 1832, 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840, - 1841, 1842, 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, - 1851, 1852, 1853, 0, 1318, 0, 686, 929, 0, 748, + 377, 377, 377, 1227, 153, 1341, 1338, 1339, 38, 39, + 40, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1499, + 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1509, + 1510, 1511, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1519, + 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, + 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, + 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, + 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, + 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, + 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, + 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, + 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, + 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, + 1610, 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1618, 1619, + 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, + 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1639, + 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, + 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, + 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, + 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678, 1679, + 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, + 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, + 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, + 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719, + 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, + 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, + 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, + 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1758, 1759, + 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1769, + 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, + 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, + 1790, 1791, 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799, + 1800, 1801, 1802, 1803, 1804, 1805, 1806, 1807, 1808, 1809, + 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818, 1819, + 1820, 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1828, 1829, + 1830, 1831, 1832, 1833, 1834, 1835, 1836, 1837, 1838, 1839, + 1840, 1841, 1842, 1843, 1844, 1845, 1846, 1847, 1848, 1849, + 1850, 1851, 1852, 0, 1317, 0, 686, 928, 0, 748, 748, 0, 748, 748, 748, 748, 0, 0, 0, 698, 0, 0, 0, 0, 745, 0, 714, 715, 0, 745, - 0, 721, 751, 0, 726, 748, 748, 729, 1857, 0, - 1857, 1857, 1309, 0, 742, 740, 754, 755, 758, 762, - 0, 767, 770, 1335, 1336, 0, 785, 47, 1583, 777, - 790, 791, 0, 823, 824, 43, 1028, 0, 951, 956, - 967, 982, 983, 984, 985, 986, 988, 989, 0, 0, - 0, 0, 994, 995, 0, 0, 0, 0, 0, 1009, - 0, 0, 0, 0, 0, 1182, 0, 1143, 1143, 1045, - 1143, 1145, 1145, 1503, 1537, 1661, 1669, 1777, 0, 0, - 0, 1853, 1624, 1632, 1633, 1655, 1747, 1797, 1628, 1629, - 1610, 1622, 1625, 1613, 1614, 1616, 1618, 1623, 1630, 1636, - 1615, 1635, 1634, 0, 1611, 1612, 1617, 1627, 1631, 1619, - 1620, 1621, 1626, 1637, 1098, 1191, 0, 0, 0, 0, - 0, 0, 273, 274, 1027, 1298, 1145, 1145, 1145, 1145, - 1145, 1726, 1727, 1728, 1729, -2, -2, 219, 220, 221, + 0, 721, 751, 0, 726, 748, 748, 729, 1856, 0, + 1856, 1856, 1308, 0, 742, 740, 754, 755, 758, 762, + 0, 767, 770, 1334, 1335, 0, 785, 47, 1582, 777, + 790, 791, 0, 823, 824, 43, 1027, 0, 950, 955, + 966, 981, 982, 983, 984, 985, 987, 988, 0, 0, + 0, 0, 993, 994, 0, 0, 0, 0, 0, 1008, + 0, 0, 0, 0, 0, 1181, 0, 1142, 1142, 1044, + 1142, 1144, 1144, 1536, 1660, 1668, 1776, 1502, 0, 0, + 0, 1852, 1623, 1631, 1632, 1654, 1746, 1796, 1627, 1628, + 1609, 1621, 1624, 1612, 1613, 1615, 1617, 1622, 1629, 1635, + 1614, 1634, 1633, 0, 1610, 1611, 1616, 1626, 1630, 1618, + 1619, 1620, 1625, 1636, 1097, 1190, 0, 0, 0, 0, + 0, 0, 273, 274, 1026, 1297, 1144, 1144, 1144, 1144, + 1144, 1725, 1726, 1727, 1728, -2, -2, 219, 220, 221, 222, 223, 224, 225, 0, 215, 0, 278, 279, 275, - 276, 277, 1011, 1012, 231, 232, 233, 234, 235, 236, + 276, 277, 1010, 1011, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, 1856, 0, 800, 0, - 0, 0, 0, 0, 1210, 0, 1202, 1201, 61, 0, - 827, -2, 0, 0, 0, 0, 45, 0, 50, 888, - 75, 74, 1250, 0, 0, 0, 57, 1211, 65, 67, - 1212, 0, 832, 833, 0, 864, 868, 0, 828, 0, - 0, 1325, 1324, 1324, 100, 0, 1793, 1302, -2, -2, - 0, 0, 1337, 1338, 1311, -2, 1345, 1346, 1347, 1348, - 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, - 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, - 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378, - 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, - 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398, - 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, - 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, - 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, - 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, - 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, - 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458, - 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, - 1469, 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, - 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, - 1489, 1490, 1491, -2, 0, 0, 165, 166, 0, 41, - 404, 0, 161, 0, 397, 338, 0, 1228, 0, 0, - 0, 0, 0, 827, 0, 1319, 142, 143, 150, 151, + 267, 268, 269, 270, 271, 272, 1855, 0, 800, 0, + 0, 0, 0, 0, 1209, 0, 1201, 1200, 61, 0, + 827, -2, 0, 0, 0, 0, 45, 0, 50, 887, + 75, 74, 1249, 0, 0, 0, 57, 1210, 65, 67, + 1211, 0, 832, 833, 0, 863, 867, 0, 828, 0, + 0, 1324, 1323, 1323, 100, 0, 1792, 1301, -2, -2, + 0, 0, 1336, 1337, 1310, -2, 1344, 1345, 1346, 1347, + 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, + 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, + 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377, + 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, + 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, + 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, + 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417, + 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, + 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, + 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, + 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, + 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, + 1468, 1469, 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, + 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, + 1488, 1489, 1490, -2, 0, 0, 165, 166, 0, 41, + 404, 0, 161, 0, 397, 338, 0, 1227, 0, 0, + 0, 0, 0, 827, 0, 1318, 142, 143, 150, 151, 152, 377, 377, 377, 549, 0, 0, 153, 153, 508, 509, 510, 0, 0, -2, 402, 0, 488, 0, 0, 391, 391, 395, 393, 394, 0, 0, 0, 0, 0, 0, 0, 0, 526, 0, 527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 634, 0, 378, 0, 547, 548, 440, 0, 0, 0, 0, 0, 0, 524, 525, - 0, 0, 1327, 1328, 0, 0, 0, 377, 377, 0, + 0, 0, 1326, 1327, 0, 0, 0, 377, 377, 0, 0, 0, 0, 377, 377, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 141, 1241, 0, 0, 0, -2, 0, - 678, 0, 0, 0, 1320, 1320, 0, 685, 0, 687, + 0, 0, 0, 141, 1240, 0, 0, 0, -2, 0, + 678, 0, 0, 0, 1319, 1319, 0, 685, 0, 687, 688, 0, 0, 689, 0, 745, 745, 743, 744, 691, 692, 693, 694, 748, 0, 0, 386, 387, 388, 745, 748, 0, 748, 748, 748, 748, 745, 745, 745, 748, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1857, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1856, 751, 748, 0, 722, 0, 723, 724, 727, 728, 730, - 1858, 1859, 1357, 1857, 1857, 734, 738, 1310, 760, 768, + 1857, 1858, 1356, 1856, 1856, 734, 738, 1309, 760, 768, 771, 788, 786, 787, 789, 781, 782, 783, 784, 0, 802, 803, 808, 0, 0, 0, 0, 814, 815, 816, 0, 0, 819, 820, 821, 0, 0, 0, 0, 0, - 949, 0, 0, 1017, 1018, 1019, 1020, 1021, 1022, 1023, + 948, 0, 0, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 968, 969, 0, - 0, 0, 990, 991, 992, 993, 996, 0, 0, 0, - 1001, 1002, 0, 0, 0, 0, 0, 837, 0, 1183, - 0, 1043, 0, 1044, 1046, 1047, 0, 1048, 837, 837, + 0, 0, 0, 0, 0, 0, 0, 967, 968, 0, + 0, 0, 989, 990, 991, 992, 995, 0, 0, 0, + 1000, 1001, 0, 0, 0, 0, 0, 837, 0, 1182, + 0, 1042, 0, 1043, 1045, 1046, 0, 1047, 837, 837, 837, 837, 837, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1330, 129, 0, 0, 0, + 0, 0, 0, 0, 0, 1329, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 847, 0, 0, 847, 847, 0, 0, 208, 209, 210, 211, 212, 0, 0, 0, 0, 226, 227, 228, 229, 230, - 280, 1191, 0, 1027, 0, 0, 44, 792, 793, 0, - 912, 1330, 0, 0, 843, 0, 55, 64, 66, 1210, - 59, 1210, 0, 849, 0, 0, -2, -2, 850, 856, - 857, 858, 859, 860, 52, 1855, 53, 0, 72, 0, - 46, 0, 0, 0, 0, 350, 1253, 0, 0, 1203, - 1204, 1207, 0, 865, 1667, 869, 0, 871, 872, 0, - 830, 0, 98, 0, 928, 0, 0, 0, 1793, 1308, - 0, 102, 103, 0, 0, 0, 361, 1313, 1314, 1315, + 280, 1190, 0, 1026, 0, 0, 44, 792, 793, 0, + 911, 1329, 0, 0, 843, 0, 55, 64, 66, 1209, + 59, 1209, 0, 849, 0, 0, -2, -2, 850, 856, + 857, 858, 859, 860, 52, 1854, 53, 0, 72, 0, + 46, 0, 0, 0, 0, 350, 1252, 0, 0, 1202, + 1203, 1206, 0, 864, 1666, 868, 0, 870, 871, 0, + 830, 0, 98, 0, 927, 0, 0, 0, 1792, 1307, + 0, 102, 103, 0, 0, 0, 361, 1312, 1313, 1314, -2, 384, 0, 361, 345, 288, 289, 290, 338, 292, 338, 338, 338, 338, 350, 350, 350, 350, 321, 322, 323, 324, 325, 0, 0, 307, 338, 338, 338, 338, 328, 329, 330, 331, 332, 333, 334, 335, 293, 294, 295, 296, 297, 298, 299, 300, 301, 340, 340, 340, - 342, 342, 0, 42, 0, 365, 0, 1207, 0, 0, - 1241, 1322, 1332, 0, 0, 0, 1322, 120, 0, 0, + 342, 342, 0, 42, 0, 365, 0, 1206, 0, 0, + 1240, 1321, 1331, 0, 0, 0, 1321, 120, 0, 0, 0, 550, 584, 502, 538, 551, 0, 505, 506, -2, 0, 0, 487, 0, 489, 0, 385, 0, -2, 0, 395, 0, 391, 395, 392, 395, 383, 396, 528, 529, - 530, 0, 532, 533, 614, 898, 0, 0, 0, 0, + 530, 0, 532, 533, 614, 897, 0, 0, 0, 0, 0, 620, 621, 622, 0, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 539, 540, 541, 542, 543, 544, 545, 546, 0, 0, 0, 0, 489, 0, 535, 0, 441, 442, 443, 0, 0, 446, 447, 448, 449, - 0, 0, 452, 453, 454, 915, 916, 455, 456, 481, + 0, 0, 452, 453, 454, 914, 915, 455, 456, 481, 482, 483, 457, 458, 459, 460, 461, 462, 463, 475, 476, 477, 478, 479, 480, 464, 465, 466, 467, 468, - 469, 472, 0, 135, 1232, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1320, 0, - 0, 0, 0, 846, 930, 1343, 1344, 749, 750, 0, + 469, 472, 0, 135, 1231, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1319, 0, + 0, 0, 0, 846, 929, 1342, 1343, 749, 750, 0, 389, 390, 748, 748, 695, 735, 0, 748, 699, 736, 700, 702, 701, 703, 716, 717, 748, 706, 746, 747, 707, 708, 709, 710, 711, 712, 713, 731, 718, 719, 720, 752, 0, 756, 757, 732, 733, 0, 769, 773, 774, 775, 776, 0, 0, 805, 94, 810, 811, 812, - 813, 825, 818, 1029, 946, 947, 948, 0, 950, 953, - 0, 1013, 1015, 955, 957, 1024, 1025, 1026, 0, 0, - 0, 0, 0, 961, 965, 970, 971, 972, 973, 974, - 975, 976, 977, 978, 979, 980, 981, 987, 1159, 1160, - 1161, 1004, 281, 282, 0, 1005, 0, 862, 0, 0, - 0, 1003, 0, 0, 0, 0, 838, 839, 1189, 1186, - 0, 0, 1144, 1146, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1122, 1123, 1124, 1125, 1126, 1127, - 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, - 1138, 1139, 1140, 1141, 1142, 1162, 0, 0, 0, 0, - 0, 1182, 0, 1006, 1007, 1008, 0, 0, 0, 1331, - 0, 130, 131, 0, 0, 0, 0, 0, 1116, 0, + 813, 825, 818, 1028, 945, 946, 947, 0, 949, 952, + 0, 1012, 1014, 954, 956, 1023, 1024, 1025, 0, 0, + 0, 0, 0, 960, 964, 969, 970, 971, 972, 973, + 974, 975, 976, 977, 978, 979, 980, 986, 1158, 1159, + 1160, 1003, 281, 282, 0, 1004, 0, 861, 0, 0, + 0, 1002, 0, 0, 0, 0, 838, 839, 1188, 1185, + 0, 0, 1143, 1145, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1121, 1122, 1123, 1124, 1125, 1126, + 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, + 1137, 1138, 1139, 1140, 1141, 1161, 0, 0, 0, 0, + 0, 1181, 0, 1005, 1006, 1007, 0, 0, 0, 1330, + 0, 130, 131, 0, 0, 0, 0, 0, 1115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 848, - 1192, 0, -2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1297, 0, 795, 796, 798, 0, - 932, 0, 913, 0, 0, 801, 0, 842, 0, 845, - 58, 60, 854, 855, 0, 873, 851, 54, 49, 0, - 0, 890, 1251, 350, 1273, 0, 359, 359, 356, 1213, - 1214, 0, 1206, 1208, 1209, 77, 870, 866, 0, 944, - 0, 0, 927, 0, 876, 878, 879, 880, 910, 0, - 883, 0, 0, 0, 0, 0, 96, 929, 1303, 101, - 0, 0, 106, 107, 1304, 1305, 1306, 1307, 0, 573, + 1191, 0, -2, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1296, 0, 795, 796, 798, 0, + 931, 0, 912, 0, 0, 801, 0, 842, 0, 845, + 58, 60, 854, 855, 0, 872, 851, 54, 49, 0, + 0, 889, 1250, 350, 1272, 0, 359, 359, 356, 1212, + 1213, 0, 1205, 1207, 1208, 77, 869, 865, 0, 943, + 0, 0, 926, 0, 875, 877, 878, 879, 909, 0, + 882, 0, 0, 0, 0, 0, 96, 928, 1302, 101, + 0, 0, 106, 107, 1303, 1304, 1305, 1306, 0, 573, -2, 436, 167, 169, 170, 171, 162, -2, 348, 346, 347, 291, 350, 350, 315, 316, 317, 318, 319, 320, 0, 0, 308, 309, 310, 311, 302, 0, 303, 304, - 305, 0, 306, 403, 0, 1215, 366, 367, 369, 377, + 305, 0, 306, 403, 0, 1214, 366, 367, 369, 377, 0, 372, 373, 0, 377, 377, 0, 398, 399, 0, - 1207, 1232, 0, 0, 0, 1333, 1332, 1332, 1332, 0, + 1206, 1231, 0, 0, 0, 1332, 1331, 1331, 1331, 0, 155, 156, 157, 158, 159, 160, 609, 0, 0, 585, 607, 608, 153, 0, 0, 163, 491, 490, 0, 641, 0, 401, 0, 0, 395, 395, 380, 381, 531, 0, @@ -7840,120 +7813,120 @@ var yyDef = [...]int{ 0, 519, 520, 489, 491, 361, 0, 444, 445, 450, 451, 470, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 564, 565, 566, 567, 493, 571, 568, - 493, 572, 1229, 1230, 1231, 0, 0, 679, 0, 0, - 427, 92, 1321, 684, 745, 705, 737, 745, 697, 704, + 493, 572, 1228, 1229, 1230, 0, 0, 679, 0, 0, + 427, 92, 1320, 684, 745, 705, 737, 745, 697, 704, 725, 765, 809, 0, 0, 0, 0, 817, 0, 0, - 954, 1014, 1016, 958, 0, 962, 966, 0, 0, 0, - 0, 0, 0, 0, 1010, 1034, 1035, 0, 0, 1201, - 0, 1187, 0, 0, 1042, 1147, 1148, 0, 0, 0, - 861, 0, 0, 0, 0, 0, 0, 0, 0, 1059, - 1060, 1061, 1062, 1063, 0, 1065, 0, 0, 0, 1069, - 1070, 0, 0, 1071, 0, 0, 0, 0, 0, 0, - 0, 0, 1083, 1084, 1085, 1086, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1097, 1030, 0, 0, - 847, 0, 1149, 1150, 1151, 1152, 1153, 0, 0, 0, - 0, 1192, 794, 797, 799, 886, 933, 934, 0, 0, - 0, 0, 914, 1329, 840, 841, 844, -2, 0, 0, - 1194, 0, 0, 873, 944, 874, 0, 852, 51, 889, - 0, 1255, 1254, 1267, 1280, 359, 359, 353, 354, 360, - 355, 357, 358, 1205, 0, 1210, 0, 1291, 0, 0, - 1283, 0, 0, 0, 0, 0, 0, 0, 0, 917, - 0, 0, 920, 0, 0, 0, 0, 911, 0, 0, - 0, 0, 0, 0, -2, 0, 0, 90, 91, 0, - 0, 0, 104, 105, 0, 0, 111, 362, 363, 144, - 153, 438, 168, 411, 0, 0, 287, 349, 312, 313, - 314, 0, 336, 0, 0, 0, 432, 116, 1219, 1218, - 377, 377, 368, 0, 371, 0, 0, 0, 1334, 339, - 400, 0, 134, 0, 0, 0, 0, 0, 140, 579, - 0, 0, 586, 0, 0, 0, 500, 0, 511, 512, - 0, 613, -2, 675, 365, 0, 379, 382, 899, 0, - 0, 513, 0, 516, 517, 431, 491, 522, 523, 536, - 473, 474, 471, 0, 0, 1242, 1243, 1248, 1246, 1247, - 121, 557, 559, 558, 562, 0, 0, 495, 0, 495, - 555, 0, 427, 1215, 0, 683, 428, 429, 748, 748, - 804, 95, 0, 807, 0, 0, 0, 0, 959, 963, - 863, 0, 1180, 338, 338, 1167, 338, 342, 1170, 338, - 1172, 338, 1175, 338, 1178, 1179, 1180, 0, 0, 0, - 1184, 1041, 1190, 0, 1049, 1050, 1051, 1052, 1053, 1054, - 0, 0, 0, 1058, 0, 0, 0, 0, 0, 0, - 132, 133, 1116, 0, 0, 1118, 1120, 1121, 1075, 1117, - 0, 0, 1114, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1031, 1032, 0, 1193, 0, 0, 0, - 0, 935, 940, 940, 940, 0, 0, 0, 1316, 1317, - 1195, 1196, 944, 1197, 875, 853, 891, 1273, 0, 1266, - 0, -2, 1275, 0, 0, 0, 1281, 351, 352, 867, - 78, 945, 81, 0, 1291, 1299, 0, 1282, 1293, 1295, - 0, 0, 0, 1287, 0, 944, 877, 906, 908, 0, - 903, 918, 919, 921, 0, 923, 0, 925, 926, 888, - 882, 884, 0, 0, 0, 98, 0, 944, 944, 97, - 0, 931, 108, 109, 110, 437, 172, 177, 0, 0, - 0, 182, 0, 184, 0, 0, 0, 189, 190, 377, - 377, 412, 0, 284, 286, 0, 0, 175, 350, 0, - 350, 0, 343, 0, 413, 433, 1216, 1217, 0, 0, - 370, 374, 375, 376, 0, 1323, 136, 0, 0, 0, - 582, 0, 610, 0, 0, 0, 0, 0, 0, 164, - 492, 642, 643, 644, 645, 646, 647, 648, 649, 650, - 0, 377, 0, 0, 0, 377, 377, 377, 0, 667, - 364, 0, 0, 638, 635, 514, 0, 213, 214, 216, - 0, 0, 521, 888, 1233, 1234, 1235, 0, 1245, 1249, - 124, 0, 0, 0, 0, 569, 0, 494, 570, 680, - 681, 682, 93, 690, 696, 806, 826, 952, 960, 964, - 0, 0, 1181, 1165, 350, 1168, 1169, 1171, 1173, 1174, - 1176, 1177, 0, 1000, 0, 1037, 0, 1039, 1210, 0, - 1188, 0, 0, 1057, 0, 0, 0, 1066, 1067, 1068, - 0, 0, 1074, 0, 1076, 0, 0, 0, 1087, 1088, - 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1033, 1099, - 0, 1104, 0, 0, 1110, 0, 0, 0, 0, 0, - 912, -2, 62, 1197, 1199, 0, 1260, 1258, 1258, 1268, - 1269, 0, 0, 1276, 0, 0, 0, 0, 82, 0, - 0, 0, 1296, 0, 0, 0, 0, 99, 1201, 900, - 907, 0, 0, 901, 0, 902, 922, 924, 881, -2, - 885, 0, 944, 944, 88, 89, 0, 178, 0, 180, - 206, 207, 0, 183, 185, 186, 187, 193, 194, 195, - 188, 0, 0, 283, 285, 0, 0, 326, 337, 327, - 0, 0, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, - 888, 137, 138, 139, 574, 0, 584, 0, 0, 0, - 577, 0, 503, 0, 0, 0, 377, 377, 377, 0, - 0, 0, 0, 652, 0, 0, 615, 0, 623, 0, - 0, 0, 217, 218, 0, 1244, 556, 0, 122, 123, - 0, 0, 561, 496, 497, 1154, 998, 1166, 999, 0, - 0, 0, 1185, 0, 0, 0, 0, 1064, 1072, 0, - 1119, 0, 1079, 0, 0, 0, 604, 605, 0, 1115, - 0, 0, 0, 0, 0, 941, 0, 0, 0, 0, - 932, 1199, 80, 0, 0, 1263, 0, 1256, 1259, 1257, - 1270, 0, 0, 1277, 0, 1279, 0, 1300, 1301, 1294, - 0, 1286, 1289, 1285, 1288, 1210, 904, 0, 909, 0, - 1201, 87, 0, 181, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 191, 192, 0, 0, 341, - 344, 0, 0, 0, 575, 0, 587, 578, 0, 665, - 0, 669, 0, 0, 0, 672, 673, 674, 651, 0, - 655, 405, 639, 636, 637, 515, 0, 125, 126, 0, - 0, 0, 0, 0, 0, 1036, 1038, 1040, 1055, 1056, - 1163, 1164, 1073, 1077, 0, 1080, 0, 0, 1081, 0, - 606, 1100, 0, 1105, 1106, 0, 1111, 0, 0, 937, - 894, 895, 942, 943, 0, 0, 887, 79, 1200, 1198, - 1252, 0, 1261, 1262, 1271, 1272, 1278, 0, 1284, 0, - 85, 0, 0, 0, 1210, 179, 0, 198, 0, 583, - 0, 586, 576, 663, 664, 0, 676, 668, 670, 671, - 653, -2, 1236, 0, 0, 0, 563, 997, 0, 0, - 0, 1116, 1082, 0, 602, 603, 0, 0, 0, 0, - 936, 938, 939, 1264, 1265, 1292, 1290, 905, 912, 0, - 86, 418, 411, 1236, 0, 0, 0, 656, 657, 658, - 659, 660, 661, 662, 553, 1238, 127, 128, 484, 485, - 486, 121, 1155, 0, 1158, 0, 1101, 0, 1107, 0, - 1112, 0, 896, 897, 588, 0, 590, 0, -2, 406, - 419, 0, 173, 199, 200, 0, 0, 203, 204, 205, - 196, 197, 117, 0, 0, 677, 0, 1239, 1240, 124, - 1156, 1078, 0, 0, 0, 589, 0, 0, 361, 0, - 599, 407, 408, 0, 414, 415, 416, 417, 201, 202, - 611, 0, 0, 560, 0, 1102, 0, 1108, 0, 1113, - 591, 592, 600, 0, 409, 0, 410, 0, 0, 0, - 580, 0, 611, 1237, 0, 0, 0, 0, 601, 597, - 420, 422, 423, 0, 0, 421, 612, 581, 1157, 1103, - 1109, 0, 424, 425, 426, 593, 594, 595, 596, + 953, 1013, 1015, 957, 0, 961, 965, 0, 0, 0, + 0, 0, 0, 0, 1009, 1033, 1034, 0, 0, 1200, + 0, 1186, 0, 0, 1041, 1146, 1147, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1058, 1059, + 1060, 1061, 1062, 0, 1064, 0, 0, 0, 1068, 1069, + 0, 0, 1070, 0, 0, 0, 0, 0, 0, 0, + 0, 1082, 1083, 1084, 1085, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1096, 1029, 0, 0, 847, + 0, 1148, 1149, 1150, 1151, 1152, 0, 0, 0, 0, + 1191, 794, 797, 799, 885, 932, 933, 0, 0, 0, + 0, 913, 1328, 840, 841, 844, -2, 0, 0, 1193, + 0, 0, 872, 943, 873, 0, 852, 51, 888, 0, + 1254, 1253, 1266, 1279, 359, 359, 353, 354, 360, 355, + 357, 358, 1204, 0, 1209, 0, 1290, 0, 0, 1282, + 0, 0, 0, 0, 0, 0, 0, 0, 916, 0, + 0, 919, 0, 0, 0, 0, 910, 0, 0, 0, + 0, 0, 0, -2, 0, 0, 90, 91, 0, 0, + 0, 104, 105, 0, 0, 111, 362, 363, 144, 153, + 438, 168, 411, 0, 0, 287, 349, 312, 313, 314, + 0, 336, 0, 0, 0, 432, 116, 1218, 1217, 377, + 377, 368, 0, 371, 0, 0, 0, 1333, 339, 400, + 0, 134, 0, 0, 0, 0, 0, 140, 579, 0, + 0, 586, 0, 0, 0, 500, 0, 511, 512, 0, + 613, -2, 675, 365, 0, 379, 382, 898, 0, 0, + 513, 0, 516, 517, 431, 491, 522, 523, 536, 473, + 474, 471, 0, 0, 1241, 1242, 1247, 1245, 1246, 121, + 557, 559, 558, 562, 0, 0, 495, 0, 495, 555, + 0, 427, 1214, 0, 683, 428, 429, 748, 748, 804, + 95, 0, 807, 0, 0, 0, 0, 958, 962, 862, + 0, 1179, 338, 338, 1166, 338, 342, 1169, 338, 1171, + 338, 1174, 338, 1177, 1178, 1179, 0, 0, 0, 1183, + 1040, 1189, 0, 1048, 1049, 1050, 1051, 1052, 1053, 0, + 0, 0, 1057, 0, 0, 0, 0, 0, 0, 132, + 133, 1115, 0, 0, 1117, 1119, 1120, 1074, 1116, 0, + 0, 1113, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1030, 1031, 0, 1192, 0, 0, 0, 0, + 934, 939, 939, 939, 0, 0, 0, 1315, 1316, 1194, + 1195, 943, 1196, 874, 853, 890, 1272, 0, 1265, 0, + -2, 1274, 0, 0, 0, 1280, 351, 352, 866, 78, + 944, 81, 0, 1290, 1298, 0, 1281, 1292, 1294, 0, + 0, 0, 1286, 0, 943, 876, 905, 907, 0, 902, + 917, 918, 920, 0, 922, 0, 924, 925, 887, 881, + 883, 0, 0, 0, 98, 0, 943, 943, 97, 0, + 930, 108, 109, 110, 437, 172, 177, 0, 0, 0, + 182, 0, 184, 0, 0, 0, 189, 190, 377, 377, + 412, 0, 284, 286, 0, 0, 175, 350, 0, 350, + 0, 343, 0, 413, 433, 1215, 1216, 0, 0, 370, + 374, 375, 376, 0, 1322, 136, 0, 0, 0, 582, + 0, 610, 0, 0, 0, 0, 0, 0, 164, 492, + 642, 643, 644, 645, 646, 647, 648, 649, 650, 0, + 377, 0, 0, 0, 377, 377, 377, 0, 667, 364, + 0, 0, 638, 635, 514, 0, 213, 214, 216, 0, + 0, 521, 887, 1232, 1233, 1234, 0, 1244, 1248, 124, + 0, 0, 0, 0, 569, 0, 494, 570, 680, 681, + 682, 93, 690, 696, 806, 826, 951, 959, 963, 0, + 0, 1180, 1164, 350, 1167, 1168, 1170, 1172, 1173, 1175, + 1176, 0, 999, 0, 1036, 0, 1038, 1209, 0, 1187, + 0, 0, 1056, 0, 0, 0, 1065, 1066, 1067, 0, + 0, 1073, 0, 1075, 0, 0, 0, 1086, 1087, 1088, + 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1032, 1098, 0, + 1103, 0, 0, 1109, 0, 0, 0, 0, 0, 911, + -2, 62, 1196, 1198, 0, 1259, 1257, 1257, 1267, 1268, + 0, 0, 1275, 0, 0, 0, 0, 82, 0, 0, + 0, 1295, 0, 0, 0, 0, 99, 1200, 899, 906, + 0, 0, 900, 0, 901, 921, 923, 880, -2, 884, + 0, 943, 943, 88, 89, 0, 178, 0, 180, 206, + 207, 0, 183, 185, 186, 187, 193, 194, 195, 188, + 0, 0, 283, 285, 0, 0, 326, 337, 327, 0, + 0, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 887, + 137, 138, 139, 574, 0, 584, 0, 0, 0, 577, + 0, 503, 0, 0, 0, 377, 377, 377, 0, 0, + 0, 0, 652, 0, 0, 615, 0, 623, 0, 0, + 0, 217, 218, 0, 1243, 556, 0, 122, 123, 0, + 0, 561, 496, 497, 1153, 997, 1165, 998, 0, 0, + 0, 1184, 0, 0, 0, 0, 1063, 1071, 0, 1118, + 0, 1078, 0, 0, 0, 604, 605, 0, 1114, 0, + 0, 0, 0, 0, 940, 0, 0, 0, 0, 931, + 1198, 80, 0, 0, 1262, 0, 1255, 1258, 1256, 1269, + 0, 0, 1276, 0, 1278, 0, 1299, 1300, 1293, 0, + 1285, 1288, 1284, 1287, 1209, 903, 0, 908, 0, 1200, + 87, 0, 181, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 191, 192, 0, 0, 341, 344, + 0, 0, 0, 575, 0, 587, 578, 0, 665, 0, + 669, 0, 0, 0, 672, 673, 674, 651, 0, 655, + 405, 639, 636, 637, 515, 0, 125, 126, 0, 0, + 0, 0, 0, 0, 1035, 1037, 1039, 1054, 1055, 1162, + 1163, 1072, 1076, 0, 1079, 0, 0, 1080, 0, 606, + 1099, 0, 1104, 1105, 0, 1110, 0, 0, 936, 893, + 894, 941, 942, 0, 0, 886, 79, 1199, 1197, 1251, + 0, 1260, 1261, 1270, 1271, 1277, 0, 1283, 0, 85, + 0, 0, 0, 1209, 179, 0, 198, 0, 583, 0, + 586, 576, 663, 664, 0, 676, 668, 670, 671, 653, + -2, 1235, 0, 0, 0, 563, 996, 0, 0, 0, + 1115, 1081, 0, 602, 603, 0, 0, 0, 0, 935, + 937, 938, 1263, 1264, 1291, 1289, 904, 911, 0, 86, + 418, 411, 1235, 0, 0, 0, 656, 657, 658, 659, + 660, 661, 662, 553, 1237, 127, 128, 484, 485, 486, + 121, 1154, 0, 1157, 0, 1100, 0, 1106, 0, 1111, + 0, 895, 896, 588, 0, 590, 0, -2, 406, 419, + 0, 173, 199, 200, 0, 0, 203, 204, 205, 196, + 197, 117, 0, 0, 677, 0, 1238, 1239, 124, 1155, + 1077, 0, 0, 0, 589, 0, 0, 361, 0, 599, + 407, 408, 0, 414, 415, 416, 417, 201, 202, 611, + 0, 0, 560, 0, 1101, 0, 1107, 0, 1112, 591, + 592, 600, 0, 409, 0, 410, 0, 0, 0, 580, + 0, 611, 1236, 0, 0, 0, 0, 601, 597, 420, + 422, 423, 0, 0, 421, 612, 581, 1156, 1102, 1108, + 0, 424, 425, 426, 593, 594, 595, 596, } var yyTok1 = [...]int{ @@ -8421,68 +8394,68 @@ yydefault: case 1: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:541 +//line sql.y:536 { setParseTree(yylex, yyDollar[1].statementUnion()) } case 2: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:546 +//line sql.y:541 { } case 3: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:547 +//line sql.y:542 { } case 4: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:551 +//line sql.y:546 { yyLOCAL = yyDollar[1].selStmtUnion() } yyVAL.union = yyLOCAL case 37: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:587 +//line sql.y:582 { setParseTree(yylex, nil) } case 38: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:593 +//line sql.y:588 { yyVAL.colIdent = NewColIdentWithAt(string(yyDollar[1].str), NoAt) } case 39: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:597 +//line sql.y:592 { yyVAL.colIdent = NewColIdentWithAt(string(yyDollar[1].str), SingleAt) } case 40: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:601 +//line sql.y:596 { yyVAL.colIdent = NewColIdentWithAt(string(yyDollar[1].str), DoubleAt) } case 41: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:606 +//line sql.y:601 { yyVAL.colIdent = NewColIdentWithAt("", NoAt) } case 42: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:610 +//line sql.y:605 { yyVAL.colIdent = yyDollar[1].colIdent } case 43: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:616 +//line sql.y:611 { yyLOCAL = &OtherAdmin{} } @@ -8490,7 +8463,7 @@ yydefault: case 44: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:622 +//line sql.y:617 { yyLOCAL = &Load{} } @@ -8498,7 +8471,7 @@ yydefault: case 45: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *With -//line sql.y:628 +//line sql.y:623 { yyLOCAL = &With{ctes: yyDollar[2].ctesUnion(), Recursive: false} } @@ -8506,7 +8479,7 @@ yydefault: case 46: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *With -//line sql.y:632 +//line sql.y:627 { yyLOCAL = &With{ctes: yyDollar[3].ctesUnion(), Recursive: true} } @@ -8514,7 +8487,7 @@ yydefault: case 47: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *With -//line sql.y:637 +//line sql.y:632 { yyLOCAL = nil } @@ -8522,14 +8495,14 @@ yydefault: case 48: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *With -//line sql.y:641 +//line sql.y:636 { yyLOCAL = yyDollar[1].withUnion() } yyVAL.union = yyLOCAL case 49: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:647 +//line sql.y:642 { yySLICE := (*[]*CommonTableExpr)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].cteUnion()) @@ -8537,7 +8510,7 @@ yydefault: case 50: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*CommonTableExpr -//line sql.y:651 +//line sql.y:646 { yyLOCAL = []*CommonTableExpr{yyDollar[1].cteUnion()} } @@ -8545,7 +8518,7 @@ yydefault: case 51: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *CommonTableExpr -//line sql.y:657 +//line sql.y:652 { yyLOCAL = &CommonTableExpr{TableID: yyDollar[1].tableIdent, Columns: yyDollar[2].columnsUnion(), Subquery: yyDollar[4].subqueryUnion()} } @@ -8553,7 +8526,7 @@ yydefault: case 52: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:663 +//line sql.y:658 { yyLOCAL = yyDollar[2].selStmtUnion() } @@ -8561,7 +8534,7 @@ yydefault: case 53: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:667 +//line sql.y:662 { yyLOCAL = yyDollar[2].selStmtUnion() } @@ -8569,7 +8542,7 @@ yydefault: case 54: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:671 +//line sql.y:666 { setLockInSelect(yyDollar[2].selStmtUnion(), yyDollar[3].lockUnion()) yyLOCAL = yyDollar[2].selStmtUnion() @@ -8578,7 +8551,7 @@ yydefault: case 55: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:694 +//line sql.y:689 { yyDollar[1].selStmtUnion().SetOrderBy(yyDollar[2].orderByUnion()) yyDollar[1].selStmtUnion().SetLimit(yyDollar[3].limitUnion()) @@ -8588,7 +8561,7 @@ yydefault: case 56: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:700 +//line sql.y:695 { yyDollar[1].selStmtUnion().SetLimit(yyDollar[2].limitUnion()) yyLOCAL = yyDollar[1].selStmtUnion() @@ -8597,7 +8570,7 @@ yydefault: case 57: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:705 +//line sql.y:700 { yyDollar[1].selStmtUnion().SetOrderBy(yyDollar[2].orderByUnion()) yyDollar[1].selStmtUnion().SetLimit(yyDollar[3].limitUnion()) @@ -8607,7 +8580,7 @@ yydefault: case 58: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:711 +//line sql.y:706 { yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion()) yyDollar[2].selStmtUnion().SetOrderBy(yyDollar[3].orderByUnion()) @@ -8618,7 +8591,7 @@ yydefault: case 59: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:718 +//line sql.y:713 { yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion()) yyDollar[2].selStmtUnion().SetLimit(yyDollar[3].limitUnion()) @@ -8628,7 +8601,7 @@ yydefault: case 60: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:724 +//line sql.y:719 { yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion()) yyDollar[2].selStmtUnion().SetOrderBy(yyDollar[3].orderByUnion()) @@ -8638,14 +8611,14 @@ yydefault: yyVAL.union = yyLOCAL case 61: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:731 +//line sql.y:726 { yyDollar[2].selStmtUnion().SetWith(yyDollar[1].withUnion()) } case 62: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:735 +//line sql.y:730 { 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*/) } @@ -8653,7 +8626,7 @@ yydefault: case 63: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:741 +//line sql.y:736 { yyLOCAL = yyDollar[1].selStmtUnion() } @@ -8661,7 +8634,7 @@ yydefault: case 64: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:745 +//line sql.y:740 { yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()} } @@ -8669,7 +8642,7 @@ yydefault: case 65: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:749 +//line sql.y:744 { yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()} } @@ -8677,7 +8650,7 @@ yydefault: case 66: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:753 +//line sql.y:748 { yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()} } @@ -8685,7 +8658,7 @@ yydefault: case 67: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:757 +//line sql.y:752 { yyLOCAL = &Union{Left: yyDollar[1].selStmtUnion(), Distinct: yyDollar[2].booleanUnion(), Right: yyDollar[3].selStmtUnion()} } @@ -8693,7 +8666,7 @@ yydefault: case 68: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:763 +//line sql.y:758 { yyLOCAL = yyDollar[1].selStmtUnion() } @@ -8701,7 +8674,7 @@ yydefault: case 69: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:767 +//line sql.y:762 { setLockInSelect(yyDollar[1].selStmtUnion(), yyDollar[2].lockUnion()) yyLOCAL = yyDollar[1].selStmtUnion() @@ -8710,7 +8683,7 @@ yydefault: case 70: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:772 +//line sql.y:767 { yyLOCAL = yyDollar[1].selStmtUnion() } @@ -8718,7 +8691,7 @@ yydefault: case 71: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:776 +//line sql.y:771 { yyLOCAL = yyDollar[1].selStmtUnion() } @@ -8726,7 +8699,7 @@ yydefault: case 72: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:782 +//line sql.y:777 { yyLOCAL = yyDollar[2].selStmtUnion() } @@ -8734,7 +8707,7 @@ yydefault: case 73: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:786 +//line sql.y:781 { yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion()) yyLOCAL = yyDollar[1].selStmtUnion() @@ -8743,7 +8716,7 @@ yydefault: case 74: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:791 +//line sql.y:786 { yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion()) yyDollar[1].selStmtUnion().SetLock(yyDollar[3].lockUnion()) @@ -8753,7 +8726,7 @@ yydefault: case 75: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:797 +//line sql.y:792 { yyDollar[1].selStmtUnion().SetInto(yyDollar[3].selectIntoUnion()) yyDollar[1].selStmtUnion().SetLock(yyDollar[2].lockUnion()) @@ -8763,7 +8736,7 @@ yydefault: case 76: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:803 +//line sql.y:798 { yyDollar[1].selStmtUnion().SetInto(yyDollar[2].selectIntoUnion()) yyLOCAL = yyDollar[1].selStmtUnion() @@ -8772,7 +8745,7 @@ yydefault: case 77: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:810 +//line sql.y:805 { yyLOCAL = &Stream{Comments: Comments(yyDollar[2].strs).Parsed(), SelectExpr: yyDollar[3].selectExprUnion(), Table: yyDollar[5].tableName} } @@ -8780,7 +8753,7 @@ yydefault: case 78: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:816 +//line sql.y:811 { yyLOCAL = &VStream{Comments: Comments(yyDollar[2].strs).Parsed(), SelectExpr: yyDollar[3].selectExprUnion(), Table: yyDollar[5].tableName, Where: NewWhere(WhereClause, yyDollar[6].exprUnion()), Limit: yyDollar[7].limitUnion()} } @@ -8788,7 +8761,7 @@ yydefault: case 79: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:824 +//line sql.y:819 { 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())) } @@ -8796,7 +8769,7 @@ yydefault: case 80: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL SelectStatement -//line sql.y:828 +//line sql.y:823 { 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())) } @@ -8804,7 +8777,7 @@ yydefault: case 81: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:834 +//line sql.y:829 { // insert_data returns a *Insert pre-filled with Columns & Values ins := yyDollar[6].insUnion() @@ -8820,7 +8793,7 @@ yydefault: case 82: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Statement -//line sql.y:846 +//line sql.y:841 { cols := make(Columns, 0, len(yyDollar[7].updateExprsUnion())) vals := make(ValTuple, 0, len(yyDollar[8].updateExprsUnion())) @@ -8834,7 +8807,7 @@ yydefault: case 83: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL InsertAction -//line sql.y:858 +//line sql.y:853 { yyLOCAL = InsertAct } @@ -8842,7 +8815,7 @@ yydefault: case 84: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL InsertAction -//line sql.y:862 +//line sql.y:857 { yyLOCAL = ReplaceAct } @@ -8850,7 +8823,7 @@ yydefault: case 85: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL Statement -//line sql.y:868 +//line sql.y:863 { yyLOCAL = &Update{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), 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()} } @@ -8858,7 +8831,7 @@ yydefault: case 86: yyDollar = yyS[yypt-11 : yypt+1] var yyLOCAL Statement -//line sql.y:874 +//line sql.y:869 { yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), 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()} } @@ -8866,7 +8839,7 @@ yydefault: case 87: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL Statement -//line sql.y:878 +//line sql.y:873 { yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), Targets: yyDollar[6].tableNamesUnion(), TableExprs: yyDollar[8].tableExprsUnion(), Where: NewWhere(WhereClause, yyDollar[9].exprUnion())} } @@ -8874,7 +8847,7 @@ yydefault: case 88: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Statement -//line sql.y:882 +//line sql.y:877 { yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), Targets: yyDollar[5].tableNamesUnion(), TableExprs: yyDollar[7].tableExprsUnion(), Where: NewWhere(WhereClause, yyDollar[8].exprUnion())} } @@ -8882,32 +8855,32 @@ yydefault: case 89: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Statement -//line sql.y:886 +//line sql.y:881 { yyLOCAL = &Delete{With: yyDollar[1].withUnion(), Comments: Comments(yyDollar[3].strs).Parsed(), Ignore: yyDollar[4].ignoreUnion(), Targets: yyDollar[5].tableNamesUnion(), TableExprs: yyDollar[7].tableExprsUnion(), Where: NewWhere(WhereClause, yyDollar[8].exprUnion())} } yyVAL.union = yyLOCAL case 90: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:891 +//line sql.y:886 { } case 91: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:892 +//line sql.y:887 { } case 92: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableNames -//line sql.y:896 +//line sql.y:891 { yyLOCAL = TableNames{yyDollar[1].tableName.ToViewName()} } yyVAL.union = yyLOCAL case 93: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:900 +//line sql.y:895 { yySLICE := (*TableNames)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableName.ToViewName()) @@ -8915,14 +8888,14 @@ yydefault: case 94: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableNames -//line sql.y:906 +//line sql.y:901 { yyLOCAL = TableNames{yyDollar[1].tableName} } yyVAL.union = yyLOCAL case 95: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:910 +//line sql.y:905 { yySLICE := (*TableNames)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableName) @@ -8930,14 +8903,14 @@ yydefault: case 96: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableNames -//line sql.y:916 +//line sql.y:911 { yyLOCAL = TableNames{yyDollar[1].tableName} } yyVAL.union = yyLOCAL case 97: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:920 +//line sql.y:915 { yySLICE := (*TableNames)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableName) @@ -8945,7 +8918,7 @@ yydefault: case 98: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Partitions -//line sql.y:925 +//line sql.y:920 { yyLOCAL = nil } @@ -8953,7 +8926,7 @@ yydefault: case 99: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Partitions -//line sql.y:929 +//line sql.y:924 { yyLOCAL = yyDollar[3].partitionsUnion() } @@ -8961,7 +8934,7 @@ yydefault: case 100: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:935 +//line sql.y:930 { yyLOCAL = &Set{Comments: Comments(yyDollar[2].strs).Parsed(), Exprs: yyDollar[3].setExprsUnion()} } @@ -8969,7 +8942,7 @@ yydefault: case 101: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:941 +//line sql.y:936 { yyLOCAL = &SetTransaction{Comments: Comments(yyDollar[2].strs).Parsed(), Scope: yyDollar[3].scopeUnion(), Characteristics: yyDollar[5].characteristicsUnion()} } @@ -8977,7 +8950,7 @@ yydefault: case 102: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:945 +//line sql.y:940 { yyLOCAL = &SetTransaction{Comments: Comments(yyDollar[2].strs).Parsed(), Characteristics: yyDollar[4].characteristicsUnion(), Scope: ImplicitScope} } @@ -8985,14 +8958,14 @@ yydefault: case 103: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []Characteristic -//line sql.y:951 +//line sql.y:946 { yyLOCAL = []Characteristic{yyDollar[1].characteristicUnion()} } yyVAL.union = yyLOCAL case 104: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:955 +//line sql.y:950 { yySLICE := (*[]Characteristic)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].characteristicUnion()) @@ -9000,7 +8973,7 @@ yydefault: case 105: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Characteristic -//line sql.y:961 +//line sql.y:956 { yyLOCAL = yyDollar[3].isolationLevelUnion() } @@ -9008,7 +8981,7 @@ yydefault: case 106: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Characteristic -//line sql.y:965 +//line sql.y:960 { yyLOCAL = ReadWrite } @@ -9016,7 +8989,7 @@ yydefault: case 107: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Characteristic -//line sql.y:969 +//line sql.y:964 { yyLOCAL = ReadOnly } @@ -9024,7 +8997,7 @@ yydefault: case 108: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IsolationLevel -//line sql.y:975 +//line sql.y:970 { yyLOCAL = RepeatableRead } @@ -9032,7 +9005,7 @@ yydefault: case 109: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IsolationLevel -//line sql.y:979 +//line sql.y:974 { yyLOCAL = ReadCommitted } @@ -9040,7 +9013,7 @@ yydefault: case 110: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IsolationLevel -//line sql.y:983 +//line sql.y:978 { yyLOCAL = ReadUncommitted } @@ -9048,7 +9021,7 @@ yydefault: case 111: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IsolationLevel -//line sql.y:987 +//line sql.y:982 { yyLOCAL = Serializable } @@ -9056,7 +9029,7 @@ yydefault: case 112: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Scope -//line sql.y:993 +//line sql.y:988 { yyLOCAL = SessionScope } @@ -9064,7 +9037,7 @@ yydefault: case 113: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Scope -//line sql.y:997 +//line sql.y:992 { yyLOCAL = GlobalScope } @@ -9072,7 +9045,7 @@ yydefault: case 114: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:1003 +//line sql.y:998 { yyDollar[1].createTableUnion().TableSpec = yyDollar[2].tableSpecUnion() yyDollar[1].createTableUnion().FullyParsed = true @@ -9082,7 +9055,7 @@ yydefault: case 115: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:1009 +//line sql.y:1004 { // Create table [name] like [name] yyDollar[1].createTableUnion().OptLike = yyDollar[2].optLikeUnion() @@ -9093,7 +9066,7 @@ yydefault: case 116: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:1016 +//line sql.y:1011 { indexDef := yyDollar[1].alterTableUnion().AlterOptions[0].(*AddIndexDefinition).IndexDefinition indexDef.Columns = yyDollar[3].indexColumnsUnion() @@ -9106,7 +9079,7 @@ yydefault: case 117: yyDollar = yyS[yypt-12 : yypt+1] var yyLOCAL Statement -//line sql.y:1025 +//line sql.y:1020 { yyLOCAL = &CreateView{ViewName: yyDollar[8].tableName.ToViewName(), Comments: Comments(yyDollar[2].strs).Parsed(), IsReplace: yyDollar[3].booleanUnion(), Algorithm: yyDollar[4].str, Definer: yyDollar[5].definerUnion(), Security: yyDollar[6].str, Columns: yyDollar[9].columnsUnion(), Select: yyDollar[11].selStmtUnion(), CheckOption: yyDollar[12].str} } @@ -9114,7 +9087,7 @@ yydefault: case 118: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:1029 +//line sql.y:1024 { yyDollar[1].createDatabaseUnion().FullyParsed = true yyDollar[1].createDatabaseUnion().CreateOptions = yyDollar[2].databaseOptionsUnion() @@ -9124,7 +9097,7 @@ yydefault: case 119: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:1036 +//line sql.y:1031 { yyLOCAL = false } @@ -9132,33 +9105,33 @@ yydefault: case 120: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:1040 +//line sql.y:1035 { yyLOCAL = true } yyVAL.union = yyLOCAL case 121: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1045 +//line sql.y:1040 { yyVAL.colIdent = NewColIdent("") } case 122: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1049 +//line sql.y:1044 { yyVAL.colIdent = yyDollar[2].colIdent } case 123: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1055 +//line sql.y:1050 { yyVAL.colIdent = yyDollar[1].colIdent } case 124: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []VindexParam -//line sql.y:1060 +//line sql.y:1055 { var v []VindexParam yyLOCAL = v @@ -9167,7 +9140,7 @@ yydefault: case 125: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []VindexParam -//line sql.y:1065 +//line sql.y:1060 { yyLOCAL = yyDollar[2].vindexParamsUnion() } @@ -9175,7 +9148,7 @@ yydefault: case 126: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []VindexParam -//line sql.y:1071 +//line sql.y:1066 { yyLOCAL = make([]VindexParam, 0, 4) yyLOCAL = append(yyLOCAL, yyDollar[1].vindexParam) @@ -9183,21 +9156,21 @@ yydefault: yyVAL.union = yyLOCAL case 127: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1076 +//line sql.y:1071 { yySLICE := (*[]VindexParam)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].vindexParam) } case 128: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1082 +//line sql.y:1077 { yyVAL.vindexParam = VindexParam{Key: yyDollar[1].colIdent, Val: yyDollar[3].str} } case 129: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*JSONObjectParam -//line sql.y:1087 +//line sql.y:1082 { yyLOCAL = nil } @@ -9205,7 +9178,7 @@ yydefault: case 130: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*JSONObjectParam -//line sql.y:1091 +//line sql.y:1086 { yyLOCAL = yyDollar[1].jsonObjectParamsUnion() } @@ -9213,28 +9186,28 @@ yydefault: case 131: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*JSONObjectParam -//line sql.y:1097 +//line sql.y:1092 { yyLOCAL = []*JSONObjectParam{yyDollar[1].jsonObjectParam} } yyVAL.union = yyLOCAL case 132: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1101 +//line sql.y:1096 { yySLICE := (*[]*JSONObjectParam)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].jsonObjectParam) } case 133: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1107 +//line sql.y:1102 { yyVAL.jsonObjectParam = &JSONObjectParam{Key: yyDollar[1].exprUnion(), Value: yyDollar[3].exprUnion()} } case 134: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *CreateTable -//line sql.y:1113 +//line sql.y:1108 { yyLOCAL = &CreateTable{Comments: Comments(yyDollar[2].strs).Parsed(), Table: yyDollar[6].tableName, IfNotExists: yyDollar[5].booleanUnion(), Temp: yyDollar[3].booleanUnion()} setDDL(yylex, yyLOCAL) @@ -9243,7 +9216,7 @@ yydefault: case 135: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *AlterTable -//line sql.y:1120 +//line sql.y:1115 { yyLOCAL = &AlterTable{Comments: Comments(yyDollar[2].strs).Parsed(), Table: yyDollar[4].tableName} setDDL(yylex, yyLOCAL) @@ -9252,7 +9225,7 @@ yydefault: case 136: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *AlterTable -//line sql.y:1127 +//line sql.y:1122 { 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()}}}} setDDL(yylex, yyLOCAL) @@ -9261,7 +9234,7 @@ yydefault: case 137: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *AlterTable -//line sql.y:1132 +//line sql.y:1127 { 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()}}}} setDDL(yylex, yyLOCAL) @@ -9270,7 +9243,7 @@ yydefault: case 138: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *AlterTable -//line sql.y:1137 +//line sql.y:1132 { 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()}}}} setDDL(yylex, yyLOCAL) @@ -9279,7 +9252,7 @@ yydefault: case 139: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *AlterTable -//line sql.y:1142 +//line sql.y:1137 { 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()}}}} setDDL(yylex, yyLOCAL) @@ -9288,7 +9261,7 @@ yydefault: case 140: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *CreateDatabase -//line sql.y:1149 +//line sql.y:1144 { yyLOCAL = &CreateDatabase{Comments: Comments(yyDollar[4].strs).Parsed(), DBName: yyDollar[6].tableIdent, IfNotExists: yyDollar[5].booleanUnion()} setDDL(yylex, yyLOCAL) @@ -9297,7 +9270,7 @@ yydefault: case 141: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *AlterDatabase -//line sql.y:1156 +//line sql.y:1151 { yyLOCAL = &AlterDatabase{} setDDL(yylex, yyLOCAL) @@ -9306,7 +9279,7 @@ yydefault: case 144: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *TableSpec -//line sql.y:1167 +//line sql.y:1162 { yyLOCAL = yyDollar[2].tableSpecUnion() yyLOCAL.Options = yyDollar[4].tableOptionsUnion() @@ -9316,7 +9289,7 @@ yydefault: case 145: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []DatabaseOption -//line sql.y:1174 +//line sql.y:1169 { yyLOCAL = nil } @@ -9324,7 +9297,7 @@ yydefault: case 146: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []DatabaseOption -//line sql.y:1178 +//line sql.y:1173 { yyLOCAL = yyDollar[1].databaseOptionsUnion() } @@ -9332,7 +9305,7 @@ yydefault: case 147: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []DatabaseOption -//line sql.y:1184 +//line sql.y:1179 { yyLOCAL = []DatabaseOption{yyDollar[1].databaseOption} } @@ -9340,7 +9313,7 @@ yydefault: case 148: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []DatabaseOption -//line sql.y:1188 +//line sql.y:1183 { yyLOCAL = []DatabaseOption{yyDollar[1].databaseOption} } @@ -9348,28 +9321,28 @@ yydefault: case 149: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []DatabaseOption -//line sql.y:1192 +//line sql.y:1187 { yyLOCAL = []DatabaseOption{yyDollar[1].databaseOption} } yyVAL.union = yyLOCAL case 150: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1196 +//line sql.y:1191 { yySLICE := (*[]DatabaseOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].databaseOption) } case 151: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1200 +//line sql.y:1195 { yySLICE := (*[]DatabaseOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].databaseOption) } case 152: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1204 +//line sql.y:1199 { yySLICE := (*[]DatabaseOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].databaseOption) @@ -9377,7 +9350,7 @@ yydefault: case 153: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:1210 +//line sql.y:1205 { yyLOCAL = false } @@ -9385,51 +9358,51 @@ yydefault: case 154: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:1214 +//line sql.y:1209 { yyLOCAL = true } yyVAL.union = yyLOCAL case 155: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1220 +//line sql.y:1215 { yyVAL.databaseOption = DatabaseOption{Type: CharacterSetType, Value: (yyDollar[4].colIdent.String()), IsDefault: yyDollar[1].booleanUnion()} } case 156: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1224 +//line sql.y:1219 { yyVAL.databaseOption = DatabaseOption{Type: CharacterSetType, Value: (encodeSQLString(yyDollar[4].str)), IsDefault: yyDollar[1].booleanUnion()} } case 157: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1230 +//line sql.y:1225 { yyVAL.databaseOption = DatabaseOption{Type: CollateType, Value: (yyDollar[4].colIdent.String()), IsDefault: yyDollar[1].booleanUnion()} } case 158: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1234 +//line sql.y:1229 { yyVAL.databaseOption = DatabaseOption{Type: CollateType, Value: (encodeSQLString(yyDollar[4].str)), IsDefault: yyDollar[1].booleanUnion()} } case 159: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1240 +//line sql.y:1235 { yyVAL.databaseOption = DatabaseOption{Type: EncryptionType, Value: (yyDollar[4].colIdent.String()), IsDefault: yyDollar[1].booleanUnion()} } case 160: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1244 +//line sql.y:1239 { yyVAL.databaseOption = DatabaseOption{Type: EncryptionType, Value: (encodeSQLString(yyDollar[4].str)), IsDefault: yyDollar[1].booleanUnion()} } case 161: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *OptLike -//line sql.y:1250 +//line sql.y:1245 { yyLOCAL = &OptLike{LikeTable: yyDollar[2].tableName} } @@ -9437,7 +9410,7 @@ yydefault: case 162: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *OptLike -//line sql.y:1254 +//line sql.y:1249 { yyLOCAL = &OptLike{LikeTable: yyDollar[3].tableName} } @@ -9445,14 +9418,14 @@ yydefault: case 163: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*ColumnDefinition -//line sql.y:1260 +//line sql.y:1255 { yyLOCAL = []*ColumnDefinition{yyDollar[1].columnDefinitionUnion()} } yyVAL.union = yyLOCAL case 164: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1264 +//line sql.y:1259 { yySLICE := (*[]*ColumnDefinition)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].columnDefinitionUnion()) @@ -9460,7 +9433,7 @@ yydefault: case 165: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *TableSpec -//line sql.y:1270 +//line sql.y:1265 { yyLOCAL = &TableSpec{} yyLOCAL.AddColumn(yyDollar[1].columnDefinitionUnion()) @@ -9469,7 +9442,7 @@ yydefault: case 166: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *TableSpec -//line sql.y:1275 +//line sql.y:1270 { yyLOCAL = &TableSpec{} yyLOCAL.AddConstraint(yyDollar[1].constraintDefinitionUnion()) @@ -9477,39 +9450,39 @@ yydefault: yyVAL.union = yyLOCAL case 167: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1280 +//line sql.y:1275 { yyVAL.tableSpecUnion().AddColumn(yyDollar[3].columnDefinitionUnion()) } case 168: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1284 +//line sql.y:1279 { yyVAL.tableSpecUnion().AddColumn(yyDollar[3].columnDefinitionUnion()) yyVAL.tableSpecUnion().AddConstraint(yyDollar[4].constraintDefinitionUnion()) } case 169: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1289 +//line sql.y:1284 { yyVAL.tableSpecUnion().AddIndex(yyDollar[3].indexDefinitionUnion()) } case 170: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1293 +//line sql.y:1288 { yyVAL.tableSpecUnion().AddConstraint(yyDollar[3].constraintDefinitionUnion()) } case 171: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1297 +//line sql.y:1292 { yyVAL.tableSpecUnion().AddConstraint(yyDollar[3].constraintDefinitionUnion()) } case 172: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ColumnDefinition -//line sql.y:1308 +//line sql.y:1303 { yyDollar[2].columnType.Options = yyDollar[4].columnTypeOptionsUnion() if yyDollar[2].columnType.Options.Collate == "" { @@ -9522,7 +9495,7 @@ yydefault: case 173: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL *ColumnDefinition -//line sql.y:1317 +//line sql.y:1312 { yyDollar[2].columnType.Options = yyDollar[9].columnTypeOptionsUnion() yyDollar[2].columnType.Options.As = yyDollar[7].exprUnion() @@ -9533,20 +9506,20 @@ yydefault: yyVAL.union = yyLOCAL case 174: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:1326 +//line sql.y:1321 { yyVAL.str = "" } case 175: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1330 +//line sql.y:1325 { yyVAL.str = "" } case 176: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1339 +//line sql.y:1334 { yyLOCAL = &ColumnTypeOptions{Null: nil, Default: nil, OnUpdate: nil, Autoincrement: false, KeyOpt: colKeyNone, Comment: nil, As: nil, Invisible: nil, Format: UnspecifiedFormat, EngineAttribute: nil, SecondaryEngineAttribute: nil} } @@ -9554,7 +9527,7 @@ yydefault: case 177: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1343 +//line sql.y:1338 { val := true yyDollar[1].columnTypeOptionsUnion().Null = &val @@ -9564,7 +9537,7 @@ yydefault: case 178: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1349 +//line sql.y:1344 { val := false yyDollar[1].columnTypeOptionsUnion().Null = &val @@ -9574,7 +9547,7 @@ yydefault: case 179: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1355 +//line sql.y:1350 { yyDollar[1].columnTypeOptionsUnion().Default = yyDollar[4].exprUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9583,7 +9556,7 @@ yydefault: case 180: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1360 +//line sql.y:1355 { yyDollar[1].columnTypeOptionsUnion().Default = yyDollar[3].exprUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9592,7 +9565,7 @@ yydefault: case 181: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1365 +//line sql.y:1360 { yyDollar[1].columnTypeOptionsUnion().OnUpdate = yyDollar[4].exprUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9601,7 +9574,7 @@ yydefault: case 182: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1370 +//line sql.y:1365 { yyDollar[1].columnTypeOptionsUnion().Autoincrement = true yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9610,7 +9583,7 @@ yydefault: case 183: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1375 +//line sql.y:1370 { yyDollar[1].columnTypeOptionsUnion().Comment = NewStrLiteral(yyDollar[3].str) yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9619,7 +9592,7 @@ yydefault: case 184: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1380 +//line sql.y:1375 { yyDollar[1].columnTypeOptionsUnion().KeyOpt = yyDollar[2].colKeyOptUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9627,14 +9600,14 @@ yydefault: yyVAL.union = yyLOCAL case 185: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1385 +//line sql.y:1380 { yyDollar[1].columnTypeOptionsUnion().Collate = encodeSQLString(yyDollar[3].str) } case 186: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1389 +//line sql.y:1384 { yyDollar[1].columnTypeOptionsUnion().Collate = string(yyDollar[3].colIdent.String()) yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9642,14 +9615,14 @@ yydefault: yyVAL.union = yyLOCAL case 187: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1394 +//line sql.y:1389 { yyDollar[1].columnTypeOptionsUnion().Format = yyDollar[3].columnFormatUnion() } case 188: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1398 +//line sql.y:1393 { yyDollar[1].columnTypeOptionsUnion().SRID = NewIntLiteral(yyDollar[3].str) yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9658,7 +9631,7 @@ yydefault: case 189: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1403 +//line sql.y:1398 { val := false yyDollar[1].columnTypeOptionsUnion().Invisible = &val @@ -9668,7 +9641,7 @@ yydefault: case 190: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1409 +//line sql.y:1404 { val := true yyDollar[1].columnTypeOptionsUnion().Invisible = &val @@ -9677,20 +9650,20 @@ yydefault: yyVAL.union = yyLOCAL case 191: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1415 +//line sql.y:1410 { yyDollar[1].columnTypeOptionsUnion().EngineAttribute = NewStrLiteral(yyDollar[4].str) } case 192: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:1419 +//line sql.y:1414 { yyDollar[1].columnTypeOptionsUnion().SecondaryEngineAttribute = NewStrLiteral(yyDollar[4].str) } case 193: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnFormat -//line sql.y:1425 +//line sql.y:1420 { yyLOCAL = FixedFormat } @@ -9698,7 +9671,7 @@ yydefault: case 194: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnFormat -//line sql.y:1429 +//line sql.y:1424 { yyLOCAL = DynamicFormat } @@ -9706,7 +9679,7 @@ yydefault: case 195: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnFormat -//line sql.y:1433 +//line sql.y:1428 { yyLOCAL = DefaultFormat } @@ -9714,7 +9687,7 @@ yydefault: case 196: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnStorage -//line sql.y:1439 +//line sql.y:1434 { yyLOCAL = VirtualStorage } @@ -9722,7 +9695,7 @@ yydefault: case 197: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnStorage -//line sql.y:1443 +//line sql.y:1438 { yyLOCAL = StoredStorage } @@ -9730,7 +9703,7 @@ yydefault: case 198: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1448 +//line sql.y:1443 { yyLOCAL = &ColumnTypeOptions{} } @@ -9738,7 +9711,7 @@ yydefault: case 199: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1452 +//line sql.y:1447 { yyDollar[1].columnTypeOptionsUnion().Storage = yyDollar[2].columnStorageUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9747,7 +9720,7 @@ yydefault: case 200: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1457 +//line sql.y:1452 { val := true yyDollar[1].columnTypeOptionsUnion().Null = &val @@ -9757,7 +9730,7 @@ yydefault: case 201: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1463 +//line sql.y:1458 { val := false yyDollar[1].columnTypeOptionsUnion().Null = &val @@ -9767,7 +9740,7 @@ yydefault: case 202: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1469 +//line sql.y:1464 { yyDollar[1].columnTypeOptionsUnion().Comment = NewStrLiteral(yyDollar[3].str) yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9776,7 +9749,7 @@ yydefault: case 203: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1474 +//line sql.y:1469 { yyDollar[1].columnTypeOptionsUnion().KeyOpt = yyDollar[2].colKeyOptUnion() yyLOCAL = yyDollar[1].columnTypeOptionsUnion() @@ -9785,7 +9758,7 @@ yydefault: case 204: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1479 +//line sql.y:1474 { val := false yyDollar[1].columnTypeOptionsUnion().Invisible = &val @@ -9795,7 +9768,7 @@ yydefault: case 205: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColumnTypeOptions -//line sql.y:1485 +//line sql.y:1480 { val := true yyDollar[1].columnTypeOptionsUnion().Invisible = &val @@ -9805,7 +9778,7 @@ yydefault: case 206: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1493 +//line sql.y:1488 { yyLOCAL = yyDollar[1].exprUnion() } @@ -9813,7 +9786,7 @@ yydefault: case 208: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1500 +//line sql.y:1495 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("current_timestamp"), Fsp: yyDollar[2].exprUnion()} } @@ -9821,7 +9794,7 @@ yydefault: case 209: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1504 +//line sql.y:1499 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("localtime"), Fsp: yyDollar[2].exprUnion()} } @@ -9829,7 +9802,7 @@ yydefault: case 210: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1508 +//line sql.y:1503 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("localtimestamp"), Fsp: yyDollar[2].exprUnion()} } @@ -9837,7 +9810,7 @@ yydefault: case 211: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1512 +//line sql.y:1507 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("utc_timestamp"), Fsp: yyDollar[2].exprUnion()} } @@ -9845,7 +9818,7 @@ yydefault: case 212: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1516 +//line sql.y:1511 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("now"), Fsp: yyDollar[2].exprUnion()} } @@ -9853,7 +9826,7 @@ yydefault: case 215: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1526 +//line sql.y:1521 { yyLOCAL = &NullVal{} } @@ -9861,7 +9834,7 @@ yydefault: case 217: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1533 +//line sql.y:1528 { yyLOCAL = yyDollar[2].exprUnion() } @@ -9869,7 +9842,7 @@ yydefault: case 218: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1537 +//line sql.y:1532 { yyLOCAL = &UnaryExpr{Operator: UMinusOp, Expr: yyDollar[2].exprUnion()} } @@ -9877,7 +9850,7 @@ yydefault: case 219: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1543 +//line sql.y:1538 { yyLOCAL = yyDollar[1].exprUnion() } @@ -9885,7 +9858,7 @@ yydefault: case 220: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1547 +//line sql.y:1542 { yyLOCAL = yyDollar[1].exprUnion() } @@ -9893,7 +9866,7 @@ yydefault: case 221: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1551 +//line sql.y:1546 { yyLOCAL = yyDollar[1].boolValUnion() } @@ -9901,7 +9874,7 @@ yydefault: case 222: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1555 +//line sql.y:1550 { yyLOCAL = NewHexLiteral(yyDollar[1].str) } @@ -9909,7 +9882,7 @@ yydefault: case 223: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1559 +//line sql.y:1554 { yyLOCAL = NewHexNumLiteral(yyDollar[1].str) } @@ -9917,7 +9890,7 @@ yydefault: case 224: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1563 +//line sql.y:1558 { yyLOCAL = NewBitLiteral(yyDollar[1].str) } @@ -9925,7 +9898,7 @@ yydefault: case 225: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1567 +//line sql.y:1562 { yyLOCAL = NewArgument(yyDollar[1].str[1:]) bindVariable(yylex, yyDollar[1].str[1:]) @@ -9934,7 +9907,7 @@ yydefault: case 226: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1572 +//line sql.y:1567 { yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewBitLiteral(yyDollar[2].str)} } @@ -9942,7 +9915,7 @@ yydefault: case 227: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1576 +//line sql.y:1571 { yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewHexNumLiteral(yyDollar[2].str)} } @@ -9950,7 +9923,7 @@ yydefault: case 228: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1580 +//line sql.y:1575 { yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewHexLiteral(yyDollar[2].str)} } @@ -9958,7 +9931,7 @@ yydefault: case 229: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1584 +//line sql.y:1579 { yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: yyDollar[2].colNameUnion()} } @@ -9966,7 +9939,7 @@ yydefault: case 230: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1588 +//line sql.y:1583 { bindVariable(yylex, yyDollar[2].str[1:]) yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewArgument(yyDollar[2].str[1:])} @@ -9974,260 +9947,260 @@ yydefault: yyVAL.union = yyLOCAL case 231: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1595 +//line sql.y:1590 { yyVAL.str = Armscii8Str } case 232: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1599 +//line sql.y:1594 { yyVAL.str = ASCIIStr } case 233: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1603 +//line sql.y:1598 { yyVAL.str = Big5Str } case 234: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1607 +//line sql.y:1602 { yyVAL.str = UBinaryStr } case 235: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1611 +//line sql.y:1606 { yyVAL.str = Cp1250Str } case 236: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1615 +//line sql.y:1610 { yyVAL.str = Cp1251Str } case 237: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1619 +//line sql.y:1614 { yyVAL.str = Cp1256Str } case 238: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1623 +//line sql.y:1618 { yyVAL.str = Cp1257Str } case 239: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1627 +//line sql.y:1622 { yyVAL.str = Cp850Str } case 240: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1631 +//line sql.y:1626 { yyVAL.str = Cp852Str } case 241: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1635 +//line sql.y:1630 { yyVAL.str = Cp866Str } case 242: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1639 +//line sql.y:1634 { yyVAL.str = Cp932Str } case 243: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1643 +//line sql.y:1638 { yyVAL.str = Dec8Str } case 244: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1647 +//line sql.y:1642 { yyVAL.str = EucjpmsStr } case 245: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1651 +//line sql.y:1646 { yyVAL.str = EuckrStr } case 246: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1655 +//line sql.y:1650 { yyVAL.str = Gb18030Str } case 247: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1659 +//line sql.y:1654 { yyVAL.str = Gb2312Str } case 248: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1663 +//line sql.y:1658 { yyVAL.str = GbkStr } case 249: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1667 +//line sql.y:1662 { yyVAL.str = Geostd8Str } case 250: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1671 +//line sql.y:1666 { yyVAL.str = GreekStr } case 251: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1675 +//line sql.y:1670 { yyVAL.str = HebrewStr } case 252: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1679 +//line sql.y:1674 { yyVAL.str = Hp8Str } case 253: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1683 +//line sql.y:1678 { yyVAL.str = Keybcs2Str } case 254: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1687 +//line sql.y:1682 { yyVAL.str = Koi8rStr } case 255: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1691 +//line sql.y:1686 { yyVAL.str = Koi8uStr } case 256: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1695 +//line sql.y:1690 { yyVAL.str = Latin1Str } case 257: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1699 +//line sql.y:1694 { yyVAL.str = Latin2Str } case 258: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1703 +//line sql.y:1698 { yyVAL.str = Latin5Str } case 259: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1707 +//line sql.y:1702 { yyVAL.str = Latin7Str } case 260: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1711 +//line sql.y:1706 { yyVAL.str = MacceStr } case 261: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1715 +//line sql.y:1710 { yyVAL.str = MacromanStr } case 262: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1719 +//line sql.y:1714 { yyVAL.str = SjisStr } case 263: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1723 +//line sql.y:1718 { yyVAL.str = Swe7Str } case 264: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1727 +//line sql.y:1722 { yyVAL.str = Tis620Str } case 265: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1731 +//line sql.y:1726 { yyVAL.str = Ucs2Str } case 266: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1735 +//line sql.y:1730 { yyVAL.str = UjisStr } case 267: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1739 +//line sql.y:1734 { yyVAL.str = Utf16Str } case 268: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1743 +//line sql.y:1738 { yyVAL.str = Utf16leStr } case 269: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1747 +//line sql.y:1742 { yyVAL.str = Utf32Str } case 270: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1751 +//line sql.y:1746 { yyVAL.str = Utf8Str } case 271: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1755 +//line sql.y:1750 { yyVAL.str = Utf8mb4Str } case 272: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1759 +//line sql.y:1754 { yyVAL.str = Utf8Str } case 275: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1769 +//line sql.y:1764 { yyLOCAL = NewIntLiteral(yyDollar[1].str) } @@ -10235,7 +10208,7 @@ yydefault: case 276: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1773 +//line sql.y:1768 { yyLOCAL = NewFloatLiteral(yyDollar[1].str) } @@ -10243,7 +10216,7 @@ yydefault: case 277: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1777 +//line sql.y:1772 { yyLOCAL = NewDecimalLiteral(yyDollar[1].str) } @@ -10251,7 +10224,7 @@ yydefault: case 278: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1783 +//line sql.y:1778 { yyLOCAL = NewStrLiteral(yyDollar[1].str) } @@ -10259,7 +10232,7 @@ yydefault: case 279: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1787 +//line sql.y:1782 { yyLOCAL = &UnaryExpr{Operator: NStringOp, Expr: NewStrLiteral(yyDollar[1].str)} } @@ -10267,7 +10240,7 @@ yydefault: case 280: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:1791 +//line sql.y:1786 { yyLOCAL = &IntroducerExpr{CharacterSet: yyDollar[1].str, Expr: NewStrLiteral(yyDollar[2].str)} } @@ -10275,7 +10248,7 @@ yydefault: case 281: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1797 +//line sql.y:1792 { yyLOCAL = yyDollar[1].exprUnion() } @@ -10283,7 +10256,7 @@ yydefault: case 282: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:1801 +//line sql.y:1796 { yyLOCAL = NewArgument(yyDollar[1].str[1:]) bindVariable(yylex, yyDollar[1].str[1:]) @@ -10292,7 +10265,7 @@ yydefault: case 283: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ColumnKeyOption -//line sql.y:1808 +//line sql.y:1803 { yyLOCAL = colKeyPrimary } @@ -10300,7 +10273,7 @@ yydefault: case 284: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnKeyOption -//line sql.y:1812 +//line sql.y:1807 { yyLOCAL = colKeyUnique } @@ -10308,7 +10281,7 @@ yydefault: case 285: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ColumnKeyOption -//line sql.y:1816 +//line sql.y:1811 { yyLOCAL = colKeyUniqueKey } @@ -10316,14 +10289,14 @@ yydefault: case 286: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColumnKeyOption -//line sql.y:1820 +//line sql.y:1815 { yyLOCAL = colKey } yyVAL.union = yyLOCAL case 287: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1826 +//line sql.y:1821 { yyVAL.columnType = yyDollar[1].columnType yyVAL.columnType.Unsigned = yyDollar[2].booleanUnion() @@ -10331,74 +10304,74 @@ yydefault: } case 291: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1837 +//line sql.y:1832 { yyVAL.columnType = yyDollar[1].columnType yyVAL.columnType.Length = yyDollar[2].literalUnion() } case 292: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1842 +//line sql.y:1837 { yyVAL.columnType = yyDollar[1].columnType } case 293: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1848 +//line sql.y:1843 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 294: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1852 +//line sql.y:1847 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 295: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1856 +//line sql.y:1851 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 296: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1860 +//line sql.y:1855 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 297: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1864 +//line sql.y:1859 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 298: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1868 +//line sql.y:1863 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 299: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1872 +//line sql.y:1867 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 300: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1876 +//line sql.y:1871 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 301: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1880 +//line sql.y:1875 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 302: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1886 +//line sql.y:1881 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -10406,7 +10379,7 @@ yydefault: } case 303: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1892 +//line sql.y:1887 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -10414,7 +10387,7 @@ yydefault: } case 304: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1898 +//line sql.y:1893 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -10422,7 +10395,7 @@ yydefault: } case 305: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1904 +//line sql.y:1899 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -10430,7 +10403,7 @@ yydefault: } case 306: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1910 +//line sql.y:1905 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} yyVAL.columnType.Length = yyDollar[2].LengthScaleOption.Length @@ -10438,43 +10411,43 @@ yydefault: } case 307: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1918 +//line sql.y:1913 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 308: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1922 +//line sql.y:1917 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 309: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1926 +//line sql.y:1921 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 310: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1930 +//line sql.y:1925 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 311: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1934 +//line sql.y:1929 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 312: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1940 +//line sql.y:1935 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion(), Charset: yyDollar[3].columnCharset} } case 313: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1944 +//line sql.y:1939 { // CHAR BYTE is an alias for binary. See also: // https://dev.mysql.com/doc/refman/8.0/en/string-type-syntax.html @@ -10482,153 +10455,153 @@ yydefault: } case 314: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:1950 +//line sql.y:1945 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion(), Charset: yyDollar[3].columnCharset} } case 315: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1954 +//line sql.y:1949 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 316: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1958 +//line sql.y:1953 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } case 317: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1962 +//line sql.y:1957 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset} } case 318: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1966 +//line sql.y:1961 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset} } case 319: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1970 +//line sql.y:1965 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset} } case 320: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:1974 +//line sql.y:1969 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), Charset: yyDollar[2].columnCharset} } case 321: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1978 +//line sql.y:1973 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 322: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1982 +//line sql.y:1977 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 323: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1986 +//line sql.y:1981 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 324: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1990 +//line sql.y:1985 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 325: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:1994 +//line sql.y:1989 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 326: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:1998 +//line sql.y:1993 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].columnCharset} } case 327: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2003 +//line sql.y:1998 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str), EnumValues: yyDollar[3].strs, Charset: yyDollar[5].columnCharset} } case 328: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2009 +//line sql.y:2004 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 329: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2013 +//line sql.y:2008 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 330: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2017 +//line sql.y:2012 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 331: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2021 +//line sql.y:2016 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 332: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2025 +//line sql.y:2020 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 333: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2029 +//line sql.y:2024 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 334: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2033 +//line sql.y:2028 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 335: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2037 +//line sql.y:2032 { yyVAL.columnType = ColumnType{Type: string(yyDollar[1].str)} } case 336: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2043 +//line sql.y:2038 { yyVAL.strs = make([]string, 0, 4) yyVAL.strs = append(yyVAL.strs, encodeSQLString(yyDollar[1].str)) } case 337: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2048 +//line sql.y:2043 { yyVAL.strs = append(yyDollar[1].strs, encodeSQLString(yyDollar[3].str)) } case 338: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *Literal -//line sql.y:2053 +//line sql.y:2048 { yyLOCAL = nil } @@ -10636,20 +10609,20 @@ yydefault: case 339: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *Literal -//line sql.y:2057 +//line sql.y:2052 { yyLOCAL = NewIntLiteral(yyDollar[2].str) } yyVAL.union = yyLOCAL case 340: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2062 +//line sql.y:2057 { yyVAL.LengthScaleOption = LengthScaleOption{} } case 341: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2066 +//line sql.y:2061 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: NewIntLiteral(yyDollar[2].str), @@ -10658,13 +10631,13 @@ yydefault: } case 342: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2074 +//line sql.y:2069 { yyVAL.LengthScaleOption = LengthScaleOption{} } case 343: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2078 +//line sql.y:2073 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: NewIntLiteral(yyDollar[2].str), @@ -10672,7 +10645,7 @@ yydefault: } case 344: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2084 +//line sql.y:2079 { yyVAL.LengthScaleOption = LengthScaleOption{ Length: NewIntLiteral(yyDollar[2].str), @@ -10682,7 +10655,7 @@ yydefault: case 345: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:2092 +//line sql.y:2087 { yyLOCAL = false } @@ -10690,7 +10663,7 @@ yydefault: case 346: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2096 +//line sql.y:2091 { yyLOCAL = true } @@ -10698,7 +10671,7 @@ yydefault: case 347: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2100 +//line sql.y:2095 { yyLOCAL = false } @@ -10706,7 +10679,7 @@ yydefault: case 348: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:2105 +//line sql.y:2100 { yyLOCAL = false } @@ -10714,66 +10687,66 @@ yydefault: case 349: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2109 +//line sql.y:2104 { yyLOCAL = true } yyVAL.union = yyLOCAL case 350: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2114 +//line sql.y:2109 { yyVAL.columnCharset = ColumnCharset{} } case 351: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2118 +//line sql.y:2113 { yyVAL.columnCharset = ColumnCharset{Name: string(yyDollar[2].colIdent.String()), Binary: yyDollar[3].booleanUnion()} } case 352: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2122 +//line sql.y:2117 { yyVAL.columnCharset = ColumnCharset{Name: encodeSQLString(yyDollar[2].str), Binary: yyDollar[3].booleanUnion()} } case 353: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2126 +//line sql.y:2121 { yyVAL.columnCharset = ColumnCharset{Name: string(yyDollar[2].str)} } case 354: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2130 +//line sql.y:2125 { // ASCII: Shorthand for CHARACTER SET latin1. yyVAL.columnCharset = ColumnCharset{Name: "latin1", Binary: yyDollar[2].booleanUnion()} } case 355: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2135 +//line sql.y:2130 { // UNICODE: Shorthand for CHARACTER SET ucs2. yyVAL.columnCharset = ColumnCharset{Name: "ucs2", Binary: yyDollar[2].booleanUnion()} } case 356: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2140 +//line sql.y:2135 { // BINARY: Shorthand for default CHARACTER SET but with binary collation yyVAL.columnCharset = ColumnCharset{Name: "", Binary: true} } case 357: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2145 +//line sql.y:2140 { // BINARY ASCII: Shorthand for CHARACTER SET latin1 with binary collation yyVAL.columnCharset = ColumnCharset{Name: "latin1", Binary: true} } case 358: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2150 +//line sql.y:2145 { // BINARY UNICODE: Shorthand for CHARACTER SET ucs2 with binary collation yyVAL.columnCharset = ColumnCharset{Name: "ucs2", Binary: true} @@ -10781,7 +10754,7 @@ yydefault: case 359: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:2156 +//line sql.y:2151 { yyLOCAL = false } @@ -10789,33 +10762,33 @@ yydefault: case 360: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2160 +//line sql.y:2155 { yyLOCAL = true } yyVAL.union = yyLOCAL case 361: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2165 +//line sql.y:2160 { yyVAL.str = "" } case 362: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2169 +//line sql.y:2164 { yyVAL.str = string(yyDollar[2].colIdent.String()) } case 363: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2173 +//line sql.y:2168 { yyVAL.str = encodeSQLString(yyDollar[2].str) } case 364: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *IndexDefinition -//line sql.y:2179 +//line sql.y:2174 { yyLOCAL = &IndexDefinition{Info: yyDollar[1].indexInfoUnion(), Columns: yyDollar[3].indexColumnsUnion(), Options: yyDollar[5].indexOptionsUnion()} } @@ -10823,7 +10796,7 @@ yydefault: case 365: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:2184 +//line sql.y:2179 { yyLOCAL = nil } @@ -10831,7 +10804,7 @@ yydefault: case 366: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:2188 +//line sql.y:2183 { yyLOCAL = yyDollar[1].indexOptionsUnion() } @@ -10839,14 +10812,14 @@ yydefault: case 367: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:2194 +//line sql.y:2189 { yyLOCAL = []*IndexOption{yyDollar[1].indexOptionUnion()} } yyVAL.union = yyLOCAL case 368: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2198 +//line sql.y:2193 { yySLICE := (*[]*IndexOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].indexOptionUnion()) @@ -10854,7 +10827,7 @@ yydefault: case 369: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2204 +//line sql.y:2199 { yyLOCAL = yyDollar[1].indexOptionUnion() } @@ -10862,7 +10835,7 @@ yydefault: case 370: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2208 +//line sql.y:2203 { // should not be string yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} @@ -10871,7 +10844,7 @@ yydefault: case 371: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2213 +//line sql.y:2208 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[2].str)} } @@ -10879,7 +10852,7 @@ yydefault: case 372: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2217 +//line sql.y:2212 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str)} } @@ -10887,7 +10860,7 @@ yydefault: case 373: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2221 +//line sql.y:2216 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str)} } @@ -10895,7 +10868,7 @@ yydefault: case 374: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2225 +//line sql.y:2220 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str) + " " + string(yyDollar[2].str), String: yyDollar[3].colIdent.String()} } @@ -10903,7 +10876,7 @@ yydefault: case 375: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2229 +//line sql.y:2224 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -10911,27 +10884,27 @@ yydefault: case 376: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:2233 +//line sql.y:2228 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } yyVAL.union = yyLOCAL case 377: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2239 +//line sql.y:2234 { yyVAL.str = "" } case 378: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2243 +//line sql.y:2238 { yyVAL.str = string(yyDollar[1].str) } case 379: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *IndexInfo -//line sql.y:2249 +//line sql.y:2244 { yyLOCAL = &IndexInfo{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), ConstraintName: NewColIdent(yyDollar[1].str), Name: NewColIdent("PRIMARY"), Primary: true, Unique: true} } @@ -10939,7 +10912,7 @@ yydefault: case 380: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexInfo -//line sql.y:2253 +//line sql.y:2248 { yyLOCAL = &IndexInfo{Type: string(yyDollar[1].str) + " " + string(yyDollar[2].str), Name: NewColIdent(yyDollar[3].str), Spatial: true, Unique: false} } @@ -10947,7 +10920,7 @@ yydefault: case 381: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexInfo -//line sql.y:2257 +//line sql.y:2252 { yyLOCAL = &IndexInfo{Type: string(yyDollar[1].str) + " " + string(yyDollar[2].str), Name: NewColIdent(yyDollar[3].str), Fulltext: true, Unique: false} } @@ -10955,7 +10928,7 @@ yydefault: case 382: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *IndexInfo -//line sql.y:2261 +//line sql.y:2256 { yyLOCAL = &IndexInfo{Type: string(yyDollar[2].str) + " " + string(yyDollar[3].str), ConstraintName: NewColIdent(yyDollar[1].str), Name: NewColIdent(yyDollar[4].str), Unique: true} } @@ -10963,100 +10936,100 @@ yydefault: case 383: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *IndexInfo -//line sql.y:2265 +//line sql.y:2260 { yyLOCAL = &IndexInfo{Type: string(yyDollar[1].str), Name: NewColIdent(yyDollar[2].str), Unique: false} } yyVAL.union = yyLOCAL case 384: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2270 +//line sql.y:2265 { yyVAL.str = "" } case 385: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2274 +//line sql.y:2269 { yyVAL.str = yyDollar[2].str } case 386: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2280 +//line sql.y:2275 { yyVAL.str = string(yyDollar[1].str) } case 387: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2284 +//line sql.y:2279 { yyVAL.str = string(yyDollar[1].str) } case 388: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2288 +//line sql.y:2283 { yyVAL.str = string(yyDollar[1].str) } case 389: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2294 +//line sql.y:2289 { yyVAL.str = string(yyDollar[1].str) } case 390: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2298 +//line sql.y:2293 { yyVAL.str = string(yyDollar[1].str) } case 391: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2303 +//line sql.y:2298 { yyVAL.str = "key" } case 392: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2307 +//line sql.y:2302 { yyVAL.str = yyDollar[1].str } case 393: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2313 +//line sql.y:2308 { yyVAL.str = string(yyDollar[1].str) } case 394: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2317 +//line sql.y:2312 { yyVAL.str = string(yyDollar[1].str) } case 395: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2322 +//line sql.y:2317 { yyVAL.str = "" } case 396: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2326 +//line sql.y:2321 { yyVAL.str = string(yyDollar[1].colIdent.String()) } case 397: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*IndexColumn -//line sql.y:2332 +//line sql.y:2327 { yyLOCAL = []*IndexColumn{yyDollar[1].indexColumnUnion()} } yyVAL.union = yyLOCAL case 398: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2336 +//line sql.y:2331 { yySLICE := (*[]*IndexColumn)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].indexColumnUnion()) @@ -11064,7 +11037,7 @@ yydefault: case 399: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *IndexColumn -//line sql.y:2342 +//line sql.y:2337 { yyLOCAL = &IndexColumn{Column: yyDollar[1].colIdent, Length: yyDollar[2].literalUnion(), Direction: yyDollar[3].orderDirectionUnion()} } @@ -11072,7 +11045,7 @@ yydefault: case 400: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *IndexColumn -//line sql.y:2346 +//line sql.y:2341 { yyLOCAL = &IndexColumn{Expression: yyDollar[2].exprUnion(), Direction: yyDollar[4].orderDirectionUnion()} } @@ -11080,7 +11053,7 @@ yydefault: case 401: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ConstraintDefinition -//line sql.y:2352 +//line sql.y:2347 { yyLOCAL = &ConstraintDefinition{Name: yyDollar[2].colIdent, Details: yyDollar[3].constraintInfoUnion()} } @@ -11088,7 +11061,7 @@ yydefault: case 402: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConstraintDefinition -//line sql.y:2356 +//line sql.y:2351 { yyLOCAL = &ConstraintDefinition{Details: yyDollar[1].constraintInfoUnion()} } @@ -11096,7 +11069,7 @@ yydefault: case 403: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ConstraintDefinition -//line sql.y:2362 +//line sql.y:2357 { yyLOCAL = &ConstraintDefinition{Name: yyDollar[2].colIdent, Details: yyDollar[3].constraintInfoUnion()} } @@ -11104,7 +11077,7 @@ yydefault: case 404: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConstraintDefinition -//line sql.y:2366 +//line sql.y:2361 { yyLOCAL = &ConstraintDefinition{Details: yyDollar[1].constraintInfoUnion()} } @@ -11112,7 +11085,7 @@ yydefault: case 405: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL ConstraintInfo -//line sql.y:2372 +//line sql.y:2367 { yyLOCAL = &ForeignKeyDefinition{IndexName: NewColIdent(yyDollar[3].str), Source: yyDollar[5].columnsUnion(), ReferenceDefinition: yyDollar[7].referenceDefinitionUnion()} } @@ -11120,7 +11093,7 @@ yydefault: case 406: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2378 +//line sql.y:2373 { yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion()} } @@ -11128,7 +11101,7 @@ yydefault: case 407: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2382 +//line sql.y:2377 { yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnDelete: yyDollar[7].referenceActionUnion()} } @@ -11136,7 +11109,7 @@ yydefault: case 408: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2386 +//line sql.y:2381 { yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnUpdate: yyDollar[7].referenceActionUnion()} } @@ -11144,7 +11117,7 @@ yydefault: case 409: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2390 +//line sql.y:2385 { yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnDelete: yyDollar[7].referenceActionUnion(), OnUpdate: yyDollar[8].referenceActionUnion()} } @@ -11152,7 +11125,7 @@ yydefault: case 410: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2394 +//line sql.y:2389 { yyLOCAL = &ReferenceDefinition{ReferencedTable: yyDollar[2].tableName, ReferencedColumns: yyDollar[4].columnsUnion(), Match: yyDollar[6].matchActionUnion(), OnUpdate: yyDollar[7].referenceActionUnion(), OnDelete: yyDollar[8].referenceActionUnion()} } @@ -11160,7 +11133,7 @@ yydefault: case 411: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2399 +//line sql.y:2394 { yyLOCAL = nil } @@ -11168,7 +11141,7 @@ yydefault: case 412: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ReferenceDefinition -//line sql.y:2403 +//line sql.y:2398 { yyLOCAL = yyDollar[1].referenceDefinitionUnion() } @@ -11176,7 +11149,7 @@ yydefault: case 413: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL ConstraintInfo -//line sql.y:2409 +//line sql.y:2404 { yyLOCAL = &CheckConstraintDefinition{Expr: yyDollar[3].exprUnion(), Enforced: yyDollar[5].booleanUnion()} } @@ -11184,7 +11157,7 @@ yydefault: case 414: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2415 +//line sql.y:2410 { yyLOCAL = yyDollar[2].matchActionUnion() } @@ -11192,7 +11165,7 @@ yydefault: case 415: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2421 +//line sql.y:2416 { yyLOCAL = Full } @@ -11200,7 +11173,7 @@ yydefault: case 416: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2425 +//line sql.y:2420 { yyLOCAL = Partial } @@ -11208,7 +11181,7 @@ yydefault: case 417: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2429 +//line sql.y:2424 { yyLOCAL = Simple } @@ -11216,7 +11189,7 @@ yydefault: case 418: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2434 +//line sql.y:2429 { yyLOCAL = DefaultMatch } @@ -11224,7 +11197,7 @@ yydefault: case 419: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL MatchAction -//line sql.y:2438 +//line sql.y:2433 { yyLOCAL = yyDollar[1].matchActionUnion() } @@ -11232,7 +11205,7 @@ yydefault: case 420: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2444 +//line sql.y:2439 { yyLOCAL = yyDollar[3].referenceActionUnion() } @@ -11240,7 +11213,7 @@ yydefault: case 421: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2450 +//line sql.y:2445 { yyLOCAL = yyDollar[3].referenceActionUnion() } @@ -11248,7 +11221,7 @@ yydefault: case 422: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2456 +//line sql.y:2451 { yyLOCAL = Restrict } @@ -11256,7 +11229,7 @@ yydefault: case 423: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2460 +//line sql.y:2455 { yyLOCAL = Cascade } @@ -11264,7 +11237,7 @@ yydefault: case 424: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2464 +//line sql.y:2459 { yyLOCAL = NoAction } @@ -11272,7 +11245,7 @@ yydefault: case 425: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2468 +//line sql.y:2463 { yyLOCAL = SetDefault } @@ -11280,33 +11253,33 @@ yydefault: case 426: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ReferenceAction -//line sql.y:2472 +//line sql.y:2467 { yyLOCAL = SetNull } yyVAL.union = yyLOCAL case 427: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2477 +//line sql.y:2472 { yyVAL.str = "" } case 428: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2481 +//line sql.y:2476 { yyVAL.str = string(yyDollar[1].str) } case 429: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2485 +//line sql.y:2480 { yyVAL.str = string(yyDollar[1].str) } case 430: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2491 +//line sql.y:2486 { yyLOCAL = true } @@ -11314,7 +11287,7 @@ yydefault: case 431: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:2495 +//line sql.y:2490 { yyLOCAL = false } @@ -11322,7 +11295,7 @@ yydefault: case 432: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:2500 +//line sql.y:2495 { yyLOCAL = true } @@ -11330,7 +11303,7 @@ yydefault: case 433: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2504 +//line sql.y:2499 { yyLOCAL = yyDollar[1].booleanUnion() } @@ -11338,7 +11311,7 @@ yydefault: case 434: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL TableOptions -//line sql.y:2509 +//line sql.y:2504 { yyLOCAL = nil } @@ -11346,7 +11319,7 @@ yydefault: case 435: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableOptions -//line sql.y:2513 +//line sql.y:2508 { yyLOCAL = yyDollar[1].tableOptionsUnion() } @@ -11354,21 +11327,21 @@ yydefault: case 436: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableOptions -//line sql.y:2519 +//line sql.y:2514 { yyLOCAL = TableOptions{yyDollar[1].tableOptionUnion()} } yyVAL.union = yyLOCAL case 437: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2523 +//line sql.y:2518 { yySLICE := (*TableOptions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableOptionUnion()) } case 438: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2527 +//line sql.y:2522 { yySLICE := (*TableOptions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].tableOptionUnion()) @@ -11376,14 +11349,14 @@ yydefault: case 439: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableOptions -//line sql.y:2533 +//line sql.y:2528 { yyLOCAL = TableOptions{yyDollar[1].tableOptionUnion()} } yyVAL.union = yyLOCAL case 440: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2537 +//line sql.y:2532 { yySLICE := (*TableOptions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].tableOptionUnion()) @@ -11391,7 +11364,7 @@ yydefault: case 441: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2543 +//line sql.y:2538 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11399,7 +11372,7 @@ yydefault: case 442: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2547 +//line sql.y:2542 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11407,7 +11380,7 @@ yydefault: case 443: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2551 +//line sql.y:2546 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11415,7 +11388,7 @@ yydefault: case 444: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2555 +//line sql.y:2550 { yyLOCAL = &TableOption{Name: (string(yyDollar[2].str)), String: yyDollar[4].str, CaseSensitive: true} } @@ -11423,7 +11396,7 @@ yydefault: case 445: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2559 +//line sql.y:2554 { yyLOCAL = &TableOption{Name: string(yyDollar[2].str), String: yyDollar[4].str, CaseSensitive: true} } @@ -11431,7 +11404,7 @@ yydefault: case 446: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2563 +//line sql.y:2558 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11439,7 +11412,7 @@ yydefault: case 447: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2567 +//line sql.y:2562 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11447,7 +11420,7 @@ yydefault: case 448: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2571 +//line sql.y:2566 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11455,7 +11428,7 @@ yydefault: case 449: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2575 +//line sql.y:2570 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11463,7 +11436,7 @@ yydefault: case 450: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2579 +//line sql.y:2574 { yyLOCAL = &TableOption{Name: (string(yyDollar[1].str) + " " + string(yyDollar[2].str)), Value: NewStrLiteral(yyDollar[4].str)} } @@ -11471,7 +11444,7 @@ yydefault: case 451: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2583 +//line sql.y:2578 { yyLOCAL = &TableOption{Name: (string(yyDollar[1].str) + " " + string(yyDollar[2].str)), Value: NewStrLiteral(yyDollar[4].str)} } @@ -11479,7 +11452,7 @@ yydefault: case 452: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2587 +//line sql.y:2582 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11487,7 +11460,7 @@ yydefault: case 453: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2591 +//line sql.y:2586 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11495,7 +11468,7 @@ yydefault: case 454: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2595 +//line sql.y:2590 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: yyDollar[3].tableIdent.String(), CaseSensitive: true} } @@ -11503,7 +11476,7 @@ yydefault: case 455: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2599 +//line sql.y:2594 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11511,7 +11484,7 @@ yydefault: case 456: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2603 +//line sql.y:2598 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} } @@ -11519,7 +11492,7 @@ yydefault: case 457: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2607 +//line sql.y:2602 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11527,7 +11500,7 @@ yydefault: case 458: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2611 +//line sql.y:2606 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11535,7 +11508,7 @@ yydefault: case 459: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2615 +//line sql.y:2610 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11543,7 +11516,7 @@ yydefault: case 460: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2619 +//line sql.y:2614 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11551,7 +11524,7 @@ yydefault: case 461: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2623 +//line sql.y:2618 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} } @@ -11559,7 +11532,7 @@ yydefault: case 462: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2627 +//line sql.y:2622 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11567,7 +11540,7 @@ yydefault: case 463: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2631 +//line sql.y:2626 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} } @@ -11575,7 +11548,7 @@ yydefault: case 464: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2635 +//line sql.y:2630 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewStrLiteral(yyDollar[3].str)} } @@ -11583,7 +11556,7 @@ yydefault: case 465: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2639 +//line sql.y:2634 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11591,7 +11564,7 @@ yydefault: case 466: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2643 +//line sql.y:2638 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} } @@ -11599,7 +11572,7 @@ yydefault: case 467: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2647 +//line sql.y:2642 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11607,7 +11580,7 @@ yydefault: case 468: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2651 +//line sql.y:2646 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: string(yyDollar[3].str)} } @@ -11615,7 +11588,7 @@ yydefault: case 469: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2655 +//line sql.y:2650 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Value: NewIntLiteral(yyDollar[3].str)} } @@ -11623,7 +11596,7 @@ yydefault: case 470: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2659 +//line sql.y:2654 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), String: (yyDollar[3].colIdent.String() + yyDollar[4].str)} } @@ -11631,57 +11604,57 @@ yydefault: case 471: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *TableOption -//line sql.y:2663 +//line sql.y:2658 { yyLOCAL = &TableOption{Name: string(yyDollar[1].str), Tables: yyDollar[4].tableNamesUnion()} } yyVAL.union = yyLOCAL case 472: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2668 +//line sql.y:2663 { yyVAL.str = "" } case 473: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2672 +//line sql.y:2667 { yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 474: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2676 +//line sql.y:2671 { yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 484: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2695 +//line sql.y:2690 { yyVAL.str = yyDollar[1].colIdent.String() } case 485: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2699 +//line sql.y:2694 { yyVAL.str = encodeSQLString(yyDollar[1].str) } case 486: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:2703 +//line sql.y:2698 { yyVAL.str = string(yyDollar[1].str) } case 487: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2708 +//line sql.y:2703 { yyVAL.str = "" } case 489: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:2714 +//line sql.y:2709 { yyLOCAL = false } @@ -11689,7 +11662,7 @@ yydefault: case 490: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:2718 +//line sql.y:2713 { yyLOCAL = true } @@ -11697,7 +11670,7 @@ yydefault: case 491: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ColName -//line sql.y:2723 +//line sql.y:2718 { yyLOCAL = nil } @@ -11705,27 +11678,27 @@ yydefault: case 492: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ColName -//line sql.y:2727 +//line sql.y:2722 { yyLOCAL = yyDollar[2].colNameUnion() } yyVAL.union = yyLOCAL case 493: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:2732 +//line sql.y:2727 { yyVAL.str = "" } case 494: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:2736 +//line sql.y:2731 { yyVAL.str = string(yyDollar[2].str) } case 495: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *Literal -//line sql.y:2741 +//line sql.y:2736 { yyLOCAL = nil } @@ -11733,7 +11706,7 @@ yydefault: case 496: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Literal -//line sql.y:2745 +//line sql.y:2740 { yyLOCAL = NewIntLiteral(yyDollar[2].str) } @@ -11741,7 +11714,7 @@ yydefault: case 497: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Literal -//line sql.y:2749 +//line sql.y:2744 { yyLOCAL = NewDecimalLiteral(yyDollar[2].str) } @@ -11749,7 +11722,7 @@ yydefault: case 498: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2754 +//line sql.y:2749 { yyLOCAL = nil } @@ -11757,14 +11730,14 @@ yydefault: case 499: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2758 +//line sql.y:2753 { yyLOCAL = yyDollar[1].alterOptionsUnion() } yyVAL.union = yyLOCAL case 500: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:2762 +//line sql.y:2757 { yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, &OrderByOption{Cols: yyDollar[5].columnsUnion()}) @@ -11772,14 +11745,14 @@ yydefault: case 501: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2766 +//line sql.y:2761 { yyLOCAL = yyDollar[1].alterOptionsUnion() } yyVAL.union = yyLOCAL case 502: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2770 +//line sql.y:2765 { yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].alterOptionsUnion()...) @@ -11787,7 +11760,7 @@ yydefault: case 503: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2774 +//line sql.y:2769 { yyLOCAL = append(append(yyDollar[1].alterOptionsUnion(), yyDollar[3].alterOptionsUnion()...), &OrderByOption{Cols: yyDollar[7].columnsUnion()}) } @@ -11795,21 +11768,21 @@ yydefault: case 504: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2780 +//line sql.y:2775 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} } yyVAL.union = yyLOCAL case 505: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2784 +//line sql.y:2779 { yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion()) } case 506: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2788 +//line sql.y:2783 { yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion()) @@ -11817,7 +11790,7 @@ yydefault: case 507: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2794 +//line sql.y:2789 { yyLOCAL = yyDollar[1].tableOptionsUnion() } @@ -11825,7 +11798,7 @@ yydefault: case 508: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2798 +//line sql.y:2793 { yyLOCAL = &AddConstraintDefinition{ConstraintDefinition: yyDollar[2].constraintDefinitionUnion()} } @@ -11833,7 +11806,7 @@ yydefault: case 509: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2802 +//line sql.y:2797 { yyLOCAL = &AddConstraintDefinition{ConstraintDefinition: yyDollar[2].constraintDefinitionUnion()} } @@ -11841,7 +11814,7 @@ yydefault: case 510: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2806 +//line sql.y:2801 { yyLOCAL = &AddIndexDefinition{IndexDefinition: yyDollar[2].indexDefinitionUnion()} } @@ -11849,7 +11822,7 @@ yydefault: case 511: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2810 +//line sql.y:2805 { yyLOCAL = &AddColumns{Columns: yyDollar[4].columnDefinitionsUnion()} } @@ -11857,7 +11830,7 @@ yydefault: case 512: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2814 +//line sql.y:2809 { yyLOCAL = &AddColumns{Columns: []*ColumnDefinition{yyDollar[3].columnDefinitionUnion()}, First: yyDollar[4].booleanUnion(), After: yyDollar[5].colNameUnion()} } @@ -11865,7 +11838,7 @@ yydefault: case 513: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2818 +//line sql.y:2813 { yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: true} } @@ -11873,7 +11846,7 @@ yydefault: case 514: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2822 +//line sql.y:2817 { yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: false, DefaultVal: yyDollar[6].exprUnion()} } @@ -11881,7 +11854,7 @@ yydefault: case 515: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2826 +//line sql.y:2821 { yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), DropDefault: false, DefaultVal: yyDollar[7].exprUnion()} } @@ -11889,7 +11862,7 @@ yydefault: case 516: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2830 +//line sql.y:2825 { val := false yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), Invisible: &val} @@ -11898,7 +11871,7 @@ yydefault: case 517: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2835 +//line sql.y:2830 { val := true yyLOCAL = &AlterColumn{Column: yyDollar[3].colNameUnion(), Invisible: &val} @@ -11907,7 +11880,7 @@ yydefault: case 518: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2840 +//line sql.y:2835 { yyLOCAL = &AlterCheck{Name: yyDollar[3].colIdent, Enforced: yyDollar[4].booleanUnion()} } @@ -11915,7 +11888,7 @@ yydefault: case 519: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2844 +//line sql.y:2839 { yyLOCAL = &AlterIndex{Name: yyDollar[3].colIdent, Invisible: false} } @@ -11923,7 +11896,7 @@ yydefault: case 520: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2848 +//line sql.y:2843 { yyLOCAL = &AlterIndex{Name: yyDollar[3].colIdent, Invisible: true} } @@ -11931,7 +11904,7 @@ yydefault: case 521: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2852 +//line sql.y:2847 { yyLOCAL = &ChangeColumn{OldColumn: yyDollar[3].colNameUnion(), NewColDefinition: yyDollar[4].columnDefinitionUnion(), First: yyDollar[5].booleanUnion(), After: yyDollar[6].colNameUnion()} } @@ -11939,7 +11912,7 @@ yydefault: case 522: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2856 +//line sql.y:2851 { yyLOCAL = &ModifyColumn{NewColDefinition: yyDollar[3].columnDefinitionUnion(), First: yyDollar[4].booleanUnion(), After: yyDollar[5].colNameUnion()} } @@ -11947,7 +11920,7 @@ yydefault: case 523: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2860 +//line sql.y:2855 { yyLOCAL = &AlterCharset{CharacterSet: yyDollar[4].str, Collate: yyDollar[5].str} } @@ -11955,7 +11928,7 @@ yydefault: case 524: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2864 +//line sql.y:2859 { yyLOCAL = &KeyState{Enable: false} } @@ -11963,7 +11936,7 @@ yydefault: case 525: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2868 +//line sql.y:2863 { yyLOCAL = &KeyState{Enable: true} } @@ -11971,7 +11944,7 @@ yydefault: case 526: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2872 +//line sql.y:2867 { yyLOCAL = &TablespaceOperation{Import: false} } @@ -11979,7 +11952,7 @@ yydefault: case 527: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2876 +//line sql.y:2871 { yyLOCAL = &TablespaceOperation{Import: true} } @@ -11987,7 +11960,7 @@ yydefault: case 528: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2880 +//line sql.y:2875 { yyLOCAL = &DropColumn{Name: yyDollar[3].colNameUnion()} } @@ -11995,7 +11968,7 @@ yydefault: case 529: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2884 +//line sql.y:2879 { yyLOCAL = &DropKey{Type: NormalKeyType, Name: yyDollar[3].colIdent} } @@ -12003,7 +11976,7 @@ yydefault: case 530: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2888 +//line sql.y:2883 { yyLOCAL = &DropKey{Type: PrimaryKeyType} } @@ -12011,7 +11984,7 @@ yydefault: case 531: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2892 +//line sql.y:2887 { yyLOCAL = &DropKey{Type: ForeignKeyType, Name: yyDollar[4].colIdent} } @@ -12019,7 +11992,7 @@ yydefault: case 532: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2896 +//line sql.y:2891 { yyLOCAL = &DropKey{Type: CheckKeyType, Name: yyDollar[3].colIdent} } @@ -12027,7 +12000,7 @@ yydefault: case 533: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2900 +//line sql.y:2895 { yyLOCAL = &DropKey{Type: CheckKeyType, Name: yyDollar[3].colIdent} } @@ -12035,7 +12008,7 @@ yydefault: case 534: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2904 +//line sql.y:2899 { yyLOCAL = &Force{} } @@ -12043,7 +12016,7 @@ yydefault: case 535: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2908 +//line sql.y:2903 { yyLOCAL = &RenameTableName{Table: yyDollar[3].tableName} } @@ -12051,7 +12024,7 @@ yydefault: case 536: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2912 +//line sql.y:2907 { yyLOCAL = &RenameIndex{OldName: yyDollar[3].colIdent, NewName: yyDollar[5].colIdent} } @@ -12059,14 +12032,14 @@ yydefault: case 537: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:2918 +//line sql.y:2913 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} } yyVAL.union = yyLOCAL case 538: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:2922 +//line sql.y:2917 { yySLICE := (*[]AlterOption)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].alterOptionUnion()) @@ -12074,7 +12047,7 @@ yydefault: case 539: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2928 +//line sql.y:2923 { yyLOCAL = AlgorithmValue(string(yyDollar[3].str)) } @@ -12082,7 +12055,7 @@ yydefault: case 540: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2932 +//line sql.y:2927 { yyLOCAL = AlgorithmValue(string(yyDollar[3].str)) } @@ -12090,7 +12063,7 @@ yydefault: case 541: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2936 +//line sql.y:2931 { yyLOCAL = AlgorithmValue(string(yyDollar[3].str)) } @@ -12098,7 +12071,7 @@ yydefault: case 542: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2940 +//line sql.y:2935 { yyLOCAL = AlgorithmValue(string(yyDollar[3].str)) } @@ -12106,7 +12079,7 @@ yydefault: case 543: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2944 +//line sql.y:2939 { yyLOCAL = &LockOption{Type: DefaultType} } @@ -12114,7 +12087,7 @@ yydefault: case 544: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2948 +//line sql.y:2943 { yyLOCAL = &LockOption{Type: NoneType} } @@ -12122,7 +12095,7 @@ yydefault: case 545: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2952 +//line sql.y:2947 { yyLOCAL = &LockOption{Type: SharedType} } @@ -12130,7 +12103,7 @@ yydefault: case 546: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2956 +//line sql.y:2951 { yyLOCAL = &LockOption{Type: ExclusiveType} } @@ -12138,7 +12111,7 @@ yydefault: case 547: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2960 +//line sql.y:2955 { yyLOCAL = &Validation{With: true} } @@ -12146,7 +12119,7 @@ yydefault: case 548: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL AlterOption -//line sql.y:2964 +//line sql.y:2959 { yyLOCAL = &Validation{With: false} } @@ -12154,7 +12127,7 @@ yydefault: case 549: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:2970 +//line sql.y:2965 { yyDollar[1].alterTableUnion().FullyParsed = true yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion() @@ -12165,7 +12138,7 @@ yydefault: case 550: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:2977 +//line sql.y:2972 { yyDollar[1].alterTableUnion().FullyParsed = true yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion() @@ -12176,7 +12149,7 @@ yydefault: case 551: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:2984 +//line sql.y:2979 { yyDollar[1].alterTableUnion().FullyParsed = true yyDollar[1].alterTableUnion().AlterOptions = yyDollar[2].alterOptionsUnion() @@ -12187,7 +12160,7 @@ yydefault: case 552: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:2991 +//line sql.y:2986 { yyDollar[1].alterTableUnion().FullyParsed = true yyDollar[1].alterTableUnion().PartitionSpec = yyDollar[2].partSpecUnion() @@ -12197,7 +12170,7 @@ yydefault: case 553: yyDollar = yyS[yypt-11 : yypt+1] var yyLOCAL Statement -//line sql.y:2997 +//line sql.y:2992 { yyLOCAL = &AlterView{ViewName: yyDollar[7].tableName.ToViewName(), Comments: Comments(yyDollar[2].strs).Parsed(), Algorithm: yyDollar[3].str, Definer: yyDollar[4].definerUnion(), Security: yyDollar[5].str, Columns: yyDollar[8].columnsUnion(), Select: yyDollar[10].selStmtUnion(), CheckOption: yyDollar[11].str} } @@ -12205,7 +12178,7 @@ yydefault: case 554: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3007 +//line sql.y:3002 { yyDollar[1].alterDatabaseUnion().FullyParsed = true yyDollar[1].alterDatabaseUnion().DBName = yyDollar[2].tableIdent @@ -12216,7 +12189,7 @@ yydefault: case 555: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3014 +//line sql.y:3009 { yyDollar[1].alterDatabaseUnion().FullyParsed = true yyDollar[1].alterDatabaseUnion().DBName = yyDollar[2].tableIdent @@ -12227,7 +12200,7 @@ yydefault: case 556: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Statement -//line sql.y:3021 +//line sql.y:3016 { yyLOCAL = &AlterVschema{ Action: CreateVindexDDLAction, @@ -12243,7 +12216,7 @@ yydefault: case 557: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3033 +//line sql.y:3028 { yyLOCAL = &AlterVschema{ Action: DropVindexDDLAction, @@ -12257,7 +12230,7 @@ yydefault: case 558: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3043 +//line sql.y:3038 { yyLOCAL = &AlterVschema{Action: AddVschemaTableDDLAction, Table: yyDollar[6].tableName} } @@ -12265,7 +12238,7 @@ yydefault: case 559: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3047 +//line sql.y:3042 { yyLOCAL = &AlterVschema{Action: DropVschemaTableDDLAction, Table: yyDollar[6].tableName} } @@ -12273,7 +12246,7 @@ yydefault: case 560: yyDollar = yyS[yypt-13 : yypt+1] var yyLOCAL Statement -//line sql.y:3051 +//line sql.y:3046 { yyLOCAL = &AlterVschema{ Action: AddColVindexDDLAction, @@ -12290,7 +12263,7 @@ yydefault: case 561: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Statement -//line sql.y:3064 +//line sql.y:3059 { yyLOCAL = &AlterVschema{ Action: DropColVindexDDLAction, @@ -12304,7 +12277,7 @@ yydefault: case 562: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3074 +//line sql.y:3069 { yyLOCAL = &AlterVschema{Action: AddSequenceDDLAction, Table: yyDollar[6].tableName} } @@ -12312,7 +12285,7 @@ yydefault: case 563: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL Statement -//line sql.y:3078 +//line sql.y:3073 { yyLOCAL = &AlterVschema{ Action: AddAutoIncDDLAction, @@ -12327,7 +12300,7 @@ yydefault: case 564: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3089 +//line sql.y:3084 { yyLOCAL = &AlterMigration{ Type: RetryMigrationType, @@ -12338,7 +12311,7 @@ yydefault: case 565: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3096 +//line sql.y:3091 { yyLOCAL = &AlterMigration{ Type: CleanupMigrationType, @@ -12349,7 +12322,7 @@ yydefault: case 566: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3103 +//line sql.y:3098 { yyLOCAL = &AlterMigration{ Type: CompleteMigrationType, @@ -12360,7 +12333,7 @@ yydefault: case 567: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3110 +//line sql.y:3105 { yyLOCAL = &AlterMigration{ Type: CancelMigrationType, @@ -12371,7 +12344,7 @@ yydefault: case 568: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3117 +//line sql.y:3112 { yyLOCAL = &AlterMigration{ Type: CancelAllMigrationType, @@ -12381,7 +12354,7 @@ yydefault: case 569: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3123 +//line sql.y:3118 { yyLOCAL = &AlterMigration{ Type: ThrottleMigrationType, @@ -12394,7 +12367,7 @@ yydefault: case 570: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3132 +//line sql.y:3127 { yyLOCAL = &AlterMigration{ Type: ThrottleAllMigrationType, @@ -12406,7 +12379,7 @@ yydefault: case 571: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3140 +//line sql.y:3135 { yyLOCAL = &AlterMigration{ Type: UnthrottleMigrationType, @@ -12417,7 +12390,7 @@ yydefault: case 572: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3147 +//line sql.y:3142 { yyLOCAL = &AlterMigration{ Type: UnthrottleAllMigrationType, @@ -12427,7 +12400,7 @@ yydefault: case 573: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3154 +//line sql.y:3149 { yyLOCAL = nil } @@ -12435,7 +12408,7 @@ yydefault: case 574: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3158 +//line sql.y:3153 { yyDollar[3].partitionOptionUnion().Partitions = yyDollar[4].integerUnion() yyDollar[3].partitionOptionUnion().SubPartition = yyDollar[5].subPartitionUnion() @@ -12446,7 +12419,7 @@ yydefault: case 575: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3167 +//line sql.y:3162 { yyLOCAL = &PartitionOption{ IsLinear: yyDollar[1].booleanUnion(), @@ -12458,7 +12431,7 @@ yydefault: case 576: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3175 +//line sql.y:3170 { yyLOCAL = &PartitionOption{ IsLinear: yyDollar[1].booleanUnion(), @@ -12471,7 +12444,7 @@ yydefault: case 577: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3184 +//line sql.y:3179 { yyLOCAL = &PartitionOption{ Type: yyDollar[1].partitionByTypeUnion(), @@ -12482,7 +12455,7 @@ yydefault: case 578: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *PartitionOption -//line sql.y:3191 +//line sql.y:3186 { yyLOCAL = &PartitionOption{ Type: yyDollar[1].partitionByTypeUnion(), @@ -12493,7 +12466,7 @@ yydefault: case 579: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *SubPartition -//line sql.y:3199 +//line sql.y:3194 { yyLOCAL = nil } @@ -12501,7 +12474,7 @@ yydefault: case 580: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *SubPartition -//line sql.y:3203 +//line sql.y:3198 { yyLOCAL = &SubPartition{ IsLinear: yyDollar[3].booleanUnion(), @@ -12514,7 +12487,7 @@ yydefault: case 581: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL *SubPartition -//line sql.y:3212 +//line sql.y:3207 { yyLOCAL = &SubPartition{ IsLinear: yyDollar[3].booleanUnion(), @@ -12528,7 +12501,7 @@ yydefault: case 582: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*PartitionDefinition -//line sql.y:3223 +//line sql.y:3218 { yyLOCAL = nil } @@ -12536,7 +12509,7 @@ yydefault: case 583: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*PartitionDefinition -//line sql.y:3227 +//line sql.y:3222 { yyLOCAL = yyDollar[2].partDefsUnion() } @@ -12544,7 +12517,7 @@ yydefault: case 584: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3232 +//line sql.y:3227 { yyLOCAL = false } @@ -12552,7 +12525,7 @@ yydefault: case 585: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3236 +//line sql.y:3231 { yyLOCAL = true } @@ -12560,7 +12533,7 @@ yydefault: case 586: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int -//line sql.y:3241 +//line sql.y:3236 { yyLOCAL = 0 } @@ -12568,7 +12541,7 @@ yydefault: case 587: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int -//line sql.y:3245 +//line sql.y:3240 { yyLOCAL = convertStringToInt(yyDollar[3].str) } @@ -12576,7 +12549,7 @@ yydefault: case 588: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL TableExpr -//line sql.y:3251 +//line sql.y:3246 { yyLOCAL = &JSONTableExpr{Expr: yyDollar[3].exprUnion(), Filter: yyDollar[5].exprUnion(), Columns: yyDollar[6].jtColumnListUnion(), Alias: yyDollar[8].tableIdent} } @@ -12584,7 +12557,7 @@ yydefault: case 589: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL []*JtColumnDefinition -//line sql.y:3257 +//line sql.y:3252 { yyLOCAL = yyDollar[3].jtColumnListUnion() } @@ -12592,14 +12565,14 @@ yydefault: case 590: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*JtColumnDefinition -//line sql.y:3263 +//line sql.y:3258 { yyLOCAL = []*JtColumnDefinition{yyDollar[1].jtColumnDefinitionUnion()} } yyVAL.union = yyLOCAL case 591: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3267 +//line sql.y:3262 { yySLICE := (*[]*JtColumnDefinition)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].jtColumnDefinitionUnion()) @@ -12607,7 +12580,7 @@ yydefault: case 592: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3273 +//line sql.y:3268 { yyLOCAL = &JtColumnDefinition{JtOrdinal: &JtOrdinalColDef{Name: yyDollar[1].colIdent}} } @@ -12615,7 +12588,7 @@ yydefault: case 593: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3277 +//line sql.y:3272 { yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str} jtPath := &JtPathColDef{Name: yyDollar[1].colIdent, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion()} @@ -12625,7 +12598,7 @@ yydefault: case 594: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3283 +//line sql.y:3278 { yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str} jtPath := &JtPathColDef{Name: yyDollar[1].colIdent, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion()} @@ -12635,7 +12608,7 @@ yydefault: case 595: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3289 +//line sql.y:3284 { yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str} jtPath := &JtPathColDef{Name: yyDollar[1].colIdent, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion(), ErrorOnResponse: yyDollar[7].jtOnResponseUnion()} @@ -12645,7 +12618,7 @@ yydefault: case 596: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3295 +//line sql.y:3290 { yyDollar[2].columnType.Options = &ColumnTypeOptions{Collate: yyDollar[3].str} jtPath := &JtPathColDef{Name: yyDollar[1].colIdent, Type: yyDollar[2].columnType, JtColExists: yyDollar[4].booleanUnion(), Path: yyDollar[6].exprUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion(), ErrorOnResponse: yyDollar[8].jtOnResponseUnion()} @@ -12655,7 +12628,7 @@ yydefault: case 597: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *JtColumnDefinition -//line sql.y:3301 +//line sql.y:3296 { jtNestedPath := &JtNestedPathColDef{Path: yyDollar[3].exprUnion(), Columns: yyDollar[4].jtColumnListUnion()} yyLOCAL = &JtColumnDefinition{JtNestedPath: jtNestedPath} @@ -12664,7 +12637,7 @@ yydefault: case 598: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3307 +//line sql.y:3302 { yyLOCAL = false } @@ -12672,7 +12645,7 @@ yydefault: case 599: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3311 +//line sql.y:3306 { yyLOCAL = true } @@ -12680,7 +12653,7 @@ yydefault: case 600: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3315 +//line sql.y:3310 { yyLOCAL = false } @@ -12688,7 +12661,7 @@ yydefault: case 601: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3319 +//line sql.y:3314 { yyLOCAL = true } @@ -12696,7 +12669,7 @@ yydefault: case 602: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3325 +//line sql.y:3320 { yyLOCAL = yyDollar[1].jtOnResponseUnion() } @@ -12704,7 +12677,7 @@ yydefault: case 603: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3331 +//line sql.y:3326 { yyLOCAL = yyDollar[1].jtOnResponseUnion() } @@ -12712,7 +12685,7 @@ yydefault: case 604: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3337 +//line sql.y:3332 { yyLOCAL = &JtOnResponse{ResponseType: ErrorJSONType} } @@ -12720,7 +12693,7 @@ yydefault: case 605: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3341 +//line sql.y:3336 { yyLOCAL = &JtOnResponse{ResponseType: NullJSONType} } @@ -12728,7 +12701,7 @@ yydefault: case 606: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *JtOnResponse -//line sql.y:3345 +//line sql.y:3340 { yyLOCAL = &JtOnResponse{ResponseType: DefaultJSONType, Expr: yyDollar[2].exprUnion()} } @@ -12736,7 +12709,7 @@ yydefault: case 607: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL PartitionByType -//line sql.y:3351 +//line sql.y:3346 { yyLOCAL = RangeType } @@ -12744,7 +12717,7 @@ yydefault: case 608: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL PartitionByType -//line sql.y:3355 +//line sql.y:3350 { yyLOCAL = ListType } @@ -12752,7 +12725,7 @@ yydefault: case 609: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int -//line sql.y:3360 +//line sql.y:3355 { yyLOCAL = -1 } @@ -12760,7 +12733,7 @@ yydefault: case 610: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL int -//line sql.y:3364 +//line sql.y:3359 { yyLOCAL = convertStringToInt(yyDollar[2].str) } @@ -12768,7 +12741,7 @@ yydefault: case 611: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int -//line sql.y:3369 +//line sql.y:3364 { yyLOCAL = -1 } @@ -12776,7 +12749,7 @@ yydefault: case 612: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL int -//line sql.y:3373 +//line sql.y:3368 { yyLOCAL = convertStringToInt(yyDollar[2].str) } @@ -12784,7 +12757,7 @@ yydefault: case 613: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3379 +//line sql.y:3374 { yyLOCAL = &PartitionSpec{Action: AddAction, Definitions: []*PartitionDefinition{yyDollar[4].partDefUnion()}} } @@ -12792,7 +12765,7 @@ yydefault: case 614: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3383 +//line sql.y:3378 { yyLOCAL = &PartitionSpec{Action: DropAction, Names: yyDollar[3].partitionsUnion()} } @@ -12800,7 +12773,7 @@ yydefault: case 615: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3387 +//line sql.y:3382 { yyLOCAL = &PartitionSpec{Action: ReorganizeAction, Names: yyDollar[3].partitionsUnion(), Definitions: yyDollar[6].partDefsUnion()} } @@ -12808,7 +12781,7 @@ yydefault: case 616: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3391 +//line sql.y:3386 { yyLOCAL = &PartitionSpec{Action: DiscardAction, Names: yyDollar[3].partitionsUnion()} } @@ -12816,7 +12789,7 @@ yydefault: case 617: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3395 +//line sql.y:3390 { yyLOCAL = &PartitionSpec{Action: DiscardAction, IsAll: true} } @@ -12824,7 +12797,7 @@ yydefault: case 618: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3399 +//line sql.y:3394 { yyLOCAL = &PartitionSpec{Action: ImportAction, Names: yyDollar[3].partitionsUnion()} } @@ -12832,7 +12805,7 @@ yydefault: case 619: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3403 +//line sql.y:3398 { yyLOCAL = &PartitionSpec{Action: ImportAction, IsAll: true} } @@ -12840,7 +12813,7 @@ yydefault: case 620: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3407 +//line sql.y:3402 { yyLOCAL = &PartitionSpec{Action: TruncateAction, Names: yyDollar[3].partitionsUnion()} } @@ -12848,7 +12821,7 @@ yydefault: case 621: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3411 +//line sql.y:3406 { yyLOCAL = &PartitionSpec{Action: TruncateAction, IsAll: true} } @@ -12856,7 +12829,7 @@ yydefault: case 622: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3415 +//line sql.y:3410 { yyLOCAL = &PartitionSpec{Action: CoalesceAction, Number: NewIntLiteral(yyDollar[3].str)} } @@ -12864,7 +12837,7 @@ yydefault: case 623: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3419 +//line sql.y:3414 { yyLOCAL = &PartitionSpec{Action: ExchangeAction, Names: Partitions{yyDollar[3].colIdent}, TableName: yyDollar[6].tableName, WithoutValidation: yyDollar[7].booleanUnion()} } @@ -12872,7 +12845,7 @@ yydefault: case 624: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3423 +//line sql.y:3418 { yyLOCAL = &PartitionSpec{Action: AnalyzeAction, Names: yyDollar[3].partitionsUnion()} } @@ -12880,7 +12853,7 @@ yydefault: case 625: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3427 +//line sql.y:3422 { yyLOCAL = &PartitionSpec{Action: AnalyzeAction, IsAll: true} } @@ -12888,7 +12861,7 @@ yydefault: case 626: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3431 +//line sql.y:3426 { yyLOCAL = &PartitionSpec{Action: CheckAction, Names: yyDollar[3].partitionsUnion()} } @@ -12896,7 +12869,7 @@ yydefault: case 627: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3435 +//line sql.y:3430 { yyLOCAL = &PartitionSpec{Action: CheckAction, IsAll: true} } @@ -12904,7 +12877,7 @@ yydefault: case 628: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3439 +//line sql.y:3434 { yyLOCAL = &PartitionSpec{Action: OptimizeAction, Names: yyDollar[3].partitionsUnion()} } @@ -12912,7 +12885,7 @@ yydefault: case 629: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3443 +//line sql.y:3438 { yyLOCAL = &PartitionSpec{Action: OptimizeAction, IsAll: true} } @@ -12920,7 +12893,7 @@ yydefault: case 630: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3447 +//line sql.y:3442 { yyLOCAL = &PartitionSpec{Action: RebuildAction, Names: yyDollar[3].partitionsUnion()} } @@ -12928,7 +12901,7 @@ yydefault: case 631: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3451 +//line sql.y:3446 { yyLOCAL = &PartitionSpec{Action: RebuildAction, IsAll: true} } @@ -12936,7 +12909,7 @@ yydefault: case 632: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3455 +//line sql.y:3450 { yyLOCAL = &PartitionSpec{Action: RepairAction, Names: yyDollar[3].partitionsUnion()} } @@ -12944,7 +12917,7 @@ yydefault: case 633: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3459 +//line sql.y:3454 { yyLOCAL = &PartitionSpec{Action: RepairAction, IsAll: true} } @@ -12952,7 +12925,7 @@ yydefault: case 634: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionSpec -//line sql.y:3463 +//line sql.y:3458 { yyLOCAL = &PartitionSpec{Action: UpgradeAction} } @@ -12960,7 +12933,7 @@ yydefault: case 635: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3468 +//line sql.y:3463 { yyLOCAL = false } @@ -12968,7 +12941,7 @@ yydefault: case 636: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:3472 +//line sql.y:3467 { yyLOCAL = false } @@ -12976,7 +12949,7 @@ yydefault: case 637: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:3476 +//line sql.y:3471 { yyLOCAL = true } @@ -12984,28 +12957,28 @@ yydefault: case 638: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*PartitionDefinition -//line sql.y:3482 +//line sql.y:3477 { yyLOCAL = []*PartitionDefinition{yyDollar[1].partDefUnion()} } yyVAL.union = yyLOCAL case 639: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3486 +//line sql.y:3481 { yySLICE := (*[]*PartitionDefinition)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].partDefUnion()) } case 640: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:3492 +//line sql.y:3487 { yyVAL.partDefUnion().Options = yyDollar[2].partitionDefinitionOptionsUnion() } case 641: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3497 +//line sql.y:3492 { yyLOCAL = &PartitionDefinitionOptions{} } @@ -13013,7 +12986,7 @@ yydefault: case 642: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3501 +//line sql.y:3496 { yyDollar[1].partitionDefinitionOptionsUnion().ValueRange = yyDollar[2].partitionValueRangeUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -13022,7 +12995,7 @@ yydefault: case 643: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3506 +//line sql.y:3501 { yyDollar[1].partitionDefinitionOptionsUnion().Comment = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -13031,7 +13004,7 @@ yydefault: case 644: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3511 +//line sql.y:3506 { yyDollar[1].partitionDefinitionOptionsUnion().Engine = yyDollar[2].partitionEngineUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -13040,7 +13013,7 @@ yydefault: case 645: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3516 +//line sql.y:3511 { yyDollar[1].partitionDefinitionOptionsUnion().DataDirectory = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -13049,7 +13022,7 @@ yydefault: case 646: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3521 +//line sql.y:3516 { yyDollar[1].partitionDefinitionOptionsUnion().IndexDirectory = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -13058,7 +13031,7 @@ yydefault: case 647: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3526 +//line sql.y:3521 { val := yyDollar[2].integerUnion() yyDollar[1].partitionDefinitionOptionsUnion().MaxRows = &val @@ -13068,7 +13041,7 @@ yydefault: case 648: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3532 +//line sql.y:3527 { val := yyDollar[2].integerUnion() yyDollar[1].partitionDefinitionOptionsUnion().MinRows = &val @@ -13078,7 +13051,7 @@ yydefault: case 649: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3538 +//line sql.y:3533 { yyDollar[1].partitionDefinitionOptionsUnion().TableSpace = yyDollar[2].str yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -13087,7 +13060,7 @@ yydefault: case 650: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinitionOptions -//line sql.y:3543 +//line sql.y:3538 { yyDollar[1].partitionDefinitionOptionsUnion().SubPartitionDefinitions = yyDollar[2].subPartitionDefinitionsUnion() yyLOCAL = yyDollar[1].partitionDefinitionOptionsUnion() @@ -13096,7 +13069,7 @@ yydefault: case 651: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SubPartitionDefinitions -//line sql.y:3549 +//line sql.y:3544 { yyLOCAL = yyDollar[2].subPartitionDefinitionsUnion() } @@ -13104,14 +13077,14 @@ yydefault: case 652: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SubPartitionDefinitions -//line sql.y:3555 +//line sql.y:3550 { yyLOCAL = SubPartitionDefinitions{yyDollar[1].subPartitionDefinitionUnion()} } yyVAL.union = yyLOCAL case 653: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3559 +//line sql.y:3554 { yySLICE := (*SubPartitionDefinitions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].subPartitionDefinitionUnion()) @@ -13119,7 +13092,7 @@ yydefault: case 654: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SubPartitionDefinition -//line sql.y:3565 +//line sql.y:3560 { yyLOCAL = &SubPartitionDefinition{Name: yyDollar[2].colIdent, Options: yyDollar[3].subPartitionDefinitionOptionsUnion()} } @@ -13127,7 +13100,7 @@ yydefault: case 655: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3570 +//line sql.y:3565 { yyLOCAL = &SubPartitionDefinitionOptions{} } @@ -13135,7 +13108,7 @@ yydefault: case 656: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3574 +//line sql.y:3569 { yyDollar[1].subPartitionDefinitionOptionsUnion().Comment = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() @@ -13144,7 +13117,7 @@ yydefault: case 657: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3579 +//line sql.y:3574 { yyDollar[1].subPartitionDefinitionOptionsUnion().Engine = yyDollar[2].partitionEngineUnion() yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() @@ -13153,7 +13126,7 @@ yydefault: case 658: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3584 +//line sql.y:3579 { yyDollar[1].subPartitionDefinitionOptionsUnion().DataDirectory = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() @@ -13162,7 +13135,7 @@ yydefault: case 659: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3589 +//line sql.y:3584 { yyDollar[1].subPartitionDefinitionOptionsUnion().IndexDirectory = yyDollar[2].literalUnion() yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() @@ -13171,7 +13144,7 @@ yydefault: case 660: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3594 +//line sql.y:3589 { val := yyDollar[2].integerUnion() yyDollar[1].subPartitionDefinitionOptionsUnion().MaxRows = &val @@ -13181,7 +13154,7 @@ yydefault: case 661: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3600 +//line sql.y:3595 { val := yyDollar[2].integerUnion() yyDollar[1].subPartitionDefinitionOptionsUnion().MinRows = &val @@ -13191,7 +13164,7 @@ yydefault: case 662: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SubPartitionDefinitionOptions -//line sql.y:3606 +//line sql.y:3601 { yyDollar[1].subPartitionDefinitionOptionsUnion().TableSpace = yyDollar[2].str yyLOCAL = yyDollar[1].subPartitionDefinitionOptionsUnion() @@ -13200,7 +13173,7 @@ yydefault: case 663: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionValueRange -//line sql.y:3613 +//line sql.y:3608 { yyLOCAL = &PartitionValueRange{ Type: LessThanType, @@ -13211,7 +13184,7 @@ yydefault: case 664: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionValueRange -//line sql.y:3620 +//line sql.y:3615 { yyLOCAL = &PartitionValueRange{ Type: LessThanType, @@ -13222,7 +13195,7 @@ yydefault: case 665: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *PartitionValueRange -//line sql.y:3627 +//line sql.y:3622 { yyLOCAL = &PartitionValueRange{ Type: InType, @@ -13233,7 +13206,7 @@ yydefault: case 666: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3635 +//line sql.y:3630 { yyLOCAL = false } @@ -13241,7 +13214,7 @@ yydefault: case 667: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3639 +//line sql.y:3634 { yyLOCAL = true } @@ -13249,7 +13222,7 @@ yydefault: case 668: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *PartitionEngine -//line sql.y:3645 +//line sql.y:3640 { yyLOCAL = &PartitionEngine{Storage: yyDollar[1].booleanUnion(), Name: yyDollar[4].tableIdent.String()} } @@ -13257,7 +13230,7 @@ yydefault: case 669: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *Literal -//line sql.y:3651 +//line sql.y:3646 { yyLOCAL = NewStrLiteral(yyDollar[3].str) } @@ -13265,7 +13238,7 @@ yydefault: case 670: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Literal -//line sql.y:3657 +//line sql.y:3652 { yyLOCAL = NewStrLiteral(yyDollar[4].str) } @@ -13273,7 +13246,7 @@ yydefault: case 671: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Literal -//line sql.y:3663 +//line sql.y:3658 { yyLOCAL = NewStrLiteral(yyDollar[4].str) } @@ -13281,7 +13254,7 @@ yydefault: case 672: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int -//line sql.y:3669 +//line sql.y:3664 { yyLOCAL = convertStringToInt(yyDollar[3].str) } @@ -13289,41 +13262,41 @@ yydefault: case 673: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int -//line sql.y:3675 +//line sql.y:3670 { yyLOCAL = convertStringToInt(yyDollar[3].str) } yyVAL.union = yyLOCAL case 674: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3681 +//line sql.y:3676 { yyVAL.str = yyDollar[3].tableIdent.String() } case 675: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *PartitionDefinition -//line sql.y:3687 +//line sql.y:3682 { yyLOCAL = &PartitionDefinition{Name: yyDollar[2].colIdent} } yyVAL.union = yyLOCAL case 676: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3693 +//line sql.y:3688 { yyVAL.str = "" } case 677: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:3697 +//line sql.y:3692 { yyVAL.str = "" } case 678: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3703 +//line sql.y:3698 { yyLOCAL = &RenameTable{TablePairs: yyDollar[3].renameTablePairsUnion()} } @@ -13331,14 +13304,14 @@ yydefault: case 679: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*RenameTablePair -//line sql.y:3709 +//line sql.y:3704 { yyLOCAL = []*RenameTablePair{{FromTable: yyDollar[1].tableName, ToTable: yyDollar[3].tableName}} } yyVAL.union = yyLOCAL case 680: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:3713 +//line sql.y:3708 { yySLICE := (*[]*RenameTablePair)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, &RenameTablePair{FromTable: yyDollar[3].tableName, ToTable: yyDollar[5].tableName}) @@ -13346,7 +13319,7 @@ yydefault: case 681: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3719 +//line sql.y:3714 { yyLOCAL = &DropTable{FromTables: yyDollar[6].tableNamesUnion(), IfExists: yyDollar[5].booleanUnion(), Comments: Comments(yyDollar[2].strs).Parsed(), Temp: yyDollar[3].booleanUnion()} } @@ -13354,7 +13327,7 @@ yydefault: case 682: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3723 +//line sql.y:3718 { // Change this to an alter statement if yyDollar[4].colIdent.Lowered() == "primary" { @@ -13367,7 +13340,7 @@ yydefault: case 683: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:3732 +//line sql.y:3727 { yyLOCAL = &DropView{FromTables: yyDollar[5].tableNamesUnion(), Comments: Comments(yyDollar[2].strs).Parsed(), IfExists: yyDollar[4].booleanUnion()} } @@ -13375,7 +13348,7 @@ yydefault: case 684: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3736 +//line sql.y:3731 { yyLOCAL = &DropDatabase{Comments: Comments(yyDollar[2].strs).Parsed(), DBName: yyDollar[5].tableIdent, IfExists: yyDollar[4].booleanUnion()} } @@ -13383,7 +13356,7 @@ yydefault: case 685: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3742 +//line sql.y:3737 { yyLOCAL = &TruncateTable{Table: yyDollar[3].tableName} } @@ -13391,7 +13364,7 @@ yydefault: case 686: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3746 +//line sql.y:3741 { yyLOCAL = &TruncateTable{Table: yyDollar[2].tableName} } @@ -13399,7 +13372,7 @@ yydefault: case 687: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3752 +//line sql.y:3747 { yyLOCAL = &OtherRead{} } @@ -13407,7 +13380,7 @@ yydefault: case 688: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3758 +//line sql.y:3753 { yyLOCAL = &Show{&ShowBasic{Command: Charset, Filter: yyDollar[3].showFilterUnion()}} } @@ -13415,7 +13388,7 @@ yydefault: case 689: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3762 +//line sql.y:3757 { yyLOCAL = &Show{&ShowBasic{Command: Collation, Filter: yyDollar[3].showFilterUnion()}} } @@ -13423,7 +13396,7 @@ yydefault: case 690: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3766 +//line sql.y:3761 { yyLOCAL = &Show{&ShowBasic{Full: yyDollar[2].booleanUnion(), Command: Column, Tbl: yyDollar[5].tableName, DbName: yyDollar[6].tableIdent, Filter: yyDollar[7].showFilterUnion()}} } @@ -13431,7 +13404,7 @@ yydefault: case 691: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3770 +//line sql.y:3765 { yyLOCAL = &Show{&ShowBasic{Command: Database, Filter: yyDollar[3].showFilterUnion()}} } @@ -13439,7 +13412,7 @@ yydefault: case 692: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3774 +//line sql.y:3769 { yyLOCAL = &Show{&ShowBasic{Command: Database, Filter: yyDollar[3].showFilterUnion()}} } @@ -13447,7 +13420,7 @@ yydefault: case 693: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3778 +//line sql.y:3773 { yyLOCAL = &Show{&ShowBasic{Command: Keyspace, Filter: yyDollar[3].showFilterUnion()}} } @@ -13455,7 +13428,7 @@ yydefault: case 694: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3782 +//line sql.y:3777 { yyLOCAL = &Show{&ShowBasic{Command: Keyspace, Filter: yyDollar[3].showFilterUnion()}} } @@ -13463,7 +13436,7 @@ yydefault: case 695: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3786 +//line sql.y:3781 { yyLOCAL = &Show{&ShowBasic{Command: Function, Filter: yyDollar[4].showFilterUnion()}} } @@ -13471,7 +13444,7 @@ yydefault: case 696: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:3790 +//line sql.y:3785 { yyLOCAL = &Show{&ShowBasic{Command: Index, Tbl: yyDollar[5].tableName, DbName: yyDollar[6].tableIdent, Filter: yyDollar[7].showFilterUnion()}} } @@ -13479,7 +13452,7 @@ yydefault: case 697: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3794 +//line sql.y:3789 { yyLOCAL = &Show{&ShowBasic{Command: OpenTable, DbName: yyDollar[4].tableIdent, Filter: yyDollar[5].showFilterUnion()}} } @@ -13487,7 +13460,7 @@ yydefault: case 698: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3798 +//line sql.y:3793 { yyLOCAL = &Show{&ShowBasic{Command: Privilege}} } @@ -13495,7 +13468,7 @@ yydefault: case 699: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3802 +//line sql.y:3797 { yyLOCAL = &Show{&ShowBasic{Command: Procedure, Filter: yyDollar[4].showFilterUnion()}} } @@ -13503,7 +13476,7 @@ yydefault: case 700: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3806 +//line sql.y:3801 { yyLOCAL = &Show{&ShowBasic{Command: StatusSession, Filter: yyDollar[4].showFilterUnion()}} } @@ -13511,7 +13484,7 @@ yydefault: case 701: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3810 +//line sql.y:3805 { yyLOCAL = &Show{&ShowBasic{Command: StatusGlobal, Filter: yyDollar[4].showFilterUnion()}} } @@ -13519,7 +13492,7 @@ yydefault: case 702: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3814 +//line sql.y:3809 { yyLOCAL = &Show{&ShowBasic{Command: VariableSession, Filter: yyDollar[4].showFilterUnion()}} } @@ -13527,7 +13500,7 @@ yydefault: case 703: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3818 +//line sql.y:3813 { yyLOCAL = &Show{&ShowBasic{Command: VariableGlobal, Filter: yyDollar[4].showFilterUnion()}} } @@ -13535,7 +13508,7 @@ yydefault: case 704: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3822 +//line sql.y:3817 { yyLOCAL = &Show{&ShowBasic{Command: TableStatus, DbName: yyDollar[4].tableIdent, Filter: yyDollar[5].showFilterUnion()}} } @@ -13543,7 +13516,7 @@ yydefault: case 705: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3826 +//line sql.y:3821 { yyLOCAL = &Show{&ShowBasic{Command: Table, Full: yyDollar[2].booleanUnion(), DbName: yyDollar[4].tableIdent, Filter: yyDollar[5].showFilterUnion()}} } @@ -13551,7 +13524,7 @@ yydefault: case 706: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3830 +//line sql.y:3825 { yyLOCAL = &Show{&ShowBasic{Command: Trigger, DbName: yyDollar[3].tableIdent, Filter: yyDollar[4].showFilterUnion()}} } @@ -13559,7 +13532,7 @@ yydefault: case 707: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3834 +//line sql.y:3829 { yyLOCAL = &Show{&ShowCreate{Command: CreateDb, Op: yyDollar[4].tableName}} } @@ -13567,7 +13540,7 @@ yydefault: case 708: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3838 +//line sql.y:3833 { yyLOCAL = &Show{&ShowCreate{Command: CreateE, Op: yyDollar[4].tableName}} } @@ -13575,7 +13548,7 @@ yydefault: case 709: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3842 +//line sql.y:3837 { yyLOCAL = &Show{&ShowCreate{Command: CreateF, Op: yyDollar[4].tableName}} } @@ -13583,7 +13556,7 @@ yydefault: case 710: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3846 +//line sql.y:3841 { yyLOCAL = &Show{&ShowCreate{Command: CreateProc, Op: yyDollar[4].tableName}} } @@ -13591,7 +13564,7 @@ yydefault: case 711: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3850 +//line sql.y:3845 { yyLOCAL = &Show{&ShowCreate{Command: CreateTbl, Op: yyDollar[4].tableName}} } @@ -13599,7 +13572,7 @@ yydefault: case 712: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3854 +//line sql.y:3849 { yyLOCAL = &Show{&ShowCreate{Command: CreateTr, Op: yyDollar[4].tableName}} } @@ -13607,7 +13580,7 @@ yydefault: case 713: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3858 +//line sql.y:3853 { yyLOCAL = &Show{&ShowCreate{Command: CreateV, Op: yyDollar[4].tableName}} } @@ -13615,7 +13588,7 @@ yydefault: case 714: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3862 +//line sql.y:3857 { yyLOCAL = &Show{&ShowBasic{Command: Engines}} } @@ -13623,7 +13596,7 @@ yydefault: case 715: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3866 +//line sql.y:3861 { yyLOCAL = &Show{&ShowBasic{Command: Plugins}} } @@ -13631,7 +13604,7 @@ yydefault: case 716: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3870 +//line sql.y:3865 { yyLOCAL = &Show{&ShowBasic{Command: GtidExecGlobal, DbName: yyDollar[4].tableIdent}} } @@ -13639,7 +13612,7 @@ yydefault: case 717: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3874 +//line sql.y:3869 { yyLOCAL = &Show{&ShowBasic{Command: VGtidExecGlobal, DbName: yyDollar[4].tableIdent}} } @@ -13647,7 +13620,7 @@ yydefault: case 718: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3878 +//line sql.y:3873 { yyLOCAL = &Show{&ShowBasic{Command: VitessVariables, Filter: yyDollar[4].showFilterUnion()}} } @@ -13655,7 +13628,7 @@ yydefault: case 719: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3882 +//line sql.y:3877 { yyLOCAL = &Show{&ShowBasic{Command: VitessMigrations, Filter: yyDollar[4].showFilterUnion(), DbName: yyDollar[3].tableIdent}} } @@ -13663,7 +13636,7 @@ yydefault: case 720: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3886 +//line sql.y:3881 { yyLOCAL = &ShowMigrationLogs{UUID: string(yyDollar[3].str)} } @@ -13671,7 +13644,7 @@ yydefault: case 721: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3890 +//line sql.y:3885 { yyLOCAL = &ShowThrottledApps{} } @@ -13679,7 +13652,7 @@ yydefault: case 722: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3894 +//line sql.y:3889 { yyLOCAL = &Show{&ShowBasic{Command: VitessReplicationStatus, Filter: yyDollar[3].showFilterUnion()}} } @@ -13687,7 +13660,7 @@ yydefault: case 723: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3898 +//line sql.y:3893 { yyLOCAL = &Show{&ShowBasic{Command: VschemaTables}} } @@ -13695,7 +13668,7 @@ yydefault: case 724: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3902 +//line sql.y:3897 { yyLOCAL = &Show{&ShowBasic{Command: VschemaVindexes}} } @@ -13703,7 +13676,7 @@ yydefault: case 725: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3906 +//line sql.y:3901 { yyLOCAL = &Show{&ShowBasic{Command: VschemaVindexes, Tbl: yyDollar[5].tableName}} } @@ -13711,7 +13684,7 @@ yydefault: case 726: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3910 +//line sql.y:3905 { yyLOCAL = &Show{&ShowBasic{Command: Warnings}} } @@ -13719,7 +13692,7 @@ yydefault: case 727: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3914 +//line sql.y:3909 { yyLOCAL = &Show{&ShowBasic{Command: VitessShards, Filter: yyDollar[3].showFilterUnion()}} } @@ -13727,7 +13700,7 @@ yydefault: case 728: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3918 +//line sql.y:3913 { yyLOCAL = &Show{&ShowBasic{Command: VitessTablets, Filter: yyDollar[3].showFilterUnion()}} } @@ -13735,7 +13708,7 @@ yydefault: case 729: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:3922 +//line sql.y:3917 { yyLOCAL = &Show{&ShowBasic{Command: VitessTarget}} } @@ -13743,7 +13716,7 @@ yydefault: case 730: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3929 +//line sql.y:3924 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].colIdent.String())}} } @@ -13751,7 +13724,7 @@ yydefault: case 731: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3933 +//line sql.y:3928 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str)}} } @@ -13759,7 +13732,7 @@ yydefault: case 732: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3937 +//line sql.y:3932 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + yyDollar[3].colIdent.String()}} } @@ -13767,7 +13740,7 @@ yydefault: case 733: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3941 +//line sql.y:3936 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str)}} } @@ -13775,7 +13748,7 @@ yydefault: case 734: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3945 +//line sql.y:3940 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str)}} } @@ -13783,7 +13756,7 @@ yydefault: case 735: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3949 +//line sql.y:3944 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str) + " " + String(yyDollar[4].tableName)}} } @@ -13791,7 +13764,7 @@ yydefault: case 736: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:3953 +//line sql.y:3948 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str) + " " + string(yyDollar[3].str) + " " + String(yyDollar[4].tableName)}} } @@ -13799,7 +13772,7 @@ yydefault: case 737: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:3957 +//line sql.y:3952 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[3].str)}} } @@ -13807,27 +13780,27 @@ yydefault: case 738: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:3961 +//line sql.y:3956 { yyLOCAL = &Show{&ShowOther{Command: string(yyDollar[2].str)}} } yyVAL.union = yyLOCAL case 739: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3967 +//line sql.y:3962 { yyVAL.str = "" } case 740: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3971 +//line sql.y:3966 { yyVAL.str = "extended " } case 741: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:3977 +//line sql.y:3972 { yyLOCAL = false } @@ -13835,45 +13808,45 @@ yydefault: case 742: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:3981 +//line sql.y:3976 { yyLOCAL = true } yyVAL.union = yyLOCAL case 743: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3987 +//line sql.y:3982 { yyVAL.str = string(yyDollar[1].str) } case 744: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:3991 +//line sql.y:3986 { yyVAL.str = string(yyDollar[1].str) } case 745: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:3997 +//line sql.y:3992 { yyVAL.tableIdent = NewTableIdent("") } case 746: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4001 +//line sql.y:3996 { yyVAL.tableIdent = yyDollar[2].tableIdent } case 747: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4005 +//line sql.y:4000 { yyVAL.tableIdent = yyDollar[2].tableIdent } case 748: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:4011 +//line sql.y:4006 { yyLOCAL = nil } @@ -13881,7 +13854,7 @@ yydefault: case 749: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:4015 +//line sql.y:4010 { yyLOCAL = &ShowFilter{Like: string(yyDollar[2].str)} } @@ -13889,7 +13862,7 @@ yydefault: case 750: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:4019 +//line sql.y:4014 { yyLOCAL = &ShowFilter{Filter: yyDollar[2].exprUnion()} } @@ -13897,7 +13870,7 @@ yydefault: case 751: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:4025 +//line sql.y:4020 { yyLOCAL = nil } @@ -13905,45 +13878,45 @@ yydefault: case 752: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ShowFilter -//line sql.y:4029 +//line sql.y:4024 { yyLOCAL = &ShowFilter{Like: string(yyDollar[2].str)} } yyVAL.union = yyLOCAL case 753: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4035 +//line sql.y:4030 { yyVAL.empty = struct{}{} } case 754: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4039 +//line sql.y:4034 { yyVAL.empty = struct{}{} } case 755: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4043 +//line sql.y:4038 { yyVAL.empty = struct{}{} } case 756: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4049 +//line sql.y:4044 { yyVAL.str = string(yyDollar[1].str) } case 757: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4053 +//line sql.y:4048 { yyVAL.str = string(yyDollar[1].str) } case 758: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4059 +//line sql.y:4054 { yyLOCAL = &Use{DBName: yyDollar[2].tableIdent} } @@ -13951,7 +13924,7 @@ yydefault: case 759: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4063 +//line sql.y:4058 { yyLOCAL = &Use{DBName: TableIdent{v: ""}} } @@ -13959,7 +13932,7 @@ yydefault: case 760: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4067 +//line sql.y:4062 { yyLOCAL = &Use{DBName: NewTableIdent(yyDollar[2].tableIdent.String() + "@" + string(yyDollar[3].str))} } @@ -13967,7 +13940,7 @@ yydefault: case 761: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4073 +//line sql.y:4068 { yyLOCAL = &Begin{} } @@ -13975,7 +13948,7 @@ yydefault: case 762: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4077 +//line sql.y:4072 { yyLOCAL = &Begin{} } @@ -13983,7 +13956,7 @@ yydefault: case 763: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4083 +//line sql.y:4078 { yyLOCAL = &Commit{} } @@ -13991,7 +13964,7 @@ yydefault: case 764: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4089 +//line sql.y:4084 { yyLOCAL = &Rollback{} } @@ -13999,39 +13972,39 @@ yydefault: case 765: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:4093 +//line sql.y:4088 { yyLOCAL = &SRollback{Name: yyDollar[5].colIdent} } yyVAL.union = yyLOCAL case 766: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4098 +//line sql.y:4093 { yyVAL.empty = struct{}{} } case 767: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4100 +//line sql.y:4095 { yyVAL.empty = struct{}{} } case 768: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4103 +//line sql.y:4098 { yyVAL.empty = struct{}{} } case 769: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4105 +//line sql.y:4100 { yyVAL.empty = struct{}{} } case 770: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4109 +//line sql.y:4104 { yyLOCAL = &Savepoint{Name: yyDollar[2].colIdent} } @@ -14039,7 +14012,7 @@ yydefault: case 771: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4115 +//line sql.y:4110 { yyLOCAL = &Release{Name: yyDollar[3].colIdent} } @@ -14047,7 +14020,7 @@ yydefault: case 772: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4120 +//line sql.y:4115 { yyLOCAL = EmptyType } @@ -14055,7 +14028,7 @@ yydefault: case 773: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4124 +//line sql.y:4119 { yyLOCAL = JSONType } @@ -14063,7 +14036,7 @@ yydefault: case 774: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4128 +//line sql.y:4123 { yyLOCAL = TreeType } @@ -14071,7 +14044,7 @@ yydefault: case 775: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4132 +//line sql.y:4127 { yyLOCAL = VitessType } @@ -14079,7 +14052,7 @@ yydefault: case 776: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4136 +//line sql.y:4131 { yyLOCAL = TraditionalType } @@ -14087,33 +14060,33 @@ yydefault: case 777: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ExplainType -//line sql.y:4140 +//line sql.y:4135 { yyLOCAL = AnalyzeType } yyVAL.union = yyLOCAL case 778: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4146 +//line sql.y:4141 { yyVAL.str = yyDollar[1].str } case 779: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4150 +//line sql.y:4145 { yyVAL.str = yyDollar[1].str } case 780: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4154 +//line sql.y:4149 { yyVAL.str = yyDollar[1].str } case 781: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4160 +//line sql.y:4155 { yyLOCAL = yyDollar[1].selStmtUnion() } @@ -14121,7 +14094,7 @@ yydefault: case 782: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4164 +//line sql.y:4159 { yyLOCAL = yyDollar[1].statementUnion() } @@ -14129,7 +14102,7 @@ yydefault: case 783: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4168 +//line sql.y:4163 { yyLOCAL = yyDollar[1].statementUnion() } @@ -14137,33 +14110,33 @@ yydefault: case 784: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Statement -//line sql.y:4172 +//line sql.y:4167 { yyLOCAL = yyDollar[1].statementUnion() } yyVAL.union = yyLOCAL case 785: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4177 +//line sql.y:4172 { yyVAL.str = "" } case 786: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4181 +//line sql.y:4176 { yyVAL.str = yyDollar[1].colIdent.val } case 787: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4185 +//line sql.y:4180 { yyVAL.str = encodeSQLString(yyDollar[1].str) } case 788: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4191 +//line sql.y:4186 { yyLOCAL = &ExplainTab{Table: yyDollar[2].tableName, Wild: yyDollar[3].str} } @@ -14171,7 +14144,7 @@ yydefault: case 789: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4195 +//line sql.y:4190 { yyLOCAL = &ExplainStmt{Type: yyDollar[2].explainTypeUnion(), Statement: yyDollar[3].statementUnion()} } @@ -14179,7 +14152,7 @@ yydefault: case 790: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4201 +//line sql.y:4196 { yyLOCAL = &OtherAdmin{} } @@ -14187,7 +14160,7 @@ yydefault: case 791: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4205 +//line sql.y:4200 { yyLOCAL = &OtherAdmin{} } @@ -14195,7 +14168,7 @@ yydefault: case 792: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4211 +//line sql.y:4206 { yyLOCAL = &LockTables{Tables: yyDollar[3].tableAndLockTypesUnion()} } @@ -14203,14 +14176,14 @@ yydefault: case 793: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableAndLockTypes -//line sql.y:4217 +//line sql.y:4212 { yyLOCAL = TableAndLockTypes{yyDollar[1].tableAndLockTypeUnion()} } yyVAL.union = yyLOCAL case 794: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4221 +//line sql.y:4216 { yySLICE := (*TableAndLockTypes)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableAndLockTypeUnion()) @@ -14218,7 +14191,7 @@ yydefault: case 795: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *TableAndLockType -//line sql.y:4227 +//line sql.y:4222 { yyLOCAL = &TableAndLockType{Table: yyDollar[1].aliasedTableNameUnion(), Lock: yyDollar[2].lockTypeUnion()} } @@ -14226,7 +14199,7 @@ yydefault: case 796: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL LockType -//line sql.y:4233 +//line sql.y:4228 { yyLOCAL = Read } @@ -14234,7 +14207,7 @@ yydefault: case 797: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL LockType -//line sql.y:4237 +//line sql.y:4232 { yyLOCAL = ReadLocal } @@ -14242,7 +14215,7 @@ yydefault: case 798: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL LockType -//line sql.y:4241 +//line sql.y:4236 { yyLOCAL = Write } @@ -14250,7 +14223,7 @@ yydefault: case 799: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL LockType -//line sql.y:4245 +//line sql.y:4240 { yyLOCAL = LowPriorityWrite } @@ -14258,7 +14231,7 @@ yydefault: case 800: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Statement -//line sql.y:4251 +//line sql.y:4246 { yyLOCAL = &UnlockTables{} } @@ -14266,7 +14239,7 @@ yydefault: case 801: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4257 +//line sql.y:4252 { yyLOCAL = &RevertMigration{Comments: Comments(yyDollar[2].strs).Parsed(), UUID: string(yyDollar[4].str)} } @@ -14274,7 +14247,7 @@ yydefault: case 802: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4263 +//line sql.y:4258 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), FlushOptions: yyDollar[3].strs} } @@ -14282,7 +14255,7 @@ yydefault: case 803: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Statement -//line sql.y:4267 +//line sql.y:4262 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion()} } @@ -14290,7 +14263,7 @@ yydefault: case 804: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:4271 +//line sql.y:4266 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), WithLock: true} } @@ -14298,7 +14271,7 @@ yydefault: case 805: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4275 +//line sql.y:4270 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion()} } @@ -14306,7 +14279,7 @@ yydefault: case 806: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Statement -//line sql.y:4279 +//line sql.y:4274 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion(), WithLock: true} } @@ -14314,99 +14287,99 @@ yydefault: case 807: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Statement -//line sql.y:4283 +//line sql.y:4278 { yyLOCAL = &Flush{IsLocal: yyDollar[2].booleanUnion(), TableNames: yyDollar[4].tableNamesUnion(), ForExport: true} } yyVAL.union = yyLOCAL case 808: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4289 +//line sql.y:4284 { yyVAL.strs = []string{yyDollar[1].str} } case 809: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4293 +//line sql.y:4288 { yyVAL.strs = append(yyDollar[1].strs, yyDollar[3].str) } case 810: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4299 +//line sql.y:4294 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 811: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4303 +//line sql.y:4298 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 812: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4307 +//line sql.y:4302 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 813: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4311 +//line sql.y:4306 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 814: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4315 +//line sql.y:4310 { yyVAL.str = string(yyDollar[1].str) } case 815: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4319 +//line sql.y:4314 { yyVAL.str = string(yyDollar[1].str) } case 816: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4323 +//line sql.y:4318 { yyVAL.str = string(yyDollar[1].str) } case 817: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4327 +//line sql.y:4322 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) + yyDollar[3].str } case 818: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4331 +//line sql.y:4326 { yyVAL.str = string(yyDollar[1].str) + " " + string(yyDollar[2].str) } case 819: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4335 +//line sql.y:4330 { yyVAL.str = string(yyDollar[1].str) } case 820: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4339 +//line sql.y:4334 { yyVAL.str = string(yyDollar[1].str) } case 821: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4343 +//line sql.y:4338 { yyVAL.str = string(yyDollar[1].str) } case 822: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:4348 +//line sql.y:4343 { yyLOCAL = false } @@ -14414,7 +14387,7 @@ yydefault: case 823: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4352 +//line sql.y:4347 { yyLOCAL = true } @@ -14422,52 +14395,52 @@ yydefault: case 824: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4356 +//line sql.y:4351 { yyLOCAL = true } yyVAL.union = yyLOCAL case 825: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4361 +//line sql.y:4356 { yyVAL.str = "" } case 826: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4365 +//line sql.y:4360 { yyVAL.str = " " + string(yyDollar[1].str) + " " + string(yyDollar[2].str) + " " + yyDollar[3].colIdent.String() } case 827: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4370 +//line sql.y:4365 { setAllowComments(yylex, true) } case 828: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4374 +//line sql.y:4369 { yyVAL.strs = yyDollar[2].strs setAllowComments(yylex, false) } case 829: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4380 +//line sql.y:4375 { yyVAL.strs = nil } case 830: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4384 +//line sql.y:4379 { yyVAL.strs = append(yyDollar[1].strs, yyDollar[2].str) } case 831: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4390 +//line sql.y:4385 { yyLOCAL = true } @@ -14475,7 +14448,7 @@ yydefault: case 832: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:4394 +//line sql.y:4389 { yyLOCAL = false } @@ -14483,33 +14456,33 @@ yydefault: case 833: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:4398 +//line sql.y:4393 { yyLOCAL = true } yyVAL.union = yyLOCAL case 834: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4403 +//line sql.y:4398 { yyVAL.str = "" } case 835: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4407 +//line sql.y:4402 { yyVAL.str = SQLNoCacheStr } case 836: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4411 +//line sql.y:4406 { yyVAL.str = SQLCacheStr } case 837: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:4416 +//line sql.y:4411 { yyLOCAL = false } @@ -14517,7 +14490,7 @@ yydefault: case 838: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4420 +//line sql.y:4415 { yyLOCAL = true } @@ -14525,7 +14498,7 @@ yydefault: case 839: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:4424 +//line sql.y:4419 { yyLOCAL = true } @@ -14533,7 +14506,7 @@ yydefault: case 840: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:4430 +//line sql.y:4425 { yyLOCAL = &PrepareStmt{Name: yyDollar[3].colIdent, Comments: Comments(yyDollar[2].strs).Parsed(), Statement: yyDollar[5].exprUnion()} } @@ -14541,7 +14514,7 @@ yydefault: case 841: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:4434 +//line sql.y:4429 { yyLOCAL = &PrepareStmt{ Name: yyDollar[3].colIdent, @@ -14555,7 +14528,7 @@ yydefault: case 842: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4446 +//line sql.y:4441 { yyLOCAL = &ExecuteStmt{Name: yyDollar[3].colIdent, Comments: Comments(yyDollar[2].strs).Parsed(), Arguments: yyDollar[4].columnsUnion()} } @@ -14563,7 +14536,7 @@ yydefault: case 843: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Columns -//line sql.y:4451 +//line sql.y:4446 { yyLOCAL = nil } @@ -14571,7 +14544,7 @@ yydefault: case 844: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Columns -//line sql.y:4455 +//line sql.y:4450 { yyLOCAL = yyDollar[2].columnsUnion() } @@ -14579,7 +14552,7 @@ yydefault: case 845: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4461 +//line sql.y:4456 { yyLOCAL = &DeallocateStmt{Type: DeallocateType, Comments: Comments(yyDollar[2].strs).Parsed(), Name: yyDollar[4].colIdent} } @@ -14587,7 +14560,7 @@ yydefault: case 846: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Statement -//line sql.y:4465 +//line sql.y:4460 { yyLOCAL = &DeallocateStmt{Type: DropType, Comments: Comments(yyDollar[2].strs).Parsed(), Name: yyDollar[4].colIdent} } @@ -14595,7 +14568,7 @@ yydefault: case 847: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL SelectExprs -//line sql.y:4470 +//line sql.y:4465 { yyLOCAL = nil } @@ -14603,536 +14576,528 @@ yydefault: case 848: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectExprs -//line sql.y:4474 +//line sql.y:4469 { yyLOCAL = yyDollar[1].selectExprsUnion() } yyVAL.union = yyLOCAL case 849: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4479 +//line sql.y:4474 { yyVAL.strs = nil } case 850: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4483 +//line sql.y:4478 { yyVAL.strs = []string{yyDollar[1].str} } case 851: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4487 +//line sql.y:4482 { // TODO: This is a hack since I couldn't get it to work in a nicer way. I got 'conflicts: 8 shift/reduce' yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str} } case 852: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4491 +//line sql.y:4486 { yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str, yyDollar[3].str} } case 853: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4495 +//line sql.y:4490 { yyVAL.strs = []string{yyDollar[1].str, yyDollar[2].str, yyDollar[3].str, yyDollar[4].str} } case 854: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4501 +//line sql.y:4496 { yyVAL.str = SQLNoCacheStr } case 855: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4505 +//line sql.y:4500 { yyVAL.str = SQLCacheStr } case 856: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4509 +//line sql.y:4504 { yyVAL.str = DistinctStr } case 857: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4513 +//line sql.y:4508 { yyVAL.str = DistinctStr } case 858: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4517 +//line sql.y:4512 { yyVAL.str = StraightJoinHint } case 859: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4521 +//line sql.y:4516 { yyVAL.str = SQLCalcFoundRowsStr } case 860: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4525 +//line sql.y:4520 { 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 } case 861: - yyDollar = yyS[yypt-1 : yypt+1] - var yyLOCAL StarExpr -//line sql.y:4531 - { - yyLOCAL = StarExpr{} - } - yyVAL.union = yyLOCAL - case 862: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectExprs -//line sql.y:4537 +//line sql.y:4526 { yyLOCAL = SelectExprs{yyDollar[1].selectExprUnion()} } yyVAL.union = yyLOCAL - case 863: + case 862: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4541 +//line sql.y:4530 { yySLICE := (*SelectExprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].selectExprUnion()) } - case 864: + case 863: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SelectExpr -//line sql.y:4547 +//line sql.y:4536 { yyLOCAL = &StarExpr{} } yyVAL.union = yyLOCAL - case 865: + case 864: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL SelectExpr -//line sql.y:4551 +//line sql.y:4540 { yyLOCAL = &AliasedExpr{Expr: yyDollar[1].exprUnion(), As: yyDollar[2].colIdent} } yyVAL.union = yyLOCAL - case 866: + case 865: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL SelectExpr -//line sql.y:4555 +//line sql.y:4544 { yyLOCAL = &StarExpr{TableName: TableName{Name: yyDollar[1].tableIdent}} } yyVAL.union = yyLOCAL - case 867: + case 866: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL SelectExpr -//line sql.y:4559 +//line sql.y:4548 { yyLOCAL = &StarExpr{TableName: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}} } yyVAL.union = yyLOCAL - case 868: + case 867: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4564 +//line sql.y:4553 { yyVAL.colIdent = ColIdent{} } - case 869: + case 868: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4568 +//line sql.y:4557 { yyVAL.colIdent = yyDollar[1].colIdent } - case 870: + case 869: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4572 +//line sql.y:4561 { yyVAL.colIdent = yyDollar[2].colIdent } - case 872: + case 871: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4579 +//line sql.y:4568 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].str)) } - case 873: + case 872: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL TableExprs -//line sql.y:4584 +//line sql.y:4573 { yyLOCAL = TableExprs{&AliasedTableExpr{Expr: TableName{Name: NewTableIdent("dual")}}} } yyVAL.union = yyLOCAL - case 874: + case 873: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableExprs -//line sql.y:4588 +//line sql.y:4577 { yyLOCAL = yyDollar[1].tableExprsUnion() } yyVAL.union = yyLOCAL - case 875: + case 874: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL TableExprs -//line sql.y:4594 +//line sql.y:4583 { yyLOCAL = yyDollar[2].tableExprsUnion() } yyVAL.union = yyLOCAL - case 876: + case 875: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableExprs -//line sql.y:4600 +//line sql.y:4589 { yyLOCAL = TableExprs{yyDollar[1].tableExprUnion()} } yyVAL.union = yyLOCAL - case 877: + case 876: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4604 +//line sql.y:4593 { yySLICE := (*TableExprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].tableExprUnion()) } - case 880: + case 879: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4614 +//line sql.y:4603 { yyLOCAL = yyDollar[1].aliasedTableNameUnion() } yyVAL.union = yyLOCAL - case 881: + case 880: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4618 +//line sql.y:4607 { yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].derivedTableUnion(), As: yyDollar[3].tableIdent, Columns: yyDollar[4].columnsUnion()} } yyVAL.union = yyLOCAL - case 882: + case 881: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4622 +//line sql.y:4611 { yyLOCAL = &ParenTableExpr{Exprs: yyDollar[2].tableExprsUnion()} } yyVAL.union = yyLOCAL - case 883: + case 882: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4626 +//line sql.y:4615 { yyLOCAL = yyDollar[1].tableExprUnion() } yyVAL.union = yyLOCAL - case 884: + case 883: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *DerivedTable -//line sql.y:4632 +//line sql.y:4621 { yyLOCAL = &DerivedTable{Lateral: false, Select: yyDollar[2].selStmtUnion()} } yyVAL.union = yyLOCAL - case 885: + case 884: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *DerivedTable -//line sql.y:4636 +//line sql.y:4625 { yyLOCAL = &DerivedTable{Lateral: true, Select: yyDollar[3].selStmtUnion()} } yyVAL.union = yyLOCAL - case 886: + case 885: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *AliasedTableExpr -//line sql.y:4642 +//line sql.y:4631 { yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].tableName, As: yyDollar[2].tableIdent, Hints: yyDollar[3].indexHintsUnion()} } yyVAL.union = yyLOCAL - case 887: + case 886: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *AliasedTableExpr -//line sql.y:4646 +//line sql.y:4635 { yyLOCAL = &AliasedTableExpr{Expr: yyDollar[1].tableName, Partitions: yyDollar[4].partitionsUnion(), As: yyDollar[6].tableIdent, Hints: yyDollar[7].indexHintsUnion()} } yyVAL.union = yyLOCAL - case 888: + case 887: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Columns -//line sql.y:4651 +//line sql.y:4640 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 889: + case 888: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Columns -//line sql.y:4655 +//line sql.y:4644 { yyLOCAL = yyDollar[2].columnsUnion() } yyVAL.union = yyLOCAL - case 890: + case 889: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:4661 +//line sql.y:4650 { yyLOCAL = Columns{yyDollar[1].colIdent} } yyVAL.union = yyLOCAL - case 891: + case 890: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4665 +//line sql.y:4654 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].colIdent) } - case 892: + case 891: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:4671 +//line sql.y:4660 { yyLOCAL = Columns{NewColIdentWithAt(string(yyDollar[1].str), SingleAt)} } yyVAL.union = yyLOCAL - case 893: + case 892: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4675 +//line sql.y:4664 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, NewColIdentWithAt(string(yyDollar[3].str), SingleAt)) } - case 894: + case 893: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:4681 +//line sql.y:4670 { yyLOCAL = Columns{yyDollar[1].colIdent} } yyVAL.union = yyLOCAL - case 895: + case 894: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:4685 +//line sql.y:4674 { yyLOCAL = Columns{NewColIdent(string(yyDollar[1].str))} } yyVAL.union = yyLOCAL - case 896: + case 895: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4689 +//line sql.y:4678 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].colIdent) } - case 897: + case 896: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4693 +//line sql.y:4682 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, NewColIdent(string(yyDollar[3].str))) } - case 898: + case 897: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Partitions -//line sql.y:4699 +//line sql.y:4688 { yyLOCAL = Partitions{yyDollar[1].colIdent} } yyVAL.union = yyLOCAL - case 899: + case 898: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4703 +//line sql.y:4692 { yySLICE := (*Partitions)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].colIdent) } - case 900: + case 899: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4716 +//line sql.y:4705 { yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition} } yyVAL.union = yyLOCAL - case 901: + case 900: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4720 +//line sql.y:4709 { yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition} } yyVAL.union = yyLOCAL - case 902: + case 901: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4724 +//line sql.y:4713 { yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion(), Condition: yyDollar[4].joinCondition} } yyVAL.union = yyLOCAL - case 903: + case 902: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL TableExpr -//line sql.y:4728 +//line sql.y:4717 { yyLOCAL = &JoinTableExpr{LeftExpr: yyDollar[1].tableExprUnion(), Join: yyDollar[2].joinTypeUnion(), RightExpr: yyDollar[3].tableExprUnion()} } yyVAL.union = yyLOCAL - case 904: + case 903: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4734 +//line sql.y:4723 { yyVAL.joinCondition = &JoinCondition{On: yyDollar[2].exprUnion()} } - case 905: + case 904: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:4736 +//line sql.y:4725 { yyVAL.joinCondition = &JoinCondition{Using: yyDollar[3].columnsUnion()} } - case 906: + case 905: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4740 +//line sql.y:4729 { yyVAL.joinCondition = &JoinCondition{} } - case 907: + case 906: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4742 +//line sql.y:4731 { yyVAL.joinCondition = yyDollar[1].joinCondition } - case 908: + case 907: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4746 +//line sql.y:4735 { yyVAL.joinCondition = &JoinCondition{} } - case 909: + case 908: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4748 +//line sql.y:4737 { yyVAL.joinCondition = &JoinCondition{On: yyDollar[2].exprUnion()} } - case 910: + case 909: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4751 +//line sql.y:4740 { yyVAL.empty = struct{}{} } - case 911: + case 910: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4753 +//line sql.y:4742 { yyVAL.empty = struct{}{} } - case 912: + case 911: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:4756 +//line sql.y:4745 { yyVAL.tableIdent = NewTableIdent("") } - case 913: + case 912: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4760 +//line sql.y:4749 { yyVAL.tableIdent = yyDollar[1].tableIdent } - case 914: + case 913: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4764 +//line sql.y:4753 { yyVAL.tableIdent = yyDollar[2].tableIdent } - case 916: + case 915: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4771 +//line sql.y:4760 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].str)) } - case 917: + case 916: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL JoinType -//line sql.y:4777 +//line sql.y:4766 { yyLOCAL = NormalJoinType } yyVAL.union = yyLOCAL - case 918: + case 917: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4781 +//line sql.y:4770 { yyLOCAL = NormalJoinType } yyVAL.union = yyLOCAL - case 919: + case 918: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4785 +//line sql.y:4774 { yyLOCAL = NormalJoinType } yyVAL.union = yyLOCAL - case 920: + case 919: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL JoinType -//line sql.y:4791 +//line sql.y:4780 { yyLOCAL = StraightJoinType } yyVAL.union = yyLOCAL - case 921: + case 920: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4797 +//line sql.y:4786 { yyLOCAL = LeftJoinType } yyVAL.union = yyLOCAL - case 922: + case 921: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL JoinType -//line sql.y:4801 +//line sql.y:4790 { yyLOCAL = LeftJoinType } yyVAL.union = yyLOCAL - case 923: + case 922: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4805 +//line sql.y:4794 { yyLOCAL = RightJoinType } yyVAL.union = yyLOCAL - case 924: + case 923: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL JoinType -//line sql.y:4809 +//line sql.y:4798 { yyLOCAL = RightJoinType } yyVAL.union = yyLOCAL - case 925: + case 924: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4815 +//line sql.y:4804 { yyLOCAL = NaturalJoinType } yyVAL.union = yyLOCAL - case 926: + case 925: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL JoinType -//line sql.y:4819 +//line sql.y:4808 { if yyDollar[2].joinTypeUnion() == LeftJoinType { yyLOCAL = NaturalLeftJoinType @@ -15141,585 +15106,585 @@ yydefault: } } yyVAL.union = yyLOCAL - case 927: + case 926: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4829 +//line sql.y:4818 { yyVAL.tableName = yyDollar[2].tableName } - case 928: + case 927: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4833 +//line sql.y:4822 { yyVAL.tableName = yyDollar[1].tableName } - case 929: + case 928: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4839 +//line sql.y:4828 { yyVAL.tableName = TableName{Name: yyDollar[1].tableIdent} } - case 930: + case 929: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4843 +//line sql.y:4832 { yyVAL.tableName = TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent} } - case 931: + case 930: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:4849 +//line sql.y:4838 { yyVAL.tableName = TableName{Name: yyDollar[1].tableIdent} } - case 932: + case 931: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL IndexHints -//line sql.y:4854 +//line sql.y:4843 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 933: + case 932: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IndexHints -//line sql.y:4858 +//line sql.y:4847 { yyLOCAL = yyDollar[1].indexHintsUnion() } yyVAL.union = yyLOCAL - case 934: + case 933: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IndexHints -//line sql.y:4864 +//line sql.y:4853 { yyLOCAL = IndexHints{yyDollar[1].indexHintUnion()} } yyVAL.union = yyLOCAL - case 935: + case 934: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:4868 +//line sql.y:4857 { yySLICE := (*IndexHints)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].indexHintUnion()) } - case 936: + case 935: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *IndexHint -//line sql.y:4874 +//line sql.y:4863 { yyLOCAL = &IndexHint{Type: UseOp, ForType: yyDollar[3].indexHintForTypeUnion(), Indexes: yyDollar[5].columnsUnion()} } yyVAL.union = yyLOCAL - case 937: + case 936: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *IndexHint -//line sql.y:4878 +//line sql.y:4867 { yyLOCAL = &IndexHint{Type: UseOp, ForType: yyDollar[3].indexHintForTypeUnion()} } yyVAL.union = yyLOCAL - case 938: + case 937: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *IndexHint -//line sql.y:4882 +//line sql.y:4871 { yyLOCAL = &IndexHint{Type: IgnoreOp, ForType: yyDollar[3].indexHintForTypeUnion(), Indexes: yyDollar[5].columnsUnion()} } yyVAL.union = yyLOCAL - case 939: + case 938: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *IndexHint -//line sql.y:4886 +//line sql.y:4875 { yyLOCAL = &IndexHint{Type: ForceOp, ForType: yyDollar[3].indexHintForTypeUnion(), Indexes: yyDollar[5].columnsUnion()} } yyVAL.union = yyLOCAL - case 940: + case 939: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL IndexHintForType -//line sql.y:4891 +//line sql.y:4880 { yyLOCAL = NoForType } yyVAL.union = yyLOCAL - case 941: + case 940: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IndexHintForType -//line sql.y:4895 +//line sql.y:4884 { yyLOCAL = JoinForType } yyVAL.union = yyLOCAL - case 942: + case 941: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL IndexHintForType -//line sql.y:4899 +//line sql.y:4888 { yyLOCAL = OrderByForType } yyVAL.union = yyLOCAL - case 943: + case 942: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL IndexHintForType -//line sql.y:4903 +//line sql.y:4892 { yyLOCAL = GroupByForType } yyVAL.union = yyLOCAL - case 944: + case 943: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:4909 +//line sql.y:4898 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 945: + case 944: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:4913 +//line sql.y:4902 { yyLOCAL = yyDollar[2].exprUnion() } yyVAL.union = yyLOCAL - case 946: + case 945: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4920 +//line sql.y:4909 { yyLOCAL = &OrExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 947: + case 946: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4924 +//line sql.y:4913 { yyLOCAL = &XorExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 948: + case 947: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4928 +//line sql.y:4917 { yyLOCAL = &AndExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 949: + case 948: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:4932 +//line sql.y:4921 { yyLOCAL = &NotExpr{Expr: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 950: + case 949: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4936 +//line sql.y:4925 { yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: yyDollar[3].isExprOperatorUnion()} } yyVAL.union = yyLOCAL - case 951: + case 950: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:4940 +//line sql.y:4929 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 952: + case 951: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:4944 +//line sql.y:4933 { yyLOCAL = &MemberOfExpr{Value: yyDollar[1].exprUnion(), JSONArr: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 953: + case 952: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4950 +//line sql.y:4939 { yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: IsNullOp} } yyVAL.union = yyLOCAL - case 954: + case 953: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:4954 +//line sql.y:4943 { yyLOCAL = &IsExpr{Left: yyDollar[1].exprUnion(), Right: IsNotNullOp} } yyVAL.union = yyLOCAL - case 955: + case 954: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4958 +//line sql.y:4947 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: yyDollar[2].comparisonExprOperatorUnion(), Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 956: + case 955: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:4962 +//line sql.y:4951 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 957: + case 956: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4968 +//line sql.y:4957 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: InOp, Right: yyDollar[3].colTupleUnion()} } yyVAL.union = yyLOCAL - case 958: + case 957: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:4972 +//line sql.y:4961 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotInOp, Right: yyDollar[4].colTupleUnion()} } yyVAL.union = yyLOCAL - case 959: + case 958: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:4976 +//line sql.y:4965 { yyLOCAL = &BetweenExpr{Left: yyDollar[1].exprUnion(), IsBetween: true, From: yyDollar[3].exprUnion(), To: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 960: + case 959: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:4980 +//line sql.y:4969 { yyLOCAL = &BetweenExpr{Left: yyDollar[1].exprUnion(), IsBetween: false, From: yyDollar[4].exprUnion(), To: yyDollar[6].exprUnion()} } yyVAL.union = yyLOCAL - case 961: + case 960: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:4984 +//line sql.y:4973 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: LikeOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 962: + case 961: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:4988 +//line sql.y:4977 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotLikeOp, Right: yyDollar[4].exprUnion()} } yyVAL.union = yyLOCAL - case 963: + case 962: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:4992 +//line sql.y:4981 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: LikeOp, Right: yyDollar[3].exprUnion(), Escape: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 964: + case 963: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:4996 +//line sql.y:4985 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotLikeOp, Right: yyDollar[4].exprUnion(), Escape: yyDollar[6].exprUnion()} } yyVAL.union = yyLOCAL - case 965: + case 964: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5000 +//line sql.y:4989 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: RegexpOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 966: + case 965: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5004 +//line sql.y:4993 { yyLOCAL = &ComparisonExpr{Left: yyDollar[1].exprUnion(), Operator: NotRegexpOp, Right: yyDollar[4].exprUnion()} } yyVAL.union = yyLOCAL - case 967: + case 966: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5008 +//line sql.y:4997 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 968: + case 967: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5014 +//line sql.y:5003 { } - case 969: + case 968: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5017 +//line sql.y:5006 { } - case 970: + case 969: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5023 +//line sql.y:5012 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitOrOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 971: + case 970: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5027 +//line sql.y:5016 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitAndOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 972: + case 971: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5031 +//line sql.y:5020 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ShiftLeftOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 973: + case 972: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5035 +//line sql.y:5024 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ShiftRightOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 974: + case 973: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5039 +//line sql.y:5028 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: PlusOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 975: + case 974: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5043 +//line sql.y:5032 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: MinusOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 976: + case 975: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5047 +//line sql.y:5036 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: MultOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 977: + case 976: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5051 +//line sql.y:5040 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: DivOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 978: + case 977: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5055 +//line sql.y:5044 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ModOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 979: + case 978: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5059 +//line sql.y:5048 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: IntDivOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 980: + case 979: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5063 +//line sql.y:5052 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: ModOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 981: + case 980: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5067 +//line sql.y:5056 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].exprUnion(), Operator: BitXorOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 982: + case 981: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5071 +//line sql.y:5060 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 983: + case 982: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5077 +//line sql.y:5066 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 984: + case 983: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5081 +//line sql.y:5070 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 985: + case 984: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5085 +//line sql.y:5074 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 986: + case 985: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5089 +//line sql.y:5078 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 987: + case 986: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5093 +//line sql.y:5082 { yyLOCAL = &CollateExpr{Expr: yyDollar[1].exprUnion(), Collation: yyDollar[3].str} } yyVAL.union = yyLOCAL - case 988: + case 987: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5097 +//line sql.y:5086 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 989: + case 988: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5101 +//line sql.y:5090 { yyLOCAL = yyDollar[1].colNameUnion() } yyVAL.union = yyLOCAL - case 990: + case 989: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5105 +//line sql.y:5094 { yyLOCAL = yyDollar[2].exprUnion() // TODO: do we really want to ignore unary '+' before any kind of literals? } yyVAL.union = yyLOCAL - case 991: + case 990: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5109 +//line sql.y:5098 { yyLOCAL = &UnaryExpr{Operator: UMinusOp, Expr: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 992: + case 991: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5113 +//line sql.y:5102 { yyLOCAL = &UnaryExpr{Operator: TildaOp, Expr: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 993: + case 992: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5117 +//line sql.y:5106 { yyLOCAL = &UnaryExpr{Operator: BangOp, Expr: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 994: + case 993: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5121 +//line sql.y:5110 { yyLOCAL = yyDollar[1].subqueryUnion() } yyVAL.union = yyLOCAL - case 995: + case 994: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5125 +//line sql.y:5114 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 996: + case 995: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5129 +//line sql.y:5118 { yyLOCAL = &ExistsExpr{Subquery: yyDollar[2].subqueryUnion()} } yyVAL.union = yyLOCAL - case 997: + case 996: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL Expr -//line sql.y:5133 +//line sql.y:5122 { yyLOCAL = &MatchExpr{Columns: yyDollar[3].selectExprsUnion(), Expr: yyDollar[7].exprUnion(), Option: yyDollar[8].matchExprOptionUnion()} } yyVAL.union = yyLOCAL - case 998: + case 997: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Expr -//line sql.y:5137 +//line sql.y:5126 { yyLOCAL = &ConvertExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].convertTypeUnion(), Array: yyDollar[6].booleanUnion()} } yyVAL.union = yyLOCAL - case 999: + case 998: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Expr -//line sql.y:5141 +//line sql.y:5130 { yyLOCAL = &ConvertExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].convertTypeUnion(), Array: yyDollar[6].booleanUnion()} } yyVAL.union = yyLOCAL - case 1000: + case 999: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5145 +//line sql.y:5134 { yyLOCAL = &ConvertUsingExpr{Expr: yyDollar[3].exprUnion(), Type: yyDollar[5].str} } yyVAL.union = yyLOCAL - case 1001: + case 1000: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5149 +//line sql.y:5138 { // From: https://dev.mysql.com/doc/refman/8.0/en/cast-functions.html#operator_binary // To convert a string expression to a binary string, these constructs are equivalent: @@ -15728,18 +15693,18 @@ yydefault: yyLOCAL = &ConvertExpr{Expr: yyDollar[2].exprUnion(), Type: &ConvertType{Type: yyDollar[1].str}} } yyVAL.union = yyLOCAL - case 1002: + case 1001: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5157 +//line sql.y:5146 { yyLOCAL = &Default{ColName: yyDollar[2].str} } yyVAL.union = yyLOCAL - case 1003: + case 1002: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5161 +//line sql.y:5150 { // This rule prevents the usage of INTERVAL // as a function. If support is needed for that, @@ -15748,1489 +15713,1489 @@ yydefault: yyLOCAL = &IntervalExpr{Expr: yyDollar[2].exprUnion(), Unit: yyDollar[3].colIdent.String()} } yyVAL.union = yyLOCAL - case 1004: + case 1003: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5169 +//line sql.y:5158 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].colNameUnion(), Operator: JSONExtractOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1005: + case 1004: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5173 +//line sql.y:5162 { yyLOCAL = &BinaryExpr{Left: yyDollar[1].colNameUnion(), Operator: JSONUnquoteExtractOp, Right: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1006: + case 1005: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TrimType -//line sql.y:5179 +//line sql.y:5168 { yyLOCAL = BothTrimType } yyVAL.union = yyLOCAL - case 1007: + case 1006: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TrimType -//line sql.y:5183 +//line sql.y:5172 { yyLOCAL = LeadingTrimType } yyVAL.union = yyLOCAL - case 1008: + case 1007: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL TrimType -//line sql.y:5187 +//line sql.y:5176 { yyLOCAL = TrailingTrimType } yyVAL.union = yyLOCAL - case 1009: + case 1008: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5193 +//line sql.y:5182 { yyVAL.str = "" } - case 1010: + case 1009: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5197 +//line sql.y:5186 { yyVAL.str = string(yyDollar[2].colIdent.String()) } - case 1011: + case 1010: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL BoolVal -//line sql.y:5203 +//line sql.y:5192 { yyLOCAL = BoolVal(true) } yyVAL.union = yyLOCAL - case 1012: + case 1011: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL BoolVal -//line sql.y:5207 +//line sql.y:5196 { yyLOCAL = BoolVal(false) } yyVAL.union = yyLOCAL - case 1013: + case 1012: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IsExprOperator -//line sql.y:5214 +//line sql.y:5203 { yyLOCAL = IsTrueOp } yyVAL.union = yyLOCAL - case 1014: + case 1013: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IsExprOperator -//line sql.y:5218 +//line sql.y:5207 { yyLOCAL = IsNotTrueOp } yyVAL.union = yyLOCAL - case 1015: + case 1014: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IsExprOperator -//line sql.y:5222 +//line sql.y:5211 { yyLOCAL = IsFalseOp } yyVAL.union = yyLOCAL - case 1016: + case 1015: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL IsExprOperator -//line sql.y:5226 +//line sql.y:5215 { yyLOCAL = IsNotFalseOp } yyVAL.union = yyLOCAL - case 1017: + case 1016: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5232 +//line sql.y:5221 { yyLOCAL = EqualOp } yyVAL.union = yyLOCAL - case 1018: + case 1017: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5236 +//line sql.y:5225 { yyLOCAL = LessThanOp } yyVAL.union = yyLOCAL - case 1019: + case 1018: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5240 +//line sql.y:5229 { yyLOCAL = GreaterThanOp } yyVAL.union = yyLOCAL - case 1020: + case 1019: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5244 +//line sql.y:5233 { yyLOCAL = LessEqualOp } yyVAL.union = yyLOCAL - case 1021: + case 1020: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5248 +//line sql.y:5237 { yyLOCAL = GreaterEqualOp } yyVAL.union = yyLOCAL - case 1022: + case 1021: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5252 +//line sql.y:5241 { yyLOCAL = NotEqualOp } yyVAL.union = yyLOCAL - case 1023: + case 1022: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ComparisonExprOperator -//line sql.y:5256 +//line sql.y:5245 { yyLOCAL = NullSafeEqualOp } yyVAL.union = yyLOCAL - case 1024: + case 1023: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColTuple -//line sql.y:5262 +//line sql.y:5251 { yyLOCAL = yyDollar[1].valTupleUnion() } yyVAL.union = yyLOCAL - case 1025: + case 1024: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColTuple -//line sql.y:5266 +//line sql.y:5255 { yyLOCAL = yyDollar[1].subqueryUnion() } yyVAL.union = yyLOCAL - case 1026: + case 1025: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ColTuple -//line sql.y:5270 +//line sql.y:5259 { yyLOCAL = ListArg(yyDollar[1].str[2:]) bindVariable(yylex, yyDollar[1].str[2:]) } yyVAL.union = yyLOCAL - case 1027: + case 1026: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Subquery -//line sql.y:5277 +//line sql.y:5266 { yyLOCAL = &Subquery{yyDollar[1].selStmtUnion()} } yyVAL.union = yyLOCAL - case 1028: + case 1027: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Exprs -//line sql.y:5283 +//line sql.y:5272 { yyLOCAL = Exprs{yyDollar[1].exprUnion()} } yyVAL.union = yyLOCAL - case 1029: + case 1028: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5287 +//line sql.y:5276 { yySLICE := (*Exprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].exprUnion()) } - case 1030: + case 1029: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5297 +//line sql.y:5286 { yyLOCAL = &FuncExpr{Name: yyDollar[1].colIdent, Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1031: + case 1030: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5301 +//line sql.y:5290 { yyLOCAL = &FuncExpr{Name: yyDollar[1].colIdent, Distinct: true, Exprs: yyDollar[4].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1032: + case 1031: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5305 +//line sql.y:5294 { yyLOCAL = &FuncExpr{Name: yyDollar[1].colIdent, Distinct: true, Exprs: yyDollar[4].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1033: + case 1032: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5309 +//line sql.y:5298 { yyLOCAL = &FuncExpr{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].colIdent, Exprs: yyDollar[5].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1034: + case 1033: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5319 +//line sql.y:5308 { yyLOCAL = &FuncExpr{Name: NewColIdent("left"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1035: + case 1034: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5323 +//line sql.y:5312 { yyLOCAL = &FuncExpr{Name: NewColIdent("right"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1036: + case 1035: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5327 +//line sql.y:5316 { yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion(), To: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1037: + case 1036: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5331 +//line sql.y:5320 { yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1038: + case 1037: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5335 +//line sql.y:5324 { yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion(), To: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1039: + case 1038: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5339 +//line sql.y:5328 { yyLOCAL = &SubstrExpr{Name: yyDollar[3].exprUnion(), From: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1040: + case 1039: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5343 +//line sql.y:5332 { yyLOCAL = &GroupConcatExpr{Distinct: yyDollar[3].booleanUnion(), Exprs: yyDollar[4].selectExprsUnion(), OrderBy: yyDollar[5].orderByUnion(), Separator: yyDollar[6].str, Limit: yyDollar[7].limitUnion()} } yyVAL.union = yyLOCAL - case 1041: + case 1040: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5347 +//line sql.y:5336 { yyLOCAL = &CaseExpr{Expr: yyDollar[2].exprUnion(), Whens: yyDollar[3].whensUnion(), Else: yyDollar[4].exprUnion()} } yyVAL.union = yyLOCAL - case 1042: + case 1041: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5351 +//line sql.y:5340 { yyLOCAL = &ValuesFuncExpr{Name: yyDollar[3].colNameUnion()} } yyVAL.union = yyLOCAL - case 1043: + case 1042: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5355 +//line sql.y:5344 { yyLOCAL = &FuncExpr{Name: NewColIdent(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1044: + case 1043: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5366 +//line sql.y:5355 { yyLOCAL = &FuncExpr{Name: NewColIdent("utc_date")} } yyVAL.union = yyLOCAL - case 1045: + case 1044: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5370 +//line sql.y:5359 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 1046: + case 1045: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5376 +//line sql.y:5365 { yyLOCAL = &FuncExpr{Name: NewColIdent("current_date")} } yyVAL.union = yyLOCAL - case 1047: + case 1046: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5380 +//line sql.y:5369 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("utc_time"), Fsp: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 1048: + case 1047: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5385 +//line sql.y:5374 { yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("current_time"), Fsp: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL + case 1048: + yyDollar = yyS[yypt-5 : yypt+1] + var yyLOCAL Expr +//line sql.y:5378 + { + yyLOCAL = &CountStar{Distinct: yyDollar[3].booleanUnion()} + } + yyVAL.union = yyLOCAL case 1049: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5389 +//line sql.y:5382 { - yyLOCAL = &Avg{Args: yyDollar[4].exprsUnion(), Distinct: yyDollar[3].booleanUnion()} + yyLOCAL = &Count{Args: yyDollar[4].exprsUnion(), Distinct: yyDollar[3].booleanUnion()} } yyVAL.union = yyLOCAL case 1050: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5393 +//line sql.y:5386 { - yyLOCAL = &CountStar{Star: yyDollar[4].starExprUnion(), Distinct: yyDollar[3].booleanUnion()} + yyLOCAL = &Max{Args: yyDollar[4].exprsUnion(), Distinct: yyDollar[3].booleanUnion()} } yyVAL.union = yyLOCAL case 1051: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5397 +//line sql.y:5390 { - yyLOCAL = &Count{Args: yyDollar[4].exprsUnion(), Distinct: yyDollar[3].booleanUnion()} + yyLOCAL = &Min{Args: yyDollar[4].exprsUnion(), Distinct: yyDollar[3].booleanUnion()} } yyVAL.union = yyLOCAL case 1052: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5401 +//line sql.y:5394 { - yyLOCAL = &Max{Args: yyDollar[4].exprsUnion(), Distinct: yyDollar[3].booleanUnion()} + yyLOCAL = &Sum{Args: yyDollar[4].exprsUnion(), Distinct: yyDollar[3].booleanUnion()} } yyVAL.union = yyLOCAL case 1053: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5405 +//line sql.y:5398 { - yyLOCAL = &Min{Args: yyDollar[4].exprsUnion(), Distinct: yyDollar[3].booleanUnion()} + yyLOCAL = &Avg{Args: yyDollar[4].exprsUnion(), Distinct: yyDollar[3].booleanUnion()} } yyVAL.union = yyLOCAL case 1054: - yyDollar = yyS[yypt-5 : yypt+1] - var yyLOCAL Expr -//line sql.y:5409 - { - yyLOCAL = &Sum{Args: yyDollar[4].exprsUnion(), Distinct: yyDollar[3].booleanUnion()} - } - yyVAL.union = yyLOCAL - case 1055: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5413 +//line sql.y:5402 { yyLOCAL = &TimestampFuncExpr{Name: string("timestampadd"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].exprUnion(), Expr2: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1056: + case 1055: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5417 +//line sql.y:5406 { yyLOCAL = &TimestampFuncExpr{Name: string("timestampdiff"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].exprUnion(), Expr2: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1057: + case 1056: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5421 +//line sql.y:5410 { yyLOCAL = &ExtractFuncExpr{IntervalTypes: yyDollar[3].intervalTypeUnion(), Expr: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1058: + case 1057: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5425 +//line sql.y:5414 { yyLOCAL = &WeightStringFuncExpr{Expr: yyDollar[3].exprUnion(), As: yyDollar[4].convertTypeUnion()} } yyVAL.union = yyLOCAL - case 1059: + case 1058: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5429 +//line sql.y:5418 { yyLOCAL = &JSONPrettyExpr{JSONVal: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1060: + case 1059: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5433 +//line sql.y:5422 { yyLOCAL = &JSONStorageFreeExpr{JSONVal: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1061: + case 1060: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5437 +//line sql.y:5426 { yyLOCAL = &JSONStorageSizeExpr{JSONVal: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1062: + case 1061: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5441 +//line sql.y:5430 { yyLOCAL = &TrimFuncExpr{TrimFuncType: LTrimType, StringArg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1063: + case 1062: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5445 +//line sql.y:5434 { yyLOCAL = &TrimFuncExpr{TrimFuncType: RTrimType, StringArg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1064: + case 1063: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Expr -//line sql.y:5449 +//line sql.y:5438 { yyLOCAL = &TrimFuncExpr{Type: yyDollar[3].trimTypeUnion(), TrimArg: yyDollar[4].exprUnion(), StringArg: yyDollar[6].exprUnion()} } yyVAL.union = yyLOCAL - case 1065: + case 1064: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5453 +//line sql.y:5442 { yyLOCAL = &TrimFuncExpr{StringArg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1066: + case 1065: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5457 +//line sql.y:5446 { yyLOCAL = &TrimFuncExpr{TrimArg: yyDollar[3].exprUnion(), StringArg: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1067: + case 1066: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5461 +//line sql.y:5450 { yyLOCAL = &JSONSchemaValidFuncExpr{Schema: yyDollar[3].exprUnion(), Document: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1068: + case 1067: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5465 +//line sql.y:5454 { yyLOCAL = &JSONSchemaValidationReportFuncExpr{Schema: yyDollar[3].exprUnion(), Document: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1069: + case 1068: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5469 +//line sql.y:5458 { yyLOCAL = &JSONArrayExpr{Params: yyDollar[3].exprsUnion()} } yyVAL.union = yyLOCAL - case 1070: + case 1069: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5473 +//line sql.y:5462 { yyLOCAL = &JSONObjectExpr{Params: yyDollar[3].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1071: + case 1070: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5477 +//line sql.y:5466 { yyLOCAL = &JSONQuoteExpr{StringArg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1072: + case 1071: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Expr -//line sql.y:5481 +//line sql.y:5470 { yyLOCAL = &JSONContainsExpr{Target: yyDollar[3].exprUnion(), Candidate: yyDollar[5].exprUnion(), PathList: yyDollar[6].jsonPathParamsUnion()} } yyVAL.union = yyLOCAL - case 1073: + case 1072: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5485 +//line sql.y:5474 { yyLOCAL = &JSONContainsPathExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), PathList: yyDollar[7].jsonPathParamsUnion()} } yyVAL.union = yyLOCAL - case 1074: + case 1073: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5489 +//line sql.y:5478 { yyLOCAL = &JSONExtractExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[5].jsonPathParamsUnion()} } yyVAL.union = yyLOCAL - case 1075: + case 1074: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr -//line sql.y:5493 +//line sql.y:5482 { yyLOCAL = &JSONKeysExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[4].jsonPathParamsUnion()} } yyVAL.union = yyLOCAL - case 1076: + case 1075: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5497 +//line sql.y:5486 { yyLOCAL = &JSONOverlapsExpr{JSONDoc1: yyDollar[3].exprUnion(), JSONDoc2: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1077: + case 1076: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5501 +//line sql.y:5490 { yyLOCAL = &JSONSearchExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), SearchStr: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1078: + case 1077: yyDollar = yyS[yypt-11 : yypt+1] var yyLOCAL Expr -//line sql.y:5505 +//line sql.y:5494 { yyLOCAL = &JSONSearchExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), SearchStr: yyDollar[7].exprUnion(), EscapeChar: yyDollar[9].exprUnion(), PathList: yyDollar[10].jsonPathParamsUnion()} } yyVAL.union = yyLOCAL - case 1079: + case 1078: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Expr -//line sql.y:5509 +//line sql.y:5498 { yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam, ReturningType: yyDollar[6].convertTypeUnion()} } yyVAL.union = yyLOCAL - case 1080: + case 1079: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5513 +//line sql.y:5502 { yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam, ReturningType: yyDollar[6].convertTypeUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion()} } yyVAL.union = yyLOCAL - case 1081: + case 1080: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5517 +//line sql.y:5506 { yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam, ReturningType: yyDollar[6].convertTypeUnion(), ErrorOnResponse: yyDollar[7].jtOnResponseUnion()} } yyVAL.union = yyLOCAL - case 1082: + case 1081: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL Expr -//line sql.y:5521 +//line sql.y:5510 { yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam, ReturningType: yyDollar[6].convertTypeUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion(), ErrorOnResponse: yyDollar[8].jtOnResponseUnion()} } yyVAL.union = yyLOCAL - case 1083: + case 1082: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5525 +//line sql.y:5514 { yyLOCAL = &JSONAttributesExpr{Type: DepthAttributeType, JSONDoc: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1084: + case 1083: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5529 +//line sql.y:5518 { yyLOCAL = &JSONAttributesExpr{Type: ValidAttributeType, JSONDoc: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1085: + case 1084: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5533 +//line sql.y:5522 { yyLOCAL = &JSONAttributesExpr{Type: TypeAttributeType, JSONDoc: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1086: + case 1085: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5537 +//line sql.y:5526 { yyLOCAL = &JSONAttributesExpr{Type: LengthAttributeType, JSONDoc: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1087: + case 1086: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5541 +//line sql.y:5530 { yyLOCAL = &JSONAttributesExpr{Type: LengthAttributeType, JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam} } yyVAL.union = yyLOCAL - case 1088: + case 1087: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5545 +//line sql.y:5534 { yyLOCAL = &JSONValueModifierExpr{Type: JSONArrayAppendType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1089: + case 1088: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5549 +//line sql.y:5538 { yyLOCAL = &JSONValueModifierExpr{Type: JSONArrayInsertType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1090: + case 1089: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5553 +//line sql.y:5542 { yyLOCAL = &JSONValueModifierExpr{Type: JSONInsertType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1091: + case 1090: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5557 +//line sql.y:5546 { yyLOCAL = &JSONValueModifierExpr{Type: JSONReplaceType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1092: + case 1091: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5561 +//line sql.y:5550 { yyLOCAL = &JSONValueModifierExpr{Type: JSONSetType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL - case 1093: + case 1092: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5565 +//line sql.y:5554 { yyLOCAL = &JSONValueMergeExpr{Type: JSONMergeType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()} } yyVAL.union = yyLOCAL - case 1094: + case 1093: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5569 +//line sql.y:5558 { yyLOCAL = &JSONValueMergeExpr{Type: JSONMergePatchType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()} } yyVAL.union = yyLOCAL - case 1095: + case 1094: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5573 +//line sql.y:5562 { yyLOCAL = &JSONValueMergeExpr{Type: JSONMergePreserveType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()} } yyVAL.union = yyLOCAL - case 1096: + case 1095: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5577 +//line sql.y:5566 { yyLOCAL = &JSONRemoveExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[5].exprsUnion()} } yyVAL.union = yyLOCAL - case 1097: + case 1096: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5581 +//line sql.y:5570 { yyLOCAL = &JSONUnquoteExpr{JSONValue: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1099: + case 1098: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5588 +//line sql.y:5577 { yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1100: + case 1099: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5592 +//line sql.y:5581 { yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1101: + case 1100: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL Expr -//line sql.y:5596 +//line sql.y:5585 { yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion()} } yyVAL.union = yyLOCAL - case 1102: + case 1101: yyDollar = yyS[yypt-12 : yypt+1] var yyLOCAL Expr -//line sql.y:5600 +//line sql.y:5589 { yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion(), ReturnOption: yyDollar[11].exprUnion()} } yyVAL.union = yyLOCAL - case 1103: + case 1102: yyDollar = yyS[yypt-14 : yypt+1] var yyLOCAL Expr -//line sql.y:5604 +//line sql.y:5593 { // Match type is kept expression as TRIM( ' m ') is accepted yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion(), ReturnOption: yyDollar[11].exprUnion(), MatchType: yyDollar[13].exprUnion()} } yyVAL.union = yyLOCAL - case 1104: + case 1103: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5609 +//line sql.y:5598 { yyLOCAL = &RegexpLikeExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1105: + case 1104: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5613 +//line sql.y:5602 { yyLOCAL = &RegexpLikeExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), MatchType: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1106: + case 1105: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5617 +//line sql.y:5606 { yyLOCAL = &RegexpReplaceExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Repl: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1107: + case 1106: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL Expr -//line sql.y:5621 +//line sql.y:5610 { yyLOCAL = &RegexpReplaceExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Repl: yyDollar[7].exprUnion(), Position: yyDollar[9].exprUnion()} } yyVAL.union = yyLOCAL - case 1108: + case 1107: yyDollar = yyS[yypt-12 : yypt+1] var yyLOCAL Expr -//line sql.y:5625 +//line sql.y:5614 { yyLOCAL = &RegexpReplaceExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Repl: yyDollar[7].exprUnion(), Position: yyDollar[9].exprUnion(), Occurrence: yyDollar[11].exprUnion()} } yyVAL.union = yyLOCAL - case 1109: + case 1108: yyDollar = yyS[yypt-14 : yypt+1] var yyLOCAL Expr -//line sql.y:5629 +//line sql.y:5618 { // Match type is kept expression as TRIM( ' m ') is accepted yyLOCAL = &RegexpReplaceExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Repl: yyDollar[7].exprUnion(), Position: yyDollar[9].exprUnion(), Occurrence: yyDollar[11].exprUnion(), MatchType: yyDollar[13].exprUnion()} } yyVAL.union = yyLOCAL - case 1110: + case 1109: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5634 +//line sql.y:5623 { yyLOCAL = &RegexpSubstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1111: + case 1110: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5638 +//line sql.y:5627 { yyLOCAL = &RegexpSubstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1112: + case 1111: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL Expr -//line sql.y:5642 +//line sql.y:5631 { yyLOCAL = &RegexpSubstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion()} } yyVAL.union = yyLOCAL - case 1113: + case 1112: yyDollar = yyS[yypt-12 : yypt+1] var yyLOCAL Expr -//line sql.y:5646 +//line sql.y:5635 { // Match type is kept expression as TRIM( ' m ') is accepted yyLOCAL = &RegexpSubstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion(), MatchType: yyDollar[11].exprUnion()} } yyVAL.union = yyLOCAL - case 1114: + case 1113: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5652 +//line sql.y:5641 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1115: + case 1114: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5656 +//line sql.y:5645 { yyLOCAL = yyDollar[2].convertTypeUnion() } yyVAL.union = yyLOCAL - case 1116: + case 1115: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []JSONPathParam -//line sql.y:5661 +//line sql.y:5650 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1117: + case 1116: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []JSONPathParam -//line sql.y:5665 +//line sql.y:5654 { yyLOCAL = yyDollar[2].jsonPathParamsUnion() } yyVAL.union = yyLOCAL - case 1118: + case 1117: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []JSONPathParam -//line sql.y:5671 +//line sql.y:5660 { yyLOCAL = []JSONPathParam{yyDollar[1].jsonPathParam} } yyVAL.union = yyLOCAL - case 1119: + case 1118: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5675 +//line sql.y:5664 { yySLICE := (*[]JSONPathParam)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].jsonPathParam) } - case 1120: + case 1119: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5681 +//line sql.y:5670 { yyVAL.jsonPathParam = JSONPathParam(yyDollar[1].exprUnion()) } - case 1121: + case 1120: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5685 +//line sql.y:5674 { yyVAL.jsonPathParam = JSONPathParam(yyDollar[1].colNameUnion()) } - case 1122: + case 1121: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5691 +//line sql.y:5680 { } - case 1123: + case 1122: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5693 +//line sql.y:5682 { yyLOCAL = IntervalDayHour } yyVAL.union = yyLOCAL - case 1124: + case 1123: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5697 +//line sql.y:5686 { yyLOCAL = IntervalDayMicrosecond } yyVAL.union = yyLOCAL - case 1125: + case 1124: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5701 +//line sql.y:5690 { yyLOCAL = IntervalDayMinute } yyVAL.union = yyLOCAL - case 1126: + case 1125: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5705 +//line sql.y:5694 { yyLOCAL = IntervalDaySecond } yyVAL.union = yyLOCAL - case 1127: + case 1126: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5709 +//line sql.y:5698 { yyLOCAL = IntervalHourMicrosecond } yyVAL.union = yyLOCAL - case 1128: + case 1127: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5713 +//line sql.y:5702 { yyLOCAL = IntervalHourMinute } yyVAL.union = yyLOCAL - case 1129: + case 1128: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5717 +//line sql.y:5706 { yyLOCAL = IntervalHourSecond } yyVAL.union = yyLOCAL - case 1130: + case 1129: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5721 +//line sql.y:5710 { yyLOCAL = IntervalMinuteMicrosecond } yyVAL.union = yyLOCAL - case 1131: + case 1130: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5725 +//line sql.y:5714 { yyLOCAL = IntervalMinuteSecond } yyVAL.union = yyLOCAL - case 1132: + case 1131: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5729 +//line sql.y:5718 { yyLOCAL = IntervalSecondMicrosecond } yyVAL.union = yyLOCAL - case 1133: + case 1132: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5733 +//line sql.y:5722 { yyLOCAL = IntervalYearMonth } yyVAL.union = yyLOCAL - case 1134: + case 1133: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5739 +//line sql.y:5728 { yyLOCAL = IntervalDay } yyVAL.union = yyLOCAL - case 1135: + case 1134: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5743 +//line sql.y:5732 { yyLOCAL = IntervalWeek } yyVAL.union = yyLOCAL - case 1136: + case 1135: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5747 +//line sql.y:5736 { yyLOCAL = IntervalHour } yyVAL.union = yyLOCAL - case 1137: + case 1136: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5751 +//line sql.y:5740 { yyLOCAL = IntervalMinute } yyVAL.union = yyLOCAL - case 1138: + case 1137: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5755 +//line sql.y:5744 { yyLOCAL = IntervalMonth } yyVAL.union = yyLOCAL - case 1139: + case 1138: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5759 +//line sql.y:5748 { yyLOCAL = IntervalQuarter } yyVAL.union = yyLOCAL - case 1140: + case 1139: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5763 +//line sql.y:5752 { yyLOCAL = IntervalSecond } yyVAL.union = yyLOCAL - case 1141: + case 1140: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5767 +//line sql.y:5756 { yyLOCAL = IntervalMicrosecond } yyVAL.union = yyLOCAL - case 1142: + case 1141: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5771 +//line sql.y:5760 { yyLOCAL = IntervalYear } yyVAL.union = yyLOCAL - case 1145: + case 1144: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:5781 +//line sql.y:5770 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1146: + case 1145: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5785 +//line sql.y:5774 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1147: + case 1146: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5789 +//line sql.y:5778 { yyLOCAL = NewIntLiteral(yyDollar[2].str) } yyVAL.union = yyLOCAL - case 1148: + case 1147: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:5793 +//line sql.y:5782 { yyLOCAL = NewArgument(yyDollar[2].str[1:]) bindVariable(yylex, yyDollar[2].str[1:]) } yyVAL.union = yyLOCAL - case 1149: + case 1148: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5804 +//line sql.y:5793 { yyLOCAL = &FuncExpr{Name: NewColIdent("if"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1150: + case 1149: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5808 +//line sql.y:5797 { yyLOCAL = &FuncExpr{Name: NewColIdent("database"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1151: + case 1150: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5812 +//line sql.y:5801 { yyLOCAL = &FuncExpr{Name: NewColIdent("schema"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1152: + case 1151: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5816 +//line sql.y:5805 { yyLOCAL = &FuncExpr{Name: NewColIdent("mod"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1153: + case 1152: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:5820 +//line sql.y:5809 { yyLOCAL = &FuncExpr{Name: NewColIdent("replace"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1154: + case 1153: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:5826 +//line sql.y:5815 { yyLOCAL = NoOption } yyVAL.union = yyLOCAL - case 1155: + case 1154: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:5830 +//line sql.y:5819 { yyLOCAL = BooleanModeOpt } yyVAL.union = yyLOCAL - case 1156: + case 1155: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:5834 +//line sql.y:5823 { yyLOCAL = NaturalLanguageModeOpt } yyVAL.union = yyLOCAL - case 1157: + case 1156: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:5838 +//line sql.y:5827 { yyLOCAL = NaturalLanguageModeWithQueryExpansionOpt } yyVAL.union = yyLOCAL - case 1158: + case 1157: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:5842 +//line sql.y:5831 { yyLOCAL = QueryExpansionOpt } yyVAL.union = yyLOCAL - case 1159: + case 1158: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5848 +//line sql.y:5837 { yyVAL.str = string(yyDollar[1].colIdent.String()) } - case 1160: + case 1159: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5852 +//line sql.y:5841 { yyVAL.str = string(yyDollar[1].str) } - case 1161: + case 1160: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5856 +//line sql.y:5845 { yyVAL.str = string(yyDollar[1].str) } - case 1162: + case 1161: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5862 +//line sql.y:5851 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1163: + case 1162: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5866 +//line sql.y:5855 { yyLOCAL = &ConvertType{Type: string(yyDollar[2].str), Length: NewIntLiteral(yyDollar[4].str)} } yyVAL.union = yyLOCAL - case 1164: + case 1163: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5870 +//line sql.y:5859 { yyLOCAL = &ConvertType{Type: string(yyDollar[2].str), Length: NewIntLiteral(yyDollar[4].str)} } yyVAL.union = yyLOCAL - case 1165: + case 1164: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5876 +//line sql.y:5865 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } yyVAL.union = yyLOCAL - case 1166: + case 1165: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5880 +//line sql.y:5869 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion(), Charset: yyDollar[3].columnCharset} } yyVAL.union = yyLOCAL - case 1167: + case 1166: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5884 +//line sql.y:5873 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1168: + case 1167: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5888 +//line sql.y:5877 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } yyVAL.union = yyLOCAL - case 1169: + case 1168: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5892 +//line sql.y:5881 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} yyLOCAL.Length = yyDollar[2].LengthScaleOption.Length yyLOCAL.Scale = yyDollar[2].LengthScaleOption.Scale } yyVAL.union = yyLOCAL - case 1170: + case 1169: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5898 +//line sql.y:5887 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1171: + case 1170: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5902 +//line sql.y:5891 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } yyVAL.union = yyLOCAL - case 1172: + case 1171: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5906 +//line sql.y:5895 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1173: + case 1172: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5910 +//line sql.y:5899 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1174: + case 1173: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5914 +//line sql.y:5903 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } yyVAL.union = yyLOCAL - case 1175: + case 1174: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5918 +//line sql.y:5907 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1176: + case 1175: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5922 +//line sql.y:5911 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1177: + case 1176: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5926 +//line sql.y:5915 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } yyVAL.union = yyLOCAL - case 1178: + case 1177: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5930 +//line sql.y:5919 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1179: + case 1178: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5934 +//line sql.y:5923 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1180: + case 1179: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:5940 +//line sql.y:5929 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1181: + case 1180: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:5944 +//line sql.y:5933 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1182: + case 1181: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:5949 +//line sql.y:5938 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1183: + case 1182: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5953 +//line sql.y:5942 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 1184: + case 1183: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5958 +//line sql.y:5947 { yyVAL.str = string("") } - case 1185: + case 1184: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5962 +//line sql.y:5951 { yyVAL.str = " separator " + encodeSQLString(yyDollar[2].str) } - case 1186: + case 1185: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*When -//line sql.y:5968 +//line sql.y:5957 { yyLOCAL = []*When{yyDollar[1].whenUnion()} } yyVAL.union = yyLOCAL - case 1187: + case 1186: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:5972 +//line sql.y:5961 { yySLICE := (*[]*When)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].whenUnion()) } - case 1188: + case 1187: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *When -//line sql.y:5978 +//line sql.y:5967 { yyLOCAL = &When{Cond: yyDollar[2].exprUnion(), Val: yyDollar[4].exprUnion()} } yyVAL.union = yyLOCAL - case 1189: + case 1188: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:5983 +//line sql.y:5972 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1190: + case 1189: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5987 +//line sql.y:5976 { yyLOCAL = yyDollar[2].exprUnion() } yyVAL.union = yyLOCAL - case 1191: + case 1190: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ColName -//line sql.y:5993 +//line sql.y:5982 { yyLOCAL = &ColName{Name: yyDollar[1].colIdent} } yyVAL.union = yyLOCAL - case 1192: + case 1191: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColName -//line sql.y:5997 +//line sql.y:5986 { yyLOCAL = &ColName{Qualifier: TableName{Name: yyDollar[1].tableIdent}, Name: yyDollar[3].colIdent} } yyVAL.union = yyLOCAL - case 1193: + case 1192: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ColName -//line sql.y:6001 +//line sql.y:5990 { yyLOCAL = &ColName{Qualifier: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}, Name: yyDollar[5].colIdent} } yyVAL.union = yyLOCAL - case 1194: + case 1193: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:6007 +//line sql.y:5996 { // TODO(sougou): Deprecate this construct. if yyDollar[1].colIdent.Lowered() != "value" { @@ -17240,388 +17205,388 @@ yydefault: yyLOCAL = NewIntLiteral("1") } yyVAL.union = yyLOCAL - case 1195: + case 1194: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:6016 +//line sql.y:6005 { yyLOCAL = NewIntLiteral(yyDollar[1].str) } yyVAL.union = yyLOCAL - case 1196: + case 1195: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:6020 +//line sql.y:6009 { yyLOCAL = NewArgument(yyDollar[1].str[1:]) bindVariable(yylex, yyDollar[1].str[1:]) } yyVAL.union = yyLOCAL - case 1197: + case 1196: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Exprs -//line sql.y:6026 +//line sql.y:6015 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1198: + case 1197: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Exprs -//line sql.y:6030 +//line sql.y:6019 { yyLOCAL = yyDollar[3].exprsUnion() } yyVAL.union = yyLOCAL - case 1199: + case 1198: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:6035 +//line sql.y:6024 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1200: + case 1199: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:6039 +//line sql.y:6028 { yyLOCAL = yyDollar[2].exprUnion() } yyVAL.union = yyLOCAL - case 1201: + case 1200: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL OrderBy -//line sql.y:6044 +//line sql.y:6033 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1202: + case 1201: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL OrderBy -//line sql.y:6048 +//line sql.y:6037 { yyLOCAL = yyDollar[1].orderByUnion() } yyVAL.union = yyLOCAL - case 1203: + case 1202: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL OrderBy -//line sql.y:6054 +//line sql.y:6043 { yyLOCAL = yyDollar[3].orderByUnion() } yyVAL.union = yyLOCAL - case 1204: + case 1203: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL OrderBy -//line sql.y:6060 +//line sql.y:6049 { yyLOCAL = OrderBy{yyDollar[1].orderUnion()} } yyVAL.union = yyLOCAL - case 1205: + case 1204: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6064 +//line sql.y:6053 { yySLICE := (*OrderBy)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].orderUnion()) } - case 1206: + case 1205: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Order -//line sql.y:6070 +//line sql.y:6059 { yyLOCAL = &Order{Expr: yyDollar[1].exprUnion(), Direction: yyDollar[2].orderDirectionUnion()} } yyVAL.union = yyLOCAL - case 1207: + case 1206: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL OrderDirection -//line sql.y:6075 +//line sql.y:6064 { yyLOCAL = AscOrder } yyVAL.union = yyLOCAL - case 1208: + case 1207: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL OrderDirection -//line sql.y:6079 +//line sql.y:6068 { yyLOCAL = AscOrder } yyVAL.union = yyLOCAL - case 1209: + case 1208: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL OrderDirection -//line sql.y:6083 +//line sql.y:6072 { yyLOCAL = DescOrder } yyVAL.union = yyLOCAL - case 1210: + case 1209: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *Limit -//line sql.y:6088 +//line sql.y:6077 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1211: + case 1210: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Limit -//line sql.y:6092 +//line sql.y:6081 { yyLOCAL = yyDollar[1].limitUnion() } yyVAL.union = yyLOCAL - case 1212: + case 1211: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Limit -//line sql.y:6098 +//line sql.y:6087 { yyLOCAL = &Limit{Rowcount: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 1213: + case 1212: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Limit -//line sql.y:6102 +//line sql.y:6091 { yyLOCAL = &Limit{Offset: yyDollar[2].exprUnion(), Rowcount: yyDollar[4].exprUnion()} } yyVAL.union = yyLOCAL - case 1214: + case 1213: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Limit -//line sql.y:6106 +//line sql.y:6095 { yyLOCAL = &Limit{Offset: yyDollar[4].exprUnion(), Rowcount: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 1215: + case 1214: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:6111 +//line sql.y:6100 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1216: + case 1215: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:6115 +//line sql.y:6104 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion(), yyDollar[2].alterOptionUnion()} } yyVAL.union = yyLOCAL - case 1217: + case 1216: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:6119 +//line sql.y:6108 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion(), yyDollar[2].alterOptionUnion()} } yyVAL.union = yyLOCAL - case 1218: + case 1217: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:6123 +//line sql.y:6112 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} } yyVAL.union = yyLOCAL - case 1219: + case 1218: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:6127 +//line sql.y:6116 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} } yyVAL.union = yyLOCAL - case 1220: + case 1219: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6134 +//line sql.y:6123 { yyLOCAL = &LockOption{Type: DefaultType} } yyVAL.union = yyLOCAL - case 1221: + case 1220: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6138 +//line sql.y:6127 { yyLOCAL = &LockOption{Type: NoneType} } yyVAL.union = yyLOCAL - case 1222: + case 1221: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6142 +//line sql.y:6131 { yyLOCAL = &LockOption{Type: SharedType} } yyVAL.union = yyLOCAL - case 1223: + case 1222: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6146 +//line sql.y:6135 { yyLOCAL = &LockOption{Type: ExclusiveType} } yyVAL.union = yyLOCAL - case 1224: + case 1223: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6152 +//line sql.y:6141 { yyLOCAL = AlgorithmValue(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1225: + case 1224: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6156 +//line sql.y:6145 { yyLOCAL = AlgorithmValue(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1226: + case 1225: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6160 +//line sql.y:6149 { yyLOCAL = AlgorithmValue(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1227: + case 1226: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6164 +//line sql.y:6153 { yyLOCAL = AlgorithmValue(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1228: + case 1227: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6169 +//line sql.y:6158 { yyVAL.str = "" } - case 1229: + case 1228: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6173 +//line sql.y:6162 { yyVAL.str = string(yyDollar[3].str) } - case 1230: + case 1229: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6177 +//line sql.y:6166 { yyVAL.str = string(yyDollar[3].str) } - case 1231: + case 1230: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6181 +//line sql.y:6170 { yyVAL.str = string(yyDollar[3].str) } - case 1232: + case 1231: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6186 +//line sql.y:6175 { yyVAL.str = "" } - case 1233: + case 1232: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6190 +//line sql.y:6179 { yyVAL.str = yyDollar[3].str } - case 1234: + case 1233: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6196 +//line sql.y:6185 { yyVAL.str = string(yyDollar[1].str) } - case 1235: + case 1234: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6200 +//line sql.y:6189 { yyVAL.str = string(yyDollar[1].str) } - case 1236: + case 1235: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6205 +//line sql.y:6194 { yyVAL.str = "" } - case 1237: + case 1236: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:6209 +//line sql.y:6198 { yyVAL.str = yyDollar[2].str } - case 1238: + case 1237: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6214 +//line sql.y:6203 { yyVAL.str = "cascaded" } - case 1239: + case 1238: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6218 +//line sql.y:6207 { yyVAL.str = string(yyDollar[1].str) } - case 1240: + case 1239: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6222 +//line sql.y:6211 { yyVAL.str = string(yyDollar[1].str) } - case 1241: + case 1240: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *Definer -//line sql.y:6227 +//line sql.y:6216 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1242: + case 1241: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *Definer -//line sql.y:6231 +//line sql.y:6220 { yyLOCAL = yyDollar[3].definerUnion() } yyVAL.union = yyLOCAL - case 1243: + case 1242: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Definer -//line sql.y:6237 +//line sql.y:6226 { yyLOCAL = &Definer{ Name: string(yyDollar[1].str), } } yyVAL.union = yyLOCAL - case 1244: + case 1243: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *Definer -//line sql.y:6243 +//line sql.y:6232 { yyLOCAL = &Definer{ Name: string(yyDollar[1].str), } } yyVAL.union = yyLOCAL - case 1245: + case 1244: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Definer -//line sql.y:6249 +//line sql.y:6238 { yyLOCAL = &Definer{ Name: yyDollar[1].str, @@ -17629,361 +17594,361 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1246: + case 1245: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6258 +//line sql.y:6247 { yyVAL.str = encodeSQLString(yyDollar[1].str) } - case 1247: + case 1246: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6262 +//line sql.y:6251 { yyVAL.str = formatIdentifier(yyDollar[1].str) } - case 1248: + case 1247: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6267 +//line sql.y:6256 { yyVAL.str = "" } - case 1249: + case 1248: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6271 +//line sql.y:6260 { yyVAL.str = formatAddress(yyDollar[1].str) } - case 1250: + case 1249: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Lock -//line sql.y:6277 +//line sql.y:6266 { yyLOCAL = ForUpdateLock } yyVAL.union = yyLOCAL - case 1251: + case 1250: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Lock -//line sql.y:6281 +//line sql.y:6270 { yyLOCAL = ShareModeLock } yyVAL.union = yyLOCAL - case 1252: + case 1251: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL *SelectInto -//line sql.y:6287 +//line sql.y:6276 { yyLOCAL = &SelectInto{Type: IntoOutfileS3, FileName: encodeSQLString(yyDollar[4].str), Charset: yyDollar[5].columnCharset, FormatOption: yyDollar[6].str, ExportOption: yyDollar[7].str, Manifest: yyDollar[8].str, Overwrite: yyDollar[9].str} } yyVAL.union = yyLOCAL - case 1253: + case 1252: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SelectInto -//line sql.y:6291 +//line sql.y:6280 { yyLOCAL = &SelectInto{Type: IntoDumpfile, FileName: encodeSQLString(yyDollar[3].str), Charset: ColumnCharset{}, FormatOption: "", ExportOption: "", Manifest: "", Overwrite: ""} } yyVAL.union = yyLOCAL - case 1254: + case 1253: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *SelectInto -//line sql.y:6295 +//line sql.y:6284 { yyLOCAL = &SelectInto{Type: IntoOutfile, FileName: encodeSQLString(yyDollar[3].str), Charset: yyDollar[4].columnCharset, FormatOption: "", ExportOption: yyDollar[5].str, Manifest: "", Overwrite: ""} } yyVAL.union = yyLOCAL - case 1255: + case 1254: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6300 +//line sql.y:6289 { yyVAL.str = "" } - case 1256: + case 1255: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6304 +//line sql.y:6293 { yyVAL.str = " format csv" + yyDollar[3].str } - case 1257: + case 1256: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6308 +//line sql.y:6297 { yyVAL.str = " format text" + yyDollar[3].str } - case 1258: + case 1257: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6313 +//line sql.y:6302 { yyVAL.str = "" } - case 1259: + case 1258: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6317 +//line sql.y:6306 { yyVAL.str = " header" } - case 1260: + case 1259: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6322 +//line sql.y:6311 { yyVAL.str = "" } - case 1261: + case 1260: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6326 +//line sql.y:6315 { yyVAL.str = " manifest on" } - case 1262: + case 1261: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6330 +//line sql.y:6319 { yyVAL.str = " manifest off" } - case 1263: + case 1262: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6335 +//line sql.y:6324 { yyVAL.str = "" } - case 1264: + case 1263: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6339 +//line sql.y:6328 { yyVAL.str = " overwrite on" } - case 1265: + case 1264: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6343 +//line sql.y:6332 { yyVAL.str = " overwrite off" } - case 1266: + case 1265: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6349 +//line sql.y:6338 { yyVAL.str = yyDollar[1].str + yyDollar[2].str } - case 1267: + case 1266: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6354 +//line sql.y:6343 { yyVAL.str = "" } - case 1268: + case 1267: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6358 +//line sql.y:6347 { yyVAL.str = " lines" + yyDollar[2].str } - case 1269: + case 1268: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6364 +//line sql.y:6353 { yyVAL.str = yyDollar[1].str } - case 1270: + case 1269: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6368 +//line sql.y:6357 { yyVAL.str = yyDollar[1].str + yyDollar[2].str } - case 1271: + case 1270: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6374 +//line sql.y:6363 { yyVAL.str = " starting by " + encodeSQLString(yyDollar[3].str) } - case 1272: + case 1271: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6378 +//line sql.y:6367 { yyVAL.str = " terminated by " + encodeSQLString(yyDollar[3].str) } - case 1273: + case 1272: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6383 +//line sql.y:6372 { yyVAL.str = "" } - case 1274: + case 1273: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6387 +//line sql.y:6376 { yyVAL.str = " " + yyDollar[1].str + yyDollar[2].str } - case 1275: + case 1274: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6393 +//line sql.y:6382 { yyVAL.str = yyDollar[1].str } - case 1276: + case 1275: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6397 +//line sql.y:6386 { yyVAL.str = yyDollar[1].str + yyDollar[2].str } - case 1277: + case 1276: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6403 +//line sql.y:6392 { yyVAL.str = " terminated by " + encodeSQLString(yyDollar[3].str) } - case 1278: + case 1277: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:6407 +//line sql.y:6396 { yyVAL.str = yyDollar[1].str + " enclosed by " + encodeSQLString(yyDollar[4].str) } - case 1279: + case 1278: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6411 +//line sql.y:6400 { yyVAL.str = " escaped by " + encodeSQLString(yyDollar[3].str) } - case 1280: + case 1279: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6416 +//line sql.y:6405 { yyVAL.str = "" } - case 1281: + case 1280: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6420 +//line sql.y:6409 { yyVAL.str = " optionally" } - case 1282: + case 1281: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Insert -//line sql.y:6433 +//line sql.y:6422 { yyLOCAL = &Insert{Rows: yyDollar[2].valuesUnion()} } yyVAL.union = yyLOCAL - case 1283: + case 1282: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Insert -//line sql.y:6437 +//line sql.y:6426 { yyLOCAL = &Insert{Rows: yyDollar[1].selStmtUnion()} } yyVAL.union = yyLOCAL - case 1284: + case 1283: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *Insert -//line sql.y:6441 +//line sql.y:6430 { yyLOCAL = &Insert{Columns: yyDollar[2].columnsUnion(), Rows: yyDollar[5].valuesUnion()} } yyVAL.union = yyLOCAL - case 1285: + case 1284: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Insert -//line sql.y:6445 +//line sql.y:6434 { yyLOCAL = &Insert{Rows: yyDollar[4].valuesUnion()} } yyVAL.union = yyLOCAL - case 1286: + case 1285: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Insert -//line sql.y:6449 +//line sql.y:6438 { yyLOCAL = &Insert{Columns: yyDollar[2].columnsUnion(), Rows: yyDollar[4].selStmtUnion()} } yyVAL.union = yyLOCAL - case 1287: + case 1286: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:6455 +//line sql.y:6444 { yyLOCAL = Columns{yyDollar[1].colIdent} } yyVAL.union = yyLOCAL - case 1288: + case 1287: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Columns -//line sql.y:6459 +//line sql.y:6448 { yyLOCAL = Columns{yyDollar[3].colIdent} } yyVAL.union = yyLOCAL - case 1289: + case 1288: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6463 +//line sql.y:6452 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].colIdent) } - case 1290: + case 1289: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:6467 +//line sql.y:6456 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[5].colIdent) } - case 1291: + case 1290: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL UpdateExprs -//line sql.y:6472 +//line sql.y:6461 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1292: + case 1291: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL UpdateExprs -//line sql.y:6476 +//line sql.y:6465 { yyLOCAL = yyDollar[5].updateExprsUnion() } yyVAL.union = yyLOCAL - case 1293: + case 1292: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Values -//line sql.y:6482 +//line sql.y:6471 { yyLOCAL = Values{yyDollar[1].valTupleUnion()} } yyVAL.union = yyLOCAL - case 1294: + case 1293: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6486 +//line sql.y:6475 { yySLICE := (*Values)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].valTupleUnion()) } - case 1295: + case 1294: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ValTuple -//line sql.y:6492 +//line sql.y:6481 { yyLOCAL = yyDollar[1].valTupleUnion() } yyVAL.union = yyLOCAL - case 1296: + case 1295: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ValTuple -//line sql.y:6496 +//line sql.y:6485 { yyLOCAL = ValTuple{} } yyVAL.union = yyLOCAL - case 1297: + case 1296: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ValTuple -//line sql.y:6502 +//line sql.y:6491 { yyLOCAL = ValTuple(yyDollar[2].exprsUnion()) } yyVAL.union = yyLOCAL - case 1298: + case 1297: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:6507 +//line sql.y:6496 { if len(yyDollar[1].valTupleUnion()) == 1 { yyLOCAL = yyDollar[1].valTupleUnion()[0] @@ -17992,329 +17957,329 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1299: + case 1298: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL UpdateExprs -//line sql.y:6517 +//line sql.y:6506 { yyLOCAL = UpdateExprs{yyDollar[1].updateExprUnion()} } yyVAL.union = yyLOCAL - case 1300: + case 1299: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6521 +//line sql.y:6510 { yySLICE := (*UpdateExprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].updateExprUnion()) } - case 1301: + case 1300: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *UpdateExpr -//line sql.y:6527 +//line sql.y:6516 { yyLOCAL = &UpdateExpr{Name: yyDollar[1].colNameUnion(), Expr: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1302: + case 1301: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SetExprs -//line sql.y:6533 +//line sql.y:6522 { yyLOCAL = SetExprs{yyDollar[1].setExprUnion()} } yyVAL.union = yyLOCAL - case 1303: + case 1302: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6537 +//line sql.y:6526 { yySLICE := (*SetExprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].setExprUnion()) } - case 1304: + case 1303: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:6543 +//line sql.y:6532 { yyLOCAL = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: NewStrLiteral("on")} } yyVAL.union = yyLOCAL - case 1305: + case 1304: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:6547 +//line sql.y:6536 { yyLOCAL = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: NewStrLiteral("off")} } yyVAL.union = yyLOCAL - case 1306: + case 1305: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:6551 +//line sql.y:6540 { yyLOCAL = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1307: + case 1306: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:6555 +//line sql.y:6544 { yyLOCAL = &SetExpr{Name: NewColIdent(string(yyDollar[1].str)), Scope: ImplicitScope, Expr: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 1308: + case 1307: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:6559 +//line sql.y:6548 { yyDollar[2].setExprUnion().Scope = yyDollar[1].scopeUnion() yyLOCAL = yyDollar[2].setExprUnion() } yyVAL.union = yyLOCAL - case 1310: + case 1309: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6567 +//line sql.y:6556 { yyVAL.str = "charset" } - case 1313: + case 1312: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:6577 +//line sql.y:6566 { yyLOCAL = NewStrLiteral(yyDollar[1].colIdent.String()) } yyVAL.union = yyLOCAL - case 1314: + case 1313: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:6581 +//line sql.y:6570 { yyLOCAL = NewStrLiteral(yyDollar[1].str) } yyVAL.union = yyLOCAL - case 1315: + case 1314: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:6585 +//line sql.y:6574 { yyLOCAL = &Default{} } yyVAL.union = yyLOCAL - case 1318: + case 1317: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:6594 +//line sql.y:6583 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1319: + case 1318: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:6596 +//line sql.y:6585 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1320: + case 1319: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:6599 +//line sql.y:6588 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1321: + case 1320: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:6601 +//line sql.y:6590 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1322: + case 1321: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:6604 +//line sql.y:6593 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1323: + case 1322: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL bool -//line sql.y:6606 +//line sql.y:6595 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1324: + case 1323: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Ignore -//line sql.y:6609 +//line sql.y:6598 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1325: + case 1324: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Ignore -//line sql.y:6611 +//line sql.y:6600 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1326: + case 1325: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6614 +//line sql.y:6603 { yyVAL.empty = struct{}{} } - case 1327: + case 1326: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6616 +//line sql.y:6605 { yyVAL.empty = struct{}{} } - case 1328: + case 1327: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6618 +//line sql.y:6607 { yyVAL.empty = struct{}{} } - case 1329: + case 1328: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:6622 +//line sql.y:6611 { yyLOCAL = &CallProc{Name: yyDollar[2].tableName, Params: yyDollar[4].exprsUnion()} } yyVAL.union = yyLOCAL - case 1330: + case 1329: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Exprs -//line sql.y:6627 +//line sql.y:6616 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1331: + case 1330: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Exprs -//line sql.y:6631 +//line sql.y:6620 { yyLOCAL = yyDollar[1].exprsUnion() } yyVAL.union = yyLOCAL - case 1332: + case 1331: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:6636 +//line sql.y:6625 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1333: + case 1332: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:6638 +//line sql.y:6627 { yyLOCAL = []*IndexOption{yyDollar[1].indexOptionUnion()} } yyVAL.union = yyLOCAL - case 1334: + case 1333: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:6642 +//line sql.y:6631 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), String: string(yyDollar[2].colIdent.String())} } yyVAL.union = yyLOCAL - case 1335: + case 1334: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6648 +//line sql.y:6637 { yyVAL.colIdent = yyDollar[1].colIdent } - case 1336: + case 1335: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6652 +//line sql.y:6641 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].str)) } - case 1338: + case 1337: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6659 +//line sql.y:6648 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].str)) } - case 1339: + case 1338: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6665 +//line sql.y:6654 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].colIdent.String())) } - case 1340: + case 1339: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6669 +//line sql.y:6658 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].str)) } - case 1341: + case 1340: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6675 +//line sql.y:6664 { yyVAL.tableIdent = NewTableIdent("") } - case 1342: + case 1341: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6679 +//line sql.y:6668 { yyVAL.tableIdent = yyDollar[1].tableIdent } - case 1344: + case 1343: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6686 +//line sql.y:6675 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].str)) } - case 1854: + case 1853: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7222 +//line sql.y:7211 { if incNesting(yylex) { yylex.Error("max nesting level reached") return 1 } } - case 1855: + case 1854: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7231 +//line sql.y:7220 { decNesting(yylex) } - case 1856: + case 1855: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7236 +//line sql.y:7225 { skipToEnd(yylex) } - case 1857: + case 1856: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7241 +//line sql.y:7230 { skipToEnd(yylex) } - case 1858: + case 1857: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7245 +//line sql.y:7234 { skipToEnd(yylex) } - case 1859: + case 1858: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7249 +//line sql.y:7238 { skipToEnd(yylex) } diff --git a/go/vt/sqlparser/sql.y b/go/vt/sqlparser/sql.y index 16658a6f1b3..27ef52ee494 100644 --- a/go/vt/sqlparser/sql.y +++ b/go/vt/sqlparser/sql.y @@ -323,11 +323,7 @@ func bindVariable(yylex yyLexer, bvar string) { %token JSON_ARRAY JSON_OBJECT JSON_QUOTE %token JSON_DEPTH JSON_TYPE JSON_LENGTH JSON_VALID %token JSON_ARRAY_APPEND JSON_ARRAY_INSERT JSON_INSERT JSON_MERGE JSON_MERGE_PATCH JSON_MERGE_PRESERVE JSON_REMOVE JSON_REPLACE JSON_SET JSON_UNQUOTE -%token COUNT // aggregate function -%token AVG // aggregate function -%token MAX // aggregate function -%token MIN // aggregate function -%token SUM // aggregate function +%token COUNT AVG MAX MIN SUM %token REGEXP_INSTR REGEXP_LIKE REGEXP_REPLACE REGEXP_SUBSTR // Match @@ -531,7 +527,6 @@ func bindVariable(yylex yyLexer, bvar string) { %type underscore_charsets %type expire_opt %type ratio_opt -%type star_count %start any_command %% @@ -4526,12 +4521,6 @@ select_option: $$ = AllStr // These are not picked up by NewSelect, and so ALL will be dropped. But this is OK, since it's redundant anyway } -star_count: - '*' - { - $$ = StarExpr{} - } - select_expression_list: select_expression { @@ -5385,13 +5374,9 @@ UTC_DATE func_paren_opt { $$ = &CurTimeFuncExpr{Name:NewColIdent("current_time"), Fsp: $2} } -| AVG openb distinct_opt expression_list closeb - { - $$ = &Avg{Args:$4, Distinct:$3} - } -| COUNT openb distinct_opt star_count closeb +| COUNT openb distinct_opt '*' closeb { - $$ = &CountStar{Star:$4, Distinct:$3} + $$ = &CountStar{Distinct:$3} } | COUNT openb distinct_opt expression_list closeb { @@ -5409,6 +5394,10 @@ UTC_DATE func_paren_opt { $$ = &Sum{Args:$4, Distinct:$3} } +| AVG openb distinct_opt expression_list closeb + { + $$ = &Avg{Args:$4, Distinct:$3} + } | TIMESTAMPADD openb sql_id ',' expression ',' expression closeb { $$ = &TimestampFuncExpr{Name:string("timestampadd"), Unit:$3.String(), Expr1:$5, Expr2:$7} diff --git a/go/vt/vtgate/planbuilder/abstract/queryprojection.go b/go/vt/vtgate/planbuilder/abstract/queryprojection.go index 661a4c45363..033441fe0de 100644 --- a/go/vt/vtgate/planbuilder/abstract/queryprojection.go +++ b/go/vt/vtgate/planbuilder/abstract/queryprojection.go @@ -71,7 +71,7 @@ type ( // Aggr encodes all information needed for aggregation functions Aggr struct { Original *sqlparser.AliasedExpr - Func sqlparser.Expr + Func sqlparser.AggrFunc OpCode engine.AggregateOpcode Alias string // The index at which the user expects to see this aggregated function. Set to nil, if the user does not ask for it @@ -302,19 +302,11 @@ func (qp *QueryProjection) GetGrouping() []GroupBy { func checkForInvalidAggregations(exp *sqlparser.AliasedExpr) error { return sqlparser.Walk(func(node sqlparser.SQLNode) (kontinue bool, err error) { - /*fExpr, ok := node.(*sqlparser.FuncExpr) - if ok && fExpr.IsAggregate() { - if len(fExpr.Exprs) != 1 { - return false, vterrors.NewErrorf(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.SyntaxError, "aggregate functions take a single argument '%s'", sqlparser.String(fExpr)) - } - }*/ fExpr, ok := node.(sqlparser.Expr) if ok { - if isAggregate, _ := sqlparser.IsAggregation(fExpr); isAggregate { - aggrFunc := node.(sqlparser.AggrFunc) + if aggrFunc, isAggregate := fExpr.(sqlparser.AggrFunc); isAggregate { if aggrFunc.GetArgs() != nil && len(aggrFunc.GetArgs()) != 1 { - //return false, vterrors.NewErrorf(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.SyntaxError, "aggregate functions take a single argument") return false, vterrors.NewErrorf(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.SyntaxError, "aggregate functions take a single argument '%s'", sqlparser.String(fExpr)) } return true, nil @@ -346,7 +338,7 @@ func (qp *QueryProjection) getNonAggrExprNotMatchingGroupByExprs() sqlparser.Sel func (qp *QueryProjection) isOrderByExprInGroupBy(order OrderBy) bool { // ORDER BY NULL or Aggregation functions need not be present in group by - isAggregate, _ := sqlparser.IsAggregation(order.WeightStrExpr) + _, isAggregate := order.WeightStrExpr.(sqlparser.AggrFunc) if sqlparser.IsNull(order.Inner.Expr) || isAggregate { return true } @@ -532,7 +524,7 @@ orderBy: out = append(out, Aggr{ Original: aliasedExpr, - Func: aliasedExpr.Expr, + Func: aliasedExpr.Expr.(sqlparser.AggrFunc), OpCode: opcode, Alias: aliasedExpr.ColumnName(), Index: &idxCopy, @@ -620,7 +612,7 @@ func (qp *QueryProjection) GetColumnCount() int { func checkForInvalidGroupingExpressions(expr sqlparser.Expr) error { return sqlparser.Walk(func(node sqlparser.SQLNode) (bool, error) { - if isAggregate, _ := sqlparser.IsAggregation(node); isAggregate { + if _, isAggregate := node.(sqlparser.AggrFunc); isAggregate { return false, vterrors.NewErrorf(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.WrongGroupField, "Can't group on '%s'", sqlparser.String(expr)) } _, isSubQ := node.(*sqlparser.Subquery) diff --git a/go/vt/vtgate/planbuilder/aggregation_pushing.go b/go/vt/vtgate/planbuilder/aggregation_pushing.go index 023bb89064c..d26245fdebd 100644 --- a/go/vt/vtgate/planbuilder/aggregation_pushing.go +++ b/go/vt/vtgate/planbuilder/aggregation_pushing.go @@ -225,9 +225,7 @@ func addAggregationToSelect(sel *sqlparser.Select, aggregation abstract.Aggr) of } func countStarAggr() *abstract.Aggr { - f := &sqlparser.CountStar{ - Star: sqlparser.StarExpr{}, - } + f := &sqlparser.CountStar{} return &abstract.Aggr{ Original: &sqlparser.AliasedExpr{Expr: f}, @@ -421,7 +419,7 @@ func splitAggregationsToLeftAndRight( var lhsAggrs, rhsAggrs []*abstract.Aggr for _, aggr := range aggregations { newAggr := aggr - if isCountStar(aggr.Original.Expr) { + if _, ok := aggr.Original.Expr.(*sqlparser.CountStar); ok { lhsAggrs = append(lhsAggrs, &newAggr) rhsAggrs = append(rhsAggrs, &newAggr) } else { diff --git a/go/vt/vtgate/planbuilder/horizon_planning.go b/go/vt/vtgate/planbuilder/horizon_planning.go index e3557806394..8b97d0400e8 100644 --- a/go/vt/vtgate/planbuilder/horizon_planning.go +++ b/go/vt/vtgate/planbuilder/horizon_planning.go @@ -514,7 +514,7 @@ func (hp *horizonPlanning) handleDistinctAggr(ctx *plancontext.PlanningContext, } } - inner, innerWS, err := hp.qp.GetSimplifiedExpr(expr.Func.(sqlparser.AggrFunc).GetArg()) // todo: fixit: no hard casting please + inner, innerWS, err := hp.qp.GetSimplifiedExpr(expr.Func.GetArg()) if err != nil { return nil, nil, nil, err } @@ -586,15 +586,6 @@ func (hp *horizonPlanning) createGroupingsForColumns(columns []*sqlparser.ColNam return lhsGrouping, nil } -func isCountStar(expr sqlparser.Expr) bool { - switch expr.(type) { - case *sqlparser.CountStar: - return true - default: - return false - } -} - func hasUniqueVindex(semTable *semantics.SemTable, groupByExprs []abstract.GroupBy) bool { for _, groupByExpr := range groupByExprs { if exprHasUniqueVindex(semTable, groupByExpr.WeightStrExpr) { diff --git a/go/vt/vtgate/planbuilder/ordered_aggregate.go b/go/vt/vtgate/planbuilder/ordered_aggregate.go index 31cffd5db3a..39ea7d0f92c 100644 --- a/go/vt/vtgate/planbuilder/ordered_aggregate.go +++ b/go/vt/vtgate/planbuilder/ordered_aggregate.go @@ -263,21 +263,13 @@ func (oa *orderedAggregate) Primitive() engine.Primitive { } func (oa *orderedAggregate) pushAggr(pb *primitiveBuilder, expr *sqlparser.AliasedExpr, origin logicalPlan) (rc *resultColumn, colNumber int, err error) { - _, aggName := sqlparser.IsAggregation(expr.Expr) - opcode := engine.SupportedAggregates[aggName] + aggrFunc, _ := expr.Expr.(sqlparser.AggrFunc) + opcode := engine.SupportedAggregates[aggrFunc.AggrName()] - aggrFunc := expr.Expr.(sqlparser.AggrFunc) - if aggrFunc != nil && - aggrFunc.GetArgs() != nil && + if aggrFunc.GetArgs() != nil && len(aggrFunc.GetArgs()) != 1 { return nil, 0, fmt.Errorf("unsupported: only one expression allowed inside aggregates: %s", sqlparser.String(expr)) } - //TODO: how to fix this - /*funcExpr := expr.Expr.(*sqlparser.FuncExpr) - opcode := engine.SupportedAggregates[funcExpr.Name.Lowered()] - if len(funcExpr.Exprs) != 1 { - return nil, 0, fmt.Errorf("unsupported: only one expression allowed inside aggregates: %s", sqlparser.String(funcExpr)) - }*/ handleDistinct, innerAliased, err := oa.needDistinctHandling(pb, expr, opcode) if err != nil { @@ -337,13 +329,13 @@ func (oa *orderedAggregate) needDistinctHandling(pb *primitiveBuilder, expr *sql if !sqlparser.IsDistinct(expr.Expr) { return false, nil, nil } - if opcode != engine.AggregateCount && opcode != engine.AggregateSum { + if opcode != engine.AggregateCount && opcode != engine.AggregateSum && opcode != engine.AggregateCountStar { return false, nil, nil } var innerAliased *sqlparser.AliasedExpr - if aggr, ok := expr.Expr.(sqlparser.AggrFunc); ok { - // add isDistinct in interface + aggr, ok := expr.Expr.(sqlparser.AggrFunc) + if ok { if cStar, ok := aggr.(*sqlparser.CountStar); ok { if cStar.Distinct { return false, nil, fmt.Errorf("syntax error: %s", sqlparser.String(cStar)) @@ -352,36 +344,10 @@ func (oa *orderedAggregate) needDistinctHandling(pb *primitiveBuilder, expr *sql innerAliased = &sqlparser.AliasedExpr{Expr: aggr.GetArg() /*As: expr.As*/} } - //TODO: how to fix this - /*if !ok { - return false, nil, fmt.Errorf("syntax error: %s", sqlparser.String(funcExpr)) - }*/ - rb, ok := oa.input.(*route) if !ok { - // Unreachable - return true, innerAliased, nil + return false, nil, fmt.Errorf("syntax error: %s", sqlparser.String(expr)) } - vindex := pb.st.Vindex(innerAliased.Expr, rb) - if vindex != nil && vindex.IsUnique() { - return false, nil, nil - } - return true, innerAliased, nil -} -// needDistinctHandling returns true if oa needs to handle the distinct clause. -// If true, it will also return the aliased expression that needs to be pushed -// down into the underlying route. -/*func (oa *orderedAggregate) needDistinctHandling(pb *primitiveBuilder, funcExpr *sqlparser.FuncExpr, opcode engine.AggregateOpcode) (bool, *sqlparser.AliasedExpr, error) { - if !funcExpr.Distinct { - return false, nil, nil - } - if opcode != engine.AggregateCount && opcode != engine.AggregateSum && opcode != engine.AggregateCountStar { - return false, nil, nil - } - innerAliased, ok := funcExpr.Exprs[0].(*sqlparser.AliasedExpr) - if !ok { - return false, nil, fmt.Errorf("syntax error: %s", sqlparser.String(funcExpr)) - } rb, ok := oa.input.(*route) if !ok { // Unreachable @@ -392,7 +358,7 @@ func (oa *orderedAggregate) needDistinctHandling(pb *primitiveBuilder, expr *sql return false, nil, nil } return true, innerAliased, nil -}*/ +} // Wireup implements the logicalPlan interface // If text columns are detected in the keys, then the function modifies diff --git a/go/vt/vtgate/planbuilder/project.go b/go/vt/vtgate/planbuilder/project.go index 703abe43879..3e860225d73 100644 --- a/go/vt/vtgate/planbuilder/project.go +++ b/go/vt/vtgate/planbuilder/project.go @@ -72,8 +72,8 @@ func planProjection(pb *primitiveBuilder, in logicalPlan, expr *sqlparser.Aliase // others. This functionality depends on the PushOrderBy to request that // the rows be correctly ordered. case *orderedAggregate: - if isAggregate, aggName := sqlparser.IsAggregation(expr.Expr); isAggregate { - if _, ok := engine.SupportedAggregates[aggName]; ok { + if aggrFunc, isAggregate := expr.Expr.(sqlparser.AggrFunc); isAggregate { + if _, ok := engine.SupportedAggregates[aggrFunc.AggrName()]; ok { rc, colNumber, err := node.pushAggr(pb, expr, origin) if err != nil { return nil, nil, 0, err diff --git a/go/vt/vtgate/planbuilder/rewrite.go b/go/vt/vtgate/planbuilder/rewrite.go index fbbe79ac321..2e7034bf090 100644 --- a/go/vt/vtgate/planbuilder/rewrite.go +++ b/go/vt/vtgate/planbuilder/rewrite.go @@ -191,7 +191,7 @@ func rewriteHavingClause(node *sqlparser.Select) { } return false default: - isAggregate, _ := sqlparser.IsAggregation(x) + _, isAggregate := x.(sqlparser.AggrFunc) hasAggr = hasAggr || isAggregate } return true diff --git a/go/vt/vtgate/planbuilder/symtab.go b/go/vt/vtgate/planbuilder/symtab.go index 5c0e157d44e..3ef216223a2 100644 --- a/go/vt/vtgate/planbuilder/symtab.go +++ b/go/vt/vtgate/planbuilder/symtab.go @@ -564,16 +564,6 @@ func newResultColumn(expr *sqlparser.AliasedExpr, origin logicalPlan) *resultCol } // If it's a col it should already have metadata. rc.column = col.Metadata.(*column) - /*} else if aggr, ok := expr.Expr.(sqlparser.AggrFunc); ok { - if arg := aggr.GetArg(); arg != nil { - if col, ok := arg.(*sqlparser.ColName); ok { - if rc.alias.IsEmpty() { - rc.alias = col.Name - } - // If it's a col it should already have metadata. - rc.column = col.Metadata.(*column) - } - }*/ } else { // We don't generate an alias if the expression is non-trivial. // Just to be safe, generate an anonymous column for the expression. From e448a03ee42192f0c01087511cc35e134037db28 Mon Sep 17 00:00:00 2001 From: Rameez Sajwani Date: Thu, 2 Jun 2022 15:55:23 -0700 Subject: [PATCH 14/22] Fixing planBuilder test cases` Signed-off-by: Rameez Sajwani --- go/vt/sqlparser/ast.go | 99 +- go/vt/sqlparser/ast_clone.go | 4 +- go/vt/sqlparser/ast_equals.go | 17 +- go/vt/sqlparser/ast_format.go | 12 +- go/vt/sqlparser/ast_format_fast.go | 18 +- go/vt/sqlparser/ast_funcs.go | 11 - go/vt/sqlparser/ast_rewrite.go | 6 +- go/vt/sqlparser/ast_visit.go | 4 +- go/vt/sqlparser/cached_size.go | 30 +- go/vt/sqlparser/sql.go | 9678 +++++++++-------- go/vt/sqlparser/sql.y | 25 +- .../planbuilder/abstract/queryprojection.go | 2 +- .../vtgate/planbuilder/aggregation_pushing.go | 2 +- go/vt/vtgate/planbuilder/ordered_aggregate.go | 3 +- go/vt/vtgate/planbuilder/plan_test.go | 4 +- go/vt/vtgate/planbuilder/project.go | 3 +- go/vt/vtgate/planbuilder/select.go | 5 +- go/vt/vtgate/planbuilder/symtab_test.go | 14 +- go/vt/vtgate/planbuilder/testdata/onecase.txt | 39 - .../testdata/unsupported_cases.txt | 2 +- go/vt/vtgate/semantics/typer.go | 6 +- 21 files changed, 5013 insertions(+), 4971 deletions(-) diff --git a/go/vt/sqlparser/ast.go b/go/vt/sqlparser/ast.go index 273020a5d2e..8e4b85340e4 100644 --- a/go/vt/sqlparser/ast.go +++ b/go/vt/sqlparser/ast.go @@ -2247,15 +2247,6 @@ type ( Exprs SelectExprs } - // GroupConcatExpr represents a call to GROUP_CONCAT - GroupConcatExpr struct { - Distinct bool - Exprs SelectExprs - OrderBy OrderBy - Separator string - Limit *Limit - } - // ValuesFuncExpr represents a function call. ValuesFuncExpr struct { Name *ColName @@ -2573,30 +2564,46 @@ type ( Count struct { Args Exprs Distinct bool + Name string } CountStar struct { Distinct bool + Name string } Avg struct { Args Exprs Distinct bool + Name string } Max struct { Args Exprs Distinct bool + Name string } Min struct { Args Exprs Distinct bool + Name string } Sum struct { Args Exprs Distinct bool + Name string + } + + // GroupConcatExpr represents a call to GROUP_CONCAT + GroupConcatExpr struct { + Distinct bool + Exprs Exprs + OrderBy OrderBy + Separator string + Limit *Limit + Name string } // RegexpInstrExpr represents REGEXP_INSTR() @@ -2641,40 +2648,45 @@ type ( ) // iExpr ensures that only expressions nodes can be assigned to a Expr -func (*Sum) iExpr() {} -func (*Min) iExpr() {} -func (*Max) iExpr() {} -func (*Avg) iExpr() {} -func (*CountStar) iExpr() {} -func (*Count) iExpr() {} - -func (sum *Sum) GetArg() Expr { return sum.Args[0] } -func (min *Min) GetArg() Expr { return min.Args[0] } -func (max *Max) GetArg() Expr { return max.Args[0] } -func (avg *Avg) GetArg() Expr { return avg.Args[0] } -func (*CountStar) GetArg() Expr { return nil } -func (count *Count) GetArg() Expr { return count.Args[0] } - -func (sum *Sum) GetArgs() Exprs { return sum.Args } -func (min *Min) GetArgs() Exprs { return min.Args } -func (max *Max) GetArgs() Exprs { return max.Args } -func (avg *Avg) GetArgs() Exprs { return avg.Args } -func (*CountStar) GetArgs() Exprs { return nil } -func (count *Count) GetArgs() Exprs { return count.Args } - -func (sum *Sum) isDistinct() bool { return sum.Distinct } -func (min *Min) isDistinct() bool { return min.Distinct } -func (max *Max) isDistinct() bool { return max.Distinct } -func (avg *Avg) isDistinct() bool { return avg.Distinct } -func (cStar *CountStar) isDistinct() bool { return cStar.Distinct } -func (count *Count) isDistinct() bool { return count.Distinct } - -func (*Sum) AggrName() string { return "sum" } -func (*Min) AggrName() string { return "min" } -func (*Max) AggrName() string { return "max" } -func (*Avg) AggrName() string { return "avg" } -func (*CountStar) AggrName() string { return "count" } -func (*Count) AggrName() string { return "count" } +func (*Sum) iExpr() {} +func (*Min) iExpr() {} +func (*Max) iExpr() {} +func (*Avg) iExpr() {} +func (*CountStar) iExpr() {} +func (*Count) iExpr() {} +func (*GroupConcatExpr) iExpr() {} + +func (sum *Sum) GetArg() Expr { return sum.Args[0] } +func (min *Min) GetArg() Expr { return min.Args[0] } +func (max *Max) GetArg() Expr { return max.Args[0] } +func (avg *Avg) GetArg() Expr { return avg.Args[0] } +func (*CountStar) GetArg() Expr { return nil } +func (count *Count) GetArg() Expr { return count.Args[0] } +func (grpConcat *GroupConcatExpr) GetArg() Expr { return grpConcat.Exprs[0] } + +func (sum *Sum) GetArgs() Exprs { return sum.Args } +func (min *Min) GetArgs() Exprs { return min.Args } +func (max *Max) GetArgs() Exprs { return max.Args } +func (avg *Avg) GetArgs() Exprs { return avg.Args } +func (*CountStar) GetArgs() Exprs { return nil } +func (count *Count) GetArgs() Exprs { return count.Args } +func (grpConcat *GroupConcatExpr) GetArgs() Exprs { return grpConcat.Exprs } + +func (sum *Sum) isDistinct() bool { return sum.Distinct } +func (min *Min) isDistinct() bool { return min.Distinct } +func (max *Max) isDistinct() bool { return max.Distinct } +func (avg *Avg) isDistinct() bool { return avg.Distinct } +func (cStar *CountStar) isDistinct() bool { return cStar.Distinct } +func (count *Count) isDistinct() bool { return count.Distinct } +func (grpConcat *GroupConcatExpr) isDistinct() bool { return grpConcat.Distinct } + +func (sum *Sum) AggrName() string { return sum.Name } +func (min *Min) AggrName() string { return min.Name } +func (max *Max) AggrName() string { return max.Name } +func (avg *Avg) AggrName() string { return avg.Name } +func (cStar *CountStar) AggrName() string { return cStar.Name } +func (count *Count) AggrName() string { return count.Name } +func (grpConcat *GroupConcatExpr) AggrName() string { return grpConcat.Name } func (*AndExpr) iExpr() {} func (*OrExpr) iExpr() {} @@ -2708,7 +2720,6 @@ func (*ConvertExpr) iExpr() {} func (*SubstrExpr) iExpr() {} func (*ConvertUsingExpr) iExpr() {} func (*MatchExpr) iExpr() {} -func (*GroupConcatExpr) iExpr() {} func (*Default) iExpr() {} func (*ExtractedSubquery) iExpr() {} func (*TrimFuncExpr) iExpr() {} diff --git a/go/vt/sqlparser/ast_clone.go b/go/vt/sqlparser/ast_clone.go index d9a22a4017e..777fdbd3a16 100644 --- a/go/vt/sqlparser/ast_clone.go +++ b/go/vt/sqlparser/ast_clone.go @@ -1162,7 +1162,7 @@ func CloneRefOfGroupConcatExpr(n *GroupConcatExpr) *GroupConcatExpr { return nil } out := *n - out.Exprs = CloneSelectExprs(n.Exprs) + out.Exprs = CloneExprs(n.Exprs) out.OrderBy = CloneOrderBy(n.OrderBy) out.Limit = CloneRefOfLimit(n.Limit) return &out @@ -2627,6 +2627,8 @@ func CloneAggrFunc(in AggrFunc) AggrFunc { return CloneRefOfCount(in) case *CountStar: return CloneRefOfCountStar(in) + case *GroupConcatExpr: + return CloneRefOfGroupConcatExpr(in) case *Max: return CloneRefOfMax(in) case *Min: diff --git a/go/vt/sqlparser/ast_equals.go b/go/vt/sqlparser/ast_equals.go index 85abd70bd9a..a67aff27534 100644 --- a/go/vt/sqlparser/ast_equals.go +++ b/go/vt/sqlparser/ast_equals.go @@ -1496,6 +1496,7 @@ func EqualsRefOfAvg(a, b *Avg) bool { return false } return a.Distinct == b.Distinct && + a.Name == b.Name && EqualsExprs(a.Args, b.Args) } @@ -1760,6 +1761,7 @@ func EqualsRefOfCount(a, b *Count) bool { return false } return a.Distinct == b.Distinct && + a.Name == b.Name && EqualsExprs(a.Args, b.Args) } @@ -1771,7 +1773,8 @@ func EqualsRefOfCountStar(a, b *CountStar) bool { if a == nil || b == nil { return false } - return a.Distinct == b.Distinct + return a.Distinct == b.Distinct && + a.Name == b.Name } // EqualsRefOfCreateDatabase does deep equals between the two objects. @@ -2134,7 +2137,8 @@ func EqualsRefOfGroupConcatExpr(a, b *GroupConcatExpr) bool { } return a.Distinct == b.Distinct && a.Separator == b.Separator && - EqualsSelectExprs(a.Exprs, b.Exprs) && + a.Name == b.Name && + EqualsExprs(a.Exprs, b.Exprs) && EqualsOrderBy(a.OrderBy, b.OrderBy) && EqualsRefOfLimit(a.Limit, b.Limit) } @@ -2654,6 +2658,7 @@ func EqualsRefOfMax(a, b *Max) bool { return false } return a.Distinct == b.Distinct && + a.Name == b.Name && EqualsExprs(a.Args, b.Args) } @@ -2678,6 +2683,7 @@ func EqualsRefOfMin(a, b *Min) bool { return false } return a.Distinct == b.Distinct && + a.Name == b.Name && EqualsExprs(a.Args, b.Args) } @@ -3448,6 +3454,7 @@ func EqualsRefOfSum(a, b *Sum) bool { return false } return a.Distinct == b.Distinct && + a.Name == b.Name && EqualsExprs(a.Args, b.Args) } @@ -3830,6 +3837,12 @@ func EqualsAggrFunc(inA, inB AggrFunc) bool { return false } return EqualsRefOfCountStar(a, b) + case *GroupConcatExpr: + b, ok := inB.(*GroupConcatExpr) + if !ok { + return false + } + return EqualsRefOfGroupConcatExpr(a, b) case *Max: b, ok := inB.(*Max) if !ok { diff --git a/go/vt/sqlparser/ast_format.go b/go/vt/sqlparser/ast_format.go index 6c4175ec480..8e1bc2932ed 100644 --- a/go/vt/sqlparser/ast_format.go +++ b/go/vt/sqlparser/ast_format.go @@ -2410,7 +2410,7 @@ func (node *JSONUnquoteExpr) Format(buf *TrackedBuffer) { } func (node *Count) Format(buf *TrackedBuffer) { - buf.WriteString("count(") + buf.astPrintf(node, "%s(", node.AggrName()) if node.Distinct { buf.literal(DistinctStr) } @@ -2418,7 +2418,7 @@ func (node *Count) Format(buf *TrackedBuffer) { } func (node *CountStar) Format(buf *TrackedBuffer) { - buf.WriteString("count(") + buf.astPrintf(node, "%s(", node.AggrName()) if node.Distinct { buf.literal(DistinctStr) } @@ -2426,7 +2426,7 @@ func (node *CountStar) Format(buf *TrackedBuffer) { } func (node *Avg) Format(buf *TrackedBuffer) { - buf.WriteString("avg(") + buf.astPrintf(node, "%s(", node.AggrName()) if node.Distinct { buf.literal(DistinctStr) } @@ -2434,7 +2434,7 @@ func (node *Avg) Format(buf *TrackedBuffer) { } func (node *Max) Format(buf *TrackedBuffer) { - buf.WriteString("max(") + buf.astPrintf(node, "%s(", node.AggrName()) if node.Distinct { buf.literal(DistinctStr) } @@ -2442,7 +2442,7 @@ func (node *Max) Format(buf *TrackedBuffer) { } func (node *Min) Format(buf *TrackedBuffer) { - buf.WriteString("min(") + buf.astPrintf(node, "%s(", node.AggrName()) if node.Distinct { buf.literal(DistinctStr) } @@ -2450,7 +2450,7 @@ func (node *Min) Format(buf *TrackedBuffer) { } func (node *Sum) Format(buf *TrackedBuffer) { - buf.WriteString("sum(") + buf.astPrintf(node, "%s(", node.AggrName()) if node.Distinct { buf.literal(DistinctStr) } diff --git a/go/vt/sqlparser/ast_format_fast.go b/go/vt/sqlparser/ast_format_fast.go index b8acd856435..643cac9a784 100644 --- a/go/vt/sqlparser/ast_format_fast.go +++ b/go/vt/sqlparser/ast_format_fast.go @@ -3153,7 +3153,8 @@ func (node *JSONUnquoteExpr) formatFast(buf *TrackedBuffer) { } func (node *Count) formatFast(buf *TrackedBuffer) { - buf.WriteString("count(") + buf.WriteString(node.AggrName()) + buf.WriteByte('(') if node.Distinct { buf.WriteString(DistinctStr) } @@ -3162,7 +3163,8 @@ func (node *Count) formatFast(buf *TrackedBuffer) { } func (node *CountStar) formatFast(buf *TrackedBuffer) { - buf.WriteString("count(") + buf.WriteString(node.AggrName()) + buf.WriteByte('(') if node.Distinct { buf.WriteString(DistinctStr) } @@ -3170,7 +3172,8 @@ func (node *CountStar) formatFast(buf *TrackedBuffer) { } func (node *Avg) formatFast(buf *TrackedBuffer) { - buf.WriteString("avg(") + buf.WriteString(node.AggrName()) + buf.WriteByte('(') if node.Distinct { buf.WriteString(DistinctStr) } @@ -3179,7 +3182,8 @@ func (node *Avg) formatFast(buf *TrackedBuffer) { } func (node *Max) formatFast(buf *TrackedBuffer) { - buf.WriteString("max(") + buf.WriteString(node.AggrName()) + buf.WriteByte('(') if node.Distinct { buf.WriteString(DistinctStr) } @@ -3188,7 +3192,8 @@ func (node *Max) formatFast(buf *TrackedBuffer) { } func (node *Min) formatFast(buf *TrackedBuffer) { - buf.WriteString("min(") + buf.WriteString(node.AggrName()) + buf.WriteByte('(') if node.Distinct { buf.WriteString(DistinctStr) } @@ -3197,7 +3202,8 @@ func (node *Min) formatFast(buf *TrackedBuffer) { } func (node *Sum) formatFast(buf *TrackedBuffer) { - buf.WriteString("sum(") + buf.WriteString(node.AggrName()) + buf.WriteByte('(') if node.Distinct { buf.WriteString(DistinctStr) } diff --git a/go/vt/sqlparser/ast_funcs.go b/go/vt/sqlparser/ast_funcs.go index 06ee82a9620..f64ae6b9ae5 100644 --- a/go/vt/sqlparser/ast_funcs.go +++ b/go/vt/sqlparser/ast_funcs.go @@ -1728,17 +1728,6 @@ func ContainsAggregation(e SQLNode) bool { return hasAggregates } -/*func IsAggregation(node SQLNode) (bool, string) { - fExpr, ok := node.(Expr) - if ok { - switch expr := fExpr.(type) { - case AggrFunc: - return true, expr.AggrName() - } - } - return false, "" -}*/ - func IsDistinct(expr Expr) bool { if aggr, ok := expr.(AggrFunc); ok { return aggr.isDistinct() diff --git a/go/vt/sqlparser/ast_rewrite.go b/go/vt/sqlparser/ast_rewrite.go index 8d36d74a38b..d4fc8161062 100644 --- a/go/vt/sqlparser/ast_rewrite.go +++ b/go/vt/sqlparser/ast_rewrite.go @@ -2557,8 +2557,8 @@ func (a *application) rewriteRefOfGroupConcatExpr(parent SQLNode, node *GroupCon return true } } - if !a.rewriteSelectExprs(node, node.Exprs, func(newNode, parent SQLNode) { - parent.(*GroupConcatExpr).Exprs = newNode.(SelectExprs) + if !a.rewriteExprs(node, node.Exprs, func(newNode, parent SQLNode) { + parent.(*GroupConcatExpr).Exprs = newNode.(Exprs) }) { return false } @@ -6931,6 +6931,8 @@ func (a *application) rewriteAggrFunc(parent SQLNode, node AggrFunc, replacer re return a.rewriteRefOfCount(parent, node, replacer) case *CountStar: return a.rewriteRefOfCountStar(parent, node, replacer) + case *GroupConcatExpr: + return a.rewriteRefOfGroupConcatExpr(parent, node, replacer) case *Max: return a.rewriteRefOfMax(parent, node, replacer) case *Min: diff --git a/go/vt/sqlparser/ast_visit.go b/go/vt/sqlparser/ast_visit.go index 37529163fac..cf19b2ecf19 100644 --- a/go/vt/sqlparser/ast_visit.go +++ b/go/vt/sqlparser/ast_visit.go @@ -1413,7 +1413,7 @@ func VisitRefOfGroupConcatExpr(in *GroupConcatExpr, f Visit) error { if cont, err := f(in); err != nil || !cont { return err } - if err := VisitSelectExprs(in.Exprs, f); err != nil { + if err := VisitExprs(in.Exprs, f); err != nil { return err } if err := VisitOrderBy(in.OrderBy, f); err != nil { @@ -3383,6 +3383,8 @@ func VisitAggrFunc(in AggrFunc, f Visit) error { return VisitRefOfCount(in, f) case *CountStar: return VisitRefOfCountStar(in, f) + case *GroupConcatExpr: + return VisitRefOfGroupConcatExpr(in, f) case *Max: return VisitRefOfMax(in, f) case *Min: diff --git a/go/vt/sqlparser/cached_size.go b/go/vt/sqlparser/cached_size.go index 67acfbe2578..71ab6ae24d3 100644 --- a/go/vt/sqlparser/cached_size.go +++ b/go/vt/sqlparser/cached_size.go @@ -337,7 +337,7 @@ func (cached *Avg) CachedSize(alloc bool) int64 { } size := int64(0) if alloc { - size += int64(32) + size += int64(48) } // field Args vitess.io/vitess/go/vt/sqlparser.Exprs { @@ -348,6 +348,8 @@ func (cached *Avg) CachedSize(alloc bool) int64 { } } } + // field Name string + size += hack.RuntimeAllocSize(int64(len(cached.Name))) return size } func (cached *BetweenExpr) CachedSize(alloc bool) int64 { @@ -747,7 +749,7 @@ func (cached *Count) CachedSize(alloc bool) int64 { } size := int64(0) if alloc { - size += int64(32) + size += int64(48) } // field Args vitess.io/vitess/go/vt/sqlparser.Exprs { @@ -758,6 +760,8 @@ func (cached *Count) CachedSize(alloc bool) int64 { } } } + // field Name string + size += hack.RuntimeAllocSize(int64(len(cached.Name))) return size } func (cached *CountStar) CachedSize(alloc bool) int64 { @@ -766,8 +770,10 @@ func (cached *CountStar) CachedSize(alloc bool) int64 { } size := int64(0) if alloc { - size += int64(8) + size += int64(24) } + // field Name string + size += hack.RuntimeAllocSize(int64(len(cached.Name))) return size } func (cached *CreateDatabase) CachedSize(alloc bool) int64 { @@ -1225,9 +1231,9 @@ func (cached *GroupConcatExpr) CachedSize(alloc bool) int64 { } size := int64(0) if alloc { - size += int64(80) + size += int64(96) } - // field Exprs vitess.io/vitess/go/vt/sqlparser.SelectExprs + // field Exprs vitess.io/vitess/go/vt/sqlparser.Exprs { size += hack.RuntimeAllocSize(int64(cap(cached.Exprs)) * int64(16)) for _, elem := range cached.Exprs { @@ -1247,6 +1253,8 @@ func (cached *GroupConcatExpr) CachedSize(alloc bool) int64 { size += hack.RuntimeAllocSize(int64(len(cached.Separator))) // field Limit *vitess.io/vitess/go/vt/sqlparser.Limit size += cached.Limit.CachedSize(true) + // field Name string + size += hack.RuntimeAllocSize(int64(len(cached.Name))) return size } func (cached *IndexColumn) CachedSize(alloc bool) int64 { @@ -2098,7 +2106,7 @@ func (cached *Max) CachedSize(alloc bool) int64 { } size := int64(0) if alloc { - size += int64(32) + size += int64(48) } // field Args vitess.io/vitess/go/vt/sqlparser.Exprs { @@ -2109,6 +2117,8 @@ func (cached *Max) CachedSize(alloc bool) int64 { } } } + // field Name string + size += hack.RuntimeAllocSize(int64(len(cached.Name))) return size } func (cached *MemberOfExpr) CachedSize(alloc bool) int64 { @@ -2135,7 +2145,7 @@ func (cached *Min) CachedSize(alloc bool) int64 { } size := int64(0) if alloc { - size += int64(32) + size += int64(48) } // field Args vitess.io/vitess/go/vt/sqlparser.Exprs { @@ -2146,6 +2156,8 @@ func (cached *Min) CachedSize(alloc bool) int64 { } } } + // field Name string + size += hack.RuntimeAllocSize(int64(len(cached.Name))) return size } func (cached *ModifyColumn) CachedSize(alloc bool) int64 { @@ -3118,7 +3130,7 @@ func (cached *Sum) CachedSize(alloc bool) int64 { } size := int64(0) if alloc { - size += int64(32) + size += int64(48) } // field Args vitess.io/vitess/go/vt/sqlparser.Exprs { @@ -3129,6 +3141,8 @@ func (cached *Sum) CachedSize(alloc bool) int64 { } } } + // field Name string + size += hack.RuntimeAllocSize(int64(len(cached.Name))) return size } func (cached *TableAndLockType) CachedSize(alloc bool) int64 { diff --git a/go/vt/sqlparser/sql.go b/go/vt/sqlparser/sql.go index a7a48c78ec9..a209ae34921 100644 --- a/go/vt/sqlparser/sql.go +++ b/go/vt/sqlparser/sql.go @@ -466,36 +466,36 @@ const CONVERT = 57763 const CAST = 57764 const SUBSTR = 57765 const SUBSTRING = 57766 -const GROUP_CONCAT = 57767 -const SEPARATOR = 57768 -const TIMESTAMPADD = 57769 -const TIMESTAMPDIFF = 57770 -const WEIGHT_STRING = 57771 -const LTRIM = 57772 -const RTRIM = 57773 -const TRIM = 57774 -const JSON_ARRAY = 57775 -const JSON_OBJECT = 57776 -const JSON_QUOTE = 57777 -const JSON_DEPTH = 57778 -const JSON_TYPE = 57779 -const JSON_LENGTH = 57780 -const JSON_VALID = 57781 -const JSON_ARRAY_APPEND = 57782 -const JSON_ARRAY_INSERT = 57783 -const JSON_INSERT = 57784 -const JSON_MERGE = 57785 -const JSON_MERGE_PATCH = 57786 -const JSON_MERGE_PRESERVE = 57787 -const JSON_REMOVE = 57788 -const JSON_REPLACE = 57789 -const JSON_SET = 57790 -const JSON_UNQUOTE = 57791 -const COUNT = 57792 -const AVG = 57793 -const MAX = 57794 -const MIN = 57795 -const SUM = 57796 +const SEPARATOR = 57767 +const TIMESTAMPADD = 57768 +const TIMESTAMPDIFF = 57769 +const WEIGHT_STRING = 57770 +const LTRIM = 57771 +const RTRIM = 57772 +const TRIM = 57773 +const JSON_ARRAY = 57774 +const JSON_OBJECT = 57775 +const JSON_QUOTE = 57776 +const JSON_DEPTH = 57777 +const JSON_TYPE = 57778 +const JSON_LENGTH = 57779 +const JSON_VALID = 57780 +const JSON_ARRAY_APPEND = 57781 +const JSON_ARRAY_INSERT = 57782 +const JSON_INSERT = 57783 +const JSON_MERGE = 57784 +const JSON_MERGE_PATCH = 57785 +const JSON_MERGE_PRESERVE = 57786 +const JSON_REMOVE = 57787 +const JSON_REPLACE = 57788 +const JSON_SET = 57789 +const JSON_UNQUOTE = 57790 +const COUNT = 57791 +const AVG = 57792 +const MAX = 57793 +const MIN = 57794 +const SUM = 57795 +const GROUP_CONCAT = 57796 const REGEXP_INSTR = 57797 const REGEXP_LIKE = 57798 const REGEXP_REPLACE = 57799 @@ -1088,7 +1088,6 @@ var yyToknames = [...]string{ "CAST", "SUBSTR", "SUBSTRING", - "GROUP_CONCAT", "SEPARATOR", "TIMESTAMPADD", "TIMESTAMPDIFF", @@ -1118,6 +1117,7 @@ var yyToknames = [...]string{ "MAX", "MIN", "SUM", + "GROUP_CONCAT", "REGEXP_INSTR", "REGEXP_LIKE", "REGEXP_REPLACE", @@ -1320,2275 +1320,2370 @@ var yyExca = [...]int{ 173, 153, 334, 153, -2, 507, - -1, 715, + -1, 716, 218, 1338, -2, 1334, - -1, 716, + -1, 717, 218, 1339, -2, 1335, - -1, 791, + -1, 792, 59, 834, -2, 849, - -1, 828, - 148, 1755, - -2, 112, -1, 829, + 148, 1756, + -2, 112, + -1, 830, 148, 1590, -2, 113, - -1, 835, - 148, 1676, + -1, 836, + 148, 1677, -2, 1311, - -1, 983, + -1, 984, 148, 1517, -2, 1308, - -1, 1024, + -1, 1025, 244, 41, 249, 41, -2, 395, - -1, 1108, + -1, 1109, 1, 554, 621, 554, -2, 153, - -1, 1356, + -1, 1357, 59, 835, -2, 854, - -1, 1357, + -1, 1358, 59, 836, -2, 855, - -1, 1410, + -1, 1411, 132, 153, 173, 153, 334, 153, -2, 434, - -1, 1489, + -1, 1490, 133, 384, 239, 384, -2, 487, - -1, 1498, + -1, 1499, 244, 42, 249, 42, -2, 396, - -1, 1812, + -1, 1813, 218, 1343, -2, 1337, - -1, 1900, + -1, 1901, 132, 153, 173, 153, 334, 153, -2, 435, - -1, 1907, + -1, 1908, 25, 174, -2, 176, - -1, 2166, + -1, 2167, 87, 39, -2, 891, - -1, 2223, + -1, 2224, 77, 94, 87, 94, -2, 911, - -1, 2291, + -1, 2292, 596, 666, -2, 640, - -1, 2440, + -1, 2441, 49, 1279, -2, 1273, - -1, 2670, + -1, 2671, 87, 39, -2, 892, - -1, 2708, + -1, 2709, 7, 53, 18, 53, 20, 53, 88, 53, -2, 883, - -1, 3010, + -1, 3012, 596, 666, -2, 654, - -1, 3077, - 22, 1678, - 32, 1678, - 174, 1678, - 256, 1678, - 314, 1678, - 315, 1678, - 316, 1678, - 317, 1678, - 318, 1678, - 319, 1678, - 320, 1678, - 322, 1678, - 323, 1678, - 324, 1678, - 325, 1678, - 326, 1678, - 327, 1678, - 328, 1678, - 329, 1678, - 330, 1678, - 331, 1678, - 332, 1678, - 333, 1678, - 335, 1678, - 337, 1678, - 338, 1678, - 339, 1678, - 340, 1678, - 341, 1678, - 342, 1678, - 343, 1678, - 344, 1678, - 345, 1678, - 348, 1678, - 349, 1678, - 350, 1678, - 351, 1678, - 352, 1678, - 353, 1678, - 354, 1678, - 355, 1678, - 356, 1678, - 478, 1678, + -1, 3079, + 22, 1679, + 32, 1679, + 174, 1679, + 256, 1679, + 314, 1679, + 315, 1679, + 316, 1679, + 317, 1679, + 318, 1679, + 319, 1679, + 320, 1679, + 322, 1679, + 323, 1679, + 324, 1679, + 325, 1679, + 326, 1679, + 327, 1679, + 328, 1679, + 329, 1679, + 330, 1679, + 331, 1679, + 332, 1679, + 333, 1679, + 335, 1679, + 337, 1679, + 338, 1679, + 339, 1679, + 340, 1679, + 341, 1679, + 342, 1679, + 343, 1679, + 344, 1679, + 345, 1679, + 348, 1679, + 349, 1679, + 350, 1679, + 351, 1679, + 352, 1679, + 353, 1679, + 354, 1679, + 355, 1679, + 356, 1679, + 478, 1679, -2, 598, } const yyPrivate = 57344 -const yyLast = 45064 +const yyLast = 45402 var yyAct = [...]int{ - 715, 2813, 2814, 2395, 2812, 3110, 3139, 3149, 2991, 724, - 3111, 1897, 2785, 2589, 3075, 1413, 3053, 2937, 2495, 2502, - 1830, 1171, 2552, 2543, 2116, 2557, 2772, 1832, 2831, 2554, - 96, 2553, 2453, 2154, 627, 705, 2551, 2556, 717, 2555, - 1335, 2967, 784, 2572, 2510, 1967, 2456, 2571, 623, 2836, - 1371, 186, 2457, 2194, 186, 1850, 588, 186, 2673, 2454, - 2394, 2351, 603, 806, 186, 2679, 3, 718, 649, 2393, - 1854, 1870, 186, 702, 2574, 704, 37, 703, 2451, 2441, - 2181, 1930, 2610, 2665, 2256, 2699, 1467, 186, 2217, 619, - 2334, 2594, 1935, 1120, 2288, 1955, 2257, 621, 2258, 833, - 155, 1875, 1998, 1886, 2206, 2187, 2173, 786, 615, 603, - 986, 1874, 603, 186, 603, 36, 2156, 1782, 807, 38, - 1781, 1717, 1707, 2014, 1358, 141, 1806, 1937, 1976, 2250, - 830, 1954, 1665, 1514, 2326, 1496, 1014, 1149, 1019, 1402, - 2225, 1862, 1380, 1877, 632, 91, 1338, 1614, 1258, 1729, - 1192, 1610, 1684, 788, 993, 792, 95, 1025, 1503, 1594, - 1952, 1855, 994, 1022, 1401, 990, 1385, 1032, 1020, 1399, - 798, 1224, 1778, 809, 1725, 1021, 1169, 1163, 119, 1619, - 159, 117, 118, 98, 1926, 1462, 1488, 124, 125, 820, - 796, 1104, 97, 85, 610, 793, 3000, 76, 102, 794, - 1261, 620, 2281, 89, 3140, 1265, 1969, 1970, 1971, 1823, - 2562, 2773, 2540, 1969, 2310, 2309, 2012, 559, 188, 189, - 190, 2279, 2728, 2559, 814, 8, 819, 7, 120, 6, - 2562, 2765, 1579, 795, 77, 126, 800, 2342, 592, 104, - 105, 2343, 108, 3023, 2817, 114, 90, 1061, 183, 3024, - 987, 554, 87, 1193, 188, 189, 190, 2817, 1827, 1828, - 611, 592, 1672, 1671, 1670, 1669, 1668, 1667, 2560, 785, - 834, 780, 781, 782, 783, 787, 1650, 791, 827, 1012, - 3096, 2152, 1011, 1193, 613, 2437, 614, 2646, 2560, 2002, - 2566, 808, 1035, 2301, 2183, 1010, 1036, 120, 1009, 1008, - 3114, 801, 1659, 589, 998, 822, 823, 1003, 3160, 1809, - 2566, 1062, 1065, 1066, 1365, 3109, 3085, 3130, 2000, 2304, - 1677, 1077, 1071, 2611, 2933, 2932, 1060, 1059, 2778, 2816, - 3083, 2779, 3157, 2001, 3024, 3063, 3143, 3019, 78, 3089, - 3090, 78, 2816, 78, 1225, 3123, 80, 2512, 2513, 2786, - 575, 592, 3054, 2056, 3084, 78, 1995, 3062, 1946, 1203, - 2350, 3018, 573, 3080, 2628, 120, 2942, 1226, 1227, 1228, - 1229, 1230, 1231, 1232, 1234, 1233, 1235, 1236, 1477, 2197, - 2492, 2493, 2153, 1940, 2318, 1892, 1893, 2849, 2317, 1203, - 2491, 2341, 2234, 1858, 1007, 2233, 1113, 1114, 2235, 1403, - 2563, 1404, 570, 2053, 2198, 1891, 1156, 1166, 1158, 1127, - 1107, 584, 1139, 778, 1128, 777, 87, 2992, 2054, 87, - 2563, 87, 1126, 2246, 1125, 1127, 580, 2282, 1116, 1002, - 1128, 592, 1004, 87, 1144, 1145, 592, 1829, 1910, 1909, - 593, 2383, 2591, 2619, 592, 2676, 1155, 1157, 2190, 2191, - 1140, 1133, 1005, 2511, 2617, 601, 1658, 605, 1199, 599, - 2352, 1191, 1600, 593, 2595, 2514, 1342, 2327, 2015, 2289, - 1977, 3115, 1078, 2026, 2023, 2025, 2024, 2027, 2028, 2584, - 2313, 2032, 3142, 2033, 1595, 2034, 1858, 2585, 1199, 2020, - 1160, 1103, 3116, 2593, 1109, 560, 1148, 562, 576, 2329, - 595, 2767, 594, 566, 1569, 564, 568, 577, 569, 2766, - 563, 2035, 574, 1165, 1084, 565, 578, 579, 582, 585, - 586, 587, 583, 581, 1939, 572, 596, 2592, 1007, 1146, - 999, 716, 1660, 1661, 1662, 1141, 1134, 1001, 1000, 1147, - 1142, 1143, 2354, 1153, 2021, 1083, 2017, 1154, 1570, 2917, - 1571, 87, 2019, 593, 186, 1045, 186, 1159, 1043, 186, - 1980, 1007, 1102, 1015, 2763, 1481, 1871, 1016, 1239, 1016, - 1006, 1054, 1053, 1345, 1052, 3097, 1856, 1857, 1051, 1050, - 1049, 1152, 187, 1048, 1047, 187, 1005, 1042, 187, 603, - 1173, 603, 603, 604, 2018, 187, 1055, 1239, 2384, 2514, - 991, 3161, 3121, 187, 991, 1028, 603, 603, 2364, 2363, - 2362, 2356, 991, 2360, 1064, 2355, 989, 2353, 187, 1027, - 1027, 1611, 2358, 1953, 1063, 821, 1106, 2054, 1502, 1137, - 1034, 2357, 2330, 593, 2006, 1073, 2157, 2159, 593, 1607, - 604, 1034, 1179, 604, 187, 604, 593, 1067, 2359, 2361, - 2533, 2312, 2346, 1475, 1123, 3153, 1129, 1130, 1131, 1132, - 1198, 1195, 1196, 1197, 1202, 1204, 1201, 1601, 1200, 1856, - 1857, 1602, 1603, 1474, 1185, 1194, 2762, 1473, 2299, 1167, - 1168, 2068, 2999, 37, 1608, 2333, 1471, 2943, 2280, 558, - 1198, 1195, 1196, 1197, 1202, 1204, 1201, 1999, 1200, 553, - 1046, 1013, 2988, 1044, 1006, 1194, 2248, 597, 2283, 2315, - 2325, 2715, 1997, 2324, 1898, 2695, 2230, 1161, 2193, 1056, - 1240, 1241, 1105, 2140, 1822, 590, 1242, 1243, 1244, 1245, - 1033, 2677, 1389, 3005, 1501, 1310, 1250, 1006, 1253, 1118, - 591, 1033, 3088, 2188, 1034, 1239, 1174, 1027, 1030, 1031, - 1236, 991, 116, 2490, 803, 1024, 1028, 1164, 2370, 1328, - 3013, 1943, 1057, 1122, 2564, 2565, 3017, 1175, 1176, 2758, - 111, 2272, 81, 1150, 1620, 2689, 1023, 2568, 186, 1246, - 2016, 1604, 603, 603, 2564, 2565, 3087, 2336, 1405, 1189, - 2303, 1730, 2335, 2726, 2727, 2815, 1208, 2568, 186, 2158, - 2845, 1944, 1333, 1581, 1580, 1582, 1583, 1584, 2815, 1942, - 86, 2055, 1994, 86, 1599, 86, 2733, 603, 786, 1351, - 1034, 186, 1730, 2732, 2082, 1984, 603, 86, 1136, 1511, - 1349, 1510, 603, 1188, 2302, 1186, 1500, 1187, 1992, 1138, - 112, 77, 1334, 1945, 1033, 2336, 1072, 830, 1346, 1263, - 2335, 1264, 1764, 1941, 1207, 1208, 1124, 3117, 1267, 1112, - 1034, 1348, 1115, 1058, 1209, 1352, 1045, 1034, 1043, 1989, - 3151, 788, 1989, 3152, 3032, 3150, 1074, 1075, 1076, 2716, - 1079, 1080, 1081, 1082, 3162, 2097, 1085, 1086, 1087, 1088, - 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, - 1099, 1100, 1101, 1996, 1121, 1334, 1993, 1350, 1689, 1991, - 1390, 95, 1316, 1317, 1318, 1319, 1320, 3033, 1151, 1621, - 1033, 1339, 1690, 1237, 1238, 1688, 1027, 1030, 1031, 1400, - 991, 3155, 2925, 2981, 1024, 1028, 3118, 1108, 98, 2924, - 1756, 1745, 1746, 1747, 1748, 1758, 1749, 1750, 1751, 1763, - 1759, 1752, 1753, 1760, 1761, 1762, 1754, 1755, 1757, 1596, - 1033, 1597, 3008, 1589, 1598, 1037, 1027, 1033, 2915, 3163, - 1039, 1336, 1037, 1027, 1040, 1038, 2982, 1039, 2805, 1347, - 785, 1040, 1038, 2060, 2061, 2062, 186, 834, 1370, 1353, - 1463, 2804, 1209, 787, 2740, 1041, 1206, 1209, 1207, 1208, - 1472, 2739, 1587, 1367, 1229, 1230, 1231, 1232, 1234, 1233, - 1235, 1236, 1395, 1396, 1231, 1232, 1234, 1233, 1235, 1236, - 1863, 1864, 87, 603, 2792, 1498, 2793, 1588, 1365, 1209, - 729, 730, 731, 1507, 2729, 1734, 1687, 1509, 825, 1735, - 1512, 1513, 603, 603, 2541, 603, 2529, 603, 603, 2254, - 603, 603, 603, 603, 603, 603, 1213, 1214, 1215, 1216, - 1217, 1218, 1219, 1211, 1544, 1545, 1586, 603, 2253, 1949, - 1508, 186, 1550, 1226, 1227, 1228, 1229, 1230, 1231, 1232, - 1234, 1233, 1235, 1236, 1576, 187, 1590, 187, 186, 1209, - 187, 1574, 1573, 1572, 1679, 1681, 1682, 1543, 1209, 1562, - 1546, 603, 1556, 186, 1227, 1228, 1229, 1230, 1231, 1232, - 1234, 1233, 1235, 1236, 1609, 1564, 2625, 603, 1680, 186, - 604, 1553, 604, 604, 1206, 1209, 1207, 1208, 1552, 1206, - 1551, 1207, 1208, 1494, 1523, 186, 1209, 604, 604, 188, - 189, 190, 186, 2723, 1487, 188, 189, 190, 1575, 2237, - 1374, 186, 186, 186, 186, 186, 186, 186, 186, 186, - 603, 1206, 3007, 1207, 1208, 1209, 2985, 2984, 1506, 1209, - 2372, 2983, 3127, 1365, 603, 603, 1516, 1547, 1517, 2078, - 1519, 1521, 1365, 2920, 1525, 1527, 1529, 1531, 1533, 1470, - 1505, 2905, 186, 188, 189, 190, 2904, 1965, 1504, 1504, - 1375, 2844, 1476, 2842, 1484, 1485, 1483, 2801, 3125, 1365, - 1497, 188, 189, 190, 1365, 1963, 2737, 2722, 1616, 3070, - 1365, 1206, 2596, 1207, 1208, 2950, 2532, 1624, 2531, 1548, - 1206, 2263, 1207, 1208, 1628, 2251, 1630, 1631, 1632, 1633, - 603, 1330, 2010, 1637, 1711, 1715, 1209, 2009, 3068, 1365, - 1714, 1714, 2077, 1720, 603, 1649, 1685, 1206, 2949, 1207, - 1208, 1853, 1835, 1622, 1623, 1651, 1617, 1612, 1206, 1585, - 1207, 1208, 1209, 1577, 603, 603, 1567, 1627, 1563, 1712, - 1712, 188, 189, 190, 1634, 1635, 1636, 1010, 1559, 120, - 1009, 1008, 188, 189, 190, 1731, 1961, 1206, 1558, 1207, - 1208, 1206, 1683, 1207, 1208, 1557, 1376, 1162, 2588, 187, - 1178, 2179, 3141, 604, 604, 1626, 1209, 3105, 1365, 2909, - 1364, 1693, 101, 2179, 3060, 1209, 1779, 2179, 3040, 187, - 1365, 2908, 1810, 100, 1209, 99, 1647, 2784, 1648, 2179, - 3036, 186, 3028, 1365, 94, 2290, 603, 2268, 604, 1906, - 1655, 1656, 187, 1209, 2688, 3066, 1365, 604, 1209, 2179, - 3001, 2776, 2998, 604, 94, 1686, 2642, 1365, 2928, 1365, - 186, 2179, 2916, 603, 2071, 2776, 1365, 2195, 1206, 2690, - 1207, 1208, 1779, 186, 2179, 2774, 1209, 603, 1989, 1365, - 2693, 1365, 186, 1691, 186, 1205, 186, 186, 603, 2966, - 1365, 603, 3093, 1365, 1206, 2452, 1207, 1208, 2964, 1365, - 1812, 1810, 603, 1840, 2195, 1841, 2688, 2961, 1365, 830, - 1205, 1365, 830, 1365, 1692, 1907, 1694, 1695, 1696, 1697, - 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1814, - 1815, 2953, 1365, 1736, 1737, 1738, 1739, 1740, 1206, 2203, - 1207, 1208, 95, 92, 2110, 1365, 3012, 1206, 1811, 1207, - 1208, 100, 1209, 2179, 93, 2203, 1206, 603, 1207, 1208, - 3119, 95, 2522, 2521, 1956, 1957, 1958, 2518, 2519, 1960, - 1962, 1964, 1209, 1846, 1873, 1206, 2688, 1207, 1208, 1812, - 1206, 2642, 1207, 1208, 603, 1916, 1917, 1918, 1919, 2520, - 603, 1507, 2518, 2517, 1507, 1911, 1507, 1912, 1913, 1914, - 1915, 1901, 1988, 800, 1834, 2203, 1365, 187, 1206, 1365, - 1207, 1208, 1902, 1922, 1923, 1924, 1925, 2069, 1365, 1884, - 2069, 101, 2054, 2311, 1466, 2293, 2425, 1868, 2485, 1978, - 1848, 1990, 100, 1932, 99, 2664, 1365, 603, 2054, 603, - 1905, 2286, 2287, 1866, 604, 603, 603, 1716, 1890, 834, - 2226, 1938, 834, 1889, 1722, 1723, 2996, 1888, 2179, 2178, - 1466, 1465, 2069, 604, 604, 1209, 604, 2110, 604, 604, - 1904, 604, 604, 604, 604, 604, 604, 1903, 2094, 2226, - 2093, 2175, 1989, 186, 1206, 1972, 1207, 1208, 604, 1989, - 186, 1861, 187, 1369, 1975, 1825, 94, 186, 186, 1948, - 1663, 186, 1365, 186, 1206, 92, 1207, 1208, 1606, 187, - 186, 1813, 94, 2227, 1816, 1817, 93, 186, 1933, 1947, - 1951, 1209, 604, 2229, 187, 1209, 1983, 1959, 1397, 1986, - 1018, 1987, 1017, 1928, 1929, 2105, 1411, 1410, 604, 790, - 187, 3043, 2227, 186, 1982, 1981, 1035, 2003, 603, 2913, - 1036, 1985, 2054, 1933, 2069, 1845, 187, 2202, 87, 1225, - 1504, 2005, 2939, 187, 1372, 3136, 2004, 2007, 2008, 2544, - 2906, 1365, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 604, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1234, - 1233, 1235, 1236, 1209, 2073, 604, 604, 1206, 2856, 1207, - 1208, 2757, 2754, 2260, 2072, 1225, 2045, 2046, 1221, 1365, - 1222, 2048, 2203, 187, 1685, 2013, 1225, 87, 2345, 2735, - 2049, 1478, 1479, 1480, 1223, 1237, 1238, 1220, 1226, 1227, - 1228, 1229, 1230, 1231, 1232, 1234, 1233, 1235, 1236, 1226, - 1227, 1228, 1229, 1230, 1231, 1232, 1234, 1233, 1235, 1236, - 2038, 2634, 2633, 1206, 1468, 1207, 1208, 1206, 1209, 1207, - 1208, 604, 1931, 2586, 1209, 2546, 2741, 2088, 2089, 2090, - 2091, 2092, 2542, 2294, 1927, 604, 2661, 1365, 2065, 1921, - 1920, 1592, 1225, 1499, 2067, 1495, 1464, 1554, 1555, 1209, - 113, 2259, 1539, 1560, 1561, 604, 604, 1209, 1107, 2700, - 2701, 2590, 2940, 1946, 2052, 1226, 1227, 1228, 1229, 1230, - 1231, 1232, 1234, 1233, 1235, 1236, 186, 2742, 2743, 2744, - 1209, 1838, 3134, 1686, 186, 1206, 1653, 1207, 1208, 603, - 2163, 2063, 3112, 1209, 2150, 603, 1714, 1378, 2745, 2260, - 3022, 2659, 1365, 1540, 1541, 1542, 603, 2623, 1365, 2958, - 2703, 2161, 2538, 2537, 2536, 1209, 2452, 2273, 1535, 2039, - 2706, 1209, 187, 2705, 2474, 1712, 1209, 604, 2081, 2475, - 186, 2472, 2125, 1365, 186, 2476, 2473, 2212, 2213, 2471, - 2117, 2064, 3099, 2066, 2167, 2746, 2747, 2748, 1654, 2236, - 1206, 187, 1207, 1208, 604, 3061, 1206, 2470, 1207, 1208, - 1209, 1852, 1373, 1377, 187, 1536, 1537, 1538, 604, 1844, - 2103, 2694, 1812, 187, 2180, 187, 2710, 187, 187, 604, - 2430, 1206, 604, 1207, 1208, 2442, 2444, 2199, 2826, 1206, - 2825, 1207, 1208, 604, 2445, 2835, 37, 603, 2429, 2759, - 1209, 2980, 2837, 186, 2662, 2219, 2684, 1605, 2681, 2644, - 186, 2439, 1206, 2189, 1207, 1208, 2680, 776, 1209, 1339, - 1811, 2176, 2151, 1209, 603, 1206, 2516, 1207, 1208, 804, - 2244, 603, 2264, 2247, 2249, 1507, 1507, 805, 2824, 1069, - 603, 2172, 1068, 2640, 2177, 2218, 2604, 1206, 604, 1207, - 1208, 2240, 1177, 1206, 2192, 1207, 1208, 2308, 1206, 1726, - 1207, 1208, 2259, 1209, 2339, 2300, 2224, 2307, 186, 186, - 186, 186, 186, 1727, 121, 604, 2228, 92, 2686, 2285, - 2231, 604, 1938, 2631, 94, 2079, 2238, 92, 93, 186, - 186, 2241, 1206, 94, 1207, 1208, 1863, 1864, 93, 101, - 3147, 2252, 2255, 2534, 2042, 186, 2630, 2997, 2935, 2515, - 100, 2216, 99, 1209, 2261, 1849, 2208, 2211, 2212, 2213, - 2209, 94, 2210, 2214, 603, 2270, 2700, 2701, 604, 2031, - 604, 2030, 1206, 2428, 1207, 1208, 604, 604, 2274, 2275, - 2276, 2427, 2269, 812, 813, 2029, 2149, 2666, 1487, 2306, - 1206, 2058, 1207, 1208, 99, 1206, 2972, 1207, 1208, 2971, - 786, 2843, 2841, 2840, 1366, 1368, 2833, 2137, 2138, 2755, - 2295, 2296, 2369, 2685, 187, 1714, 2683, 1714, 1209, 2547, - 1714, 187, 2305, 1973, 2365, 1714, 1209, 1482, 187, 187, - 811, 603, 187, 100, 187, 1206, 2148, 1207, 1208, 2674, - 2396, 187, 2396, 2832, 1712, 2396, 1712, 2347, 187, 1712, - 2396, 603, 2415, 2195, 1712, 2328, 2348, 101, 3138, 3137, - 1209, 2331, 2408, 2409, 2410, 2411, 186, 101, 100, 2175, - 603, 2401, 2337, 2385, 187, 2338, 2402, 2398, 100, 604, - 99, 2349, 2095, 1836, 603, 1206, 2366, 1207, 1208, 1391, - 1382, 603, 603, 3137, 186, 186, 186, 186, 186, 106, - 107, 2147, 3138, 2986, 2721, 2415, 186, 802, 103, 2146, - 88, 186, 1, 2725, 186, 3082, 186, 2432, 2389, 186, - 186, 186, 2455, 571, 2458, 2464, 1826, 2455, 1337, 1209, - 1363, 1359, 3113, 3078, 2484, 3079, 1209, 2403, 2404, 2405, - 2406, 2407, 1578, 2134, 1568, 1360, 1209, 2787, 2449, 1780, - 1206, 2936, 1207, 1208, 2433, 2530, 2414, 2550, 1206, 1979, - 1207, 1208, 2420, 2753, 186, 1936, 792, 1026, 1209, 2431, - 1842, 1843, 1362, 146, 1361, 1899, 1900, 603, 3056, 1209, - 2446, 2447, 110, 984, 2424, 603, 1352, 2219, 616, 109, - 186, 2434, 1206, 1029, 1207, 1208, 2466, 2467, 1135, 2469, - 1974, 2777, 2245, 186, 2486, 2465, 793, 2487, 2468, 2477, - 794, 1209, 2133, 1908, 2549, 2421, 2422, 2423, 1417, 2132, - 1616, 186, 1415, 2488, 186, 2463, 2481, 2482, 95, 2131, - 2494, 1416, 1209, 1414, 2605, 1419, 1418, 1209, 2096, 2645, - 2570, 1657, 600, 2215, 184, 2526, 2525, 187, 2524, 1406, - 1209, 2130, 1383, 1070, 561, 187, 2523, 1209, 2011, 567, - 604, 1206, 2129, 1207, 1208, 2578, 604, 1251, 1206, 2577, - 1207, 1208, 1652, 2426, 2232, 831, 2569, 604, 1206, 1938, - 1207, 1208, 1209, 824, 1837, 2165, 2460, 2548, 810, 2678, - 2581, 816, 2438, 816, 2128, 2440, 2182, 2443, 2436, 2979, - 1206, 187, 1207, 1208, 2834, 187, 2639, 2600, 3041, 2242, - 2597, 1206, 2599, 1207, 1208, 2127, 603, 186, 1209, 1379, - 2126, 2602, 2603, 2080, 1728, 2607, 1878, 1678, 2615, 2612, - 2613, 625, 2614, 2120, 2608, 2616, 624, 2618, 2621, 2620, - 2119, 622, 2168, 1206, 2196, 1207, 1208, 1212, 2208, 2211, - 2212, 2213, 2209, 1209, 2210, 2214, 719, 2155, 1392, 2207, - 2205, 2204, 1209, 2040, 1206, 2118, 1207, 1208, 604, 1206, - 1885, 1207, 1208, 1209, 187, 2672, 186, 2702, 2698, 3074, - 1880, 187, 1206, 1876, 1207, 1208, 1209, 2174, 694, 1206, - 633, 1207, 1208, 626, 2724, 604, 2667, 2668, 618, 2718, - 2576, 2115, 604, 2314, 2587, 186, 2316, 2675, 2697, 2243, - 2682, 604, 2583, 1190, 1206, 1355, 1207, 1208, 1209, 2707, - 612, 997, 2687, 2941, 186, 3003, 2057, 186, 186, 186, - 2713, 2714, 2627, 1354, 1743, 1744, 2114, 603, 603, 187, - 187, 187, 187, 187, 2704, 2113, 2711, 3010, 2558, 2771, - 1206, 2539, 1207, 1208, 2291, 1966, 2111, 2719, 63, 41, - 187, 187, 2578, 2720, 2712, 1771, 2577, 607, 3095, 2107, - 1181, 1363, 1359, 1732, 818, 32, 187, 1733, 2736, 31, - 2738, 603, 603, 603, 603, 1206, 1360, 1207, 1208, 30, - 29, 28, 2760, 2761, 1206, 604, 1207, 1208, 23, 22, - 21, 2106, 20, 19, 25, 1206, 18, 1207, 1208, 17, - 16, 1356, 1357, 1362, 2561, 1361, 3108, 3146, 1206, 115, - 1207, 1208, 50, 2783, 47, 45, 123, 122, 48, 44, - 1110, 42, 27, 26, 15, 14, 13, 2781, 2782, 12, - 1714, 11, 1714, 10, 9, 1366, 1824, 5, 4, 2262, - 1206, 35, 1207, 1208, 2265, 2266, 34, 33, 1184, 24, - 186, 2, 604, 2278, 1968, 2396, 0, 2396, 0, 1712, - 0, 1712, 0, 0, 2796, 0, 0, 0, 1847, 0, - 2829, 2800, 604, 0, 603, 0, 603, 0, 0, 0, - 0, 0, 0, 2809, 0, 0, 0, 187, 2818, 0, - 2808, 604, 0, 0, 2858, 0, 0, 0, 0, 0, - 1714, 0, 0, 2455, 0, 604, 2458, 2838, 786, 0, - 2458, 2830, 604, 604, 0, 187, 187, 187, 187, 187, - 2854, 2852, 0, 2848, 2839, 0, 0, 187, 2846, 1712, - 0, 182, 187, 0, 0, 187, 0, 187, 603, 2850, - 187, 187, 187, 0, 0, 2859, 2860, 0, 37, 0, - 2862, 186, 0, 0, 603, 121, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 603, 164, 0, - 1950, 0, 0, 0, 0, 0, 0, 0, 2926, 2918, - 2910, 2912, 2911, 0, 0, 187, 0, 0, 2938, 0, - 0, 2794, 0, 2914, 2955, 2956, 0, 0, 604, 2930, - 2931, 2959, 0, 0, 603, 0, 604, 1714, 603, 603, + 716, 2814, 3141, 2815, 2993, 3112, 2813, 725, 3151, 2396, + 3113, 1898, 2786, 1414, 3077, 2590, 3055, 1831, 718, 1851, + 2496, 2503, 2117, 2939, 2544, 807, 2553, 2773, 785, 2558, + 2555, 1172, 3, 2454, 2969, 2554, 2552, 705, 37, 2557, + 2556, 1833, 96, 706, 2457, 2155, 2832, 2511, 1968, 2573, + 1372, 186, 2458, 1336, 186, 2572, 589, 186, 624, 2455, + 2674, 621, 604, 2195, 186, 1057, 2680, 2352, 2837, 2395, + 1855, 703, 186, 704, 649, 719, 1871, 2575, 2394, 2452, + 2700, 2442, 2182, 2666, 2611, 622, 1931, 186, 620, 2335, + 2257, 2218, 1468, 2289, 1956, 1936, 2595, 987, 1999, 834, + 2207, 808, 2258, 1887, 2259, 1875, 38, 1359, 2174, 604, + 2157, 155, 604, 186, 604, 789, 1782, 793, 36, 787, + 2188, 616, 1783, 1708, 1807, 1515, 2327, 141, 1977, 1150, + 1876, 1666, 1497, 1955, 1863, 810, 1938, 2015, 2251, 95, + 831, 1020, 1015, 1403, 2226, 1878, 1381, 1718, 1727, 1339, + 1615, 633, 1685, 1258, 1193, 1611, 1504, 1026, 91, 1023, + 994, 1595, 1953, 991, 1033, 1927, 1402, 995, 1021, 1022, + 1400, 1386, 1121, 799, 1734, 1856, 628, 1779, 1225, 1164, + 1463, 1489, 124, 1620, 125, 1170, 795, 1105, 821, 797, + 611, 97, 76, 119, 117, 1265, 98, 85, 794, 118, + 1261, 3002, 2282, 159, 89, 3142, 1970, 1971, 1972, 1059, + 2774, 2541, 1970, 2311, 2310, 2013, 2280, 1580, 2766, 2343, + 1824, 8, 1075, 1076, 1077, 102, 1080, 1081, 1082, 1083, + 126, 560, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, + 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 801, + 815, 120, 820, 988, 796, 77, 612, 90, 1062, 2563, + 7, 6, 1810, 2344, 2818, 2729, 104, 105, 786, 108, + 788, 3025, 114, 3026, 2818, 183, 1828, 1829, 555, 828, + 188, 189, 190, 1194, 835, 1673, 1672, 593, 1036, 2563, + 1671, 1670, 1669, 1037, 1668, 809, 1012, 1651, 781, 782, + 783, 784, 2560, 614, 792, 615, 1660, 1063, 1066, 1067, + 1011, 1010, 802, 2153, 3098, 2438, 1009, 2561, 2647, 1072, + 120, 1366, 3116, 2302, 2184, 1004, 999, 2003, 1013, 182, + 3162, 87, 823, 824, 1194, 1078, 3111, 3132, 2305, 2567, + 2001, 1678, 593, 2612, 2935, 2934, 1061, 2561, 1060, 2817, + 188, 189, 190, 121, 2779, 1947, 3145, 2780, 3021, 2817, + 3159, 3065, 3026, 2057, 3125, 2787, 164, 3056, 3087, 2567, + 182, 2002, 1996, 78, 3064, 78, 80, 3020, 2351, 3082, + 1941, 78, 3085, 78, 1859, 2630, 2154, 1478, 120, 1204, + 1226, 3091, 3092, 593, 121, 2493, 2494, 2319, 2492, 2513, + 2514, 2318, 1108, 1893, 1894, 2198, 3086, 164, 1404, 2240, + 1405, 2342, 2944, 1227, 1228, 1229, 1230, 1231, 1232, 1233, + 1235, 1234, 1236, 1237, 161, 2054, 162, 1892, 2055, 1167, + 2199, 1140, 2850, 779, 1008, 590, 1114, 1115, 2235, 778, + 1204, 2234, 2994, 2283, 2236, 1128, 181, 1145, 1146, 2564, + 1129, 87, 1128, 87, 2247, 1830, 1141, 1129, 1127, 87, + 1126, 87, 1134, 1911, 1910, 161, 2677, 162, 1117, 2191, + 2192, 2384, 593, 2620, 593, 593, 2592, 2618, 602, 2564, + 1659, 1765, 576, 606, 2596, 600, 1570, 181, 1200, 594, + 1343, 1192, 1006, 3117, 574, 2027, 2024, 2026, 2025, 2028, + 2029, 2290, 2328, 1601, 2585, 2512, 1978, 2314, 2021, 1104, + 2016, 3144, 2586, 1079, 3118, 1596, 1859, 2515, 2353, 1143, + 1144, 1940, 2033, 1161, 2034, 1110, 2035, 1149, 2330, 2768, + 1571, 2767, 1572, 2036, 571, 1166, 1661, 1662, 1663, 1200, + 1085, 1142, 1147, 585, 594, 1084, 2020, 1135, 2594, 2018, + 2764, 2919, 1148, 1008, 1103, 186, 165, 186, 581, 1046, + 186, 2593, 1981, 2022, 1044, 171, 87, 1857, 1858, 1757, + 1746, 1747, 1748, 1749, 1759, 1750, 1751, 1752, 1764, 1760, + 1753, 1754, 1761, 1762, 1763, 1755, 1756, 1758, 2019, 1872, + 604, 1174, 604, 604, 1016, 594, 1017, 165, 1017, 1055, + 2355, 1054, 1053, 1052, 1051, 1050, 171, 604, 604, 3099, + 1007, 2515, 1482, 1056, 1049, 1048, 1043, 1346, 1107, 1240, + 1157, 992, 1159, 3123, 3163, 992, 1029, 561, 2385, 563, + 577, 822, 596, 1028, 595, 567, 1240, 565, 569, 578, + 570, 1186, 564, 2055, 575, 2334, 37, 566, 579, 580, + 583, 586, 587, 588, 584, 582, 1503, 573, 597, 3155, + 1156, 1158, 2763, 1138, 1612, 1954, 2365, 2364, 2363, 2357, + 2331, 2361, 2007, 2356, 594, 2354, 594, 594, 2158, 2160, + 2359, 992, 156, 1608, 1180, 990, 1068, 3001, 2281, 2358, + 1199, 1196, 1197, 1198, 1203, 1205, 1202, 2249, 1201, 1857, + 1858, 2534, 2313, 2347, 1047, 1195, 2360, 2362, 1602, 1045, + 1162, 1476, 1603, 1604, 1106, 1243, 1244, 1245, 1246, 2000, + 2069, 1475, 2316, 156, 2284, 1251, 1474, 1254, 2300, 1007, + 1609, 1472, 559, 2945, 1124, 554, 1130, 1131, 1132, 1133, + 2990, 1199, 1196, 1197, 1198, 1203, 1205, 1202, 3007, 1201, + 1014, 1998, 2678, 2716, 1035, 2696, 1195, 1154, 1944, 1168, + 1169, 1155, 1502, 1065, 2326, 1334, 1074, 2325, 2231, 1028, + 2194, 1160, 1175, 1064, 1241, 1242, 2189, 1176, 1177, 186, + 2141, 1823, 3019, 604, 604, 1390, 1035, 1247, 1582, 1581, + 1583, 1584, 1585, 1600, 3090, 1153, 1311, 1119, 1945, 186, + 116, 2491, 81, 2337, 1899, 2337, 1943, 1240, 2336, 1237, + 2336, 1347, 804, 2565, 2566, 2816, 1165, 1350, 604, 111, + 2304, 2056, 186, 3015, 1349, 2816, 2569, 604, 1353, 1151, + 1189, 787, 1352, 604, 789, 157, 2727, 2728, 3089, 598, + 1946, 2159, 169, 2565, 2566, 86, 1335, 86, 1267, 1263, + 1942, 1264, 1058, 86, 1034, 86, 2569, 591, 831, 2759, + 2690, 2017, 1137, 77, 2303, 1728, 1605, 2082, 1406, 1187, + 1188, 1621, 592, 1139, 3153, 1035, 157, 3154, 1123, 3152, + 1190, 1116, 1113, 169, 177, 2370, 1034, 1125, 1210, 112, + 1035, 1351, 1028, 1031, 1032, 95, 992, 1728, 2273, 1209, + 1025, 1029, 1329, 1317, 1318, 1319, 1320, 1321, 2846, 1335, + 2734, 1864, 1865, 158, 163, 160, 166, 167, 168, 170, + 172, 173, 174, 175, 1340, 177, 1208, 1209, 2733, 176, + 178, 179, 180, 1985, 1512, 1210, 1511, 1501, 1597, 1990, + 1598, 1990, 1997, 1599, 1230, 1231, 1232, 1233, 1235, 1234, + 1236, 1237, 98, 1210, 158, 163, 160, 166, 167, 168, + 170, 172, 173, 174, 175, 3119, 1995, 1993, 1337, 1046, + 176, 178, 179, 180, 1152, 1034, 1994, 1073, 1992, 1210, + 786, 2717, 1044, 1003, 1348, 1109, 1005, 186, 1371, 788, + 1034, 1464, 1210, 1035, 1391, 1035, 1028, 1031, 1032, 3157, + 992, 1473, 835, 1210, 1025, 1029, 1232, 1233, 1235, 1234, + 1236, 1237, 1396, 1397, 1690, 1368, 1622, 1354, 2927, 1122, + 1207, 3164, 1208, 1209, 604, 1024, 1499, 2926, 1691, 1238, + 1239, 1689, 1401, 2793, 1508, 2794, 3129, 1366, 1510, 2917, + 3034, 1513, 1514, 604, 604, 2806, 604, 2983, 604, 604, + 1210, 604, 604, 604, 604, 604, 604, 1214, 1215, 1216, + 1217, 1218, 1219, 1220, 1212, 1545, 1546, 1207, 604, 1208, + 1209, 2805, 186, 1551, 2741, 2118, 2372, 2740, 1479, 1480, + 1481, 2730, 1008, 3035, 1000, 1207, 2711, 1208, 1209, 186, + 2984, 1002, 1001, 1034, 2589, 1034, 2542, 2530, 1038, 1028, + 1038, 1028, 604, 1040, 186, 1040, 3165, 1041, 1039, 1041, + 1039, 1207, 1366, 1208, 1209, 1610, 2255, 87, 604, 1732, + 186, 1495, 2254, 1733, 1207, 1950, 1208, 1209, 1042, 1591, + 1565, 1688, 1210, 3127, 1366, 1207, 186, 1208, 1209, 1575, + 1006, 826, 1574, 186, 1555, 1556, 1590, 1488, 1210, 1573, + 1561, 1562, 186, 186, 186, 186, 186, 186, 186, 186, + 186, 604, 730, 731, 732, 1548, 1507, 1563, 1557, 1517, + 1554, 1518, 1553, 1520, 1522, 604, 604, 1526, 1528, 1530, + 1532, 1534, 1207, 1552, 1208, 1209, 1471, 1524, 3120, 1506, + 1680, 1682, 1683, 186, 3010, 1375, 1505, 1505, 1588, 1577, + 1485, 1486, 3009, 1484, 2987, 2986, 1498, 2061, 2062, 2063, + 1589, 2985, 2922, 1509, 1681, 3072, 1366, 2907, 1210, 1617, + 1228, 1229, 1230, 1231, 1232, 1233, 1235, 1234, 1236, 1237, + 1477, 3070, 1366, 2906, 188, 189, 190, 1179, 2724, 2098, + 1544, 604, 2845, 1547, 1549, 1376, 2843, 1210, 2802, 1715, + 1715, 1712, 1716, 2738, 1721, 604, 1623, 1624, 1007, 2723, + 1713, 1713, 1587, 1576, 1207, 1686, 1208, 1209, 2072, 2597, + 1628, 1210, 1613, 2533, 2532, 604, 604, 1635, 1636, 1637, + 1207, 2264, 1208, 1209, 2252, 1693, 1331, 1695, 1696, 1697, + 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, + 2011, 1226, 1684, 1011, 1010, 717, 2010, 1625, 1854, 1009, + 1694, 1836, 1652, 120, 1629, 1618, 1631, 1632, 1633, 1634, + 1627, 1586, 1578, 1638, 1227, 1228, 1229, 1230, 1231, 1232, + 1233, 1235, 1234, 1236, 1237, 1650, 1366, 1210, 1568, 1564, + 1780, 1649, 186, 1811, 1560, 1559, 1648, 604, 1558, 1377, + 1207, 1210, 1208, 1209, 3068, 1366, 187, 1210, 1163, 187, + 1656, 1657, 187, 2689, 188, 189, 190, 605, 2238, 187, + 2952, 186, 2951, 1687, 604, 2911, 1841, 187, 1842, 1207, + 2910, 1208, 1209, 92, 186, 188, 189, 190, 604, 1966, + 1210, 94, 187, 186, 93, 186, 1780, 186, 186, 604, + 2785, 1692, 604, 1207, 2291, 1208, 1209, 2691, 188, 189, + 190, 1813, 1964, 604, 605, 2180, 3143, 605, 187, 605, + 2968, 1366, 1811, 188, 189, 190, 1908, 1962, 3107, 1366, + 831, 2180, 3062, 831, 2966, 1366, 95, 1729, 1815, 1816, + 2963, 1366, 2180, 3042, 1737, 1738, 1739, 1740, 1741, 1366, + 1366, 1210, 188, 189, 190, 95, 1210, 2180, 3038, 3030, + 1366, 1210, 1812, 2180, 3003, 2777, 3000, 1847, 604, 1207, + 1210, 1208, 1209, 2955, 1366, 1957, 1958, 1959, 2269, 2626, + 1961, 1963, 1965, 1207, 1907, 1208, 1209, 1206, 1874, 1207, + 1813, 1208, 1209, 2643, 1366, 604, 1917, 1918, 1919, 1920, + 2196, 604, 1508, 2930, 1366, 1508, 3014, 1508, 2180, 2918, + 1903, 1717, 1912, 1989, 1913, 1914, 1915, 1916, 1723, 1724, + 1835, 2180, 1207, 1902, 1208, 1209, 1991, 801, 2486, 1885, + 1923, 1924, 1925, 1926, 2665, 1366, 2777, 1366, 2055, 2662, + 1366, 1869, 100, 2074, 1849, 1366, 1979, 2453, 604, 1933, + 604, 101, 2196, 2073, 1906, 2204, 604, 604, 2689, 1867, + 2643, 1939, 100, 2521, 99, 2176, 1890, 2180, 2775, 1889, + 1990, 1366, 2204, 94, 835, 1814, 101, 835, 1817, 1818, + 94, 1905, 1904, 1207, 1990, 1208, 1209, 100, 1207, 99, + 1208, 1209, 1976, 1207, 186, 1208, 1209, 2694, 1366, 92, + 1210, 186, 1207, 1949, 1208, 1209, 94, 2426, 186, 186, + 93, 1206, 186, 1891, 186, 1206, 1366, 2070, 2499, 1846, + 2111, 186, 2111, 1366, 2689, 1929, 1930, 1934, 186, 2523, + 2522, 3095, 1366, 1952, 1984, 1948, 2095, 1987, 2070, 1988, + 1960, 2519, 2520, 2519, 2518, 2004, 1210, 2204, 1366, 2070, + 1366, 2055, 2312, 1036, 186, 1210, 1982, 1366, 1037, 604, + 1986, 1983, 1934, 2500, 3045, 1366, 1467, 2294, 1505, 1226, + 2094, 2346, 1210, 2006, 2545, 2287, 2288, 2005, 2227, 2008, + 2009, 1210, 2106, 2660, 1366, 1226, 2180, 2179, 1222, 2502, + 1223, 2079, 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1235, + 1234, 1236, 1237, 2497, 1224, 1238, 1239, 1221, 1227, 1228, + 1229, 1230, 1231, 1232, 1233, 1235, 1234, 1236, 1237, 1210, + 2513, 2514, 1467, 1466, 2203, 2014, 1990, 2498, 1973, 2624, + 1366, 1862, 1207, 1686, 1208, 1209, 1379, 1210, 2126, 1366, + 1370, 2228, 1826, 1226, 1664, 2068, 1412, 1411, 1210, 2227, + 1607, 2230, 2065, 1398, 2067, 1210, 1366, 1019, 1018, 1210, + 2504, 87, 2941, 2261, 2078, 2039, 1227, 1228, 1229, 1230, + 1231, 1232, 1233, 1235, 1234, 1236, 1237, 2066, 1207, 2204, + 1208, 1209, 1210, 791, 1373, 2908, 2857, 1207, 2088, 1208, + 1209, 2089, 2090, 2091, 2092, 2093, 2046, 2047, 2758, 2755, + 2736, 2049, 1378, 2635, 1207, 2634, 1208, 1209, 1469, 1210, + 2050, 1932, 2228, 1207, 2587, 1208, 1209, 2547, 1210, 2053, + 2543, 1366, 2055, 2295, 1210, 1928, 2512, 186, 1210, 1922, + 2746, 1921, 3121, 1593, 1500, 186, 1210, 1108, 2515, 2998, + 604, 1687, 2064, 2915, 1496, 1715, 604, 2164, 1465, 113, + 2591, 1207, 3138, 1208, 1209, 2151, 1713, 604, 1210, 2168, + 187, 87, 187, 1210, 2942, 187, 2760, 2260, 1947, 1207, + 1839, 1208, 1209, 2701, 2702, 2081, 2162, 2747, 2748, 2749, + 1207, 186, 1208, 1209, 3136, 186, 3114, 1207, 3024, 1208, + 1209, 1207, 2663, 1208, 1209, 605, 1374, 605, 605, 2960, + 2237, 2645, 1654, 2704, 2200, 2539, 2538, 2641, 2707, 37, + 2706, 2632, 605, 605, 1207, 2261, 1208, 1209, 2220, 2631, + 1210, 1365, 2537, 1813, 2453, 2181, 2104, 1227, 1228, 1229, + 1230, 1231, 1232, 1233, 1235, 1234, 1236, 1237, 2274, 2040, + 2472, 1207, 2256, 1208, 1209, 1210, 2150, 2501, 604, 2471, + 1207, 3101, 1208, 1209, 186, 2177, 1207, 3063, 1208, 1209, + 1207, 186, 1208, 1209, 1655, 2827, 1853, 2826, 1207, 1845, + 1208, 1209, 1340, 2742, 1812, 604, 2152, 1210, 2475, 2190, + 2695, 2431, 604, 2476, 2248, 2250, 1508, 1508, 2430, 1536, + 1207, 604, 1208, 1209, 2286, 1207, 2473, 1208, 1209, 2219, + 2982, 2474, 2178, 2149, 2836, 2173, 2263, 2838, 2309, 2193, + 2440, 2266, 2267, 2241, 1540, 2825, 2225, 2685, 2308, 186, + 186, 186, 186, 186, 2743, 2744, 2745, 2477, 2148, 2213, + 2214, 2229, 1939, 1210, 2682, 2232, 1537, 1538, 1539, 805, + 186, 186, 2681, 2239, 1606, 2242, 2517, 806, 1210, 2443, + 2445, 777, 1207, 2245, 1208, 1209, 186, 2265, 2446, 1735, + 2147, 2253, 1070, 1069, 2605, 1541, 1542, 1543, 2301, 2260, + 92, 2138, 2139, 1736, 2262, 604, 92, 1207, 1210, 1208, + 1209, 93, 2340, 94, 187, 1178, 2270, 93, 605, 605, + 2271, 2275, 2276, 2277, 121, 2687, 1864, 1865, 3149, 2307, + 94, 1488, 2535, 2505, 187, 2043, 2999, 2509, 2937, 1207, + 2516, 1208, 1209, 2217, 1850, 2508, 2135, 1210, 2296, 2297, + 2429, 1210, 2379, 605, 1715, 2032, 1715, 187, 2428, 1715, + 2031, 2134, 605, 2306, 1715, 1713, 787, 1713, 605, 2030, + 1713, 2366, 604, 813, 814, 1713, 1210, 2667, 2059, 2510, + 99, 2974, 2973, 101, 2506, 2349, 2844, 2348, 2329, 2507, + 2842, 2133, 604, 101, 100, 1207, 99, 1208, 1209, 2841, + 2834, 2332, 2756, 2416, 100, 2338, 99, 186, 2339, 2686, + 1207, 604, 1208, 1209, 2684, 94, 2409, 2410, 2411, 2412, + 2548, 2402, 1974, 1483, 812, 604, 2403, 2399, 2367, 100, + 2132, 2833, 604, 604, 2131, 186, 186, 186, 186, 186, + 1207, 2675, 1208, 1209, 2196, 3140, 3139, 186, 2350, 2176, + 2386, 2450, 186, 2096, 101, 186, 2416, 186, 1837, 2130, + 186, 186, 186, 1392, 2390, 100, 1210, 2465, 2433, 793, + 1383, 3139, 2485, 2459, 2404, 2405, 2406, 2407, 2408, 1207, + 3140, 1208, 1209, 1207, 2988, 1208, 1209, 106, 107, 1353, + 2220, 1210, 2722, 803, 103, 2415, 2531, 2421, 2434, 88, + 2209, 2212, 2213, 2214, 2210, 186, 2211, 2215, 1207, 1, + 1208, 1209, 2432, 2726, 1210, 2435, 3084, 2425, 604, 572, + 1827, 1338, 187, 2397, 3115, 2397, 604, 3080, 2397, 3081, + 1579, 186, 1569, 2397, 1210, 2788, 2447, 2448, 795, 1781, + 2466, 2938, 2551, 2469, 186, 2571, 2478, 1980, 2487, 2129, + 794, 2488, 95, 2422, 2423, 2424, 2528, 2529, 2464, 605, + 2754, 1617, 186, 1937, 2489, 186, 2467, 2468, 1210, 2470, + 2482, 2483, 1027, 146, 2128, 2606, 1900, 1901, 605, 605, + 3058, 605, 2495, 605, 605, 2525, 605, 605, 605, 605, + 605, 605, 2527, 2526, 1364, 1360, 110, 2127, 1207, 985, + 1208, 1209, 109, 605, 2579, 2456, 2578, 187, 1030, 1361, + 2456, 1136, 1975, 2778, 2246, 2549, 1909, 2121, 1418, 1939, + 2570, 1416, 1210, 1207, 187, 1208, 1209, 1417, 1415, 1420, + 2582, 1419, 2097, 2646, 1843, 1844, 1363, 605, 1362, 187, + 1210, 1658, 601, 2216, 184, 2640, 1207, 1407, 1208, 1209, + 1384, 2120, 2600, 605, 2601, 187, 2598, 604, 186, 1071, + 562, 1210, 2524, 2609, 2012, 2608, 1207, 568, 1208, 1209, + 1252, 187, 1653, 2427, 2616, 2233, 2613, 2614, 187, 2615, + 1210, 2622, 2617, 832, 2619, 825, 2621, 187, 187, 187, + 187, 187, 187, 187, 187, 187, 605, 2550, 1838, 2166, + 1207, 1210, 1208, 1209, 2461, 2119, 1210, 1364, 1360, 2679, + 605, 605, 2439, 2441, 2183, 2444, 1210, 186, 2437, 2981, + 2835, 3043, 1361, 2116, 2243, 1380, 2673, 2080, 187, 1726, + 1879, 1679, 626, 625, 623, 2725, 2169, 2668, 2669, 2197, + 1213, 2603, 2604, 720, 2115, 2156, 186, 1357, 1358, 1363, + 2676, 1362, 1393, 2683, 1207, 2208, 1208, 1209, 2206, 2698, + 2708, 2205, 2041, 2114, 2688, 186, 1886, 2703, 186, 186, + 186, 2699, 1207, 3076, 1208, 1209, 605, 1881, 604, 604, + 2705, 2714, 2715, 1877, 2112, 2175, 695, 634, 627, 2108, + 605, 619, 2712, 1207, 2719, 1208, 1209, 2761, 2762, 2107, + 2577, 2579, 2315, 2578, 2720, 2731, 2732, 2721, 2713, 2588, + 605, 605, 1207, 2317, 1208, 1209, 2244, 2584, 1191, 2737, + 1356, 2739, 604, 604, 604, 604, 613, 998, 2943, 3005, + 2058, 2629, 1355, 1207, 1744, 1208, 1209, 1745, 1207, 3012, + 1208, 1209, 2559, 2772, 2540, 2292, 1967, 63, 1207, 41, + 1208, 1209, 1772, 608, 3097, 1182, 819, 2765, 32, 31, + 30, 2769, 2770, 2771, 2784, 2209, 2212, 2213, 2214, 2210, + 29, 2211, 2215, 28, 23, 2701, 2702, 187, 22, 1715, + 21, 1715, 605, 20, 19, 2801, 2782, 2783, 617, 25, + 1713, 18, 1713, 17, 16, 2562, 3110, 3148, 115, 50, + 47, 186, 2795, 45, 123, 122, 187, 48, 44, 605, + 1111, 42, 27, 26, 15, 2797, 14, 13, 2830, 187, + 12, 11, 10, 605, 9, 604, 5, 604, 187, 4, + 187, 35, 187, 187, 605, 34, 33, 605, 1185, 24, + 2, 2279, 1969, 2810, 0, 2819, 1367, 1369, 605, 1715, + 2809, 2859, 0, 0, 0, 0, 2851, 2855, 0, 0, + 1713, 37, 0, 0, 2831, 2459, 0, 0, 0, 2459, + 2853, 787, 0, 0, 2849, 0, 2840, 2839, 0, 2847, + 0, 0, 0, 0, 0, 0, 0, 0, 811, 604, + 0, 817, 0, 817, 0, 0, 0, 0, 0, 0, + 0, 0, 186, 605, 0, 604, 2860, 2861, 2916, 0, + 0, 2863, 0, 0, 0, 0, 0, 0, 604, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 605, 2912, 0, 0, 0, 2914, 605, 0, 2920, 0, + 0, 2913, 0, 2928, 0, 2957, 0, 2958, 2397, 2940, + 2397, 0, 0, 2932, 0, 604, 1715, 2933, 2961, 604, + 604, 0, 2923, 2924, 2925, 0, 0, 1713, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 605, 0, 605, 0, 0, 604, 0, + 0, 605, 605, 2975, 2976, 0, 2456, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2977, 2992, 2978, 0, + 0, 2991, 0, 0, 0, 0, 0, 0, 2980, 2995, + 0, 0, 0, 0, 2459, 2989, 0, 0, 0, 187, + 0, 0, 3108, 787, 0, 0, 187, 0, 0, 604, + 0, 0, 1435, 187, 187, 0, 0, 187, 0, 187, + 0, 0, 0, 0, 186, 0, 187, 0, 2997, 0, + 0, 0, 0, 187, 0, 0, 0, 0, 0, 0, + 0, 0, 604, 186, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 3011, 187, + 0, 3016, 0, 3004, 605, 3008, 0, 0, 0, 0, + 3013, 0, 0, 0, 0, 37, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 604, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 604, 604, 0, 0, 0, + 0, 3041, 3036, 0, 0, 0, 0, 3046, 0, 0, + 0, 604, 3044, 0, 0, 0, 0, 37, 3057, 3049, + 186, 604, 3054, 3051, 0, 3066, 2940, 3059, 3050, 3048, + 0, 0, 3053, 3052, 1423, 0, 0, 3075, 0, 0, + 0, 3093, 0, 0, 3083, 3088, 2871, 2873, 2872, 2882, + 2883, 2884, 2885, 2886, 2887, 2888, 661, 0, 3100, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 3109, 0, 0, 0, 604, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 604, 0, + 0, 0, 0, 3124, 0, 3122, 0, 0, 1715, 3137, + 3134, 3133, 3131, 3135, 0, 0, 0, 0, 0, 1713, + 0, 0, 187, 0, 0, 0, 1436, 0, 0, 3150, + 187, 0, 0, 0, 0, 605, 3158, 0, 0, 3156, + 0, 605, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 605, 0, 0, 2456, 0, 0, 3168, 3169, + 1715, 2958, 3166, 3167, 0, 0, 0, 0, 0, 0, + 0, 1713, 0, 0, 1730, 0, 187, 0, 1731, 0, + 187, 0, 0, 0, 1449, 1452, 1453, 1454, 1455, 1456, + 1457, 0, 1458, 1459, 1460, 1461, 1462, 1437, 1438, 1439, + 1440, 1421, 1422, 1450, 0, 1424, 0, 1425, 1426, 1427, + 1428, 1429, 1430, 1431, 1432, 1433, 0, 0, 1434, 1441, + 1442, 1443, 1444, 1445, 1446, 1447, 1448, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 605, 0, 0, 0, 1367, 1825, 187, + 0, 0, 0, 0, 0, 0, 187, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1211, 0, 0, + 605, 0, 0, 0, 0, 0, 0, 605, 0, 0, + 1848, 0, 0, 0, 0, 0, 605, 0, 0, 0, + 0, 0, 0, 0, 1259, 0, 0, 2877, 2878, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 187, 187, 187, 187, 187, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 187, 187, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1451, 0, + 0, 187, 0, 0, 0, 0, 0, 0, 707, 0, + 650, 711, 652, 708, 709, 0, 648, 651, 710, 0, + 605, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1951, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 659, 660, 2870, 2874, 2875, 2876, + 2879, 2880, 2881, 2889, 2891, 684, 2890, 2892, 2893, 2894, + 2897, 2898, 2899, 2900, 2895, 2896, 2901, 2864, 2868, 2865, + 2866, 2867, 2869, 2902, 2903, 2904, 2905, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 605, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 605, 0, 0, + 0, 1382, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 187, 0, 0, 0, 605, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 605, 0, 0, 0, 0, 0, 0, 605, 605, 0, + 187, 187, 187, 187, 187, 0, 0, 0, 0, 0, + 0, 0, 187, 0, 0, 0, 0, 187, 0, 0, + 187, 0, 187, 0, 0, 187, 187, 187, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 78, 39, + 40, 80, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 84, 0, + 0, 0, 43, 69, 70, 0, 67, 71, 0, 0, + 187, 0, 0, 0, 0, 68, 0, 0, 696, 0, + 0, 0, 0, 605, 0, 0, 0, 0, 0, 0, + 0, 605, 0, 0, 0, 0, 187, 0, 0, 0, + 0, 0, 0, 0, 56, 0, 0, 0, 0, 187, + 0, 0, 0, 0, 0, 0, 87, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 187, 0, 2071, + 187, 0, 0, 2075, 0, 2076, 2077, 0, 0, 0, + 603, 2084, 0, 0, 2085, 2086, 1470, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2099, + 2100, 2101, 2102, 2103, 0, 2105, 0, 833, 0, 0, + 989, 2109, 996, 2110, 0, 0, 0, 2113, 0, 0, + 0, 0, 0, 0, 0, 2122, 2123, 2124, 2125, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2136, 2137, + 0, 0, 605, 187, 0, 0, 2142, 2143, 2144, 2145, + 2146, 0, 0, 0, 0, 0, 1848, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2163, 0, 0, + 0, 46, 49, 52, 51, 54, 0, 66, 0, 0, + 75, 72, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1619, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 187, 55, 83, 82, 0, 0, 64, 65, + 53, 0, 0, 0, 0, 0, 73, 74, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 187, 0, 161, 0, 162, 0, - 0, 0, 0, 0, 0, 0, 1712, 603, 0, 2976, - 0, 0, 187, 2975, 0, 187, 0, 0, 181, 2973, - 2974, 0, 0, 0, 2978, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2458, 0, 0, 0, 2498, - 786, 0, 0, 0, 0, 0, 2987, 0, 0, 0, - 0, 0, 2993, 0, 0, 0, 0, 603, 0, 0, - 0, 0, 2990, 0, 0, 0, 1210, 0, 2989, 0, - 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2499, 0, 0, 0, 0, 0, - 603, 186, 0, 0, 1259, 0, 0, 0, 0, 3006, - 0, 0, 0, 3002, 0, 3009, 0, 604, 187, 0, - 2501, 0, 2995, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2496, 0, 0, 0, 165, 2527, - 2528, 0, 0, 0, 0, 0, 0, 171, 0, 603, - 0, 2512, 2513, 0, 0, 3014, 0, 0, 2497, 0, - 0, 0, 3011, 0, 0, 0, 0, 0, 0, 0, - 0, 37, 0, 603, 603, 0, 0, 187, 0, 3034, - 0, 2455, 0, 0, 3044, 0, 0, 0, 0, 603, - 3055, 2503, 0, 3047, 2938, 3057, 3052, 2070, 186, 603, - 3049, 2074, 3048, 2075, 2076, 3064, 187, 3046, 3051, 0, - 3050, 0, 2084, 0, 0, 2085, 2086, 3039, 3073, 3091, - 3081, 3086, 0, 0, 3042, 187, 0, 0, 187, 187, - 187, 0, 0, 37, 3098, 0, 0, 0, 604, 604, - 0, 0, 0, 0, 0, 0, 0, 2098, 2099, 2100, - 2101, 2102, 3107, 2104, 603, 0, 0, 2511, 0, 2108, - 0, 2109, 0, 0, 156, 2112, 603, 0, 0, 2514, - 1381, 3122, 3132, 2121, 2122, 2123, 2124, 3135, 1714, 3131, - 3129, 3133, 604, 604, 604, 604, 2135, 2136, 0, 0, - 0, 0, 0, 0, 2141, 2142, 2143, 2144, 2145, 0, - 0, 3148, 0, 0, 1847, 0, 3154, 1712, 3156, 3120, - 0, 0, 0, 0, 0, 2162, 0, 0, 0, 0, - 0, 0, 0, 0, 3164, 0, 3166, 3167, 2956, 3165, - 1714, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1712, - 695, 187, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2500, 0, - 0, 0, 0, 0, 0, 604, 0, 604, 2730, 2731, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 157, 0, 0, - 0, 0, 602, 0, 169, 0, 182, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2764, 0, 0, 0, 2768, 2769, 2770, 0, 0, 604, - 121, 0, 0, 0, 0, 1469, 0, 0, 0, 0, - 0, 0, 187, 164, 0, 604, 177, 0, 0, 832, - 0, 0, 988, 0, 995, 0, 0, 0, 604, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 158, 163, 160, 166, 167, - 168, 170, 172, 173, 174, 175, 2239, 0, 0, 0, - 0, 176, 178, 179, 180, 604, 0, 0, 0, 604, - 604, 161, 0, 162, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2504, 0, 0, 0, 2508, 0, - 0, 0, 0, 181, 0, 0, 2507, 0, 604, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2373, 2374, - 2375, 2376, 2377, 2378, 0, 0, 0, 2382, 0, 0, - 2509, 1618, 0, 0, 0, 2505, 0, 0, 0, 0, - 2506, 0, 0, 0, 0, 0, 0, 2397, 604, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 187, 0, 0, 0, 0, 2412, 2413, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 604, 187, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2921, 2922, 2923, 0, 0, - 0, 0, 0, 165, 0, 0, 0, 0, 0, 0, - 0, 0, 171, 0, 1673, 1674, 1675, 1676, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 604, 2461, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2479, 2480, - 0, 0, 0, 0, 604, 604, 816, 1718, 1719, 0, - 0, 0, 0, 816, 816, 1724, 0, 0, 0, 0, - 604, 0, 0, 0, 0, 0, 0, 0, 0, 187, - 604, 0, 0, 0, 0, 1765, 1766, 1767, 1768, 1769, - 1770, 1772, 1776, 1777, 0, 1783, 1784, 1785, 1786, 1787, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 187, 0, 0, 187, 187, 187, 57, 58, 0, 59, + 60, 61, 62, 605, 605, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1674, 1675, 1676, 1677, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 605, 605, 605, + 605, 0, 0, 0, 0, 0, 0, 817, 1719, 1720, + 0, 0, 0, 0, 817, 817, 1725, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1766, 1767, 1768, 1769, + 1770, 1771, 1773, 1777, 1778, 0, 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1794, 1795, 1796, 1797, - 1798, 1799, 1800, 1801, 1802, 1803, 1804, 1805, 816, 0, - 816, 816, 816, 816, 816, 0, 0, 0, 0, 156, - 1818, 1819, 1820, 1821, 0, 604, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 604, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 816, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2606, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1859, 1860, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2622, 2624, 2626, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2632, 0, 1896, 0, 0, 2636, 2637, 2638, - 0, 0, 0, 0, 2641, 0, 0, 0, 0, 0, - 2643, 0, 0, 2647, 2648, 2649, 2650, 2651, 2652, 2653, - 2654, 2655, 2656, 0, 0, 2657, 0, 2658, 2660, 0, - 2663, 0, 0, 0, 0, 2669, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1434, 0, 0, 0, 0, - 0, 0, 0, 1934, 0, 0, 0, 0, 0, 0, - 0, 0, 157, 0, 0, 0, 0, 0, 0, 169, - 2691, 2692, 0, 0, 2696, 0, 0, 0, 0, 832, - 0, 832, 832, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2708, 2709, 0, 0, 1180, 1182, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 177, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 158, 163, 160, 166, 167, 168, 170, 172, 173, 174, - 175, 0, 0, 0, 0, 0, 176, 178, 179, 180, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2775, 0, 0, 0, 0, 1422, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1331, 0, 0, 0, 0, - 0, 2795, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2797, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2806, 0, 0, 0, - 2807, 0, 0, 0, 0, 0, 2811, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1435, - 0, 0, 1343, 1344, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1387, 0, 0, - 0, 0, 0, 0, 816, 0, 832, 0, 0, 2083, - 0, 0, 1407, 0, 0, 0, 0, 1448, 1451, 1452, - 1453, 1454, 1455, 1456, 0, 1457, 1458, 1459, 1460, 1461, - 1436, 1437, 1438, 1439, 1420, 1421, 1449, 0, 1423, 0, - 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 0, - 1259, 1433, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 182, - 0, 0, 2927, 0, 0, 0, 0, 0, 0, 0, - 0, 2934, 0, 0, 0, 0, 816, 816, 0, 0, - 0, 0, 0, 121, 0, 143, 0, 0, 0, 2944, - 2945, 2946, 0, 2947, 2948, 0, 164, 0, 0, 2951, - 0, 2952, 0, 2954, 2957, 726, 79, 0, 0, 0, - 2960, 2962, 2963, 2965, 2968, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 153, 0, 0, - 1381, 0, 0, 142, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2994, 0, 161, 0, 162, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1450, 130, 131, 152, 151, 181, 0, 0, 0, - 0, 0, 0, 789, 0, 79, 0, 0, 0, 0, - 0, 0, 0, 988, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 789, 0, 0, 1331, 0, 0, 0, - 0, 0, 1515, 1515, 0, 1515, 0, 1515, 1515, 996, - 1524, 1515, 1515, 1515, 1515, 1515, 0, 0, 0, 0, - 0, 0, 3016, 1331, 0, 0, 1331, 988, 0, 0, - 0, 0, 0, 0, 0, 0, 3021, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3029, 0, - 0, 0, 0, 0, 3030, 3031, 0, 0, 0, 0, - 0, 1591, 0, 0, 147, 128, 154, 135, 127, 0, - 148, 149, 3037, 0, 0, 0, 165, 1613, 0, 0, - 0, 0, 0, 0, 0, 171, 136, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 139, 137, 132, 133, 134, 138, 3065, 3067, 3069, 0, - 0, 0, 129, 0, 0, 0, 0, 0, 2344, 0, - 832, 140, 0, 0, 0, 0, 3094, 0, 816, 0, - 0, 0, 0, 0, 832, 832, 2367, 2368, 0, 0, - 0, 2371, 0, 0, 0, 3100, 0, 0, 0, 0, - 0, 0, 2379, 2380, 2381, 3104, 0, 0, 0, 0, - 0, 0, 0, 0, 2386, 2387, 2388, 0, 0, 1783, - 2390, 0, 2391, 2392, 0, 0, 0, 2399, 2400, 0, - 0, 0, 3124, 3126, 3128, 1783, 1783, 1783, 1783, 1783, - 0, 0, 0, 0, 0, 0, 0, 0, 816, 0, - 1708, 0, 156, 0, 0, 2416, 2417, 2418, 2419, 0, - 0, 0, 0, 0, 1721, 0, 0, 0, 0, 0, - 0, 1331, 0, 0, 0, 3158, 3159, 0, 0, 0, - 0, 0, 0, 0, 1741, 1742, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2450, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 832, 0, 0, 0, 0, 0, 0, 182, 0, - 150, 2483, 0, 0, 0, 1340, 0, 0, 0, 2284, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 121, 0, 143, 0, 1839, 0, 0, 0, - 0, 0, 0, 0, 0, 164, 0, 0, 0, 0, - 0, 0, 144, 0, 0, 145, 0, 0, 0, 0, - 0, 0, 0, 1851, 0, 0, 0, 0, 0, 556, - 0, 2545, 0, 0, 0, 0, 153, 1387, 0, 606, - 832, 0, 142, 0, 0, 157, 0, 779, 832, 0, - 0, 832, 169, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 988, 161, 0, 162, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1490, 1491, 152, 151, 181, 0, 0, 992, 0, - 0, 0, 0, 0, 177, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 995, 0, 0, - 0, 2629, 0, 158, 163, 160, 166, 167, 168, 170, - 172, 173, 174, 175, 2635, 0, 0, 0, 0, 176, - 178, 179, 180, 0, 988, 0, 0, 0, 0, 0, - 995, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1170, 0, 1170, 1170, 0, 0, - 0, 0, 0, 147, 1492, 154, 0, 1489, 0, 148, - 149, 0, 0, 79, 0, 165, 0, 988, 0, 1708, - 0, 0, 0, 0, 171, 1708, 1708, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 789, 1247, 1248, 1249, 0, 1252, 0, 1254, 1255, 1256, - 1257, 0, 1260, 1262, 1262, 0, 1262, 1266, 1266, 1268, - 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, - 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, - 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, - 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, - 0, 1309, 0, 1311, 1312, 1313, 1314, 1315, 0, 0, - 0, 2756, 1266, 1266, 1266, 1266, 1266, 1321, 1322, 1323, - 1324, 0, 0, 0, 0, 0, 0, 0, 2051, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 156, 0, 0, 2780, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1341, 0, 0, 0, 0, - 0, 789, 2798, 0, 2799, 789, 0, 0, 0, 2802, - 2803, 789, 0, 182, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2810, 1486, 0, 0, 0, 0, 150, - 0, 0, 0, 0, 0, 0, 0, 121, 2819, 143, - 2820, 2821, 0, 2822, 0, 0, 0, 0, 0, 0, - 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2847, 0, - 0, 144, 0, 0, 145, 0, 0, 0, 0, 2855, - 0, 153, 2857, 0, 0, 0, 0, 142, 0, 0, - 0, 0, 0, 0, 0, 0, 2861, 0, 0, 0, - 0, 0, 0, 832, 157, 0, 0, 0, 161, 0, - 162, 169, 0, 0, 2907, 0, 0, 0, 0, 1851, - 0, 0, 0, 0, 0, 2169, 1490, 1491, 152, 151, - 181, 0, 0, 0, 0, 0, 2184, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 177, 0, 0, 0, 0, 0, 1111, - 0, 1117, 0, 0, 1119, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 158, 163, 160, 166, 167, 168, 170, 172, - 173, 174, 175, 0, 0, 0, 0, 0, 176, 178, - 179, 180, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2977, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2267, 147, 1492, - 154, 0, 1489, 0, 148, 149, 0, 0, 0, 0, - 165, 0, 0, 0, 0, 0, 0, 0, 0, 171, - 0, 0, 0, 0, 1851, 0, 0, 0, 0, 0, - 0, 2292, 0, 0, 0, 0, 0, 0, 0, 0, - 2297, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2869, 2871, 2870, 2880, 2881, 2882, 2883, 2884, - 2885, 2886, 660, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 696, 0, 0, - 0, 0, 3020, 0, 0, 0, 0, 0, 0, 0, - 3025, 0, 0, 3026, 0, 3027, 0, 0, 0, 0, - 0, 0, 0, 0, 1708, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 156, 0, 0, 0, - 0, 0, 0, 0, 0, 1170, 0, 0, 185, 0, - 0, 557, 0, 0, 598, 0, 0, 0, 0, 1170, - 1170, 557, 0, 0, 0, 0, 1331, 0, 1331, 557, - 0, 1331, 0, 0, 0, 0, 1331, 0, 0, 0, - 0, 0, 0, 0, 799, 0, 0, 0, 0, 0, - 0, 832, 3092, 0, 0, 0, 1394, 0, 0, 0, - 817, 0, 817, 0, 0, 0, 0, 0, 0, 0, - 557, 1515, 0, 0, 150, 3101, 0, 3102, 0, 3103, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2435, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 832, 0, 0, 0, 1331, 0, - 0, 2462, 1515, 1331, 0, 0, 144, 0, 0, 145, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3144, 0, 3145, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 157, - 0, 0, 0, 2875, 2876, 0, 169, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 988, 177, 0, - 1331, 0, 0, 0, 0, 1851, 0, 0, 0, 0, - 0, 0, 0, 0, 706, 0, 650, 710, 652, 707, - 708, 1412, 648, 651, 709, 0, 0, 158, 163, 160, - 166, 167, 168, 170, 172, 173, 174, 175, 0, 0, - 0, 1879, 0, 176, 178, 179, 180, 0, 0, 0, - 0, 658, 659, 2868, 2872, 2873, 2874, 2877, 2878, 2879, - 2887, 2889, 683, 2888, 2890, 2891, 2892, 2895, 2896, 2897, - 2898, 2893, 2894, 2899, 2863, 2867, 2864, 2865, 2866, 2900, - 2901, 2902, 2903, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1549, 0, 0, 0, - 0, 0, 996, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2435, 0, 1593, 0, - 0, 0, 0, 0, 0, 996, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1625, 0, 0, 0, 0, 0, 0, 1629, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1640, 1641, - 1642, 1643, 1644, 1645, 1646, 0, 0, 0, 0, 0, - 78, 39, 40, 80, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 84, 0, 0, 0, 43, 69, 70, 1666, 67, 71, - 0, 0, 0, 0, 0, 0, 0, 68, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1851, 1851, 0, - 0, 0, 0, 0, 0, 0, 56, 0, 0, 0, - 0, 2164, 0, 0, 727, 728, 0, 0, 87, 3106, - 1713, 0, 0, 0, 0, 0, 0, 0, 0, 1434, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2788, 2789, 2790, 2791, 0, 0, 0, 0, 0, - 0, 557, 0, 557, 0, 0, 557, 0, 0, 0, - 0, 0, 0, 2059, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1331, 0, 1331, 0, 0, 734, 735, 736, 737, - 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, - 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, - 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, - 768, 769, 770, 771, 772, 773, 774, 775, 0, 1331, - 0, 0, 0, 0, 2851, 0, 2853, 0, 0, 0, - 0, 0, 0, 46, 49, 52, 51, 54, 1865, 66, - 0, 0, 75, 72, 0, 0, 0, 1869, 0, 1872, - 0, 1422, 1666, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 55, 83, 82, 0, 0, - 64, 65, 53, 0, 0, 0, 2139, 0, 73, 74, - 0, 0, 0, 0, 0, 0, 0, 0, 1851, 0, - 0, 0, 0, 0, 0, 0, 0, 2160, 0, 0, - 0, 0, 1332, 0, 2929, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 789, 0, 832, 57, 58, - 0, 59, 60, 61, 62, 0, 0, 0, 0, 0, - 0, 0, 0, 1435, 0, 0, 2200, 2201, 0, 0, - 0, 0, 0, 0, 0, 2220, 0, 2221, 2222, 0, - 0, 0, 0, 0, 2969, 557, 0, 0, 2969, 2969, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 799, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1851, 0, 0, - 0, 1448, 1451, 1452, 1453, 1454, 1455, 1456, 557, 1457, - 1458, 1459, 1460, 1461, 1436, 1437, 1438, 1439, 1420, 1421, - 1449, 0, 1423, 0, 1424, 1425, 1426, 1427, 1428, 1429, - 1430, 1431, 1432, 0, 0, 1433, 1440, 1441, 1442, 1443, - 1444, 1445, 1446, 1447, 0, 0, 0, 1851, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1666, 81, - 0, 0, 0, 0, 0, 2022, 2298, 0, 0, 0, - 0, 0, 2036, 2037, 0, 0, 2041, 0, 0, 0, - 1851, 0, 0, 0, 0, 2044, 0, 0, 0, 0, - 0, 0, 2047, 0, 0, 0, 0, 0, 727, 728, - 0, 0, 86, 0, 1713, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2050, 0, - 0, 0, 0, 0, 0, 0, 0, 1331, 0, 3035, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 832, 832, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1450, 0, 0, 0, 3071, - 0, 0, 0, 557, 0, 0, 0, 0, 0, 3076, - 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, + 1798, 1799, 1800, 1801, 1802, 1803, 1804, 1805, 1806, 817, + 0, 817, 817, 817, 817, 817, 187, 81, 0, 0, + 0, 1819, 1820, 1821, 1822, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 605, 0, 605, 0, 0, 182, 0, 0, 0, 2373, + 2374, 2375, 2376, 2377, 2378, 817, 0, 0, 0, 2383, + 86, 0, 0, 0, 0, 0, 0, 0, 0, 121, + 0, 143, 0, 0, 0, 0, 0, 1860, 1861, 2398, + 0, 0, 164, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2413, 2414, 0, 0, 605, 1897, 0, 0, 0, 0, + 0, 0, 0, 153, 0, 0, 0, 187, 0, 142, + 605, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 605, 0, 0, 0, 0, 0, 0, + 161, 0, 162, 0, 0, 1341, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 130, 131, + 152, 151, 181, 2462, 1935, 0, 0, 0, 0, 0, + 605, 0, 0, 0, 605, 605, 0, 0, 0, 0, + 2480, 2481, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, + 0, 0, 0, 605, 0, 0, 0, 0, 0, 607, + 0, 0, 0, 0, 0, 0, 0, 780, 833, 0, + 833, 833, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1181, 1183, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 605, 0, 0, 0, 993, 0, + 147, 128, 154, 135, 127, 0, 148, 149, 0, 187, + 0, 0, 165, 0, 0, 0, 0, 0, 0, 0, + 0, 171, 136, 0, 0, 0, 0, 605, 187, 0, + 0, 0, 0, 0, 0, 0, 139, 137, 132, 133, + 134, 138, 0, 0, 0, 0, 0, 2607, 129, 0, + 0, 0, 0, 0, 0, 0, 0, 140, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2623, + 2625, 2627, 0, 0, 0, 0, 605, 0, 0, 0, + 0, 0, 0, 0, 2633, 0, 0, 0, 0, 2637, + 2638, 2639, 0, 0, 1332, 0, 2642, 0, 0, 0, + 605, 605, 2644, 0, 0, 2648, 2649, 2650, 2651, 2652, + 2653, 2654, 2655, 2656, 2657, 0, 605, 2658, 0, 2659, + 2661, 0, 2664, 0, 0, 187, 605, 2670, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 156, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1344, 1345, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2692, 2693, 0, 0, 2697, 2083, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 605, 0, 0, 2709, 2710, 1388, 0, 0, 0, + 0, 0, 0, 605, 0, 833, 0, 0, 0, 0, + 0, 1408, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1259, 0, 0, 0, 0, 150, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 817, 817, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 144, 0, + 0, 145, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2776, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 157, 0, 0, 0, 0, 0, 0, 169, 0, + 0, 1382, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2796, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2798, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2807, 0, + 177, 0, 2808, 0, 0, 0, 0, 0, 2812, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 158, + 163, 160, 166, 167, 168, 170, 172, 173, 174, 175, + 0, 0, 0, 0, 0, 176, 178, 179, 180, 0, + 0, 0, 989, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1332, 0, 0, 0, 0, + 0, 1516, 1516, 0, 1516, 0, 1516, 1516, 0, 1525, + 1516, 1516, 1516, 1516, 1516, 0, 0, 0, 0, 0, + 0, 0, 1332, 0, 0, 1332, 989, 0, 0, 0, + 1112, 0, 1118, 0, 0, 1120, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1592, 0, 0, 0, 2929, 0, 0, 0, 0, 0, + 0, 0, 0, 2936, 0, 0, 1614, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2345, + 0, 2946, 2947, 2948, 0, 2949, 2950, 0, 0, 817, + 0, 2953, 0, 2954, 0, 2956, 2959, 2368, 2369, 0, + 0, 2371, 2962, 2964, 2965, 2967, 2970, 0, 0, 833, + 0, 0, 0, 2380, 2381, 2382, 0, 0, 0, 0, + 0, 0, 0, 833, 833, 2387, 2388, 2389, 0, 0, + 1784, 2391, 0, 2392, 2393, 0, 0, 0, 2400, 2401, + 0, 0, 0, 0, 2996, 0, 1784, 1784, 1784, 1784, + 1784, 0, 0, 0, 0, 0, 0, 0, 0, 817, + 0, 0, 0, 0, 0, 0, 2417, 2418, 2419, 2420, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1709, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1722, 0, 0, 0, 0, 0, 1332, + 0, 0, 0, 0, 0, 2451, 0, 0, 0, 0, + 0, 0, 0, 1742, 1743, 3018, 0, 0, 0, 182, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 3023, + 2285, 0, 2484, 0, 0, 0, 0, 0, 0, 0, + 0, 3031, 0, 121, 0, 143, 0, 3032, 3033, 0, + 833, 0, 0, 0, 0, 0, 164, 0, 0, 0, + 0, 0, 0, 0, 0, 3039, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1395, 0, 0, + 0, 0, 0, 0, 0, 1840, 0, 153, 0, 0, + 0, 0, 2546, 142, 0, 0, 0, 0, 0, 3067, + 3069, 3071, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1852, 0, 161, 0, 162, 0, 0, 3096, + 0, 0, 0, 0, 0, 0, 1388, 0, 0, 833, + 0, 0, 1491, 1492, 152, 151, 181, 833, 3102, 0, + 833, 0, 0, 0, 0, 0, 0, 0, 3106, 0, + 0, 989, 0, 0, 182, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1487, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3126, 3128, 3130, 121, 0, + 143, 2628, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 164, 0, 0, 0, 2636, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 996, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 3160, 3161, + 0, 0, 153, 0, 0, 0, 0, 0, 142, 0, + 0, 0, 0, 989, 147, 1493, 154, 0, 1490, 996, + 148, 149, 1413, 0, 0, 0, 165, 0, 0, 161, + 0, 162, 0, 0, 0, 171, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1491, 1492, 152, + 151, 181, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 989, 0, 1709, 0, + 0, 0, 0, 0, 1709, 1709, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 727, + 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1550, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2757, 0, 0, 0, 0, 0, 0, 1594, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 147, + 1493, 154, 156, 1490, 0, 148, 149, 0, 0, 0, + 0, 165, 0, 0, 0, 2781, 0, 790, 0, 79, + 171, 1626, 0, 0, 0, 0, 0, 2052, 1630, 0, + 0, 0, 0, 0, 0, 0, 0, 790, 0, 1641, + 1642, 1643, 1644, 1645, 1646, 1647, 0, 0, 0, 0, + 0, 0, 0, 997, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2799, 0, 2800, 0, 0, 0, 0, + 2803, 2804, 0, 0, 0, 0, 0, 0, 1667, 0, + 150, 0, 0, 0, 2811, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2820, + 0, 2821, 2822, 0, 2823, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 144, 0, 0, 145, 0, 0, 0, 2848, + 0, 0, 0, 0, 0, 0, 0, 156, 0, 0, + 2856, 0, 0, 2858, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 157, 0, 2862, 0, 0, + 0, 0, 169, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2909, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 833, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 177, 0, 0, 0, 1852, 0, + 0, 0, 0, 0, 2170, 150, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2185, 0, 0, 0, 0, + 0, 0, 0, 158, 163, 160, 166, 167, 168, 170, + 172, 173, 174, 175, 0, 0, 0, 0, 0, 176, + 178, 179, 180, 0, 0, 0, 0, 144, 0, 0, + 145, 0, 0, 0, 0, 0, 0, 0, 0, 1866, + 0, 0, 2979, 0, 0, 0, 0, 0, 1870, 0, + 1873, 0, 0, 1667, 0, 0, 0, 0, 0, 0, + 157, 0, 0, 0, 0, 0, 0, 169, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2268, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, + 0, 0, 0, 1852, 0, 0, 0, 0, 0, 0, + 2293, 0, 0, 0, 0, 0, 0, 0, 0, 2298, + 0, 0, 0, 697, 0, 0, 0, 0, 158, 163, + 160, 166, 167, 168, 170, 172, 173, 174, 175, 0, + 0, 0, 0, 0, 176, 178, 179, 180, 0, 0, + 0, 0, 0, 0, 3022, 0, 0, 0, 0, 0, + 0, 0, 3027, 0, 0, 3028, 0, 3029, 0, 0, + 0, 0, 0, 0, 185, 0, 0, 558, 0, 0, + 599, 0, 0, 0, 0, 0, 0, 558, 0, 0, + 0, 0, 0, 0, 0, 558, 0, 0, 0, 0, + 0, 0, 0, 1709, 0, 0, 0, 0, 0, 0, + 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 818, 0, 818, 0, + 0, 0, 0, 0, 0, 0, 558, 0, 0, 1667, + 0, 0, 0, 0, 3094, 1332, 2023, 1332, 0, 0, + 1332, 0, 0, 2037, 2038, 1332, 0, 2042, 0, 0, + 0, 0, 0, 0, 0, 0, 2045, 3103, 0, 3104, + 833, 3105, 0, 2048, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1435, 0, 0, 0, 0, 1171, + 1516, 1171, 1171, 0, 0, 0, 0, 0, 0, 2051, + 0, 0, 0, 0, 0, 0, 0, 0, 79, 2436, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 833, 0, 0, 3146, 1332, 3147, 0, + 2463, 1516, 1332, 0, 0, 790, 1248, 1249, 1250, 0, + 1253, 0, 1255, 1256, 1257, 0, 1260, 1262, 1262, 0, + 1262, 1266, 1266, 1268, 1269, 1270, 1271, 1272, 1273, 1274, + 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, + 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, + 1295, 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, + 1305, 1306, 1307, 1308, 1309, 0, 1310, 0, 1312, 1313, + 1314, 1315, 1316, 0, 0, 0, 0, 1266, 1266, 1266, + 1266, 1266, 1322, 1323, 1324, 1325, 989, 0, 0, 1332, + 0, 0, 0, 0, 1852, 0, 1423, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1342, 0, 0, 0, 0, 0, 790, 0, 0, 0, + 790, 0, 0, 0, 0, 0, 790, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1436, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2224, 0, 87, 0, 0, 0, 0, 0, 721, 728, + 729, 730, 731, 732, 722, 724, 0, 0, 0, 723, + 0, 0, 0, 0, 0, 2436, 0, 0, 0, 0, + 0, 0, 726, 733, 734, 0, 1449, 1452, 1453, 1454, + 1455, 1456, 1457, 0, 1458, 1459, 1460, 1461, 1462, 1437, + 1438, 1439, 1440, 1421, 1422, 1450, 0, 1424, 0, 1425, + 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 0, 2272, + 1434, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 2580, + 2581, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, - 774, 775, 0, 1332, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1851, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3076, 0, 0, 0, - 1332, 1879, 0, 1332, 0, 0, 0, 0, 557, 0, + 774, 775, 776, 0, 2320, 2321, 2322, 2323, 2324, 0, + 0, 0, 0, 0, 0, 0, 1852, 1852, 558, 0, + 558, 0, 0, 558, 0, 1667, 2333, 87, 0, 0, + 0, 0, 0, 721, 728, 729, 730, 731, 732, 722, + 724, 2341, 0, 0, 723, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 726, 733, 734, + 2789, 2790, 2791, 2792, 0, 0, 0, 0, 0, 0, + 1451, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2580, 2581, 0, 0, 0, 0, + 1332, 0, 1332, 0, 0, 0, 735, 736, 737, 738, + 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, + 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, + 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, + 769, 770, 771, 772, 773, 774, 775, 776, 1332, 0, + 0, 0, 0, 2852, 0, 2854, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2459, 1565, 79, 0, 0, 1879, - 1879, 1879, 1879, 1879, 0, 0, 0, 0, 0, 0, - 557, 0, 0, 0, 0, 0, 2220, 789, 0, 0, - 0, 1879, 0, 0, 1879, 0, 1615, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1333, + 0, 0, 0, 707, 0, 0, 711, 0, 708, 709, + 1171, 0, 0, 710, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1171, 1171, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1852, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 557, 0, 0, 0, 0, 0, 0, 557, - 0, 0, 0, 0, 0, 0, 0, 0, 1638, 1639, - 557, 557, 557, 557, 557, 557, 557, 0, 0, 2223, + 0, 0, 558, 2931, 2165, 0, 0, 728, 729, 0, + 0, 0, 0, 1714, 0, 0, 833, 0, 0, 0, + 2536, 0, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2567, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2575, 0, 557, + 0, 0, 0, 0, 0, 558, 2574, 0, 0, 0, + 0, 0, 0, 2971, 0, 0, 0, 2971, 2971, 2583, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2599, 0, 0, + 2602, 0, 0, 0, 0, 0, 1852, 0, 0, 735, + 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, + 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, + 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, + 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, + 776, 0, 0, 0, 0, 0, 0, 1852, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2271, 0, - 0, 0, 0, 0, 0, 0, 2609, 0, 0, 0, - 0, 0, 0, 0, 0, 817, 0, 0, 0, 0, - 0, 0, 817, 817, 0, 0, 0, 0, 1332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1852, 0, 0, 2672, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1880, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2319, 2320, 2321, 2322, 2323, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 817, 1615, 817, - 817, 817, 817, 817, 1666, 2332, 0, 0, 0, 0, + 558, 0, 0, 0, 0, 0, 0, 1332, 0, 3037, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2340, 0, 0, 87, 0, 0, 0, 0, 1565, 720, - 727, 728, 729, 730, 731, 721, 723, 0, 0, 0, - 722, 0, 0, 817, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 725, 732, 733, 0, 799, 0, 0, - 0, 1879, 0, 0, 0, 0, 0, 0, 0, 0, - 557, 0, 0, 0, 2717, 0, 0, 1615, 0, 557, - 0, 557, 0, 557, 1887, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2579, 2580, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 734, 735, 736, 737, 738, 739, 740, 741, - 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, - 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, - 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, - 772, 773, 774, 775, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 833, 833, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 3073, + 1333, 2735, 0, 0, 0, 0, 0, 997, 0, 3078, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2750, 0, 0, 2751, 2752, 2753, 0, 1333, 0, 0, + 1333, 0, 0, 0, 0, 558, 0, 0, 0, 0, + 997, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1566, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1852, 0, 0, 558, 0, 0, + 0, 0, 0, 0, 0, 0, 3078, 0, 728, 729, + 0, 0, 0, 1616, 1714, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 558, + 0, 0, 0, 0, 0, 0, 558, 0, 0, 0, + 0, 0, 0, 0, 0, 1639, 1640, 558, 558, 558, + 558, 558, 558, 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 558, 0, 0, 0, + 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, + 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, + 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, + 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, + 775, 776, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 818, 0, 0, 0, 0, 0, 2060, 818, + 818, 0, 0, 0, 1333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2535, - 0, 2823, 0, 2827, 2828, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 818, 1616, 818, 818, 818, 818, + 818, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2573, 2459, 0, 79, 0, - 2459, 0, 0, 0, 0, 0, 0, 0, 2582, 0, - 557, 0, 0, 0, 0, 0, 0, 557, 0, 0, - 0, 0, 0, 0, 557, 557, 2598, 0, 557, 2601, - 2043, 0, 0, 0, 0, 0, 0, 557, 0, 0, - 0, 0, 0, 0, 557, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1566, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2919, - 557, 0, 0, 0, 706, 0, 0, 710, 0, 707, - 708, 0, 0, 0, 709, 0, 0, 0, 0, 0, + 818, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 800, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 558, 0, 0, + 0, 2140, 0, 0, 1616, 0, 558, 0, 558, 0, + 558, 1888, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 790, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2201, 2202, 0, 0, 0, 0, 0, 0, 0, + 2221, 0, 2222, 2223, 0, 0, 0, 0, 3017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2671, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 817, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2459, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1268, - 1269, 1270, 1271, 1272, 1276, 1277, 1278, 1279, 1280, 1281, - 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291, - 1292, 1293, 1294, 1295, 1296, 1297, 1299, 1300, 1301, 1302, - 1303, 1304, 1305, 1306, 1307, 1308, 1321, 1322, 1323, 1324, - 2734, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3004, 0, 817, 817, 0, 0, 2749, - 0, 0, 2750, 2751, 2752, 0, 0, 0, 0, 0, - 1615, 79, 0, 557, 0, 0, 0, 0, 0, 0, - 0, 1565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 557, 3038, 0, - 0, 557, 87, 79, 0, 0, 0, 0, 720, 727, - 728, 729, 730, 731, 721, 723, 0, 0, 0, 722, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 725, 732, 733, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 557, 0, 0, 0, 0, 0, 0, 2277, 0, 2579, - 2580, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 734, 735, 736, 737, 738, 739, 740, 741, 742, - 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, - 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, - 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, - 773, 774, 775, 0, 0, 557, 557, 557, 557, 557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 557, 557, 0, 0, + 0, 2299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 557, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 817, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 558, 0, 0, + 0, 0, 0, 0, 558, 0, 0, 0, 0, 0, + 0, 558, 558, 0, 0, 558, 0, 2044, 0, 0, + 0, 0, 0, 0, 558, 0, 0, 0, 0, 0, + 0, 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1332, 0, 1332, 0, 0, 1332, 0, - 0, 0, 0, 1332, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 817, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1332, 0, 0, 0, 0, - 1332, 557, 557, 557, 557, 557, 0, 0, 0, 0, - 0, 0, 0, 2478, 0, 0, 3015, 0, 557, 0, - 0, 1565, 0, 557, 0, 0, 557, 2489, 1615, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1880, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2460, + 0, 79, 0, 0, 1880, 1880, 1880, 1880, 1880, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 557, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1332, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 557, 0, 0, + 0, 2221, 790, 0, 0, 0, 1880, 0, 0, 1880, + 0, 0, 818, 818, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1616, 0, 0, + 558, 0, 0, 0, 0, 0, 0, 0, 1566, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 557, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 557, 0, - 0, 557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2568, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2576, 0, 558, 0, 0, 0, 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2610, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 558, 0, 0, + 0, 0, 0, 0, 2278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 558, 558, 558, 558, 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 557, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 558, 558, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 558, + 0, 0, 0, 0, 0, 0, 1880, 0, 0, 0, + 0, 0, 0, 0, 818, 0, 0, 0, 0, 2718, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 557, 0, 0, 557, 557, 557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1333, 0, 1333, 0, 0, 1333, 0, 0, 0, 0, + 1333, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 818, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1333, 0, 0, 0, 0, 1333, 558, 558, + 558, 558, 558, 0, 0, 0, 0, 0, 0, 0, + 2479, 0, 0, 0, 0, 558, 0, 0, 1566, 0, + 558, 0, 0, 558, 2490, 1616, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2824, 0, 2828, 2829, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2460, 0, 79, 0, 2460, 0, 0, 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1333, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 558, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1332, 0, - 1332, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 558, 0, 0, 558, 0, + 0, 0, 0, 0, 2921, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2460, 558, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1268, 1269, 1270, 1271, 1272, 1273, + 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, + 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, + 1297, 1298, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, + 1308, 1309, 1322, 1323, 1324, 1325, 0, 0, 0, 0, + 558, 0, 0, 0, 0, 0, 0, 0, 0, 3006, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1565, 0, + 0, 0, 0, 0, 0, 0, 0, 79, 0, 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 558, 0, + 0, 558, 558, 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3040, 0, 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1333, 0, 1333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1566, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1332, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1566, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 366, - 0, 0, 966, 951, 473, 1565, 896, 969, 865, 884, - 979, 887, 890, 932, 844, 910, 385, 881, 837, 869, - 839, 876, 840, 867, 898, 254, 864, 953, 914, 968, - 338, 251, 846, 870, 399, 886, 197, 934, 447, 238, - 348, 345, 481, 266, 257, 253, 237, 293, 355, 397, - 467, 391, 975, 342, 920, 0, 457, 370, 0, 0, - 0, 900, 957, 908, 946, 895, 933, 854, 919, 970, - 882, 929, 971, 299, 235, 301, 196, 382, 458, 270, - 0, 0, 0, 0, 188, 189, 190, 0, 3058, 0, - 3059, 0, 0, 0, 0, 0, 0, 226, 0, 233, - 323, 332, 331, 312, 313, 315, 317, 322, 329, 335, - 878, 926, 965, 879, 928, 249, 297, 256, 248, 478, - 976, 956, 843, 907, 964, 0, 0, 217, 967, 902, - 0, 931, 0, 982, 838, 922, 0, 841, 845, 978, - 960, 873, 259, 0, 0, 0, 0, 0, 0, 0, - 899, 909, 943, 947, 893, 0, 0, 0, 0, 0, - 0, 0, 871, 0, 918, 0, 0, 0, 850, 842, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 897, 0, 0, 0, 853, 0, 872, 944, - 0, 836, 280, 847, 371, 241, 0, 949, 959, 894, - 514, 963, 892, 891, 938, 851, 955, 885, 337, 849, - 306, 192, 213, 0, 883, 381, 424, 434, 954, 868, - 877, 239, 875, 432, 395, 497, 221, 268, 421, 401, - 430, 408, 271, 917, 936, 431, 343, 483, 415, 494, - 515, 516, 247, 375, 505, 471, 511, 529, 214, 244, - 389, 464, 500, 454, 367, 479, 480, 305, 453, 278, - 195, 341, 521, 212, 440, 230, 219, 485, 503, 273, - 419, 204, 466, 492, 227, 444, 0, 0, 531, 206, - 490, 463, 363, 302, 303, 205, 0, 420, 252, 276, - 242, 384, 487, 488, 240, 532, 216, 510, 208, 1172, - 509, 377, 482, 491, 364, 353, 207, 489, 362, 352, - 308, 327, 328, 264, 287, 413, 346, 414, 288, 373, - 372, 374, 199, 501, 0, 200, 0, 459, 502, 533, - 222, 223, 225, 863, 263, 267, 275, 277, 283, 284, - 291, 339, 388, 412, 410, 416, 950, 477, 495, 506, - 513, 519, 520, 522, 523, 524, 525, 526, 528, 527, - 376, 290, 455, 307, 344, 941, 981, 394, 433, 228, - 499, 456, 858, 862, 856, 923, 857, 912, 913, 859, - 972, 973, 974, 534, 535, 536, 537, 538, 539, 540, - 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, - 551, 0, 945, 852, 0, 860, 861, 0, 952, 961, - 962, 552, 354, 446, 496, 309, 321, 324, 314, 333, - 0, 334, 310, 311, 316, 318, 319, 320, 325, 326, - 330, 336, 236, 202, 360, 368, 476, 425, 426, 427, - 428, 916, 191, 209, 340, 977, 417, 272, 530, 508, - 504, 198, 211, 855, 246, 866, 874, 0, 880, 888, - 889, 901, 903, 904, 905, 906, 924, 925, 927, 935, - 937, 940, 942, 948, 958, 980, 193, 194, 201, 210, - 220, 224, 231, 245, 260, 262, 269, 281, 286, 289, - 294, 295, 298, 304, 350, 356, 357, 358, 359, 378, - 379, 380, 383, 386, 387, 390, 392, 393, 396, 400, - 404, 405, 406, 407, 409, 411, 418, 423, 435, 436, - 437, 438, 439, 442, 443, 448, 449, 450, 451, 452, - 460, 461, 465, 484, 486, 498, 512, 517, 441, 282, - 493, 518, 0, 349, 915, 921, 351, 265, 285, 296, - 930, 507, 462, 215, 429, 274, 203, 234, 218, 243, - 258, 261, 300, 361, 369, 398, 403, 279, 255, 232, - 422, 229, 445, 468, 469, 470, 472, 365, 250, 402, - 911, 939, 347, 474, 475, 292, 366, 0, 0, 966, - 951, 473, 0, 896, 969, 865, 884, 979, 887, 890, - 932, 844, 910, 385, 881, 837, 869, 839, 876, 840, - 867, 898, 254, 864, 953, 914, 968, 338, 251, 846, - 870, 399, 886, 197, 934, 447, 238, 348, 345, 481, - 266, 257, 253, 237, 293, 355, 397, 467, 391, 975, - 342, 920, 0, 457, 370, 0, 0, 0, 900, 957, - 908, 946, 895, 933, 854, 919, 970, 882, 929, 971, - 299, 235, 301, 196, 382, 458, 270, 0, 0, 0, - 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 226, 0, 233, 323, 332, 331, - 312, 313, 315, 317, 322, 329, 335, 878, 926, 965, - 879, 928, 249, 297, 256, 248, 478, 976, 956, 843, - 907, 964, 0, 0, 217, 967, 902, 0, 931, 0, - 982, 838, 922, 0, 841, 845, 978, 960, 873, 259, - 0, 0, 0, 0, 0, 0, 0, 899, 909, 943, - 947, 893, 0, 0, 0, 0, 0, 2490, 0, 871, - 0, 918, 0, 0, 0, 850, 842, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 897, - 0, 0, 0, 853, 0, 872, 944, 0, 836, 280, - 847, 371, 241, 0, 949, 959, 894, 514, 963, 892, - 891, 938, 851, 955, 885, 337, 849, 306, 192, 213, - 0, 883, 381, 424, 434, 954, 868, 877, 239, 875, - 432, 395, 497, 221, 268, 421, 401, 430, 408, 271, - 917, 936, 431, 343, 483, 415, 494, 515, 516, 247, - 375, 505, 471, 511, 529, 214, 244, 389, 464, 500, - 454, 367, 479, 480, 305, 453, 278, 195, 341, 521, - 212, 440, 230, 219, 485, 503, 273, 419, 204, 466, - 492, 227, 444, 0, 0, 531, 206, 490, 463, 363, - 302, 303, 205, 0, 420, 252, 276, 242, 384, 487, - 488, 240, 532, 216, 510, 208, 1172, 509, 377, 482, - 491, 364, 353, 207, 489, 362, 352, 308, 327, 328, - 264, 287, 413, 346, 414, 288, 373, 372, 374, 199, - 501, 0, 200, 0, 459, 502, 533, 222, 223, 225, - 863, 263, 267, 275, 277, 283, 284, 291, 339, 388, - 412, 410, 416, 950, 477, 495, 506, 513, 519, 520, - 522, 523, 524, 525, 526, 528, 527, 376, 290, 455, - 307, 344, 941, 981, 394, 433, 228, 499, 456, 858, - 862, 856, 923, 857, 912, 913, 859, 972, 973, 974, - 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 549, 550, 551, 0, 945, - 852, 0, 860, 861, 0, 952, 961, 962, 552, 354, - 446, 496, 309, 321, 324, 314, 333, 0, 334, 310, - 311, 316, 318, 319, 320, 325, 326, 330, 336, 236, - 202, 360, 368, 476, 425, 426, 427, 428, 916, 191, - 209, 340, 977, 417, 272, 530, 508, 504, 198, 211, - 855, 246, 866, 874, 0, 880, 888, 889, 901, 903, - 904, 905, 906, 924, 925, 927, 935, 937, 940, 942, - 948, 958, 980, 193, 194, 201, 210, 220, 224, 231, - 245, 260, 262, 269, 281, 286, 289, 294, 295, 298, - 304, 350, 356, 357, 358, 359, 378, 379, 380, 383, - 386, 387, 390, 392, 393, 396, 400, 404, 405, 406, - 407, 409, 411, 418, 423, 435, 436, 437, 438, 439, - 442, 443, 448, 449, 450, 451, 452, 460, 461, 465, - 484, 486, 498, 512, 517, 441, 282, 493, 518, 0, - 349, 915, 921, 351, 265, 285, 296, 930, 507, 462, - 215, 429, 274, 203, 234, 218, 243, 258, 261, 300, - 361, 369, 398, 403, 279, 255, 232, 422, 229, 445, - 468, 469, 470, 472, 365, 250, 402, 911, 939, 347, - 474, 475, 292, 366, 0, 0, 966, 951, 473, 0, - 896, 969, 865, 884, 979, 887, 890, 932, 844, 910, - 385, 881, 837, 869, 839, 876, 840, 867, 898, 254, - 864, 953, 914, 968, 338, 251, 846, 870, 399, 886, - 197, 934, 447, 238, 348, 345, 481, 266, 257, 253, - 237, 293, 355, 397, 467, 391, 975, 342, 920, 0, - 457, 370, 0, 0, 0, 900, 957, 908, 946, 895, - 933, 854, 919, 970, 882, 929, 971, 299, 235, 301, - 196, 382, 458, 270, 0, 0, 0, 0, 188, 189, - 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 226, 0, 233, 323, 332, 331, 312, 313, 315, - 317, 322, 329, 335, 878, 926, 965, 879, 928, 249, - 297, 256, 248, 478, 976, 956, 843, 907, 964, 0, - 0, 217, 967, 902, 0, 931, 0, 982, 838, 922, - 0, 841, 845, 978, 960, 873, 259, 0, 0, 0, - 0, 0, 0, 0, 899, 909, 943, 947, 893, 0, - 0, 0, 0, 0, 2448, 0, 871, 0, 918, 0, - 0, 0, 850, 842, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 897, 0, 0, 0, - 853, 0, 872, 944, 0, 836, 280, 847, 371, 241, - 0, 949, 959, 894, 514, 963, 892, 891, 938, 851, - 955, 885, 337, 849, 306, 192, 213, 0, 883, 381, - 424, 434, 954, 868, 877, 239, 875, 432, 395, 497, - 221, 268, 421, 401, 430, 408, 271, 917, 936, 431, - 343, 483, 415, 494, 515, 516, 247, 375, 505, 471, - 511, 529, 214, 244, 389, 464, 500, 454, 367, 479, - 480, 305, 453, 278, 195, 341, 521, 212, 440, 230, - 219, 485, 503, 273, 419, 204, 466, 492, 227, 444, - 0, 0, 531, 206, 490, 463, 363, 302, 303, 205, - 0, 420, 252, 276, 242, 384, 487, 488, 240, 532, - 216, 510, 208, 1172, 509, 377, 482, 491, 364, 353, - 207, 489, 362, 352, 308, 327, 328, 264, 287, 413, - 346, 414, 288, 373, 372, 374, 199, 501, 0, 200, - 0, 459, 502, 533, 222, 223, 225, 863, 263, 267, - 275, 277, 283, 284, 291, 339, 388, 412, 410, 416, - 950, 477, 495, 506, 513, 519, 520, 522, 523, 524, - 525, 526, 528, 527, 376, 290, 455, 307, 344, 941, - 981, 394, 433, 228, 499, 456, 858, 862, 856, 923, - 857, 912, 913, 859, 972, 973, 974, 534, 535, 536, - 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, - 547, 548, 549, 550, 551, 0, 945, 852, 0, 860, - 861, 0, 952, 961, 962, 552, 354, 446, 496, 309, - 321, 324, 314, 333, 0, 334, 310, 311, 316, 318, - 319, 320, 325, 326, 330, 336, 236, 202, 360, 368, - 476, 425, 426, 427, 428, 916, 191, 209, 340, 977, - 417, 272, 530, 508, 504, 198, 211, 855, 246, 866, - 874, 0, 880, 888, 889, 901, 903, 904, 905, 906, - 924, 925, 927, 935, 937, 940, 942, 948, 958, 980, - 193, 194, 201, 210, 220, 224, 231, 245, 260, 262, - 269, 281, 286, 289, 294, 295, 298, 304, 350, 356, - 357, 358, 359, 378, 379, 380, 383, 386, 387, 390, - 392, 393, 396, 400, 404, 405, 406, 407, 409, 411, - 418, 423, 435, 436, 437, 438, 439, 442, 443, 448, - 449, 450, 451, 452, 460, 461, 465, 484, 486, 498, - 512, 517, 441, 282, 493, 518, 0, 349, 915, 921, - 351, 265, 285, 296, 930, 507, 462, 215, 429, 274, - 203, 234, 218, 243, 258, 261, 300, 361, 369, 398, - 403, 279, 255, 232, 422, 229, 445, 468, 469, 470, - 472, 365, 250, 402, 911, 939, 347, 474, 475, 292, - 366, 0, 0, 966, 951, 473, 0, 896, 969, 865, - 884, 979, 887, 890, 932, 844, 910, 385, 881, 837, - 869, 839, 876, 840, 867, 898, 254, 864, 953, 914, - 968, 338, 251, 846, 870, 399, 886, 197, 934, 447, - 238, 348, 345, 481, 266, 257, 253, 237, 293, 355, - 397, 467, 391, 975, 342, 920, 0, 457, 370, 0, - 0, 0, 900, 957, 908, 946, 895, 933, 854, 919, - 970, 882, 929, 971, 299, 235, 301, 196, 382, 458, - 270, 0, 0, 0, 0, 188, 189, 190, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 226, 0, - 233, 323, 332, 331, 312, 313, 315, 317, 322, 329, - 335, 878, 926, 965, 879, 928, 249, 297, 256, 248, - 478, 976, 956, 843, 907, 964, 0, 0, 217, 967, - 902, 0, 931, 0, 982, 838, 922, 0, 841, 845, - 978, 960, 873, 259, 0, 0, 0, 0, 0, 0, - 0, 899, 909, 943, 947, 893, 0, 0, 0, 0, - 0, 1867, 0, 871, 0, 918, 0, 0, 0, 850, - 842, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 897, 0, 0, 0, 853, 0, 872, - 944, 0, 836, 280, 847, 371, 241, 0, 949, 959, - 894, 514, 963, 892, 891, 938, 851, 955, 885, 337, - 849, 306, 192, 213, 0, 883, 381, 424, 434, 954, - 868, 877, 239, 875, 432, 395, 497, 221, 268, 421, - 401, 430, 408, 271, 917, 936, 431, 343, 483, 415, - 494, 515, 516, 247, 375, 505, 471, 511, 529, 214, - 244, 389, 464, 500, 454, 367, 479, 480, 305, 453, - 278, 195, 341, 521, 212, 440, 230, 219, 485, 503, - 273, 419, 204, 466, 492, 227, 444, 0, 0, 531, - 206, 490, 463, 363, 302, 303, 205, 0, 420, 252, - 276, 242, 384, 487, 488, 240, 532, 216, 510, 208, - 1172, 509, 377, 482, 491, 364, 353, 207, 489, 362, - 352, 308, 327, 328, 264, 287, 413, 346, 414, 288, - 373, 372, 374, 199, 501, 0, 200, 0, 459, 502, - 533, 222, 223, 225, 863, 263, 267, 275, 277, 283, - 284, 291, 339, 388, 412, 410, 416, 950, 477, 495, - 506, 513, 519, 520, 522, 523, 524, 525, 526, 528, - 527, 376, 290, 455, 307, 344, 941, 981, 394, 433, - 228, 499, 456, 858, 862, 856, 923, 857, 912, 913, - 859, 972, 973, 974, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, - 550, 551, 0, 945, 852, 0, 860, 861, 0, 952, - 961, 962, 552, 354, 446, 496, 309, 321, 324, 314, - 333, 0, 334, 310, 311, 316, 318, 319, 320, 325, - 326, 330, 336, 236, 202, 360, 368, 476, 425, 426, - 427, 428, 916, 191, 209, 340, 977, 417, 272, 530, - 508, 504, 198, 211, 855, 246, 866, 874, 0, 880, - 888, 889, 901, 903, 904, 905, 906, 924, 925, 927, - 935, 937, 940, 942, 948, 958, 980, 193, 194, 201, - 210, 220, 224, 231, 245, 260, 262, 269, 281, 286, - 289, 294, 295, 298, 304, 350, 356, 357, 358, 359, - 378, 379, 380, 383, 386, 387, 390, 392, 393, 396, - 400, 404, 405, 406, 407, 409, 411, 418, 423, 435, - 436, 437, 438, 439, 442, 443, 448, 449, 450, 451, - 452, 460, 461, 465, 484, 486, 498, 512, 517, 441, - 282, 493, 518, 0, 349, 915, 921, 351, 265, 285, - 296, 930, 507, 462, 215, 429, 274, 203, 234, 218, - 243, 258, 261, 300, 361, 369, 398, 403, 279, 255, - 232, 422, 229, 445, 468, 469, 470, 472, 365, 250, - 402, 911, 939, 347, 474, 475, 292, 366, 0, 0, - 966, 951, 473, 0, 896, 969, 865, 884, 979, 887, - 890, 932, 844, 910, 385, 881, 837, 869, 839, 876, - 840, 867, 898, 254, 864, 953, 914, 968, 338, 251, - 846, 870, 399, 886, 197, 934, 447, 238, 348, 345, - 481, 266, 257, 253, 237, 293, 355, 397, 467, 391, - 975, 342, 920, 0, 457, 370, 0, 0, 0, 900, - 957, 908, 946, 895, 933, 854, 919, 970, 882, 929, - 971, 299, 235, 301, 196, 382, 458, 270, 0, 87, - 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 226, 0, 233, 323, 332, - 331, 312, 313, 315, 317, 322, 329, 335, 878, 926, - 965, 879, 928, 249, 297, 256, 248, 478, 976, 956, - 843, 907, 964, 0, 0, 217, 967, 902, 0, 931, - 0, 982, 838, 922, 0, 841, 845, 978, 960, 873, - 259, 0, 0, 0, 0, 0, 0, 0, 899, 909, - 943, 947, 893, 0, 0, 0, 0, 0, 0, 0, - 871, 0, 918, 0, 0, 0, 850, 842, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 897, 0, 0, 0, 853, 0, 872, 944, 0, 836, - 280, 847, 371, 241, 0, 949, 959, 894, 514, 963, - 892, 891, 938, 851, 955, 885, 337, 849, 306, 192, - 213, 0, 883, 381, 424, 434, 954, 868, 877, 239, - 875, 432, 395, 497, 221, 268, 421, 401, 430, 408, - 271, 917, 936, 431, 343, 483, 415, 494, 515, 516, - 247, 375, 505, 471, 511, 529, 214, 244, 389, 464, - 500, 454, 367, 479, 480, 305, 453, 278, 195, 341, - 521, 212, 440, 230, 219, 485, 503, 273, 419, 204, - 466, 492, 227, 444, 0, 0, 531, 206, 490, 463, - 363, 302, 303, 205, 0, 420, 252, 276, 242, 384, - 487, 488, 240, 532, 216, 510, 208, 1172, 509, 377, - 482, 491, 364, 353, 207, 489, 362, 352, 308, 327, - 328, 264, 287, 413, 346, 414, 288, 373, 372, 374, - 199, 501, 0, 200, 0, 459, 502, 533, 222, 223, - 225, 863, 263, 267, 275, 277, 283, 284, 291, 339, - 388, 412, 410, 416, 950, 477, 495, 506, 513, 519, - 520, 522, 523, 524, 525, 526, 528, 527, 376, 290, - 455, 307, 344, 941, 981, 394, 433, 228, 499, 456, - 858, 862, 856, 923, 857, 912, 913, 859, 972, 973, - 974, 534, 535, 536, 537, 538, 539, 540, 541, 542, - 543, 544, 545, 546, 547, 548, 549, 550, 551, 0, - 945, 852, 0, 860, 861, 0, 952, 961, 962, 552, - 354, 446, 496, 309, 321, 324, 314, 333, 0, 334, - 310, 311, 316, 318, 319, 320, 325, 326, 330, 336, - 236, 202, 360, 368, 476, 425, 426, 427, 428, 916, - 191, 209, 340, 977, 417, 272, 530, 508, 504, 198, - 211, 855, 246, 866, 874, 0, 880, 888, 889, 901, - 903, 904, 905, 906, 924, 925, 927, 935, 937, 940, - 942, 948, 958, 980, 193, 194, 201, 210, 220, 224, - 231, 245, 260, 262, 269, 281, 286, 289, 294, 295, - 298, 304, 350, 356, 357, 358, 359, 378, 379, 380, - 383, 386, 387, 390, 392, 393, 396, 400, 404, 405, - 406, 407, 409, 411, 418, 423, 435, 436, 437, 438, - 439, 442, 443, 448, 449, 450, 451, 452, 460, 461, - 465, 484, 486, 498, 512, 517, 441, 282, 493, 518, - 0, 349, 915, 921, 351, 265, 285, 296, 930, 507, - 462, 215, 429, 274, 203, 234, 218, 243, 258, 261, - 300, 361, 369, 398, 403, 279, 255, 232, 422, 229, - 445, 468, 469, 470, 472, 365, 250, 402, 911, 939, - 347, 474, 475, 292, 366, 0, 0, 966, 951, 473, - 0, 896, 969, 865, 884, 979, 887, 890, 932, 844, - 910, 385, 881, 837, 869, 839, 876, 840, 867, 898, - 254, 864, 953, 914, 968, 338, 251, 846, 870, 399, - 886, 197, 934, 447, 238, 348, 345, 481, 266, 257, - 253, 237, 293, 355, 397, 467, 391, 975, 342, 920, - 0, 457, 370, 0, 0, 0, 900, 957, 908, 946, - 895, 933, 854, 919, 970, 882, 929, 971, 299, 235, - 301, 196, 382, 458, 270, 0, 0, 0, 0, 188, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1566, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 558, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1333, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 367, 0, 0, + 967, 952, 474, 1566, 897, 970, 866, 885, 980, 888, + 891, 933, 845, 911, 386, 882, 838, 870, 840, 877, + 841, 868, 899, 254, 865, 954, 915, 969, 339, 251, + 847, 871, 400, 887, 197, 935, 448, 238, 349, 346, + 482, 266, 257, 253, 237, 294, 356, 398, 468, 392, + 976, 343, 921, 0, 458, 371, 0, 0, 0, 901, + 958, 909, 947, 896, 934, 855, 920, 971, 883, 930, + 972, 300, 235, 302, 196, 383, 459, 270, 0, 0, + 0, 0, 188, 189, 190, 0, 3060, 0, 3061, 0, + 0, 0, 0, 0, 0, 226, 0, 233, 324, 333, + 332, 313, 314, 316, 318, 323, 330, 336, 879, 927, + 966, 880, 929, 249, 298, 256, 248, 479, 977, 957, + 844, 908, 965, 0, 0, 217, 968, 903, 0, 932, + 0, 983, 839, 923, 0, 842, 846, 979, 961, 874, + 259, 0, 0, 0, 0, 0, 0, 0, 900, 910, + 944, 948, 894, 0, 0, 0, 0, 0, 0, 0, + 872, 0, 919, 0, 0, 0, 851, 843, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 898, 0, 0, 0, 854, 0, 873, 945, 0, 837, + 280, 848, 372, 241, 0, 950, 960, 895, 515, 964, + 893, 892, 939, 852, 956, 886, 338, 850, 307, 192, + 213, 0, 884, 382, 425, 435, 955, 869, 878, 239, + 876, 433, 396, 498, 221, 268, 422, 402, 431, 409, + 271, 918, 937, 432, 344, 484, 416, 495, 516, 517, + 247, 376, 506, 472, 512, 530, 214, 244, 390, 465, + 501, 455, 368, 480, 481, 306, 454, 278, 195, 342, + 522, 212, 441, 230, 219, 486, 504, 273, 420, 204, + 467, 493, 227, 445, 0, 0, 532, 206, 491, 464, + 364, 303, 304, 205, 0, 421, 252, 276, 242, 385, + 488, 489, 240, 533, 216, 511, 208, 1173, 510, 378, + 483, 492, 365, 354, 207, 490, 363, 353, 309, 328, + 329, 264, 287, 414, 347, 415, 288, 374, 373, 375, + 199, 502, 0, 200, 0, 460, 503, 534, 222, 223, + 225, 864, 263, 267, 275, 277, 283, 284, 292, 340, + 389, 413, 411, 417, 951, 478, 496, 507, 514, 520, + 521, 523, 524, 525, 526, 527, 529, 528, 377, 290, + 456, 308, 345, 942, 982, 395, 434, 228, 500, 457, + 859, 863, 857, 924, 858, 913, 914, 860, 973, 974, + 975, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 550, 551, 552, 0, + 946, 853, 0, 861, 862, 953, 962, 963, 553, 355, + 447, 497, 310, 322, 325, 315, 334, 0, 335, 311, + 312, 317, 319, 320, 321, 326, 327, 331, 337, 236, + 202, 361, 369, 477, 291, 426, 427, 428, 429, 917, + 191, 209, 341, 978, 418, 272, 531, 509, 505, 198, + 211, 856, 246, 867, 875, 0, 881, 889, 890, 902, + 904, 905, 906, 907, 925, 926, 928, 936, 938, 941, + 943, 949, 959, 981, 193, 194, 201, 210, 220, 224, + 231, 245, 260, 262, 269, 281, 286, 289, 295, 296, + 299, 305, 351, 357, 358, 359, 360, 379, 380, 381, + 384, 387, 388, 391, 393, 394, 397, 401, 405, 406, + 407, 408, 410, 412, 419, 424, 436, 437, 438, 439, + 440, 443, 444, 449, 450, 451, 452, 453, 461, 462, + 466, 485, 487, 499, 513, 518, 442, 282, 494, 519, + 0, 350, 916, 922, 352, 265, 285, 297, 931, 508, + 463, 215, 430, 274, 203, 234, 218, 243, 258, 261, + 301, 362, 370, 399, 404, 279, 255, 232, 423, 229, + 446, 469, 470, 471, 473, 366, 250, 403, 912, 940, + 348, 475, 476, 293, 367, 0, 0, 967, 952, 474, + 0, 897, 970, 866, 885, 980, 888, 891, 933, 845, + 911, 386, 882, 838, 870, 840, 877, 841, 868, 899, + 254, 865, 954, 915, 969, 339, 251, 847, 871, 400, + 887, 197, 935, 448, 238, 349, 346, 482, 266, 257, + 253, 237, 294, 356, 398, 468, 392, 976, 343, 921, + 0, 458, 371, 0, 0, 0, 901, 958, 909, 947, + 896, 934, 855, 920, 971, 883, 930, 972, 300, 235, + 302, 196, 383, 459, 270, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 226, 0, 233, 323, 332, 331, 312, 313, - 315, 317, 322, 329, 335, 878, 926, 965, 879, 928, - 249, 297, 256, 248, 478, 976, 956, 843, 907, 964, - 0, 0, 217, 967, 902, 0, 931, 0, 982, 838, - 922, 0, 841, 845, 978, 960, 873, 259, 0, 0, - 0, 0, 0, 0, 0, 899, 909, 943, 947, 893, - 0, 0, 0, 0, 0, 0, 0, 871, 0, 918, - 0, 0, 0, 850, 842, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 897, 0, 0, - 0, 853, 0, 872, 944, 0, 836, 280, 847, 371, - 241, 0, 949, 959, 894, 514, 963, 892, 891, 938, - 851, 955, 885, 337, 849, 306, 192, 213, 0, 883, - 381, 424, 434, 954, 868, 877, 239, 875, 432, 395, - 497, 221, 268, 421, 401, 430, 408, 271, 917, 936, - 431, 343, 483, 415, 494, 515, 516, 247, 375, 505, - 471, 511, 529, 214, 244, 389, 464, 500, 454, 367, - 479, 480, 305, 453, 278, 195, 341, 521, 212, 440, - 230, 219, 485, 503, 273, 419, 204, 466, 492, 227, - 444, 0, 0, 531, 206, 490, 463, 363, 302, 303, - 205, 0, 420, 252, 276, 242, 384, 487, 488, 240, - 532, 216, 510, 208, 1172, 509, 377, 482, 491, 364, - 353, 207, 489, 362, 352, 308, 327, 328, 264, 287, - 413, 346, 414, 288, 373, 372, 374, 199, 501, 0, - 200, 0, 459, 502, 533, 222, 223, 225, 863, 263, - 267, 275, 277, 283, 284, 291, 339, 388, 412, 410, - 416, 950, 477, 495, 506, 513, 519, 520, 522, 523, - 524, 525, 526, 528, 527, 376, 290, 455, 307, 344, - 941, 981, 394, 433, 228, 499, 456, 858, 862, 856, - 923, 857, 912, 913, 859, 972, 973, 974, 534, 535, - 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, - 546, 547, 548, 549, 550, 551, 0, 945, 852, 0, - 860, 861, 0, 952, 961, 962, 552, 354, 446, 496, - 309, 321, 324, 314, 333, 0, 334, 310, 311, 316, - 318, 319, 320, 325, 326, 330, 336, 236, 202, 360, - 368, 476, 425, 426, 427, 428, 916, 191, 209, 340, - 977, 417, 272, 530, 508, 504, 198, 211, 855, 246, - 866, 874, 0, 880, 888, 889, 901, 903, 904, 905, - 906, 924, 925, 927, 935, 937, 940, 942, 948, 958, - 980, 193, 194, 201, 210, 220, 224, 231, 245, 260, - 262, 269, 281, 286, 289, 294, 295, 298, 304, 350, - 356, 357, 358, 359, 378, 379, 380, 383, 386, 387, - 390, 392, 393, 396, 400, 404, 405, 406, 407, 409, - 411, 418, 423, 435, 436, 437, 438, 439, 442, 443, - 448, 449, 450, 451, 452, 460, 461, 465, 484, 486, - 498, 512, 517, 441, 282, 493, 518, 0, 349, 915, - 921, 351, 265, 285, 296, 930, 507, 462, 215, 429, - 274, 203, 234, 218, 243, 258, 261, 300, 361, 369, - 398, 403, 279, 255, 232, 422, 229, 445, 468, 469, - 470, 472, 365, 250, 402, 911, 939, 347, 474, 475, - 292, 366, 0, 0, 966, 951, 473, 0, 896, 969, - 865, 884, 979, 887, 890, 932, 844, 910, 385, 881, - 837, 869, 839, 876, 840, 867, 898, 254, 864, 953, - 914, 968, 338, 251, 846, 870, 399, 886, 197, 934, - 447, 238, 348, 345, 481, 266, 257, 253, 237, 293, - 355, 397, 467, 391, 975, 342, 920, 0, 457, 370, - 0, 0, 0, 900, 957, 908, 946, 895, 933, 854, - 919, 970, 882, 929, 971, 299, 235, 301, 196, 382, - 458, 270, 0, 0, 0, 0, 188, 189, 190, 0, + 0, 0, 226, 0, 233, 324, 333, 332, 313, 314, + 316, 318, 323, 330, 336, 879, 927, 966, 880, 929, + 249, 298, 256, 248, 479, 977, 957, 844, 908, 965, + 0, 0, 217, 968, 903, 0, 932, 0, 983, 839, + 923, 0, 842, 846, 979, 961, 874, 259, 0, 0, + 0, 0, 0, 0, 0, 900, 910, 944, 948, 894, + 0, 0, 0, 0, 0, 2491, 0, 872, 0, 919, + 0, 0, 0, 851, 843, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 898, 0, 0, + 0, 854, 0, 873, 945, 0, 837, 280, 848, 372, + 241, 0, 950, 960, 895, 515, 964, 893, 892, 939, + 852, 956, 886, 338, 850, 307, 192, 213, 0, 884, + 382, 425, 435, 955, 869, 878, 239, 876, 433, 396, + 498, 221, 268, 422, 402, 431, 409, 271, 918, 937, + 432, 344, 484, 416, 495, 516, 517, 247, 376, 506, + 472, 512, 530, 214, 244, 390, 465, 501, 455, 368, + 480, 481, 306, 454, 278, 195, 342, 522, 212, 441, + 230, 219, 486, 504, 273, 420, 204, 467, 493, 227, + 445, 0, 0, 532, 206, 491, 464, 364, 303, 304, + 205, 0, 421, 252, 276, 242, 385, 488, 489, 240, + 533, 216, 511, 208, 1173, 510, 378, 483, 492, 365, + 354, 207, 490, 363, 353, 309, 328, 329, 264, 287, + 414, 347, 415, 288, 374, 373, 375, 199, 502, 0, + 200, 0, 460, 503, 534, 222, 223, 225, 864, 263, + 267, 275, 277, 283, 284, 292, 340, 389, 413, 411, + 417, 951, 478, 496, 507, 514, 520, 521, 523, 524, + 525, 526, 527, 529, 528, 377, 290, 456, 308, 345, + 942, 982, 395, 434, 228, 500, 457, 859, 863, 857, + 924, 858, 913, 914, 860, 973, 974, 975, 535, 536, + 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, + 547, 548, 549, 550, 551, 552, 0, 946, 853, 0, + 861, 862, 953, 962, 963, 553, 355, 447, 497, 310, + 322, 325, 315, 334, 0, 335, 311, 312, 317, 319, + 320, 321, 326, 327, 331, 337, 236, 202, 361, 369, + 477, 291, 426, 427, 428, 429, 917, 191, 209, 341, + 978, 418, 272, 531, 509, 505, 198, 211, 856, 246, + 867, 875, 0, 881, 889, 890, 902, 904, 905, 906, + 907, 925, 926, 928, 936, 938, 941, 943, 949, 959, + 981, 193, 194, 201, 210, 220, 224, 231, 245, 260, + 262, 269, 281, 286, 289, 295, 296, 299, 305, 351, + 357, 358, 359, 360, 379, 380, 381, 384, 387, 388, + 391, 393, 394, 397, 401, 405, 406, 407, 408, 410, + 412, 419, 424, 436, 437, 438, 439, 440, 443, 444, + 449, 450, 451, 452, 453, 461, 462, 466, 485, 487, + 499, 513, 518, 442, 282, 494, 519, 0, 350, 916, + 922, 352, 265, 285, 297, 931, 508, 463, 215, 430, + 274, 203, 234, 218, 243, 258, 261, 301, 362, 370, + 399, 404, 279, 255, 232, 423, 229, 446, 469, 470, + 471, 473, 366, 250, 403, 912, 940, 348, 475, 476, + 293, 367, 0, 0, 967, 952, 474, 0, 897, 970, + 866, 885, 980, 888, 891, 933, 845, 911, 386, 882, + 838, 870, 840, 877, 841, 868, 899, 254, 865, 954, + 915, 969, 339, 251, 847, 871, 400, 887, 197, 935, + 448, 238, 349, 346, 482, 266, 257, 253, 237, 294, + 356, 398, 468, 392, 976, 343, 921, 0, 458, 371, + 0, 0, 0, 901, 958, 909, 947, 896, 934, 855, + 920, 971, 883, 930, 972, 300, 235, 302, 196, 383, + 459, 270, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, - 0, 233, 323, 332, 331, 312, 313, 315, 317, 322, - 329, 335, 878, 926, 965, 879, 928, 249, 297, 256, - 248, 478, 976, 956, 843, 907, 964, 0, 0, 983, - 967, 902, 0, 931, 0, 982, 838, 922, 0, 841, - 845, 978, 960, 873, 259, 0, 0, 0, 0, 0, - 0, 0, 899, 909, 943, 947, 893, 0, 0, 0, - 0, 0, 0, 0, 871, 0, 918, 0, 0, 0, - 850, 842, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 897, 0, 0, 0, 853, 0, - 872, 944, 0, 836, 280, 847, 371, 241, 0, 949, - 959, 894, 514, 963, 892, 891, 938, 851, 955, 885, - 337, 849, 306, 192, 213, 0, 883, 381, 424, 434, - 954, 868, 877, 239, 875, 432, 395, 497, 221, 268, - 421, 401, 430, 408, 271, 917, 936, 431, 343, 483, - 415, 494, 515, 516, 247, 375, 505, 471, 511, 529, - 214, 244, 389, 464, 500, 454, 367, 479, 480, 305, - 453, 278, 195, 341, 521, 212, 440, 230, 219, 485, - 503, 273, 419, 204, 466, 492, 227, 444, 0, 0, - 531, 206, 490, 463, 363, 302, 303, 205, 0, 420, - 252, 276, 242, 384, 487, 488, 240, 532, 216, 510, - 208, 848, 509, 377, 482, 491, 364, 353, 207, 489, - 362, 352, 308, 327, 328, 264, 287, 413, 346, 414, - 288, 373, 372, 374, 199, 501, 0, 200, 0, 459, - 502, 533, 222, 223, 225, 863, 263, 267, 275, 277, - 283, 284, 291, 339, 388, 412, 410, 416, 950, 477, - 495, 506, 513, 519, 520, 522, 523, 524, 525, 526, - 528, 527, 835, 829, 828, 307, 344, 941, 981, 394, - 433, 228, 499, 456, 858, 862, 856, 923, 857, 912, - 913, 859, 972, 973, 974, 534, 535, 536, 537, 538, - 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, - 549, 550, 551, 0, 945, 852, 0, 860, 861, 0, - 952, 961, 962, 552, 354, 446, 496, 309, 321, 324, - 314, 333, 0, 334, 310, 311, 316, 318, 319, 320, - 325, 326, 330, 336, 236, 202, 360, 368, 476, 425, - 426, 427, 428, 916, 191, 209, 340, 977, 417, 272, - 530, 508, 504, 198, 211, 855, 246, 866, 874, 0, - 880, 888, 889, 901, 903, 904, 905, 906, 924, 925, - 927, 935, 937, 940, 942, 948, 958, 980, 193, 194, + 0, 233, 324, 333, 332, 313, 314, 316, 318, 323, + 330, 336, 879, 927, 966, 880, 929, 249, 298, 256, + 248, 479, 977, 957, 844, 908, 965, 0, 0, 217, + 968, 903, 0, 932, 0, 983, 839, 923, 0, 842, + 846, 979, 961, 874, 259, 0, 0, 0, 0, 0, + 0, 0, 900, 910, 944, 948, 894, 0, 0, 0, + 0, 0, 2449, 0, 872, 0, 919, 0, 0, 0, + 851, 843, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 898, 0, 0, 0, 854, 0, + 873, 945, 0, 837, 280, 848, 372, 241, 0, 950, + 960, 895, 515, 964, 893, 892, 939, 852, 956, 886, + 338, 850, 307, 192, 213, 0, 884, 382, 425, 435, + 955, 869, 878, 239, 876, 433, 396, 498, 221, 268, + 422, 402, 431, 409, 271, 918, 937, 432, 344, 484, + 416, 495, 516, 517, 247, 376, 506, 472, 512, 530, + 214, 244, 390, 465, 501, 455, 368, 480, 481, 306, + 454, 278, 195, 342, 522, 212, 441, 230, 219, 486, + 504, 273, 420, 204, 467, 493, 227, 445, 0, 0, + 532, 206, 491, 464, 364, 303, 304, 205, 0, 421, + 252, 276, 242, 385, 488, 489, 240, 533, 216, 511, + 208, 1173, 510, 378, 483, 492, 365, 354, 207, 490, + 363, 353, 309, 328, 329, 264, 287, 414, 347, 415, + 288, 374, 373, 375, 199, 502, 0, 200, 0, 460, + 503, 534, 222, 223, 225, 864, 263, 267, 275, 277, + 283, 284, 292, 340, 389, 413, 411, 417, 951, 478, + 496, 507, 514, 520, 521, 523, 524, 525, 526, 527, + 529, 528, 377, 290, 456, 308, 345, 942, 982, 395, + 434, 228, 500, 457, 859, 863, 857, 924, 858, 913, + 914, 860, 973, 974, 975, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, + 550, 551, 552, 0, 946, 853, 0, 861, 862, 953, + 962, 963, 553, 355, 447, 497, 310, 322, 325, 315, + 334, 0, 335, 311, 312, 317, 319, 320, 321, 326, + 327, 331, 337, 236, 202, 361, 369, 477, 291, 426, + 427, 428, 429, 917, 191, 209, 341, 978, 418, 272, + 531, 509, 505, 198, 211, 856, 246, 867, 875, 0, + 881, 889, 890, 902, 904, 905, 906, 907, 925, 926, + 928, 936, 938, 941, 943, 949, 959, 981, 193, 194, 201, 210, 220, 224, 231, 245, 260, 262, 269, 281, - 286, 289, 294, 295, 298, 304, 350, 356, 357, 358, - 359, 378, 379, 380, 383, 386, 387, 390, 392, 393, - 396, 400, 404, 405, 406, 407, 409, 411, 418, 423, - 435, 436, 437, 438, 439, 442, 443, 448, 449, 450, - 451, 452, 460, 461, 465, 484, 486, 498, 512, 517, - 441, 282, 493, 518, 0, 349, 915, 921, 351, 265, - 285, 296, 930, 507, 462, 215, 429, 274, 203, 234, - 218, 243, 258, 261, 300, 361, 369, 398, 403, 279, - 255, 232, 422, 229, 445, 468, 469, 470, 472, 365, - 250, 402, 911, 939, 347, 474, 475, 292, 366, 0, - 0, 966, 951, 473, 0, 896, 969, 865, 884, 979, - 887, 890, 932, 844, 910, 385, 881, 837, 869, 839, - 876, 840, 867, 898, 254, 864, 953, 914, 968, 338, - 251, 846, 870, 399, 886, 197, 934, 447, 238, 348, - 345, 481, 266, 257, 253, 237, 293, 355, 397, 467, - 391, 975, 342, 920, 0, 457, 370, 0, 0, 0, - 900, 957, 908, 946, 895, 933, 854, 919, 970, 882, - 929, 971, 299, 235, 301, 196, 382, 458, 270, 0, + 286, 289, 295, 296, 299, 305, 351, 357, 358, 359, + 360, 379, 380, 381, 384, 387, 388, 391, 393, 394, + 397, 401, 405, 406, 407, 408, 410, 412, 419, 424, + 436, 437, 438, 439, 440, 443, 444, 449, 450, 451, + 452, 453, 461, 462, 466, 485, 487, 499, 513, 518, + 442, 282, 494, 519, 0, 350, 916, 922, 352, 265, + 285, 297, 931, 508, 463, 215, 430, 274, 203, 234, + 218, 243, 258, 261, 301, 362, 370, 399, 404, 279, + 255, 232, 423, 229, 446, 469, 470, 471, 473, 366, + 250, 403, 912, 940, 348, 475, 476, 293, 367, 0, + 0, 967, 952, 474, 0, 897, 970, 866, 885, 980, + 888, 891, 933, 845, 911, 386, 882, 838, 870, 840, + 877, 841, 868, 899, 254, 865, 954, 915, 969, 339, + 251, 847, 871, 400, 887, 197, 935, 448, 238, 349, + 346, 482, 266, 257, 253, 237, 294, 356, 398, 468, + 392, 976, 343, 921, 0, 458, 371, 0, 0, 0, + 901, 958, 909, 947, 896, 934, 855, 920, 971, 883, + 930, 972, 300, 235, 302, 196, 383, 459, 270, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 226, 0, 233, 323, - 332, 331, 312, 313, 315, 317, 322, 329, 335, 878, - 926, 965, 879, 928, 249, 297, 256, 248, 478, 976, - 956, 843, 907, 964, 0, 0, 983, 967, 902, 0, - 931, 0, 982, 838, 922, 0, 841, 845, 978, 960, - 873, 259, 0, 0, 0, 0, 0, 0, 0, 899, - 909, 943, 947, 893, 0, 0, 0, 0, 0, 0, - 0, 871, 0, 918, 0, 0, 0, 850, 842, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 897, 0, 0, 0, 853, 0, 872, 944, 0, - 836, 280, 847, 371, 241, 0, 949, 959, 894, 514, - 963, 892, 891, 938, 851, 955, 885, 337, 849, 306, - 192, 213, 0, 883, 381, 424, 434, 954, 868, 877, - 239, 875, 432, 395, 497, 221, 268, 421, 401, 430, - 408, 271, 917, 936, 431, 343, 483, 415, 494, 515, - 516, 247, 375, 505, 471, 511, 529, 214, 244, 389, - 464, 500, 454, 367, 479, 480, 305, 453, 278, 195, - 341, 521, 212, 440, 230, 219, 485, 503, 273, 419, - 204, 466, 1398, 227, 444, 0, 0, 531, 206, 490, - 463, 363, 302, 303, 205, 0, 420, 252, 276, 242, - 384, 487, 488, 240, 532, 216, 510, 208, 848, 509, - 377, 482, 491, 364, 353, 207, 489, 362, 352, 308, - 327, 328, 264, 287, 413, 346, 414, 288, 373, 372, - 374, 199, 501, 0, 200, 0, 459, 502, 533, 222, - 223, 225, 863, 263, 267, 275, 277, 283, 284, 291, - 339, 388, 412, 410, 416, 950, 477, 495, 506, 513, - 519, 520, 522, 523, 524, 525, 526, 528, 527, 835, - 829, 828, 307, 344, 941, 981, 394, 433, 228, 499, - 456, 858, 862, 856, 923, 857, 912, 913, 859, 972, - 973, 974, 534, 535, 536, 537, 538, 539, 540, 541, - 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, - 0, 945, 852, 0, 860, 861, 0, 952, 961, 962, - 552, 354, 446, 496, 309, 321, 324, 314, 333, 0, - 334, 310, 311, 316, 318, 319, 320, 325, 326, 330, - 336, 236, 202, 360, 368, 476, 425, 426, 427, 428, - 916, 191, 209, 340, 977, 417, 272, 530, 508, 504, - 198, 211, 855, 246, 866, 874, 0, 880, 888, 889, - 901, 903, 904, 905, 906, 924, 925, 927, 935, 937, - 940, 942, 948, 958, 980, 193, 194, 201, 210, 220, - 224, 231, 245, 260, 262, 269, 281, 286, 289, 294, - 295, 298, 304, 350, 356, 357, 358, 359, 378, 379, - 380, 383, 386, 387, 390, 392, 393, 396, 400, 404, - 405, 406, 407, 409, 411, 418, 423, 435, 436, 437, - 438, 439, 442, 443, 448, 449, 450, 451, 452, 460, - 461, 465, 484, 486, 498, 512, 517, 441, 282, 493, - 518, 0, 349, 915, 921, 351, 265, 285, 296, 930, - 507, 462, 215, 429, 274, 203, 234, 218, 243, 258, - 261, 300, 361, 369, 398, 403, 279, 255, 232, 422, - 229, 445, 468, 469, 470, 472, 365, 250, 402, 911, - 939, 347, 474, 475, 292, 366, 0, 0, 966, 951, - 473, 0, 896, 969, 865, 884, 979, 887, 890, 932, - 844, 910, 385, 881, 837, 869, 839, 876, 840, 867, - 898, 254, 864, 953, 914, 968, 338, 251, 846, 870, - 399, 886, 197, 934, 447, 238, 348, 345, 481, 266, - 257, 253, 237, 293, 355, 397, 467, 391, 975, 342, - 920, 0, 457, 370, 0, 0, 0, 900, 957, 908, - 946, 895, 933, 854, 919, 970, 882, 929, 971, 299, - 235, 301, 196, 382, 458, 270, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 226, 0, 233, 324, + 333, 332, 313, 314, 316, 318, 323, 330, 336, 879, + 927, 966, 880, 929, 249, 298, 256, 248, 479, 977, + 957, 844, 908, 965, 0, 0, 217, 968, 903, 0, + 932, 0, 983, 839, 923, 0, 842, 846, 979, 961, + 874, 259, 0, 0, 0, 0, 0, 0, 0, 900, + 910, 944, 948, 894, 0, 0, 0, 0, 0, 1868, + 0, 872, 0, 919, 0, 0, 0, 851, 843, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 898, 0, 0, 0, 854, 0, 873, 945, 0, + 837, 280, 848, 372, 241, 0, 950, 960, 895, 515, + 964, 893, 892, 939, 852, 956, 886, 338, 850, 307, + 192, 213, 0, 884, 382, 425, 435, 955, 869, 878, + 239, 876, 433, 396, 498, 221, 268, 422, 402, 431, + 409, 271, 918, 937, 432, 344, 484, 416, 495, 516, + 517, 247, 376, 506, 472, 512, 530, 214, 244, 390, + 465, 501, 455, 368, 480, 481, 306, 454, 278, 195, + 342, 522, 212, 441, 230, 219, 486, 504, 273, 420, + 204, 467, 493, 227, 445, 0, 0, 532, 206, 491, + 464, 364, 303, 304, 205, 0, 421, 252, 276, 242, + 385, 488, 489, 240, 533, 216, 511, 208, 1173, 510, + 378, 483, 492, 365, 354, 207, 490, 363, 353, 309, + 328, 329, 264, 287, 414, 347, 415, 288, 374, 373, + 375, 199, 502, 0, 200, 0, 460, 503, 534, 222, + 223, 225, 864, 263, 267, 275, 277, 283, 284, 292, + 340, 389, 413, 411, 417, 951, 478, 496, 507, 514, + 520, 521, 523, 524, 525, 526, 527, 529, 528, 377, + 290, 456, 308, 345, 942, 982, 395, 434, 228, 500, + 457, 859, 863, 857, 924, 858, 913, 914, 860, 973, + 974, 975, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, + 0, 946, 853, 0, 861, 862, 953, 962, 963, 553, + 355, 447, 497, 310, 322, 325, 315, 334, 0, 335, + 311, 312, 317, 319, 320, 321, 326, 327, 331, 337, + 236, 202, 361, 369, 477, 291, 426, 427, 428, 429, + 917, 191, 209, 341, 978, 418, 272, 531, 509, 505, + 198, 211, 856, 246, 867, 875, 0, 881, 889, 890, + 902, 904, 905, 906, 907, 925, 926, 928, 936, 938, + 941, 943, 949, 959, 981, 193, 194, 201, 210, 220, + 224, 231, 245, 260, 262, 269, 281, 286, 289, 295, + 296, 299, 305, 351, 357, 358, 359, 360, 379, 380, + 381, 384, 387, 388, 391, 393, 394, 397, 401, 405, + 406, 407, 408, 410, 412, 419, 424, 436, 437, 438, + 439, 440, 443, 444, 449, 450, 451, 452, 453, 461, + 462, 466, 485, 487, 499, 513, 518, 442, 282, 494, + 519, 0, 350, 916, 922, 352, 265, 285, 297, 931, + 508, 463, 215, 430, 274, 203, 234, 218, 243, 258, + 261, 301, 362, 370, 399, 404, 279, 255, 232, 423, + 229, 446, 469, 470, 471, 473, 366, 250, 403, 912, + 940, 348, 475, 476, 293, 367, 0, 0, 967, 952, + 474, 0, 897, 970, 866, 885, 980, 888, 891, 933, + 845, 911, 386, 882, 838, 870, 840, 877, 841, 868, + 899, 254, 865, 954, 915, 969, 339, 251, 847, 871, + 400, 887, 197, 935, 448, 238, 349, 346, 482, 266, + 257, 253, 237, 294, 356, 398, 468, 392, 976, 343, + 921, 0, 458, 371, 0, 0, 0, 901, 958, 909, + 947, 896, 934, 855, 920, 971, 883, 930, 972, 300, + 235, 302, 196, 383, 459, 270, 0, 87, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 226, 0, 233, 323, 332, 331, 312, - 313, 315, 317, 322, 329, 335, 878, 926, 965, 879, - 928, 249, 297, 256, 248, 478, 976, 956, 843, 907, - 964, 0, 0, 983, 967, 902, 0, 931, 0, 982, - 838, 922, 0, 841, 845, 978, 960, 873, 259, 0, - 0, 0, 0, 0, 0, 0, 899, 909, 943, 947, - 893, 0, 0, 0, 0, 0, 0, 0, 871, 0, - 918, 0, 0, 0, 850, 842, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 897, 0, - 0, 0, 853, 0, 872, 944, 0, 836, 280, 847, - 371, 241, 0, 949, 959, 894, 514, 963, 892, 891, - 938, 851, 955, 885, 337, 849, 306, 192, 213, 0, - 883, 381, 424, 434, 954, 868, 877, 239, 875, 432, - 395, 497, 221, 268, 421, 401, 430, 408, 271, 917, - 936, 431, 343, 483, 415, 494, 515, 516, 247, 375, - 505, 471, 511, 529, 214, 244, 389, 464, 500, 454, - 367, 479, 480, 305, 453, 278, 195, 341, 521, 212, - 440, 230, 219, 485, 503, 273, 419, 204, 466, 826, - 227, 444, 0, 0, 531, 206, 490, 463, 363, 302, - 303, 205, 0, 420, 252, 276, 242, 384, 487, 488, - 240, 532, 216, 510, 208, 848, 509, 377, 482, 491, - 364, 353, 207, 489, 362, 352, 308, 327, 328, 264, - 287, 413, 346, 414, 288, 373, 372, 374, 199, 501, - 0, 200, 0, 459, 502, 533, 222, 223, 225, 863, - 263, 267, 275, 277, 283, 284, 291, 339, 388, 412, - 410, 416, 950, 477, 495, 506, 513, 519, 520, 522, - 523, 524, 525, 526, 528, 527, 835, 829, 828, 307, - 344, 941, 981, 394, 433, 228, 499, 456, 858, 862, - 856, 923, 857, 912, 913, 859, 972, 973, 974, 534, + 0, 0, 0, 226, 0, 233, 324, 333, 332, 313, + 314, 316, 318, 323, 330, 336, 879, 927, 966, 880, + 929, 249, 298, 256, 248, 479, 977, 957, 844, 908, + 965, 0, 0, 217, 968, 903, 0, 932, 0, 983, + 839, 923, 0, 842, 846, 979, 961, 874, 259, 0, + 0, 0, 0, 0, 0, 0, 900, 910, 944, 948, + 894, 0, 0, 0, 0, 0, 0, 0, 872, 0, + 919, 0, 0, 0, 851, 843, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 898, 0, + 0, 0, 854, 0, 873, 945, 0, 837, 280, 848, + 372, 241, 0, 950, 960, 895, 515, 964, 893, 892, + 939, 852, 956, 886, 338, 850, 307, 192, 213, 0, + 884, 382, 425, 435, 955, 869, 878, 239, 876, 433, + 396, 498, 221, 268, 422, 402, 431, 409, 271, 918, + 937, 432, 344, 484, 416, 495, 516, 517, 247, 376, + 506, 472, 512, 530, 214, 244, 390, 465, 501, 455, + 368, 480, 481, 306, 454, 278, 195, 342, 522, 212, + 441, 230, 219, 486, 504, 273, 420, 204, 467, 493, + 227, 445, 0, 0, 532, 206, 491, 464, 364, 303, + 304, 205, 0, 421, 252, 276, 242, 385, 488, 489, + 240, 533, 216, 511, 208, 1173, 510, 378, 483, 492, + 365, 354, 207, 490, 363, 353, 309, 328, 329, 264, + 287, 414, 347, 415, 288, 374, 373, 375, 199, 502, + 0, 200, 0, 460, 503, 534, 222, 223, 225, 864, + 263, 267, 275, 277, 283, 284, 292, 340, 389, 413, + 411, 417, 951, 478, 496, 507, 514, 520, 521, 523, + 524, 525, 526, 527, 529, 528, 377, 290, 456, 308, + 345, 942, 982, 395, 434, 228, 500, 457, 859, 863, + 857, 924, 858, 913, 914, 860, 973, 974, 975, 535, + 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, + 546, 547, 548, 549, 550, 551, 552, 0, 946, 853, + 0, 861, 862, 953, 962, 963, 553, 355, 447, 497, + 310, 322, 325, 315, 334, 0, 335, 311, 312, 317, + 319, 320, 321, 326, 327, 331, 337, 236, 202, 361, + 369, 477, 291, 426, 427, 428, 429, 917, 191, 209, + 341, 978, 418, 272, 531, 509, 505, 198, 211, 856, + 246, 867, 875, 0, 881, 889, 890, 902, 904, 905, + 906, 907, 925, 926, 928, 936, 938, 941, 943, 949, + 959, 981, 193, 194, 201, 210, 220, 224, 231, 245, + 260, 262, 269, 281, 286, 289, 295, 296, 299, 305, + 351, 357, 358, 359, 360, 379, 380, 381, 384, 387, + 388, 391, 393, 394, 397, 401, 405, 406, 407, 408, + 410, 412, 419, 424, 436, 437, 438, 439, 440, 443, + 444, 449, 450, 451, 452, 453, 461, 462, 466, 485, + 487, 499, 513, 518, 442, 282, 494, 519, 0, 350, + 916, 922, 352, 265, 285, 297, 931, 508, 463, 215, + 430, 274, 203, 234, 218, 243, 258, 261, 301, 362, + 370, 399, 404, 279, 255, 232, 423, 229, 446, 469, + 470, 471, 473, 366, 250, 403, 912, 940, 348, 475, + 476, 293, 367, 0, 0, 967, 952, 474, 0, 897, + 970, 866, 885, 980, 888, 891, 933, 845, 911, 386, + 882, 838, 870, 840, 877, 841, 868, 899, 254, 865, + 954, 915, 969, 339, 251, 847, 871, 400, 887, 197, + 935, 448, 238, 349, 346, 482, 266, 257, 253, 237, + 294, 356, 398, 468, 392, 976, 343, 921, 0, 458, + 371, 0, 0, 0, 901, 958, 909, 947, 896, 934, + 855, 920, 971, 883, 930, 972, 300, 235, 302, 196, + 383, 459, 270, 0, 0, 0, 0, 188, 189, 190, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 226, 0, 233, 324, 333, 332, 313, 314, 316, 318, + 323, 330, 336, 879, 927, 966, 880, 929, 249, 298, + 256, 248, 479, 977, 957, 844, 908, 965, 0, 0, + 217, 968, 903, 0, 932, 0, 983, 839, 923, 0, + 842, 846, 979, 961, 874, 259, 0, 0, 0, 0, + 0, 0, 0, 900, 910, 944, 948, 894, 0, 0, + 0, 0, 0, 0, 0, 872, 0, 919, 0, 0, + 0, 851, 843, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 898, 0, 0, 0, 854, + 0, 873, 945, 0, 837, 280, 848, 372, 241, 0, + 950, 960, 895, 515, 964, 893, 892, 939, 852, 956, + 886, 338, 850, 307, 192, 213, 0, 884, 382, 425, + 435, 955, 869, 878, 239, 876, 433, 396, 498, 221, + 268, 422, 402, 431, 409, 271, 918, 937, 432, 344, + 484, 416, 495, 516, 517, 247, 376, 506, 472, 512, + 530, 214, 244, 390, 465, 501, 455, 368, 480, 481, + 306, 454, 278, 195, 342, 522, 212, 441, 230, 219, + 486, 504, 273, 420, 204, 467, 493, 227, 445, 0, + 0, 532, 206, 491, 464, 364, 303, 304, 205, 0, + 421, 252, 276, 242, 385, 488, 489, 240, 533, 216, + 511, 208, 1173, 510, 378, 483, 492, 365, 354, 207, + 490, 363, 353, 309, 328, 329, 264, 287, 414, 347, + 415, 288, 374, 373, 375, 199, 502, 0, 200, 0, + 460, 503, 534, 222, 223, 225, 864, 263, 267, 275, + 277, 283, 284, 292, 340, 389, 413, 411, 417, 951, + 478, 496, 507, 514, 520, 521, 523, 524, 525, 526, + 527, 529, 528, 377, 290, 456, 308, 345, 942, 982, + 395, 434, 228, 500, 457, 859, 863, 857, 924, 858, + 913, 914, 860, 973, 974, 975, 535, 536, 537, 538, + 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, + 549, 550, 551, 552, 0, 946, 853, 0, 861, 862, + 953, 962, 963, 553, 355, 447, 497, 310, 322, 325, + 315, 334, 0, 335, 311, 312, 317, 319, 320, 321, + 326, 327, 331, 337, 236, 202, 361, 369, 477, 291, + 426, 427, 428, 429, 917, 191, 209, 341, 978, 418, + 272, 531, 509, 505, 198, 211, 856, 246, 867, 875, + 0, 881, 889, 890, 902, 904, 905, 906, 907, 925, + 926, 928, 936, 938, 941, 943, 949, 959, 981, 193, + 194, 201, 210, 220, 224, 231, 245, 260, 262, 269, + 281, 286, 289, 295, 296, 299, 305, 351, 357, 358, + 359, 360, 379, 380, 381, 384, 387, 388, 391, 393, + 394, 397, 401, 405, 406, 407, 408, 410, 412, 419, + 424, 436, 437, 438, 439, 440, 443, 444, 449, 450, + 451, 452, 453, 461, 462, 466, 485, 487, 499, 513, + 518, 442, 282, 494, 519, 0, 350, 916, 922, 352, + 265, 285, 297, 931, 508, 463, 215, 430, 274, 203, + 234, 218, 243, 258, 261, 301, 362, 370, 399, 404, + 279, 255, 232, 423, 229, 446, 469, 470, 471, 473, + 366, 250, 403, 912, 940, 348, 475, 476, 293, 367, + 0, 0, 967, 952, 474, 0, 897, 970, 866, 885, + 980, 888, 891, 933, 845, 911, 386, 882, 838, 870, + 840, 877, 841, 868, 899, 254, 865, 954, 915, 969, + 339, 251, 847, 871, 400, 887, 197, 935, 448, 238, + 349, 346, 482, 266, 257, 253, 237, 294, 356, 398, + 468, 392, 976, 343, 921, 0, 458, 371, 0, 0, + 0, 901, 958, 909, 947, 896, 934, 855, 920, 971, + 883, 930, 972, 300, 235, 302, 196, 383, 459, 270, + 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 226, 0, 233, + 324, 333, 332, 313, 314, 316, 318, 323, 330, 336, + 879, 927, 966, 880, 929, 249, 298, 256, 248, 479, + 977, 957, 844, 908, 965, 0, 0, 984, 968, 903, + 0, 932, 0, 983, 839, 923, 0, 842, 846, 979, + 961, 874, 259, 0, 0, 0, 0, 0, 0, 0, + 900, 910, 944, 948, 894, 0, 0, 0, 0, 0, + 0, 0, 872, 0, 919, 0, 0, 0, 851, 843, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 898, 0, 0, 0, 854, 0, 873, 945, + 0, 837, 280, 848, 372, 241, 0, 950, 960, 895, + 515, 964, 893, 892, 939, 852, 956, 886, 338, 850, + 307, 192, 213, 0, 884, 382, 425, 435, 955, 869, + 878, 239, 876, 433, 396, 498, 221, 268, 422, 402, + 431, 409, 271, 918, 937, 432, 344, 484, 416, 495, + 516, 517, 247, 376, 506, 472, 512, 530, 214, 244, + 390, 465, 501, 455, 368, 480, 481, 306, 454, 278, + 195, 342, 522, 212, 441, 230, 219, 486, 504, 273, + 420, 204, 467, 493, 227, 445, 0, 0, 532, 206, + 491, 464, 364, 303, 304, 205, 0, 421, 252, 276, + 242, 385, 488, 489, 240, 533, 216, 511, 208, 849, + 510, 378, 483, 492, 365, 354, 207, 490, 363, 353, + 309, 328, 329, 264, 287, 414, 347, 415, 288, 374, + 373, 375, 199, 502, 0, 200, 0, 460, 503, 534, + 222, 223, 225, 864, 263, 267, 275, 277, 283, 284, + 292, 340, 389, 413, 411, 417, 951, 478, 496, 507, + 514, 520, 521, 523, 524, 525, 526, 527, 529, 528, + 836, 830, 829, 308, 345, 942, 982, 395, 434, 228, + 500, 457, 859, 863, 857, 924, 858, 913, 914, 860, + 973, 974, 975, 535, 536, 537, 538, 539, 540, 541, + 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, + 552, 0, 946, 853, 0, 861, 862, 953, 962, 963, + 553, 355, 447, 497, 310, 322, 325, 315, 334, 0, + 335, 311, 312, 317, 319, 320, 321, 326, 327, 331, + 337, 236, 202, 361, 369, 477, 291, 426, 427, 428, + 429, 917, 191, 209, 341, 978, 418, 272, 531, 509, + 505, 198, 211, 856, 246, 867, 875, 0, 881, 889, + 890, 902, 904, 905, 906, 907, 925, 926, 928, 936, + 938, 941, 943, 949, 959, 981, 193, 194, 201, 210, + 220, 224, 231, 245, 260, 262, 269, 281, 286, 289, + 295, 296, 299, 305, 351, 357, 358, 359, 360, 379, + 380, 381, 384, 387, 388, 391, 393, 394, 397, 401, + 405, 406, 407, 408, 410, 412, 419, 424, 436, 437, + 438, 439, 440, 443, 444, 449, 450, 451, 452, 453, + 461, 462, 466, 485, 487, 499, 513, 518, 442, 282, + 494, 519, 0, 350, 916, 922, 352, 265, 285, 297, + 931, 508, 463, 215, 430, 274, 203, 234, 218, 243, + 258, 261, 301, 362, 370, 399, 404, 279, 255, 232, + 423, 229, 446, 469, 470, 471, 473, 366, 250, 403, + 912, 940, 348, 475, 476, 293, 367, 0, 0, 967, + 952, 474, 0, 897, 970, 866, 885, 980, 888, 891, + 933, 845, 911, 386, 882, 838, 870, 840, 877, 841, + 868, 899, 254, 865, 954, 915, 969, 339, 251, 847, + 871, 400, 887, 197, 935, 448, 238, 349, 346, 482, + 266, 257, 253, 237, 294, 356, 398, 468, 392, 976, + 343, 921, 0, 458, 371, 0, 0, 0, 901, 958, + 909, 947, 896, 934, 855, 920, 971, 883, 930, 972, + 300, 235, 302, 196, 383, 459, 270, 0, 0, 0, + 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 226, 0, 233, 324, 333, 332, + 313, 314, 316, 318, 323, 330, 336, 879, 927, 966, + 880, 929, 249, 298, 256, 248, 479, 977, 957, 844, + 908, 965, 0, 0, 984, 968, 903, 0, 932, 0, + 983, 839, 923, 0, 842, 846, 979, 961, 874, 259, + 0, 0, 0, 0, 0, 0, 0, 900, 910, 944, + 948, 894, 0, 0, 0, 0, 0, 0, 0, 872, + 0, 919, 0, 0, 0, 851, 843, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 898, + 0, 0, 0, 854, 0, 873, 945, 0, 837, 280, + 848, 372, 241, 0, 950, 960, 895, 515, 964, 893, + 892, 939, 852, 956, 886, 338, 850, 307, 192, 213, + 0, 884, 382, 425, 435, 955, 869, 878, 239, 876, + 433, 396, 498, 221, 268, 422, 402, 431, 409, 271, + 918, 937, 432, 344, 484, 416, 495, 516, 517, 247, + 376, 506, 472, 512, 530, 214, 244, 390, 465, 501, + 455, 368, 480, 481, 306, 454, 278, 195, 342, 522, + 212, 441, 230, 219, 486, 504, 273, 420, 204, 467, + 1399, 227, 445, 0, 0, 532, 206, 491, 464, 364, + 303, 304, 205, 0, 421, 252, 276, 242, 385, 488, + 489, 240, 533, 216, 511, 208, 849, 510, 378, 483, + 492, 365, 354, 207, 490, 363, 353, 309, 328, 329, + 264, 287, 414, 347, 415, 288, 374, 373, 375, 199, + 502, 0, 200, 0, 460, 503, 534, 222, 223, 225, + 864, 263, 267, 275, 277, 283, 284, 292, 340, 389, + 413, 411, 417, 951, 478, 496, 507, 514, 520, 521, + 523, 524, 525, 526, 527, 529, 528, 836, 830, 829, + 308, 345, 942, 982, 395, 434, 228, 500, 457, 859, + 863, 857, 924, 858, 913, 914, 860, 973, 974, 975, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 545, 546, 547, 548, 549, 550, 551, 0, 945, 852, - 0, 860, 861, 0, 952, 961, 962, 552, 354, 446, - 496, 309, 321, 324, 314, 333, 0, 334, 310, 311, - 316, 318, 319, 320, 325, 326, 330, 336, 236, 202, - 360, 368, 476, 425, 426, 427, 428, 916, 191, 209, - 340, 977, 417, 272, 530, 508, 504, 198, 211, 855, - 246, 866, 874, 0, 880, 888, 889, 901, 903, 904, - 905, 906, 924, 925, 927, 935, 937, 940, 942, 948, - 958, 980, 193, 194, 201, 210, 220, 224, 231, 245, - 260, 262, 269, 281, 286, 289, 294, 295, 298, 304, - 350, 356, 357, 358, 359, 378, 379, 380, 383, 386, - 387, 390, 392, 393, 396, 400, 404, 405, 406, 407, - 409, 411, 418, 423, 435, 436, 437, 438, 439, 442, - 443, 448, 449, 450, 451, 452, 460, 461, 465, 484, - 486, 498, 512, 517, 441, 282, 493, 518, 0, 349, - 915, 921, 351, 265, 285, 296, 930, 507, 462, 215, - 429, 274, 203, 234, 218, 243, 258, 261, 300, 361, - 369, 398, 403, 279, 255, 232, 422, 229, 445, 468, - 469, 470, 472, 365, 250, 402, 911, 939, 347, 474, - 475, 292, 366, 0, 0, 0, 0, 473, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 385, - 0, 0, 1807, 0, 634, 0, 0, 0, 254, 639, - 0, 0, 0, 338, 251, 0, 1808, 399, 0, 197, - 0, 447, 238, 348, 345, 481, 266, 257, 253, 237, - 293, 355, 397, 467, 391, 646, 342, 0, 0, 457, - 370, 0, 0, 0, 0, 0, 641, 642, 0, 0, - 0, 0, 0, 0, 0, 0, 299, 235, 301, 196, - 382, 458, 270, 0, 87, 0, 0, 188, 189, 190, - 720, 727, 728, 729, 730, 731, 721, 723, 0, 0, - 226, 722, 233, 662, 664, 663, 673, 674, 675, 676, - 677, 678, 679, 660, 725, 732, 733, 0, 249, 297, - 256, 248, 478, 0, 0, 0, 0, 0, 0, 0, - 217, 0, 0, 0, 0, 0, 0, 0, 617, 631, + 545, 546, 547, 548, 549, 550, 551, 552, 0, 946, + 853, 0, 861, 862, 953, 962, 963, 553, 355, 447, + 497, 310, 322, 325, 315, 334, 0, 335, 311, 312, + 317, 319, 320, 321, 326, 327, 331, 337, 236, 202, + 361, 369, 477, 291, 426, 427, 428, 429, 917, 191, + 209, 341, 978, 418, 272, 531, 509, 505, 198, 211, + 856, 246, 867, 875, 0, 881, 889, 890, 902, 904, + 905, 906, 907, 925, 926, 928, 936, 938, 941, 943, + 949, 959, 981, 193, 194, 201, 210, 220, 224, 231, + 245, 260, 262, 269, 281, 286, 289, 295, 296, 299, + 305, 351, 357, 358, 359, 360, 379, 380, 381, 384, + 387, 388, 391, 393, 394, 397, 401, 405, 406, 407, + 408, 410, 412, 419, 424, 436, 437, 438, 439, 440, + 443, 444, 449, 450, 451, 452, 453, 461, 462, 466, + 485, 487, 499, 513, 518, 442, 282, 494, 519, 0, + 350, 916, 922, 352, 265, 285, 297, 931, 508, 463, + 215, 430, 274, 203, 234, 218, 243, 258, 261, 301, + 362, 370, 399, 404, 279, 255, 232, 423, 229, 446, + 469, 470, 471, 473, 366, 250, 403, 912, 940, 348, + 475, 476, 293, 367, 0, 0, 967, 952, 474, 0, + 897, 970, 866, 885, 980, 888, 891, 933, 845, 911, + 386, 882, 838, 870, 840, 877, 841, 868, 899, 254, + 865, 954, 915, 969, 339, 251, 847, 871, 400, 887, + 197, 935, 448, 238, 349, 346, 482, 266, 257, 253, + 237, 294, 356, 398, 468, 392, 976, 343, 921, 0, + 458, 371, 0, 0, 0, 901, 958, 909, 947, 896, + 934, 855, 920, 971, 883, 930, 972, 300, 235, 302, + 196, 383, 459, 270, 0, 0, 0, 0, 188, 189, + 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 226, 0, 233, 324, 333, 332, 313, 314, 316, + 318, 323, 330, 336, 879, 927, 966, 880, 929, 249, + 298, 256, 248, 479, 977, 957, 844, 908, 965, 0, + 0, 984, 968, 903, 0, 932, 0, 983, 839, 923, + 0, 842, 846, 979, 961, 874, 259, 0, 0, 0, + 0, 0, 0, 0, 900, 910, 944, 948, 894, 0, + 0, 0, 0, 0, 0, 0, 872, 0, 919, 0, + 0, 0, 851, 843, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 898, 0, 0, 0, + 854, 0, 873, 945, 0, 837, 280, 848, 372, 241, + 0, 950, 960, 895, 515, 964, 893, 892, 939, 852, + 956, 886, 338, 850, 307, 192, 213, 0, 884, 382, + 425, 435, 955, 869, 878, 239, 876, 433, 396, 498, + 221, 268, 422, 402, 431, 409, 271, 918, 937, 432, + 344, 484, 416, 495, 516, 517, 247, 376, 506, 472, + 512, 530, 214, 244, 390, 465, 501, 455, 368, 480, + 481, 306, 454, 278, 195, 342, 522, 212, 441, 230, + 219, 486, 504, 273, 420, 204, 467, 827, 227, 445, + 0, 0, 532, 206, 491, 464, 364, 303, 304, 205, + 0, 421, 252, 276, 242, 385, 488, 489, 240, 533, + 216, 511, 208, 849, 510, 378, 483, 492, 365, 354, + 207, 490, 363, 353, 309, 328, 329, 264, 287, 414, + 347, 415, 288, 374, 373, 375, 199, 502, 0, 200, + 0, 460, 503, 534, 222, 223, 225, 864, 263, 267, + 275, 277, 283, 284, 292, 340, 389, 413, 411, 417, + 951, 478, 496, 507, 514, 520, 521, 523, 524, 525, + 526, 527, 529, 528, 836, 830, 829, 308, 345, 942, + 982, 395, 434, 228, 500, 457, 859, 863, 857, 924, + 858, 913, 914, 860, 973, 974, 975, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, + 548, 549, 550, 551, 552, 0, 946, 853, 0, 861, + 862, 953, 962, 963, 553, 355, 447, 497, 310, 322, + 325, 315, 334, 0, 335, 311, 312, 317, 319, 320, + 321, 326, 327, 331, 337, 236, 202, 361, 369, 477, + 291, 426, 427, 428, 429, 917, 191, 209, 341, 978, + 418, 272, 531, 509, 505, 198, 211, 856, 246, 867, + 875, 0, 881, 889, 890, 902, 904, 905, 906, 907, + 925, 926, 928, 936, 938, 941, 943, 949, 959, 981, + 193, 194, 201, 210, 220, 224, 231, 245, 260, 262, + 269, 281, 286, 289, 295, 296, 299, 305, 351, 357, + 358, 359, 360, 379, 380, 381, 384, 387, 388, 391, + 393, 394, 397, 401, 405, 406, 407, 408, 410, 412, + 419, 424, 436, 437, 438, 439, 440, 443, 444, 449, + 450, 451, 452, 453, 461, 462, 466, 485, 487, 499, + 513, 518, 442, 282, 494, 519, 0, 350, 916, 922, + 352, 265, 285, 297, 931, 508, 463, 215, 430, 274, + 203, 234, 218, 243, 258, 261, 301, 362, 370, 399, + 404, 279, 255, 232, 423, 229, 446, 469, 470, 471, + 473, 366, 250, 403, 912, 940, 348, 475, 476, 293, + 367, 0, 0, 0, 0, 474, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 386, 0, 0, + 1808, 0, 635, 0, 0, 0, 254, 640, 0, 0, + 0, 339, 251, 0, 1809, 400, 0, 197, 0, 448, + 238, 349, 346, 482, 266, 257, 253, 237, 294, 356, + 398, 468, 392, 646, 343, 0, 0, 458, 371, 0, + 0, 0, 0, 0, 642, 643, 0, 0, 0, 0, + 0, 0, 0, 0, 300, 235, 302, 196, 383, 459, + 270, 0, 87, 0, 0, 188, 189, 190, 721, 728, + 729, 730, 731, 732, 722, 724, 0, 0, 226, 723, + 233, 663, 665, 664, 674, 675, 676, 677, 678, 679, + 680, 661, 726, 733, 734, 0, 249, 298, 256, 248, + 479, 0, 0, 0, 0, 0, 0, 0, 217, 0, + 0, 0, 0, 0, 0, 0, 618, 632, 0, 645, + 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 629, + 630, 816, 0, 0, 0, 701, 0, 631, 0, 0, + 639, 735, 736, 737, 738, 739, 740, 741, 742, 743, + 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, + 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, + 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, + 774, 775, 776, 641, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 280, 0, 372, 241, 0, 700, 0, + 0, 515, 0, 0, 698, 0, 0, 0, 0, 338, + 0, 307, 192, 213, 0, 0, 382, 425, 435, 0, + 0, 0, 239, 0, 433, 396, 498, 221, 268, 422, + 402, 431, 409, 271, 0, 0, 432, 344, 484, 416, + 495, 516, 517, 247, 376, 506, 472, 512, 530, 214, + 244, 390, 465, 501, 455, 368, 480, 481, 306, 454, + 278, 195, 342, 522, 212, 441, 230, 219, 486, 504, + 273, 420, 204, 467, 493, 227, 445, 0, 0, 532, + 206, 491, 464, 364, 303, 304, 205, 0, 421, 252, + 276, 242, 385, 488, 489, 240, 533, 216, 511, 208, + 0, 510, 378, 483, 492, 365, 354, 207, 490, 363, + 353, 309, 669, 670, 264, 287, 414, 347, 415, 288, + 374, 373, 375, 199, 502, 0, 200, 0, 460, 503, + 534, 222, 223, 225, 0, 263, 267, 275, 277, 283, + 284, 292, 340, 389, 413, 411, 417, 0, 478, 496, + 507, 514, 520, 521, 523, 524, 525, 526, 527, 529, + 528, 377, 290, 456, 308, 345, 0, 0, 395, 434, + 228, 500, 457, 707, 699, 650, 711, 652, 708, 709, + 647, 648, 651, 710, 535, 536, 537, 538, 539, 540, + 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, + 551, 552, 0, 702, 638, 637, 0, 644, 0, 659, + 660, 662, 666, 667, 668, 671, 672, 673, 681, 683, + 684, 682, 685, 686, 687, 690, 691, 692, 693, 688, + 689, 694, 653, 657, 654, 655, 656, 658, 712, 713, + 714, 715, 636, 191, 209, 341, 0, 418, 272, 531, + 509, 505, 198, 211, 0, 246, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, + 210, 220, 224, 231, 245, 260, 262, 269, 281, 286, + 289, 295, 296, 299, 305, 351, 357, 358, 359, 360, + 379, 380, 381, 384, 387, 388, 391, 393, 394, 397, + 401, 405, 406, 407, 408, 410, 412, 419, 424, 436, + 437, 438, 439, 440, 443, 444, 449, 450, 451, 452, + 453, 461, 462, 466, 485, 487, 499, 513, 518, 442, + 282, 494, 519, 0, 350, 0, 0, 352, 265, 285, + 297, 0, 508, 463, 215, 430, 274, 203, 234, 218, + 243, 258, 261, 301, 362, 370, 399, 404, 279, 255, + 232, 423, 229, 446, 469, 470, 471, 473, 366, 250, + 403, 0, 367, 348, 475, 476, 293, 474, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 386, + 0, 0, 0, 0, 635, 0, 0, 0, 254, 640, + 0, 0, 0, 339, 251, 0, 0, 400, 0, 197, + 0, 448, 238, 349, 346, 482, 266, 257, 253, 237, + 294, 356, 398, 468, 392, 646, 343, 0, 0, 458, + 371, 0, 0, 0, 0, 0, 642, 643, 0, 0, + 0, 0, 0, 0, 0, 0, 300, 235, 302, 196, + 383, 459, 270, 0, 87, 0, 0, 188, 189, 190, + 721, 728, 729, 730, 731, 732, 722, 724, 0, 0, + 226, 723, 233, 663, 665, 664, 674, 675, 676, 677, + 678, 679, 680, 661, 726, 733, 734, 0, 249, 298, + 256, 248, 479, 0, 0, 1774, 1775, 1776, 0, 0, + 217, 0, 0, 0, 0, 0, 0, 0, 618, 632, 0, 645, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 628, 629, 815, 0, 0, 0, 700, 0, 630, - 0, 0, 638, 734, 735, 736, 737, 738, 739, 740, - 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, - 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, - 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, - 771, 772, 773, 774, 775, 640, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 280, 0, 371, 241, 0, - 699, 0, 0, 514, 0, 0, 697, 0, 0, 0, - 0, 337, 0, 306, 192, 213, 0, 0, 381, 424, - 434, 0, 0, 0, 239, 0, 432, 395, 497, 221, - 268, 421, 401, 430, 408, 271, 0, 0, 431, 343, - 483, 415, 494, 515, 516, 247, 375, 505, 471, 511, - 529, 214, 244, 389, 464, 500, 454, 367, 479, 480, - 305, 453, 278, 195, 341, 521, 212, 440, 230, 219, - 485, 503, 273, 419, 204, 466, 492, 227, 444, 0, - 0, 531, 206, 490, 463, 363, 302, 303, 205, 0, - 420, 252, 276, 242, 384, 487, 488, 240, 532, 216, - 510, 208, 0, 509, 377, 482, 491, 364, 353, 207, - 489, 362, 352, 308, 668, 669, 264, 287, 413, 346, - 414, 288, 373, 372, 374, 199, 501, 0, 200, 0, - 459, 502, 533, 222, 223, 225, 0, 263, 267, 275, - 277, 283, 284, 291, 339, 388, 412, 410, 416, 0, - 477, 495, 506, 513, 519, 520, 522, 523, 524, 525, - 526, 528, 527, 376, 290, 455, 307, 344, 0, 0, - 394, 433, 228, 499, 456, 706, 698, 650, 710, 652, - 707, 708, 647, 648, 651, 709, 534, 535, 536, 537, - 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 0, 701, 637, 636, 0, 643, - 644, 0, 658, 659, 661, 665, 666, 667, 670, 671, - 672, 680, 682, 683, 681, 684, 685, 686, 689, 690, - 691, 692, 687, 688, 693, 653, 657, 654, 655, 656, - 711, 712, 713, 714, 635, 191, 209, 340, 0, 417, - 272, 530, 508, 504, 198, 211, 0, 246, 0, 0, + 0, 629, 630, 0, 0, 0, 0, 701, 0, 631, + 0, 0, 639, 735, 736, 737, 738, 739, 740, 741, + 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, + 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, + 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, + 772, 773, 774, 775, 776, 641, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 280, 0, 372, 241, 0, + 700, 0, 0, 515, 0, 0, 698, 0, 0, 0, + 0, 338, 0, 307, 192, 213, 0, 0, 382, 425, + 435, 0, 0, 0, 239, 0, 433, 396, 498, 221, + 268, 422, 402, 431, 409, 271, 0, 0, 432, 344, + 484, 416, 495, 516, 517, 247, 376, 506, 472, 512, + 530, 214, 244, 390, 465, 501, 455, 368, 480, 481, + 306, 454, 278, 195, 342, 522, 212, 441, 230, 219, + 486, 504, 273, 420, 204, 467, 493, 227, 445, 0, + 0, 532, 206, 491, 464, 364, 303, 304, 205, 0, + 421, 252, 276, 242, 385, 488, 489, 240, 533, 216, + 511, 208, 0, 510, 378, 483, 492, 365, 354, 207, + 490, 363, 353, 309, 669, 670, 264, 287, 414, 347, + 415, 288, 374, 373, 375, 199, 502, 0, 200, 0, + 460, 503, 534, 222, 223, 225, 0, 263, 267, 275, + 277, 283, 284, 292, 340, 389, 413, 411, 417, 0, + 478, 496, 507, 514, 520, 521, 523, 524, 525, 526, + 527, 529, 528, 377, 290, 456, 308, 345, 0, 0, + 395, 434, 228, 500, 457, 707, 699, 650, 711, 652, + 708, 709, 647, 648, 651, 710, 535, 536, 537, 538, + 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, + 549, 550, 551, 552, 0, 702, 638, 637, 0, 644, + 0, 659, 660, 662, 666, 667, 668, 671, 672, 673, + 681, 683, 684, 682, 685, 686, 687, 690, 691, 692, + 693, 688, 689, 694, 653, 657, 654, 655, 656, 658, + 712, 713, 714, 715, 636, 191, 209, 341, 0, 418, + 272, 531, 509, 505, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, 245, 260, 262, 269, - 281, 286, 289, 294, 295, 298, 304, 350, 356, 357, - 358, 359, 378, 379, 380, 383, 386, 387, 390, 392, - 393, 396, 400, 404, 405, 406, 407, 409, 411, 418, - 423, 435, 436, 437, 438, 439, 442, 443, 448, 449, - 450, 451, 452, 460, 461, 465, 484, 486, 498, 512, - 517, 441, 282, 493, 518, 0, 349, 0, 0, 351, - 265, 285, 296, 0, 507, 462, 215, 429, 274, 203, - 234, 218, 243, 258, 261, 300, 361, 369, 398, 403, - 279, 255, 232, 422, 229, 445, 468, 469, 470, 472, - 365, 250, 402, 0, 366, 347, 474, 475, 292, 473, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 385, 0, 0, 0, 0, 634, 0, 0, 0, - 254, 639, 0, 0, 0, 338, 251, 0, 0, 399, - 0, 197, 0, 447, 238, 348, 345, 481, 266, 257, - 253, 237, 293, 355, 397, 467, 391, 646, 342, 0, - 0, 457, 370, 0, 0, 0, 0, 0, 641, 642, - 0, 0, 0, 0, 0, 0, 0, 0, 299, 235, - 301, 196, 382, 458, 270, 0, 87, 0, 0, 188, - 189, 190, 720, 727, 728, 729, 730, 731, 721, 723, - 0, 0, 226, 722, 233, 662, 664, 663, 673, 674, - 675, 676, 677, 678, 679, 660, 725, 732, 733, 0, - 249, 297, 256, 248, 478, 0, 0, 1773, 1774, 1775, + 281, 286, 289, 295, 296, 299, 305, 351, 357, 358, + 359, 360, 379, 380, 381, 384, 387, 388, 391, 393, + 394, 397, 401, 405, 406, 407, 408, 410, 412, 419, + 424, 436, 437, 438, 439, 440, 443, 444, 449, 450, + 451, 452, 453, 461, 462, 466, 485, 487, 499, 513, + 518, 442, 282, 494, 519, 0, 350, 0, 0, 352, + 265, 285, 297, 0, 508, 463, 215, 430, 274, 203, + 234, 218, 243, 258, 261, 301, 362, 370, 399, 404, + 279, 255, 232, 423, 229, 446, 469, 470, 471, 473, + 366, 250, 403, 0, 367, 348, 475, 476, 293, 474, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 386, 0, 0, 0, 0, 635, 0, 0, 0, + 254, 640, 0, 0, 0, 339, 251, 0, 0, 400, + 0, 197, 0, 448, 238, 349, 346, 482, 266, 257, + 253, 237, 294, 356, 398, 468, 392, 646, 343, 0, + 0, 458, 371, 0, 0, 0, 0, 0, 642, 643, + 0, 0, 0, 0, 0, 0, 1895, 0, 300, 235, + 302, 196, 383, 459, 270, 0, 87, 0, 0, 188, + 189, 190, 721, 728, 729, 730, 731, 732, 722, 724, + 0, 0, 226, 723, 233, 663, 665, 664, 674, 675, + 676, 677, 678, 679, 680, 661, 726, 733, 734, 1896, + 249, 298, 256, 248, 479, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, - 617, 631, 0, 645, 0, 0, 0, 259, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 628, 629, 0, 0, 0, 0, 700, - 0, 630, 0, 0, 638, 734, 735, 736, 737, 738, - 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, - 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, - 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, - 769, 770, 771, 772, 773, 774, 775, 640, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 280, 0, 371, - 241, 0, 699, 0, 0, 514, 0, 0, 697, 0, - 0, 0, 0, 337, 0, 306, 192, 213, 0, 0, - 381, 424, 434, 0, 0, 0, 239, 0, 432, 395, - 497, 221, 268, 421, 401, 430, 408, 271, 0, 0, - 431, 343, 483, 415, 494, 515, 516, 247, 375, 505, - 471, 511, 529, 214, 244, 389, 464, 500, 454, 367, - 479, 480, 305, 453, 278, 195, 341, 521, 212, 440, - 230, 219, 485, 503, 273, 419, 204, 466, 492, 227, - 444, 0, 0, 531, 206, 490, 463, 363, 302, 303, - 205, 0, 420, 252, 276, 242, 384, 487, 488, 240, - 532, 216, 510, 208, 0, 509, 377, 482, 491, 364, - 353, 207, 489, 362, 352, 308, 668, 669, 264, 287, - 413, 346, 414, 288, 373, 372, 374, 199, 501, 0, - 200, 0, 459, 502, 533, 222, 223, 225, 0, 263, - 267, 275, 277, 283, 284, 291, 339, 388, 412, 410, - 416, 0, 477, 495, 506, 513, 519, 520, 522, 523, - 524, 525, 526, 528, 527, 376, 290, 455, 307, 344, - 0, 0, 394, 433, 228, 499, 456, 706, 698, 650, - 710, 652, 707, 708, 647, 648, 651, 709, 534, 535, - 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, - 546, 547, 548, 549, 550, 551, 0, 701, 637, 636, - 0, 643, 644, 0, 658, 659, 661, 665, 666, 667, - 670, 671, 672, 680, 682, 683, 681, 684, 685, 686, - 689, 690, 691, 692, 687, 688, 693, 653, 657, 654, - 655, 656, 711, 712, 713, 714, 635, 191, 209, 340, - 0, 417, 272, 530, 508, 504, 198, 211, 0, 246, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 193, 194, 201, 210, 220, 224, 231, 245, 260, - 262, 269, 281, 286, 289, 294, 295, 298, 304, 350, - 356, 357, 358, 359, 378, 379, 380, 383, 386, 387, - 390, 392, 393, 396, 400, 404, 405, 406, 407, 409, - 411, 418, 423, 435, 436, 437, 438, 439, 442, 443, - 448, 449, 450, 451, 452, 460, 461, 465, 484, 486, - 498, 512, 517, 441, 282, 493, 518, 0, 349, 0, - 0, 351, 265, 285, 296, 0, 507, 462, 215, 429, - 274, 203, 234, 218, 243, 258, 261, 300, 361, 369, - 398, 403, 279, 255, 232, 422, 229, 445, 468, 469, - 470, 472, 365, 250, 402, 0, 366, 347, 474, 475, - 292, 473, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 385, 0, 0, 0, 0, 634, 0, - 0, 0, 254, 639, 0, 0, 0, 338, 251, 0, - 0, 399, 0, 197, 0, 447, 238, 348, 345, 481, - 266, 257, 253, 237, 293, 355, 397, 467, 391, 646, - 342, 0, 0, 457, 370, 0, 0, 0, 0, 0, - 641, 642, 0, 0, 0, 0, 0, 0, 1894, 0, - 299, 235, 301, 196, 382, 458, 270, 0, 87, 0, - 0, 188, 189, 190, 720, 727, 728, 729, 730, 731, - 721, 723, 0, 0, 226, 722, 233, 662, 664, 663, - 673, 674, 675, 676, 677, 678, 679, 660, 725, 732, - 733, 1895, 249, 297, 256, 248, 478, 0, 0, 0, - 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, - 0, 0, 617, 631, 0, 645, 0, 0, 0, 259, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 628, 629, 0, 0, 0, - 0, 700, 0, 630, 0, 0, 638, 734, 735, 736, - 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, - 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, - 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, - 767, 768, 769, 770, 771, 772, 773, 774, 775, 640, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, - 0, 371, 241, 0, 699, 0, 0, 514, 0, 0, - 697, 0, 0, 0, 0, 337, 0, 306, 192, 213, - 0, 0, 381, 424, 434, 0, 0, 0, 239, 0, - 432, 395, 497, 221, 268, 421, 401, 430, 408, 271, - 0, 0, 431, 343, 483, 415, 494, 515, 516, 247, - 375, 505, 471, 511, 529, 214, 244, 389, 464, 500, - 454, 367, 479, 480, 305, 453, 278, 195, 341, 521, - 212, 440, 230, 219, 485, 503, 273, 419, 204, 466, - 492, 227, 444, 0, 0, 531, 206, 490, 463, 363, - 302, 303, 205, 0, 420, 252, 276, 242, 384, 487, - 488, 240, 532, 216, 510, 208, 0, 509, 377, 482, - 491, 364, 353, 207, 489, 362, 352, 308, 668, 669, - 264, 287, 413, 346, 414, 288, 373, 372, 374, 199, - 501, 0, 200, 0, 459, 502, 533, 222, 223, 225, - 0, 263, 267, 275, 277, 283, 284, 291, 339, 388, - 412, 410, 416, 0, 477, 495, 506, 513, 519, 520, - 522, 523, 524, 525, 526, 528, 527, 376, 290, 455, - 307, 344, 0, 0, 394, 433, 228, 499, 456, 706, - 698, 650, 710, 652, 707, 708, 647, 648, 651, 709, - 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 549, 550, 551, 0, 701, - 637, 636, 0, 643, 644, 0, 658, 659, 661, 665, - 666, 667, 670, 671, 672, 680, 682, 683, 681, 684, - 685, 686, 689, 690, 691, 692, 687, 688, 693, 653, - 657, 654, 655, 656, 711, 712, 713, 714, 635, 191, - 209, 340, 0, 417, 272, 530, 508, 504, 198, 211, - 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, + 618, 632, 0, 645, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, - 245, 260, 262, 269, 281, 286, 289, 294, 295, 298, - 304, 350, 356, 357, 358, 359, 378, 379, 380, 383, - 386, 387, 390, 392, 393, 396, 400, 404, 405, 406, - 407, 409, 411, 418, 423, 435, 436, 437, 438, 439, - 442, 443, 448, 449, 450, 451, 452, 460, 461, 465, - 484, 486, 498, 512, 517, 441, 282, 493, 518, 0, - 349, 0, 0, 351, 265, 285, 296, 0, 507, 462, - 215, 429, 274, 203, 234, 218, 243, 258, 261, 300, - 361, 369, 398, 403, 279, 255, 232, 422, 229, 445, - 468, 469, 470, 472, 365, 250, 402, 0, 0, 347, - 474, 475, 292, 366, 0, 0, 0, 78, 473, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 385, 0, 0, 0, 0, 634, 0, 0, 0, 254, - 639, 0, 0, 0, 338, 251, 0, 0, 399, 0, - 197, 0, 447, 238, 348, 345, 481, 266, 257, 253, - 237, 293, 355, 397, 467, 391, 646, 342, 0, 0, - 457, 370, 0, 0, 0, 0, 0, 641, 642, 0, - 0, 0, 0, 0, 0, 0, 0, 299, 235, 301, - 196, 382, 458, 270, 0, 87, 0, 0, 188, 189, - 190, 720, 727, 728, 729, 730, 731, 721, 723, 0, - 0, 226, 722, 233, 662, 664, 663, 673, 674, 675, - 676, 677, 678, 679, 660, 725, 732, 733, 0, 249, - 297, 256, 248, 478, 0, 0, 0, 0, 0, 0, - 0, 217, 0, 0, 0, 0, 0, 0, 0, 617, - 631, 0, 645, 0, 0, 0, 259, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 628, 629, 0, 0, 0, 0, 700, 0, - 630, 0, 0, 638, 734, 735, 736, 737, 738, 739, + 0, 0, 0, 629, 630, 0, 0, 0, 0, 701, + 0, 631, 0, 0, 639, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, - 770, 771, 772, 773, 774, 775, 640, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 280, 0, 371, 241, - 0, 699, 0, 0, 514, 0, 0, 697, 0, 0, - 0, 0, 337, 0, 306, 192, 213, 0, 0, 381, - 424, 434, 0, 0, 0, 239, 0, 432, 395, 497, - 221, 268, 421, 401, 430, 408, 271, 0, 0, 431, - 343, 483, 415, 494, 515, 516, 247, 375, 505, 471, - 511, 529, 214, 244, 389, 464, 500, 454, 367, 479, - 480, 305, 453, 278, 195, 341, 521, 212, 440, 230, - 219, 485, 503, 273, 419, 204, 466, 492, 227, 444, - 0, 0, 531, 206, 490, 463, 363, 302, 303, 205, - 0, 420, 252, 276, 242, 384, 487, 488, 240, 532, - 216, 510, 208, 0, 509, 377, 482, 491, 364, 353, - 207, 489, 362, 352, 308, 668, 669, 264, 287, 413, - 346, 414, 288, 373, 372, 374, 199, 501, 0, 200, - 0, 459, 502, 533, 222, 223, 225, 0, 263, 267, - 275, 277, 283, 284, 291, 339, 388, 412, 410, 416, - 0, 477, 495, 506, 513, 519, 520, 522, 523, 524, - 525, 526, 528, 527, 376, 290, 455, 307, 344, 0, - 0, 394, 433, 228, 499, 456, 706, 698, 650, 710, - 652, 707, 708, 647, 648, 651, 709, 534, 535, 536, + 770, 771, 772, 773, 774, 775, 776, 641, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 280, 0, 372, + 241, 0, 700, 0, 0, 515, 0, 0, 698, 0, + 0, 0, 0, 338, 0, 307, 192, 213, 0, 0, + 382, 425, 435, 0, 0, 0, 239, 0, 433, 396, + 498, 221, 268, 422, 402, 431, 409, 271, 0, 0, + 432, 344, 484, 416, 495, 516, 517, 247, 376, 506, + 472, 512, 530, 214, 244, 390, 465, 501, 455, 368, + 480, 481, 306, 454, 278, 195, 342, 522, 212, 441, + 230, 219, 486, 504, 273, 420, 204, 467, 493, 227, + 445, 0, 0, 532, 206, 491, 464, 364, 303, 304, + 205, 0, 421, 252, 276, 242, 385, 488, 489, 240, + 533, 216, 511, 208, 0, 510, 378, 483, 492, 365, + 354, 207, 490, 363, 353, 309, 669, 670, 264, 287, + 414, 347, 415, 288, 374, 373, 375, 199, 502, 0, + 200, 0, 460, 503, 534, 222, 223, 225, 0, 263, + 267, 275, 277, 283, 284, 292, 340, 389, 413, 411, + 417, 0, 478, 496, 507, 514, 520, 521, 523, 524, + 525, 526, 527, 529, 528, 377, 290, 456, 308, 345, + 0, 0, 395, 434, 228, 500, 457, 707, 699, 650, + 711, 652, 708, 709, 647, 648, 651, 710, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, - 547, 548, 549, 550, 551, 0, 701, 637, 636, 0, - 643, 644, 0, 658, 659, 661, 665, 666, 667, 670, - 671, 672, 680, 682, 683, 681, 684, 685, 686, 689, - 690, 691, 692, 687, 688, 693, 653, 657, 654, 655, - 656, 711, 712, 713, 714, 635, 191, 209, 340, 86, - 417, 272, 530, 508, 504, 198, 211, 0, 246, 0, + 547, 548, 549, 550, 551, 552, 0, 702, 638, 637, + 0, 644, 0, 659, 660, 662, 666, 667, 668, 671, + 672, 673, 681, 683, 684, 682, 685, 686, 687, 690, + 691, 692, 693, 688, 689, 694, 653, 657, 654, 655, + 656, 658, 712, 713, 714, 715, 636, 191, 209, 341, + 0, 418, 272, 531, 509, 505, 198, 211, 0, 246, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 193, 194, 201, 210, 220, 224, 231, 245, 260, + 262, 269, 281, 286, 289, 295, 296, 299, 305, 351, + 357, 358, 359, 360, 379, 380, 381, 384, 387, 388, + 391, 393, 394, 397, 401, 405, 406, 407, 408, 410, + 412, 419, 424, 436, 437, 438, 439, 440, 443, 444, + 449, 450, 451, 452, 453, 461, 462, 466, 485, 487, + 499, 513, 518, 442, 282, 494, 519, 0, 350, 0, + 0, 352, 265, 285, 297, 0, 508, 463, 215, 430, + 274, 203, 234, 218, 243, 258, 261, 301, 362, 370, + 399, 404, 279, 255, 232, 423, 229, 446, 469, 470, + 471, 473, 366, 250, 403, 0, 0, 348, 475, 476, + 293, 367, 0, 0, 0, 78, 474, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 386, 0, + 0, 0, 0, 635, 0, 0, 0, 254, 640, 0, + 0, 0, 339, 251, 0, 0, 400, 0, 197, 0, + 448, 238, 349, 346, 482, 266, 257, 253, 237, 294, + 356, 398, 468, 392, 646, 343, 0, 0, 458, 371, + 0, 0, 0, 0, 0, 642, 643, 0, 0, 0, + 0, 0, 0, 0, 0, 300, 235, 302, 196, 383, + 459, 270, 0, 87, 0, 0, 188, 189, 190, 721, + 728, 729, 730, 731, 732, 722, 724, 0, 0, 226, + 723, 233, 663, 665, 664, 674, 675, 676, 677, 678, + 679, 680, 661, 726, 733, 734, 0, 249, 298, 256, + 248, 479, 0, 0, 0, 0, 0, 0, 0, 217, + 0, 0, 0, 0, 0, 0, 0, 618, 632, 0, + 645, 0, 0, 0, 259, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 629, 630, 0, 0, 0, 0, 701, 0, 631, 0, + 0, 639, 735, 736, 737, 738, 739, 740, 741, 742, + 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, + 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, + 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, + 773, 774, 775, 776, 641, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 280, 0, 372, 241, 0, 700, + 0, 0, 515, 0, 0, 698, 0, 0, 0, 0, + 338, 0, 307, 192, 213, 0, 0, 382, 425, 435, + 0, 0, 0, 239, 0, 433, 396, 498, 221, 268, + 422, 402, 431, 409, 271, 0, 0, 432, 344, 484, + 416, 495, 516, 517, 247, 376, 506, 472, 512, 530, + 214, 244, 390, 465, 501, 455, 368, 480, 481, 306, + 454, 278, 195, 342, 522, 212, 441, 230, 219, 486, + 504, 273, 420, 204, 467, 493, 227, 445, 0, 0, + 532, 206, 491, 464, 364, 303, 304, 205, 0, 421, + 252, 276, 242, 385, 488, 489, 240, 533, 216, 511, + 208, 0, 510, 378, 483, 492, 365, 354, 207, 490, + 363, 353, 309, 669, 670, 264, 287, 414, 347, 415, + 288, 374, 373, 375, 199, 502, 0, 200, 0, 460, + 503, 534, 222, 223, 225, 0, 263, 267, 275, 277, + 283, 284, 292, 340, 389, 413, 411, 417, 0, 478, + 496, 507, 514, 520, 521, 523, 524, 525, 526, 527, + 529, 528, 377, 290, 456, 308, 345, 0, 0, 395, + 434, 228, 500, 457, 707, 699, 650, 711, 652, 708, + 709, 647, 648, 651, 710, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, + 550, 551, 552, 0, 702, 638, 637, 0, 644, 0, + 659, 660, 662, 666, 667, 668, 671, 672, 673, 681, + 683, 684, 682, 685, 686, 687, 690, 691, 692, 693, + 688, 689, 694, 653, 657, 654, 655, 656, 658, 712, + 713, 714, 715, 636, 191, 209, 341, 86, 418, 272, + 531, 509, 505, 198, 211, 0, 246, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, + 201, 210, 220, 224, 231, 245, 260, 262, 269, 281, + 286, 289, 295, 296, 299, 305, 351, 357, 358, 359, + 360, 379, 380, 381, 384, 387, 388, 391, 393, 394, + 397, 401, 405, 406, 407, 408, 410, 412, 419, 424, + 436, 437, 438, 439, 440, 443, 444, 449, 450, 451, + 452, 453, 461, 462, 466, 485, 487, 499, 513, 518, + 442, 282, 494, 519, 0, 350, 0, 0, 352, 265, + 285, 297, 0, 508, 463, 215, 430, 274, 203, 234, + 218, 243, 258, 261, 301, 362, 370, 399, 404, 279, + 255, 232, 423, 229, 446, 469, 470, 471, 473, 366, + 250, 403, 0, 367, 348, 475, 476, 293, 474, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 386, 0, 0, 0, 0, 635, 0, 0, 0, 254, + 640, 0, 0, 0, 339, 251, 0, 0, 400, 0, + 197, 0, 448, 238, 349, 346, 482, 266, 257, 253, + 237, 294, 356, 398, 468, 392, 646, 343, 0, 0, + 458, 371, 0, 0, 0, 0, 0, 642, 643, 0, + 0, 0, 0, 0, 0, 0, 0, 300, 235, 302, + 196, 383, 459, 270, 0, 87, 0, 0, 188, 189, + 190, 721, 728, 729, 730, 731, 732, 722, 724, 0, + 0, 226, 723, 233, 663, 665, 664, 674, 675, 676, + 677, 678, 679, 680, 661, 726, 733, 734, 0, 249, + 298, 256, 248, 479, 0, 0, 0, 0, 0, 0, + 0, 217, 0, 0, 0, 0, 0, 0, 0, 618, + 632, 0, 645, 0, 0, 0, 259, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 629, 630, 0, 0, 0, 0, 701, 0, + 631, 0, 0, 639, 735, 736, 737, 738, 739, 740, + 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, + 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, + 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, + 771, 772, 773, 774, 775, 776, 641, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 280, 0, 372, 241, + 0, 700, 0, 0, 515, 0, 0, 698, 0, 0, + 0, 0, 338, 0, 307, 192, 213, 0, 0, 382, + 425, 435, 0, 0, 0, 239, 0, 433, 396, 498, + 221, 268, 422, 402, 431, 409, 271, 3047, 0, 432, + 344, 484, 416, 495, 516, 517, 247, 376, 506, 472, + 512, 530, 214, 244, 390, 465, 501, 455, 368, 480, + 481, 306, 454, 278, 195, 342, 522, 212, 441, 230, + 219, 486, 504, 273, 420, 204, 467, 493, 227, 445, + 0, 0, 532, 206, 491, 464, 364, 303, 304, 205, + 0, 421, 252, 276, 242, 385, 488, 489, 240, 533, + 216, 511, 208, 0, 510, 378, 483, 492, 365, 354, + 207, 490, 363, 353, 309, 669, 670, 264, 287, 414, + 347, 415, 288, 374, 373, 375, 199, 502, 0, 200, + 0, 460, 503, 534, 222, 223, 225, 0, 263, 267, + 275, 277, 283, 284, 292, 340, 389, 413, 411, 417, + 0, 478, 496, 507, 514, 520, 521, 523, 524, 525, + 526, 527, 529, 528, 377, 290, 456, 308, 345, 0, + 0, 395, 434, 228, 500, 457, 707, 699, 650, 711, + 652, 708, 709, 647, 648, 651, 710, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, + 548, 549, 550, 551, 552, 0, 702, 638, 637, 0, + 644, 0, 659, 660, 662, 666, 667, 668, 671, 672, + 673, 681, 683, 684, 682, 685, 686, 687, 690, 691, + 692, 693, 688, 689, 694, 653, 657, 654, 655, 656, + 658, 712, 713, 714, 715, 636, 191, 209, 341, 0, + 418, 272, 531, 509, 505, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, 245, 260, 262, - 269, 281, 286, 289, 294, 295, 298, 304, 350, 356, - 357, 358, 359, 378, 379, 380, 383, 386, 387, 390, - 392, 393, 396, 400, 404, 405, 406, 407, 409, 411, - 418, 423, 435, 436, 437, 438, 439, 442, 443, 448, - 449, 450, 451, 452, 460, 461, 465, 484, 486, 498, - 512, 517, 441, 282, 493, 518, 0, 349, 0, 0, - 351, 265, 285, 296, 0, 507, 462, 215, 429, 274, - 203, 234, 218, 243, 258, 261, 300, 361, 369, 398, - 403, 279, 255, 232, 422, 229, 445, 468, 469, 470, - 472, 365, 250, 402, 0, 366, 347, 474, 475, 292, - 473, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 385, 0, 0, 0, 0, 634, 0, 0, - 0, 254, 639, 0, 0, 0, 338, 251, 0, 0, - 399, 0, 197, 0, 447, 238, 348, 345, 481, 266, - 257, 253, 237, 293, 355, 397, 467, 391, 646, 342, - 0, 0, 457, 370, 0, 0, 0, 0, 0, 641, - 642, 0, 0, 0, 0, 0, 0, 0, 0, 299, - 235, 301, 196, 382, 458, 270, 0, 87, 0, 0, - 188, 189, 190, 720, 727, 728, 729, 730, 731, 721, - 723, 0, 0, 226, 722, 233, 662, 664, 663, 673, - 674, 675, 676, 677, 678, 679, 660, 725, 732, 733, - 0, 249, 297, 256, 248, 478, 0, 0, 0, 0, + 269, 281, 286, 289, 295, 296, 299, 305, 351, 357, + 358, 359, 360, 379, 380, 381, 384, 387, 388, 391, + 393, 394, 397, 401, 405, 406, 407, 408, 410, 412, + 419, 424, 436, 437, 438, 439, 440, 443, 444, 449, + 450, 451, 452, 453, 461, 462, 466, 485, 487, 499, + 513, 518, 442, 282, 494, 519, 0, 350, 0, 0, + 352, 265, 285, 297, 0, 508, 463, 215, 430, 274, + 203, 234, 218, 243, 258, 261, 301, 362, 370, 399, + 404, 279, 255, 232, 423, 229, 446, 469, 470, 471, + 473, 366, 250, 403, 0, 367, 348, 475, 476, 293, + 474, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 386, 0, 0, 0, 0, 635, 0, 0, + 0, 254, 640, 0, 0, 0, 339, 251, 0, 0, + 400, 0, 197, 0, 448, 238, 349, 346, 482, 266, + 257, 253, 237, 294, 356, 398, 468, 392, 646, 343, + 0, 0, 458, 371, 0, 0, 0, 0, 0, 642, + 643, 0, 0, 0, 0, 0, 0, 0, 0, 300, + 235, 302, 196, 383, 459, 270, 0, 87, 0, 1366, + 188, 189, 190, 721, 728, 729, 730, 731, 732, 722, + 724, 0, 0, 226, 723, 233, 663, 665, 664, 674, + 675, 676, 677, 678, 679, 680, 661, 726, 733, 734, + 0, 249, 298, 256, 248, 479, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, - 0, 617, 631, 0, 645, 0, 0, 0, 259, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 628, 629, 0, 0, 0, 0, - 700, 0, 630, 0, 0, 638, 734, 735, 736, 737, - 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, - 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, - 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, - 768, 769, 770, 771, 772, 773, 774, 775, 640, 0, + 0, 618, 632, 0, 645, 0, 0, 0, 259, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 629, 630, 0, 0, 0, 0, + 701, 0, 631, 0, 0, 639, 735, 736, 737, 738, + 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, + 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, + 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, + 769, 770, 771, 772, 773, 774, 775, 776, 641, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, - 371, 241, 0, 699, 0, 0, 514, 0, 0, 697, - 0, 0, 0, 0, 337, 0, 306, 192, 213, 0, - 0, 381, 424, 434, 0, 0, 0, 239, 0, 432, - 395, 497, 221, 268, 421, 401, 430, 408, 271, 3045, - 0, 431, 343, 483, 415, 494, 515, 516, 247, 375, - 505, 471, 511, 529, 214, 244, 389, 464, 500, 454, - 367, 479, 480, 305, 453, 278, 195, 341, 521, 212, - 440, 230, 219, 485, 503, 273, 419, 204, 466, 492, - 227, 444, 0, 0, 531, 206, 490, 463, 363, 302, - 303, 205, 0, 420, 252, 276, 242, 384, 487, 488, - 240, 532, 216, 510, 208, 0, 509, 377, 482, 491, - 364, 353, 207, 489, 362, 352, 308, 668, 669, 264, - 287, 413, 346, 414, 288, 373, 372, 374, 199, 501, - 0, 200, 0, 459, 502, 533, 222, 223, 225, 0, - 263, 267, 275, 277, 283, 284, 291, 339, 388, 412, - 410, 416, 0, 477, 495, 506, 513, 519, 520, 522, - 523, 524, 525, 526, 528, 527, 376, 290, 455, 307, - 344, 0, 0, 394, 433, 228, 499, 456, 706, 698, - 650, 710, 652, 707, 708, 647, 648, 651, 709, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 545, 546, 547, 548, 549, 550, 551, 0, 701, 637, - 636, 0, 643, 644, 0, 658, 659, 661, 665, 666, - 667, 670, 671, 672, 680, 682, 683, 681, 684, 685, - 686, 689, 690, 691, 692, 687, 688, 693, 653, 657, - 654, 655, 656, 711, 712, 713, 714, 635, 191, 209, - 340, 0, 417, 272, 530, 508, 504, 198, 211, 0, + 372, 241, 0, 700, 0, 0, 515, 0, 0, 698, + 0, 0, 0, 0, 338, 0, 307, 192, 213, 0, + 0, 382, 425, 435, 0, 0, 0, 239, 0, 433, + 396, 498, 221, 268, 422, 402, 431, 409, 271, 0, + 0, 432, 344, 484, 416, 495, 516, 517, 247, 376, + 506, 472, 512, 530, 214, 244, 390, 465, 501, 455, + 368, 480, 481, 306, 454, 278, 195, 342, 522, 212, + 441, 230, 219, 486, 504, 273, 420, 204, 467, 493, + 227, 445, 0, 0, 532, 206, 491, 464, 364, 303, + 304, 205, 0, 421, 252, 276, 242, 385, 488, 489, + 240, 533, 216, 511, 208, 0, 510, 378, 483, 492, + 365, 354, 207, 490, 363, 353, 309, 669, 670, 264, + 287, 414, 347, 415, 288, 374, 373, 375, 199, 502, + 0, 200, 0, 460, 503, 534, 222, 223, 225, 0, + 263, 267, 275, 277, 283, 284, 292, 340, 389, 413, + 411, 417, 0, 478, 496, 507, 514, 520, 521, 523, + 524, 525, 526, 527, 529, 528, 377, 290, 456, 308, + 345, 0, 0, 395, 434, 228, 500, 457, 707, 699, + 650, 711, 652, 708, 709, 647, 648, 651, 710, 535, + 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, + 546, 547, 548, 549, 550, 551, 552, 0, 702, 638, + 637, 0, 644, 0, 659, 660, 662, 666, 667, 668, + 671, 672, 673, 681, 683, 684, 682, 685, 686, 687, + 690, 691, 692, 693, 688, 689, 694, 653, 657, 654, + 655, 656, 658, 712, 713, 714, 715, 636, 191, 209, + 341, 0, 418, 272, 531, 509, 505, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, 245, - 260, 262, 269, 281, 286, 289, 294, 295, 298, 304, - 350, 356, 357, 358, 359, 378, 379, 380, 383, 386, - 387, 390, 392, 393, 396, 400, 404, 405, 406, 407, - 409, 411, 418, 423, 435, 436, 437, 438, 439, 442, - 443, 448, 449, 450, 451, 452, 460, 461, 465, 484, - 486, 498, 512, 517, 441, 282, 493, 518, 0, 349, - 0, 0, 351, 265, 285, 296, 0, 507, 462, 215, - 429, 274, 203, 234, 218, 243, 258, 261, 300, 361, - 369, 398, 403, 279, 255, 232, 422, 229, 445, 468, - 469, 470, 472, 365, 250, 402, 0, 366, 347, 474, - 475, 292, 473, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 385, 0, 0, 0, 0, 634, - 0, 0, 0, 254, 639, 0, 0, 0, 338, 251, - 0, 0, 399, 0, 197, 0, 447, 238, 348, 345, - 481, 266, 257, 253, 237, 293, 355, 397, 467, 391, - 646, 342, 0, 0, 457, 370, 0, 0, 0, 0, - 0, 641, 642, 0, 0, 0, 0, 0, 0, 0, - 0, 299, 235, 301, 196, 382, 458, 270, 0, 87, - 0, 1365, 188, 189, 190, 720, 727, 728, 729, 730, - 731, 721, 723, 0, 0, 226, 722, 233, 662, 664, - 663, 673, 674, 675, 676, 677, 678, 679, 660, 725, - 732, 733, 0, 249, 297, 256, 248, 478, 0, 0, + 260, 262, 269, 281, 286, 289, 295, 296, 299, 305, + 351, 357, 358, 359, 360, 379, 380, 381, 384, 387, + 388, 391, 393, 394, 397, 401, 405, 406, 407, 408, + 410, 412, 419, 424, 436, 437, 438, 439, 440, 443, + 444, 449, 450, 451, 452, 453, 461, 462, 466, 485, + 487, 499, 513, 518, 442, 282, 494, 519, 0, 350, + 0, 0, 352, 265, 285, 297, 0, 508, 463, 215, + 430, 274, 203, 234, 218, 243, 258, 261, 301, 362, + 370, 399, 404, 279, 255, 232, 423, 229, 446, 469, + 470, 471, 473, 366, 250, 403, 0, 367, 348, 475, + 476, 293, 474, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 386, 0, 0, 0, 0, 635, + 0, 0, 0, 254, 640, 0, 0, 0, 339, 251, + 0, 0, 400, 0, 197, 0, 448, 238, 349, 346, + 482, 266, 257, 253, 237, 294, 356, 398, 468, 392, + 646, 343, 0, 0, 458, 371, 0, 0, 0, 0, + 0, 642, 643, 0, 0, 0, 0, 0, 0, 0, + 0, 300, 235, 302, 196, 383, 459, 270, 0, 87, + 0, 0, 188, 189, 190, 721, 728, 729, 730, 731, + 732, 722, 724, 0, 0, 226, 723, 233, 663, 665, + 664, 674, 675, 676, 677, 678, 679, 680, 661, 726, + 733, 734, 0, 249, 298, 256, 248, 479, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, - 0, 0, 0, 617, 631, 0, 645, 0, 0, 0, + 0, 0, 0, 618, 632, 0, 645, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 628, 629, 0, 0, - 0, 0, 700, 0, 630, 0, 0, 638, 734, 735, - 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, - 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, - 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, - 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, - 640, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 280, 0, 371, 241, 0, 699, 0, 0, 514, 0, - 0, 697, 0, 0, 0, 0, 337, 0, 306, 192, - 213, 0, 0, 381, 424, 434, 0, 0, 0, 239, - 0, 432, 395, 497, 221, 268, 421, 401, 430, 408, - 271, 0, 0, 431, 343, 483, 415, 494, 515, 516, - 247, 375, 505, 471, 511, 529, 214, 244, 389, 464, - 500, 454, 367, 479, 480, 305, 453, 278, 195, 341, - 521, 212, 440, 230, 219, 485, 503, 273, 419, 204, - 466, 492, 227, 444, 0, 0, 531, 206, 490, 463, - 363, 302, 303, 205, 0, 420, 252, 276, 242, 384, - 487, 488, 240, 532, 216, 510, 208, 0, 509, 377, - 482, 491, 364, 353, 207, 489, 362, 352, 308, 668, - 669, 264, 287, 413, 346, 414, 288, 373, 372, 374, - 199, 501, 0, 200, 0, 459, 502, 533, 222, 223, - 225, 0, 263, 267, 275, 277, 283, 284, 291, 339, - 388, 412, 410, 416, 0, 477, 495, 506, 513, 519, - 520, 522, 523, 524, 525, 526, 528, 527, 376, 290, - 455, 307, 344, 0, 0, 394, 433, 228, 499, 456, - 706, 698, 650, 710, 652, 707, 708, 647, 648, 651, - 709, 534, 535, 536, 537, 538, 539, 540, 541, 542, - 543, 544, 545, 546, 547, 548, 549, 550, 551, 0, - 701, 637, 636, 0, 643, 644, 0, 658, 659, 661, - 665, 666, 667, 670, 671, 672, 680, 682, 683, 681, - 684, 685, 686, 689, 690, 691, 692, 687, 688, 693, - 653, 657, 654, 655, 656, 711, 712, 713, 714, 635, - 191, 209, 340, 0, 417, 272, 530, 508, 504, 198, + 0, 0, 0, 0, 0, 0, 629, 630, 816, 0, + 0, 0, 701, 0, 631, 0, 0, 639, 735, 736, + 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, + 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, + 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, + 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, + 641, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 280, 0, 372, 241, 0, 700, 0, 0, 515, 0, + 0, 698, 0, 0, 0, 0, 338, 0, 307, 192, + 213, 0, 0, 382, 425, 435, 0, 0, 0, 239, + 0, 433, 396, 498, 221, 268, 422, 402, 431, 409, + 271, 0, 0, 432, 344, 484, 416, 495, 516, 517, + 247, 376, 506, 472, 512, 530, 214, 244, 390, 465, + 501, 455, 368, 480, 481, 306, 454, 278, 195, 342, + 522, 212, 441, 230, 219, 486, 504, 273, 420, 204, + 467, 493, 227, 445, 0, 0, 532, 206, 491, 464, + 364, 303, 304, 205, 0, 421, 252, 276, 242, 385, + 488, 489, 240, 533, 216, 511, 208, 0, 510, 378, + 483, 492, 365, 354, 207, 490, 363, 353, 309, 669, + 670, 264, 287, 414, 347, 415, 288, 374, 373, 375, + 199, 502, 0, 200, 0, 460, 503, 534, 222, 223, + 225, 0, 263, 267, 275, 277, 283, 284, 292, 340, + 389, 413, 411, 417, 0, 478, 496, 507, 514, 520, + 521, 523, 524, 525, 526, 527, 529, 528, 377, 290, + 456, 308, 345, 0, 0, 395, 434, 228, 500, 457, + 707, 699, 650, 711, 652, 708, 709, 647, 648, 651, + 710, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 550, 551, 552, 0, + 702, 638, 637, 0, 644, 0, 659, 660, 662, 666, + 667, 668, 671, 672, 673, 681, 683, 684, 682, 685, + 686, 687, 690, 691, 692, 693, 688, 689, 694, 653, + 657, 654, 655, 656, 658, 712, 713, 714, 715, 636, + 191, 209, 341, 0, 418, 272, 531, 509, 505, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, - 231, 245, 260, 262, 269, 281, 286, 289, 294, 295, - 298, 304, 350, 356, 357, 358, 359, 378, 379, 380, - 383, 386, 387, 390, 392, 393, 396, 400, 404, 405, - 406, 407, 409, 411, 418, 423, 435, 436, 437, 438, - 439, 442, 443, 448, 449, 450, 451, 452, 460, 461, - 465, 484, 486, 498, 512, 517, 441, 282, 493, 518, - 0, 349, 0, 0, 351, 265, 285, 296, 0, 507, - 462, 215, 429, 274, 203, 234, 218, 243, 258, 261, - 300, 361, 369, 398, 403, 279, 255, 232, 422, 229, - 445, 468, 469, 470, 472, 365, 250, 402, 0, 366, - 347, 474, 475, 292, 473, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 385, 0, 0, 0, - 0, 634, 0, 0, 0, 254, 639, 0, 0, 0, - 338, 251, 0, 0, 399, 0, 197, 0, 447, 238, - 348, 345, 481, 266, 257, 253, 237, 293, 355, 397, - 467, 391, 646, 342, 0, 0, 457, 370, 0, 0, - 0, 0, 0, 641, 642, 0, 0, 0, 0, 0, - 0, 0, 0, 299, 235, 301, 196, 382, 458, 270, - 0, 87, 0, 0, 188, 189, 190, 720, 727, 728, - 729, 730, 731, 721, 723, 0, 0, 226, 722, 233, - 662, 664, 663, 673, 674, 675, 676, 677, 678, 679, - 660, 725, 732, 733, 0, 249, 297, 256, 248, 478, + 231, 245, 260, 262, 269, 281, 286, 289, 295, 296, + 299, 305, 351, 357, 358, 359, 360, 379, 380, 381, + 384, 387, 388, 391, 393, 394, 397, 401, 405, 406, + 407, 408, 410, 412, 419, 424, 436, 437, 438, 439, + 440, 443, 444, 449, 450, 451, 452, 453, 461, 462, + 466, 485, 487, 499, 513, 518, 442, 282, 494, 519, + 0, 350, 0, 0, 352, 265, 285, 297, 0, 508, + 463, 215, 430, 274, 203, 234, 218, 243, 258, 261, + 301, 362, 370, 399, 404, 279, 255, 232, 423, 229, + 446, 469, 470, 471, 473, 366, 250, 403, 0, 367, + 348, 475, 476, 293, 474, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 386, 0, 0, 0, + 0, 635, 0, 0, 0, 254, 640, 0, 0, 0, + 339, 251, 0, 0, 400, 0, 197, 0, 448, 238, + 349, 346, 482, 266, 257, 253, 237, 294, 356, 398, + 468, 392, 646, 343, 0, 0, 458, 371, 0, 0, + 0, 0, 0, 642, 643, 0, 0, 0, 0, 0, + 0, 0, 0, 300, 235, 302, 196, 383, 459, 270, + 0, 87, 0, 0, 188, 189, 190, 721, 728, 729, + 730, 731, 732, 722, 724, 0, 0, 226, 723, 233, + 663, 665, 664, 674, 675, 676, 677, 678, 679, 680, + 661, 726, 733, 734, 0, 249, 298, 256, 248, 479, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, - 0, 0, 0, 0, 0, 617, 631, 0, 645, 0, + 0, 0, 0, 0, 0, 618, 632, 0, 645, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 628, 629, - 815, 0, 0, 0, 700, 0, 630, 0, 0, 638, - 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, - 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, - 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, - 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, - 774, 775, 640, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 280, 0, 371, 241, 0, 699, 0, 0, - 514, 0, 0, 697, 0, 0, 0, 0, 337, 0, - 306, 192, 213, 0, 0, 381, 424, 434, 0, 0, - 0, 239, 0, 432, 395, 497, 221, 268, 421, 401, - 430, 408, 271, 0, 0, 431, 343, 483, 415, 494, - 515, 516, 247, 375, 505, 471, 511, 529, 214, 244, - 389, 464, 500, 454, 367, 479, 480, 305, 453, 278, - 195, 341, 521, 212, 440, 230, 219, 485, 503, 273, - 419, 204, 466, 492, 227, 444, 0, 0, 531, 206, - 490, 463, 363, 302, 303, 205, 0, 420, 252, 276, - 242, 384, 487, 488, 240, 532, 216, 510, 208, 0, - 509, 377, 482, 491, 364, 353, 207, 489, 362, 352, - 308, 668, 669, 264, 287, 413, 346, 414, 288, 373, - 372, 374, 199, 501, 0, 200, 0, 459, 502, 533, + 0, 0, 0, 0, 0, 0, 0, 0, 629, 630, + 2087, 0, 0, 0, 701, 0, 631, 0, 0, 639, + 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, + 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, + 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, + 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, + 775, 776, 641, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 280, 0, 372, 241, 0, 700, 0, 0, + 515, 0, 0, 698, 0, 0, 0, 0, 338, 0, + 307, 192, 213, 0, 0, 382, 425, 435, 0, 0, + 0, 239, 0, 433, 396, 498, 221, 268, 422, 402, + 431, 409, 271, 0, 0, 432, 344, 484, 416, 495, + 516, 517, 247, 376, 506, 472, 512, 530, 214, 244, + 390, 465, 501, 455, 368, 480, 481, 306, 454, 278, + 195, 342, 522, 212, 441, 230, 219, 486, 504, 273, + 420, 204, 467, 493, 227, 445, 0, 0, 532, 206, + 491, 464, 364, 303, 304, 205, 0, 421, 252, 276, + 242, 385, 488, 489, 240, 533, 216, 511, 208, 0, + 510, 378, 483, 492, 365, 354, 207, 490, 363, 353, + 309, 669, 670, 264, 287, 414, 347, 415, 288, 374, + 373, 375, 199, 502, 0, 200, 0, 460, 503, 534, 222, 223, 225, 0, 263, 267, 275, 277, 283, 284, - 291, 339, 388, 412, 410, 416, 0, 477, 495, 506, - 513, 519, 520, 522, 523, 524, 525, 526, 528, 527, - 376, 290, 455, 307, 344, 0, 0, 394, 433, 228, - 499, 456, 706, 698, 650, 710, 652, 707, 708, 647, - 648, 651, 709, 534, 535, 536, 537, 538, 539, 540, - 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, - 551, 0, 701, 637, 636, 0, 643, 644, 0, 658, - 659, 661, 665, 666, 667, 670, 671, 672, 680, 682, - 683, 681, 684, 685, 686, 689, 690, 691, 692, 687, - 688, 693, 653, 657, 654, 655, 656, 711, 712, 713, - 714, 635, 191, 209, 340, 0, 417, 272, 530, 508, - 504, 198, 211, 0, 246, 0, 0, 0, 0, 0, + 292, 340, 389, 413, 411, 417, 0, 478, 496, 507, + 514, 520, 521, 523, 524, 525, 526, 527, 529, 528, + 377, 290, 456, 308, 345, 0, 0, 395, 434, 228, + 500, 457, 707, 699, 650, 711, 652, 708, 709, 647, + 648, 651, 710, 535, 536, 537, 538, 539, 540, 541, + 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, + 552, 0, 702, 638, 637, 0, 644, 0, 659, 660, + 662, 666, 667, 668, 671, 672, 673, 681, 683, 684, + 682, 685, 686, 687, 690, 691, 692, 693, 688, 689, + 694, 653, 657, 654, 655, 656, 658, 712, 713, 714, + 715, 636, 191, 209, 341, 0, 418, 272, 531, 509, + 505, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, 245, 260, 262, 269, 281, 286, 289, - 294, 295, 298, 304, 350, 356, 357, 358, 359, 378, - 379, 380, 383, 386, 387, 390, 392, 393, 396, 400, - 404, 405, 406, 407, 409, 411, 418, 423, 435, 436, - 437, 438, 439, 442, 443, 448, 449, 450, 451, 452, - 460, 461, 465, 484, 486, 498, 512, 517, 441, 282, - 493, 518, 0, 349, 0, 0, 351, 265, 285, 296, - 0, 507, 462, 215, 429, 274, 203, 234, 218, 243, - 258, 261, 300, 361, 369, 398, 403, 279, 255, 232, - 422, 229, 445, 468, 469, 470, 472, 365, 250, 402, - 0, 366, 347, 474, 475, 292, 473, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 385, 0, - 0, 0, 0, 634, 0, 0, 0, 254, 639, 0, - 0, 0, 338, 251, 0, 0, 399, 0, 197, 0, - 447, 238, 348, 345, 481, 266, 257, 253, 237, 293, - 355, 397, 467, 391, 646, 342, 0, 0, 457, 370, - 0, 0, 0, 0, 0, 641, 642, 0, 0, 0, - 0, 0, 0, 0, 0, 299, 235, 301, 196, 382, - 458, 270, 0, 87, 0, 0, 188, 189, 190, 720, - 727, 728, 729, 730, 731, 721, 723, 0, 0, 226, - 722, 233, 662, 664, 663, 673, 674, 675, 676, 677, - 678, 679, 660, 725, 732, 733, 0, 249, 297, 256, - 248, 478, 0, 0, 0, 0, 0, 0, 0, 217, - 0, 0, 0, 0, 0, 0, 0, 617, 631, 0, + 295, 296, 299, 305, 351, 357, 358, 359, 360, 379, + 380, 381, 384, 387, 388, 391, 393, 394, 397, 401, + 405, 406, 407, 408, 410, 412, 419, 424, 436, 437, + 438, 439, 440, 443, 444, 449, 450, 451, 452, 453, + 461, 462, 466, 485, 487, 499, 513, 518, 442, 282, + 494, 519, 0, 350, 0, 0, 352, 265, 285, 297, + 0, 508, 463, 215, 430, 274, 203, 234, 218, 243, + 258, 261, 301, 362, 370, 399, 404, 279, 255, 232, + 423, 229, 446, 469, 470, 471, 473, 366, 250, 403, + 0, 367, 348, 475, 476, 293, 474, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 386, 0, + 0, 0, 0, 635, 0, 0, 0, 254, 640, 0, + 0, 0, 339, 251, 0, 0, 400, 0, 197, 0, + 448, 238, 349, 346, 482, 266, 257, 253, 237, 294, + 356, 398, 468, 392, 646, 343, 0, 0, 458, 371, + 0, 0, 0, 0, 0, 642, 643, 0, 0, 0, + 0, 0, 0, 0, 0, 300, 235, 302, 196, 383, + 459, 270, 0, 87, 0, 0, 188, 189, 190, 721, + 728, 729, 730, 731, 732, 722, 724, 0, 0, 226, + 723, 233, 663, 665, 664, 674, 675, 676, 677, 678, + 679, 680, 661, 726, 733, 734, 0, 249, 298, 256, + 248, 479, 0, 0, 0, 0, 0, 0, 0, 217, + 0, 0, 0, 0, 0, 0, 0, 618, 632, 0, 645, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 628, 629, 2087, 0, 0, 0, 700, 0, 630, 0, - 0, 638, 734, 735, 736, 737, 738, 739, 740, 741, - 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, - 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, - 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, - 772, 773, 774, 775, 640, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 280, 0, 371, 241, 0, 699, - 0, 0, 514, 0, 0, 697, 0, 0, 0, 0, - 337, 0, 306, 192, 213, 0, 0, 381, 424, 434, - 0, 0, 0, 239, 0, 432, 395, 497, 221, 268, - 421, 401, 430, 408, 271, 0, 0, 431, 343, 483, - 415, 494, 515, 516, 247, 375, 505, 471, 511, 529, - 214, 244, 389, 464, 500, 454, 367, 479, 480, 305, - 453, 278, 195, 341, 521, 212, 440, 230, 219, 485, - 503, 273, 419, 204, 466, 492, 227, 444, 0, 0, - 531, 206, 490, 463, 363, 302, 303, 205, 0, 420, - 252, 276, 242, 384, 487, 488, 240, 532, 216, 510, - 208, 0, 509, 377, 482, 491, 364, 353, 207, 489, - 362, 352, 308, 668, 669, 264, 287, 413, 346, 414, - 288, 373, 372, 374, 199, 501, 0, 200, 0, 459, - 502, 533, 222, 223, 225, 0, 263, 267, 275, 277, - 283, 284, 291, 339, 388, 412, 410, 416, 0, 477, - 495, 506, 513, 519, 520, 522, 523, 524, 525, 526, - 528, 527, 376, 290, 455, 307, 344, 0, 0, 394, - 433, 228, 499, 456, 706, 698, 650, 710, 652, 707, - 708, 647, 648, 651, 709, 534, 535, 536, 537, 538, - 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, - 549, 550, 551, 0, 701, 637, 636, 0, 643, 644, - 0, 658, 659, 661, 665, 666, 667, 670, 671, 672, - 680, 682, 683, 681, 684, 685, 686, 689, 690, 691, - 692, 687, 688, 693, 653, 657, 654, 655, 656, 711, - 712, 713, 714, 635, 191, 209, 340, 0, 417, 272, - 530, 508, 504, 198, 211, 0, 246, 0, 0, 0, + 629, 630, 0, 0, 0, 0, 701, 0, 631, 0, + 0, 639, 735, 736, 737, 738, 739, 740, 741, 742, + 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, + 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, + 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, + 773, 774, 775, 776, 641, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 280, 0, 372, 241, 0, 700, + 0, 0, 515, 0, 0, 698, 0, 0, 0, 0, + 338, 0, 307, 192, 213, 0, 0, 382, 425, 435, + 0, 0, 0, 239, 0, 433, 396, 498, 221, 268, + 422, 402, 431, 409, 271, 0, 0, 432, 344, 484, + 416, 495, 516, 517, 247, 376, 506, 472, 512, 530, + 214, 244, 390, 465, 501, 455, 368, 480, 481, 306, + 454, 278, 195, 342, 522, 212, 441, 230, 219, 486, + 504, 273, 420, 204, 467, 493, 227, 445, 0, 0, + 532, 206, 491, 464, 364, 303, 304, 205, 0, 421, + 252, 276, 242, 385, 488, 489, 240, 533, 216, 511, + 208, 0, 510, 378, 483, 492, 365, 354, 207, 490, + 363, 353, 309, 669, 670, 264, 287, 414, 347, 415, + 288, 374, 373, 375, 199, 502, 0, 200, 0, 460, + 503, 534, 222, 223, 225, 0, 263, 267, 275, 277, + 283, 284, 292, 340, 389, 413, 411, 417, 0, 478, + 496, 507, 514, 520, 521, 523, 524, 525, 526, 527, + 529, 528, 377, 290, 456, 308, 345, 0, 0, 395, + 434, 228, 500, 457, 707, 699, 650, 711, 652, 708, + 709, 647, 648, 651, 710, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, + 550, 551, 552, 0, 702, 638, 637, 0, 644, 0, + 659, 660, 662, 666, 667, 668, 671, 672, 673, 681, + 683, 684, 682, 685, 686, 687, 690, 691, 692, 693, + 688, 689, 694, 653, 657, 654, 655, 656, 658, 712, + 713, 714, 715, 636, 191, 209, 341, 0, 418, 272, + 531, 509, 505, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, 245, 260, 262, 269, 281, - 286, 289, 294, 295, 298, 304, 350, 356, 357, 358, - 359, 378, 379, 380, 383, 386, 387, 390, 392, 393, - 396, 400, 404, 405, 406, 407, 409, 411, 418, 423, - 435, 436, 437, 438, 439, 442, 443, 448, 449, 450, - 451, 452, 460, 461, 465, 484, 486, 498, 512, 517, - 441, 282, 493, 518, 0, 349, 0, 0, 351, 265, - 285, 296, 0, 507, 462, 215, 429, 274, 203, 234, - 218, 243, 258, 261, 300, 361, 369, 398, 403, 279, - 255, 232, 422, 229, 445, 468, 469, 470, 472, 365, - 250, 402, 0, 366, 347, 474, 475, 292, 473, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 385, 0, 0, 0, 0, 634, 0, 0, 0, 254, - 639, 0, 0, 0, 338, 251, 0, 0, 399, 0, - 197, 0, 447, 238, 348, 345, 481, 266, 257, 253, - 237, 293, 355, 397, 467, 391, 646, 342, 0, 0, - 457, 370, 0, 0, 0, 0, 0, 641, 642, 0, - 0, 0, 0, 0, 0, 0, 0, 299, 235, 301, - 196, 382, 458, 270, 0, 87, 0, 0, 188, 189, - 190, 720, 727, 728, 729, 730, 731, 721, 723, 0, - 0, 226, 722, 233, 662, 664, 663, 673, 674, 675, - 676, 677, 678, 679, 660, 725, 732, 733, 0, 249, - 297, 256, 248, 478, 0, 0, 0, 0, 0, 0, - 0, 217, 0, 0, 0, 0, 0, 0, 0, 617, - 631, 0, 645, 0, 0, 0, 259, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 628, 629, 0, 0, 0, 0, 700, 0, - 630, 0, 0, 638, 734, 735, 736, 737, 738, 739, - 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, - 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, - 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, - 770, 771, 772, 773, 774, 775, 640, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 280, 0, 371, 241, - 0, 699, 0, 0, 514, 0, 0, 697, 0, 0, - 0, 0, 337, 0, 306, 192, 213, 0, 0, 381, - 424, 434, 0, 0, 0, 239, 0, 432, 395, 497, - 221, 268, 421, 401, 430, 408, 271, 0, 0, 431, - 343, 483, 415, 494, 515, 516, 247, 375, 505, 471, - 511, 529, 214, 244, 389, 464, 500, 454, 367, 479, - 480, 305, 453, 278, 195, 341, 521, 212, 440, 230, - 219, 485, 503, 273, 419, 204, 466, 492, 227, 444, - 0, 0, 531, 206, 490, 463, 363, 302, 303, 205, - 0, 420, 252, 276, 242, 384, 487, 488, 240, 532, - 216, 510, 208, 0, 509, 377, 482, 491, 364, 353, - 207, 489, 362, 352, 308, 668, 669, 264, 287, 413, - 346, 414, 288, 373, 372, 374, 199, 501, 0, 200, - 0, 459, 502, 533, 222, 223, 225, 0, 263, 267, - 275, 277, 283, 284, 291, 339, 388, 412, 410, 416, - 0, 477, 495, 506, 513, 519, 520, 522, 523, 524, - 525, 526, 528, 527, 376, 290, 455, 307, 344, 0, - 0, 394, 433, 228, 499, 456, 706, 698, 650, 710, - 652, 707, 708, 647, 648, 651, 709, 534, 535, 536, - 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, - 547, 548, 549, 550, 551, 0, 701, 637, 636, 0, - 643, 644, 0, 658, 659, 661, 665, 666, 667, 670, - 671, 672, 680, 682, 683, 681, 684, 685, 686, 689, - 690, 691, 692, 687, 688, 693, 653, 657, 654, 655, - 656, 711, 712, 713, 714, 635, 191, 209, 340, 0, - 417, 272, 530, 508, 504, 198, 211, 0, 246, 0, + 286, 289, 295, 296, 299, 305, 351, 357, 358, 359, + 360, 379, 380, 381, 384, 387, 388, 391, 393, 394, + 397, 401, 405, 406, 407, 408, 410, 412, 419, 424, + 436, 437, 438, 439, 440, 443, 444, 449, 450, 451, + 452, 453, 461, 462, 466, 485, 487, 499, 513, 518, + 442, 282, 494, 519, 0, 350, 0, 0, 352, 265, + 285, 297, 0, 508, 463, 215, 430, 274, 203, 234, + 218, 243, 258, 261, 301, 362, 370, 399, 404, 279, + 255, 232, 423, 229, 446, 469, 470, 471, 473, 366, + 250, 403, 0, 367, 348, 475, 476, 293, 474, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 386, 0, 0, 0, 0, 635, 0, 0, 0, 254, + 640, 0, 0, 0, 339, 251, 0, 0, 400, 0, + 197, 0, 448, 238, 349, 346, 482, 266, 257, 253, + 237, 294, 356, 398, 468, 392, 646, 343, 0, 0, + 458, 371, 0, 0, 0, 0, 0, 642, 643, 0, + 0, 0, 0, 0, 0, 0, 0, 300, 235, 302, + 196, 383, 459, 270, 0, 87, 0, 0, 188, 189, + 190, 721, 728, 729, 730, 731, 732, 722, 724, 0, + 0, 226, 723, 233, 663, 665, 664, 674, 675, 676, + 677, 678, 679, 680, 661, 726, 733, 734, 0, 249, + 298, 256, 248, 479, 0, 0, 0, 0, 0, 0, + 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, + 632, 0, 645, 0, 0, 0, 259, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 629, 630, 0, 0, 0, 0, 701, 0, + 631, 0, 0, 639, 735, 736, 737, 738, 739, 740, + 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, + 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, + 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, + 771, 772, 773, 774, 775, 776, 641, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 280, 0, 372, 241, + 0, 700, 0, 0, 515, 0, 0, 698, 0, 0, + 0, 0, 338, 0, 307, 192, 213, 0, 0, 382, + 425, 435, 0, 0, 0, 239, 0, 433, 396, 498, + 221, 268, 422, 402, 431, 409, 271, 0, 0, 432, + 344, 484, 416, 495, 516, 517, 247, 376, 506, 472, + 512, 530, 214, 244, 390, 465, 501, 455, 368, 480, + 481, 306, 454, 278, 195, 342, 522, 212, 441, 230, + 219, 486, 504, 273, 420, 204, 467, 493, 227, 445, + 0, 0, 532, 206, 491, 464, 364, 303, 304, 205, + 0, 421, 252, 276, 242, 385, 488, 489, 240, 533, + 216, 511, 208, 0, 510, 378, 483, 492, 365, 354, + 207, 490, 363, 353, 309, 669, 670, 264, 287, 414, + 347, 415, 288, 374, 373, 375, 199, 502, 0, 200, + 0, 460, 503, 534, 222, 223, 225, 0, 263, 267, + 275, 277, 283, 284, 292, 340, 389, 413, 411, 417, + 0, 478, 496, 507, 514, 520, 521, 523, 524, 525, + 526, 527, 529, 528, 377, 290, 456, 308, 345, 0, + 0, 395, 434, 228, 500, 457, 707, 699, 650, 711, + 652, 708, 709, 647, 648, 651, 710, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, + 548, 549, 550, 551, 552, 0, 702, 638, 637, 0, + 644, 0, 659, 660, 662, 666, 667, 668, 671, 672, + 673, 681, 683, 684, 682, 685, 686, 687, 690, 691, + 692, 693, 688, 689, 694, 653, 657, 654, 655, 656, + 658, 712, 713, 714, 715, 636, 191, 209, 341, 0, + 418, 272, 531, 509, 505, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, 245, 260, 262, - 269, 281, 286, 289, 294, 295, 298, 304, 350, 356, - 357, 358, 359, 378, 379, 380, 383, 386, 387, 390, - 392, 393, 396, 400, 404, 405, 406, 407, 409, 411, - 418, 423, 435, 436, 437, 438, 439, 442, 443, 448, - 449, 450, 451, 452, 460, 461, 465, 484, 486, 498, - 512, 517, 441, 282, 493, 518, 0, 349, 0, 0, - 351, 265, 285, 296, 0, 507, 462, 215, 429, 274, - 203, 234, 218, 243, 258, 261, 300, 361, 369, 398, - 403, 279, 255, 232, 422, 229, 445, 468, 469, 470, - 472, 365, 250, 402, 0, 366, 347, 474, 475, 292, - 473, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 385, 0, 0, 0, 0, 634, 0, 0, - 0, 254, 639, 0, 0, 0, 338, 251, 0, 0, - 399, 0, 197, 0, 447, 238, 348, 345, 481, 266, - 257, 253, 237, 293, 355, 397, 467, 391, 646, 342, - 0, 0, 457, 370, 0, 0, 0, 0, 0, 641, - 642, 0, 0, 0, 0, 0, 0, 0, 0, 299, - 235, 301, 196, 382, 458, 270, 0, 87, 0, 0, - 188, 189, 190, 720, 727, 728, 729, 730, 731, 721, - 723, 0, 0, 226, 722, 233, 662, 664, 663, 673, - 674, 675, 676, 677, 678, 679, 660, 725, 732, 733, - 0, 249, 297, 256, 248, 478, 0, 0, 0, 0, + 269, 281, 286, 289, 295, 296, 299, 305, 351, 357, + 358, 359, 360, 379, 380, 381, 384, 387, 388, 391, + 393, 394, 397, 401, 405, 406, 407, 408, 410, 412, + 419, 424, 436, 437, 438, 439, 440, 443, 444, 449, + 450, 451, 452, 453, 461, 462, 466, 485, 487, 499, + 513, 518, 442, 282, 494, 519, 0, 350, 0, 0, + 352, 265, 285, 297, 0, 508, 463, 215, 430, 274, + 203, 234, 218, 243, 258, 261, 301, 362, 370, 399, + 404, 279, 255, 232, 423, 229, 446, 469, 470, 471, + 473, 366, 250, 403, 0, 367, 348, 475, 476, 293, + 474, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 386, 0, 0, 0, 0, 0, 0, 0, + 0, 254, 0, 0, 0, 0, 339, 251, 0, 0, + 400, 0, 197, 0, 448, 238, 349, 346, 482, 266, + 257, 253, 237, 294, 356, 398, 468, 392, 0, 343, + 0, 0, 458, 371, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 300, + 235, 302, 196, 383, 459, 270, 0, 0, 0, 0, + 188, 189, 190, 0, 728, 729, 0, 0, 0, 0, + 1714, 0, 0, 226, 0, 233, 324, 333, 332, 313, + 314, 316, 318, 323, 330, 336, 0, 0, 0, 0, + 0, 249, 298, 256, 248, 479, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, - 0, 0, 631, 0, 645, 0, 0, 0, 259, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 628, 629, 0, 0, 0, 0, - 700, 0, 630, 0, 0, 638, 734, 735, 736, 737, - 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, - 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, - 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, - 768, 769, 770, 771, 772, 773, 774, 775, 640, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 735, 736, 737, 738, + 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, + 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, + 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, + 769, 770, 771, 772, 773, 774, 775, 776, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, - 371, 241, 0, 699, 0, 0, 514, 0, 0, 697, - 0, 0, 0, 0, 337, 0, 306, 192, 213, 0, - 0, 381, 424, 434, 0, 0, 0, 239, 0, 432, - 395, 497, 221, 268, 421, 401, 430, 408, 271, 0, - 0, 431, 343, 483, 415, 494, 515, 516, 247, 375, - 505, 471, 511, 529, 214, 244, 389, 464, 500, 454, - 367, 479, 480, 305, 453, 278, 195, 341, 521, 212, - 440, 230, 219, 485, 503, 273, 419, 204, 466, 492, - 227, 444, 0, 0, 531, 206, 490, 463, 363, 302, - 303, 205, 0, 420, 252, 276, 242, 384, 487, 488, - 240, 532, 216, 510, 208, 0, 509, 377, 482, 491, - 364, 353, 207, 489, 362, 352, 308, 668, 669, 264, - 287, 413, 346, 414, 288, 373, 372, 374, 199, 501, - 0, 200, 0, 459, 502, 533, 222, 223, 225, 0, - 263, 267, 275, 277, 283, 284, 291, 339, 388, 412, - 410, 416, 0, 477, 495, 506, 513, 519, 520, 522, - 523, 524, 525, 526, 528, 527, 376, 290, 455, 307, - 344, 0, 0, 394, 433, 228, 499, 456, 706, 698, - 650, 710, 652, 707, 708, 647, 648, 651, 709, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 545, 546, 547, 548, 549, 550, 551, 0, 701, 637, - 636, 0, 643, 644, 0, 658, 659, 661, 665, 666, - 667, 670, 671, 672, 680, 682, 683, 681, 684, 685, - 686, 689, 690, 691, 692, 687, 688, 693, 653, 657, - 654, 655, 656, 711, 712, 713, 714, 635, 191, 209, - 340, 0, 417, 272, 530, 508, 504, 198, 211, 0, + 372, 241, 0, 0, 0, 0, 515, 0, 0, 0, + 0, 0, 0, 0, 338, 0, 307, 192, 213, 0, + 0, 382, 425, 435, 0, 0, 0, 239, 0, 433, + 396, 498, 221, 268, 422, 402, 431, 409, 271, 0, + 0, 432, 344, 484, 416, 495, 516, 517, 247, 376, + 506, 472, 512, 530, 214, 244, 390, 465, 501, 455, + 368, 480, 481, 306, 454, 278, 195, 342, 522, 212, + 441, 230, 219, 486, 504, 273, 420, 204, 467, 493, + 227, 445, 0, 0, 532, 206, 491, 464, 364, 303, + 304, 205, 0, 421, 252, 276, 242, 385, 488, 489, + 240, 533, 216, 511, 208, 0, 510, 378, 483, 492, + 365, 354, 207, 490, 363, 353, 309, 328, 329, 264, + 287, 414, 347, 415, 288, 374, 373, 375, 199, 502, + 0, 200, 0, 460, 503, 534, 222, 223, 225, 0, + 263, 267, 275, 277, 283, 284, 292, 340, 389, 413, + 411, 417, 0, 478, 496, 507, 514, 520, 521, 523, + 524, 525, 526, 527, 529, 528, 377, 290, 456, 308, + 345, 0, 0, 395, 434, 228, 500, 457, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, + 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, + 546, 547, 548, 549, 550, 551, 552, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 553, 355, 447, 497, + 310, 322, 325, 315, 334, 0, 335, 311, 312, 317, + 319, 320, 321, 326, 327, 331, 337, 236, 202, 361, + 369, 477, 291, 426, 427, 428, 429, 0, 191, 209, + 341, 0, 418, 272, 531, 509, 505, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, 245, - 260, 262, 269, 281, 286, 289, 294, 295, 298, 304, - 350, 356, 357, 358, 359, 378, 379, 380, 383, 386, - 387, 390, 392, 393, 396, 400, 404, 405, 406, 407, - 409, 411, 418, 423, 435, 436, 437, 438, 439, 442, - 443, 448, 449, 450, 451, 452, 460, 461, 465, 484, - 486, 498, 512, 517, 441, 282, 493, 518, 0, 349, - 0, 0, 351, 265, 285, 296, 0, 507, 462, 215, - 429, 274, 203, 234, 218, 243, 258, 261, 300, 361, - 369, 398, 403, 279, 255, 232, 422, 229, 445, 468, - 469, 470, 472, 365, 250, 402, 0, 366, 347, 474, - 475, 292, 473, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 385, 0, 0, 0, 0, 0, - 0, 0, 0, 254, 0, 0, 0, 0, 338, 251, - 0, 0, 399, 0, 197, 0, 447, 238, 348, 345, - 481, 266, 257, 253, 237, 293, 355, 397, 467, 391, - 0, 342, 0, 0, 457, 370, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 299, 235, 301, 196, 382, 458, 270, 0, 0, - 0, 0, 188, 189, 190, 0, 727, 728, 0, 0, - 0, 0, 1713, 0, 0, 226, 0, 233, 323, 332, - 331, 312, 313, 315, 317, 322, 329, 335, 0, 0, - 0, 0, 0, 249, 297, 256, 248, 478, 0, 0, - 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, + 260, 262, 269, 281, 286, 289, 295, 296, 299, 305, + 351, 357, 358, 359, 360, 379, 380, 381, 384, 387, + 388, 391, 393, 394, 397, 401, 405, 406, 407, 408, + 410, 412, 419, 424, 436, 437, 438, 439, 440, 443, + 444, 449, 450, 451, 452, 453, 461, 462, 466, 485, + 487, 499, 513, 518, 442, 282, 494, 519, 0, 350, + 0, 0, 352, 265, 285, 297, 0, 508, 463, 215, + 430, 274, 203, 234, 218, 243, 258, 261, 301, 362, + 370, 399, 404, 279, 255, 232, 423, 229, 446, 469, + 470, 471, 473, 366, 250, 403, 0, 367, 348, 475, + 476, 293, 474, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 386, 0, 0, 0, 0, 0, + 0, 0, 0, 254, 0, 0, 0, 0, 339, 251, + 0, 0, 400, 0, 197, 0, 448, 238, 349, 346, + 482, 266, 257, 253, 237, 294, 356, 398, 468, 392, + 0, 343, 0, 0, 458, 371, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 300, 235, 302, 196, 383, 459, 270, 0, 0, + 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 226, 0, 233, 324, 333, + 332, 313, 314, 316, 318, 323, 330, 336, 0, 0, + 0, 0, 0, 249, 298, 256, 248, 479, 0, 0, + 0, 0, 0, 0, 0, 217, 0, 1035, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 734, 735, - 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, - 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, - 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, - 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 280, 0, 371, 241, 0, 0, 0, 0, 514, 0, - 0, 0, 0, 0, 0, 0, 337, 0, 306, 192, - 213, 0, 0, 381, 424, 434, 0, 0, 0, 239, - 0, 432, 395, 497, 221, 268, 421, 401, 430, 408, - 271, 0, 0, 431, 343, 483, 415, 494, 515, 516, - 247, 375, 505, 471, 511, 529, 214, 244, 389, 464, - 500, 454, 367, 479, 480, 305, 453, 278, 195, 341, - 521, 212, 440, 230, 219, 485, 503, 273, 419, 204, - 466, 492, 227, 444, 0, 0, 531, 206, 490, 463, - 363, 302, 303, 205, 0, 420, 252, 276, 242, 384, - 487, 488, 240, 532, 216, 510, 208, 0, 509, 377, - 482, 491, 364, 353, 207, 489, 362, 352, 308, 327, - 328, 264, 287, 413, 346, 414, 288, 373, 372, 374, - 199, 501, 0, 200, 0, 459, 502, 533, 222, 223, - 225, 0, 263, 267, 275, 277, 283, 284, 291, 339, - 388, 412, 410, 416, 0, 477, 495, 506, 513, 519, - 520, 522, 523, 524, 525, 526, 528, 527, 376, 290, - 455, 307, 344, 0, 0, 394, 433, 228, 499, 456, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, - 543, 544, 545, 546, 547, 548, 549, 550, 551, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 552, - 354, 446, 496, 309, 321, 324, 314, 333, 0, 334, - 310, 311, 316, 318, 319, 320, 325, 326, 330, 336, - 236, 202, 360, 368, 476, 425, 426, 427, 428, 0, - 191, 209, 340, 0, 417, 272, 530, 508, 504, 198, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 280, 0, 372, 241, 0, 0, 0, 1034, 515, 0, + 0, 0, 0, 0, 1031, 1032, 338, 992, 307, 192, + 213, 1025, 1029, 382, 425, 435, 0, 0, 0, 239, + 0, 433, 396, 498, 221, 268, 422, 402, 431, 409, + 271, 0, 0, 432, 344, 484, 416, 495, 516, 517, + 247, 376, 506, 472, 512, 530, 214, 244, 390, 465, + 501, 455, 368, 480, 481, 306, 454, 278, 195, 342, + 522, 212, 441, 230, 219, 486, 504, 273, 420, 204, + 467, 493, 227, 445, 0, 0, 532, 206, 491, 464, + 364, 303, 304, 205, 0, 421, 252, 276, 242, 385, + 488, 489, 240, 533, 216, 511, 208, 0, 510, 378, + 483, 492, 365, 354, 207, 490, 363, 353, 309, 328, + 329, 264, 287, 414, 347, 415, 288, 374, 373, 375, + 199, 502, 0, 200, 0, 460, 503, 534, 222, 223, + 225, 0, 263, 267, 275, 277, 283, 284, 292, 340, + 389, 413, 411, 417, 0, 478, 496, 507, 514, 520, + 521, 523, 524, 525, 526, 527, 529, 528, 377, 290, + 456, 308, 345, 0, 0, 395, 434, 228, 500, 457, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 550, 551, 552, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 553, 355, + 447, 497, 310, 322, 325, 315, 334, 0, 335, 311, + 312, 317, 319, 320, 321, 326, 327, 331, 337, 236, + 202, 361, 369, 477, 291, 426, 427, 428, 429, 0, + 191, 209, 341, 0, 418, 272, 531, 509, 505, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, - 231, 245, 260, 262, 269, 281, 286, 289, 294, 295, - 298, 304, 350, 356, 357, 358, 359, 378, 379, 380, - 383, 386, 387, 390, 392, 393, 396, 400, 404, 405, - 406, 407, 409, 411, 418, 423, 435, 436, 437, 438, - 439, 442, 443, 448, 449, 450, 451, 452, 460, 461, - 465, 484, 486, 498, 512, 517, 441, 282, 493, 518, - 0, 349, 0, 0, 351, 265, 285, 296, 0, 507, - 462, 215, 429, 274, 203, 234, 218, 243, 258, 261, - 300, 361, 369, 398, 403, 279, 255, 232, 422, 229, - 445, 468, 469, 470, 472, 365, 250, 402, 0, 366, - 347, 474, 475, 292, 473, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 385, 0, 0, 0, - 0, 0, 0, 0, 0, 254, 0, 0, 0, 0, - 338, 251, 0, 0, 399, 0, 197, 0, 447, 238, - 348, 345, 481, 266, 257, 253, 237, 293, 355, 397, - 467, 391, 0, 342, 0, 0, 457, 370, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 299, 235, 301, 196, 382, 458, 270, - 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 226, 0, 233, - 323, 332, 331, 312, 313, 315, 317, 322, 329, 335, - 0, 0, 0, 0, 0, 249, 297, 256, 248, 478, - 0, 0, 0, 0, 0, 0, 0, 217, 0, 1034, + 231, 245, 260, 262, 269, 281, 286, 289, 295, 296, + 299, 305, 351, 357, 358, 359, 360, 379, 380, 381, + 384, 387, 388, 391, 393, 394, 397, 401, 405, 406, + 407, 408, 410, 412, 419, 424, 436, 437, 438, 439, + 440, 443, 444, 449, 450, 451, 452, 453, 461, 462, + 466, 485, 487, 499, 513, 518, 442, 282, 494, 519, + 0, 350, 0, 0, 352, 265, 285, 297, 0, 508, + 463, 215, 430, 274, 203, 234, 218, 243, 258, 261, + 301, 362, 370, 399, 404, 279, 255, 232, 423, 229, + 446, 469, 470, 471, 473, 366, 250, 403, 0, 0, + 348, 475, 476, 293, 367, 0, 0, 0, 78, 474, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 386, 0, 0, 0, 0, 0, 0, 0, 0, + 254, 0, 0, 0, 0, 339, 251, 0, 0, 400, + 0, 197, 0, 448, 238, 349, 346, 482, 266, 257, + 253, 237, 294, 356, 398, 468, 392, 0, 343, 0, + 0, 458, 371, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 300, 235, + 302, 196, 383, 459, 270, 0, 87, 0, 0, 188, + 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 226, 0, 233, 324, 333, 332, 313, 314, + 316, 318, 323, 330, 336, 0, 0, 0, 0, 0, + 249, 298, 256, 248, 479, 0, 0, 0, 0, 0, + 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 280, 0, 372, + 241, 0, 0, 0, 0, 515, 0, 0, 0, 0, + 0, 0, 0, 338, 0, 307, 192, 213, 0, 0, + 382, 425, 435, 0, 0, 0, 239, 0, 433, 396, + 498, 221, 268, 422, 402, 431, 409, 271, 0, 0, + 432, 344, 484, 416, 495, 516, 517, 247, 376, 506, + 472, 512, 530, 214, 244, 390, 465, 501, 455, 368, + 480, 481, 306, 454, 278, 195, 342, 522, 212, 441, + 230, 219, 486, 504, 273, 420, 204, 467, 493, 227, + 445, 0, 0, 532, 206, 491, 464, 364, 303, 304, + 205, 0, 421, 252, 276, 242, 385, 488, 489, 240, + 533, 216, 511, 208, 0, 510, 378, 483, 492, 365, + 354, 207, 490, 363, 353, 309, 328, 329, 264, 287, + 414, 347, 415, 288, 374, 373, 375, 199, 502, 0, + 200, 0, 460, 503, 534, 222, 223, 225, 0, 263, + 267, 275, 277, 283, 284, 292, 340, 389, 413, 411, + 417, 0, 478, 496, 507, 514, 520, 521, 523, 524, + 525, 526, 527, 529, 528, 377, 290, 456, 308, 345, + 0, 0, 395, 434, 228, 500, 457, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 535, 536, + 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, + 547, 548, 549, 550, 551, 552, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 553, 355, 447, 497, 310, + 322, 325, 315, 334, 0, 335, 311, 312, 317, 319, + 320, 321, 326, 327, 331, 337, 236, 202, 361, 369, + 477, 291, 426, 427, 428, 429, 0, 191, 209, 341, + 86, 418, 272, 531, 509, 505, 198, 211, 0, 246, + 0, 0, 0, 0, 0, 0, 1883, 0, 0, 1882, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 280, 0, 371, 241, 0, 0, 0, 1033, - 514, 0, 0, 0, 0, 0, 1030, 1031, 337, 991, - 306, 192, 213, 1024, 1028, 381, 424, 434, 0, 0, - 0, 239, 0, 432, 395, 497, 221, 268, 421, 401, - 430, 408, 271, 0, 0, 431, 343, 483, 415, 494, - 515, 516, 247, 375, 505, 471, 511, 529, 214, 244, - 389, 464, 500, 454, 367, 479, 480, 305, 453, 278, - 195, 341, 521, 212, 440, 230, 219, 485, 503, 273, - 419, 204, 466, 492, 227, 444, 0, 0, 531, 206, - 490, 463, 363, 302, 303, 205, 0, 420, 252, 276, - 242, 384, 487, 488, 240, 532, 216, 510, 208, 0, - 509, 377, 482, 491, 364, 353, 207, 489, 362, 352, - 308, 327, 328, 264, 287, 413, 346, 414, 288, 373, - 372, 374, 199, 501, 0, 200, 0, 459, 502, 533, - 222, 223, 225, 0, 263, 267, 275, 277, 283, 284, - 291, 339, 388, 412, 410, 416, 0, 477, 495, 506, - 513, 519, 520, 522, 523, 524, 525, 526, 528, 527, - 376, 290, 455, 307, 344, 0, 0, 394, 433, 228, - 499, 456, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 534, 535, 536, 537, 538, 539, 540, - 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, - 551, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 552, 354, 446, 496, 309, 321, 324, 314, 333, - 0, 334, 310, 311, 316, 318, 319, 320, 325, 326, - 330, 336, 236, 202, 360, 368, 476, 425, 426, 427, - 428, 0, 191, 209, 340, 0, 417, 272, 530, 508, - 504, 198, 211, 0, 246, 0, 0, 0, 0, 0, + 0, 193, 194, 201, 210, 220, 224, 231, 245, 260, + 262, 269, 281, 286, 289, 295, 296, 299, 305, 351, + 357, 358, 359, 360, 379, 380, 381, 384, 387, 388, + 391, 393, 394, 397, 401, 405, 406, 407, 408, 410, + 412, 419, 424, 436, 437, 438, 439, 440, 443, 444, + 449, 450, 451, 452, 453, 461, 462, 466, 485, 487, + 499, 513, 518, 442, 282, 494, 519, 0, 350, 0, + 0, 352, 265, 285, 297, 0, 508, 463, 215, 430, + 274, 203, 234, 218, 243, 258, 261, 301, 362, 370, + 399, 404, 279, 255, 232, 423, 229, 446, 469, 470, + 471, 473, 366, 250, 403, 0, 1385, 348, 475, 476, + 293, 474, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 386, 0, 0, 0, 1387, 0, 0, + 0, 0, 254, 0, 0, 0, 0, 339, 251, 0, + 0, 400, 0, 197, 0, 448, 238, 349, 346, 482, + 266, 257, 253, 237, 294, 356, 398, 468, 392, 0, + 343, 0, 0, 458, 371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, - 220, 224, 231, 245, 260, 262, 269, 281, 286, 289, - 294, 295, 298, 304, 350, 356, 357, 358, 359, 378, - 379, 380, 383, 386, 387, 390, 392, 393, 396, 400, - 404, 405, 406, 407, 409, 411, 418, 423, 435, 436, - 437, 438, 439, 442, 443, 448, 449, 450, 451, 452, - 460, 461, 465, 484, 486, 498, 512, 517, 441, 282, - 493, 518, 0, 349, 0, 0, 351, 265, 285, 296, - 0, 507, 462, 215, 429, 274, 203, 234, 218, 243, - 258, 261, 300, 361, 369, 398, 403, 279, 255, 232, - 422, 229, 445, 468, 469, 470, 472, 365, 250, 402, - 0, 0, 347, 474, 475, 292, 366, 0, 0, 0, - 78, 473, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 385, 0, 0, 0, 0, 0, 0, - 0, 0, 254, 0, 0, 0, 0, 338, 251, 0, - 0, 399, 0, 197, 0, 447, 238, 348, 345, 481, - 266, 257, 253, 237, 293, 355, 397, 467, 391, 0, - 342, 0, 0, 457, 370, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 299, 235, 301, 196, 382, 458, 270, 0, 87, 0, - 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 226, 0, 233, 323, 332, 331, - 312, 313, 315, 317, 322, 329, 335, 0, 0, 0, - 0, 0, 249, 297, 256, 248, 478, 0, 0, 0, - 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, + 300, 235, 302, 196, 383, 459, 270, 0, 0, 0, + 0, 188, 189, 190, 0, 1389, 0, 0, 0, 0, + 0, 0, 0, 0, 226, 0, 233, 324, 333, 332, + 313, 314, 316, 318, 323, 330, 336, 0, 0, 0, + 0, 0, 249, 298, 256, 248, 479, 0, 0, 0, + 0, 0, 0, 0, 217, 0, 0, 0, 1207, 0, + 1208, 1209, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3597,121 +3692,121 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, - 0, 371, 241, 0, 0, 0, 0, 514, 0, 0, - 0, 0, 0, 0, 0, 337, 0, 306, 192, 213, - 0, 0, 381, 424, 434, 0, 0, 0, 239, 0, - 432, 395, 497, 221, 268, 421, 401, 430, 408, 271, - 0, 0, 431, 343, 483, 415, 494, 515, 516, 247, - 375, 505, 471, 511, 529, 214, 244, 389, 464, 500, - 454, 367, 479, 480, 305, 453, 278, 195, 341, 521, - 212, 440, 230, 219, 485, 503, 273, 419, 204, 466, - 492, 227, 444, 0, 0, 531, 206, 490, 463, 363, - 302, 303, 205, 0, 420, 252, 276, 242, 384, 487, - 488, 240, 532, 216, 510, 208, 0, 509, 377, 482, - 491, 364, 353, 207, 489, 362, 352, 308, 327, 328, - 264, 287, 413, 346, 414, 288, 373, 372, 374, 199, - 501, 0, 200, 0, 459, 502, 533, 222, 223, 225, - 0, 263, 267, 275, 277, 283, 284, 291, 339, 388, - 412, 410, 416, 0, 477, 495, 506, 513, 519, 520, - 522, 523, 524, 525, 526, 528, 527, 376, 290, 455, - 307, 344, 0, 0, 394, 433, 228, 499, 456, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 549, 550, 551, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 552, 354, - 446, 496, 309, 321, 324, 314, 333, 0, 334, 310, - 311, 316, 318, 319, 320, 325, 326, 330, 336, 236, - 202, 360, 368, 476, 425, 426, 427, 428, 0, 191, - 209, 340, 86, 417, 272, 530, 508, 504, 198, 211, - 0, 246, 0, 0, 0, 0, 0, 0, 1882, 0, - 0, 1881, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 372, 241, 0, 0, 0, 0, 515, 0, 0, + 0, 0, 0, 0, 0, 338, 0, 307, 192, 213, + 0, 0, 382, 425, 435, 0, 0, 0, 239, 0, + 433, 396, 498, 221, 268, 422, 402, 431, 409, 271, + 0, 0, 432, 344, 484, 416, 495, 516, 517, 247, + 376, 506, 472, 512, 530, 214, 244, 390, 465, 501, + 455, 368, 480, 481, 306, 454, 278, 195, 342, 522, + 212, 441, 230, 219, 486, 504, 273, 420, 204, 467, + 493, 227, 445, 0, 0, 532, 206, 491, 464, 364, + 303, 304, 205, 0, 421, 252, 276, 242, 385, 488, + 489, 240, 533, 216, 511, 208, 0, 510, 378, 483, + 492, 365, 354, 207, 490, 363, 353, 309, 328, 329, + 264, 287, 414, 347, 415, 288, 374, 373, 375, 199, + 502, 0, 200, 0, 460, 503, 534, 222, 223, 225, + 0, 263, 267, 275, 277, 283, 284, 292, 340, 389, + 413, 411, 417, 0, 478, 496, 507, 514, 520, 521, + 523, 524, 525, 526, 527, 529, 528, 377, 290, 456, + 308, 345, 0, 0, 395, 434, 228, 500, 457, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 545, 546, 547, 548, 549, 550, 551, 552, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 553, 355, 447, + 497, 310, 322, 325, 315, 334, 0, 335, 311, 312, + 317, 319, 320, 321, 326, 327, 331, 337, 236, 202, + 361, 369, 477, 291, 426, 427, 428, 429, 0, 191, + 209, 341, 0, 418, 272, 531, 509, 505, 198, 211, + 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, - 245, 260, 262, 269, 281, 286, 289, 294, 295, 298, - 304, 350, 356, 357, 358, 359, 378, 379, 380, 383, - 386, 387, 390, 392, 393, 396, 400, 404, 405, 406, - 407, 409, 411, 418, 423, 435, 436, 437, 438, 439, - 442, 443, 448, 449, 450, 451, 452, 460, 461, 465, - 484, 486, 498, 512, 517, 441, 282, 493, 518, 0, - 349, 0, 0, 351, 265, 285, 296, 0, 507, 462, - 215, 429, 274, 203, 234, 218, 243, 258, 261, 300, - 361, 369, 398, 403, 279, 255, 232, 422, 229, 445, - 468, 469, 470, 472, 365, 250, 402, 0, 1384, 347, - 474, 475, 292, 473, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 385, 0, 0, 0, 1386, - 0, 0, 0, 0, 254, 0, 0, 0, 0, 338, - 251, 0, 0, 399, 0, 197, 0, 447, 238, 348, - 345, 481, 266, 257, 253, 237, 293, 355, 397, 467, - 391, 0, 342, 0, 0, 457, 370, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 299, 235, 301, 196, 382, 458, 270, 0, - 0, 0, 0, 188, 189, 190, 0, 1388, 0, 0, - 0, 0, 0, 0, 0, 0, 226, 0, 233, 323, - 332, 331, 312, 313, 315, 317, 322, 329, 335, 0, - 0, 0, 0, 0, 249, 297, 256, 248, 478, 0, + 245, 260, 262, 269, 281, 286, 289, 295, 296, 299, + 305, 351, 357, 358, 359, 360, 379, 380, 381, 384, + 387, 388, 391, 393, 394, 397, 401, 405, 406, 407, + 408, 410, 412, 419, 424, 436, 437, 438, 439, 440, + 443, 444, 449, 450, 451, 452, 453, 461, 462, 466, + 485, 487, 499, 513, 518, 442, 282, 494, 519, 0, + 350, 0, 0, 352, 265, 285, 297, 0, 508, 463, + 215, 430, 274, 203, 234, 218, 243, 258, 261, 301, + 362, 370, 399, 404, 279, 255, 232, 423, 229, 446, + 469, 470, 471, 473, 366, 250, 403, 0, 367, 348, + 475, 476, 293, 474, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 386, 0, 0, 0, 0, + 0, 0, 0, 0, 254, 0, 0, 0, 0, 339, + 251, 0, 0, 400, 0, 197, 0, 448, 238, 349, + 346, 482, 266, 257, 253, 237, 294, 356, 398, 468, + 392, 0, 343, 0, 0, 458, 371, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 300, 235, 302, 196, 383, 459, 270, 0, + 0, 0, 0, 188, 189, 190, 1328, 1331, 0, 0, + 0, 0, 1327, 1330, 0, 0, 226, 1326, 233, 324, + 333, 332, 313, 314, 316, 318, 323, 330, 336, 0, + 0, 0, 0, 0, 249, 298, 256, 248, 479, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, - 1206, 0, 1207, 1208, 0, 0, 0, 0, 0, 0, - 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 280, 0, 371, 241, 0, 0, 0, 0, 514, - 0, 0, 0, 0, 0, 0, 0, 337, 0, 306, - 192, 213, 0, 0, 381, 424, 434, 0, 0, 0, - 239, 0, 432, 395, 497, 221, 268, 421, 401, 430, - 408, 271, 0, 0, 431, 343, 483, 415, 494, 515, - 516, 247, 375, 505, 471, 511, 529, 214, 244, 389, - 464, 500, 454, 367, 479, 480, 305, 453, 278, 195, - 341, 521, 212, 440, 230, 219, 485, 503, 273, 419, - 204, 466, 492, 227, 444, 0, 0, 531, 206, 490, - 463, 363, 302, 303, 205, 0, 420, 252, 276, 242, - 384, 487, 488, 240, 532, 216, 510, 208, 0, 509, - 377, 482, 491, 364, 353, 207, 489, 362, 352, 308, - 327, 328, 264, 287, 413, 346, 414, 288, 373, 372, - 374, 199, 501, 0, 200, 0, 459, 502, 533, 222, - 223, 225, 0, 263, 267, 275, 277, 283, 284, 291, - 339, 388, 412, 410, 416, 0, 477, 495, 506, 513, - 519, 520, 522, 523, 524, 525, 526, 528, 527, 376, - 290, 455, 307, 344, 0, 0, 394, 433, 228, 499, - 456, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 534, 535, 536, 537, 538, 539, 540, 541, - 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 552, 354, 446, 496, 309, 321, 324, 314, 333, 0, - 334, 310, 311, 316, 318, 319, 320, 325, 326, 330, - 336, 236, 202, 360, 368, 476, 425, 426, 427, 428, - 0, 191, 209, 340, 0, 417, 272, 530, 508, 504, + 0, 280, 0, 372, 241, 0, 0, 0, 0, 515, + 0, 0, 0, 0, 0, 0, 0, 338, 0, 307, + 192, 213, 0, 0, 382, 425, 435, 0, 0, 0, + 239, 0, 433, 396, 498, 221, 268, 422, 402, 431, + 409, 271, 0, 0, 432, 344, 484, 416, 495, 516, + 517, 247, 376, 506, 472, 512, 530, 214, 244, 390, + 465, 501, 455, 368, 480, 481, 306, 454, 278, 195, + 342, 522, 212, 441, 230, 219, 486, 504, 273, 420, + 204, 467, 493, 227, 445, 0, 0, 532, 206, 491, + 464, 364, 303, 304, 205, 0, 421, 252, 276, 242, + 385, 488, 489, 240, 533, 216, 511, 208, 0, 510, + 378, 483, 492, 365, 354, 207, 490, 363, 353, 309, + 328, 329, 264, 287, 414, 347, 415, 288, 374, 373, + 375, 199, 502, 0, 200, 0, 460, 503, 534, 222, + 223, 225, 0, 263, 267, 275, 277, 283, 284, 292, + 340, 389, 413, 411, 417, 0, 478, 496, 507, 514, + 520, 521, 523, 524, 525, 526, 527, 529, 528, 377, + 290, 456, 308, 345, 0, 0, 395, 434, 228, 500, + 457, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 553, + 355, 447, 497, 310, 322, 325, 315, 334, 0, 335, + 311, 312, 317, 319, 320, 321, 326, 327, 331, 337, + 236, 202, 361, 369, 477, 291, 426, 427, 428, 429, + 0, 191, 209, 341, 0, 418, 272, 531, 509, 505, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, - 224, 231, 245, 260, 262, 269, 281, 286, 289, 294, - 295, 298, 304, 350, 356, 357, 358, 359, 378, 379, - 380, 383, 386, 387, 390, 392, 393, 396, 400, 404, - 405, 406, 407, 409, 411, 418, 423, 435, 436, 437, - 438, 439, 442, 443, 448, 449, 450, 451, 452, 460, - 461, 465, 484, 486, 498, 512, 517, 441, 282, 493, - 518, 0, 349, 0, 0, 351, 265, 285, 296, 0, - 507, 462, 215, 429, 274, 203, 234, 218, 243, 258, - 261, 300, 361, 369, 398, 403, 279, 255, 232, 422, - 229, 445, 468, 469, 470, 472, 365, 250, 402, 0, - 366, 347, 474, 475, 292, 473, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 385, 0, 0, - 0, 0, 0, 0, 0, 0, 254, 0, 0, 0, - 0, 338, 251, 0, 0, 399, 0, 197, 0, 447, - 238, 348, 345, 481, 266, 257, 253, 237, 293, 355, - 397, 467, 391, 0, 342, 0, 0, 457, 370, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 299, 235, 301, 196, 382, 458, - 270, 0, 0, 0, 0, 188, 189, 190, 1327, 1330, - 0, 0, 0, 0, 1326, 1329, 0, 0, 226, 1325, - 233, 323, 332, 331, 312, 313, 315, 317, 322, 329, - 335, 0, 0, 0, 0, 0, 249, 297, 256, 248, - 478, 0, 0, 0, 0, 0, 0, 0, 217, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, + 224, 231, 245, 260, 262, 269, 281, 286, 289, 295, + 296, 299, 305, 351, 357, 358, 359, 360, 379, 380, + 381, 384, 387, 388, 391, 393, 394, 397, 401, 405, + 406, 407, 408, 410, 412, 419, 424, 436, 437, 438, + 439, 440, 443, 444, 449, 450, 451, 452, 453, 461, + 462, 466, 485, 487, 499, 513, 518, 442, 282, 494, + 519, 0, 350, 0, 0, 352, 265, 285, 297, 0, + 508, 463, 215, 430, 274, 203, 234, 218, 243, 258, + 261, 301, 362, 370, 399, 404, 279, 255, 232, 423, + 229, 446, 469, 470, 471, 473, 366, 250, 403, 0, + 0, 348, 475, 476, 293, 367, 0, 0, 0, 78, + 474, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 386, 0, 0, 0, 0, 0, 0, 0, + 0, 254, 0, 0, 0, 0, 339, 251, 0, 0, + 400, 0, 197, 0, 448, 238, 349, 346, 482, 266, + 257, 253, 237, 294, 356, 398, 468, 392, 0, 343, + 0, 0, 458, 371, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 300, + 235, 302, 196, 383, 459, 270, 0, 87, 0, 1366, + 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 226, 0, 233, 324, 333, 332, 313, + 314, 316, 318, 323, 330, 336, 0, 0, 0, 0, + 0, 249, 298, 256, 248, 479, 0, 0, 0, 0, + 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3719,58 +3814,58 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 280, 0, 371, 241, 0, 0, 0, - 0, 514, 0, 0, 0, 0, 0, 0, 0, 337, - 0, 306, 192, 213, 0, 0, 381, 424, 434, 0, - 0, 0, 239, 0, 432, 395, 497, 221, 268, 421, - 401, 430, 408, 271, 0, 0, 431, 343, 483, 415, - 494, 515, 516, 247, 375, 505, 471, 511, 529, 214, - 244, 389, 464, 500, 454, 367, 479, 480, 305, 453, - 278, 195, 341, 521, 212, 440, 230, 219, 485, 503, - 273, 419, 204, 466, 492, 227, 444, 0, 0, 531, - 206, 490, 463, 363, 302, 303, 205, 0, 420, 252, - 276, 242, 384, 487, 488, 240, 532, 216, 510, 208, - 0, 509, 377, 482, 491, 364, 353, 207, 489, 362, - 352, 308, 327, 328, 264, 287, 413, 346, 414, 288, - 373, 372, 374, 199, 501, 0, 200, 0, 459, 502, - 533, 222, 223, 225, 0, 263, 267, 275, 277, 283, - 284, 291, 339, 388, 412, 410, 416, 0, 477, 495, - 506, 513, 519, 520, 522, 523, 524, 525, 526, 528, - 527, 376, 290, 455, 307, 344, 0, 0, 394, 433, - 228, 499, 456, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, - 550, 551, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 552, 354, 446, 496, 309, 321, 324, 314, - 333, 0, 334, 310, 311, 316, 318, 319, 320, 325, - 326, 330, 336, 236, 202, 360, 368, 476, 425, 426, - 427, 428, 0, 191, 209, 340, 0, 417, 272, 530, - 508, 504, 198, 211, 0, 246, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, + 372, 241, 0, 0, 0, 0, 515, 0, 0, 0, + 0, 0, 0, 0, 338, 0, 307, 192, 213, 0, + 0, 382, 425, 435, 0, 0, 0, 239, 0, 433, + 396, 498, 221, 268, 422, 402, 431, 409, 271, 0, + 0, 432, 344, 484, 416, 495, 516, 517, 247, 376, + 506, 472, 512, 530, 214, 244, 390, 465, 501, 455, + 368, 480, 481, 306, 454, 278, 195, 342, 522, 212, + 441, 230, 219, 486, 504, 273, 420, 204, 467, 493, + 227, 445, 0, 0, 532, 206, 491, 464, 364, 303, + 304, 205, 0, 421, 252, 276, 242, 385, 488, 489, + 240, 533, 216, 511, 208, 0, 510, 378, 483, 492, + 365, 354, 207, 490, 363, 353, 309, 328, 329, 264, + 287, 414, 347, 415, 288, 374, 373, 375, 199, 502, + 0, 200, 0, 460, 503, 534, 222, 223, 225, 0, + 263, 267, 275, 277, 283, 284, 292, 340, 389, 413, + 411, 417, 0, 478, 496, 507, 514, 520, 521, 523, + 524, 525, 526, 527, 529, 528, 377, 290, 456, 308, + 345, 0, 0, 395, 434, 228, 500, 457, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, + 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, + 546, 547, 548, 549, 550, 551, 552, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 553, 355, 447, 497, + 310, 322, 325, 315, 334, 0, 335, 311, 312, 317, + 319, 320, 321, 326, 327, 331, 337, 236, 202, 361, + 369, 477, 291, 426, 427, 428, 429, 0, 191, 209, + 341, 86, 418, 272, 531, 509, 505, 198, 211, 0, + 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, - 210, 220, 224, 231, 245, 260, 262, 269, 281, 286, - 289, 294, 295, 298, 304, 350, 356, 357, 358, 359, - 378, 379, 380, 383, 386, 387, 390, 392, 393, 396, - 400, 404, 405, 406, 407, 409, 411, 418, 423, 435, - 436, 437, 438, 439, 442, 443, 448, 449, 450, 451, - 452, 460, 461, 465, 484, 486, 498, 512, 517, 441, - 282, 493, 518, 0, 349, 0, 0, 351, 265, 285, - 296, 0, 507, 462, 215, 429, 274, 203, 234, 218, - 243, 258, 261, 300, 361, 369, 398, 403, 279, 255, - 232, 422, 229, 445, 468, 469, 470, 472, 365, 250, - 402, 0, 0, 347, 474, 475, 292, 366, 0, 0, - 0, 78, 473, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 385, 0, 0, 0, 0, 0, - 0, 0, 0, 254, 0, 0, 0, 0, 338, 251, - 0, 0, 399, 0, 197, 0, 447, 238, 348, 345, - 481, 266, 257, 253, 237, 293, 355, 397, 467, 391, - 0, 342, 0, 0, 457, 370, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 299, 235, 301, 196, 382, 458, 270, 0, 87, - 0, 1365, 188, 189, 190, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 226, 0, 233, 323, 332, - 331, 312, 313, 315, 317, 322, 329, 335, 0, 0, - 0, 0, 0, 249, 297, 256, 248, 478, 0, 0, + 0, 0, 193, 194, 201, 210, 220, 224, 231, 245, + 260, 262, 269, 281, 286, 289, 295, 296, 299, 305, + 351, 357, 358, 359, 360, 379, 380, 381, 384, 387, + 388, 391, 393, 394, 397, 401, 405, 406, 407, 408, + 410, 412, 419, 424, 436, 437, 438, 439, 440, 443, + 444, 449, 450, 451, 452, 453, 461, 462, 466, 485, + 487, 499, 513, 518, 442, 282, 494, 519, 0, 350, + 0, 0, 352, 265, 285, 297, 0, 508, 463, 215, + 430, 274, 203, 234, 218, 243, 258, 261, 301, 362, + 370, 399, 404, 279, 255, 232, 423, 229, 446, 469, + 470, 471, 473, 366, 250, 403, 0, 367, 348, 475, + 476, 293, 474, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 386, 0, 0, 0, 0, 0, + 0, 0, 0, 254, 0, 0, 0, 0, 339, 251, + 0, 0, 400, 0, 197, 0, 448, 238, 349, 346, + 482, 266, 257, 253, 237, 294, 356, 398, 468, 392, + 0, 343, 0, 0, 458, 371, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 300, 235, 302, 196, 383, 459, 270, 0, 87, + 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 226, 0, 233, 324, 333, + 332, 313, 314, 316, 318, 323, 330, 336, 0, 0, + 0, 0, 0, 249, 298, 256, 248, 479, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3781,57 +3876,57 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 280, 0, 371, 241, 0, 0, 0, 0, 514, 0, - 0, 0, 0, 0, 0, 0, 337, 0, 306, 192, - 213, 0, 0, 381, 424, 434, 0, 0, 0, 239, - 0, 432, 395, 497, 221, 268, 421, 401, 430, 408, - 271, 0, 0, 431, 343, 483, 415, 494, 515, 516, - 247, 375, 505, 471, 511, 529, 214, 244, 389, 464, - 500, 454, 367, 479, 480, 305, 453, 278, 195, 341, - 521, 212, 440, 230, 219, 485, 503, 273, 419, 204, - 466, 492, 227, 444, 0, 0, 531, 206, 490, 463, - 363, 302, 303, 205, 0, 420, 252, 276, 242, 384, - 487, 488, 240, 532, 216, 510, 208, 0, 509, 377, - 482, 491, 364, 353, 207, 489, 362, 352, 308, 327, - 328, 264, 287, 413, 346, 414, 288, 373, 372, 374, - 199, 501, 0, 200, 0, 459, 502, 533, 222, 223, - 225, 0, 263, 267, 275, 277, 283, 284, 291, 339, - 388, 412, 410, 416, 0, 477, 495, 506, 513, 519, - 520, 522, 523, 524, 525, 526, 528, 527, 376, 290, - 455, 307, 344, 0, 0, 394, 433, 228, 499, 456, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, - 543, 544, 545, 546, 547, 548, 549, 550, 551, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 552, - 354, 446, 496, 309, 321, 324, 314, 333, 0, 334, - 310, 311, 316, 318, 319, 320, 325, 326, 330, 336, - 236, 202, 360, 368, 476, 425, 426, 427, 428, 0, - 191, 209, 340, 86, 417, 272, 530, 508, 504, 198, - 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, + 280, 0, 372, 241, 0, 0, 0, 0, 515, 0, + 0, 0, 0, 0, 0, 0, 338, 0, 307, 192, + 213, 0, 0, 382, 425, 435, 0, 0, 0, 239, + 0, 433, 396, 498, 221, 268, 422, 402, 431, 409, + 271, 0, 0, 432, 344, 484, 416, 495, 516, 517, + 247, 376, 506, 472, 512, 530, 214, 244, 390, 465, + 501, 455, 368, 480, 481, 306, 454, 278, 195, 342, + 522, 212, 441, 230, 219, 486, 504, 273, 420, 204, + 467, 493, 227, 445, 0, 0, 532, 206, 491, 464, + 364, 303, 304, 205, 0, 421, 252, 276, 242, 385, + 488, 489, 240, 533, 216, 511, 208, 0, 510, 378, + 483, 492, 365, 354, 207, 490, 363, 353, 309, 328, + 329, 264, 287, 414, 347, 415, 288, 374, 373, 375, + 199, 502, 0, 200, 0, 460, 503, 534, 222, 223, + 225, 0, 263, 267, 275, 277, 283, 284, 292, 340, + 389, 413, 411, 417, 0, 478, 496, 507, 514, 520, + 521, 523, 524, 525, 526, 527, 529, 528, 377, 290, + 456, 308, 345, 0, 0, 395, 434, 228, 500, 457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 550, 551, 552, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 553, 355, + 447, 497, 310, 322, 325, 315, 334, 0, 335, 311, + 312, 317, 319, 320, 321, 326, 327, 331, 337, 236, + 202, 361, 369, 477, 291, 426, 427, 428, 429, 0, + 191, 209, 341, 0, 418, 272, 531, 509, 505, 198, + 211, 0, 246, 0, 0, 0, 0, 0, 0, 1883, + 0, 0, 1882, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, - 231, 245, 260, 262, 269, 281, 286, 289, 294, 295, - 298, 304, 350, 356, 357, 358, 359, 378, 379, 380, - 383, 386, 387, 390, 392, 393, 396, 400, 404, 405, - 406, 407, 409, 411, 418, 423, 435, 436, 437, 438, - 439, 442, 443, 448, 449, 450, 451, 452, 460, 461, - 465, 484, 486, 498, 512, 517, 441, 282, 493, 518, - 0, 349, 0, 0, 351, 265, 285, 296, 0, 507, - 462, 215, 429, 274, 203, 234, 218, 243, 258, 261, - 300, 361, 369, 398, 403, 279, 255, 232, 422, 229, - 445, 468, 469, 470, 472, 365, 250, 402, 0, 366, - 347, 474, 475, 292, 473, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 385, 0, 0, 0, - 0, 0, 0, 0, 0, 254, 0, 0, 0, 0, - 338, 251, 0, 0, 399, 0, 197, 0, 447, 238, - 348, 345, 481, 266, 257, 253, 237, 293, 355, 397, - 467, 391, 0, 342, 0, 0, 457, 370, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 299, 235, 301, 196, 382, 458, 270, - 0, 87, 0, 0, 188, 189, 190, 0, 0, 0, + 231, 245, 260, 262, 269, 281, 286, 289, 295, 296, + 299, 305, 351, 357, 358, 359, 360, 379, 380, 381, + 384, 387, 388, 391, 393, 394, 397, 401, 405, 406, + 407, 408, 410, 412, 419, 424, 436, 437, 438, 439, + 440, 443, 444, 449, 450, 451, 452, 453, 461, 462, + 466, 485, 487, 499, 513, 518, 442, 282, 494, 519, + 0, 350, 0, 0, 352, 265, 285, 297, 0, 508, + 463, 215, 430, 274, 203, 234, 218, 243, 258, 261, + 301, 362, 370, 399, 404, 279, 255, 232, 423, 229, + 446, 469, 470, 471, 473, 366, 250, 403, 0, 367, + 348, 475, 476, 293, 474, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 386, 0, 0, 0, + 1834, 0, 0, 0, 0, 254, 0, 0, 0, 0, + 339, 251, 0, 0, 400, 0, 197, 0, 448, 238, + 349, 346, 482, 266, 257, 253, 237, 294, 356, 398, + 468, 392, 0, 343, 0, 0, 458, 371, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 300, 235, 302, 196, 383, 459, 270, + 0, 0, 0, 0, 188, 189, 190, 0, 1567, 0, 0, 0, 0, 0, 0, 0, 0, 226, 0, 233, - 323, 332, 331, 312, 313, 315, 317, 322, 329, 335, - 0, 0, 0, 0, 0, 249, 297, 256, 248, 478, + 324, 333, 332, 313, 314, 316, 318, 323, 330, 336, + 0, 0, 0, 0, 0, 249, 298, 256, 248, 479, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, @@ -3842,180 +3937,180 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 280, 0, 371, 241, 0, 0, 0, 0, - 514, 0, 0, 0, 0, 0, 0, 0, 337, 0, - 306, 192, 213, 0, 0, 381, 424, 434, 0, 0, - 0, 239, 0, 432, 395, 497, 221, 268, 421, 401, - 430, 408, 271, 0, 0, 431, 343, 483, 415, 494, - 515, 516, 247, 375, 505, 471, 511, 529, 214, 244, - 389, 464, 500, 454, 367, 479, 480, 305, 453, 278, - 195, 341, 521, 212, 440, 230, 219, 485, 503, 273, - 419, 204, 466, 492, 227, 444, 0, 0, 531, 206, - 490, 463, 363, 302, 303, 205, 0, 420, 252, 276, - 242, 384, 487, 488, 240, 532, 216, 510, 208, 0, - 509, 377, 482, 491, 364, 353, 207, 489, 362, 352, - 308, 327, 328, 264, 287, 413, 346, 414, 288, 373, - 372, 374, 199, 501, 0, 200, 0, 459, 502, 533, + 0, 0, 280, 0, 372, 241, 0, 0, 0, 0, + 515, 0, 0, 0, 0, 0, 0, 0, 338, 0, + 307, 192, 213, 0, 0, 382, 425, 435, 0, 0, + 0, 239, 0, 433, 396, 498, 221, 268, 422, 402, + 431, 409, 271, 0, 1832, 432, 344, 484, 416, 495, + 516, 517, 247, 376, 506, 472, 512, 530, 214, 244, + 390, 465, 501, 455, 368, 480, 481, 306, 454, 278, + 195, 342, 522, 212, 441, 230, 219, 486, 504, 273, + 420, 204, 467, 493, 227, 445, 0, 0, 532, 206, + 491, 464, 364, 303, 304, 205, 0, 421, 252, 276, + 242, 385, 488, 489, 240, 533, 216, 511, 208, 0, + 510, 378, 483, 492, 365, 354, 207, 490, 363, 353, + 309, 328, 329, 264, 287, 414, 347, 415, 288, 374, + 373, 375, 199, 502, 0, 200, 0, 460, 503, 534, 222, 223, 225, 0, 263, 267, 275, 277, 283, 284, - 291, 339, 388, 412, 410, 416, 0, 477, 495, 506, - 513, 519, 520, 522, 523, 524, 525, 526, 528, 527, - 376, 290, 455, 307, 344, 0, 0, 394, 433, 228, - 499, 456, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 534, 535, 536, 537, 538, 539, 540, - 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, - 551, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 552, 354, 446, 496, 309, 321, 324, 314, 333, - 0, 334, 310, 311, 316, 318, 319, 320, 325, 326, - 330, 336, 236, 202, 360, 368, 476, 425, 426, 427, - 428, 0, 191, 209, 340, 0, 417, 272, 530, 508, - 504, 198, 211, 0, 246, 0, 0, 0, 0, 0, - 0, 1882, 0, 0, 1881, 0, 0, 0, 0, 0, + 292, 340, 389, 413, 411, 417, 0, 478, 496, 507, + 514, 520, 521, 523, 524, 525, 526, 527, 529, 528, + 377, 290, 456, 308, 345, 0, 0, 395, 434, 228, + 500, 457, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 535, 536, 537, 538, 539, 540, 541, + 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, + 552, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 553, 355, 447, 497, 310, 322, 325, 315, 334, 0, + 335, 311, 312, 317, 319, 320, 321, 326, 327, 331, + 337, 236, 202, 361, 369, 477, 291, 426, 427, 428, + 429, 0, 191, 209, 341, 0, 418, 272, 531, 509, + 505, 198, 211, 0, 246, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, 245, 260, 262, 269, 281, 286, 289, - 294, 295, 298, 304, 350, 356, 357, 358, 359, 378, - 379, 380, 383, 386, 387, 390, 392, 393, 396, 400, - 404, 405, 406, 407, 409, 411, 418, 423, 435, 436, - 437, 438, 439, 442, 443, 448, 449, 450, 451, 452, - 460, 461, 465, 484, 486, 498, 512, 517, 441, 282, - 493, 518, 0, 349, 0, 0, 351, 265, 285, 296, - 0, 507, 462, 215, 429, 274, 203, 234, 218, 243, - 258, 261, 300, 361, 369, 398, 403, 279, 255, 232, - 422, 229, 445, 468, 469, 470, 472, 365, 250, 402, - 0, 366, 347, 474, 475, 292, 473, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 385, 0, - 0, 0, 1833, 0, 0, 0, 0, 254, 0, 0, - 0, 0, 338, 251, 0, 0, 399, 0, 197, 0, - 447, 238, 348, 345, 481, 266, 257, 253, 237, 293, - 355, 397, 467, 391, 0, 342, 0, 0, 457, 370, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 299, 235, 301, 196, 382, - 458, 270, 0, 0, 0, 0, 188, 189, 190, 0, - 1566, 0, 0, 0, 0, 0, 0, 0, 0, 226, - 0, 233, 323, 332, 331, 312, 313, 315, 317, 322, - 329, 335, 0, 0, 0, 0, 0, 249, 297, 256, - 248, 478, 0, 0, 0, 0, 0, 0, 0, 217, + 295, 296, 299, 305, 351, 357, 358, 359, 360, 379, + 380, 381, 384, 387, 388, 391, 393, 394, 397, 401, + 405, 406, 407, 408, 410, 412, 419, 424, 436, 437, + 438, 439, 440, 443, 444, 449, 450, 451, 452, 453, + 461, 462, 466, 485, 487, 499, 513, 518, 442, 282, + 494, 519, 0, 350, 0, 0, 352, 265, 285, 297, + 0, 508, 463, 215, 430, 274, 203, 234, 218, 243, + 258, 261, 301, 362, 370, 399, 404, 279, 255, 232, + 423, 229, 446, 469, 470, 471, 473, 366, 250, 403, + 0, 367, 348, 475, 476, 293, 474, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 386, 0, + 0, 0, 0, 0, 0, 0, 0, 254, 0, 0, + 0, 0, 339, 251, 0, 0, 400, 0, 197, 0, + 448, 238, 349, 346, 482, 266, 257, 253, 237, 294, + 356, 398, 468, 392, 0, 343, 0, 0, 458, 371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 300, 235, 302, 196, 383, + 459, 270, 0, 0, 0, 0, 188, 189, 190, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, + 0, 233, 324, 333, 332, 313, 314, 316, 318, 323, + 330, 336, 0, 0, 0, 0, 0, 249, 298, 256, + 248, 479, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, + 0, 0, 0, 986, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 280, 0, 371, 241, 0, 0, - 0, 0, 514, 0, 0, 0, 0, 0, 0, 0, - 337, 0, 306, 192, 213, 0, 0, 381, 424, 434, - 0, 0, 0, 239, 0, 432, 395, 497, 221, 268, - 421, 401, 430, 408, 271, 0, 1831, 431, 343, 483, - 415, 494, 515, 516, 247, 375, 505, 471, 511, 529, - 214, 244, 389, 464, 500, 454, 367, 479, 480, 305, - 453, 278, 195, 341, 521, 212, 440, 230, 219, 485, - 503, 273, 419, 204, 466, 492, 227, 444, 0, 0, - 531, 206, 490, 463, 363, 302, 303, 205, 0, 420, - 252, 276, 242, 384, 487, 488, 240, 532, 216, 510, - 208, 0, 509, 377, 482, 491, 364, 353, 207, 489, - 362, 352, 308, 327, 328, 264, 287, 413, 346, 414, - 288, 373, 372, 374, 199, 501, 0, 200, 0, 459, - 502, 533, 222, 223, 225, 0, 263, 267, 275, 277, - 283, 284, 291, 339, 388, 412, 410, 416, 0, 477, - 495, 506, 513, 519, 520, 522, 523, 524, 525, 526, - 528, 527, 376, 290, 455, 307, 344, 0, 0, 394, - 433, 228, 499, 456, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 534, 535, 536, 537, 538, - 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, - 549, 550, 551, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 552, 354, 446, 496, 309, 321, 324, - 314, 333, 0, 334, 310, 311, 316, 318, 319, 320, - 325, 326, 330, 336, 236, 202, 360, 368, 476, 425, - 426, 427, 428, 0, 191, 209, 340, 0, 417, 272, - 530, 508, 504, 198, 211, 0, 246, 0, 0, 0, + 0, 0, 0, 0, 280, 0, 372, 241, 0, 0, + 0, 0, 515, 0, 0, 0, 0, 0, 0, 0, + 338, 992, 307, 192, 213, 990, 0, 382, 425, 435, + 0, 0, 0, 239, 0, 433, 396, 498, 221, 268, + 422, 402, 431, 409, 271, 0, 0, 432, 344, 484, + 416, 495, 516, 517, 247, 376, 506, 472, 512, 530, + 214, 244, 390, 465, 501, 455, 368, 480, 481, 306, + 454, 278, 195, 342, 522, 212, 441, 230, 219, 486, + 504, 273, 420, 204, 467, 493, 227, 445, 0, 0, + 532, 206, 491, 464, 364, 303, 304, 205, 0, 421, + 252, 276, 242, 385, 488, 489, 240, 533, 216, 511, + 208, 0, 510, 378, 483, 492, 365, 354, 207, 490, + 363, 353, 309, 328, 329, 264, 287, 414, 347, 415, + 288, 374, 373, 375, 199, 502, 0, 200, 0, 460, + 503, 534, 222, 223, 225, 0, 263, 267, 275, 277, + 283, 284, 292, 340, 389, 413, 411, 417, 0, 478, + 496, 507, 514, 520, 521, 523, 524, 525, 526, 527, + 529, 528, 377, 290, 456, 308, 345, 0, 0, 395, + 434, 228, 500, 457, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, + 550, 551, 552, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 553, 355, 447, 497, 310, 322, 325, 315, + 334, 0, 335, 311, 312, 317, 319, 320, 321, 326, + 327, 331, 337, 236, 202, 361, 369, 477, 291, 426, + 427, 428, 429, 0, 191, 209, 341, 0, 418, 272, + 531, 509, 505, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, 245, 260, 262, 269, 281, - 286, 289, 294, 295, 298, 304, 350, 356, 357, 358, - 359, 378, 379, 380, 383, 386, 387, 390, 392, 393, - 396, 400, 404, 405, 406, 407, 409, 411, 418, 423, - 435, 436, 437, 438, 439, 442, 443, 448, 449, 450, - 451, 452, 460, 461, 465, 484, 486, 498, 512, 517, - 441, 282, 493, 518, 0, 349, 0, 0, 351, 265, - 285, 296, 0, 507, 462, 215, 429, 274, 203, 234, - 218, 243, 258, 261, 300, 361, 369, 398, 403, 279, - 255, 232, 422, 229, 445, 468, 469, 470, 472, 365, - 250, 402, 0, 366, 347, 474, 475, 292, 473, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 385, 0, 0, 0, 0, 0, 0, 0, 0, 254, - 0, 0, 0, 0, 338, 251, 0, 0, 399, 0, - 197, 0, 447, 238, 348, 345, 481, 266, 257, 253, - 237, 293, 355, 397, 467, 391, 0, 342, 0, 0, - 457, 370, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 299, 235, 301, - 196, 382, 458, 270, 0, 0, 0, 0, 188, 189, - 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 226, 0, 233, 323, 332, 331, 312, 313, 315, - 317, 322, 329, 335, 0, 0, 0, 0, 0, 249, - 297, 256, 248, 478, 0, 0, 0, 0, 0, 0, + 286, 289, 295, 296, 299, 305, 351, 357, 358, 359, + 360, 379, 380, 381, 384, 387, 388, 391, 393, 394, + 397, 401, 405, 406, 407, 408, 410, 412, 419, 424, + 436, 437, 438, 439, 440, 443, 444, 449, 450, 451, + 452, 453, 461, 462, 466, 485, 487, 499, 513, 518, + 442, 282, 494, 519, 0, 350, 0, 0, 352, 265, + 285, 297, 0, 508, 463, 215, 430, 274, 203, 234, + 218, 243, 258, 261, 301, 362, 370, 399, 404, 279, + 255, 232, 423, 229, 446, 469, 470, 471, 473, 366, + 250, 403, 0, 367, 348, 475, 476, 293, 474, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 386, 0, 0, 0, 1834, 0, 0, 0, 0, 254, + 0, 0, 0, 0, 339, 251, 0, 0, 400, 0, + 197, 0, 448, 238, 349, 346, 482, 266, 257, 253, + 237, 294, 356, 398, 468, 392, 0, 343, 0, 0, + 458, 371, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 300, 235, 302, + 196, 383, 459, 270, 0, 0, 0, 0, 188, 189, + 190, 0, 1567, 0, 0, 0, 0, 0, 0, 0, + 0, 226, 0, 233, 324, 333, 332, 313, 314, 316, + 318, 323, 330, 336, 0, 0, 0, 0, 0, 249, + 298, 256, 248, 479, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, - 0, 0, 0, 0, 0, 985, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 280, 0, 371, 241, - 0, 0, 0, 0, 514, 0, 0, 0, 0, 0, - 0, 0, 337, 991, 306, 192, 213, 989, 0, 381, - 424, 434, 0, 0, 0, 239, 0, 432, 395, 497, - 221, 268, 421, 401, 430, 408, 271, 0, 0, 431, - 343, 483, 415, 494, 515, 516, 247, 375, 505, 471, - 511, 529, 214, 244, 389, 464, 500, 454, 367, 479, - 480, 305, 453, 278, 195, 341, 521, 212, 440, 230, - 219, 485, 503, 273, 419, 204, 466, 492, 227, 444, - 0, 0, 531, 206, 490, 463, 363, 302, 303, 205, - 0, 420, 252, 276, 242, 384, 487, 488, 240, 532, - 216, 510, 208, 0, 509, 377, 482, 491, 364, 353, - 207, 489, 362, 352, 308, 327, 328, 264, 287, 413, - 346, 414, 288, 373, 372, 374, 199, 501, 0, 200, - 0, 459, 502, 533, 222, 223, 225, 0, 263, 267, - 275, 277, 283, 284, 291, 339, 388, 412, 410, 416, - 0, 477, 495, 506, 513, 519, 520, 522, 523, 524, - 525, 526, 528, 527, 376, 290, 455, 307, 344, 0, - 0, 394, 433, 228, 499, 456, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 534, 535, 536, - 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, - 547, 548, 549, 550, 551, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 552, 354, 446, 496, 309, - 321, 324, 314, 333, 0, 334, 310, 311, 316, 318, - 319, 320, 325, 326, 330, 336, 236, 202, 360, 368, - 476, 425, 426, 427, 428, 0, 191, 209, 340, 0, - 417, 272, 530, 508, 504, 198, 211, 0, 246, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 280, 0, 372, 241, + 0, 0, 0, 0, 515, 0, 0, 0, 0, 0, + 0, 0, 338, 0, 307, 192, 213, 0, 0, 382, + 425, 435, 0, 0, 0, 239, 0, 433, 396, 498, + 221, 268, 422, 402, 431, 409, 271, 0, 0, 432, + 344, 484, 416, 495, 516, 517, 247, 376, 506, 472, + 512, 530, 214, 244, 390, 465, 501, 455, 368, 480, + 481, 306, 454, 278, 195, 342, 522, 212, 441, 230, + 219, 486, 504, 273, 420, 204, 467, 493, 227, 445, + 0, 0, 532, 206, 491, 464, 364, 303, 304, 205, + 0, 421, 252, 276, 242, 385, 488, 489, 240, 533, + 216, 511, 208, 0, 510, 378, 483, 492, 365, 354, + 207, 490, 363, 353, 309, 328, 329, 264, 287, 414, + 347, 415, 288, 374, 373, 375, 199, 502, 0, 200, + 0, 460, 503, 534, 222, 223, 225, 0, 263, 267, + 275, 277, 283, 284, 292, 340, 389, 413, 411, 417, + 0, 478, 496, 507, 514, 520, 521, 523, 524, 525, + 526, 527, 529, 528, 377, 290, 456, 308, 345, 0, + 0, 395, 434, 228, 500, 457, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, + 548, 549, 550, 551, 552, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 553, 355, 447, 497, 310, 322, + 325, 315, 334, 0, 335, 311, 312, 317, 319, 320, + 321, 326, 327, 331, 337, 236, 202, 361, 369, 477, + 291, 426, 427, 428, 429, 0, 191, 209, 341, 0, + 418, 272, 531, 509, 505, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, 245, 260, 262, - 269, 281, 286, 289, 294, 295, 298, 304, 350, 356, - 357, 358, 359, 378, 379, 380, 383, 386, 387, 390, - 392, 393, 396, 400, 404, 405, 406, 407, 409, 411, - 418, 423, 435, 436, 437, 438, 439, 442, 443, 448, - 449, 450, 451, 452, 460, 461, 465, 484, 486, 498, - 512, 517, 441, 282, 493, 518, 0, 349, 0, 0, - 351, 265, 285, 296, 0, 507, 462, 215, 429, 274, - 203, 234, 218, 243, 258, 261, 300, 361, 369, 398, - 403, 279, 255, 232, 422, 229, 445, 468, 469, 470, - 472, 365, 250, 402, 0, 366, 347, 474, 475, 292, - 473, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 385, 0, 0, 0, 1833, 0, 0, 0, - 0, 254, 0, 0, 0, 0, 338, 251, 0, 0, - 399, 0, 197, 0, 447, 238, 348, 345, 481, 266, - 257, 253, 237, 293, 355, 397, 467, 391, 0, 342, - 0, 0, 457, 370, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, - 235, 301, 196, 382, 458, 270, 0, 0, 0, 0, - 188, 189, 190, 0, 1566, 0, 0, 0, 0, 0, - 0, 0, 0, 226, 0, 233, 323, 332, 331, 312, - 313, 315, 317, 322, 329, 335, 0, 0, 0, 0, - 0, 249, 297, 256, 248, 478, 0, 0, 0, 0, + 269, 281, 286, 289, 295, 296, 299, 305, 351, 357, + 358, 359, 360, 379, 380, 381, 384, 387, 388, 391, + 393, 394, 397, 401, 405, 406, 407, 408, 410, 412, + 419, 424, 436, 437, 438, 439, 440, 443, 444, 449, + 450, 451, 452, 453, 461, 462, 466, 485, 487, 499, + 513, 518, 442, 282, 494, 519, 0, 350, 0, 0, + 352, 265, 285, 297, 0, 508, 463, 215, 430, 274, + 203, 234, 218, 243, 258, 261, 301, 362, 370, 399, + 404, 279, 255, 232, 423, 229, 446, 469, 470, 471, + 473, 366, 250, 403, 0, 367, 348, 475, 476, 293, + 474, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 386, 0, 0, 0, 0, 0, 0, 0, + 0, 254, 0, 0, 0, 0, 339, 251, 0, 0, + 400, 0, 197, 0, 448, 238, 349, 346, 482, 266, + 257, 253, 237, 294, 356, 398, 468, 392, 0, 343, + 0, 0, 458, 371, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 300, + 235, 302, 196, 383, 459, 270, 0, 0, 0, 1366, + 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 226, 0, 233, 324, 333, 332, 313, + 314, 316, 318, 323, 330, 336, 0, 0, 0, 0, + 0, 249, 298, 256, 248, 479, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4026,241 +4121,241 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, - 371, 241, 0, 0, 0, 0, 514, 0, 0, 0, - 0, 0, 0, 0, 337, 0, 306, 192, 213, 0, - 0, 381, 424, 434, 0, 0, 0, 239, 0, 432, - 395, 497, 221, 268, 421, 401, 430, 408, 271, 0, - 0, 431, 343, 483, 415, 494, 515, 516, 247, 375, - 505, 471, 511, 529, 214, 244, 389, 464, 500, 454, - 367, 479, 480, 305, 453, 278, 195, 341, 521, 212, - 440, 230, 219, 485, 503, 273, 419, 204, 466, 492, - 227, 444, 0, 0, 531, 206, 490, 463, 363, 302, - 303, 205, 0, 420, 252, 276, 242, 384, 487, 488, - 240, 532, 216, 510, 208, 0, 509, 377, 482, 491, - 364, 353, 207, 489, 362, 352, 308, 327, 328, 264, - 287, 413, 346, 414, 288, 373, 372, 374, 199, 501, - 0, 200, 0, 459, 502, 533, 222, 223, 225, 0, - 263, 267, 275, 277, 283, 284, 291, 339, 388, 412, - 410, 416, 0, 477, 495, 506, 513, 519, 520, 522, - 523, 524, 525, 526, 528, 527, 376, 290, 455, 307, - 344, 0, 0, 394, 433, 228, 499, 456, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 545, 546, 547, 548, 549, 550, 551, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 552, 354, 446, - 496, 309, 321, 324, 314, 333, 0, 334, 310, 311, - 316, 318, 319, 320, 325, 326, 330, 336, 236, 202, - 360, 368, 476, 425, 426, 427, 428, 0, 191, 209, - 340, 0, 417, 272, 530, 508, 504, 198, 211, 0, + 372, 241, 0, 0, 0, 0, 515, 0, 0, 0, + 2972, 0, 0, 0, 338, 0, 307, 192, 213, 0, + 0, 382, 425, 435, 0, 0, 0, 239, 0, 433, + 396, 498, 221, 268, 422, 402, 431, 409, 271, 0, + 0, 432, 344, 484, 416, 495, 516, 517, 247, 376, + 506, 472, 512, 530, 214, 244, 390, 465, 501, 455, + 368, 480, 481, 306, 454, 278, 195, 342, 522, 212, + 441, 230, 219, 486, 504, 273, 420, 204, 467, 493, + 227, 445, 0, 0, 532, 206, 491, 464, 364, 303, + 304, 205, 0, 421, 252, 276, 242, 385, 488, 489, + 240, 533, 216, 511, 208, 0, 510, 378, 483, 492, + 365, 354, 207, 490, 363, 353, 309, 328, 329, 264, + 287, 414, 347, 415, 288, 374, 373, 375, 199, 502, + 0, 200, 0, 460, 503, 534, 222, 223, 225, 0, + 263, 267, 275, 277, 283, 284, 292, 340, 389, 413, + 411, 417, 0, 478, 496, 507, 514, 520, 521, 523, + 524, 525, 526, 527, 529, 528, 377, 290, 456, 308, + 345, 0, 0, 395, 434, 228, 500, 457, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, + 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, + 546, 547, 548, 549, 550, 551, 552, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 553, 355, 447, 497, + 310, 322, 325, 315, 334, 0, 335, 311, 312, 317, + 319, 320, 321, 326, 327, 331, 337, 236, 202, 361, + 369, 477, 291, 426, 427, 428, 429, 0, 191, 209, + 341, 0, 418, 272, 531, 509, 505, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, 245, - 260, 262, 269, 281, 286, 289, 294, 295, 298, 304, - 350, 356, 357, 358, 359, 378, 379, 380, 383, 386, - 387, 390, 392, 393, 396, 400, 404, 405, 406, 407, - 409, 411, 418, 423, 435, 436, 437, 438, 439, 442, - 443, 448, 449, 450, 451, 452, 460, 461, 465, 484, - 486, 498, 512, 517, 441, 282, 493, 518, 0, 349, - 0, 0, 351, 265, 285, 296, 0, 507, 462, 215, - 429, 274, 203, 234, 218, 243, 258, 261, 300, 361, - 369, 398, 403, 279, 255, 232, 422, 229, 445, 468, - 469, 470, 472, 365, 250, 402, 0, 366, 347, 474, - 475, 292, 473, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 385, 0, 0, 0, 0, 0, - 0, 0, 0, 254, 0, 0, 0, 0, 338, 251, - 0, 0, 399, 0, 197, 0, 447, 238, 348, 345, - 481, 266, 257, 253, 237, 293, 355, 397, 467, 391, - 0, 342, 0, 0, 457, 370, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 299, 235, 301, 196, 382, 458, 270, 0, 0, - 0, 1365, 188, 189, 190, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 226, 0, 233, 323, 332, - 331, 312, 313, 315, 317, 322, 329, 335, 0, 0, - 0, 0, 0, 249, 297, 256, 248, 478, 0, 0, + 260, 262, 269, 281, 286, 289, 295, 296, 299, 305, + 351, 357, 358, 359, 360, 379, 380, 381, 384, 387, + 388, 391, 393, 394, 397, 401, 405, 406, 407, 408, + 410, 412, 419, 424, 436, 437, 438, 439, 440, 443, + 444, 449, 450, 451, 452, 453, 461, 462, 466, 485, + 487, 499, 513, 518, 442, 282, 494, 519, 0, 350, + 0, 0, 352, 265, 285, 297, 0, 508, 463, 215, + 430, 274, 203, 234, 218, 243, 258, 261, 301, 362, + 370, 399, 404, 279, 255, 232, 423, 229, 446, 469, + 470, 471, 473, 366, 250, 403, 0, 367, 348, 475, + 476, 293, 474, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 386, 0, 0, 0, 0, 0, + 0, 0, 0, 254, 0, 0, 0, 0, 339, 251, + 0, 0, 400, 0, 197, 0, 448, 238, 349, 346, + 482, 266, 257, 253, 237, 294, 356, 398, 468, 392, + 0, 343, 0, 0, 458, 371, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 300, 235, 302, 196, 383, 459, 270, 0, 0, + 0, 0, 188, 189, 190, 0, 1710, 0, 0, 0, + 0, 0, 0, 0, 0, 226, 0, 233, 324, 333, + 332, 313, 314, 316, 318, 323, 330, 336, 0, 0, + 0, 0, 0, 249, 298, 256, 248, 479, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 280, 0, 371, 241, 0, 0, 0, 0, 514, 0, - 0, 0, 2970, 0, 0, 0, 337, 0, 306, 192, - 213, 0, 0, 381, 424, 434, 0, 0, 0, 239, - 0, 432, 395, 497, 221, 268, 421, 401, 430, 408, - 271, 0, 0, 431, 343, 483, 415, 494, 515, 516, - 247, 375, 505, 471, 511, 529, 214, 244, 389, 464, - 500, 454, 367, 479, 480, 305, 453, 278, 195, 341, - 521, 212, 440, 230, 219, 485, 503, 273, 419, 204, - 466, 492, 227, 444, 0, 0, 531, 206, 490, 463, - 363, 302, 303, 205, 0, 420, 252, 276, 242, 384, - 487, 488, 240, 532, 216, 510, 208, 0, 509, 377, - 482, 491, 364, 353, 207, 489, 362, 352, 308, 327, - 328, 264, 287, 413, 346, 414, 288, 373, 372, 374, - 199, 501, 0, 200, 0, 459, 502, 533, 222, 223, - 225, 0, 263, 267, 275, 277, 283, 284, 291, 339, - 388, 412, 410, 416, 0, 477, 495, 506, 513, 519, - 520, 522, 523, 524, 525, 526, 528, 527, 376, 290, - 455, 307, 344, 0, 0, 394, 433, 228, 499, 456, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, - 543, 544, 545, 546, 547, 548, 549, 550, 551, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 552, - 354, 446, 496, 309, 321, 324, 314, 333, 0, 334, - 310, 311, 316, 318, 319, 320, 325, 326, 330, 336, - 236, 202, 360, 368, 476, 425, 426, 427, 428, 0, - 191, 209, 340, 0, 417, 272, 530, 508, 504, 198, + 0, 0, 0, 0, 0, 0, 0, 1711, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 280, 0, 372, 241, 0, 0, 0, 0, 515, 0, + 0, 0, 0, 0, 0, 0, 338, 0, 307, 192, + 213, 0, 0, 382, 425, 435, 0, 0, 0, 239, + 0, 433, 396, 498, 221, 268, 422, 402, 431, 409, + 271, 0, 0, 432, 344, 484, 416, 495, 516, 517, + 247, 376, 506, 472, 512, 530, 214, 244, 390, 465, + 501, 455, 368, 480, 481, 306, 454, 278, 195, 342, + 522, 212, 441, 230, 219, 486, 504, 273, 420, 204, + 467, 493, 227, 445, 0, 0, 532, 206, 491, 464, + 364, 303, 304, 205, 0, 421, 252, 276, 242, 385, + 488, 489, 240, 533, 216, 511, 208, 0, 510, 378, + 483, 492, 365, 354, 207, 490, 363, 353, 309, 328, + 329, 264, 287, 414, 347, 415, 288, 374, 373, 375, + 199, 502, 0, 200, 0, 460, 503, 534, 222, 223, + 225, 0, 263, 267, 275, 277, 283, 284, 292, 340, + 389, 413, 411, 417, 0, 478, 496, 507, 514, 520, + 521, 523, 524, 525, 526, 527, 529, 528, 377, 290, + 456, 308, 345, 0, 0, 395, 434, 228, 500, 457, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 550, 551, 552, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 553, 355, + 447, 497, 310, 322, 325, 315, 334, 0, 335, 311, + 312, 317, 319, 320, 321, 326, 327, 331, 337, 236, + 202, 361, 369, 477, 291, 426, 427, 428, 429, 0, + 191, 209, 341, 0, 418, 272, 531, 509, 505, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, - 231, 245, 260, 262, 269, 281, 286, 289, 294, 295, - 298, 304, 350, 356, 357, 358, 359, 378, 379, 380, - 383, 386, 387, 390, 392, 393, 396, 400, 404, 405, - 406, 407, 409, 411, 418, 423, 435, 436, 437, 438, - 439, 442, 443, 448, 449, 450, 451, 452, 460, 461, - 465, 484, 486, 498, 512, 517, 441, 282, 493, 518, - 0, 349, 0, 0, 351, 265, 285, 296, 0, 507, - 462, 215, 429, 274, 203, 234, 218, 243, 258, 261, - 300, 361, 369, 398, 403, 279, 255, 232, 422, 229, - 445, 468, 469, 470, 472, 365, 250, 402, 0, 366, - 347, 474, 475, 292, 473, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 385, 0, 0, 0, + 231, 245, 260, 262, 269, 281, 286, 289, 295, 296, + 299, 305, 351, 357, 358, 359, 360, 379, 380, 381, + 384, 387, 388, 391, 393, 394, 397, 401, 405, 406, + 407, 408, 410, 412, 419, 424, 436, 437, 438, 439, + 440, 443, 444, 449, 450, 451, 452, 453, 461, 462, + 466, 485, 487, 499, 513, 518, 442, 282, 494, 519, + 0, 350, 0, 0, 352, 265, 285, 297, 0, 508, + 463, 215, 430, 274, 203, 234, 218, 243, 258, 261, + 301, 362, 370, 399, 404, 279, 255, 232, 423, 229, + 446, 469, 470, 471, 473, 366, 250, 403, 0, 367, + 348, 475, 476, 293, 474, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 386, 0, 0, 0, 0, 0, 0, 0, 0, 254, 0, 0, 0, 0, - 338, 251, 0, 0, 399, 0, 197, 0, 447, 238, - 348, 345, 481, 266, 257, 253, 237, 293, 355, 397, - 467, 391, 0, 342, 0, 0, 457, 370, 0, 0, + 339, 251, 0, 0, 400, 0, 197, 0, 448, 238, + 349, 346, 482, 266, 257, 253, 237, 294, 356, 398, + 468, 392, 0, 343, 0, 0, 458, 371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 299, 235, 301, 196, 382, 458, 270, - 0, 0, 0, 0, 188, 189, 190, 0, 1709, 0, + 0, 0, 0, 300, 235, 302, 196, 383, 459, 270, + 0, 0, 0, 0, 188, 189, 190, 0, 2186, 0, 0, 0, 0, 0, 0, 0, 0, 226, 0, 233, - 323, 332, 331, 312, 313, 315, 317, 322, 329, 335, - 0, 0, 0, 0, 0, 249, 297, 256, 248, 478, + 324, 333, 332, 313, 314, 316, 318, 323, 330, 336, + 0, 0, 0, 0, 0, 249, 298, 256, 248, 479, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1710, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 280, 0, 371, 241, 0, 0, 0, 0, - 514, 0, 0, 0, 0, 0, 0, 0, 337, 0, - 306, 192, 213, 0, 0, 381, 424, 434, 0, 0, - 0, 239, 0, 432, 395, 497, 221, 268, 421, 401, - 430, 408, 271, 0, 0, 431, 343, 483, 415, 494, - 515, 516, 247, 375, 505, 471, 511, 529, 214, 244, - 389, 464, 500, 454, 367, 479, 480, 305, 453, 278, - 195, 341, 521, 212, 440, 230, 219, 485, 503, 273, - 419, 204, 466, 492, 227, 444, 0, 0, 531, 206, - 490, 463, 363, 302, 303, 205, 0, 420, 252, 276, - 242, 384, 487, 488, 240, 532, 216, 510, 208, 0, - 509, 377, 482, 491, 364, 353, 207, 489, 362, 352, - 308, 327, 328, 264, 287, 413, 346, 414, 288, 373, - 372, 374, 199, 501, 0, 200, 0, 459, 502, 533, + 0, 0, 280, 0, 372, 241, 0, 0, 0, 0, + 515, 0, 0, 0, 0, 0, 0, 0, 338, 0, + 307, 192, 213, 0, 0, 382, 425, 435, 0, 0, + 0, 239, 0, 433, 396, 498, 221, 268, 422, 402, + 431, 409, 271, 0, 0, 432, 344, 484, 416, 495, + 516, 517, 247, 376, 506, 472, 512, 530, 214, 244, + 390, 465, 501, 455, 368, 480, 481, 306, 454, 278, + 195, 342, 522, 212, 441, 230, 219, 486, 504, 273, + 420, 204, 467, 493, 227, 445, 0, 0, 532, 206, + 491, 464, 364, 303, 304, 205, 0, 421, 252, 276, + 242, 385, 488, 489, 240, 533, 216, 511, 208, 0, + 510, 378, 483, 492, 365, 354, 207, 490, 363, 353, + 309, 328, 329, 264, 287, 414, 347, 415, 288, 374, + 373, 375, 199, 502, 0, 200, 0, 460, 503, 534, 222, 223, 225, 0, 263, 267, 275, 277, 283, 284, - 291, 339, 388, 412, 410, 416, 0, 477, 495, 506, - 513, 519, 520, 522, 523, 524, 525, 526, 528, 527, - 376, 290, 455, 307, 344, 0, 0, 394, 433, 228, - 499, 456, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 534, 535, 536, 537, 538, 539, 540, - 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, - 551, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 552, 354, 446, 496, 309, 321, 324, 314, 333, - 0, 334, 310, 311, 316, 318, 319, 320, 325, 326, - 330, 336, 236, 202, 360, 368, 476, 425, 426, 427, - 428, 0, 191, 209, 340, 0, 417, 272, 530, 508, - 504, 198, 211, 0, 246, 0, 0, 0, 0, 0, + 292, 340, 389, 413, 411, 417, 0, 478, 496, 507, + 514, 520, 521, 523, 524, 525, 526, 527, 529, 528, + 377, 290, 456, 308, 345, 0, 0, 395, 434, 228, + 500, 457, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 535, 536, 537, 538, 539, 540, 541, + 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, + 552, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 553, 355, 447, 497, 310, 322, 325, 315, 334, 0, + 335, 311, 312, 317, 319, 320, 321, 326, 327, 331, + 337, 236, 202, 361, 369, 477, 291, 426, 427, 428, + 429, 0, 191, 209, 341, 0, 418, 272, 531, 509, + 505, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, 245, 260, 262, 269, 281, 286, 289, - 294, 295, 298, 304, 350, 356, 357, 358, 359, 378, - 379, 380, 383, 386, 387, 390, 392, 393, 396, 400, - 404, 405, 406, 407, 409, 411, 418, 423, 435, 436, - 437, 438, 439, 442, 443, 448, 449, 450, 451, 452, - 460, 461, 465, 484, 486, 498, 512, 517, 441, 282, - 493, 518, 0, 349, 0, 0, 351, 265, 285, 296, - 0, 507, 462, 215, 429, 274, 203, 234, 218, 243, - 258, 261, 300, 361, 369, 398, 403, 279, 255, 232, - 422, 229, 445, 468, 469, 470, 472, 365, 250, 402, - 0, 366, 347, 474, 475, 292, 473, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 385, 0, + 295, 296, 299, 305, 351, 357, 358, 359, 360, 379, + 380, 381, 384, 387, 388, 391, 393, 394, 397, 401, + 405, 406, 407, 408, 410, 412, 419, 424, 436, 437, + 438, 439, 440, 443, 444, 449, 450, 451, 452, 453, + 461, 462, 466, 485, 487, 499, 513, 518, 442, 282, + 494, 519, 0, 350, 0, 0, 352, 265, 285, 297, + 0, 508, 463, 215, 430, 274, 203, 234, 218, 243, + 258, 261, 301, 362, 370, 399, 404, 279, 255, 232, + 423, 229, 446, 469, 470, 471, 473, 366, 250, 403, + 0, 367, 348, 475, 476, 293, 474, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 386, 0, 0, 0, 0, 0, 0, 0, 0, 254, 0, 0, - 0, 0, 338, 251, 0, 0, 399, 0, 197, 0, - 447, 238, 348, 345, 481, 266, 257, 253, 237, 293, - 355, 397, 467, 391, 0, 342, 0, 0, 457, 370, + 0, 0, 339, 251, 0, 0, 400, 0, 197, 0, + 448, 238, 349, 346, 482, 266, 257, 253, 237, 294, + 356, 398, 468, 392, 0, 343, 0, 0, 458, 371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 299, 235, 301, 196, 382, - 458, 270, 0, 0, 0, 0, 188, 189, 190, 0, - 2185, 0, 0, 0, 0, 0, 0, 0, 0, 226, - 0, 233, 323, 332, 331, 312, 313, 315, 317, 322, - 329, 335, 0, 0, 0, 0, 0, 249, 297, 256, - 248, 478, 0, 0, 0, 0, 0, 0, 0, 217, + 0, 0, 0, 0, 0, 300, 235, 302, 196, 383, + 459, 270, 0, 0, 0, 0, 188, 189, 190, 0, + 0, 0, 2171, 0, 0, 0, 2172, 0, 0, 226, + 0, 233, 324, 333, 332, 313, 314, 316, 318, 323, + 330, 336, 0, 0, 0, 0, 0, 249, 298, 256, + 248, 479, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 280, 0, 371, 241, 0, 0, - 0, 0, 514, 0, 0, 0, 0, 0, 0, 0, - 337, 0, 306, 192, 213, 0, 0, 381, 424, 434, - 0, 0, 0, 239, 0, 432, 395, 497, 221, 268, - 421, 401, 430, 408, 271, 0, 0, 431, 343, 483, - 415, 494, 515, 516, 247, 375, 505, 471, 511, 529, - 214, 244, 389, 464, 500, 454, 367, 479, 480, 305, - 453, 278, 195, 341, 521, 212, 440, 230, 219, 485, - 503, 273, 419, 204, 466, 492, 227, 444, 0, 0, - 531, 206, 490, 463, 363, 302, 303, 205, 0, 420, - 252, 276, 242, 384, 487, 488, 240, 532, 216, 510, - 208, 0, 509, 377, 482, 491, 364, 353, 207, 489, - 362, 352, 308, 327, 328, 264, 287, 413, 346, 414, - 288, 373, 372, 374, 199, 501, 0, 200, 0, 459, - 502, 533, 222, 223, 225, 0, 263, 267, 275, 277, - 283, 284, 291, 339, 388, 412, 410, 416, 0, 477, - 495, 506, 513, 519, 520, 522, 523, 524, 525, 526, - 528, 527, 376, 290, 455, 307, 344, 0, 0, 394, - 433, 228, 499, 456, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 534, 535, 536, 537, 538, - 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, - 549, 550, 551, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 552, 354, 446, 496, 309, 321, 324, - 314, 333, 0, 334, 310, 311, 316, 318, 319, 320, - 325, 326, 330, 336, 236, 202, 360, 368, 476, 425, - 426, 427, 428, 0, 191, 209, 340, 0, 417, 272, - 530, 508, 504, 198, 211, 0, 246, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 280, 0, 372, 241, 0, 0, + 0, 0, 515, 0, 0, 0, 0, 0, 0, 0, + 338, 0, 307, 192, 213, 0, 0, 382, 425, 435, + 0, 0, 0, 239, 0, 433, 396, 498, 221, 268, + 422, 402, 431, 409, 271, 0, 0, 432, 344, 484, + 416, 495, 516, 517, 247, 376, 506, 472, 512, 530, + 214, 244, 390, 465, 501, 455, 368, 480, 481, 306, + 454, 278, 195, 342, 522, 212, 441, 230, 219, 486, + 504, 273, 420, 204, 467, 493, 227, 445, 0, 0, + 532, 206, 491, 464, 364, 303, 304, 205, 0, 421, + 252, 276, 242, 385, 488, 489, 240, 533, 216, 511, + 208, 0, 510, 378, 483, 492, 365, 354, 207, 490, + 363, 353, 309, 328, 329, 264, 287, 414, 347, 415, + 288, 374, 373, 375, 199, 502, 0, 200, 0, 460, + 503, 534, 222, 223, 225, 0, 263, 267, 275, 277, + 283, 284, 292, 340, 389, 413, 411, 417, 0, 478, + 496, 507, 514, 520, 521, 523, 524, 525, 526, 527, + 529, 528, 377, 290, 456, 308, 345, 0, 0, 395, + 434, 228, 500, 457, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, + 550, 551, 552, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 553, 355, 447, 497, 310, 322, 325, 315, + 334, 0, 335, 311, 312, 317, 319, 320, 321, 326, + 327, 331, 337, 236, 202, 361, 369, 477, 291, 426, + 427, 428, 429, 0, 191, 209, 341, 0, 418, 272, + 531, 509, 505, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, 245, 260, 262, 269, 281, - 286, 289, 294, 295, 298, 304, 350, 356, 357, 358, - 359, 378, 379, 380, 383, 386, 387, 390, 392, 393, - 396, 400, 404, 405, 406, 407, 409, 411, 418, 423, - 435, 436, 437, 438, 439, 442, 443, 448, 449, 450, - 451, 452, 460, 461, 465, 484, 486, 498, 512, 517, - 441, 282, 493, 518, 0, 349, 0, 0, 351, 265, - 285, 296, 0, 507, 462, 215, 429, 274, 203, 234, - 218, 243, 258, 261, 300, 361, 369, 398, 403, 279, - 255, 232, 422, 229, 445, 468, 469, 470, 472, 365, - 250, 402, 0, 366, 347, 474, 475, 292, 473, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 385, 0, 0, 0, 0, 0, 0, 0, 0, 254, - 0, 0, 0, 0, 338, 251, 0, 0, 399, 0, - 197, 0, 447, 238, 348, 345, 481, 266, 257, 253, - 237, 293, 355, 397, 467, 391, 0, 342, 0, 0, - 457, 370, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 299, 235, 301, - 196, 382, 458, 270, 0, 0, 0, 0, 188, 189, - 190, 0, 0, 0, 2170, 0, 0, 0, 2171, 0, - 0, 226, 0, 233, 323, 332, 331, 312, 313, 315, - 317, 322, 329, 335, 0, 0, 0, 0, 0, 249, - 297, 256, 248, 478, 0, 0, 0, 0, 0, 0, + 286, 289, 295, 296, 299, 305, 351, 357, 358, 359, + 360, 379, 380, 381, 384, 387, 388, 391, 393, 394, + 397, 401, 405, 406, 407, 408, 410, 412, 419, 424, + 436, 437, 438, 439, 440, 443, 444, 449, 450, 451, + 452, 453, 461, 462, 466, 485, 487, 499, 513, 518, + 442, 282, 494, 519, 0, 350, 0, 0, 352, 265, + 285, 297, 0, 508, 463, 215, 430, 274, 203, 234, + 218, 243, 258, 261, 301, 362, 370, 399, 404, 279, + 255, 232, 423, 229, 446, 469, 470, 471, 473, 366, + 250, 403, 0, 367, 348, 475, 476, 293, 474, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 386, 0, 0, 0, 0, 0, 0, 0, 0, 254, + 1410, 0, 0, 0, 339, 251, 0, 0, 400, 0, + 197, 0, 448, 238, 349, 346, 482, 266, 257, 253, + 237, 294, 356, 398, 468, 392, 0, 343, 0, 0, + 458, 371, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 300, 235, 302, + 196, 383, 459, 270, 0, 0, 0, 0, 188, 189, + 190, 0, 1409, 0, 0, 0, 0, 0, 0, 0, + 0, 226, 0, 233, 324, 333, 332, 313, 314, 316, + 318, 323, 330, 336, 0, 0, 0, 0, 0, 249, + 298, 256, 248, 479, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4270,58 +4365,58 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 280, 0, 371, 241, - 0, 0, 0, 0, 514, 0, 0, 0, 0, 0, - 0, 0, 337, 0, 306, 192, 213, 0, 0, 381, - 424, 434, 0, 0, 0, 239, 0, 432, 395, 497, - 221, 268, 421, 401, 430, 408, 271, 0, 0, 431, - 343, 483, 415, 494, 515, 516, 247, 375, 505, 471, - 511, 529, 214, 244, 389, 464, 500, 454, 367, 479, - 480, 305, 453, 278, 195, 341, 521, 212, 440, 230, - 219, 485, 503, 273, 419, 204, 466, 492, 227, 444, - 0, 0, 531, 206, 490, 463, 363, 302, 303, 205, - 0, 420, 252, 276, 242, 384, 487, 488, 240, 532, - 216, 510, 208, 0, 509, 377, 482, 491, 364, 353, - 207, 489, 362, 352, 308, 327, 328, 264, 287, 413, - 346, 414, 288, 373, 372, 374, 199, 501, 0, 200, - 0, 459, 502, 533, 222, 223, 225, 0, 263, 267, - 275, 277, 283, 284, 291, 339, 388, 412, 410, 416, - 0, 477, 495, 506, 513, 519, 520, 522, 523, 524, - 525, 526, 528, 527, 376, 290, 455, 307, 344, 0, - 0, 394, 433, 228, 499, 456, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 534, 535, 536, - 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, - 547, 548, 549, 550, 551, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 552, 354, 446, 496, 309, - 321, 324, 314, 333, 0, 334, 310, 311, 316, 318, - 319, 320, 325, 326, 330, 336, 236, 202, 360, 368, - 476, 425, 426, 427, 428, 0, 191, 209, 340, 0, - 417, 272, 530, 508, 504, 198, 211, 0, 246, 0, + 0, 0, 0, 0, 0, 0, 280, 0, 372, 241, + 0, 0, 0, 0, 515, 0, 0, 0, 0, 0, + 0, 0, 338, 0, 307, 192, 213, 0, 0, 382, + 425, 435, 0, 0, 0, 239, 0, 433, 396, 498, + 221, 268, 422, 402, 431, 409, 271, 0, 0, 432, + 344, 484, 416, 495, 516, 517, 247, 376, 506, 472, + 512, 530, 214, 244, 390, 465, 501, 455, 368, 480, + 481, 306, 454, 278, 195, 342, 522, 212, 441, 230, + 219, 486, 504, 273, 420, 204, 467, 493, 227, 445, + 0, 0, 532, 206, 491, 464, 364, 303, 304, 205, + 0, 421, 252, 276, 242, 385, 488, 489, 240, 533, + 216, 511, 208, 0, 510, 378, 483, 492, 365, 354, + 207, 490, 363, 353, 309, 328, 329, 264, 287, 414, + 347, 415, 288, 374, 373, 375, 199, 502, 0, 200, + 0, 460, 503, 534, 222, 223, 225, 0, 263, 267, + 275, 277, 283, 284, 292, 340, 389, 413, 411, 417, + 0, 478, 496, 507, 514, 520, 521, 523, 524, 525, + 526, 527, 529, 528, 377, 290, 456, 308, 345, 0, + 0, 395, 434, 228, 500, 457, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, + 548, 549, 550, 551, 552, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 553, 355, 447, 497, 310, 322, + 325, 315, 334, 0, 335, 311, 312, 317, 319, 320, + 321, 326, 327, 331, 337, 236, 202, 361, 369, 477, + 291, 426, 427, 428, 429, 0, 191, 209, 341, 0, + 418, 272, 531, 509, 505, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, 245, 260, 262, - 269, 281, 286, 289, 294, 295, 298, 304, 350, 356, - 357, 358, 359, 378, 379, 380, 383, 386, 387, 390, - 392, 393, 396, 400, 404, 405, 406, 407, 409, 411, - 418, 423, 435, 436, 437, 438, 439, 442, 443, 448, - 449, 450, 451, 452, 460, 461, 465, 484, 486, 498, - 512, 517, 441, 282, 493, 518, 0, 349, 0, 0, - 351, 265, 285, 296, 0, 507, 462, 215, 429, 274, - 203, 234, 218, 243, 258, 261, 300, 361, 369, 398, - 403, 279, 255, 232, 422, 229, 445, 468, 469, 470, - 472, 365, 250, 402, 0, 366, 347, 474, 475, 292, - 473, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 385, 0, 0, 0, 0, 0, 0, 0, - 0, 254, 1409, 0, 0, 0, 338, 251, 0, 0, - 399, 0, 197, 0, 447, 238, 348, 345, 481, 266, - 257, 253, 237, 293, 355, 397, 467, 391, 0, 342, - 0, 0, 457, 370, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, - 235, 301, 196, 382, 458, 270, 0, 0, 0, 0, - 188, 189, 190, 0, 1408, 0, 0, 0, 0, 0, - 0, 0, 0, 226, 0, 233, 323, 332, 331, 312, - 313, 315, 317, 322, 329, 335, 0, 0, 0, 0, - 0, 249, 297, 256, 248, 478, 0, 0, 0, 0, + 269, 281, 286, 289, 295, 296, 299, 305, 351, 357, + 358, 359, 360, 379, 380, 381, 384, 387, 388, 391, + 393, 394, 397, 401, 405, 406, 407, 408, 410, 412, + 419, 424, 436, 437, 438, 439, 440, 443, 444, 449, + 450, 451, 452, 453, 461, 462, 466, 485, 487, 499, + 513, 518, 442, 282, 494, 519, 0, 350, 0, 0, + 352, 265, 285, 297, 0, 508, 463, 215, 430, 274, + 203, 234, 218, 243, 258, 261, 301, 362, 370, 399, + 404, 279, 255, 232, 423, 229, 446, 469, 470, 471, + 473, 366, 250, 403, 0, 367, 348, 475, 476, 293, + 474, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 386, 0, 0, 0, 0, 0, 0, 0, + 0, 254, 0, 0, 0, 0, 339, 251, 0, 0, + 400, 0, 197, 0, 448, 238, 349, 346, 482, 266, + 257, 253, 237, 294, 356, 398, 468, 392, 0, 343, + 0, 0, 458, 371, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 300, + 235, 302, 196, 383, 459, 270, 0, 0, 0, 0, + 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 226, 0, 233, 324, 333, 332, 313, + 314, 316, 318, 323, 330, 336, 0, 0, 0, 0, + 0, 249, 298, 256, 248, 479, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4332,57 +4427,57 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, - 371, 241, 0, 0, 0, 0, 514, 0, 0, 0, - 0, 0, 0, 0, 337, 0, 306, 192, 213, 0, - 0, 381, 424, 434, 0, 0, 0, 239, 0, 432, - 395, 497, 221, 268, 421, 401, 430, 408, 271, 0, - 0, 431, 343, 483, 415, 494, 515, 516, 247, 375, - 505, 471, 511, 529, 214, 244, 389, 464, 500, 454, - 367, 479, 480, 305, 453, 278, 195, 341, 521, 212, - 440, 230, 219, 485, 503, 273, 419, 204, 466, 492, - 227, 444, 0, 0, 531, 206, 490, 463, 363, 302, - 303, 205, 0, 420, 252, 276, 242, 384, 487, 488, - 240, 532, 216, 510, 208, 0, 509, 377, 482, 491, - 364, 353, 207, 489, 362, 352, 308, 327, 328, 264, - 287, 413, 346, 414, 288, 373, 372, 374, 199, 501, - 0, 200, 0, 459, 502, 533, 222, 223, 225, 0, - 263, 267, 275, 277, 283, 284, 291, 339, 388, 412, - 410, 416, 0, 477, 495, 506, 513, 519, 520, 522, - 523, 524, 525, 526, 528, 527, 376, 290, 455, 307, - 344, 0, 0, 394, 433, 228, 499, 456, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 545, 546, 547, 548, 549, 550, 551, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 552, 354, 446, - 496, 309, 321, 324, 314, 333, 0, 334, 310, 311, - 316, 318, 319, 320, 325, 326, 330, 336, 236, 202, - 360, 368, 476, 425, 426, 427, 428, 0, 191, 209, - 340, 0, 417, 272, 530, 508, 504, 198, 211, 0, + 372, 241, 0, 0, 0, 0, 515, 0, 0, 0, + 3074, 0, 0, 0, 338, 0, 307, 192, 213, 0, + 0, 382, 425, 435, 0, 0, 0, 239, 0, 433, + 396, 498, 221, 268, 422, 402, 431, 409, 271, 0, + 0, 432, 344, 484, 416, 495, 516, 517, 247, 376, + 506, 472, 512, 530, 214, 244, 390, 465, 501, 455, + 368, 480, 481, 306, 454, 278, 195, 342, 522, 212, + 441, 230, 219, 486, 504, 273, 420, 204, 467, 493, + 227, 445, 0, 0, 532, 206, 491, 464, 364, 303, + 304, 205, 0, 421, 252, 276, 242, 385, 488, 489, + 240, 533, 216, 511, 208, 0, 510, 378, 483, 492, + 365, 354, 207, 490, 363, 353, 309, 328, 329, 264, + 287, 414, 347, 415, 288, 374, 373, 375, 199, 502, + 0, 200, 0, 460, 503, 534, 222, 223, 225, 0, + 263, 267, 275, 277, 283, 284, 292, 340, 389, 413, + 411, 417, 0, 478, 496, 507, 514, 520, 521, 523, + 524, 525, 526, 527, 529, 528, 377, 290, 456, 308, + 345, 0, 0, 395, 434, 228, 500, 457, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, + 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, + 546, 547, 548, 549, 550, 551, 552, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 553, 355, 447, 497, + 310, 322, 325, 315, 334, 0, 335, 311, 312, 317, + 319, 320, 321, 326, 327, 331, 337, 236, 202, 361, + 369, 477, 291, 426, 427, 428, 429, 0, 191, 209, + 341, 0, 418, 272, 531, 509, 505, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, 245, - 260, 262, 269, 281, 286, 289, 294, 295, 298, 304, - 350, 356, 357, 358, 359, 378, 379, 380, 383, 386, - 387, 390, 392, 393, 396, 400, 404, 405, 406, 407, - 409, 411, 418, 423, 435, 436, 437, 438, 439, 442, - 443, 448, 449, 450, 451, 452, 460, 461, 465, 484, - 486, 498, 512, 517, 441, 282, 493, 518, 0, 349, - 0, 0, 351, 265, 285, 296, 0, 507, 462, 215, - 429, 274, 203, 234, 218, 243, 258, 261, 300, 361, - 369, 398, 403, 279, 255, 232, 422, 229, 445, 468, - 469, 470, 472, 365, 250, 402, 0, 366, 347, 474, - 475, 292, 473, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 385, 0, 0, 0, 0, 0, - 0, 0, 0, 254, 0, 0, 0, 0, 338, 251, - 0, 0, 399, 0, 197, 0, 447, 238, 348, 345, - 481, 266, 257, 253, 237, 293, 355, 397, 467, 391, - 0, 342, 0, 0, 457, 370, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 299, 235, 301, 196, 382, 458, 270, 0, 0, - 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 226, 0, 233, 323, 332, - 331, 312, 313, 315, 317, 322, 329, 335, 0, 0, - 0, 0, 0, 249, 297, 256, 248, 478, 0, 0, + 260, 262, 269, 281, 286, 289, 295, 296, 299, 305, + 351, 357, 358, 359, 360, 379, 380, 381, 384, 387, + 388, 391, 393, 394, 397, 401, 405, 406, 407, 408, + 410, 412, 419, 424, 436, 437, 438, 439, 440, 443, + 444, 449, 450, 451, 452, 453, 461, 462, 466, 485, + 487, 499, 513, 518, 442, 282, 494, 519, 0, 350, + 0, 0, 352, 265, 285, 297, 0, 508, 463, 215, + 430, 274, 203, 234, 218, 243, 258, 261, 301, 362, + 370, 399, 404, 279, 255, 232, 423, 229, 446, 469, + 470, 471, 473, 366, 250, 403, 0, 367, 348, 475, + 476, 293, 474, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 386, 0, 0, 0, 0, 0, + 0, 0, 0, 254, 0, 0, 0, 0, 339, 251, + 0, 0, 400, 0, 197, 0, 448, 238, 349, 346, + 482, 266, 257, 253, 237, 294, 356, 398, 468, 392, + 0, 343, 0, 0, 458, 371, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 300, 235, 302, 196, 383, 459, 270, 0, 0, + 0, 0, 188, 189, 190, 0, 1567, 0, 0, 0, + 0, 0, 0, 0, 0, 226, 0, 233, 324, 333, + 332, 313, 314, 316, 318, 323, 330, 336, 0, 0, + 0, 0, 0, 249, 298, 256, 248, 479, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4393,57 +4488,57 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 280, 0, 371, 241, 0, 0, 0, 0, 514, 0, - 0, 0, 3072, 0, 0, 0, 337, 0, 306, 192, - 213, 0, 0, 381, 424, 434, 0, 0, 0, 239, - 0, 432, 395, 497, 221, 268, 421, 401, 430, 408, - 271, 0, 0, 431, 343, 483, 415, 494, 515, 516, - 247, 375, 505, 471, 511, 529, 214, 244, 389, 464, - 500, 454, 367, 479, 480, 305, 453, 278, 195, 341, - 521, 212, 440, 230, 219, 485, 503, 273, 419, 204, - 466, 492, 227, 444, 0, 0, 531, 206, 490, 463, - 363, 302, 303, 205, 0, 420, 252, 276, 242, 384, - 487, 488, 240, 532, 216, 510, 208, 0, 509, 377, - 482, 491, 364, 353, 207, 489, 362, 352, 308, 327, - 328, 264, 287, 413, 346, 414, 288, 373, 372, 374, - 199, 501, 0, 200, 0, 459, 502, 533, 222, 223, - 225, 0, 263, 267, 275, 277, 283, 284, 291, 339, - 388, 412, 410, 416, 0, 477, 495, 506, 513, 519, - 520, 522, 523, 524, 525, 526, 528, 527, 376, 290, - 455, 307, 344, 0, 0, 394, 433, 228, 499, 456, + 280, 0, 372, 241, 0, 0, 0, 0, 515, 0, + 0, 0, 0, 0, 0, 0, 338, 0, 307, 192, + 213, 0, 0, 382, 425, 435, 0, 0, 0, 239, + 0, 433, 396, 498, 221, 268, 422, 402, 431, 409, + 271, 0, 0, 432, 344, 484, 416, 495, 516, 517, + 247, 376, 506, 472, 512, 530, 214, 244, 390, 465, + 501, 455, 368, 480, 481, 306, 454, 278, 195, 342, + 522, 212, 441, 230, 219, 486, 504, 273, 420, 204, + 467, 493, 227, 445, 0, 0, 532, 206, 491, 464, + 364, 303, 304, 205, 0, 421, 252, 276, 242, 385, + 488, 489, 240, 533, 216, 511, 208, 0, 510, 378, + 483, 492, 365, 354, 207, 490, 363, 353, 309, 328, + 329, 264, 287, 414, 347, 415, 288, 374, 373, 375, + 199, 502, 0, 200, 0, 460, 503, 534, 222, 223, + 225, 0, 263, 267, 275, 277, 283, 284, 292, 340, + 389, 413, 411, 417, 0, 478, 496, 507, 514, 520, + 521, 523, 524, 525, 526, 527, 529, 528, 377, 290, + 456, 308, 345, 0, 0, 395, 434, 228, 500, 457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, - 543, 544, 545, 546, 547, 548, 549, 550, 551, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 552, - 354, 446, 496, 309, 321, 324, 314, 333, 0, 334, - 310, 311, 316, 318, 319, 320, 325, 326, 330, 336, - 236, 202, 360, 368, 476, 425, 426, 427, 428, 0, - 191, 209, 340, 0, 417, 272, 530, 508, 504, 198, + 0, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 550, 551, 552, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 553, 355, + 447, 497, 310, 322, 325, 315, 334, 0, 335, 311, + 312, 317, 319, 320, 321, 326, 327, 331, 337, 236, + 202, 361, 369, 477, 291, 426, 427, 428, 429, 0, + 191, 209, 341, 0, 418, 272, 531, 509, 505, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, - 231, 245, 260, 262, 269, 281, 286, 289, 294, 295, - 298, 304, 350, 356, 357, 358, 359, 378, 379, 380, - 383, 386, 387, 390, 392, 393, 396, 400, 404, 405, - 406, 407, 409, 411, 418, 423, 435, 436, 437, 438, - 439, 442, 443, 448, 449, 450, 451, 452, 460, 461, - 465, 484, 486, 498, 512, 517, 441, 282, 493, 518, - 0, 349, 0, 0, 351, 265, 285, 296, 0, 507, - 462, 215, 429, 274, 203, 234, 218, 243, 258, 261, - 300, 361, 369, 398, 403, 279, 255, 232, 422, 229, - 445, 468, 469, 470, 472, 365, 250, 402, 0, 366, - 347, 474, 475, 292, 473, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 385, 0, 0, 0, + 231, 245, 260, 262, 269, 281, 286, 289, 295, 296, + 299, 305, 351, 357, 358, 359, 360, 379, 380, 381, + 384, 387, 388, 391, 393, 394, 397, 401, 405, 406, + 407, 408, 410, 412, 419, 424, 436, 437, 438, 439, + 440, 443, 444, 449, 450, 451, 452, 453, 461, 462, + 466, 485, 487, 499, 513, 518, 442, 282, 494, 519, + 0, 350, 0, 0, 352, 265, 285, 297, 0, 508, + 463, 215, 430, 274, 203, 234, 218, 243, 258, 261, + 301, 362, 370, 399, 404, 279, 255, 232, 423, 229, + 446, 469, 470, 471, 473, 366, 250, 403, 0, 367, + 348, 475, 476, 293, 474, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 386, 0, 0, 0, 0, 0, 0, 0, 0, 254, 0, 0, 0, 0, - 338, 251, 0, 0, 399, 0, 197, 0, 447, 238, - 348, 345, 481, 266, 257, 253, 237, 293, 355, 397, - 467, 391, 0, 342, 0, 0, 457, 370, 0, 0, + 339, 251, 0, 0, 400, 0, 197, 0, 448, 238, + 349, 346, 482, 266, 257, 253, 237, 294, 356, 398, + 468, 392, 0, 343, 0, 0, 458, 371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 299, 235, 301, 196, 382, 458, 270, - 0, 0, 0, 0, 188, 189, 190, 0, 1566, 0, + 0, 0, 0, 300, 235, 302, 196, 383, 459, 270, + 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, 0, 233, - 323, 332, 331, 312, 313, 315, 317, 322, 329, 335, - 0, 0, 0, 0, 0, 249, 297, 256, 248, 478, + 324, 333, 332, 313, 314, 316, 318, 323, 330, 336, + 0, 0, 0, 0, 0, 249, 298, 256, 248, 479, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, @@ -4454,58 +4549,58 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 280, 0, 371, 241, 0, 0, 0, 0, - 514, 0, 0, 0, 0, 0, 0, 0, 337, 0, - 306, 192, 213, 0, 0, 381, 424, 434, 0, 0, - 0, 239, 0, 432, 395, 497, 221, 268, 421, 401, - 430, 408, 271, 0, 0, 431, 343, 483, 415, 494, - 515, 516, 247, 375, 505, 471, 511, 529, 214, 244, - 389, 464, 500, 454, 367, 479, 480, 305, 453, 278, - 195, 341, 521, 212, 440, 230, 219, 485, 503, 273, - 419, 204, 466, 492, 227, 444, 0, 0, 531, 206, - 490, 463, 363, 302, 303, 205, 0, 420, 252, 276, - 242, 384, 487, 488, 240, 532, 216, 510, 208, 0, - 509, 377, 482, 491, 364, 353, 207, 489, 362, 352, - 308, 327, 328, 264, 287, 413, 346, 414, 288, 373, - 372, 374, 199, 501, 0, 200, 0, 459, 502, 533, + 0, 0, 280, 0, 372, 241, 0, 0, 0, 0, + 515, 0, 0, 0, 2972, 0, 0, 0, 338, 0, + 307, 192, 213, 0, 0, 382, 425, 435, 0, 0, + 0, 239, 0, 433, 396, 498, 221, 268, 422, 402, + 431, 409, 271, 0, 0, 432, 344, 484, 416, 495, + 516, 517, 247, 376, 506, 472, 512, 530, 214, 244, + 390, 465, 501, 455, 368, 480, 481, 306, 454, 278, + 195, 342, 522, 212, 441, 230, 219, 486, 504, 273, + 420, 204, 467, 493, 227, 445, 0, 0, 532, 206, + 491, 464, 364, 303, 304, 205, 0, 421, 252, 276, + 242, 385, 488, 489, 240, 533, 216, 511, 208, 0, + 510, 378, 483, 492, 365, 354, 207, 490, 363, 353, + 309, 328, 329, 264, 287, 414, 347, 415, 288, 374, + 373, 375, 199, 502, 0, 200, 0, 460, 503, 534, 222, 223, 225, 0, 263, 267, 275, 277, 283, 284, - 291, 339, 388, 412, 410, 416, 0, 477, 495, 506, - 513, 519, 520, 522, 523, 524, 525, 526, 528, 527, - 376, 290, 455, 307, 344, 0, 0, 394, 433, 228, - 499, 456, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 534, 535, 536, 537, 538, 539, 540, - 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, - 551, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 552, 354, 446, 496, 309, 321, 324, 314, 333, - 0, 334, 310, 311, 316, 318, 319, 320, 325, 326, - 330, 336, 236, 202, 360, 368, 476, 425, 426, 427, - 428, 0, 191, 209, 340, 0, 417, 272, 530, 508, - 504, 198, 211, 0, 246, 0, 0, 0, 0, 0, + 292, 340, 389, 413, 411, 417, 0, 478, 496, 507, + 514, 520, 521, 523, 524, 525, 526, 527, 529, 528, + 377, 290, 456, 308, 345, 0, 0, 395, 434, 228, + 500, 457, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 535, 536, 537, 538, 539, 540, 541, + 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, + 552, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 553, 355, 447, 497, 310, 322, 325, 315, 334, 0, + 335, 311, 312, 317, 319, 320, 321, 326, 327, 331, + 337, 236, 202, 361, 369, 477, 291, 426, 427, 428, + 429, 0, 191, 209, 341, 0, 418, 272, 531, 509, + 505, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, 245, 260, 262, 269, 281, 286, 289, - 294, 295, 298, 304, 350, 356, 357, 358, 359, 378, - 379, 380, 383, 386, 387, 390, 392, 393, 396, 400, - 404, 405, 406, 407, 409, 411, 418, 423, 435, 436, - 437, 438, 439, 442, 443, 448, 449, 450, 451, 452, - 460, 461, 465, 484, 486, 498, 512, 517, 441, 282, - 493, 518, 0, 349, 0, 0, 351, 265, 285, 296, - 0, 507, 462, 215, 429, 274, 203, 234, 218, 243, - 258, 261, 300, 361, 369, 398, 403, 279, 255, 232, - 422, 229, 445, 468, 469, 470, 472, 365, 250, 402, - 0, 366, 347, 474, 475, 292, 473, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 385, 0, + 295, 296, 299, 305, 351, 357, 358, 359, 360, 379, + 380, 381, 384, 387, 388, 391, 393, 394, 397, 401, + 405, 406, 407, 408, 410, 412, 419, 424, 436, 437, + 438, 439, 440, 443, 444, 449, 450, 451, 452, 453, + 461, 462, 466, 485, 487, 499, 513, 518, 442, 282, + 494, 519, 0, 350, 0, 0, 352, 265, 285, 297, + 0, 508, 463, 215, 430, 274, 203, 234, 218, 243, + 258, 261, 301, 362, 370, 399, 404, 279, 255, 232, + 423, 229, 446, 469, 470, 471, 473, 366, 250, 403, + 0, 367, 348, 475, 476, 293, 474, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 386, 0, 0, 0, 0, 0, 0, 0, 0, 254, 0, 0, - 0, 0, 338, 251, 0, 0, 399, 0, 197, 0, - 447, 238, 348, 345, 481, 266, 257, 253, 237, 293, - 355, 397, 467, 391, 0, 342, 0, 0, 457, 370, + 0, 0, 339, 251, 0, 0, 400, 0, 197, 0, + 448, 238, 349, 346, 482, 266, 257, 253, 237, 294, + 356, 398, 468, 392, 0, 343, 0, 0, 458, 371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 299, 235, 301, 196, 382, - 458, 270, 0, 0, 0, 0, 188, 189, 190, 0, + 0, 0, 0, 0, 0, 300, 235, 302, 196, 383, + 459, 270, 0, 87, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, - 0, 233, 323, 332, 331, 312, 313, 315, 317, 322, - 329, 335, 0, 0, 0, 0, 0, 249, 297, 256, - 248, 478, 0, 0, 0, 0, 0, 0, 0, 217, + 0, 233, 324, 333, 332, 313, 314, 316, 318, 323, + 330, 336, 0, 0, 0, 0, 0, 249, 298, 256, + 248, 479, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4515,58 +4610,58 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 280, 0, 371, 241, 0, 0, - 0, 0, 514, 0, 0, 0, 2970, 0, 0, 0, - 337, 0, 306, 192, 213, 0, 0, 381, 424, 434, - 0, 0, 0, 239, 0, 432, 395, 497, 221, 268, - 421, 401, 430, 408, 271, 0, 0, 431, 343, 483, - 415, 494, 515, 516, 247, 375, 505, 471, 511, 529, - 214, 244, 389, 464, 500, 454, 367, 479, 480, 305, - 453, 278, 195, 341, 521, 212, 440, 230, 219, 485, - 503, 273, 419, 204, 466, 492, 227, 444, 0, 0, - 531, 206, 490, 463, 363, 302, 303, 205, 0, 420, - 252, 276, 242, 384, 487, 488, 240, 532, 216, 510, - 208, 0, 509, 377, 482, 491, 364, 353, 207, 489, - 362, 352, 308, 327, 328, 264, 287, 413, 346, 414, - 288, 373, 372, 374, 199, 501, 0, 200, 0, 459, - 502, 533, 222, 223, 225, 0, 263, 267, 275, 277, - 283, 284, 291, 339, 388, 412, 410, 416, 0, 477, - 495, 506, 513, 519, 520, 522, 523, 524, 525, 526, - 528, 527, 376, 290, 455, 307, 344, 0, 0, 394, - 433, 228, 499, 456, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 534, 535, 536, 537, 538, - 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, - 549, 550, 551, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 552, 354, 446, 496, 309, 321, 324, - 314, 333, 0, 334, 310, 311, 316, 318, 319, 320, - 325, 326, 330, 336, 236, 202, 360, 368, 476, 425, - 426, 427, 428, 0, 191, 209, 340, 0, 417, 272, - 530, 508, 504, 198, 211, 0, 246, 0, 0, 0, + 0, 0, 0, 0, 280, 0, 372, 241, 0, 0, + 0, 0, 515, 0, 0, 0, 0, 0, 0, 0, + 338, 0, 307, 192, 213, 0, 0, 382, 425, 435, + 0, 0, 0, 239, 0, 433, 396, 498, 221, 268, + 422, 402, 431, 409, 271, 0, 0, 432, 344, 484, + 416, 495, 516, 517, 247, 376, 506, 472, 512, 530, + 214, 244, 390, 465, 501, 455, 368, 480, 481, 306, + 454, 278, 195, 342, 522, 212, 441, 230, 219, 486, + 504, 273, 420, 204, 467, 493, 227, 445, 0, 0, + 532, 206, 491, 464, 364, 303, 304, 205, 0, 421, + 252, 276, 242, 385, 488, 489, 240, 533, 216, 511, + 208, 0, 510, 378, 483, 492, 365, 354, 207, 490, + 363, 353, 309, 328, 329, 264, 287, 414, 347, 415, + 288, 374, 373, 375, 199, 502, 0, 200, 0, 460, + 503, 534, 222, 223, 225, 0, 263, 267, 275, 277, + 283, 284, 292, 340, 389, 413, 411, 417, 0, 478, + 496, 507, 514, 520, 521, 523, 524, 525, 526, 527, + 529, 528, 377, 290, 456, 308, 345, 0, 0, 395, + 434, 228, 500, 457, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, + 550, 551, 552, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 553, 355, 447, 497, 310, 322, 325, 315, + 334, 0, 335, 311, 312, 317, 319, 320, 321, 326, + 327, 331, 337, 236, 202, 361, 369, 477, 291, 426, + 427, 428, 429, 0, 191, 209, 341, 0, 418, 272, + 531, 509, 505, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, 245, 260, 262, 269, 281, - 286, 289, 294, 295, 298, 304, 350, 356, 357, 358, - 359, 378, 379, 380, 383, 386, 387, 390, 392, 393, - 396, 400, 404, 405, 406, 407, 409, 411, 418, 423, - 435, 436, 437, 438, 439, 442, 443, 448, 449, 450, - 451, 452, 460, 461, 465, 484, 486, 498, 512, 517, - 441, 282, 493, 518, 0, 349, 0, 0, 351, 265, - 285, 296, 0, 507, 462, 215, 429, 274, 203, 234, - 218, 243, 258, 261, 300, 361, 369, 398, 403, 279, - 255, 232, 422, 229, 445, 468, 469, 470, 472, 365, - 250, 402, 0, 366, 347, 474, 475, 292, 473, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 385, 0, 0, 0, 0, 0, 0, 0, 0, 254, - 0, 0, 0, 0, 338, 251, 0, 0, 399, 0, - 197, 0, 447, 238, 348, 345, 481, 266, 257, 253, - 237, 293, 355, 397, 467, 391, 0, 342, 0, 0, - 457, 370, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 299, 235, 301, - 196, 382, 458, 270, 0, 87, 0, 0, 188, 189, + 286, 289, 295, 296, 299, 305, 351, 357, 358, 359, + 360, 379, 380, 381, 384, 387, 388, 391, 393, 394, + 397, 401, 405, 406, 407, 408, 410, 412, 419, 424, + 436, 437, 438, 439, 440, 443, 444, 449, 450, 451, + 452, 453, 461, 462, 466, 485, 487, 499, 513, 518, + 442, 282, 494, 519, 0, 350, 0, 0, 352, 265, + 285, 297, 0, 508, 463, 215, 430, 274, 203, 234, + 218, 243, 258, 261, 301, 362, 370, 399, 404, 279, + 255, 232, 423, 229, 446, 469, 470, 471, 473, 366, + 250, 403, 0, 367, 348, 475, 476, 293, 474, 0, + 0, 0, 0, 1884, 0, 0, 0, 0, 0, 0, + 386, 0, 0, 0, 0, 0, 0, 0, 0, 254, + 0, 0, 0, 0, 339, 251, 0, 0, 400, 0, + 197, 0, 448, 238, 349, 346, 482, 266, 257, 253, + 237, 294, 356, 398, 468, 392, 0, 343, 0, 0, + 458, 371, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 300, 235, 302, + 196, 383, 459, 270, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 226, 0, 233, 323, 332, 331, 312, 313, 315, - 317, 322, 329, 335, 0, 0, 0, 0, 0, 249, - 297, 256, 248, 478, 0, 0, 0, 0, 0, 0, + 0, 226, 0, 233, 324, 333, 332, 313, 314, 316, + 318, 323, 330, 336, 0, 0, 0, 0, 0, 249, + 298, 256, 248, 479, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4576,58 +4671,58 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 280, 0, 371, 241, - 0, 0, 0, 0, 514, 0, 0, 0, 0, 0, - 0, 0, 337, 0, 306, 192, 213, 0, 0, 381, - 424, 434, 0, 0, 0, 239, 0, 432, 395, 497, - 221, 268, 421, 401, 430, 408, 271, 0, 0, 431, - 343, 483, 415, 494, 515, 516, 247, 375, 505, 471, - 511, 529, 214, 244, 389, 464, 500, 454, 367, 479, - 480, 305, 453, 278, 195, 341, 521, 212, 440, 230, - 219, 485, 503, 273, 419, 204, 466, 492, 227, 444, - 0, 0, 531, 206, 490, 463, 363, 302, 303, 205, - 0, 420, 252, 276, 242, 384, 487, 488, 240, 532, - 216, 510, 208, 0, 509, 377, 482, 491, 364, 353, - 207, 489, 362, 352, 308, 327, 328, 264, 287, 413, - 346, 414, 288, 373, 372, 374, 199, 501, 0, 200, - 0, 459, 502, 533, 222, 223, 225, 0, 263, 267, - 275, 277, 283, 284, 291, 339, 388, 412, 410, 416, - 0, 477, 495, 506, 513, 519, 520, 522, 523, 524, - 525, 526, 528, 527, 376, 290, 455, 307, 344, 0, - 0, 394, 433, 228, 499, 456, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 534, 535, 536, - 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, - 547, 548, 549, 550, 551, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 552, 354, 446, 496, 309, - 321, 324, 314, 333, 0, 334, 310, 311, 316, 318, - 319, 320, 325, 326, 330, 336, 236, 202, 360, 368, - 476, 425, 426, 427, 428, 0, 191, 209, 340, 0, - 417, 272, 530, 508, 504, 198, 211, 0, 246, 0, + 0, 0, 0, 0, 0, 0, 280, 0, 372, 241, + 0, 0, 0, 0, 515, 0, 0, 0, 0, 0, + 0, 0, 338, 0, 307, 192, 213, 0, 0, 382, + 425, 435, 0, 0, 0, 239, 0, 433, 396, 498, + 221, 268, 422, 402, 431, 409, 271, 0, 0, 432, + 344, 484, 416, 495, 516, 517, 247, 376, 506, 472, + 512, 530, 214, 244, 390, 465, 501, 455, 368, 480, + 481, 306, 454, 278, 195, 342, 522, 212, 441, 230, + 219, 486, 504, 273, 420, 204, 467, 493, 227, 445, + 0, 0, 532, 206, 491, 464, 364, 303, 304, 205, + 0, 421, 252, 276, 242, 385, 488, 489, 240, 533, + 216, 511, 208, 0, 510, 378, 483, 492, 365, 354, + 207, 490, 363, 353, 309, 328, 329, 264, 287, 414, + 347, 415, 288, 374, 373, 375, 199, 502, 0, 200, + 0, 460, 503, 534, 222, 223, 225, 0, 263, 267, + 275, 277, 283, 284, 292, 340, 389, 413, 411, 417, + 0, 478, 496, 507, 514, 520, 521, 523, 524, 525, + 526, 527, 529, 528, 377, 290, 456, 308, 345, 0, + 0, 395, 434, 228, 500, 457, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, + 548, 549, 550, 551, 552, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 553, 355, 447, 497, 310, 322, + 325, 315, 334, 0, 335, 311, 312, 317, 319, 320, + 321, 326, 327, 331, 337, 236, 202, 361, 369, 477, + 291, 426, 427, 428, 429, 0, 191, 209, 341, 0, + 418, 272, 531, 509, 505, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, 245, 260, 262, - 269, 281, 286, 289, 294, 295, 298, 304, 350, 356, - 357, 358, 359, 378, 379, 380, 383, 386, 387, 390, - 392, 393, 396, 400, 404, 405, 406, 407, 409, 411, - 418, 423, 435, 436, 437, 438, 439, 442, 443, 448, - 449, 450, 451, 452, 460, 461, 465, 484, 486, 498, - 512, 517, 441, 282, 493, 518, 0, 349, 0, 0, - 351, 265, 285, 296, 0, 507, 462, 215, 429, 274, - 203, 234, 218, 243, 258, 261, 300, 361, 369, 398, - 403, 279, 255, 232, 422, 229, 445, 468, 469, 470, - 472, 365, 250, 402, 0, 366, 347, 474, 475, 292, - 473, 0, 0, 0, 0, 1883, 0, 0, 0, 0, - 0, 0, 385, 0, 0, 0, 0, 0, 0, 0, - 0, 254, 0, 0, 0, 0, 338, 251, 0, 0, - 399, 0, 197, 0, 447, 238, 348, 345, 481, 266, - 257, 253, 237, 293, 355, 397, 467, 391, 0, 342, - 0, 0, 457, 370, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, - 235, 301, 196, 382, 458, 270, 0, 0, 0, 0, - 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 226, 0, 233, 323, 332, 331, 312, - 313, 315, 317, 322, 329, 335, 0, 0, 0, 0, - 0, 249, 297, 256, 248, 478, 0, 0, 0, 0, + 269, 281, 286, 289, 295, 296, 299, 305, 351, 357, + 358, 359, 360, 379, 380, 381, 384, 387, 388, 391, + 393, 394, 397, 401, 405, 406, 407, 408, 410, 412, + 419, 424, 436, 437, 438, 439, 440, 443, 444, 449, + 450, 451, 452, 453, 461, 462, 466, 485, 487, 499, + 513, 518, 442, 282, 494, 519, 0, 350, 0, 0, + 352, 265, 285, 297, 0, 508, 463, 215, 430, 274, + 203, 234, 218, 243, 258, 261, 301, 362, 370, 399, + 404, 279, 255, 232, 423, 229, 446, 469, 470, 471, + 473, 366, 250, 403, 0, 367, 348, 475, 476, 293, + 474, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 386, 0, 0, 0, 0, 0, 0, 0, + 0, 254, 0, 0, 0, 0, 339, 251, 0, 0, + 400, 0, 197, 0, 448, 238, 349, 346, 482, 266, + 257, 253, 237, 294, 356, 398, 468, 392, 0, 343, + 0, 0, 458, 371, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 300, + 235, 302, 196, 383, 459, 270, 0, 0, 0, 0, + 188, 189, 190, 0, 1389, 0, 0, 0, 0, 0, + 0, 0, 0, 226, 0, 233, 324, 333, 332, 313, + 314, 316, 318, 323, 330, 336, 0, 0, 0, 0, + 0, 249, 298, 256, 248, 479, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4638,180 +4733,180 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, - 371, 241, 0, 0, 0, 0, 514, 0, 0, 0, - 0, 0, 0, 0, 337, 0, 306, 192, 213, 0, - 0, 381, 424, 434, 0, 0, 0, 239, 0, 432, - 395, 497, 221, 268, 421, 401, 430, 408, 271, 0, - 0, 431, 343, 483, 415, 494, 515, 516, 247, 375, - 505, 471, 511, 529, 214, 244, 389, 464, 500, 454, - 367, 479, 480, 305, 453, 278, 195, 341, 521, 212, - 440, 230, 219, 485, 503, 273, 419, 204, 466, 492, - 227, 444, 0, 0, 531, 206, 490, 463, 363, 302, - 303, 205, 0, 420, 252, 276, 242, 384, 487, 488, - 240, 532, 216, 510, 208, 0, 509, 377, 482, 491, - 364, 353, 207, 489, 362, 352, 308, 327, 328, 264, - 287, 413, 346, 414, 288, 373, 372, 374, 199, 501, - 0, 200, 0, 459, 502, 533, 222, 223, 225, 0, - 263, 267, 275, 277, 283, 284, 291, 339, 388, 412, - 410, 416, 0, 477, 495, 506, 513, 519, 520, 522, - 523, 524, 525, 526, 528, 527, 376, 290, 455, 307, - 344, 0, 0, 394, 433, 228, 499, 456, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 545, 546, 547, 548, 549, 550, 551, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 552, 354, 446, - 496, 309, 321, 324, 314, 333, 0, 334, 310, 311, - 316, 318, 319, 320, 325, 326, 330, 336, 236, 202, - 360, 368, 476, 425, 426, 427, 428, 0, 191, 209, - 340, 0, 417, 272, 530, 508, 504, 198, 211, 0, + 372, 241, 0, 0, 0, 0, 515, 0, 0, 0, + 0, 0, 0, 0, 338, 0, 307, 192, 213, 0, + 0, 382, 425, 435, 0, 0, 0, 239, 0, 433, + 396, 498, 221, 268, 422, 402, 431, 409, 271, 0, + 0, 432, 344, 484, 416, 495, 516, 517, 247, 376, + 506, 472, 512, 530, 214, 244, 390, 465, 501, 455, + 368, 480, 481, 306, 454, 278, 195, 342, 522, 212, + 441, 230, 219, 486, 504, 273, 420, 204, 467, 493, + 227, 445, 0, 0, 532, 206, 491, 464, 364, 303, + 304, 205, 0, 421, 252, 276, 242, 385, 488, 489, + 240, 533, 216, 511, 208, 0, 510, 378, 483, 492, + 365, 354, 207, 490, 363, 353, 309, 328, 329, 264, + 287, 414, 347, 415, 288, 374, 373, 375, 199, 502, + 0, 200, 0, 460, 503, 534, 222, 223, 225, 0, + 263, 267, 275, 277, 283, 284, 292, 340, 389, 413, + 411, 417, 0, 478, 496, 507, 514, 520, 521, 523, + 524, 525, 526, 527, 529, 528, 377, 290, 456, 308, + 345, 0, 0, 395, 434, 228, 500, 457, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, + 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, + 546, 547, 548, 549, 550, 551, 552, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 553, 355, 447, 497, + 310, 322, 325, 315, 334, 0, 335, 311, 312, 317, + 319, 320, 321, 326, 327, 331, 337, 236, 202, 361, + 369, 477, 291, 426, 427, 428, 429, 0, 191, 209, + 341, 0, 418, 272, 531, 509, 505, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, 245, - 260, 262, 269, 281, 286, 289, 294, 295, 298, 304, - 350, 356, 357, 358, 359, 378, 379, 380, 383, 386, - 387, 390, 392, 393, 396, 400, 404, 405, 406, 407, - 409, 411, 418, 423, 435, 436, 437, 438, 439, 442, - 443, 448, 449, 450, 451, 452, 460, 461, 465, 484, - 486, 498, 512, 517, 441, 282, 493, 518, 0, 349, - 0, 0, 351, 265, 285, 296, 0, 507, 462, 215, - 429, 274, 203, 234, 218, 243, 258, 261, 300, 361, - 369, 398, 403, 279, 255, 232, 422, 229, 445, 468, - 469, 470, 472, 365, 250, 402, 0, 366, 347, 474, - 475, 292, 473, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 385, 0, 0, 0, 0, 0, - 0, 0, 0, 254, 0, 0, 0, 0, 338, 251, - 0, 0, 399, 0, 197, 0, 447, 238, 348, 345, - 481, 266, 257, 253, 237, 293, 355, 397, 467, 391, - 0, 342, 0, 0, 457, 370, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 299, 235, 301, 196, 382, 458, 270, 0, 0, - 0, 0, 188, 189, 190, 0, 1388, 0, 0, 0, - 0, 0, 0, 0, 0, 226, 0, 233, 323, 332, - 331, 312, 313, 315, 317, 322, 329, 335, 0, 0, - 0, 0, 0, 249, 297, 256, 248, 478, 0, 0, + 260, 262, 269, 281, 286, 289, 295, 296, 299, 305, + 351, 357, 358, 359, 360, 379, 380, 381, 384, 387, + 388, 391, 393, 394, 397, 401, 405, 406, 407, 408, + 410, 412, 419, 424, 436, 437, 438, 439, 440, 443, + 444, 449, 450, 451, 452, 453, 461, 462, 466, 485, + 487, 499, 513, 518, 442, 282, 494, 519, 0, 350, + 0, 0, 352, 265, 285, 297, 0, 508, 463, 215, + 430, 274, 203, 234, 218, 243, 258, 261, 301, 362, + 370, 399, 404, 279, 255, 232, 423, 229, 446, 469, + 470, 471, 473, 366, 250, 403, 0, 367, 348, 475, + 476, 293, 474, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 386, 0, 0, 0, 0, 0, + 0, 0, 0, 254, 0, 0, 0, 0, 339, 251, + 0, 0, 400, 0, 197, 0, 448, 238, 349, 346, + 482, 266, 257, 253, 237, 294, 356, 398, 468, 392, + 0, 343, 0, 0, 458, 371, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 300, 235, 302, 196, 383, 459, 270, 0, 0, + 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 226, 0, 233, 324, 333, + 332, 313, 314, 316, 318, 323, 330, 336, 0, 0, + 0, 0, 0, 249, 298, 256, 248, 479, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 280, 0, 371, 241, 0, 0, 0, 0, 514, 0, - 0, 0, 0, 0, 0, 0, 337, 0, 306, 192, - 213, 0, 0, 381, 424, 434, 0, 0, 0, 239, - 0, 432, 395, 497, 221, 268, 421, 401, 430, 408, - 271, 0, 0, 431, 343, 483, 415, 494, 515, 516, - 247, 375, 505, 471, 511, 529, 214, 244, 389, 464, - 500, 454, 367, 479, 480, 305, 453, 278, 195, 341, - 521, 212, 440, 230, 219, 485, 503, 273, 419, 204, - 466, 492, 227, 444, 0, 0, 531, 206, 490, 463, - 363, 302, 303, 205, 0, 420, 252, 276, 242, 384, - 487, 488, 240, 532, 216, 510, 208, 0, 509, 377, - 482, 491, 364, 353, 207, 489, 362, 352, 308, 327, - 328, 264, 287, 413, 346, 414, 288, 373, 372, 374, - 199, 501, 0, 200, 0, 459, 502, 533, 222, 223, - 225, 0, 263, 267, 275, 277, 283, 284, 291, 339, - 388, 412, 410, 416, 0, 477, 495, 506, 513, 519, - 520, 522, 523, 524, 525, 526, 528, 527, 376, 290, - 455, 307, 344, 0, 0, 394, 433, 228, 499, 456, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, - 543, 544, 545, 546, 547, 548, 549, 550, 551, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 552, - 354, 446, 496, 309, 321, 324, 314, 333, 0, 334, - 310, 311, 316, 318, 319, 320, 325, 326, 330, 336, - 236, 202, 360, 368, 476, 425, 426, 427, 428, 0, - 191, 209, 340, 0, 417, 272, 530, 508, 504, 198, + 0, 0, 0, 0, 0, 0, 1240, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 280, 0, 372, 241, 0, 0, 0, 0, 515, 0, + 0, 0, 0, 0, 0, 0, 338, 0, 307, 192, + 213, 0, 0, 382, 425, 435, 0, 0, 0, 239, + 0, 433, 396, 498, 221, 268, 422, 402, 431, 409, + 271, 0, 0, 432, 344, 484, 416, 495, 516, 517, + 247, 376, 506, 472, 512, 530, 214, 244, 390, 465, + 501, 455, 368, 480, 481, 306, 454, 278, 195, 342, + 522, 212, 441, 230, 219, 486, 504, 273, 420, 204, + 467, 493, 227, 445, 0, 0, 532, 206, 491, 464, + 364, 303, 304, 205, 0, 421, 252, 276, 242, 385, + 488, 489, 240, 533, 216, 511, 208, 0, 510, 378, + 483, 492, 365, 354, 207, 490, 363, 353, 309, 328, + 329, 264, 287, 414, 347, 415, 288, 374, 373, 375, + 199, 502, 0, 200, 0, 460, 503, 534, 222, 223, + 225, 0, 263, 267, 275, 277, 283, 284, 292, 340, + 389, 413, 411, 417, 0, 478, 496, 507, 514, 520, + 521, 523, 524, 525, 526, 527, 529, 528, 377, 290, + 456, 308, 345, 0, 0, 395, 434, 228, 500, 457, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 550, 551, 552, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 553, 355, + 447, 497, 310, 322, 325, 315, 334, 0, 335, 311, + 312, 317, 319, 320, 321, 326, 327, 331, 337, 236, + 202, 361, 369, 477, 291, 426, 427, 428, 429, 0, + 191, 209, 341, 0, 418, 272, 531, 509, 505, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, - 231, 245, 260, 262, 269, 281, 286, 289, 294, 295, - 298, 304, 350, 356, 357, 358, 359, 378, 379, 380, - 383, 386, 387, 390, 392, 393, 396, 400, 404, 405, - 406, 407, 409, 411, 418, 423, 435, 436, 437, 438, - 439, 442, 443, 448, 449, 450, 451, 452, 460, 461, - 465, 484, 486, 498, 512, 517, 441, 282, 493, 518, - 0, 349, 0, 0, 351, 265, 285, 296, 0, 507, - 462, 215, 429, 274, 203, 234, 218, 243, 258, 261, - 300, 361, 369, 398, 403, 279, 255, 232, 422, 229, - 445, 468, 469, 470, 472, 365, 250, 402, 0, 366, - 347, 474, 475, 292, 473, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 385, 0, 0, 0, + 231, 245, 260, 262, 269, 281, 286, 289, 295, 296, + 299, 305, 351, 357, 358, 359, 360, 379, 380, 381, + 384, 387, 388, 391, 393, 394, 397, 401, 405, 406, + 407, 408, 410, 412, 419, 424, 436, 437, 438, 439, + 440, 443, 444, 449, 450, 451, 452, 453, 461, 462, + 466, 485, 487, 499, 513, 518, 442, 282, 494, 519, + 0, 350, 0, 0, 352, 265, 285, 297, 0, 508, + 463, 215, 430, 274, 203, 234, 218, 243, 258, 261, + 301, 362, 370, 399, 404, 279, 255, 232, 423, 229, + 446, 469, 470, 471, 473, 366, 250, 403, 0, 367, + 348, 475, 476, 293, 474, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 386, 0, 0, 0, 0, 0, 0, 0, 0, 254, 0, 0, 0, 0, - 338, 251, 0, 0, 399, 0, 197, 0, 447, 238, - 348, 345, 481, 266, 257, 253, 237, 293, 355, 397, - 467, 391, 0, 342, 0, 0, 457, 370, 0, 0, + 339, 251, 0, 0, 400, 0, 197, 0, 448, 238, + 349, 346, 482, 266, 257, 253, 237, 294, 356, 398, + 468, 392, 0, 343, 0, 0, 458, 371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 299, 235, 301, 196, 382, 458, 270, + 0, 0, 0, 300, 235, 302, 196, 383, 459, 270, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, 0, 233, - 323, 332, 331, 312, 313, 315, 317, 322, 329, 335, - 0, 0, 0, 0, 0, 249, 297, 256, 248, 478, + 324, 333, 332, 313, 314, 316, 318, 323, 330, 336, + 0, 0, 0, 0, 0, 249, 298, 256, 248, 479, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 280, 0, 371, 241, 0, 0, 0, 0, - 514, 0, 0, 0, 0, 0, 0, 0, 337, 0, - 306, 192, 213, 0, 0, 381, 424, 434, 0, 0, - 0, 239, 0, 432, 395, 497, 221, 268, 421, 401, - 430, 408, 271, 0, 0, 431, 343, 483, 415, 494, - 515, 516, 247, 375, 505, 471, 511, 529, 214, 244, - 389, 464, 500, 454, 367, 479, 480, 305, 453, 278, - 195, 341, 521, 212, 440, 230, 219, 485, 503, 273, - 419, 204, 466, 492, 227, 444, 0, 0, 531, 206, - 490, 463, 363, 302, 303, 205, 0, 420, 252, 276, - 242, 384, 487, 488, 240, 532, 216, 510, 208, 0, - 509, 377, 482, 491, 364, 353, 207, 489, 362, 352, - 308, 327, 328, 264, 287, 413, 346, 414, 288, 373, - 372, 374, 199, 501, 0, 200, 0, 459, 502, 533, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 280, 0, 372, 241, 0, 0, 0, 0, + 515, 0, 0, 0, 0, 0, 0, 0, 338, 0, + 307, 192, 213, 0, 0, 382, 425, 435, 0, 0, + 0, 239, 0, 433, 396, 498, 221, 268, 422, 402, + 431, 409, 271, 0, 0, 432, 344, 484, 416, 495, + 516, 517, 247, 376, 506, 472, 512, 530, 214, 244, + 390, 465, 501, 455, 368, 480, 481, 306, 454, 278, + 195, 342, 522, 212, 441, 230, 219, 486, 504, 273, + 420, 204, 467, 493, 227, 445, 0, 0, 532, 206, + 491, 464, 364, 303, 304, 205, 0, 421, 252, 276, + 242, 385, 488, 489, 240, 533, 216, 511, 208, 0, + 510, 378, 483, 492, 365, 354, 207, 490, 363, 353, + 309, 328, 329, 264, 287, 414, 347, 415, 288, 374, + 373, 375, 199, 502, 0, 200, 0, 460, 503, 534, 222, 223, 225, 0, 263, 267, 275, 277, 283, 284, - 291, 339, 388, 412, 410, 416, 0, 477, 495, 506, - 513, 519, 520, 522, 523, 524, 525, 526, 528, 527, - 376, 290, 455, 307, 344, 0, 0, 394, 433, 228, - 499, 456, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 534, 535, 536, 537, 538, 539, 540, - 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, - 551, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 552, 354, 446, 496, 309, 321, 324, 314, 333, - 0, 334, 310, 311, 316, 318, 319, 320, 325, 326, - 330, 336, 236, 202, 360, 368, 476, 425, 426, 427, - 428, 0, 191, 209, 340, 0, 417, 272, 530, 508, - 504, 198, 211, 0, 246, 0, 0, 0, 0, 0, + 292, 340, 389, 413, 411, 417, 0, 478, 496, 507, + 514, 520, 521, 523, 524, 525, 526, 527, 529, 528, + 377, 290, 456, 308, 345, 0, 0, 395, 434, 228, + 500, 457, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 535, 536, 537, 538, 539, 540, 541, + 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, + 552, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 553, 355, 447, 497, 310, 322, 325, 315, 334, 0, + 335, 311, 312, 317, 319, 320, 321, 326, 327, 331, + 337, 236, 202, 361, 369, 477, 291, 426, 427, 428, + 429, 0, 191, 209, 341, 1665, 418, 272, 531, 509, + 505, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, 245, 260, 262, 269, 281, 286, 289, - 294, 295, 298, 304, 350, 356, 357, 358, 359, 378, - 379, 380, 383, 386, 387, 390, 392, 393, 396, 400, - 404, 405, 406, 407, 409, 411, 418, 423, 435, 436, - 437, 438, 439, 442, 443, 448, 449, 450, 451, 452, - 460, 461, 465, 484, 486, 498, 512, 517, 441, 282, - 493, 518, 0, 349, 0, 0, 351, 265, 285, 296, - 0, 507, 462, 215, 429, 274, 203, 234, 218, 243, - 258, 261, 300, 361, 369, 398, 403, 279, 255, 232, - 422, 229, 445, 468, 469, 470, 472, 365, 250, 402, - 0, 366, 347, 474, 475, 292, 473, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 385, 0, - 0, 0, 0, 0, 0, 0, 0, 254, 0, 0, - 0, 0, 338, 251, 0, 0, 399, 0, 197, 0, - 447, 238, 348, 345, 481, 266, 257, 253, 237, 293, - 355, 397, 467, 391, 0, 342, 0, 0, 457, 370, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 299, 235, 301, 196, 382, - 458, 270, 0, 0, 0, 0, 188, 189, 190, 0, + 295, 296, 299, 305, 351, 357, 358, 359, 360, 379, + 380, 381, 384, 387, 388, 391, 393, 394, 397, 401, + 405, 406, 407, 408, 410, 412, 419, 424, 436, 437, + 438, 439, 440, 443, 444, 449, 450, 451, 452, 453, + 461, 462, 466, 485, 487, 499, 513, 518, 442, 282, + 494, 519, 0, 350, 0, 0, 352, 265, 285, 297, + 0, 508, 463, 215, 430, 274, 203, 234, 218, 243, + 258, 261, 301, 362, 370, 399, 404, 279, 255, 232, + 423, 229, 446, 469, 470, 471, 473, 366, 250, 403, + 0, 367, 348, 475, 476, 293, 474, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 386, 0, + 1535, 0, 0, 0, 0, 0, 0, 254, 0, 0, + 0, 0, 339, 251, 0, 0, 400, 0, 197, 0, + 448, 238, 349, 346, 482, 266, 257, 253, 237, 294, + 356, 398, 468, 392, 0, 343, 0, 0, 458, 371, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 300, 235, 302, 196, 383, + 459, 270, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, - 0, 233, 323, 332, 331, 312, 313, 315, 317, 322, - 329, 335, 0, 0, 0, 0, 0, 249, 297, 256, - 248, 478, 0, 0, 0, 0, 0, 0, 0, 217, + 0, 233, 324, 333, 332, 313, 314, 316, 318, 323, + 330, 336, 0, 0, 0, 0, 0, 249, 298, 256, + 248, 479, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4821,58 +4916,58 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 280, 0, 371, 241, 0, 0, - 0, 0, 514, 0, 0, 0, 0, 0, 0, 0, - 337, 0, 306, 192, 213, 0, 0, 381, 424, 434, - 0, 0, 0, 239, 0, 432, 395, 497, 221, 268, - 421, 401, 430, 408, 271, 0, 0, 431, 343, 483, - 415, 494, 515, 516, 247, 375, 505, 471, 511, 529, - 214, 244, 389, 464, 500, 454, 367, 479, 480, 305, - 453, 278, 195, 341, 521, 212, 440, 230, 219, 485, - 503, 273, 419, 204, 466, 492, 227, 444, 0, 0, - 531, 206, 490, 463, 363, 302, 303, 205, 0, 420, - 252, 276, 242, 384, 487, 488, 240, 532, 216, 510, - 208, 0, 509, 377, 482, 491, 364, 353, 207, 489, - 362, 352, 308, 327, 328, 264, 287, 413, 346, 414, - 288, 373, 372, 374, 199, 501, 0, 200, 0, 459, - 502, 533, 222, 223, 225, 0, 263, 267, 275, 277, - 283, 284, 291, 339, 388, 412, 410, 416, 0, 477, - 495, 506, 513, 519, 520, 522, 523, 524, 525, 526, - 528, 527, 376, 290, 455, 307, 344, 0, 0, 394, - 433, 228, 499, 456, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 534, 535, 536, 537, 538, - 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, - 549, 550, 551, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 552, 354, 446, 496, 309, 321, 324, - 314, 333, 0, 334, 310, 311, 316, 318, 319, 320, - 325, 326, 330, 336, 236, 202, 360, 368, 476, 425, - 426, 427, 428, 0, 191, 209, 340, 1664, 417, 272, - 530, 508, 504, 198, 211, 0, 246, 0, 0, 0, + 0, 0, 0, 0, 280, 0, 372, 241, 0, 0, + 0, 0, 515, 0, 0, 0, 0, 0, 0, 0, + 338, 0, 307, 192, 213, 0, 0, 382, 425, 435, + 0, 0, 0, 239, 0, 433, 396, 498, 221, 268, + 422, 402, 431, 409, 271, 0, 0, 432, 344, 484, + 416, 495, 516, 517, 247, 376, 506, 472, 512, 530, + 214, 244, 390, 465, 501, 455, 368, 480, 481, 306, + 454, 278, 195, 342, 522, 212, 441, 230, 219, 486, + 504, 273, 420, 204, 467, 493, 227, 445, 0, 0, + 532, 206, 491, 464, 364, 303, 304, 205, 0, 421, + 252, 276, 242, 385, 488, 489, 240, 533, 216, 511, + 208, 0, 510, 378, 483, 492, 365, 354, 207, 490, + 363, 353, 309, 328, 329, 264, 287, 414, 347, 415, + 288, 374, 373, 375, 199, 502, 0, 200, 0, 460, + 503, 534, 222, 223, 225, 0, 263, 267, 275, 277, + 283, 284, 292, 340, 389, 413, 411, 417, 0, 478, + 496, 507, 514, 520, 521, 523, 524, 525, 526, 527, + 529, 528, 377, 290, 456, 308, 345, 0, 0, 395, + 434, 228, 500, 457, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, + 550, 551, 552, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 553, 355, 447, 497, 310, 322, 325, 315, + 334, 0, 335, 311, 312, 317, 319, 320, 321, 326, + 327, 331, 337, 236, 202, 361, 369, 477, 291, 426, + 427, 428, 429, 0, 191, 209, 341, 0, 418, 272, + 531, 509, 505, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, 245, 260, 262, 269, 281, - 286, 289, 294, 295, 298, 304, 350, 356, 357, 358, - 359, 378, 379, 380, 383, 386, 387, 390, 392, 393, - 396, 400, 404, 405, 406, 407, 409, 411, 418, 423, - 435, 436, 437, 438, 439, 442, 443, 448, 449, 450, - 451, 452, 460, 461, 465, 484, 486, 498, 512, 517, - 441, 282, 493, 518, 0, 349, 0, 0, 351, 265, - 285, 296, 0, 507, 462, 215, 429, 274, 203, 234, - 218, 243, 258, 261, 300, 361, 369, 398, 403, 279, - 255, 232, 422, 229, 445, 468, 469, 470, 472, 365, - 250, 402, 0, 366, 347, 474, 475, 292, 473, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 385, 0, 1534, 0, 0, 0, 0, 0, 0, 254, - 0, 0, 0, 0, 338, 251, 0, 0, 399, 0, - 197, 0, 447, 238, 348, 345, 481, 266, 257, 253, - 237, 293, 355, 397, 467, 391, 0, 342, 0, 0, - 457, 370, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 299, 235, 301, - 196, 382, 458, 270, 0, 0, 0, 0, 188, 189, + 286, 289, 295, 296, 299, 305, 351, 357, 358, 359, + 360, 379, 380, 381, 384, 387, 388, 391, 393, 394, + 397, 401, 405, 406, 407, 408, 410, 412, 419, 424, + 436, 437, 438, 439, 440, 443, 444, 449, 450, 451, + 452, 453, 461, 462, 466, 485, 487, 499, 513, 518, + 442, 282, 494, 519, 0, 350, 0, 0, 352, 265, + 285, 297, 0, 508, 463, 215, 430, 274, 203, 234, + 218, 243, 258, 261, 301, 362, 370, 399, 404, 279, + 255, 232, 423, 229, 446, 469, 470, 471, 473, 366, + 250, 403, 0, 367, 348, 475, 476, 293, 474, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 386, 0, 1533, 0, 0, 0, 0, 0, 0, 254, + 0, 0, 0, 0, 339, 251, 0, 0, 400, 0, + 197, 0, 448, 238, 349, 346, 482, 266, 257, 253, + 237, 294, 356, 398, 468, 392, 0, 343, 0, 0, + 458, 371, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 300, 235, 302, + 196, 383, 459, 270, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 226, 0, 233, 323, 332, 331, 312, 313, 315, - 317, 322, 329, 335, 0, 0, 0, 0, 0, 249, - 297, 256, 248, 478, 0, 0, 0, 0, 0, 0, + 0, 226, 0, 233, 324, 333, 332, 313, 314, 316, + 318, 323, 330, 336, 0, 0, 0, 0, 0, 249, + 298, 256, 248, 479, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4882,58 +4977,58 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 280, 0, 371, 241, - 0, 0, 0, 0, 514, 0, 0, 0, 0, 0, - 0, 0, 337, 0, 306, 192, 213, 0, 0, 381, - 424, 434, 0, 0, 0, 239, 0, 432, 395, 497, - 221, 268, 421, 401, 430, 408, 271, 0, 0, 431, - 343, 483, 415, 494, 515, 516, 247, 375, 505, 471, - 511, 529, 214, 244, 389, 464, 500, 454, 367, 479, - 480, 305, 453, 278, 195, 341, 521, 212, 440, 230, - 219, 485, 503, 273, 419, 204, 466, 492, 227, 444, - 0, 0, 531, 206, 490, 463, 363, 302, 303, 205, - 0, 420, 252, 276, 242, 384, 487, 488, 240, 532, - 216, 510, 208, 0, 509, 377, 482, 491, 364, 353, - 207, 489, 362, 352, 308, 327, 328, 264, 287, 413, - 346, 414, 288, 373, 372, 374, 199, 501, 0, 200, - 0, 459, 502, 533, 222, 223, 225, 0, 263, 267, - 275, 277, 283, 284, 291, 339, 388, 412, 410, 416, - 0, 477, 495, 506, 513, 519, 520, 522, 523, 524, - 525, 526, 528, 527, 376, 290, 455, 307, 344, 0, - 0, 394, 433, 228, 499, 456, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 534, 535, 536, - 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, - 547, 548, 549, 550, 551, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 552, 354, 446, 496, 309, - 321, 324, 314, 333, 0, 334, 310, 311, 316, 318, - 319, 320, 325, 326, 330, 336, 236, 202, 360, 368, - 476, 425, 426, 427, 428, 0, 191, 209, 340, 0, - 417, 272, 530, 508, 504, 198, 211, 0, 246, 0, + 0, 0, 0, 0, 0, 0, 280, 0, 372, 241, + 0, 0, 0, 0, 515, 0, 0, 0, 0, 0, + 0, 0, 338, 0, 307, 192, 213, 0, 0, 382, + 425, 435, 0, 0, 0, 239, 0, 433, 396, 498, + 221, 268, 422, 402, 431, 409, 271, 0, 0, 432, + 344, 484, 416, 495, 516, 517, 247, 376, 506, 472, + 512, 530, 214, 244, 390, 465, 501, 455, 368, 480, + 481, 306, 454, 278, 195, 342, 522, 212, 441, 230, + 219, 486, 504, 273, 420, 204, 467, 493, 227, 445, + 0, 0, 532, 206, 491, 464, 364, 303, 304, 205, + 0, 421, 252, 276, 242, 385, 488, 489, 240, 533, + 216, 511, 208, 0, 510, 378, 483, 492, 365, 354, + 207, 490, 363, 353, 309, 328, 329, 264, 287, 414, + 347, 415, 288, 374, 373, 375, 199, 502, 0, 200, + 0, 460, 503, 534, 222, 223, 225, 0, 263, 267, + 275, 277, 283, 284, 292, 340, 389, 413, 411, 417, + 0, 478, 496, 507, 514, 520, 521, 523, 524, 525, + 526, 527, 529, 528, 377, 290, 456, 308, 345, 0, + 0, 395, 434, 228, 500, 457, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, + 548, 549, 550, 551, 552, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 553, 355, 447, 497, 310, 322, + 325, 315, 334, 0, 335, 311, 312, 317, 319, 320, + 321, 326, 327, 331, 337, 236, 202, 361, 369, 477, + 291, 426, 427, 428, 429, 0, 191, 209, 341, 0, + 418, 272, 531, 509, 505, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, 245, 260, 262, - 269, 281, 286, 289, 294, 295, 298, 304, 350, 356, - 357, 358, 359, 378, 379, 380, 383, 386, 387, 390, - 392, 393, 396, 400, 404, 405, 406, 407, 409, 411, - 418, 423, 435, 436, 437, 438, 439, 442, 443, 448, - 449, 450, 451, 452, 460, 461, 465, 484, 486, 498, - 512, 517, 441, 282, 493, 518, 0, 349, 0, 0, - 351, 265, 285, 296, 0, 507, 462, 215, 429, 274, - 203, 234, 218, 243, 258, 261, 300, 361, 369, 398, - 403, 279, 255, 232, 422, 229, 445, 468, 469, 470, - 472, 365, 250, 402, 0, 366, 347, 474, 475, 292, - 473, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 385, 0, 1532, 0, 0, 0, 0, 0, - 0, 254, 0, 0, 0, 0, 338, 251, 0, 0, - 399, 0, 197, 0, 447, 238, 348, 345, 481, 266, - 257, 253, 237, 293, 355, 397, 467, 391, 0, 342, - 0, 0, 457, 370, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, - 235, 301, 196, 382, 458, 270, 0, 0, 0, 0, + 269, 281, 286, 289, 295, 296, 299, 305, 351, 357, + 358, 359, 360, 379, 380, 381, 384, 387, 388, 391, + 393, 394, 397, 401, 405, 406, 407, 408, 410, 412, + 419, 424, 436, 437, 438, 439, 440, 443, 444, 449, + 450, 451, 452, 453, 461, 462, 466, 485, 487, 499, + 513, 518, 442, 282, 494, 519, 0, 350, 0, 0, + 352, 265, 285, 297, 0, 508, 463, 215, 430, 274, + 203, 234, 218, 243, 258, 261, 301, 362, 370, 399, + 404, 279, 255, 232, 423, 229, 446, 469, 470, 471, + 473, 366, 250, 403, 0, 367, 348, 475, 476, 293, + 474, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 386, 0, 1531, 0, 0, 0, 0, 0, + 0, 254, 0, 0, 0, 0, 339, 251, 0, 0, + 400, 0, 197, 0, 448, 238, 349, 346, 482, 266, + 257, 253, 237, 294, 356, 398, 468, 392, 0, 343, + 0, 0, 458, 371, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 300, + 235, 302, 196, 383, 459, 270, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 226, 0, 233, 323, 332, 331, 312, - 313, 315, 317, 322, 329, 335, 0, 0, 0, 0, - 0, 249, 297, 256, 248, 478, 0, 0, 0, 0, + 0, 0, 0, 226, 0, 233, 324, 333, 332, 313, + 314, 316, 318, 323, 330, 336, 0, 0, 0, 0, + 0, 249, 298, 256, 248, 479, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4944,57 +5039,57 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, - 371, 241, 0, 0, 0, 0, 514, 0, 0, 0, - 0, 0, 0, 0, 337, 0, 306, 192, 213, 0, - 0, 381, 424, 434, 0, 0, 0, 239, 0, 432, - 395, 497, 221, 268, 421, 401, 430, 408, 271, 0, - 0, 431, 343, 483, 415, 494, 515, 516, 247, 375, - 505, 471, 511, 529, 214, 244, 389, 464, 500, 454, - 367, 479, 480, 305, 453, 278, 195, 341, 521, 212, - 440, 230, 219, 485, 503, 273, 419, 204, 466, 492, - 227, 444, 0, 0, 531, 206, 490, 463, 363, 302, - 303, 205, 0, 420, 252, 276, 242, 384, 487, 488, - 240, 532, 216, 510, 208, 0, 509, 377, 482, 491, - 364, 353, 207, 489, 362, 352, 308, 327, 328, 264, - 287, 413, 346, 414, 288, 373, 372, 374, 199, 501, - 0, 200, 0, 459, 502, 533, 222, 223, 225, 0, - 263, 267, 275, 277, 283, 284, 291, 339, 388, 412, - 410, 416, 0, 477, 495, 506, 513, 519, 520, 522, - 523, 524, 525, 526, 528, 527, 376, 290, 455, 307, - 344, 0, 0, 394, 433, 228, 499, 456, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 545, 546, 547, 548, 549, 550, 551, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 552, 354, 446, - 496, 309, 321, 324, 314, 333, 0, 334, 310, 311, - 316, 318, 319, 320, 325, 326, 330, 336, 236, 202, - 360, 368, 476, 425, 426, 427, 428, 0, 191, 209, - 340, 0, 417, 272, 530, 508, 504, 198, 211, 0, + 372, 241, 0, 0, 0, 0, 515, 0, 0, 0, + 0, 0, 0, 0, 338, 0, 307, 192, 213, 0, + 0, 382, 425, 435, 0, 0, 0, 239, 0, 433, + 396, 498, 221, 268, 422, 402, 431, 409, 271, 0, + 0, 432, 344, 484, 416, 495, 516, 517, 247, 376, + 506, 472, 512, 530, 214, 244, 390, 465, 501, 455, + 368, 480, 481, 306, 454, 278, 195, 342, 522, 212, + 441, 230, 219, 486, 504, 273, 420, 204, 467, 493, + 227, 445, 0, 0, 532, 206, 491, 464, 364, 303, + 304, 205, 0, 421, 252, 276, 242, 385, 488, 489, + 240, 533, 216, 511, 208, 0, 510, 378, 483, 492, + 365, 354, 207, 490, 363, 353, 309, 328, 329, 264, + 287, 414, 347, 415, 288, 374, 373, 375, 199, 502, + 0, 200, 0, 460, 503, 534, 222, 223, 225, 0, + 263, 267, 275, 277, 283, 284, 292, 340, 389, 413, + 411, 417, 0, 478, 496, 507, 514, 520, 521, 523, + 524, 525, 526, 527, 529, 528, 377, 290, 456, 308, + 345, 0, 0, 395, 434, 228, 500, 457, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, + 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, + 546, 547, 548, 549, 550, 551, 552, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 553, 355, 447, 497, + 310, 322, 325, 315, 334, 0, 335, 311, 312, 317, + 319, 320, 321, 326, 327, 331, 337, 236, 202, 361, + 369, 477, 291, 426, 427, 428, 429, 0, 191, 209, + 341, 0, 418, 272, 531, 509, 505, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, 245, - 260, 262, 269, 281, 286, 289, 294, 295, 298, 304, - 350, 356, 357, 358, 359, 378, 379, 380, 383, 386, - 387, 390, 392, 393, 396, 400, 404, 405, 406, 407, - 409, 411, 418, 423, 435, 436, 437, 438, 439, 442, - 443, 448, 449, 450, 451, 452, 460, 461, 465, 484, - 486, 498, 512, 517, 441, 282, 493, 518, 0, 349, - 0, 0, 351, 265, 285, 296, 0, 507, 462, 215, - 429, 274, 203, 234, 218, 243, 258, 261, 300, 361, - 369, 398, 403, 279, 255, 232, 422, 229, 445, 468, - 469, 470, 472, 365, 250, 402, 0, 366, 347, 474, - 475, 292, 473, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 385, 0, 1530, 0, 0, 0, - 0, 0, 0, 254, 0, 0, 0, 0, 338, 251, - 0, 0, 399, 0, 197, 0, 447, 238, 348, 345, - 481, 266, 257, 253, 237, 293, 355, 397, 467, 391, - 0, 342, 0, 0, 457, 370, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 299, 235, 301, 196, 382, 458, 270, 0, 0, + 260, 262, 269, 281, 286, 289, 295, 296, 299, 305, + 351, 357, 358, 359, 360, 379, 380, 381, 384, 387, + 388, 391, 393, 394, 397, 401, 405, 406, 407, 408, + 410, 412, 419, 424, 436, 437, 438, 439, 440, 443, + 444, 449, 450, 451, 452, 453, 461, 462, 466, 485, + 487, 499, 513, 518, 442, 282, 494, 519, 0, 350, + 0, 0, 352, 265, 285, 297, 0, 508, 463, 215, + 430, 274, 203, 234, 218, 243, 258, 261, 301, 362, + 370, 399, 404, 279, 255, 232, 423, 229, 446, 469, + 470, 471, 473, 366, 250, 403, 0, 367, 348, 475, + 476, 293, 474, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 386, 0, 1529, 0, 0, 0, + 0, 0, 0, 254, 0, 0, 0, 0, 339, 251, + 0, 0, 400, 0, 197, 0, 448, 238, 349, 346, + 482, 266, 257, 253, 237, 294, 356, 398, 468, 392, + 0, 343, 0, 0, 458, 371, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 300, 235, 302, 196, 383, 459, 270, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 226, 0, 233, 323, 332, - 331, 312, 313, 315, 317, 322, 329, 335, 0, 0, - 0, 0, 0, 249, 297, 256, 248, 478, 0, 0, + 0, 0, 0, 0, 0, 226, 0, 233, 324, 333, + 332, 313, 314, 316, 318, 323, 330, 336, 0, 0, + 0, 0, 0, 249, 298, 256, 248, 479, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5005,57 +5100,57 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 280, 0, 371, 241, 0, 0, 0, 0, 514, 0, - 0, 0, 0, 0, 0, 0, 337, 0, 306, 192, - 213, 0, 0, 381, 424, 434, 0, 0, 0, 239, - 0, 432, 395, 497, 221, 268, 421, 401, 430, 408, - 271, 0, 0, 431, 343, 483, 415, 494, 515, 516, - 247, 375, 505, 471, 511, 529, 214, 244, 389, 464, - 500, 454, 367, 479, 480, 305, 453, 278, 195, 341, - 521, 212, 440, 230, 219, 485, 503, 273, 419, 204, - 466, 492, 227, 444, 0, 0, 531, 206, 490, 463, - 363, 302, 303, 205, 0, 420, 252, 276, 242, 384, - 487, 488, 240, 532, 216, 510, 208, 0, 509, 377, - 482, 491, 364, 353, 207, 489, 362, 352, 308, 327, - 328, 264, 287, 413, 346, 414, 288, 373, 372, 374, - 199, 501, 0, 200, 0, 459, 502, 533, 222, 223, - 225, 0, 263, 267, 275, 277, 283, 284, 291, 339, - 388, 412, 410, 416, 0, 477, 495, 506, 513, 519, - 520, 522, 523, 524, 525, 526, 528, 527, 376, 290, - 455, 307, 344, 0, 0, 394, 433, 228, 499, 456, + 280, 0, 372, 241, 0, 0, 0, 0, 515, 0, + 0, 0, 0, 0, 0, 0, 338, 0, 307, 192, + 213, 0, 0, 382, 425, 435, 0, 0, 0, 239, + 0, 433, 396, 498, 221, 268, 422, 402, 431, 409, + 271, 0, 0, 432, 344, 484, 416, 495, 516, 517, + 247, 376, 506, 472, 512, 530, 214, 244, 390, 465, + 501, 455, 368, 480, 481, 306, 454, 278, 195, 342, + 522, 212, 441, 230, 219, 486, 504, 273, 420, 204, + 467, 493, 227, 445, 0, 0, 532, 206, 491, 464, + 364, 303, 304, 205, 0, 421, 252, 276, 242, 385, + 488, 489, 240, 533, 216, 511, 208, 0, 510, 378, + 483, 492, 365, 354, 207, 490, 363, 353, 309, 328, + 329, 264, 287, 414, 347, 415, 288, 374, 373, 375, + 199, 502, 0, 200, 0, 460, 503, 534, 222, 223, + 225, 0, 263, 267, 275, 277, 283, 284, 292, 340, + 389, 413, 411, 417, 0, 478, 496, 507, 514, 520, + 521, 523, 524, 525, 526, 527, 529, 528, 377, 290, + 456, 308, 345, 0, 0, 395, 434, 228, 500, 457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, - 543, 544, 545, 546, 547, 548, 549, 550, 551, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 552, - 354, 446, 496, 309, 321, 324, 314, 333, 0, 334, - 310, 311, 316, 318, 319, 320, 325, 326, 330, 336, - 236, 202, 360, 368, 476, 425, 426, 427, 428, 0, - 191, 209, 340, 0, 417, 272, 530, 508, 504, 198, + 0, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 550, 551, 552, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 553, 355, + 447, 497, 310, 322, 325, 315, 334, 0, 335, 311, + 312, 317, 319, 320, 321, 326, 327, 331, 337, 236, + 202, 361, 369, 477, 291, 426, 427, 428, 429, 0, + 191, 209, 341, 0, 418, 272, 531, 509, 505, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, - 231, 245, 260, 262, 269, 281, 286, 289, 294, 295, - 298, 304, 350, 356, 357, 358, 359, 378, 379, 380, - 383, 386, 387, 390, 392, 393, 396, 400, 404, 405, - 406, 407, 409, 411, 418, 423, 435, 436, 437, 438, - 439, 442, 443, 448, 449, 450, 451, 452, 460, 461, - 465, 484, 486, 498, 512, 517, 441, 282, 493, 518, - 0, 349, 0, 0, 351, 265, 285, 296, 0, 507, - 462, 215, 429, 274, 203, 234, 218, 243, 258, 261, - 300, 361, 369, 398, 403, 279, 255, 232, 422, 229, - 445, 468, 469, 470, 472, 365, 250, 402, 0, 366, - 347, 474, 475, 292, 473, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 385, 0, 1528, 0, + 231, 245, 260, 262, 269, 281, 286, 289, 295, 296, + 299, 305, 351, 357, 358, 359, 360, 379, 380, 381, + 384, 387, 388, 391, 393, 394, 397, 401, 405, 406, + 407, 408, 410, 412, 419, 424, 436, 437, 438, 439, + 440, 443, 444, 449, 450, 451, 452, 453, 461, 462, + 466, 485, 487, 499, 513, 518, 442, 282, 494, 519, + 0, 350, 0, 0, 352, 265, 285, 297, 0, 508, + 463, 215, 430, 274, 203, 234, 218, 243, 258, 261, + 301, 362, 370, 399, 404, 279, 255, 232, 423, 229, + 446, 469, 470, 471, 473, 366, 250, 403, 0, 367, + 348, 475, 476, 293, 474, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 386, 0, 1527, 0, 0, 0, 0, 0, 0, 254, 0, 0, 0, 0, - 338, 251, 0, 0, 399, 0, 197, 0, 447, 238, - 348, 345, 481, 266, 257, 253, 237, 293, 355, 397, - 467, 391, 0, 342, 0, 0, 457, 370, 0, 0, + 339, 251, 0, 0, 400, 0, 197, 0, 448, 238, + 349, 346, 482, 266, 257, 253, 237, 294, 356, 398, + 468, 392, 0, 343, 0, 0, 458, 371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 299, 235, 301, 196, 382, 458, 270, + 0, 0, 0, 300, 235, 302, 196, 383, 459, 270, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, 0, 233, - 323, 332, 331, 312, 313, 315, 317, 322, 329, 335, - 0, 0, 0, 0, 0, 249, 297, 256, 248, 478, + 324, 333, 332, 313, 314, 316, 318, 323, 330, 336, + 0, 0, 0, 0, 0, 249, 298, 256, 248, 479, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, @@ -5066,58 +5161,58 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 280, 0, 371, 241, 0, 0, 0, 0, - 514, 0, 0, 0, 0, 0, 0, 0, 337, 0, - 306, 192, 213, 0, 0, 381, 424, 434, 0, 0, - 0, 239, 0, 432, 395, 497, 221, 268, 421, 401, - 430, 408, 271, 0, 0, 431, 343, 483, 415, 494, - 515, 516, 247, 375, 505, 471, 511, 529, 214, 244, - 389, 464, 500, 454, 367, 479, 480, 305, 453, 278, - 195, 341, 521, 212, 440, 230, 219, 485, 503, 273, - 419, 204, 466, 492, 227, 444, 0, 0, 531, 206, - 490, 463, 363, 302, 303, 205, 0, 420, 252, 276, - 242, 384, 487, 488, 240, 532, 216, 510, 208, 0, - 509, 377, 482, 491, 364, 353, 207, 489, 362, 352, - 308, 327, 328, 264, 287, 413, 346, 414, 288, 373, - 372, 374, 199, 501, 0, 200, 0, 459, 502, 533, + 0, 0, 280, 0, 372, 241, 0, 0, 0, 0, + 515, 0, 0, 0, 0, 0, 0, 0, 338, 0, + 307, 192, 213, 0, 0, 382, 425, 435, 0, 0, + 0, 239, 0, 433, 396, 498, 221, 268, 422, 402, + 431, 409, 271, 0, 0, 432, 344, 484, 416, 495, + 516, 517, 247, 376, 506, 472, 512, 530, 214, 244, + 390, 465, 501, 455, 368, 480, 481, 306, 454, 278, + 195, 342, 522, 212, 441, 230, 219, 486, 504, 273, + 420, 204, 467, 493, 227, 445, 0, 0, 532, 206, + 491, 464, 364, 303, 304, 205, 0, 421, 252, 276, + 242, 385, 488, 489, 240, 533, 216, 511, 208, 0, + 510, 378, 483, 492, 365, 354, 207, 490, 363, 353, + 309, 328, 329, 264, 287, 414, 347, 415, 288, 374, + 373, 375, 199, 502, 0, 200, 0, 460, 503, 534, 222, 223, 225, 0, 263, 267, 275, 277, 283, 284, - 291, 339, 388, 412, 410, 416, 0, 477, 495, 506, - 513, 519, 520, 522, 523, 524, 525, 526, 528, 527, - 376, 290, 455, 307, 344, 0, 0, 394, 433, 228, - 499, 456, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 534, 535, 536, 537, 538, 539, 540, - 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, - 551, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 552, 354, 446, 496, 309, 321, 324, 314, 333, - 0, 334, 310, 311, 316, 318, 319, 320, 325, 326, - 330, 336, 236, 202, 360, 368, 476, 425, 426, 427, - 428, 0, 191, 209, 340, 0, 417, 272, 530, 508, - 504, 198, 211, 0, 246, 0, 0, 0, 0, 0, + 292, 340, 389, 413, 411, 417, 0, 478, 496, 507, + 514, 520, 521, 523, 524, 525, 526, 527, 529, 528, + 377, 290, 456, 308, 345, 0, 0, 395, 434, 228, + 500, 457, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 535, 536, 537, 538, 539, 540, 541, + 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, + 552, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 553, 355, 447, 497, 310, 322, 325, 315, 334, 0, + 335, 311, 312, 317, 319, 320, 321, 326, 327, 331, + 337, 236, 202, 361, 369, 477, 291, 426, 427, 428, + 429, 0, 191, 209, 341, 0, 418, 272, 531, 509, + 505, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, 245, 260, 262, 269, 281, 286, 289, - 294, 295, 298, 304, 350, 356, 357, 358, 359, 378, - 379, 380, 383, 386, 387, 390, 392, 393, 396, 400, - 404, 405, 406, 407, 409, 411, 418, 423, 435, 436, - 437, 438, 439, 442, 443, 448, 449, 450, 451, 452, - 460, 461, 465, 484, 486, 498, 512, 517, 441, 282, - 493, 518, 0, 349, 0, 0, 351, 265, 285, 296, - 0, 507, 462, 215, 429, 274, 203, 234, 218, 243, - 258, 261, 300, 361, 369, 398, 403, 279, 255, 232, - 422, 229, 445, 468, 469, 470, 472, 365, 250, 402, - 0, 366, 347, 474, 475, 292, 473, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 385, 0, - 1526, 0, 0, 0, 0, 0, 0, 254, 0, 0, - 0, 0, 338, 251, 0, 0, 399, 0, 197, 0, - 447, 238, 348, 345, 481, 266, 257, 253, 237, 293, - 355, 397, 467, 391, 0, 342, 0, 0, 457, 370, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 299, 235, 301, 196, 382, - 458, 270, 0, 0, 0, 0, 188, 189, 190, 0, + 295, 296, 299, 305, 351, 357, 358, 359, 360, 379, + 380, 381, 384, 387, 388, 391, 393, 394, 397, 401, + 405, 406, 407, 408, 410, 412, 419, 424, 436, 437, + 438, 439, 440, 443, 444, 449, 450, 451, 452, 453, + 461, 462, 466, 485, 487, 499, 513, 518, 442, 282, + 494, 519, 0, 350, 0, 0, 352, 265, 285, 297, + 0, 508, 463, 215, 430, 274, 203, 234, 218, 243, + 258, 261, 301, 362, 370, 399, 404, 279, 255, 232, + 423, 229, 446, 469, 470, 471, 473, 366, 250, 403, + 0, 367, 348, 475, 476, 293, 474, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 386, 0, + 1523, 0, 0, 0, 0, 0, 0, 254, 0, 0, + 0, 0, 339, 251, 0, 0, 400, 0, 197, 0, + 448, 238, 349, 346, 482, 266, 257, 253, 237, 294, + 356, 398, 468, 392, 0, 343, 0, 0, 458, 371, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 300, 235, 302, 196, 383, + 459, 270, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, - 0, 233, 323, 332, 331, 312, 313, 315, 317, 322, - 329, 335, 0, 0, 0, 0, 0, 249, 297, 256, - 248, 478, 0, 0, 0, 0, 0, 0, 0, 217, + 0, 233, 324, 333, 332, 313, 314, 316, 318, 323, + 330, 336, 0, 0, 0, 0, 0, 249, 298, 256, + 248, 479, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5127,58 +5222,58 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 280, 0, 371, 241, 0, 0, - 0, 0, 514, 0, 0, 0, 0, 0, 0, 0, - 337, 0, 306, 192, 213, 0, 0, 381, 424, 434, - 0, 0, 0, 239, 0, 432, 395, 497, 221, 268, - 421, 401, 430, 408, 271, 0, 0, 431, 343, 483, - 415, 494, 515, 516, 247, 375, 505, 471, 511, 529, - 214, 244, 389, 464, 500, 454, 367, 479, 480, 305, - 453, 278, 195, 341, 521, 212, 440, 230, 219, 485, - 503, 273, 419, 204, 466, 492, 227, 444, 0, 0, - 531, 206, 490, 463, 363, 302, 303, 205, 0, 420, - 252, 276, 242, 384, 487, 488, 240, 532, 216, 510, - 208, 0, 509, 377, 482, 491, 364, 353, 207, 489, - 362, 352, 308, 327, 328, 264, 287, 413, 346, 414, - 288, 373, 372, 374, 199, 501, 0, 200, 0, 459, - 502, 533, 222, 223, 225, 0, 263, 267, 275, 277, - 283, 284, 291, 339, 388, 412, 410, 416, 0, 477, - 495, 506, 513, 519, 520, 522, 523, 524, 525, 526, - 528, 527, 376, 290, 455, 307, 344, 0, 0, 394, - 433, 228, 499, 456, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 534, 535, 536, 537, 538, - 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, - 549, 550, 551, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 552, 354, 446, 496, 309, 321, 324, - 314, 333, 0, 334, 310, 311, 316, 318, 319, 320, - 325, 326, 330, 336, 236, 202, 360, 368, 476, 425, - 426, 427, 428, 0, 191, 209, 340, 0, 417, 272, - 530, 508, 504, 198, 211, 0, 246, 0, 0, 0, + 0, 0, 0, 0, 280, 0, 372, 241, 0, 0, + 0, 0, 515, 0, 0, 0, 0, 0, 0, 0, + 338, 0, 307, 192, 213, 0, 0, 382, 425, 435, + 0, 0, 0, 239, 0, 433, 396, 498, 221, 268, + 422, 402, 431, 409, 271, 0, 0, 432, 344, 484, + 416, 495, 516, 517, 247, 376, 506, 472, 512, 530, + 214, 244, 390, 465, 501, 455, 368, 480, 481, 306, + 454, 278, 195, 342, 522, 212, 441, 230, 219, 486, + 504, 273, 420, 204, 467, 493, 227, 445, 0, 0, + 532, 206, 491, 464, 364, 303, 304, 205, 0, 421, + 252, 276, 242, 385, 488, 489, 240, 533, 216, 511, + 208, 0, 510, 378, 483, 492, 365, 354, 207, 490, + 363, 353, 309, 328, 329, 264, 287, 414, 347, 415, + 288, 374, 373, 375, 199, 502, 0, 200, 0, 460, + 503, 534, 222, 223, 225, 0, 263, 267, 275, 277, + 283, 284, 292, 340, 389, 413, 411, 417, 0, 478, + 496, 507, 514, 520, 521, 523, 524, 525, 526, 527, + 529, 528, 377, 290, 456, 308, 345, 0, 0, 395, + 434, 228, 500, 457, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, + 550, 551, 552, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 553, 355, 447, 497, 310, 322, 325, 315, + 334, 0, 335, 311, 312, 317, 319, 320, 321, 326, + 327, 331, 337, 236, 202, 361, 369, 477, 291, 426, + 427, 428, 429, 0, 191, 209, 341, 0, 418, 272, + 531, 509, 505, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, 245, 260, 262, 269, 281, - 286, 289, 294, 295, 298, 304, 350, 356, 357, 358, - 359, 378, 379, 380, 383, 386, 387, 390, 392, 393, - 396, 400, 404, 405, 406, 407, 409, 411, 418, 423, - 435, 436, 437, 438, 439, 442, 443, 448, 449, 450, - 451, 452, 460, 461, 465, 484, 486, 498, 512, 517, - 441, 282, 493, 518, 0, 349, 0, 0, 351, 265, - 285, 296, 0, 507, 462, 215, 429, 274, 203, 234, - 218, 243, 258, 261, 300, 361, 369, 398, 403, 279, - 255, 232, 422, 229, 445, 468, 469, 470, 472, 365, - 250, 402, 0, 366, 347, 474, 475, 292, 473, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 385, 0, 1522, 0, 0, 0, 0, 0, 0, 254, - 0, 0, 0, 0, 338, 251, 0, 0, 399, 0, - 197, 0, 447, 238, 348, 345, 481, 266, 257, 253, - 237, 293, 355, 397, 467, 391, 0, 342, 0, 0, - 457, 370, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 299, 235, 301, - 196, 382, 458, 270, 0, 0, 0, 0, 188, 189, + 286, 289, 295, 296, 299, 305, 351, 357, 358, 359, + 360, 379, 380, 381, 384, 387, 388, 391, 393, 394, + 397, 401, 405, 406, 407, 408, 410, 412, 419, 424, + 436, 437, 438, 439, 440, 443, 444, 449, 450, 451, + 452, 453, 461, 462, 466, 485, 487, 499, 513, 518, + 442, 282, 494, 519, 0, 350, 0, 0, 352, 265, + 285, 297, 0, 508, 463, 215, 430, 274, 203, 234, + 218, 243, 258, 261, 301, 362, 370, 399, 404, 279, + 255, 232, 423, 229, 446, 469, 470, 471, 473, 366, + 250, 403, 0, 367, 348, 475, 476, 293, 474, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 386, 0, 1521, 0, 0, 0, 0, 0, 0, 254, + 0, 0, 0, 0, 339, 251, 0, 0, 400, 0, + 197, 0, 448, 238, 349, 346, 482, 266, 257, 253, + 237, 294, 356, 398, 468, 392, 0, 343, 0, 0, + 458, 371, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 300, 235, 302, + 196, 383, 459, 270, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 226, 0, 233, 323, 332, 331, 312, 313, 315, - 317, 322, 329, 335, 0, 0, 0, 0, 0, 249, - 297, 256, 248, 478, 0, 0, 0, 0, 0, 0, + 0, 226, 0, 233, 324, 333, 332, 313, 314, 316, + 318, 323, 330, 336, 0, 0, 0, 0, 0, 249, + 298, 256, 248, 479, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5188,58 +5283,58 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 280, 0, 371, 241, - 0, 0, 0, 0, 514, 0, 0, 0, 0, 0, - 0, 0, 337, 0, 306, 192, 213, 0, 0, 381, - 424, 434, 0, 0, 0, 239, 0, 432, 395, 497, - 221, 268, 421, 401, 430, 408, 271, 0, 0, 431, - 343, 483, 415, 494, 515, 516, 247, 375, 505, 471, - 511, 529, 214, 244, 389, 464, 500, 454, 367, 479, - 480, 305, 453, 278, 195, 341, 521, 212, 440, 230, - 219, 485, 503, 273, 419, 204, 466, 492, 227, 444, - 0, 0, 531, 206, 490, 463, 363, 302, 303, 205, - 0, 420, 252, 276, 242, 384, 487, 488, 240, 532, - 216, 510, 208, 0, 509, 377, 482, 491, 364, 353, - 207, 489, 362, 352, 308, 327, 328, 264, 287, 413, - 346, 414, 288, 373, 372, 374, 199, 501, 0, 200, - 0, 459, 502, 533, 222, 223, 225, 0, 263, 267, - 275, 277, 283, 284, 291, 339, 388, 412, 410, 416, - 0, 477, 495, 506, 513, 519, 520, 522, 523, 524, - 525, 526, 528, 527, 376, 290, 455, 307, 344, 0, - 0, 394, 433, 228, 499, 456, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 534, 535, 536, - 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, - 547, 548, 549, 550, 551, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 552, 354, 446, 496, 309, - 321, 324, 314, 333, 0, 334, 310, 311, 316, 318, - 319, 320, 325, 326, 330, 336, 236, 202, 360, 368, - 476, 425, 426, 427, 428, 0, 191, 209, 340, 0, - 417, 272, 530, 508, 504, 198, 211, 0, 246, 0, + 0, 0, 0, 0, 0, 0, 280, 0, 372, 241, + 0, 0, 0, 0, 515, 0, 0, 0, 0, 0, + 0, 0, 338, 0, 307, 192, 213, 0, 0, 382, + 425, 435, 0, 0, 0, 239, 0, 433, 396, 498, + 221, 268, 422, 402, 431, 409, 271, 0, 0, 432, + 344, 484, 416, 495, 516, 517, 247, 376, 506, 472, + 512, 530, 214, 244, 390, 465, 501, 455, 368, 480, + 481, 306, 454, 278, 195, 342, 522, 212, 441, 230, + 219, 486, 504, 273, 420, 204, 467, 493, 227, 445, + 0, 0, 532, 206, 491, 464, 364, 303, 304, 205, + 0, 421, 252, 276, 242, 385, 488, 489, 240, 533, + 216, 511, 208, 0, 510, 378, 483, 492, 365, 354, + 207, 490, 363, 353, 309, 328, 329, 264, 287, 414, + 347, 415, 288, 374, 373, 375, 199, 502, 0, 200, + 0, 460, 503, 534, 222, 223, 225, 0, 263, 267, + 275, 277, 283, 284, 292, 340, 389, 413, 411, 417, + 0, 478, 496, 507, 514, 520, 521, 523, 524, 525, + 526, 527, 529, 528, 377, 290, 456, 308, 345, 0, + 0, 395, 434, 228, 500, 457, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, + 548, 549, 550, 551, 552, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 553, 355, 447, 497, 310, 322, + 325, 315, 334, 0, 335, 311, 312, 317, 319, 320, + 321, 326, 327, 331, 337, 236, 202, 361, 369, 477, + 291, 426, 427, 428, 429, 0, 191, 209, 341, 0, + 418, 272, 531, 509, 505, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, 245, 260, 262, - 269, 281, 286, 289, 294, 295, 298, 304, 350, 356, - 357, 358, 359, 378, 379, 380, 383, 386, 387, 390, - 392, 393, 396, 400, 404, 405, 406, 407, 409, 411, - 418, 423, 435, 436, 437, 438, 439, 442, 443, 448, - 449, 450, 451, 452, 460, 461, 465, 484, 486, 498, - 512, 517, 441, 282, 493, 518, 0, 349, 0, 0, - 351, 265, 285, 296, 0, 507, 462, 215, 429, 274, - 203, 234, 218, 243, 258, 261, 300, 361, 369, 398, - 403, 279, 255, 232, 422, 229, 445, 468, 469, 470, - 472, 365, 250, 402, 0, 366, 347, 474, 475, 292, - 473, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 385, 0, 1520, 0, 0, 0, 0, 0, - 0, 254, 0, 0, 0, 0, 338, 251, 0, 0, - 399, 0, 197, 0, 447, 238, 348, 345, 481, 266, - 257, 253, 237, 293, 355, 397, 467, 391, 0, 342, - 0, 0, 457, 370, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, - 235, 301, 196, 382, 458, 270, 0, 0, 0, 0, + 269, 281, 286, 289, 295, 296, 299, 305, 351, 357, + 358, 359, 360, 379, 380, 381, 384, 387, 388, 391, + 393, 394, 397, 401, 405, 406, 407, 408, 410, 412, + 419, 424, 436, 437, 438, 439, 440, 443, 444, 449, + 450, 451, 452, 453, 461, 462, 466, 485, 487, 499, + 513, 518, 442, 282, 494, 519, 0, 350, 0, 0, + 352, 265, 285, 297, 0, 508, 463, 215, 430, 274, + 203, 234, 218, 243, 258, 261, 301, 362, 370, 399, + 404, 279, 255, 232, 423, 229, 446, 469, 470, 471, + 473, 366, 250, 403, 0, 367, 348, 475, 476, 293, + 474, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 386, 0, 1519, 0, 0, 0, 0, 0, + 0, 254, 0, 0, 0, 0, 339, 251, 0, 0, + 400, 0, 197, 0, 448, 238, 349, 346, 482, 266, + 257, 253, 237, 294, 356, 398, 468, 392, 0, 343, + 0, 0, 458, 371, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 300, + 235, 302, 196, 383, 459, 270, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 226, 0, 233, 323, 332, 331, 312, - 313, 315, 317, 322, 329, 335, 0, 0, 0, 0, - 0, 249, 297, 256, 248, 478, 0, 0, 0, 0, + 0, 0, 0, 226, 0, 233, 324, 333, 332, 313, + 314, 316, 318, 323, 330, 336, 0, 0, 0, 0, + 0, 249, 298, 256, 248, 479, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5250,57 +5345,57 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, - 371, 241, 0, 0, 0, 0, 514, 0, 0, 0, - 0, 0, 0, 0, 337, 0, 306, 192, 213, 0, - 0, 381, 424, 434, 0, 0, 0, 239, 0, 432, - 395, 497, 221, 268, 421, 401, 430, 408, 271, 0, - 0, 431, 343, 483, 415, 494, 515, 516, 247, 375, - 505, 471, 511, 529, 214, 244, 389, 464, 500, 454, - 367, 479, 480, 305, 453, 278, 195, 341, 521, 212, - 440, 230, 219, 485, 503, 273, 419, 204, 466, 492, - 227, 444, 0, 0, 531, 206, 490, 463, 363, 302, - 303, 205, 0, 420, 252, 276, 242, 384, 487, 488, - 240, 532, 216, 510, 208, 0, 509, 377, 482, 491, - 364, 353, 207, 489, 362, 352, 308, 327, 328, 264, - 287, 413, 346, 414, 288, 373, 372, 374, 199, 501, - 0, 200, 0, 459, 502, 533, 222, 223, 225, 0, - 263, 267, 275, 277, 283, 284, 291, 339, 388, 412, - 410, 416, 0, 477, 495, 506, 513, 519, 520, 522, - 523, 524, 525, 526, 528, 527, 376, 290, 455, 307, - 344, 0, 0, 394, 433, 228, 499, 456, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 545, 546, 547, 548, 549, 550, 551, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 552, 354, 446, - 496, 309, 321, 324, 314, 333, 0, 334, 310, 311, - 316, 318, 319, 320, 325, 326, 330, 336, 236, 202, - 360, 368, 476, 425, 426, 427, 428, 0, 191, 209, - 340, 0, 417, 272, 530, 508, 504, 198, 211, 0, + 372, 241, 0, 0, 0, 0, 515, 0, 0, 0, + 0, 0, 0, 0, 338, 0, 307, 192, 213, 0, + 0, 382, 425, 435, 0, 0, 0, 239, 0, 433, + 396, 498, 221, 268, 422, 402, 431, 409, 271, 0, + 0, 432, 344, 484, 416, 495, 516, 517, 247, 376, + 506, 472, 512, 530, 214, 244, 390, 465, 501, 455, + 368, 480, 481, 306, 454, 278, 195, 342, 522, 212, + 441, 230, 219, 486, 504, 273, 420, 204, 467, 493, + 227, 445, 0, 0, 532, 206, 491, 464, 364, 303, + 304, 205, 0, 421, 252, 276, 242, 385, 488, 489, + 240, 533, 216, 511, 208, 0, 510, 378, 483, 492, + 365, 354, 207, 490, 363, 353, 309, 328, 329, 264, + 287, 414, 347, 415, 288, 374, 373, 375, 199, 502, + 0, 200, 0, 460, 503, 534, 222, 223, 225, 0, + 263, 267, 275, 277, 283, 284, 292, 340, 389, 413, + 411, 417, 0, 478, 496, 507, 514, 520, 521, 523, + 524, 525, 526, 527, 529, 528, 377, 290, 456, 308, + 345, 0, 0, 395, 434, 228, 500, 457, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, + 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, + 546, 547, 548, 549, 550, 551, 552, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 553, 355, 447, 497, + 310, 322, 325, 315, 334, 0, 335, 311, 312, 317, + 319, 320, 321, 326, 327, 331, 337, 236, 202, 361, + 369, 477, 291, 426, 427, 428, 429, 0, 191, 209, + 341, 0, 418, 272, 531, 509, 505, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, 245, - 260, 262, 269, 281, 286, 289, 294, 295, 298, 304, - 350, 356, 357, 358, 359, 378, 379, 380, 383, 386, - 387, 390, 392, 393, 396, 400, 404, 405, 406, 407, - 409, 411, 418, 423, 435, 436, 437, 438, 439, 442, - 443, 448, 449, 450, 451, 452, 460, 461, 465, 484, - 486, 498, 512, 517, 441, 282, 493, 518, 0, 349, - 0, 0, 351, 265, 285, 296, 0, 507, 462, 215, - 429, 274, 203, 234, 218, 243, 258, 261, 300, 361, - 369, 398, 403, 279, 255, 232, 422, 229, 445, 468, - 469, 470, 472, 365, 250, 402, 0, 366, 347, 474, - 475, 292, 473, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 385, 0, 1518, 0, 0, 0, - 0, 0, 0, 254, 0, 0, 0, 0, 338, 251, - 0, 0, 399, 0, 197, 0, 447, 238, 348, 345, - 481, 266, 257, 253, 237, 293, 355, 397, 467, 391, - 0, 342, 0, 0, 457, 370, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 299, 235, 301, 196, 382, 458, 270, 0, 0, + 260, 262, 269, 281, 286, 289, 295, 296, 299, 305, + 351, 357, 358, 359, 360, 379, 380, 381, 384, 387, + 388, 391, 393, 394, 397, 401, 405, 406, 407, 408, + 410, 412, 419, 424, 436, 437, 438, 439, 440, 443, + 444, 449, 450, 451, 452, 453, 461, 462, 466, 485, + 487, 499, 513, 518, 442, 282, 494, 519, 0, 350, + 0, 0, 352, 265, 285, 297, 0, 508, 463, 215, + 430, 274, 203, 234, 218, 243, 258, 261, 301, 362, + 370, 399, 404, 279, 255, 232, 423, 229, 446, 469, + 470, 471, 473, 366, 250, 403, 0, 367, 348, 475, + 476, 293, 474, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 386, 0, 0, 0, 0, 0, + 0, 0, 0, 254, 0, 0, 0, 0, 339, 251, + 0, 0, 400, 0, 197, 0, 448, 238, 349, 346, + 482, 266, 257, 253, 237, 294, 356, 398, 468, 392, + 0, 343, 0, 0, 458, 371, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 300, 235, 302, 196, 383, 459, 270, 0, 1494, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 226, 0, 233, 323, 332, - 331, 312, 313, 315, 317, 322, 329, 335, 0, 0, - 0, 0, 0, 249, 297, 256, 248, 478, 0, 0, + 0, 0, 0, 0, 0, 226, 0, 233, 324, 333, + 332, 313, 314, 316, 318, 323, 330, 336, 0, 0, + 0, 0, 0, 249, 298, 256, 248, 479, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5311,57 +5406,57 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 280, 0, 371, 241, 0, 0, 0, 0, 514, 0, - 0, 0, 0, 0, 0, 0, 337, 0, 306, 192, - 213, 0, 0, 381, 424, 434, 0, 0, 0, 239, - 0, 432, 395, 497, 221, 268, 421, 401, 430, 408, - 271, 0, 0, 431, 343, 483, 415, 494, 515, 516, - 247, 375, 505, 471, 511, 529, 214, 244, 389, 464, - 500, 454, 367, 479, 480, 305, 453, 278, 195, 341, - 521, 212, 440, 230, 219, 485, 503, 273, 419, 204, - 466, 492, 227, 444, 0, 0, 531, 206, 490, 463, - 363, 302, 303, 205, 0, 420, 252, 276, 242, 384, - 487, 488, 240, 532, 216, 510, 208, 0, 509, 377, - 482, 491, 364, 353, 207, 489, 362, 352, 308, 327, - 328, 264, 287, 413, 346, 414, 288, 373, 372, 374, - 199, 501, 0, 200, 0, 459, 502, 533, 222, 223, - 225, 0, 263, 267, 275, 277, 283, 284, 291, 339, - 388, 412, 410, 416, 0, 477, 495, 506, 513, 519, - 520, 522, 523, 524, 525, 526, 528, 527, 376, 290, - 455, 307, 344, 0, 0, 394, 433, 228, 499, 456, + 280, 0, 372, 241, 0, 0, 0, 0, 515, 0, + 0, 0, 0, 0, 0, 0, 338, 0, 307, 192, + 213, 0, 0, 382, 425, 435, 0, 0, 0, 239, + 0, 433, 396, 498, 221, 268, 422, 402, 431, 409, + 271, 0, 0, 432, 344, 484, 416, 495, 516, 517, + 247, 376, 506, 472, 512, 530, 214, 244, 390, 465, + 501, 455, 368, 480, 481, 306, 454, 278, 195, 342, + 522, 212, 441, 230, 219, 486, 504, 273, 420, 204, + 467, 493, 227, 445, 0, 0, 532, 206, 491, 464, + 364, 303, 304, 205, 0, 421, 252, 276, 242, 385, + 488, 489, 240, 533, 216, 511, 208, 0, 510, 378, + 483, 492, 365, 354, 207, 490, 363, 353, 309, 328, + 329, 264, 287, 414, 347, 415, 288, 374, 373, 375, + 199, 502, 0, 200, 0, 460, 503, 534, 222, 223, + 225, 0, 263, 267, 275, 277, 283, 284, 292, 340, + 389, 413, 411, 417, 0, 478, 496, 507, 514, 520, + 521, 523, 524, 525, 526, 527, 529, 528, 377, 290, + 456, 308, 345, 0, 0, 395, 434, 228, 500, 457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, - 543, 544, 545, 546, 547, 548, 549, 550, 551, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 552, - 354, 446, 496, 309, 321, 324, 314, 333, 0, 334, - 310, 311, 316, 318, 319, 320, 325, 326, 330, 336, - 236, 202, 360, 368, 476, 425, 426, 427, 428, 0, - 191, 209, 340, 0, 417, 272, 530, 508, 504, 198, + 0, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 550, 551, 552, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 553, 355, + 447, 497, 310, 322, 325, 315, 334, 0, 335, 311, + 312, 317, 319, 320, 321, 326, 327, 331, 337, 236, + 202, 361, 369, 477, 291, 426, 427, 428, 429, 0, + 191, 209, 341, 0, 418, 272, 531, 509, 505, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, - 231, 245, 260, 262, 269, 281, 286, 289, 294, 295, - 298, 304, 350, 356, 357, 358, 359, 378, 379, 380, - 383, 386, 387, 390, 392, 393, 396, 400, 404, 405, - 406, 407, 409, 411, 418, 423, 435, 436, 437, 438, - 439, 442, 443, 448, 449, 450, 451, 452, 460, 461, - 465, 484, 486, 498, 512, 517, 441, 282, 493, 518, - 0, 349, 0, 0, 351, 265, 285, 296, 0, 507, - 462, 215, 429, 274, 203, 234, 218, 243, 258, 261, - 300, 361, 369, 398, 403, 279, 255, 232, 422, 229, - 445, 468, 469, 470, 472, 365, 250, 402, 0, 366, - 347, 474, 475, 292, 473, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 385, 0, 0, 0, - 0, 0, 0, 0, 0, 254, 0, 0, 0, 0, - 338, 251, 0, 0, 399, 0, 197, 0, 447, 238, - 348, 345, 481, 266, 257, 253, 237, 293, 355, 397, - 467, 391, 0, 342, 0, 0, 457, 370, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 299, 235, 301, 196, 382, 458, 270, - 0, 1493, 0, 0, 188, 189, 190, 0, 0, 0, + 231, 245, 260, 262, 269, 281, 286, 289, 295, 296, + 299, 305, 351, 357, 358, 359, 360, 379, 380, 381, + 384, 387, 388, 391, 393, 394, 397, 401, 405, 406, + 407, 408, 410, 412, 419, 424, 436, 437, 438, 439, + 440, 443, 444, 449, 450, 451, 452, 453, 461, 462, + 466, 485, 487, 499, 513, 518, 442, 282, 494, 519, + 0, 350, 0, 0, 352, 265, 285, 297, 0, 508, + 463, 215, 430, 274, 203, 234, 218, 243, 258, 261, + 301, 362, 370, 399, 404, 279, 255, 232, 423, 229, + 446, 469, 470, 471, 473, 366, 250, 403, 0, 367, + 348, 475, 476, 293, 474, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 386, 0, 0, 0, + 0, 0, 0, 0, 1394, 254, 0, 0, 0, 0, + 339, 251, 0, 0, 400, 0, 197, 0, 448, 238, + 349, 346, 482, 266, 257, 253, 237, 294, 356, 398, + 468, 392, 0, 343, 0, 0, 458, 371, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 300, 235, 302, 196, 383, 459, 270, + 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, 0, 233, - 323, 332, 331, 312, 313, 315, 317, 322, 329, 335, - 0, 0, 0, 0, 0, 249, 297, 256, 248, 478, + 324, 333, 332, 313, 314, 316, 318, 323, 330, 336, + 0, 0, 0, 0, 0, 249, 298, 256, 248, 479, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, @@ -5372,58 +5467,58 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 280, 0, 371, 241, 0, 0, 0, 0, - 514, 0, 0, 0, 0, 0, 0, 0, 337, 0, - 306, 192, 213, 0, 0, 381, 424, 434, 0, 0, - 0, 239, 0, 432, 395, 497, 221, 268, 421, 401, - 430, 408, 271, 0, 0, 431, 343, 483, 415, 494, - 515, 516, 247, 375, 505, 471, 511, 529, 214, 244, - 389, 464, 500, 454, 367, 479, 480, 305, 453, 278, - 195, 341, 521, 212, 440, 230, 219, 485, 503, 273, - 419, 204, 466, 492, 227, 444, 0, 0, 531, 206, - 490, 463, 363, 302, 303, 205, 0, 420, 252, 276, - 242, 384, 487, 488, 240, 532, 216, 510, 208, 0, - 509, 377, 482, 491, 364, 353, 207, 489, 362, 352, - 308, 327, 328, 264, 287, 413, 346, 414, 288, 373, - 372, 374, 199, 501, 0, 200, 0, 459, 502, 533, + 0, 0, 280, 0, 372, 241, 0, 0, 0, 0, + 515, 0, 0, 0, 0, 0, 0, 0, 338, 0, + 307, 192, 213, 0, 0, 382, 425, 435, 0, 0, + 0, 239, 0, 433, 396, 498, 221, 268, 422, 402, + 431, 409, 271, 0, 0, 432, 344, 484, 416, 495, + 516, 517, 247, 376, 506, 472, 512, 530, 214, 244, + 390, 465, 501, 455, 368, 480, 481, 306, 454, 278, + 195, 342, 522, 212, 441, 230, 219, 486, 504, 273, + 420, 204, 467, 493, 227, 445, 0, 0, 532, 206, + 491, 464, 364, 303, 304, 205, 0, 421, 252, 276, + 242, 385, 488, 489, 240, 533, 216, 511, 208, 0, + 510, 378, 483, 492, 365, 354, 207, 490, 363, 353, + 309, 328, 329, 264, 287, 414, 347, 415, 288, 374, + 373, 375, 199, 502, 0, 200, 0, 460, 503, 534, 222, 223, 225, 0, 263, 267, 275, 277, 283, 284, - 291, 339, 388, 412, 410, 416, 0, 477, 495, 506, - 513, 519, 520, 522, 523, 524, 525, 526, 528, 527, - 376, 290, 455, 307, 344, 0, 0, 394, 433, 228, - 499, 456, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 534, 535, 536, 537, 538, 539, 540, - 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, - 551, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 552, 354, 446, 496, 309, 321, 324, 314, 333, - 0, 334, 310, 311, 316, 318, 319, 320, 325, 326, - 330, 336, 236, 202, 360, 368, 476, 425, 426, 427, - 428, 0, 191, 209, 340, 0, 417, 272, 530, 508, - 504, 198, 211, 0, 246, 0, 0, 0, 0, 0, + 292, 340, 389, 413, 411, 417, 0, 478, 496, 507, + 514, 520, 521, 523, 524, 525, 526, 527, 529, 528, + 377, 290, 456, 308, 345, 0, 0, 395, 434, 228, + 500, 457, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 535, 536, 537, 538, 539, 540, 541, + 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, + 552, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 553, 355, 447, 497, 310, 322, 325, 315, 334, 0, + 335, 311, 312, 317, 319, 320, 321, 326, 327, 331, + 337, 236, 202, 361, 369, 477, 291, 426, 427, 428, + 429, 0, 191, 209, 341, 0, 418, 272, 531, 509, + 505, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, 245, 260, 262, 269, 281, 286, 289, - 294, 295, 298, 304, 350, 356, 357, 358, 359, 378, - 379, 380, 383, 386, 387, 390, 392, 393, 396, 400, - 404, 405, 406, 407, 409, 411, 418, 423, 435, 436, - 437, 438, 439, 442, 443, 448, 449, 450, 451, 452, - 460, 461, 465, 484, 486, 498, 512, 517, 441, 282, - 493, 518, 0, 349, 0, 0, 351, 265, 285, 296, - 0, 507, 462, 215, 429, 274, 203, 234, 218, 243, - 258, 261, 300, 361, 369, 398, 403, 279, 255, 232, - 422, 229, 445, 468, 469, 470, 472, 365, 250, 402, - 0, 366, 347, 474, 475, 292, 473, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 385, 0, - 0, 0, 0, 0, 0, 0, 1393, 254, 0, 0, - 0, 0, 338, 251, 0, 0, 399, 0, 197, 0, - 447, 238, 348, 345, 481, 266, 257, 253, 237, 293, - 355, 397, 467, 391, 0, 342, 0, 0, 457, 370, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 299, 235, 301, 196, 382, - 458, 270, 0, 0, 0, 0, 188, 189, 190, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, - 0, 233, 323, 332, 331, 312, 313, 315, 317, 322, - 329, 335, 0, 0, 0, 0, 0, 249, 297, 256, - 248, 478, 0, 0, 0, 0, 0, 0, 0, 217, + 295, 296, 299, 305, 351, 357, 358, 359, 360, 379, + 380, 381, 384, 387, 388, 391, 393, 394, 397, 401, + 405, 406, 407, 408, 410, 412, 419, 424, 436, 437, + 438, 439, 440, 443, 444, 449, 450, 451, 452, 453, + 461, 462, 466, 485, 487, 499, 513, 518, 442, 282, + 494, 519, 0, 350, 0, 0, 352, 265, 285, 297, + 0, 508, 463, 215, 430, 274, 203, 234, 218, 243, + 258, 261, 301, 362, 370, 399, 404, 279, 255, 232, + 423, 229, 446, 469, 470, 471, 473, 366, 250, 403, + 0, 367, 348, 475, 476, 293, 474, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 386, 0, + 0, 0, 0, 0, 0, 0, 0, 254, 0, 0, + 0, 0, 339, 251, 0, 0, 400, 0, 197, 0, + 448, 238, 349, 346, 482, 266, 257, 253, 237, 294, + 356, 398, 468, 392, 0, 343, 0, 0, 458, 371, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 300, 235, 302, 196, 383, + 459, 270, 0, 0, 0, 0, 188, 189, 190, 0, + 1184, 0, 0, 0, 0, 0, 0, 0, 0, 226, + 0, 233, 324, 333, 332, 313, 314, 316, 318, 323, + 330, 336, 0, 0, 0, 0, 0, 249, 298, 256, + 248, 479, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5433,58 +5528,58 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 280, 0, 371, 241, 0, 0, - 0, 0, 514, 0, 0, 0, 0, 0, 0, 0, - 337, 0, 306, 192, 213, 0, 0, 381, 424, 434, - 0, 0, 0, 239, 0, 432, 395, 497, 221, 268, - 421, 401, 430, 408, 271, 0, 0, 431, 343, 483, - 415, 494, 515, 516, 247, 375, 505, 471, 511, 529, - 214, 244, 389, 464, 500, 454, 367, 479, 480, 305, - 453, 278, 195, 341, 521, 212, 440, 230, 219, 485, - 503, 273, 419, 204, 466, 492, 227, 444, 0, 0, - 531, 206, 490, 463, 363, 302, 303, 205, 0, 420, - 252, 276, 242, 384, 487, 488, 240, 532, 216, 510, - 208, 0, 509, 377, 482, 491, 364, 353, 207, 489, - 362, 352, 308, 327, 328, 264, 287, 413, 346, 414, - 288, 373, 372, 374, 199, 501, 0, 200, 0, 459, - 502, 533, 222, 223, 225, 0, 263, 267, 275, 277, - 283, 284, 291, 339, 388, 412, 410, 416, 0, 477, - 495, 506, 513, 519, 520, 522, 523, 524, 525, 526, - 528, 527, 376, 290, 455, 307, 344, 0, 0, 394, - 433, 228, 499, 456, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 534, 535, 536, 537, 538, - 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, - 549, 550, 551, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 552, 354, 446, 496, 309, 321, 324, - 314, 333, 0, 334, 310, 311, 316, 318, 319, 320, - 325, 326, 330, 336, 236, 202, 360, 368, 476, 425, - 426, 427, 428, 0, 191, 209, 340, 0, 417, 272, - 530, 508, 504, 198, 211, 0, 246, 0, 0, 0, + 0, 0, 0, 0, 280, 0, 372, 241, 0, 0, + 0, 0, 515, 0, 0, 0, 0, 0, 0, 0, + 338, 0, 307, 192, 213, 0, 0, 382, 425, 435, + 0, 0, 0, 239, 0, 433, 396, 498, 221, 268, + 422, 402, 431, 409, 271, 0, 0, 432, 344, 484, + 416, 495, 516, 517, 247, 376, 506, 472, 512, 530, + 214, 244, 390, 465, 501, 455, 368, 480, 481, 306, + 454, 278, 195, 342, 522, 212, 441, 230, 219, 486, + 504, 273, 420, 204, 467, 493, 227, 445, 0, 0, + 532, 206, 491, 464, 364, 303, 304, 205, 0, 421, + 252, 276, 242, 385, 488, 489, 240, 533, 216, 511, + 208, 0, 510, 378, 483, 492, 365, 354, 207, 490, + 363, 353, 309, 328, 329, 264, 287, 414, 347, 415, + 288, 374, 373, 375, 199, 502, 0, 200, 0, 460, + 503, 534, 222, 223, 225, 0, 263, 267, 275, 277, + 283, 284, 292, 340, 389, 413, 411, 417, 0, 478, + 496, 507, 514, 520, 521, 523, 524, 525, 526, 527, + 529, 528, 377, 290, 456, 308, 345, 0, 0, 395, + 434, 228, 500, 457, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, + 550, 551, 552, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 553, 355, 447, 497, 310, 322, 325, 315, + 334, 0, 335, 311, 312, 317, 319, 320, 321, 326, + 327, 331, 337, 236, 202, 361, 369, 477, 291, 426, + 427, 428, 429, 0, 191, 209, 341, 0, 418, 272, + 531, 509, 505, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, 245, 260, 262, 269, 281, - 286, 289, 294, 295, 298, 304, 350, 356, 357, 358, - 359, 378, 379, 380, 383, 386, 387, 390, 392, 393, - 396, 400, 404, 405, 406, 407, 409, 411, 418, 423, - 435, 436, 437, 438, 439, 442, 443, 448, 449, 450, - 451, 452, 460, 461, 465, 484, 486, 498, 512, 517, - 441, 282, 493, 518, 0, 349, 0, 0, 351, 265, - 285, 296, 0, 507, 462, 215, 429, 274, 203, 234, - 218, 243, 258, 261, 300, 361, 369, 398, 403, 279, - 255, 232, 422, 229, 445, 468, 469, 470, 472, 365, - 250, 402, 0, 366, 347, 474, 475, 292, 473, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 385, 0, 0, 0, 0, 0, 0, 0, 0, 254, - 0, 0, 0, 0, 338, 251, 0, 0, 399, 0, - 197, 0, 447, 238, 348, 345, 481, 266, 257, 253, - 237, 293, 355, 397, 467, 391, 0, 342, 0, 0, - 457, 370, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 299, 235, 301, - 196, 382, 458, 270, 0, 0, 0, 0, 188, 189, - 190, 0, 1183, 0, 0, 0, 0, 0, 0, 0, - 0, 226, 0, 233, 323, 332, 331, 312, 313, 315, - 317, 322, 329, 335, 0, 0, 0, 0, 0, 249, - 297, 256, 248, 478, 0, 0, 0, 0, 0, 0, + 286, 289, 295, 296, 299, 305, 351, 357, 358, 359, + 360, 379, 380, 381, 384, 387, 388, 391, 393, 394, + 397, 401, 405, 406, 407, 408, 410, 412, 419, 424, + 436, 437, 438, 439, 440, 443, 444, 449, 450, 451, + 452, 453, 461, 462, 466, 485, 487, 499, 513, 518, + 442, 282, 494, 519, 0, 350, 0, 0, 352, 265, + 285, 297, 0, 508, 463, 215, 430, 274, 203, 234, + 218, 243, 258, 261, 301, 362, 370, 399, 404, 279, + 255, 232, 423, 229, 446, 469, 470, 471, 473, 366, + 250, 403, 0, 367, 348, 475, 476, 293, 474, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 386, 0, 0, 0, 0, 0, 0, 0, 0, 254, + 0, 0, 0, 0, 339, 251, 0, 0, 400, 0, + 197, 0, 448, 238, 349, 346, 482, 266, 257, 253, + 237, 294, 356, 398, 468, 392, 0, 343, 0, 0, + 458, 371, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 300, 235, 302, + 196, 383, 459, 270, 0, 0, 0, 0, 188, 189, + 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 226, 0, 233, 324, 333, 332, 313, 314, 316, + 318, 323, 330, 336, 0, 0, 0, 0, 0, 249, + 298, 256, 248, 479, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5494,58 +5589,58 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 280, 0, 371, 241, - 0, 0, 0, 0, 514, 0, 0, 0, 0, 0, - 0, 0, 337, 0, 306, 192, 213, 0, 0, 381, - 424, 434, 0, 0, 0, 239, 0, 432, 395, 497, - 221, 268, 421, 401, 430, 408, 271, 0, 0, 431, - 343, 483, 415, 494, 515, 516, 247, 375, 505, 471, - 511, 529, 214, 244, 389, 464, 500, 454, 367, 479, - 480, 305, 453, 278, 195, 341, 521, 212, 440, 230, - 219, 485, 503, 273, 419, 204, 466, 492, 227, 444, - 0, 0, 531, 206, 490, 463, 363, 302, 303, 205, - 0, 420, 252, 276, 242, 384, 487, 488, 240, 532, - 216, 510, 208, 0, 509, 377, 482, 491, 364, 353, - 207, 489, 362, 352, 308, 327, 328, 264, 287, 413, - 346, 414, 288, 373, 372, 374, 199, 501, 0, 200, - 0, 459, 502, 533, 222, 223, 225, 0, 263, 267, - 275, 277, 283, 284, 291, 339, 388, 412, 410, 416, - 0, 477, 495, 506, 513, 519, 520, 522, 523, 524, - 525, 526, 528, 527, 376, 290, 455, 307, 344, 0, - 0, 394, 433, 228, 499, 456, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 534, 535, 536, - 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, - 547, 548, 549, 550, 551, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 552, 354, 446, 496, 309, - 321, 324, 314, 333, 0, 334, 310, 311, 316, 318, - 319, 320, 325, 326, 330, 336, 236, 202, 360, 368, - 476, 425, 426, 427, 428, 0, 191, 209, 340, 0, - 417, 272, 530, 508, 504, 198, 211, 0, 246, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 280, 0, 372, 241, + 0, 0, 0, 0, 515, 0, 0, 0, 0, 0, + 0, 0, 338, 0, 307, 192, 213, 0, 0, 382, + 425, 435, 0, 0, 0, 239, 0, 433, 396, 498, + 221, 268, 422, 402, 431, 409, 271, 0, 0, 432, + 344, 484, 416, 495, 516, 517, 247, 376, 506, 472, + 512, 530, 214, 244, 390, 465, 501, 455, 368, 480, + 481, 306, 454, 278, 195, 342, 522, 212, 441, 230, + 219, 486, 504, 273, 420, 204, 467, 493, 227, 445, + 0, 0, 532, 206, 491, 464, 364, 303, 304, 205, + 0, 421, 252, 276, 242, 385, 488, 489, 240, 533, + 216, 511, 208, 0, 510, 378, 483, 492, 365, 354, + 207, 490, 363, 353, 309, 328, 329, 264, 287, 414, + 347, 415, 288, 374, 373, 375, 199, 502, 0, 200, + 0, 460, 503, 534, 222, 223, 225, 0, 263, 267, + 275, 277, 283, 284, 292, 340, 389, 413, 411, 417, + 0, 478, 496, 507, 514, 520, 521, 523, 524, 525, + 526, 527, 529, 528, 377, 290, 456, 308, 345, 0, + 0, 395, 434, 228, 500, 457, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, + 548, 549, 550, 551, 552, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 553, 355, 447, 497, 310, 322, + 325, 315, 334, 0, 335, 311, 312, 317, 319, 320, + 321, 326, 327, 331, 337, 236, 202, 361, 369, 477, + 291, 426, 427, 428, 429, 0, 191, 209, 341, 0, + 418, 272, 531, 509, 505, 198, 211, 0, 246, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 798, 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, 245, 260, 262, - 269, 281, 286, 289, 294, 295, 298, 304, 350, 356, - 357, 358, 359, 378, 379, 380, 383, 386, 387, 390, - 392, 393, 396, 400, 404, 405, 406, 407, 409, 411, - 418, 423, 435, 436, 437, 438, 439, 442, 443, 448, - 449, 450, 451, 452, 460, 461, 465, 484, 486, 498, - 512, 517, 441, 282, 493, 518, 0, 349, 0, 0, - 351, 265, 285, 296, 0, 507, 462, 215, 429, 274, - 203, 234, 218, 243, 258, 261, 300, 361, 369, 398, - 403, 279, 255, 232, 422, 229, 445, 468, 469, 470, - 472, 365, 250, 402, 0, 366, 347, 474, 475, 292, - 473, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 385, 0, 0, 0, 0, 0, 0, 0, - 0, 254, 0, 0, 0, 0, 338, 251, 0, 0, - 399, 0, 197, 0, 447, 238, 348, 345, 481, 266, - 257, 253, 237, 293, 355, 397, 467, 391, 0, 342, - 0, 0, 457, 370, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, - 235, 301, 196, 382, 458, 270, 0, 0, 0, 0, + 269, 281, 286, 289, 295, 296, 299, 305, 351, 357, + 358, 359, 360, 379, 380, 381, 384, 387, 388, 391, + 393, 394, 397, 401, 405, 406, 407, 408, 410, 412, + 419, 424, 436, 437, 438, 439, 440, 443, 444, 449, + 450, 451, 452, 453, 461, 462, 466, 485, 487, 499, + 513, 518, 442, 282, 494, 519, 0, 350, 0, 0, + 352, 265, 285, 297, 0, 508, 463, 215, 430, 274, + 203, 234, 218, 243, 258, 261, 301, 362, 370, 399, + 404, 279, 255, 232, 423, 229, 446, 469, 470, 471, + 473, 366, 250, 403, 0, 367, 348, 475, 476, 293, + 474, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 386, 0, 0, 0, 0, 0, 0, 0, + 0, 254, 0, 0, 0, 0, 339, 251, 0, 0, + 400, 0, 197, 0, 448, 238, 349, 346, 482, 266, + 257, 253, 237, 294, 356, 398, 468, 392, 0, 343, + 0, 0, 458, 371, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 300, + 235, 302, 196, 383, 459, 270, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 226, 0, 233, 323, 332, 331, 312, - 313, 315, 317, 322, 329, 335, 0, 0, 0, 0, - 0, 249, 297, 256, 248, 478, 0, 0, 0, 0, + 0, 0, 0, 226, 0, 233, 324, 333, 332, 313, + 314, 316, 318, 323, 330, 336, 0, 0, 0, 0, + 0, 249, 298, 256, 248, 479, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5555,58 +5650,58 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, - 371, 241, 0, 0, 0, 0, 514, 0, 0, 0, - 0, 0, 0, 0, 337, 0, 306, 192, 213, 0, - 0, 381, 424, 434, 0, 0, 0, 239, 0, 432, - 395, 497, 221, 268, 421, 401, 430, 408, 271, 0, - 0, 431, 343, 483, 415, 494, 515, 516, 247, 375, - 505, 471, 511, 529, 214, 244, 389, 464, 500, 454, - 367, 479, 480, 305, 453, 278, 195, 341, 521, 212, - 440, 230, 219, 485, 503, 273, 419, 204, 466, 492, - 227, 444, 0, 0, 531, 206, 490, 463, 363, 302, - 303, 205, 0, 420, 252, 276, 242, 384, 487, 488, - 240, 532, 216, 510, 208, 0, 509, 377, 482, 491, - 364, 353, 207, 489, 362, 352, 308, 327, 328, 264, - 287, 413, 346, 414, 288, 373, 372, 374, 199, 501, - 0, 200, 0, 459, 502, 533, 222, 223, 225, 0, - 263, 267, 275, 277, 283, 284, 291, 339, 388, 412, - 410, 416, 0, 477, 495, 506, 513, 519, 520, 522, - 523, 524, 525, 526, 528, 527, 376, 290, 455, 307, - 344, 0, 0, 394, 433, 228, 499, 456, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 545, 546, 547, 548, 549, 550, 551, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 552, 354, 446, - 496, 309, 321, 324, 314, 333, 0, 334, 310, 311, - 316, 318, 319, 320, 325, 326, 330, 336, 236, 202, - 360, 368, 476, 425, 426, 427, 428, 0, 191, 209, - 340, 0, 417, 272, 530, 508, 504, 198, 211, 0, + 0, 0, 0, 0, 0, 0, 610, 0, 280, 0, + 372, 241, 0, 0, 0, 0, 515, 0, 0, 0, + 0, 0, 0, 0, 338, 0, 307, 192, 213, 0, + 0, 382, 425, 435, 0, 0, 0, 239, 0, 433, + 396, 498, 221, 268, 422, 402, 431, 409, 271, 0, + 0, 432, 344, 484, 416, 495, 516, 517, 247, 376, + 506, 472, 512, 530, 214, 244, 390, 465, 501, 455, + 368, 480, 481, 306, 454, 278, 195, 342, 522, 212, + 441, 230, 219, 486, 504, 273, 420, 204, 467, 493, + 227, 445, 0, 0, 532, 206, 491, 464, 364, 303, + 304, 205, 0, 421, 252, 276, 242, 385, 488, 489, + 240, 533, 216, 511, 208, 0, 510, 378, 483, 492, + 365, 354, 207, 490, 363, 353, 309, 328, 329, 264, + 287, 414, 347, 415, 288, 374, 373, 375, 199, 502, + 0, 200, 0, 460, 503, 534, 222, 223, 225, 0, + 263, 267, 275, 277, 283, 284, 292, 340, 389, 413, + 411, 417, 0, 478, 496, 507, 514, 520, 521, 523, + 524, 525, 526, 527, 529, 528, 377, 290, 456, 308, + 345, 0, 0, 395, 434, 228, 500, 457, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, + 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, + 546, 547, 548, 549, 550, 551, 552, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 553, 355, 447, 497, + 310, 322, 325, 315, 334, 0, 335, 311, 312, 317, + 319, 320, 321, 326, 327, 331, 337, 236, 202, 361, + 369, 477, 291, 426, 427, 428, 429, 0, 191, 209, + 341, 0, 418, 272, 531, 509, 505, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 797, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, 245, - 260, 262, 269, 281, 286, 289, 294, 295, 298, 304, - 350, 356, 357, 358, 359, 378, 379, 380, 383, 386, - 387, 390, 392, 393, 396, 400, 404, 405, 406, 407, - 409, 411, 418, 423, 435, 436, 437, 438, 439, 442, - 443, 448, 449, 450, 451, 452, 460, 461, 465, 484, - 486, 498, 512, 517, 441, 282, 493, 518, 0, 349, - 0, 0, 351, 265, 285, 296, 0, 507, 462, 215, - 429, 274, 203, 234, 218, 243, 258, 261, 300, 361, - 369, 398, 403, 279, 255, 232, 422, 229, 445, 468, - 469, 470, 472, 365, 250, 402, 0, 366, 347, 474, - 475, 292, 473, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 385, 0, 0, 0, 0, 0, - 0, 0, 0, 254, 0, 0, 0, 0, 338, 251, - 0, 0, 399, 0, 197, 0, 447, 238, 348, 345, - 481, 266, 257, 253, 237, 293, 355, 397, 467, 391, - 0, 342, 0, 0, 457, 370, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 299, 235, 301, 196, 382, 458, 270, 0, 0, + 260, 262, 269, 281, 286, 289, 295, 296, 299, 305, + 351, 357, 358, 359, 360, 379, 380, 381, 384, 387, + 388, 391, 393, 394, 397, 401, 405, 406, 407, 408, + 410, 412, 419, 424, 436, 437, 438, 439, 440, 443, + 444, 449, 450, 451, 452, 453, 461, 462, 466, 485, + 487, 499, 513, 518, 442, 609, 494, 519, 0, 350, + 0, 0, 352, 265, 285, 297, 0, 508, 463, 215, + 430, 274, 203, 234, 218, 243, 258, 261, 301, 362, + 370, 399, 404, 279, 255, 232, 423, 229, 446, 469, + 470, 471, 473, 366, 250, 403, 0, 367, 348, 475, + 476, 293, 474, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 386, 0, 0, 0, 0, 0, + 0, 0, 0, 254, 0, 0, 0, 0, 339, 251, + 0, 0, 400, 0, 197, 0, 448, 238, 349, 346, + 482, 266, 257, 253, 237, 294, 356, 398, 468, 392, + 0, 343, 0, 0, 458, 371, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 300, 235, 302, 196, 383, 459, 270, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 226, 0, 233, 323, 332, - 331, 312, 313, 315, 317, 322, 329, 335, 0, 0, - 0, 0, 0, 249, 297, 256, 248, 478, 0, 0, + 0, 0, 0, 0, 0, 226, 0, 233, 324, 333, + 332, 313, 314, 316, 318, 323, 330, 336, 0, 0, + 0, 0, 0, 249, 298, 256, 248, 479, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5616,58 +5711,58 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 609, 0, - 280, 0, 371, 241, 0, 0, 0, 0, 514, 0, - 0, 0, 0, 0, 0, 0, 337, 0, 306, 192, - 213, 0, 0, 381, 424, 434, 0, 0, 0, 239, - 0, 432, 395, 497, 221, 268, 421, 401, 430, 408, - 271, 0, 0, 431, 343, 483, 415, 494, 515, 516, - 247, 375, 505, 471, 511, 529, 214, 244, 389, 464, - 500, 454, 367, 479, 480, 305, 453, 278, 195, 341, - 521, 212, 440, 230, 219, 485, 503, 273, 419, 204, - 466, 492, 227, 444, 0, 0, 531, 206, 490, 463, - 363, 302, 303, 205, 0, 420, 252, 276, 242, 384, - 487, 488, 240, 532, 216, 510, 208, 0, 509, 377, - 482, 491, 364, 353, 207, 489, 362, 352, 308, 327, - 328, 264, 287, 413, 346, 414, 288, 373, 372, 374, - 199, 501, 0, 200, 0, 459, 502, 533, 222, 223, - 225, 0, 263, 267, 275, 277, 283, 284, 291, 339, - 388, 412, 410, 416, 0, 477, 495, 506, 513, 519, - 520, 522, 523, 524, 525, 526, 528, 527, 376, 290, - 455, 307, 344, 0, 0, 394, 433, 228, 499, 456, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, - 543, 544, 545, 546, 547, 548, 549, 550, 551, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 552, - 354, 446, 496, 309, 321, 324, 314, 333, 0, 334, - 310, 311, 316, 318, 319, 320, 325, 326, 330, 336, - 236, 202, 360, 368, 476, 425, 426, 427, 428, 0, - 191, 209, 340, 0, 417, 272, 530, 508, 504, 198, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 280, 0, 372, 241, 0, 0, 556, 0, 515, 0, + 0, 0, 0, 0, 0, 0, 338, 0, 307, 192, + 213, 0, 0, 382, 425, 435, 0, 0, 0, 239, + 0, 433, 396, 498, 221, 268, 422, 402, 431, 409, + 271, 0, 0, 432, 344, 484, 416, 495, 516, 517, + 247, 376, 506, 472, 512, 530, 214, 244, 390, 465, + 501, 455, 368, 480, 481, 306, 454, 278, 195, 342, + 522, 212, 441, 230, 219, 486, 504, 273, 420, 204, + 467, 493, 227, 445, 0, 0, 532, 206, 491, 464, + 364, 303, 304, 205, 0, 421, 252, 276, 242, 385, + 488, 489, 240, 533, 216, 511, 208, 0, 510, 378, + 483, 492, 365, 354, 207, 490, 363, 353, 309, 328, + 329, 264, 287, 414, 347, 415, 288, 374, 373, 375, + 199, 502, 0, 200, 0, 460, 503, 534, 222, 223, + 225, 0, 263, 267, 275, 277, 283, 284, 292, 340, + 389, 413, 411, 417, 0, 478, 496, 507, 514, 520, + 521, 523, 524, 525, 526, 527, 529, 528, 377, 290, + 456, 308, 345, 0, 0, 395, 434, 228, 500, 457, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 550, 551, 552, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 553, 355, + 447, 497, 310, 322, 325, 315, 334, 0, 335, 311, + 312, 317, 319, 320, 321, 326, 327, 331, 337, 236, + 202, 361, 369, 477, 291, 426, 427, 428, 429, 0, + 191, 209, 341, 0, 418, 272, 531, 509, 505, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, - 231, 245, 260, 262, 269, 281, 286, 289, 294, 295, - 298, 304, 350, 356, 357, 358, 359, 378, 379, 380, - 383, 386, 387, 390, 392, 393, 396, 400, 404, 405, - 406, 407, 409, 411, 418, 423, 435, 436, 437, 438, - 439, 442, 443, 448, 449, 450, 451, 452, 460, 461, - 465, 484, 486, 498, 512, 517, 441, 608, 493, 518, - 0, 349, 0, 0, 351, 265, 285, 296, 0, 507, - 462, 215, 429, 274, 203, 234, 218, 243, 258, 261, - 300, 361, 369, 398, 403, 279, 255, 232, 422, 229, - 445, 468, 469, 470, 472, 365, 250, 402, 0, 366, - 347, 474, 475, 292, 473, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 385, 0, 0, 0, + 231, 245, 260, 262, 269, 281, 286, 289, 295, 296, + 299, 305, 351, 357, 358, 359, 360, 379, 380, 381, + 384, 387, 388, 391, 393, 394, 397, 401, 405, 406, + 407, 408, 410, 412, 419, 424, 436, 437, 438, 439, + 440, 443, 444, 449, 450, 451, 452, 453, 461, 462, + 466, 485, 487, 499, 513, 518, 442, 282, 494, 519, + 0, 350, 0, 0, 352, 265, 285, 297, 0, 508, + 463, 215, 430, 274, 203, 234, 218, 243, 258, 261, + 301, 362, 370, 399, 404, 279, 255, 232, 423, 229, + 446, 469, 470, 471, 473, 366, 250, 403, 0, 367, + 348, 475, 476, 293, 474, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 386, 0, 0, 0, 0, 0, 0, 0, 0, 254, 0, 0, 0, 0, - 338, 251, 0, 0, 399, 0, 197, 0, 447, 238, - 348, 345, 481, 266, 257, 253, 237, 293, 355, 397, - 467, 391, 0, 342, 0, 0, 457, 370, 0, 0, + 339, 251, 0, 0, 400, 0, 197, 0, 448, 238, + 349, 346, 482, 266, 257, 253, 237, 294, 356, 398, + 468, 392, 0, 343, 0, 0, 458, 371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 299, 235, 301, 196, 382, 458, 270, + 0, 0, 0, 300, 235, 302, 196, 383, 459, 270, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, 0, 233, - 323, 332, 331, 312, 313, 315, 317, 322, 329, 335, - 0, 0, 0, 0, 0, 249, 297, 256, 248, 478, + 324, 333, 332, 313, 314, 316, 318, 323, 330, 336, + 0, 0, 0, 0, 0, 249, 298, 256, 248, 479, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, @@ -5678,58 +5773,58 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 280, 0, 371, 241, 0, 0, 555, 0, - 514, 0, 0, 0, 0, 0, 0, 0, 337, 0, - 306, 192, 213, 0, 0, 381, 424, 434, 0, 0, - 0, 239, 0, 432, 395, 497, 221, 268, 421, 401, - 430, 408, 271, 0, 0, 431, 343, 483, 415, 494, - 515, 516, 247, 375, 505, 471, 511, 529, 214, 244, - 389, 464, 500, 454, 367, 479, 480, 305, 453, 278, - 195, 341, 521, 212, 440, 230, 219, 485, 503, 273, - 419, 204, 466, 492, 227, 444, 0, 0, 531, 206, - 490, 463, 363, 302, 303, 205, 0, 420, 252, 276, - 242, 384, 487, 488, 240, 532, 216, 510, 208, 0, - 509, 377, 482, 491, 364, 353, 207, 489, 362, 352, - 308, 327, 328, 264, 287, 413, 346, 414, 288, 373, - 372, 374, 199, 501, 0, 200, 0, 459, 502, 533, + 0, 0, 280, 0, 372, 241, 0, 0, 0, 0, + 515, 0, 0, 0, 0, 0, 0, 0, 338, 0, + 307, 192, 213, 0, 0, 382, 425, 435, 0, 0, + 0, 239, 0, 433, 396, 498, 221, 268, 422, 402, + 431, 409, 271, 0, 0, 432, 344, 484, 416, 495, + 516, 517, 247, 376, 506, 472, 512, 530, 214, 244, + 390, 465, 501, 455, 368, 480, 481, 306, 454, 278, + 195, 342, 522, 212, 441, 230, 219, 486, 504, 273, + 420, 204, 467, 493, 227, 445, 0, 0, 532, 206, + 491, 464, 364, 303, 304, 205, 0, 421, 252, 276, + 242, 385, 488, 489, 240, 533, 216, 511, 208, 0, + 510, 378, 483, 492, 365, 354, 207, 490, 363, 353, + 309, 328, 329, 264, 287, 414, 347, 415, 288, 374, + 373, 375, 199, 502, 0, 200, 0, 460, 503, 534, 222, 223, 225, 0, 263, 267, 275, 277, 283, 284, - 291, 339, 388, 412, 410, 416, 0, 477, 495, 506, - 513, 519, 520, 522, 523, 524, 525, 526, 528, 527, - 376, 290, 455, 307, 344, 0, 0, 394, 433, 228, - 499, 456, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 534, 535, 536, 537, 538, 539, 540, - 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, - 551, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 552, 354, 446, 496, 309, 321, 324, 314, 333, - 0, 334, 310, 311, 316, 318, 319, 320, 325, 326, - 330, 336, 236, 202, 360, 368, 476, 425, 426, 427, - 428, 0, 191, 209, 340, 0, 417, 272, 530, 508, - 504, 198, 211, 0, 246, 0, 0, 0, 0, 0, + 292, 340, 389, 413, 411, 417, 0, 478, 496, 507, + 514, 520, 521, 523, 524, 525, 526, 527, 529, 528, + 377, 290, 456, 308, 345, 0, 0, 395, 434, 228, + 500, 457, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 535, 536, 537, 538, 539, 540, 541, + 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, + 552, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 553, 355, 447, 497, 310, 322, 325, 315, 334, 0, + 335, 311, 312, 317, 319, 320, 321, 326, 327, 331, + 337, 236, 202, 361, 369, 477, 291, 426, 427, 428, + 429, 0, 191, 209, 341, 0, 418, 272, 531, 509, + 505, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, 245, 260, 262, 269, 281, 286, 289, - 294, 295, 298, 304, 350, 356, 357, 358, 359, 378, - 379, 380, 383, 386, 387, 390, 392, 393, 396, 400, - 404, 405, 406, 407, 409, 411, 418, 423, 435, 436, - 437, 438, 439, 442, 443, 448, 449, 450, 451, 452, - 460, 461, 465, 484, 486, 498, 512, 517, 441, 282, - 493, 518, 0, 349, 0, 0, 351, 265, 285, 296, - 0, 507, 462, 215, 429, 274, 203, 234, 218, 243, - 258, 261, 300, 361, 369, 398, 403, 279, 255, 232, - 422, 229, 445, 468, 469, 470, 472, 365, 250, 402, - 0, 366, 347, 474, 475, 292, 473, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 385, 0, + 295, 296, 299, 305, 351, 357, 358, 359, 360, 3079, + 380, 381, 384, 387, 388, 391, 393, 394, 397, 401, + 405, 406, 407, 408, 410, 412, 419, 424, 436, 437, + 438, 439, 440, 443, 444, 449, 450, 451, 452, 453, + 461, 462, 466, 485, 487, 499, 513, 518, 442, 282, + 494, 519, 0, 350, 0, 0, 352, 265, 285, 297, + 0, 508, 463, 215, 430, 274, 203, 234, 218, 243, + 258, 261, 301, 362, 370, 399, 404, 279, 255, 232, + 423, 229, 446, 469, 470, 471, 473, 366, 250, 403, + 0, 367, 348, 475, 476, 293, 474, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 386, 0, 0, 0, 0, 0, 0, 0, 0, 254, 0, 0, - 0, 0, 338, 251, 0, 0, 399, 0, 197, 0, - 447, 238, 348, 345, 481, 266, 257, 253, 237, 293, - 355, 397, 467, 391, 0, 342, 0, 0, 457, 370, + 0, 0, 339, 251, 0, 0, 400, 0, 197, 0, + 448, 238, 349, 346, 482, 266, 257, 253, 237, 294, + 356, 398, 468, 392, 0, 343, 0, 0, 458, 371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 299, 235, 301, 196, 382, - 458, 270, 0, 0, 0, 0, 188, 189, 190, 0, + 0, 0, 0, 0, 0, 300, 235, 302, 196, 383, + 459, 270, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, - 0, 233, 323, 332, 331, 312, 313, 315, 317, 322, - 329, 335, 0, 0, 0, 0, 0, 249, 297, 256, - 248, 478, 0, 0, 0, 0, 0, 0, 0, 217, + 0, 233, 324, 333, 332, 313, 314, 316, 318, 323, + 330, 336, 0, 0, 0, 0, 0, 249, 298, 256, + 248, 479, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5739,58 +5834,58 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 280, 0, 371, 241, 0, 0, - 0, 0, 514, 0, 0, 0, 0, 0, 0, 0, - 337, 0, 306, 192, 213, 0, 0, 381, 424, 434, - 0, 0, 0, 239, 0, 432, 395, 497, 221, 268, - 421, 401, 430, 408, 271, 0, 0, 431, 343, 483, - 415, 494, 515, 516, 247, 375, 505, 471, 511, 529, - 214, 244, 389, 464, 500, 454, 367, 479, 480, 305, - 453, 278, 195, 341, 521, 212, 440, 230, 219, 485, - 503, 273, 419, 204, 466, 492, 227, 444, 0, 0, - 531, 206, 490, 463, 363, 302, 303, 205, 0, 420, - 252, 276, 242, 384, 487, 488, 240, 532, 216, 510, - 208, 0, 509, 377, 482, 491, 364, 353, 207, 489, - 362, 352, 308, 327, 328, 264, 287, 413, 346, 414, - 288, 373, 372, 374, 199, 501, 0, 200, 0, 459, - 502, 533, 222, 223, 225, 0, 263, 267, 275, 277, - 283, 284, 291, 339, 388, 412, 410, 416, 0, 477, - 495, 506, 513, 519, 520, 522, 523, 524, 525, 526, - 528, 527, 376, 290, 455, 307, 344, 0, 0, 394, - 433, 228, 499, 456, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 534, 535, 536, 537, 538, - 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, - 549, 550, 551, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 552, 354, 446, 496, 309, 321, 324, - 314, 333, 0, 334, 310, 311, 316, 318, 319, 320, - 325, 326, 330, 336, 236, 202, 360, 368, 476, 425, - 426, 427, 428, 0, 191, 209, 340, 0, 417, 272, - 530, 508, 504, 198, 211, 0, 246, 0, 0, 0, + 0, 0, 0, 0, 280, 0, 372, 241, 0, 0, + 0, 0, 515, 0, 0, 0, 0, 0, 0, 0, + 338, 0, 307, 192, 213, 0, 0, 382, 425, 435, + 0, 0, 0, 239, 0, 433, 396, 498, 221, 268, + 422, 402, 431, 409, 271, 0, 0, 432, 344, 484, + 416, 495, 516, 517, 247, 376, 506, 472, 512, 530, + 214, 244, 390, 465, 501, 455, 368, 480, 481, 306, + 454, 278, 195, 342, 522, 212, 441, 230, 219, 486, + 504, 273, 420, 204, 467, 493, 227, 445, 0, 0, + 532, 206, 491, 464, 364, 303, 304, 205, 0, 421, + 252, 276, 242, 385, 488, 489, 240, 533, 216, 511, + 208, 0, 510, 378, 483, 492, 365, 354, 207, 490, + 363, 353, 309, 328, 329, 264, 287, 414, 347, 415, + 288, 374, 373, 375, 199, 502, 0, 200, 0, 460, + 503, 534, 222, 223, 225, 0, 263, 267, 275, 277, + 283, 284, 292, 340, 389, 413, 411, 417, 0, 478, + 496, 507, 514, 520, 521, 523, 524, 525, 526, 527, + 529, 528, 377, 290, 456, 308, 345, 0, 0, 395, + 434, 228, 500, 457, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 535, 536, 537, 538, 539, + 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, + 550, 551, 552, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 553, 355, 447, 497, 310, 322, 325, 315, + 334, 0, 335, 311, 312, 317, 319, 320, 321, 326, + 327, 331, 337, 236, 202, 361, 369, 477, 291, 426, + 427, 428, 429, 0, 191, 209, 341, 0, 418, 272, + 531, 509, 505, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, 245, 260, 262, 269, 281, - 286, 289, 294, 295, 298, 304, 350, 356, 357, 358, - 359, 3077, 379, 380, 383, 386, 387, 390, 392, 393, - 396, 400, 404, 405, 406, 407, 409, 411, 418, 423, - 435, 436, 437, 438, 439, 442, 443, 448, 449, 450, - 451, 452, 460, 461, 465, 484, 486, 498, 512, 517, - 441, 282, 493, 518, 0, 349, 0, 0, 351, 265, - 285, 296, 0, 507, 462, 215, 429, 274, 203, 234, - 218, 243, 258, 261, 300, 361, 369, 398, 403, 279, - 255, 232, 422, 229, 445, 468, 469, 470, 472, 365, - 250, 402, 0, 366, 347, 474, 475, 292, 473, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 385, 0, 0, 0, 0, 0, 0, 0, 0, 254, - 0, 0, 0, 0, 338, 251, 0, 0, 399, 0, - 197, 0, 447, 238, 348, 345, 481, 266, 257, 253, - 237, 293, 355, 397, 467, 391, 0, 342, 0, 0, - 457, 370, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 299, 235, 301, - 196, 382, 458, 270, 0, 0, 0, 0, 188, 189, + 286, 289, 295, 296, 299, 305, 351, 357, 358, 359, + 360, 379, 380, 381, 384, 387, 388, 391, 393, 394, + 397, 401, 405, 406, 407, 408, 410, 412, 419, 424, + 436, 437, 438, 439, 440, 443, 444, 449, 450, 451, + 452, 453, 461, 462, 466, 485, 487, 499, 513, 518, + 442, 282, 494, 519, 0, 350, 0, 0, 352, 265, + 285, 297, 0, 508, 463, 215, 430, 274, 203, 234, + 218, 243, 258, 261, 301, 362, 370, 399, 404, 279, + 255, 232, 423, 229, 446, 469, 470, 471, 473, 366, + 250, 403, 0, 367, 348, 475, 476, 293, 474, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 386, 0, 0, 0, 0, 0, 0, 0, 0, 254, + 0, 0, 0, 0, 339, 251, 0, 0, 400, 0, + 197, 0, 448, 238, 349, 346, 482, 266, 257, 253, + 237, 294, 356, 398, 468, 392, 0, 343, 0, 0, + 458, 371, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 300, 235, 302, + 196, 383, 459, 270, 0, 0, 0, 0, 188, 2671, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 226, 0, 233, 323, 332, 331, 312, 313, 315, - 317, 322, 329, 335, 0, 0, 0, 0, 0, 249, - 297, 256, 248, 478, 0, 0, 0, 0, 0, 0, + 0, 226, 0, 233, 324, 333, 332, 313, 314, 316, + 318, 323, 330, 336, 0, 0, 0, 0, 0, 249, + 298, 256, 248, 479, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5800,58 +5895,58 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 280, 0, 371, 241, - 0, 0, 0, 0, 514, 0, 0, 0, 0, 0, - 0, 0, 337, 0, 306, 192, 213, 0, 0, 381, - 424, 434, 0, 0, 0, 239, 0, 432, 395, 497, - 221, 268, 421, 401, 430, 408, 271, 0, 0, 431, - 343, 483, 415, 494, 515, 516, 247, 375, 505, 471, - 511, 529, 214, 244, 389, 464, 500, 454, 367, 479, - 480, 305, 453, 278, 195, 341, 521, 212, 440, 230, - 219, 485, 503, 273, 419, 204, 466, 492, 227, 444, - 0, 0, 531, 206, 490, 463, 363, 302, 303, 205, - 0, 420, 252, 276, 242, 384, 487, 488, 240, 532, - 216, 510, 208, 0, 509, 377, 482, 491, 364, 353, - 207, 489, 362, 352, 308, 327, 328, 264, 287, 413, - 346, 414, 288, 373, 372, 374, 199, 501, 0, 200, - 0, 459, 502, 533, 222, 223, 225, 0, 263, 267, - 275, 277, 283, 284, 291, 339, 388, 412, 410, 416, - 0, 477, 495, 506, 513, 519, 520, 522, 523, 524, - 525, 526, 528, 527, 376, 290, 455, 307, 344, 0, - 0, 394, 433, 228, 499, 456, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 534, 535, 536, - 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, - 547, 548, 549, 550, 551, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 552, 354, 446, 496, 309, - 321, 324, 314, 333, 0, 334, 310, 311, 316, 318, - 319, 320, 325, 326, 330, 336, 236, 202, 360, 368, - 476, 425, 426, 427, 428, 0, 191, 209, 340, 0, - 417, 272, 530, 508, 504, 198, 211, 0, 246, 0, + 0, 0, 0, 0, 0, 0, 280, 0, 372, 241, + 0, 0, 0, 0, 515, 0, 0, 0, 0, 0, + 0, 0, 338, 0, 307, 192, 213, 0, 0, 382, + 425, 435, 0, 0, 0, 239, 0, 433, 396, 498, + 221, 268, 422, 402, 431, 409, 271, 0, 0, 432, + 344, 484, 416, 495, 516, 517, 247, 376, 506, 472, + 512, 530, 214, 244, 390, 465, 501, 455, 368, 480, + 481, 306, 454, 278, 195, 342, 522, 212, 441, 230, + 219, 486, 504, 273, 420, 204, 467, 493, 227, 445, + 0, 0, 532, 206, 491, 464, 364, 303, 304, 205, + 0, 421, 252, 276, 242, 385, 488, 489, 240, 533, + 216, 511, 208, 0, 510, 378, 483, 492, 365, 354, + 207, 490, 363, 353, 309, 328, 329, 264, 287, 414, + 347, 415, 288, 374, 373, 375, 199, 502, 0, 200, + 0, 460, 503, 534, 222, 223, 225, 0, 263, 267, + 275, 277, 283, 284, 292, 340, 389, 413, 411, 417, + 0, 478, 496, 507, 514, 520, 521, 523, 524, 525, + 526, 527, 529, 528, 377, 290, 456, 308, 345, 0, + 0, 395, 434, 228, 500, 457, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, + 548, 549, 550, 551, 552, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 553, 355, 447, 497, 310, 322, + 325, 315, 334, 0, 335, 311, 312, 317, 319, 320, + 321, 326, 327, 331, 337, 236, 202, 361, 369, 477, + 291, 426, 427, 428, 429, 0, 191, 209, 341, 0, + 418, 272, 531, 509, 505, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, 245, 260, 262, - 269, 281, 286, 289, 294, 295, 298, 304, 350, 356, - 357, 358, 359, 378, 379, 380, 383, 386, 387, 390, - 392, 393, 396, 400, 404, 405, 406, 407, 409, 411, - 418, 423, 435, 436, 437, 438, 439, 442, 443, 448, - 449, 450, 451, 452, 460, 461, 465, 484, 486, 498, - 512, 517, 441, 282, 493, 518, 0, 349, 0, 0, - 351, 265, 285, 296, 0, 507, 462, 215, 429, 274, - 203, 234, 218, 243, 258, 261, 300, 361, 369, 398, - 403, 279, 255, 232, 422, 229, 445, 468, 469, 470, - 472, 365, 250, 402, 0, 366, 347, 474, 475, 292, - 473, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 385, 0, 0, 0, 0, 0, 0, 0, - 0, 254, 0, 0, 0, 0, 338, 251, 0, 0, - 399, 0, 197, 0, 447, 238, 348, 345, 481, 266, - 257, 253, 237, 293, 355, 397, 467, 391, 0, 342, - 0, 0, 457, 370, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, - 235, 301, 196, 382, 458, 270, 0, 0, 0, 0, - 188, 2670, 190, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 226, 0, 233, 323, 332, 331, 312, - 313, 315, 317, 322, 329, 335, 0, 0, 0, 0, - 0, 249, 297, 256, 248, 478, 0, 0, 0, 0, + 269, 281, 286, 289, 295, 296, 299, 305, 351, 357, + 358, 359, 360, 379, 380, 381, 384, 387, 388, 391, + 393, 394, 397, 401, 405, 406, 407, 408, 410, 412, + 419, 424, 436, 437, 438, 439, 440, 443, 444, 449, + 450, 451, 452, 453, 461, 462, 466, 485, 487, 499, + 513, 518, 442, 282, 494, 519, 0, 350, 0, 0, + 352, 265, 285, 297, 0, 508, 463, 215, 430, 274, + 203, 234, 218, 243, 258, 261, 301, 362, 370, 399, + 404, 279, 255, 232, 423, 229, 446, 469, 470, 471, + 473, 366, 250, 403, 0, 367, 348, 475, 476, 293, + 474, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 386, 0, 0, 0, 0, 0, 0, 0, + 0, 254, 0, 0, 0, 0, 339, 251, 0, 0, + 400, 0, 197, 0, 448, 238, 349, 346, 482, 266, + 257, 253, 237, 294, 356, 398, 468, 392, 0, 343, + 0, 0, 458, 371, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 300, + 235, 302, 196, 383, 459, 270, 0, 0, 0, 0, + 188, 2167, 190, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 226, 0, 233, 324, 333, 332, 313, + 314, 316, 318, 323, 330, 336, 0, 0, 0, 0, + 0, 249, 298, 256, 248, 479, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5862,129 +5957,69 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 0, - 371, 241, 0, 0, 0, 0, 514, 0, 0, 0, - 0, 0, 0, 0, 337, 0, 306, 192, 213, 0, - 0, 381, 424, 434, 0, 0, 0, 239, 0, 432, - 395, 497, 221, 268, 421, 401, 430, 408, 271, 0, - 0, 431, 343, 483, 415, 494, 515, 516, 247, 375, - 505, 471, 511, 529, 214, 244, 389, 464, 500, 454, - 367, 479, 480, 305, 453, 278, 195, 341, 521, 212, - 440, 230, 219, 485, 503, 273, 419, 204, 466, 492, - 227, 444, 0, 0, 531, 206, 490, 463, 363, 302, - 303, 205, 0, 420, 252, 276, 242, 384, 487, 488, - 240, 532, 216, 510, 208, 0, 509, 377, 482, 491, - 364, 353, 207, 489, 362, 352, 308, 327, 328, 264, - 287, 413, 346, 414, 288, 373, 372, 374, 199, 501, - 0, 200, 0, 459, 502, 533, 222, 223, 225, 0, - 263, 267, 275, 277, 283, 284, 291, 339, 388, 412, - 410, 416, 0, 477, 495, 506, 513, 519, 520, 522, - 523, 524, 525, 526, 528, 527, 376, 290, 455, 307, - 344, 0, 0, 394, 433, 228, 499, 456, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 545, 546, 547, 548, 549, 550, 551, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 552, 354, 446, - 496, 309, 321, 324, 314, 333, 0, 334, 310, 311, - 316, 318, 319, 320, 325, 326, 330, 336, 236, 202, - 360, 368, 476, 425, 426, 427, 428, 0, 191, 209, - 340, 0, 417, 272, 530, 508, 504, 198, 211, 0, + 372, 241, 0, 0, 0, 0, 515, 0, 0, 0, + 0, 0, 0, 0, 338, 0, 307, 192, 213, 0, + 0, 382, 425, 435, 0, 0, 0, 239, 0, 433, + 396, 498, 221, 268, 422, 402, 431, 409, 271, 0, + 0, 432, 344, 484, 416, 495, 516, 517, 247, 376, + 506, 472, 512, 530, 214, 244, 390, 465, 501, 455, + 368, 480, 481, 306, 454, 278, 195, 342, 522, 212, + 441, 230, 219, 486, 504, 273, 420, 204, 467, 493, + 227, 445, 0, 0, 532, 206, 491, 464, 364, 303, + 304, 205, 0, 421, 252, 276, 242, 385, 488, 489, + 240, 533, 216, 511, 208, 0, 510, 378, 483, 492, + 365, 354, 207, 490, 363, 353, 309, 328, 329, 264, + 287, 414, 347, 415, 288, 374, 373, 375, 199, 502, + 0, 200, 0, 460, 503, 534, 222, 223, 225, 0, + 263, 267, 275, 277, 283, 284, 292, 340, 389, 413, + 411, 417, 0, 478, 496, 507, 514, 520, 521, 523, + 524, 525, 526, 527, 529, 528, 377, 290, 456, 308, + 345, 0, 0, 395, 434, 228, 500, 457, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, + 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, + 546, 547, 548, 549, 550, 551, 552, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 553, 355, 447, 497, + 310, 322, 325, 315, 334, 0, 335, 311, 312, 317, + 319, 320, 321, 326, 327, 331, 337, 236, 202, 361, + 369, 477, 291, 426, 427, 428, 429, 0, 191, 209, + 341, 0, 418, 272, 531, 509, 505, 198, 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, 245, - 260, 262, 269, 281, 286, 289, 294, 295, 298, 304, - 350, 356, 357, 358, 359, 378, 379, 380, 383, 386, - 387, 390, 392, 393, 396, 400, 404, 405, 406, 407, - 409, 411, 418, 423, 435, 436, 437, 438, 439, 442, - 443, 448, 449, 450, 451, 452, 460, 461, 465, 484, - 486, 498, 512, 517, 441, 282, 493, 518, 0, 349, - 0, 0, 351, 265, 285, 296, 0, 507, 462, 215, - 429, 274, 203, 234, 218, 243, 258, 261, 300, 361, - 369, 398, 403, 279, 255, 232, 422, 229, 445, 468, - 469, 470, 472, 365, 250, 402, 0, 366, 347, 474, - 475, 292, 473, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 385, 0, 0, 0, 0, 0, - 0, 0, 0, 254, 0, 0, 0, 0, 338, 251, - 0, 0, 399, 0, 197, 0, 447, 238, 348, 345, - 481, 266, 257, 253, 237, 293, 355, 397, 467, 391, - 0, 342, 0, 0, 457, 370, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 299, 235, 301, 196, 382, 458, 270, 0, 0, - 0, 0, 188, 2166, 190, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 226, 0, 233, 323, 332, - 331, 312, 313, 315, 317, 322, 329, 335, 0, 0, - 0, 0, 0, 249, 297, 256, 248, 478, 0, 0, - 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 280, 0, 371, 241, 0, 0, 0, 0, 514, 0, - 0, 0, 0, 0, 0, 0, 337, 0, 306, 192, - 213, 0, 0, 381, 424, 434, 0, 0, 0, 239, - 0, 432, 395, 497, 221, 268, 421, 401, 430, 408, - 271, 0, 0, 431, 343, 483, 415, 494, 515, 516, - 247, 375, 505, 471, 511, 529, 214, 244, 389, 464, - 500, 454, 367, 479, 480, 305, 453, 278, 195, 341, - 521, 212, 440, 230, 219, 485, 503, 273, 419, 204, - 466, 492, 227, 444, 0, 0, 531, 206, 490, 463, - 363, 302, 303, 205, 0, 420, 252, 276, 242, 384, - 487, 488, 240, 532, 216, 510, 208, 0, 509, 377, - 482, 491, 364, 353, 207, 489, 362, 352, 308, 327, - 328, 264, 287, 413, 346, 414, 288, 373, 372, 374, - 199, 501, 0, 200, 0, 459, 502, 533, 222, 223, - 225, 0, 263, 267, 275, 277, 283, 284, 291, 339, - 388, 412, 410, 416, 0, 477, 495, 506, 513, 519, - 520, 522, 523, 524, 525, 526, 528, 527, 376, 290, - 455, 307, 344, 0, 0, 394, 433, 228, 499, 456, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, - 543, 544, 545, 546, 547, 548, 549, 550, 551, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 552, - 354, 446, 496, 309, 321, 324, 314, 333, 0, 334, - 310, 311, 316, 318, 319, 320, 325, 326, 330, 336, - 236, 202, 360, 368, 476, 425, 426, 427, 428, 0, - 191, 209, 340, 0, 417, 272, 530, 508, 504, 198, - 211, 0, 246, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 193, 194, 201, 210, 220, 224, - 231, 245, 260, 262, 269, 281, 286, 289, 294, 295, - 298, 304, 350, 356, 357, 358, 359, 378, 379, 380, - 383, 386, 387, 390, 392, 393, 396, 400, 404, 405, - 406, 407, 409, 411, 418, 423, 435, 436, 437, 438, - 439, 442, 443, 448, 449, 450, 451, 452, 460, 461, - 465, 484, 486, 498, 512, 517, 441, 282, 493, 518, - 0, 349, 0, 0, 351, 265, 285, 296, 0, 507, - 462, 215, 429, 274, 203, 234, 218, 243, 258, 261, - 300, 361, 369, 398, 403, 279, 255, 232, 422, 229, - 445, 468, 469, 470, 472, 365, 250, 402, 0, 0, - 347, 474, 475, 292, + 260, 262, 269, 281, 286, 289, 295, 296, 299, 305, + 351, 357, 358, 359, 360, 379, 380, 381, 384, 387, + 388, 391, 393, 394, 397, 401, 405, 406, 407, 408, + 410, 412, 419, 424, 436, 437, 438, 439, 440, 443, + 444, 449, 450, 451, 452, 453, 461, 462, 466, 485, + 487, 499, 513, 518, 442, 282, 494, 519, 0, 350, + 0, 0, 352, 265, 285, 297, 0, 508, 463, 215, + 430, 274, 203, 234, 218, 243, 258, 261, 301, 362, + 370, 399, 404, 279, 255, 232, 423, 229, 446, 469, + 470, 471, 473, 366, 250, 403, 0, 0, 348, 475, + 476, 293, } var yyPact = [...]int{ - 5682, -1000, -418, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 3540, -1000, -417, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 2054, 2156, -1000, -1000, + -1000, -1000, 2245, -1000, 733, 1763, -1000, 2063, 3998, -1000, + 43557, 502, -1000, 42333, 499, 261, 43557, -1000, 177, -1000, + 165, 43557, 172, 41721, -1000, -1000, -275, 19067, 2007, 57, + 51, 43557, -1000, -1000, -1000, -1000, 2217, 1775, -1000, 367, + -1000, -1000, -1000, -1000, -1000, -1000, 41109, -1000, -1000, -1000, + 2071, 2048, 2251, 653, 1997, -1000, 2130, 1775, -1000, 19067, + 2175, 2120, 17843, -1000, 17843, 394, -1000, -1000, 13549, -1000, + -1000, 25197, 43557, 31317, 850, -1000, 2063, -1000, -1000, -1000, + 155, -1000, 329, 1671, -1000, 1670, -1000, 756, 859, 347, + 440, 435, 346, 345, 336, 335, 334, 333, 332, 330, + 349, -1000, 704, 704, -136, -138, 363, 529, 393, 393, + 450, 2028, 2027, -1000, 741, -1000, 704, 704, 704, 340, + 704, 704, 704, 704, 268, 263, 704, 704, 704, 704, + 704, 704, 704, 704, 704, 704, 704, 704, 704, 704, + 704, 704, 704, 321, 2063, 246, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 2005, 2042, -1000, -1000, - -1000, -1000, 2197, -1000, 684, 1714, -1000, 1993, 4082, -1000, - 43219, 466, -1000, 41995, 456, 129, 43219, -1000, 151, -1000, - 142, 43219, 146, 41383, -1000, -1000, -294, 18729, 1923, 33, - 31, 43219, -1000, -1000, -1000, -1000, 2160, 1641, -1000, 333, - -1000, -1000, -1000, -1000, -1000, -1000, 40771, -1000, -1000, -1000, - 2014, 2015, 2205, 595, 1937, -1000, 2084, 1641, -1000, 18729, - 2121, 2070, 17505, -1000, 17505, 388, -1000, -1000, 13211, -1000, - -1000, 24859, 43219, 30979, 296, -1000, 1993, -1000, -1000, -1000, - 106, -1000, 298, 1555, -1000, 1553, -1000, 507, 726, 318, - 434, 431, 315, 314, 311, 310, 309, 305, 303, 302, - 332, -1000, 614, 614, -157, -158, 2744, 380, 379, 379, - 411, 1957, 1954, -1000, 610, -1000, 614, 614, 614, 299, - 614, 614, 614, 614, 268, 237, 614, 614, 614, 614, - 614, 614, 614, 614, 614, 614, 614, 614, 614, 614, - 614, 614, 614, 329, 1993, 215, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, @@ -6020,37 +6055,37 @@ var yyPact = [...]int{ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 43557, 202, 43557, -1000, 579, 43557, + 863, 863, 78, 863, 863, 863, 863, 182, 628, 49, + -1000, 176, 239, 167, 247, 815, 387, -1000, -1000, 242, + 815, 1265, -1000, 660, 153, -1000, 863, 863, -1000, 11081, + 191, 11081, 11081, -1000, 2053, -1000, -1000, -1000, -1000, 1147, + -1000, 448, -1000, -1000, -1000, -1000, 43557, 40497, 365, 732, + -1000, -1000, -1000, 109, -1000, -1000, 1400, 975, 19067, 909, + -1000, 1548, 634, -1000, -1000, -1000, -1000, -1000, 555, 19679, + 19679, 19679, 19679, -1000, -1000, 1675, 1675, 1675, 1675, 19679, + 1675, 19679, 1675, 1675, 1675, 19067, 1675, 1675, 1675, -1000, + 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, + 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, + 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, + 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, + 1675, 1675, 1675, 1675, 1675, -1000, 1675, 578, 1675, 1675, + 1675, 1675, 1675, -1000, -1000, -1000, -1000, 1675, 1675, 1675, + 1675, 1675, 1675, 1675, 1675, 1675, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 22744, -1000, 16007, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 43219, 162, 43219, -1000, 521, 43219, 748, - 748, 42, 748, 748, 748, 748, 171, 594, 30, -1000, - 170, 260, 154, 216, 759, 173, -1000, -1000, 209, 759, - 1214, -1000, 601, 131, -1000, 748, 748, -1000, 10743, 165, - 10743, 10743, -1000, 1970, -1000, -1000, -1000, -1000, 1220, -1000, - 406, -1000, -1000, -1000, -1000, 43219, 40159, 335, 641, -1000, - -1000, -1000, 79, -1000, -1000, 1308, 988, 18729, 908, -1000, - 1578, 572, -1000, -1000, -1000, -1000, -1000, 501, 19341, 19341, - 19341, 19341, -1000, -1000, 1582, 1582, 1582, 1582, 19341, 1582, - 19341, 1582, 1582, 1582, 1582, 18729, 1582, 1582, 1582, -1000, - 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, - 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, - 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, - 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, - 1582, 1582, 1582, 1582, -1000, 1582, 517, 1582, 1582, 1582, - 1582, 1582, -1000, -1000, -1000, -1000, 1582, 1582, 1582, 1582, - 1582, 1582, 1582, 1582, 1582, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 22406, -1000, 15669, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 43557, -1000, + 1675, 193, 43557, 43557, 351, 2130, 1775, -1000, 2217, 2146, + 367, -1000, 2454, 1544, 1577, 1248, 1775, 1653, 43557, -1000, + 1698, -1000, -1000, -1000, 1835, 1152, 1256, -1000, -1000, -1000, + -1000, 1715, 19067, -1000, -1000, 2226, -1000, 22132, 567, 893, + 2219, 39885, -1000, 394, 394, 1666, 12932, 10, -1000, -1000, + -1000, 720, 28869, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 2053, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 43219, -1000, 1582, - 169, 43219, 43219, 307, 2084, 1641, -1000, 2160, 2170, 333, - -1000, 2558, 1315, 1593, 1126, 1641, 1516, 43219, -1000, 1588, - -1000, -1000, -1000, 1851, 1107, 1213, -1000, -1000, -1000, -1000, - 1826, 18729, -1000, -1000, 2186, -1000, 21794, 514, 809, 2185, - 39547, -1000, 388, 388, 1551, 12594, 1, -1000, -1000, -1000, - 640, 28531, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1970, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, @@ -6063,270 +6098,269 @@ var yyPact = [...]int{ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 1659, 43557, -1000, -1000, 5712, + 1363, -1000, 1762, -1000, 1635, -1000, 1722, 19067, 1756, 498, + 1363, 492, 487, 477, -1000, -50, -1000, -1000, -1000, -1000, + -1000, -1000, 704, 704, 704, -1000, 348, 2174, 3998, 4997, + -1000, -1000, -1000, 39273, 1758, 1363, -1000, 1748, -1000, 803, + 523, 620, 620, 1363, -1000, -1000, 43557, 1363, 802, 800, + 1363, 1363, 43557, 43557, -1000, 38661, -1000, 38049, 37437, 1092, + 43557, 36825, 36213, 35601, 34989, 34377, -1000, 1958, -1000, 1983, + -1000, -1000, -1000, 43557, 1363, 1363, 43557, 43557, 343, -1000, + -1000, 43557, 1363, -1000, -1000, 1088, 1077, 1075, 704, 704, + 1073, 1255, 1252, 1251, 704, 704, 1072, 1246, 30093, 1245, + 236, 1054, 1047, 1044, 1168, 1229, 186, 1228, 1167, 1115, + 1034, 43557, 1747, 43557, -1000, 231, 717, 410, 718, 2063, + 2000, 1663, 447, 497, 1363, 426, 426, 43557, -1000, 11698, + -1000, -1000, 1222, 19067, -1000, 857, 815, 815, -1000, -1000, + -1000, -1000, -1000, -1000, 863, 43557, 857, -1000, -1000, -1000, + 815, 863, 43557, 863, 863, 863, 863, 815, 815, 815, + 863, 43557, 43557, 43557, 43557, 43557, 43557, 43557, 43557, 43557, + 11081, 660, 863, -284, -1000, 1219, -1000, 1888, -1000, -1000, + -1000, -1000, -1000, -1000, 11081, 11081, -1000, -1000, -1000, -1000, + 169, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -39, 1657, 33765, -1000, -287, -289, -290, -291, -1000, -1000, + -1000, -295, -296, -1000, -1000, -1000, 19067, 19067, 19067, 19067, + -162, -1000, 1074, 19679, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 1031, 872, 19679, 19679, 19679, 19679, 19679, 19679, 19679, + 19679, 19679, 19679, 19679, 19679, 19679, 19679, 19679, -1000, -1000, + 27033, 6605, 6605, 634, 634, 634, 634, -1000, 17843, 19067, + 19067, 634, -1000, 1363, 33153, 17843, 17843, 19067, 753, 975, + 43557, -1000, 1248, -1000, -1000, -1000, 1024, -1000, 2035, 2035, + 2035, 2035, 2035, 2035, 43557, 43557, 151, 19067, 19067, 19067, + 19067, 19067, 19067, 14778, 19067, 19067, 19067, 19067, 19067, 19067, + 19067, 19067, 19067, 19067, 19067, 19067, 19067, 19067, 19067, 19067, + 19067, 19067, 19067, 19067, 19067, 19067, 19067, 19067, 19067, 19067, + 14166, 11698, 17843, 17843, 17843, 17843, 17843, -1000, -1000, -1000, + -1000, -1000, 19067, 19067, 19067, 19067, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 563, 1569, 1361, 1528, -1000, 1655, -1000, + -124, 24585, 19067, 1218, 2214, 1793, 43557, -1000, -1000, -1000, + 2130, -1000, 2130, 1569, 2341, 1910, 17843, -1000, -1000, 2341, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1362, -1000, + 43557, 1653, 2089, 43557, 1904, 1215, 342, -1000, 19067, 19067, + 1644, -1000, 884, 43557, -1000, -162, -1000, 32541, -1000, -1000, + 10464, -1000, 43557, 320, 43557, -1000, 23973, 31929, 12315, 10, + -1000, 12315, 1526, -1000, 28, 2, 15390, 631, -1000, -1000, + -1000, 363, 20903, 1396, 631, 101, -1000, -1000, -1000, 1722, + -1000, 1722, 1722, 1722, 1722, 342, 342, 342, 342, -1000, + -1000, -1000, -1000, -1000, 1745, 1743, -1000, 1722, 1722, 1722, + 1722, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1739, 1739, + 1739, 1725, 1725, 381, -1000, 19067, 278, 31317, 2069, 1030, + 1733, 231, 427, 1791, 1363, 1363, 1363, 427, -1000, 1334, + 1319, 1296, -1000, -409, 1641, -1000, -1000, 2173, -1000, -1000, + 652, 858, 845, 861, 43557, 212, 293, -1000, 377, -1000, + 31317, 1363, 799, 620, 1363, -1000, 1363, -1000, -1000, -1000, + -1000, -1000, 1363, -1000, -1000, 1639, -1000, 1497, 854, 843, + 852, 842, 1639, -1000, -1000, -108, 1639, -1000, 1639, -1000, + 1639, -1000, 1639, -1000, 1639, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 719, 200, -201, 43557, 212, 27033, + -1000, 436, -1000, -1000, -1000, 27033, 27033, -1000, -1000, -1000, + -1000, 1213, 1207, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 1559, 43219, -1000, -1000, 3723, 1192, - -1000, 1710, -1000, 1483, -1000, 1678, 18729, 1727, 453, 1192, - 443, 439, 419, -1000, -59, -1000, -1000, -1000, -1000, -1000, - -1000, 614, 614, 614, -1000, 301, 2118, 4082, 4926, -1000, - -1000, -1000, 38935, 1709, 1192, -1000, 1707, -1000, 702, 495, - 496, 496, 1192, -1000, -1000, 43219, 1192, 697, 695, 1192, - 1192, 43219, 43219, -1000, 38323, -1000, 37711, 37099, 1039, 43219, - 36487, 35875, 35263, 34651, 34039, -1000, 1837, -1000, 1771, -1000, - -1000, -1000, 43219, 1192, 1192, 43219, 43219, 304, -1000, -1000, - 43219, 1192, -1000, -1000, 1035, 1033, 1026, 614, 614, 1007, - 1212, 1205, 1195, 614, 614, 1004, 1185, 29755, 1183, 254, - 998, 997, 996, 1053, 1180, 201, 1176, 971, 932, 991, - 43219, 1705, 43219, -1000, 200, 738, 369, 633, 1993, 1913, - 1531, 403, 451, 1192, 383, 383, 43219, -1000, 11360, -1000, - -1000, 1173, 18729, -1000, 760, 759, 759, -1000, -1000, -1000, - -1000, -1000, -1000, 748, 43219, 760, -1000, -1000, -1000, 759, - 748, 43219, 748, 748, 748, 748, 759, 759, 759, 748, - 43219, 43219, 43219, 43219, 43219, 43219, 43219, 43219, 43219, 10743, - 601, 748, -305, -1000, 1172, -1000, 1822, -1000, -1000, -1000, - -1000, -1000, -1000, 10743, 10743, -1000, -1000, -1000, -1000, 145, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -43, - 1523, 33427, -1000, -314, -315, -316, -317, -1000, -1000, -1000, - -318, -319, -1000, -1000, -1000, 18729, 18729, 18729, 18729, -183, - -1000, 978, 19341, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 936, 766, 19341, 19341, 19341, 19341, 19341, 19341, 19341, 19341, - 19341, 19341, 19341, 19341, 19341, 19341, 19341, -1000, -1000, 26695, - 6065, 6065, 572, 572, 572, 572, -1000, 17505, 18729, 18729, - 572, -1000, 1192, 32815, 17505, 17505, 18729, 1985, 647, 988, - 43219, -1000, 1126, -1000, -1000, -1000, 940, -1000, 1985, 1985, - 1985, 1985, 1985, 43219, 43219, 522, 18729, 18729, 18729, 18729, - 18729, 18729, 14440, 18729, 18729, 18729, 18729, 18729, 18729, 18729, - 18729, 18729, 18729, 18729, 18729, 18729, 18729, 18729, 18729, 18729, - 18729, 18729, 18729, 18729, 18729, 18729, 18729, 18729, 18729, 13828, - 11360, 17505, 17505, 17505, 17505, 17505, -1000, -1000, -1000, -1000, - -1000, 18729, 18729, 18729, 18729, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 506, 1524, 1431, 1333, -1000, 1518, -1000, -142, - 24247, 18729, 1169, 2179, 1754, 43219, -1000, -1000, -1000, 2084, - -1000, 2084, 1524, 2217, 1860, 17505, -1000, -1000, 2217, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1335, -1000, 43219, - 1516, 2040, 43219, 1849, 1168, 312, -1000, 18729, 18729, 1514, - -1000, 993, 43219, -1000, -183, -1000, 32203, -1000, -1000, 10126, - -1000, 43219, 297, 43219, -1000, 23635, 31591, 11977, 1, -1000, - 11977, 1471, -1000, 6, -16, 15052, 541, -1000, -1000, -1000, - 2744, 20565, 1261, 541, 76, -1000, -1000, -1000, 1678, -1000, - 1678, 1678, 1678, 1678, 312, 312, 312, 312, -1000, -1000, - -1000, -1000, -1000, 1704, 1703, -1000, 1678, 1678, 1678, 1678, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1698, 1698, 1698, - 1686, 1686, 360, -1000, 18729, 281, 30979, 2019, 974, 1242, - 200, 385, 1736, 1192, 1192, 1192, 385, -1000, 1203, 1122, - 1104, -1000, -409, 1508, -1000, -1000, 2114, -1000, -1000, 686, - 744, 742, 733, 43219, 176, 291, -1000, 356, -1000, 30979, - 1192, 691, 496, 1192, -1000, 1192, -1000, -1000, -1000, -1000, - -1000, 1192, -1000, -1000, 1505, -1000, 1512, 785, 714, 782, - 688, 1505, -1000, -1000, -124, 1505, -1000, 1505, -1000, 1505, - -1000, 1505, -1000, 1505, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 680, 178, -239, 43219, 176, 26695, -1000, - 398, -1000, -1000, -1000, 26695, 26695, -1000, -1000, -1000, -1000, - 1154, 1149, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -396, 43557, -1000, 224, 713, 274, 313, 275, + 43557, 197, 2116, 2107, 2102, 235, 256, 43557, 43557, 426, + 1863, 43557, 2079, 43557, -1000, -1000, -1000, -1000, -1000, 975, + 43557, -1000, -1000, 863, 863, -1000, -1000, 43557, 863, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 863, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 43557, -1000, -1000, -1000, -1000, 43557, -1000, + -1000, -1000, -1000, -1000, 160, 25, 341, -1000, -1000, -1000, + -1000, -1000, 2126, -1000, 975, 788, 760, -1000, 1675, -1000, + -1000, 1091, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1031, + 19679, 19679, 19679, 1606, 463, 1164, 1767, 1059, 781, 781, + 841, 841, 639, 639, 639, 639, 639, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 1193, -1000, 1562, -1000, 1243, + 1466, 1248, -1000, 1562, 1562, 1677, 721, -1000, 19067, 1248, + -1000, -1000, 1248, 1248, 18455, -1000, -1000, 19067, 19067, 19067, + 19067, 19067, 1583, 1549, 2209, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -395, 43219, -1000, 182, 632, 271, 319, 256, 43219, - 175, 2072, 2058, 2056, 194, 234, 43219, 43219, 383, 1793, - 43219, 2028, 43219, -1000, -1000, -1000, -1000, -1000, 988, 43219, - -1000, -1000, 748, 748, -1000, -1000, 43219, 748, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 748, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 1214, 1733, 1733, 1733, + 1733, 1733, 19067, 1668, -1000, -1000, -1000, 2482, 2472, 1248, + 1400, 1248, 1533, -1000, 2467, 1733, 2446, 2427, 2406, 988, + 2388, 2334, 2300, 1733, 1733, 1733, 1651, 2280, 2257, 2232, + 2142, 2117, 2113, 2074, 2044, 2029, 1733, 1248, 17843, 17843, + 1530, 1675, 562, -1000, 1562, 1248, 1248, 1562, 1562, 1973, + 1941, 1916, 1859, 11698, 1248, -1000, 43557, -1000, -265, -1000, + -15, 604, 1675, -1000, 30093, 1248, -1000, 6274, -1000, 44781, + -1000, -1000, -1000, -1000, -1000, 28257, 1551, 2341, -1000, -1000, + 1675, 1599, -1000, -1000, 342, 85, 27645, 602, 602, 112, + 975, 975, 19067, -1000, -1000, -1000, -1000, -1000, -1000, 552, + 2199, 373, 1675, -1000, 1692, 2204, -1000, -1000, -1000, 2088, + 21520, -1000, 1675, 1675, 43557, 1735, 1664, -1000, 550, -1000, + 1526, 10, 38, -1000, -1000, -1000, -1000, 975, -1000, 1275, + 327, 322, -1000, 437, -1000, -1000, -1000, -1000, 2013, 90, + -1000, -1000, -1000, 210, 342, -1000, -1000, -1000, -1000, -1000, + -1000, 1191, 1191, -1000, -1000, -1000, -1000, -1000, 1027, -1000, + -1000, -1000, 1021, -1000, -1000, 1854, 1834, 278, -1000, -1000, + 704, 1188, -1000, -1000, 2018, 704, 704, 43557, -1000, -1000, + 1390, 2069, 224, 43557, 758, 1862, -1000, 1791, 1791, 1791, + 43557, -1000, -1000, -1000, -1000, -1000, -1000, -398, 68, 357, + -1000, -1000, -1000, 4862, 43557, 1588, -1000, 206, -1000, 1316, + -1000, 43557, -1000, 1579, 1737, 1363, 1363, -1000, -1000, -1000, + 43557, 1675, -1000, -1000, -1000, -1000, 495, 2037, 292, -1000, + -1000, -181, -1000, -1000, 212, 206, 631, 1363, -1000, -1000, + -1000, -1000, -1000, -399, 1564, 467, 214, 308, 43557, 43557, + 43557, 43557, 43557, 541, -1000, -1000, -1000, -1000, 198, -1000, + -1000, 198, -1000, -1000, -1000, -1000, 250, 434, -1000, 43557, + 43557, 558, -1000, -1000, -1000, 815, -1000, -1000, 815, -1000, + -1000, -1000, -1000, -1000, 2049, 43557, 11, -371, -1000, -325, + 19067, -1000, -1000, -1000, -1000, 1532, 446, 1164, 19679, 19679, + 17843, -99, 344, 344, 27033, -1000, -1000, -1000, 19067, 19067, + 738, -1000, 19067, 931, -1000, -1000, -1000, 1248, 1528, 1528, + 1528, 1528, 1528, 1524, 19067, 19067, 19067, 1248, 297, -1000, + -1000, -1000, -1000, -1000, 2206, -1000, 19067, 19067, 19067, -1000, + -1000, 19067, 19067, -1000, 19067, 19067, 20291, 1248, 20291, 19067, + 19067, 20291, -1000, -1000, -1000, -1000, 20291, 19067, 19067, 19067, + 19067, 19067, 19067, 19067, 19067, 19067, -1000, -1000, 1562, 1562, + 17843, 11698, -1000, -1000, -1000, -1000, -1000, 19067, 19067, 19067, + 19067, -1000, -1000, -1000, -1000, -1000, 604, -1000, 620, 620, + 620, 43557, -1000, -1000, -1000, -1000, -1000, -1000, 1520, 2106, + -1000, 1931, 1924, 2205, 2199, -1000, 23973, 2341, -1000, -1000, + 43557, -259, -1000, 1964, 2002, 602, 602, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 9847, 2130, 19067, 1848, 43557, 1675, + -1000, 23361, 43557, 43557, 23973, 23973, 23973, 23973, 23973, -1000, + 1883, 1874, -1000, 1930, 1912, 1961, 43557, -1000, 1560, 1248, + 2146, 21520, 367, 19067, 25809, 1451, 23973, -1000, -1000, 23973, + 43557, 9230, -1000, -1000, -2, -9, -1000, -1000, -1000, -1000, + 363, -1000, -1000, 1587, 2085, 2005, -1000, -1000, -1000, -1000, + -1000, 1556, -1000, 1554, 1476, 1542, 200, -1000, 1682, 2036, + 704, 704, -1000, 1002, -1000, 1363, 1181, 1180, -1000, -1000, + -1000, 466, -1000, 2076, 43557, 1846, 1830, 1829, -1000, -407, + 1001, 1734, 1593, 19067, 1731, 2171, 1434, 43557, -1000, -1000, + 43557, -1000, 245, -1000, 278, 43557, -1000, -1000, -1000, 293, + 43557, -1000, 6061, -1000, -1000, -1000, 206, -1000, -1000, -1000, + -1000, -1000, -1000, 43557, 220, -1000, 1728, 1004, -1000, -1000, + 1773, -1000, -1000, -1000, -1000, 201, 273, 179, 1176, 179, + -1000, 43557, 556, 1834, 43557, -1000, -1000, -1000, 863, 863, + -1000, -1000, 2031, -1000, 1363, 1733, 19679, 19679, -1000, 634, + -1000, 1675, -143, 1722, 1722, -1000, 1722, 1725, -1000, 1722, + 158, 1722, 154, 1722, -1000, -1000, -143, 1248, 1642, 1457, + -1000, 975, 19067, -1000, -1000, -1000, -1000, -1000, -1000, -57, + 1832, 1824, 1733, -1000, 1719, 1717, 19067, 1733, 1733, 1733, + -1000, 975, 988, 1820, 1406, -1000, -1000, -1000, -1000, 1473, + 1733, 1814, -255, 1248, 1535, 1535, 1535, 1535, 1535, 1528, + 1528, 1528, 1528, -1000, -1000, 1248, -1000, 1596, 1452, 1805, + 1447, -1000, 2125, 2125, 2125, 1483, 44169, 43557, -1000, -1000, + -1000, -1000, 2199, 2195, 1468, -1000, -1000, 85, 415, -1000, + 1987, 2002, -1000, 2165, 1968, 2160, -1000, -1000, -1000, -1000, + -1000, 975, -1000, 2065, 1471, -1000, 712, 1320, -1000, -1000, + 17231, 1510, 1923, 537, 1483, 1537, 2204, 1797, 1827, 2569, + -1000, -1000, -1000, -1000, 1844, -1000, 1842, -1000, -1000, 1698, + -1000, -1000, 1361, 1248, 999, 320, 23973, 1485, 1485, -1000, + 535, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 865, 5906, + 2250, -1000, 1166, -1000, 1145, 234, 986, -1000, -1000, 704, + 704, -1000, 794, 776, -1000, 43557, 1714, -1000, 342, 1160, + 342, 982, -1000, 979, -1000, -1000, -1000, -1000, 1942, 1799, + -1000, -1000, -1000, -1000, 43557, -1000, -1000, 43557, 43557, 43557, + 1713, 2153, -1000, 19067, 1712, 711, 1778, 43557, 43557, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 43219, -1000, -1000, -1000, -1000, 43219, -1000, -1000, - -1000, -1000, -1000, 109, 3, 331, -1000, -1000, -1000, -1000, - -1000, 2079, -1000, 988, 716, 657, -1000, 1582, -1000, -1000, - 867, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 936, 19341, - 19341, 19341, 1655, 424, 1532, 913, 943, 841, 841, 849, - 849, 580, 580, 580, 580, 580, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 1148, -1000, 1440, -1000, 1349, 1627, - 1126, -1000, 1440, 1440, 1165, 17505, -1000, -1000, 678, -1000, - 18729, 1126, -1000, -1000, 1126, 1126, 18117, 18729, 18729, 18729, - 18729, 1503, 1501, 2178, -1000, -1000, -1000, -1000, -1000, -1000, + 391, 704, -378, 254, 252, 704, 704, 704, -408, -1000, + -1000, 1480, 1449, -1000, -126, -1000, 19067, -1000, -1000, -1000, + 1067, 1067, -1000, 1698, -1000, -1000, -1000, 1312, -1000, -1000, + -115, 43557, 43557, 43557, 43557, -1000, 938, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 634, + 19679, 1248, -1000, -1000, 342, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 1248, -1000, 19067, -1000, 19067, -1000, 975, 2130, + 1155, 19067, 19067, -1000, 976, 950, 1733, -1000, -1000, -1000, + 1248, 20291, -1000, 20291, -1000, 19067, 233, 344, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 860, 1242, 1242, 1242, 1242, - 1242, 18729, 1631, -1000, -1000, -1000, 2524, 2492, 1126, 1308, - 1126, 1490, -1000, 2479, 1242, 2468, 2459, 2424, 1803, 2388, - 2363, 2356, 1242, 1242, 1242, 1795, 2343, 2338, 2317, 2285, - 2274, 2252, 2242, 2235, 2166, 1242, 1126, 17505, 17505, 1485, - 1582, 505, -1000, 1440, 1126, 1126, 1440, 1440, 2132, 2124, - 2059, 2009, 11360, 1126, -1000, 43219, -1000, -297, -1000, -19, - 562, 1582, -1000, 29755, 1126, -1000, 5671, -1000, 44443, -1000, - -1000, -1000, -1000, -1000, 27919, 1577, 2217, -1000, -1000, 1582, - 1481, -1000, -1000, 312, 58, 27307, 569, 569, 91, 988, - 988, 18729, -1000, -1000, -1000, -1000, -1000, -1000, 500, 2148, - 347, 1582, -1000, 1635, 2392, -1000, -1000, -1000, 2036, 21182, - -1000, 1582, 1582, 43219, 1575, 1546, -1000, 498, -1000, 1471, - 1, -8, -1000, -1000, -1000, -1000, 988, -1000, 1056, 300, - 3259, -1000, 368, -1000, -1000, -1000, -1000, 1940, 59, -1000, - -1000, -1000, 219, 312, -1000, -1000, -1000, -1000, -1000, -1000, - 1142, 1142, -1000, -1000, -1000, -1000, -1000, 973, -1000, -1000, - -1000, 954, -1000, -1000, 1964, 1768, 281, -1000, -1000, 614, - 1138, -1000, -1000, 1943, 614, 614, 43219, -1000, -1000, 1259, - 2019, 182, 43219, 631, 1791, -1000, 1736, 1736, 1736, 43219, - -1000, -1000, -1000, -1000, -1000, -1000, -393, 68, 341, -1000, - -1000, -1000, 4511, 43219, 1464, -1000, 174, -1000, 1257, -1000, - 43219, -1000, 1447, 1697, 1192, 1192, -1000, -1000, -1000, 43219, - 1582, -1000, -1000, -1000, -1000, 445, 1984, 262, -1000, -1000, - -200, -1000, -1000, 176, 174, 541, 1192, -1000, -1000, -1000, - -1000, -1000, -398, 1445, 416, 187, 295, 43219, 43219, 43219, - 43219, 43219, 487, -1000, -1000, -1000, -1000, 163, -1000, -1000, - 163, -1000, -1000, -1000, -1000, 221, 396, -1000, 43219, 43219, - 598, -1000, -1000, -1000, 759, -1000, -1000, 759, -1000, -1000, - -1000, -1000, -1000, 1981, 43219, -9, -353, -1000, -347, 18729, - -1000, -1000, -1000, -1000, 1589, 395, 1532, 19341, 19341, 17505, - -117, 286, 286, 26695, -1000, -1000, -1000, 18729, 18729, 1443, - 611, -1000, 18729, 1025, -1000, -1000, -1000, 1126, 1333, 1333, - 1333, 1333, 1333, 18729, 18729, 18729, 1126, 267, -1000, -1000, - -1000, -1000, -1000, 2169, -1000, 18729, 18729, 18729, -1000, -1000, - 18729, 18729, -1000, 18729, 18729, 19953, 1126, 19953, 18729, 18729, - 19953, -1000, -1000, -1000, -1000, 19953, 18729, 18729, 18729, 18729, - 18729, 18729, 18729, 18729, 18729, -1000, -1000, 1440, 1440, 17505, - 11360, -1000, -1000, -1000, -1000, -1000, 18729, 18729, 18729, 18729, - -1000, -1000, -1000, -1000, -1000, 562, -1000, 496, 496, 496, - 43219, -1000, -1000, -1000, -1000, -1000, -1000, 1449, 2069, -1000, - 1891, 1873, 2165, 2148, -1000, 23635, 2217, -1000, -1000, 43219, - -289, -1000, 1915, 1888, 569, 569, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 9509, 2084, 18729, 1790, 43219, 1582, -1000, - 23023, 43219, 43219, 23635, 23635, 23635, 23635, 23635, -1000, 1841, - 1823, -1000, 1815, 1808, 1819, 43219, -1000, 1428, 1126, 2170, - 21182, 333, 18729, 25471, 1461, 23635, -1000, -1000, 23635, 43219, - 8892, -1000, -1000, -10, -24, -1000, -1000, -1000, -1000, 2744, - -1000, -1000, 2858, 2034, 1935, -1000, -1000, -1000, -1000, -1000, - 1415, -1000, 1390, 1412, 1385, 178, -1000, 1632, 1979, 614, - 614, -1000, 951, -1000, 1192, 1135, 1133, -1000, -1000, -1000, - 415, -1000, 2027, 43219, 1788, 1787, 1786, -1000, -406, 949, - 1696, 1598, 18729, 1689, 2110, 1376, 43219, -1000, -1000, 43219, - -1000, 166, -1000, 281, 43219, -1000, -1000, -1000, 291, 43219, - -1000, 7046, -1000, -1000, -1000, 174, -1000, -1000, -1000, -1000, - -1000, -1000, 43219, 195, -1000, 1687, 1218, -1000, -1000, 1734, - -1000, -1000, -1000, -1000, 167, 218, 159, 1129, 159, -1000, - 43219, 540, 1768, 43219, -1000, -1000, -1000, 748, 748, -1000, - -1000, 1963, -1000, 1192, 1242, 19341, 19341, -1000, 572, -1000, - 1582, -163, 1678, 1678, -1000, 1678, 1686, -1000, 1678, 135, - 1678, 124, 1678, -1000, -1000, -163, 1126, 1770, 1094, -79, - -1000, 988, 18729, -1000, -1000, -1000, -1000, -1000, -1000, 1969, - 1946, 1242, -1000, 1676, 1675, 18729, 1242, 1242, 1242, -1000, - 988, 1803, 1906, 1279, -1000, -1000, -1000, -1000, 1404, 1242, - 1872, -286, 1126, 1367, 1367, 1367, 1367, 1367, 1333, 1333, - 1333, 1333, -1000, -1000, 1126, -1000, 1764, 1699, 1867, 1458, - -1000, 2075, 2075, 2075, 1301, 43831, 43219, -1000, -1000, -1000, - -1000, 2148, 2133, 1378, -1000, -1000, 58, 394, -1000, 1911, - 1888, -1000, 2107, 1907, 2104, -1000, -1000, -1000, -1000, -1000, - 988, -1000, 1998, 1329, -1000, 627, 1292, -1000, -1000, 16893, - 1303, 1864, 497, 1301, 1399, 2392, 1733, 1784, 2000, -1000, - -1000, -1000, -1000, 1807, -1000, 1804, -1000, -1000, 1588, -1000, - -1000, 1431, 1126, 1839, 297, 23635, 1362, 1362, -1000, 493, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 763, 6497, 2202, - -1000, 1124, -1000, 1050, 191, 939, -1000, -1000, 614, 614, - -1000, 689, 682, -1000, 43219, 1643, -1000, 312, 1123, 312, - 906, -1000, 899, -1000, -1000, -1000, -1000, 1745, 1817, -1000, - -1000, -1000, -1000, 43219, -1000, -1000, 43219, 43219, 43219, 1626, - 2100, -1000, 18729, 1625, 621, 1861, 43219, 43219, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 405, - 614, -365, 232, 224, 614, 614, 614, -407, -1000, -1000, - 1297, 1288, -1000, -152, -1000, 18729, -1000, -1000, -1000, 935, - 935, -1000, 1588, -1000, -1000, -1000, 1249, -1000, -1000, -131, - 43219, 43219, 43219, 43219, -1000, 929, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 572, 19341, - 1126, -1000, -1000, 312, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 1126, -1000, 18729, -1000, 18729, -1000, 2084, 1114, 988, - 18729, 18729, -1000, 896, 883, 1242, -1000, -1000, -1000, 1126, - 19953, -1000, 19953, -1000, 18729, 226, 286, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 18729, - -1000, 18729, 18729, -1000, 18729, 1582, 1922, 1582, 1582, 25471, - -1000, -1000, 2133, 2136, 2097, 1892, 1900, 1900, 1911, -1000, - 2094, 2093, -1000, 1110, 2092, 1108, 666, -1000, 43219, 18729, - 1582, -1000, 330, 43219, 1582, 43219, -1000, 2125, -1000, -1000, - 18729, 1622, -1000, 18729, -1000, -1000, -1000, -1000, -1000, -1000, - 6065, 2148, 1362, -1000, -1000, 588, -1000, 18729, -1000, -1000, - -1000, 5097, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 1103, 1098, -1000, -1000, 1594, 18729, -1000, -1000, -1000, 1243, - 1231, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1588, - -1000, -1000, -1000, -1000, 291, -402, 1571, 43219, 873, -1000, - 1284, 1376, 277, 1582, 1090, 614, 614, 614, 844, 837, - 29755, 1281, -1000, 43219, 348, -1000, 291, -1000, -159, -160, - 1242, -1000, -1000, 2033, -1000, -1000, 11360, -1000, -1000, 1586, - 1735, -1000, -1000, -1000, 207, -1000, -1000, -1000, 1242, 1242, - 1126, -1000, 1242, 1242, 1170, 1137, -1000, -1000, 1279, -1000, - 1354, -1000, 226, 1126, 1783, -1000, -1000, 6065, -1000, 1330, - 1242, 1321, 1312, 26083, -1000, 2090, 2087, 30367, 30367, 562, - 2136, -1000, 18729, 18729, 1897, 857, -1000, -1000, -1000, -1000, - 1078, 1074, -1000, 1073, -1000, 2201, -1000, 988, -1000, 1582, - -1000, 484, 1292, -1000, 2084, 988, 43219, 988, 50, 2125, - -1000, 1242, -1000, 1582, 1582, 1582, 1582, 1582, 1582, 1582, - 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, - 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, - 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, - 1582, 1582, 1582, 1582, -1000, -1000, 43219, 1478, -1000, -1000, - 2032, 1274, 62, -1000, 1272, -1000, -1000, 465, -1000, 18729, - -1000, 29755, 1069, 869, -1000, -1000, -1000, -1000, -407, -1000, - -1000, -1000, -1000, -1000, -1000, 333, 1369, -1000, 612, 43219, - 43219, 1126, 288, -144, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 18729, -1000, 1126, 1774, -1000, -248, -1000, - -1000, 18729, -1000, -1000, 18729, -1000, 18729, 1255, -1000, -1000, - -1000, -1000, -1000, 1255, 1255, -1000, -1000, 988, 1308, -1000, - 798, -1000, -1000, -1000, -1000, -1000, 43219, 1292, 43219, -1000, - 1252, 1126, 1582, 2084, -1000, 1240, -1000, 333, -1000, 1565, - 1598, -1000, -1000, -1000, 16281, -1000, -1000, -1000, -1000, -1000, - 186, -128, 11360, 8275, 1236, -1000, -1000, 1843, -122, -147, - 1803, -1000, -333, -1000, -1000, 1268, 1161, 1132, 29143, -1000, - -1000, -1000, -1000, -1000, 1267, -1000, -1000, 25471, 42607, -1000, - -113, 214, -128, 18729, 1316, 1126, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -3, -1000, -1000, -1000, -1000, -1000, - 1734, -1000, 1830, -1000, 1126, -1000, 18729, -1000, 18729, -1000, - 18729, -1000, -1000, -1000, 1230, -1000, 5747, -230, 1766, -1000, - -73, -1000, -1000, -1000, 741, 843, -1000, -1000, -1000, -1000, - -1000, -1000, 1382, 43219, -1000, 358, -1000, -1000, -131, -135, - -1000, 1121, 1085, 1242, -1000, 42607, -224, 541, 6065, -1000, - 1756, 1599, 2156, -1000, -1000, -1000, -1000, -1000, -1000, -415, - 1224, 197, -1000, -145, -1000, 18729, -1000, 18729, -1000, -1000, - -1000, 2024, 50, -1000, 2200, -1000, 2190, 623, 623, -1000, - 836, -415, -1000, -150, 1242, 1242, -237, -1000, -1000, -1000, - -1000, -1000, 355, 853, -1000, -1000, -1000, -1000, -1000, -1000, - 6065, -1000, -1000, -1000, 213, 213, -1000, -1000, + 19067, -1000, 19067, 19067, -1000, 19067, 1675, 1949, 1675, 1675, + 25809, -1000, -1000, 2195, 2184, 2151, 1951, 1955, 1955, 1987, + -1000, 2150, 2141, -1000, 1153, 2137, 1149, 774, -1000, 43557, + 19067, 1675, -1000, 375, 43557, 1675, 43557, -1000, 2181, -1000, + -1000, 19067, 1700, -1000, 19067, -1000, -1000, -1000, -1000, -1000, + -1000, 6605, 2199, 1485, -1000, -1000, 636, -1000, 19067, -1000, + -1000, -1000, 2961, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 1140, 1124, -1000, -1000, 1699, 19067, -1000, -1000, -1000, + 1292, 1287, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 1698, -1000, -1000, -1000, -1000, 293, -403, 1755, 43557, 944, + -1000, 1421, 1434, 279, 1675, 1119, 704, 704, 704, 932, + 923, 30093, 1416, -1000, 43557, 360, -1000, 293, -1000, -139, + -140, 1733, -1000, -1000, 2083, -1000, -1000, 11698, -1000, -1000, + 1676, 1787, -1000, -1000, -1000, 253, -1000, -1000, -1000, 1733, + 1733, 1248, -1000, 1733, 1733, 1284, 1282, -1000, -1000, 1406, + -1000, 1386, -1000, 233, 1248, 1823, -1000, -1000, 6605, -1000, + 1353, 1733, 1347, 1333, 26421, -1000, 2133, 2132, 30705, 30705, + 604, 2184, -1000, 19067, 19067, 1946, 971, -1000, -1000, -1000, + -1000, 1118, 1112, -1000, 1111, -1000, 2242, -1000, 975, -1000, + 1675, -1000, 522, 1320, -1000, 2130, 975, 43557, 975, 75, + 2181, -1000, 1733, -1000, 1675, 1675, 1675, 1675, 1675, 1675, + 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, + 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, + 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, + 1675, 1675, 1675, 1675, 1675, 1675, -1000, -1000, 43557, 1751, + -1000, -1000, 2081, 1378, 67, -1000, 1376, -1000, -1000, 480, + -1000, 19067, -1000, 30093, 1109, 1101, -1000, -1000, -1000, -1000, + -408, -1000, -1000, -1000, -1000, -1000, -1000, 367, 1419, -1000, + 675, 43557, 43557, 1248, 304, -123, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 19067, -1000, 1248, 1812, -1000, + -220, -1000, -1000, 19067, -1000, -1000, 19067, -1000, 19067, 1372, + -1000, -1000, -1000, -1000, -1000, 1372, 1372, -1000, -1000, 975, + 1400, -1000, 964, -1000, -1000, -1000, -1000, -1000, 43557, 1320, + 43557, -1000, 1370, 1248, 1675, 2130, -1000, 1355, -1000, 367, + -1000, 1578, 1593, -1000, -1000, -1000, 16619, -1000, -1000, -1000, + -1000, -1000, 215, -113, 11698, 8613, 1344, -1000, -1000, 1895, + -105, -121, 988, -1000, -309, -1000, -1000, 1267, 1144, 1128, + 29481, -1000, -1000, -1000, -1000, -1000, 1276, -1000, -1000, 25809, + 42945, -1000, -97, 266, -113, 19067, 1545, 1248, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 31, -1000, -1000, -1000, + -1000, -1000, 1773, -1000, 1889, -1000, 1248, -1000, 19067, -1000, + 19067, -1000, 19067, -1000, -1000, -1000, 1341, -1000, 2880, -209, + 1810, -1000, -51, -1000, -1000, -1000, 849, 1095, -1000, -1000, + -1000, -1000, -1000, -1000, 1744, 43557, -1000, 379, -1000, -1000, + -115, -116, -1000, 1046, 949, 1733, -1000, 42945, -204, 631, + 6605, -1000, 1808, 1776, 2203, -1000, -1000, -1000, -1000, -1000, + -1000, -414, 1328, 226, -1000, -125, -1000, 19067, -1000, 19067, + -1000, -1000, -1000, 2072, 75, -1000, 2238, -1000, 2228, 627, + 627, -1000, 904, -414, -1000, -122, 1733, 1733, -215, -1000, + -1000, -1000, -1000, -1000, 378, 990, -1000, -1000, -1000, -1000, + -1000, -1000, 6605, -1000, -1000, -1000, 243, 243, -1000, -1000, } var yyPgo = [...]int{ - 0, 2674, 2673, 23, 6, 39, 37, 2671, 75, 115, - 197, 66, 193, 119, 2669, 2668, 2667, 2666, 2661, 2658, - 2657, 229, 227, 225, 2654, 2653, 2651, 2649, 2646, 2645, - 2644, 2643, 2642, 2641, 233, 170, 190, 2640, 2639, 2638, - 125, 186, 96, 98, 188, 2637, 2636, 84, 2635, 2634, - 2632, 182, 181, 178, 752, 2629, 180, 128, 45, 2627, - 2626, 2624, 2620, 2619, 2616, 2614, 2613, 2612, 2610, 2609, - 2608, 2601, 2600, 2599, 2589, 2585, 198, 2584, 2580, 16, - 2578, 90, 2577, 2575, 2569, 2568, 136, 2565, 2564, 2561, - 26, 2559, 2558, 2557, 2545, 2544, 2543, 2542, 150, 2536, - 2535, 2533, 174, 192, 2531, 2530, 309, 126, 121, 2525, - 2523, 124, 191, 2522, 123, 2519, 2516, 2514, 159, 2513, - 2298, 2510, 74, 77, 2509, 201, 97, 73, 67, 38, - 3, 2508, 2503, 68, 89, 2500, 2498, 106, 88, 2497, - 111, 101, 2493, 2490, 14, 8, 2489, 1, 4, 2, - 85, 2488, 2487, 132, 2480, 2473, 2471, 104, 2470, 2469, - 4525, 2468, 103, 143, 116, 83, 2467, 33, 53, 2466, - 2457, 2454, 2452, 2451, 48, 2446, 2441, 2437, 152, 40, - 172, 46, 35, 52, 144, 2436, 34, 94, 2434, 149, - 148, 2433, 58, 28, 42, 2429, 30, 142, 141, 63, - 118, 145, 2419, 2418, 49, 80, 2414, 2409, 2408, 2407, - 171, 2406, 2405, 79, 2402, 65, 2399, 209, 2396, 55, - 2395, 50, 41, 2394, 71, 133, 78, 32, 2393, 161, - 2385, 59, 169, 139, 164, 2384, 2383, 2382, 2377, 189, - 294, 2369, 2368, 93, 177, 151, 160, 102, 2366, 304, - 2364, 2363, 99, 531, 3200, 21, 166, 2362, 2359, 5247, - 147, 27, 20, 2354, 137, 2353, 2352, 2351, 194, 176, - 122, 929, 61, 2349, 2348, 82, 15, 2346, 2345, 2343, - 2341, 2332, 2328, 86, 36, 31, 29, 205, 70, 11, - 105, 184, 81, 2323, 2312, 2311, 129, 110, 2310, 175, - 168, 138, 167, 2308, 179, 158, 135, 2303, 719, 25, - 2299, 2293, 2292, 2288, 100, 2286, 2285, 2283, 2277, 162, - 154, 127, 95, 2275, 92, 131, 157, 165, 47, 2273, - 43, 2269, 2267, 22, 187, 17, 2261, 12, 60, 69, - 24, 117, 120, 2259, 0, 2257, 13, 185, 307, 163, - 2254, 2252, 7, 5, 10, 2245, 2243, 2242, 2238, 146, - 2236, 2233, 2225, 2223, 19, 44, 18, 9, 134, 91, - 2222, 2220, 4135, 1320, 140, 2218, 200, + 0, 2712, 2711, 24, 2, 40, 39, 2710, 37, 118, + 192, 32, 197, 106, 2709, 2708, 2706, 2705, 2701, 2699, + 2696, 261, 260, 221, 2694, 2692, 2691, 2690, 2687, 2686, + 2684, 2683, 2682, 2681, 254, 173, 189, 2680, 2678, 2677, + 127, 181, 102, 104, 184, 2675, 2674, 90, 2673, 2670, + 2669, 199, 194, 193, 800, 2668, 203, 128, 48, 2667, + 2666, 2665, 2664, 2663, 2661, 2659, 2654, 2653, 2650, 2648, + 2644, 2643, 2640, 2630, 2629, 2628, 225, 2626, 2625, 16, + 2624, 89, 2623, 2622, 2619, 2617, 142, 2616, 2615, 2614, + 27, 2613, 2612, 2609, 2607, 2604, 2602, 2601, 154, 2600, + 2599, 2598, 174, 191, 2597, 2596, 262, 124, 147, 2590, + 2588, 107, 187, 2587, 137, 2586, 2583, 2579, 161, 2572, + 2658, 2570, 77, 73, 2564, 61, 85, 71, 75, 18, + 9, 2561, 2558, 74, 88, 2557, 2556, 108, 91, 2555, + 105, 130, 2553, 2547, 14, 4, 2543, 1, 6, 3, + 80, 2541, 2537, 131, 2536, 2532, 2531, 100, 2528, 2525, + 4105, 2522, 103, 145, 110, 83, 2515, 45, 63, 2513, + 2510, 2509, 2506, 2504, 58, 2503, 2502, 2501, 152, 53, + 177, 44, 43, 52, 151, 2500, 176, 93, 2499, 148, + 153, 2497, 60, 46, 28, 2495, 42, 146, 134, 25, + 101, 158, 2494, 2491, 68, 82, 2490, 2489, 2488, 2485, + 178, 2484, 2483, 81, 2482, 66, 2479, 220, 2474, 19, + 2469, 50, 34, 2468, 76, 125, 79, 33, 2455, 175, + 2453, 59, 170, 143, 166, 2445, 2443, 2442, 2440, 188, + 324, 2437, 2434, 172, 179, 155, 162, 98, 2432, 326, + 2430, 2429, 99, 1305, 3588, 31, 171, 2420, 2417, 5583, + 150, 41, 17, 2414, 129, 2413, 2412, 2411, 190, 185, + 123, 1032, 67, 2403, 2402, 84, 13, 2401, 2399, 2398, + 2397, 2391, 2388, 92, 36, 35, 30, 195, 70, 11, + 120, 165, 86, 2386, 2384, 2383, 138, 97, 2382, 169, + 168, 141, 164, 2381, 183, 156, 132, 2378, 65, 29, + 2372, 2369, 2366, 2350, 111, 2347, 2346, 2343, 2342, 167, + 160, 136, 94, 2333, 95, 133, 157, 163, 55, 2330, + 49, 2317, 2312, 26, 182, 23, 2311, 12, 69, 78, + 22, 122, 116, 2309, 0, 2305, 15, 180, 325, 159, + 2302, 2300, 8, 5, 10, 2299, 2297, 2294, 2291, 149, + 2290, 2289, 2286, 2283, 21, 47, 20, 7, 126, 96, + 2279, 2269, 5159, 1921, 144, 2264, 200, } -//line sql.y:7241 +//line sql.y:7242 type yySymType struct { union any empty struct{} @@ -7016,7 +7050,7 @@ var yyR1 = [...]int{ 169, 169, 177, 177, 177, 177, 170, 170, 170, 170, 170, 170, 170, 178, 178, 178, 184, 179, 179, 175, 175, 175, 175, 173, 173, 173, 173, 173, 173, 173, - 173, 173, 173, 174, 174, 174, 174, 174, 174, 174, + 173, 173, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, @@ -7097,7 +7131,7 @@ var yyR1 = [...]int{ 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, - 253, 253, 253, 372, 373, 268, 269, 269, 269, + 253, 253, 253, 253, 372, 373, 268, 269, 269, 269, } var yyR2 = [...]int{ @@ -7204,9 +7238,9 @@ var yyR2 = [...]int{ 2, 2, 3, 3, 3, 1, 1, 1, 0, 3, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 4, - 5, 5, 6, 4, 4, 8, 6, 8, 6, 8, - 5, 4, 2, 2, 1, 2, 2, 2, 5, 5, - 5, 5, 5, 5, 8, 8, 6, 5, 4, 4, + 5, 5, 6, 4, 4, 8, 6, 8, 6, 5, + 4, 2, 2, 1, 2, 2, 2, 5, 5, 5, + 5, 5, 5, 8, 8, 8, 6, 5, 4, 4, 4, 4, 4, 7, 4, 6, 6, 6, 4, 4, 4, 7, 8, 6, 5, 6, 8, 11, 7, 8, 8, 9, 4, 4, 4, 4, 6, 6, 6, 6, @@ -7286,7 +7320,7 @@ var yyR2 = [...]int{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 0, 0, 1, 1, + 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, } var yyChk = [...]int{ @@ -7310,303 +7344,303 @@ var yyChk = [...]int{ 597, 243, 598, 599, 600, 601, 607, 562, 608, 609, 610, 124, 7, -76, -263, -259, -344, -253, 89, 90, 91, 477, 246, 511, 512, 295, 81, 41, 486, 357, - 360, 513, 468, 591, 306, 320, 314, 341, 333, 478, + 360, 513, 467, 591, 306, 320, 314, 341, 333, 478, 514, 487, 298, 247, 283, 588, 331, 132, 593, 301, 515, 261, 365, 366, 516, 367, 102, 309, 404, 606, - 300, 517, 604, 104, 592, 79, 467, 51, 44, 256, + 300, 517, 604, 104, 592, 79, 466, 51, 44, 256, 329, 230, 325, 594, 284, 518, 489, 277, 123, 120, 613, 36, 323, 50, 30, 603, 122, 49, 595, 147, 519, 596, 520, 369, 348, 582, 48, 370, 262, 521, 84, 267, 482, 304, 590, 371, 324, 372, 294, 602, 227, 522, 574, 373, 374, 583, 523, 349, 353, 524, - 396, 375, 620, 52, 525, 526, 584, 121, 527, 78, - 597, 80, 318, 319, 528, 292, 245, 398, 345, 450, - 457, 458, 108, 109, 453, 110, 459, 111, 460, 461, - 462, 451, 112, 105, 452, 463, 464, 346, 347, 113, - 465, 107, 106, 454, 456, 114, 466, 243, 35, 376, - 479, 296, 58, 271, 399, 46, 351, 617, 45, 578, - 529, 581, 344, 340, 447, 53, 530, 531, 532, 533, - 469, 598, 343, 317, 339, 612, 4, 289, 470, 599, - 62, 229, 355, 354, 356, 278, 395, 336, 534, 535, - 536, 250, 82, 537, 326, 21, 538, 539, 377, 285, - 540, 56, 541, 542, 402, 259, 543, 54, 600, 39, - 544, 264, 614, 601, 545, 546, 547, 548, 266, 549, - 379, 550, 378, 350, 352, 273, 380, 481, 551, 305, - 322, 263, 605, 552, 251, 472, 473, 474, 475, 589, - 265, 270, 258, 403, 252, 553, 554, 555, 556, 557, - 299, 573, 558, 559, 310, 607, 448, 43, 560, 561, - 562, 563, 564, 293, 288, 397, 406, 61, 83, 362, - 565, 566, 587, 316, 286, 567, 307, 55, 608, 609, - 610, 280, 611, 9, 618, 619, 471, 382, 124, 290, - 291, 47, 337, 272, 568, 302, 569, 327, 328, 342, - 315, 338, 308, 575, 274, 383, 449, 260, 570, 405, - 287, 358, 363, 303, 485, 279, 384, 586, 484, 335, - 332, 281, 571, 385, 235, 275, 276, 572, 576, 386, - 387, 297, 388, 389, 390, 391, 392, 394, 393, 282, - 483, 313, 330, 364, 418, 419, 420, 421, 422, 423, - 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, - 434, 435, 446, 233, -76, 233, -160, -259, 233, -229, - 366, -250, 368, 381, 376, 386, 374, -241, 377, 379, - 273, -361, 396, 233, 383, 221, 369, 378, 387, 388, - 297, 394, 389, 393, 282, 390, 391, 392, -344, 174, - 596, 611, 132, 334, 373, 371, 397, 578, -259, 308, - -266, 313, -254, -344, -253, 311, -160, -82, 574, 225, - -268, -268, -105, 578, 580, -179, -120, 140, -131, -134, - -125, -126, -173, -174, -175, -176, -132, -186, 163, 164, - 171, 141, -184, -135, 26, 476, 439, 438, 174, 31, - 217, 68, 69, 441, 442, 143, 57, 414, 415, -133, - 409, 416, 411, 467, 469, 470, 471, 468, 444, 445, - 115, 446, 105, 107, 106, 447, 448, 449, 346, 347, - 450, 451, 452, 108, 109, 110, 111, 112, 113, 114, - 453, 456, 454, 455, 457, 458, 459, 464, 465, 460, - 461, 462, 463, 466, -136, -254, -259, 238, 408, 232, - 169, 437, -127, -123, -8, -182, 407, 412, 413, 417, - 410, 472, 473, 474, 475, -344, -253, -129, -128, -169, - 92, 98, 103, 99, -367, 116, -372, 93, 94, 95, - 96, 97, 117, 118, 175, 176, 177, 178, 179, 180, - 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, - 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, - 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, - 211, 212, 213, 214, 215, 216, 44, 382, 382, -160, - -76, -76, -76, -76, -194, -103, -196, -10, -8, -372, - 8, -76, -8, -9, -13, -34, -36, 507, -35, -259, - -201, -217, 12, 159, 42, 50, -199, -200, -12, -8, - -120, 19, 23, 24, -108, 165, -120, -259, -77, -108, - -239, 237, -76, -76, -228, -271, 308, -232, 397, 396, - -255, -230, -254, -252, -229, 395, 226, 23, 139, 25, - 27, 142, 174, 127, 19, 143, 37, 228, 334, 244, - 173, 240, 438, 221, 72, 488, 409, 411, 407, 414, - 440, 441, 408, 368, 31, 13, 490, 28, 254, 24, - 38, 167, 223, 146, 491, 257, 26, 255, 115, 118, - 493, 22, 75, 249, 14, 242, 40, 16, 494, 495, - 17, 238, 237, 159, 234, 70, 11, 217, 29, 155, - 66, 496, 134, 497, 498, 499, 500, 128, 68, 156, - 20, 615, 412, 413, 33, 579, 476, 268, 169, 73, - 59, 580, 140, 410, 501, 502, 116, 503, 119, 76, - 585, 136, 18, 71, 42, 504, 269, 505, 239, 616, - 506, 400, 507, 157, 224, 437, 69, 158, 508, 232, - 381, 8, 443, 32, 253, 241, 126, 67, 509, 233, - 145, 444, 445, 236, 129, 117, 7, 133, 34, 12, - 74, 77, 415, 416, 417, 57, 125, 480, 144, 15, - 510, 401, 138, 132, -311, 156, -297, -301, -254, 248, - -327, 244, -160, -320, -319, -254, -372, -104, -249, 234, - 242, 241, 133, -348, 136, 290, 408, 232, -51, -52, - -53, -229, 173, 595, -86, 265, 269, 87, 87, -301, - -300, -299, -349, 269, 248, -326, -318, 240, 249, -307, - 241, 242, -302, 234, 134, -349, -302, 239, 249, 244, - 248, 269, 269, 124, 269, 124, 269, 269, 269, 269, - 269, 269, 269, 269, 269, 264, -308, 148, -308, 484, - 484, -314, -349, 244, 234, -349, -349, 236, 35, 35, - -251, -302, 236, 25, -308, -308, -308, -229, 173, -308, - -308, -308, -308, 277, 277, -308, -308, -308, -308, -308, + 396, 471, 375, 620, 52, 525, 526, 584, 121, 527, + 78, 597, 80, 318, 319, 528, 292, 245, 398, 345, + 449, 456, 457, 108, 109, 452, 110, 458, 111, 459, + 460, 461, 450, 112, 105, 451, 462, 463, 346, 347, + 113, 464, 107, 106, 453, 455, 114, 465, 243, 35, + 376, 479, 296, 58, 271, 399, 46, 351, 617, 45, + 578, 529, 581, 344, 340, 446, 53, 530, 531, 532, + 533, 468, 598, 343, 317, 339, 612, 4, 289, 469, + 599, 62, 229, 355, 354, 356, 278, 395, 336, 534, + 535, 536, 250, 82, 537, 326, 21, 538, 539, 377, + 285, 540, 56, 541, 542, 402, 259, 543, 54, 600, + 39, 544, 264, 614, 601, 545, 546, 547, 548, 266, + 549, 379, 550, 378, 350, 352, 273, 380, 481, 551, + 305, 322, 263, 605, 552, 251, 472, 473, 474, 475, + 589, 265, 270, 258, 403, 252, 553, 554, 555, 556, + 557, 299, 573, 558, 559, 310, 607, 447, 43, 560, + 561, 562, 563, 564, 293, 288, 397, 406, 61, 83, + 362, 565, 566, 587, 316, 286, 567, 307, 55, 608, + 609, 610, 280, 611, 9, 618, 619, 470, 382, 124, + 290, 291, 47, 337, 272, 568, 302, 569, 327, 328, + 342, 315, 338, 308, 575, 274, 383, 448, 260, 570, + 405, 287, 358, 363, 303, 485, 279, 384, 586, 484, + 335, 332, 281, 571, 385, 235, 275, 276, 572, 576, + 386, 387, 297, 388, 389, 390, 391, 392, 394, 393, + 282, 483, 313, 330, 364, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, + 433, 434, 435, 445, 233, -76, 233, -160, -259, 233, + -229, 366, -250, 368, 381, 376, 386, 374, -241, 377, + 379, 273, -361, 396, 233, 383, 221, 369, 378, 387, + 388, 297, 394, 389, 393, 282, 390, 391, 392, -344, + 174, 596, 611, 132, 334, 373, 371, 397, 578, -259, + 308, -266, 313, -254, -344, -253, 311, -160, -82, 574, + 225, -268, -268, -105, 578, 580, -179, -120, 140, -131, + -134, -125, -126, -173, -174, -175, -176, -132, -186, 163, + 164, 171, 141, -184, -135, 26, 476, 439, 438, 174, + 31, 217, 68, 69, 441, 143, 57, 414, 415, -133, + 409, 416, 411, 466, 468, 469, 470, 467, 471, 443, + 444, 115, 445, 105, 107, 106, 446, 447, 448, 346, + 347, 449, 450, 451, 108, 109, 110, 111, 112, 113, + 114, 452, 455, 453, 454, 456, 457, 458, 463, 464, + 459, 460, 461, 462, 465, -136, -254, -259, 238, 408, + 232, 169, 437, -127, -123, -8, -182, 407, 412, 413, + 417, 410, 472, 473, 474, 475, -344, -253, -129, -128, + -169, 92, 98, 103, 99, -367, 116, -372, 93, 94, + 95, 96, 97, 117, 118, 175, 176, 177, 178, 179, + 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, + 210, 211, 212, 213, 214, 215, 216, 44, 382, 382, + -160, -76, -76, -76, -76, -194, -103, -196, -10, -8, + -372, 8, -76, -8, -9, -13, -34, -36, 507, -35, + -259, -201, -217, 12, 159, 42, 50, -199, -200, -12, + -8, -120, 19, 23, 24, -108, 165, -120, -259, -77, + -108, -239, 237, -76, -76, -228, -271, 308, -232, 397, + 396, -255, -230, -254, -252, -229, 395, 226, 23, 139, + 25, 27, 142, 174, 127, 19, 143, 37, 228, 334, + 244, 173, 240, 438, 221, 72, 488, 409, 411, 407, + 414, 440, 441, 408, 368, 31, 13, 490, 28, 254, + 24, 38, 167, 223, 146, 491, 257, 26, 255, 115, + 118, 493, 22, 75, 249, 14, 242, 40, 16, 494, + 495, 17, 238, 237, 159, 234, 70, 11, 217, 29, + 155, 66, 496, 134, 497, 498, 499, 500, 128, 68, + 156, 20, 615, 412, 413, 33, 579, 476, 268, 169, + 73, 59, 580, 140, 410, 501, 502, 116, 503, 119, + 76, 585, 136, 18, 71, 42, 504, 269, 505, 239, + 616, 506, 400, 507, 157, 224, 437, 69, 158, 508, + 232, 381, 8, 442, 32, 253, 241, 126, 67, 509, + 233, 145, 443, 444, 236, 129, 117, 7, 133, 34, + 12, 74, 77, 415, 416, 417, 57, 125, 480, 144, + 15, 510, 401, 138, 132, -311, 156, -297, -301, -254, + 248, -327, 244, -160, -320, -319, -254, -372, -104, -249, + 234, 242, 241, 133, -348, 136, 290, 408, 232, -51, + -52, -53, -229, 173, 595, -86, 265, 269, 87, 87, + -301, -300, -299, -349, 269, 248, -326, -318, 240, 249, + -307, 241, 242, -302, 234, 134, -349, -302, 239, 249, + 244, 248, 269, 269, 124, 269, 124, 269, 269, 269, + 269, 269, 269, 269, 269, 269, 264, -308, 148, -308, + 484, 484, -314, -349, 244, 234, -349, -349, 236, 35, + 35, -251, -302, 236, 25, -308, -308, -308, -229, 173, + -308, -308, -308, -308, 277, 277, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, -308, - -308, -308, 233, -348, -112, 393, 297, 81, -54, 279, - -37, -160, -249, 234, 235, -348, 266, -160, 218, -160, - -243, 156, 15, -243, -240, 382, 380, 367, 372, -243, - -243, -243, -243, 280, 365, -303, 234, 35, 245, 382, - 280, 365, 280, 281, 280, 281, 375, 385, 280, -264, - 14, 159, 408, 370, 374, 273, 233, 274, 235, 384, - 281, -264, 93, -244, 156, 382, 276, -243, -243, -269, - -372, -255, 334, -344, 581, -269, -269, 32, 90, 236, - -254, -78, -254, 93, -15, -11, -22, -21, -23, 148, - -110, 382, -98, 174, 596, 582, 583, 584, 581, 379, - 589, 587, 585, 280, 586, 87, 136, 138, 139, 4, - -120, 155, -170, 148, 149, 150, 151, 152, 153, 154, - 159, 140, 142, 156, -210, 137, 160, 161, 162, 163, - 164, 165, 166, 168, 167, 169, 170, 157, 158, 173, - 219, 220, -126, -126, -126, -126, -184, -372, -372, -372, - -126, -238, -372, -126, -372, -372, -372, -372, -190, -120, + -308, -308, -308, 233, -348, -112, 393, 297, 81, -54, + 279, -37, -160, -249, 234, 235, -348, 266, -160, 218, + -160, -243, 156, 15, -243, -240, 382, 380, 367, 372, + -243, -243, -243, -243, 280, 365, -303, 234, 35, 245, + 382, 280, 365, 280, 281, 280, 281, 375, 385, 280, + -264, 14, 159, 408, 370, 374, 273, 233, 274, 235, + 384, 281, -264, 93, -244, 156, 382, 276, -243, -243, + -269, -372, -255, 334, -344, 581, -269, -269, 32, 90, + 236, -254, -78, -254, 93, -15, -11, -22, -21, -23, + 148, -110, 382, -98, 174, 596, 582, 583, 584, 581, + 379, 589, 587, 585, 280, 586, 87, 136, 138, 139, + 4, -120, 155, -170, 148, 149, 150, 151, 152, 153, + 154, 159, 140, 142, 156, -210, 137, 160, 161, 162, + 163, 164, 165, 166, 168, 167, 169, 170, 157, 158, + 173, 219, 220, -126, -126, -126, -126, -184, -372, -372, + -372, -126, -238, -372, -126, -372, -372, -372, -190, -120, -372, -376, -372, -376, -376, -287, -372, -287, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, -372, - 218, -372, -372, -372, -372, -372, -287, -287, -287, -287, - -287, -372, -372, -372, -372, 103, 98, 92, -186, 99, - 93, -254, -259, -8, -9, -179, -268, -358, -359, -163, - -160, -372, 297, -254, -254, 266, -199, -12, -8, -194, - -200, -196, -8, -76, -96, -109, 63, 64, -111, 24, - 38, 67, 65, 23, -373, 88, -373, -217, -373, 87, - -36, -221, 86, 61, 43, 93, 93, 87, 21, -195, - -197, -120, 14, -257, 4, -256, 25, -254, 93, 218, - 101, 14, -161, 29, -160, -239, -239, 87, 308, -232, - -271, -234, -233, 398, 400, 148, -258, -254, 93, 31, - 88, 87, -160, -276, -279, -281, -280, -282, -277, -278, - 331, 332, 174, 335, 337, 338, 339, 340, 341, 342, - 343, 344, 345, 348, 32, 256, 327, 328, 329, 330, - 349, 350, 351, 352, 353, 354, 355, 356, 314, 333, - 478, 315, 316, 317, 318, 319, 320, 322, 323, 324, - 325, 326, -347, -344, 86, 88, 87, -283, 86, -120, - -112, 233, -344, 234, 234, 234, -76, 437, -308, -308, - -308, 264, 19, -44, -41, -334, 18, -40, -41, 226, - 120, 121, 223, 86, -297, 86, -306, -347, -344, 86, - 134, 239, 133, -305, -302, -305, -306, -344, -186, -344, - 134, 134, -344, -344, -225, -254, -225, -225, 23, -225, - 23, -225, 23, 95, -254, -225, 23, -225, 23, -225, - 23, -225, 23, -225, 23, 31, 78, 79, 80, 31, - 82, 83, 84, -186, -344, -344, -186, -297, -229, -160, - -344, 95, 95, 95, -308, -308, 95, 93, 93, 93, - -308, -308, 95, 93, -261, -259, 93, 93, -350, 250, - 294, 296, 95, 95, 95, 95, 31, 93, -351, 31, - 603, 602, 604, 605, 606, 93, 95, 31, 95, 31, - 95, -254, 86, -160, -118, 284, 221, 223, 226, 76, - 93, 298, 302, 303, 148, 44, 87, 236, 233, -344, - -245, 238, -245, -254, -260, -259, -252, 93, -120, -304, - 14, 159, -264, -264, -243, -160, -304, -264, -243, -160, - -243, -243, -243, -243, -264, -264, -264, -243, -259, -259, - -160, -160, -160, -160, -160, -160, -160, -269, -244, -243, - 581, 93, -237, 14, 76, -269, -269, -267, 311, 345, - 575, 576, 577, 87, 480, -153, -160, 581, 581, 581, - 581, 581, 581, -120, -120, -120, -120, 503, -177, 116, - 140, 117, 118, -134, -178, -182, -184, 100, 159, 142, - 156, -210, -125, -126, -125, -125, -125, -125, -125, -125, - -125, -125, -125, -125, -125, -125, -125, -270, -254, 93, - 174, -130, -129, 99, -367, -130, -106, -108, -120, -120, - -344, -254, -106, -106, -120, -102, 24, 38, -188, -189, - 144, -186, -373, -373, 95, 99, -102, -102, -102, -102, - -102, -254, -254, -95, -94, 419, 420, 421, 422, 424, - 425, 426, 429, 430, 434, 435, 418, 436, 423, 428, - 431, 432, 433, 427, 330, -120, -120, -120, -120, -120, - -120, -83, -120, 127, 128, 129, -120, -120, -180, -179, - -343, -342, -341, -120, -120, -120, -120, -120, -120, -120, + -372, 218, -372, -372, -372, -372, -372, -287, -287, -287, + -287, -287, -372, -372, -372, -372, 103, 98, 92, -186, + 99, 93, -254, -259, -8, -9, -179, -268, -358, -359, + -163, -160, -372, 297, -254, -254, 266, -199, -12, -8, + -194, -200, -196, -8, -76, -96, -109, 63, 64, -111, + 24, 38, 67, 65, 23, -373, 88, -373, -217, -373, + 87, -36, -221, 86, 61, 43, 93, 93, 87, 21, + -195, -197, -120, 14, -257, 4, -256, 25, -254, 93, + 218, 101, 14, -161, 29, -160, -239, -239, 87, 308, + -232, -271, -234, -233, 398, 400, 148, -258, -254, 93, + 31, 88, 87, -160, -276, -279, -281, -280, -282, -277, + -278, 331, 332, 174, 335, 337, 338, 339, 340, 341, + 342, 343, 344, 345, 348, 32, 256, 327, 328, 329, + 330, 349, 350, 351, 352, 353, 354, 355, 356, 314, + 333, 478, 315, 316, 317, 318, 319, 320, 322, 323, + 324, 325, 326, -347, -344, 86, 88, 87, -283, 86, + -120, -112, 233, -344, 234, 234, 234, -76, 437, -308, + -308, -308, 264, 19, -44, -41, -334, 18, -40, -41, + 226, 120, 121, 223, 86, -297, 86, -306, -347, -344, + 86, 134, 239, 133, -305, -302, -305, -306, -344, -186, + -344, 134, 134, -344, -344, -225, -254, -225, -225, 23, + -225, 23, -225, 23, 95, -254, -225, 23, -225, 23, + -225, 23, -225, 23, -225, 23, 31, 78, 79, 80, + 31, 82, 83, 84, -186, -344, -344, -186, -297, -229, + -160, -344, 95, 95, 95, -308, -308, 95, 93, 93, + 93, -308, -308, 95, 93, -261, -259, 93, 93, -350, + 250, 294, 296, 95, 95, 95, 95, 31, 93, -351, + 31, 603, 602, 604, 605, 606, 93, 95, 31, 95, + 31, 95, -254, 86, -160, -118, 284, 221, 223, 226, + 76, 93, 298, 302, 303, 148, 44, 87, 236, 233, + -344, -245, 238, -245, -254, -260, -259, -252, 93, -120, + -304, 14, 159, -264, -264, -243, -160, -304, -264, -243, + -160, -243, -243, -243, -243, -264, -264, -264, -243, -259, + -259, -160, -160, -160, -160, -160, -160, -160, -269, -244, + -243, 581, 93, -237, 14, 76, -269, -269, -267, 311, + 345, 575, 576, 577, 87, 480, -153, -160, 581, 581, + 581, 581, 581, 581, -120, -120, -120, -120, 503, -177, + 116, 140, 117, 118, -134, -178, -182, -184, 100, 159, + 142, 156, -210, -125, -126, -125, -125, -125, -125, -125, + -125, -125, -125, -125, -125, -125, -125, -125, -270, -254, + 93, 174, -130, -129, 99, -367, -130, -106, -108, -120, + -120, -344, -254, -106, -106, -120, -188, -189, 144, -186, + -373, -373, 95, 99, -102, 24, 38, -102, -102, -102, + -102, -102, -254, -254, -95, -94, 419, 420, 421, 422, + 424, 425, 426, 429, 430, 434, 435, 418, 436, 423, + 428, 431, 432, 433, 427, 330, -120, -120, -120, -120, + -120, -120, -83, -120, 127, 128, 129, -120, -120, -180, + -179, -343, -342, -341, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, - -120, -120, -120, -120, -120, -120, -107, 24, 38, -106, - -255, -260, -252, -106, -107, -107, -106, -106, -120, -120, - -120, -120, 218, -217, -373, 87, -360, 400, 401, 579, - -262, 269, -261, 25, -180, 93, 14, -223, 77, -254, - -199, -199, 63, 64, 59, -106, -111, -373, -35, 25, - -219, -254, 62, 93, -288, -229, 357, 358, 174, -120, - -120, 87, -198, 27, 28, -160, -256, 165, -260, -160, - -224, 269, -160, -138, -140, -141, -142, -163, -185, -372, - -143, 499, 496, 14, -153, -154, -162, -259, -232, -234, - 87, 399, 401, 402, 76, 119, -120, -289, 173, -316, - -315, -314, -297, -299, -300, -301, 88, -289, -293, 363, - 362, -283, -283, -283, -283, -283, -288, -288, -288, -288, - 86, 86, -283, -283, -283, -283, -291, 86, -291, -291, - -292, 86, -292, -327, -120, -324, -323, -321, -322, 243, - 102, 572, 528, 480, 520, 562, 77, -319, -198, 95, - -373, -118, -246, 238, -325, -322, -344, -344, -344, -246, - -344, 93, -344, 93, -344, 93, -87, -58, -1, 615, - 616, 617, 87, 19, -298, -297, -57, 294, -330, -331, - 269, -326, -320, -306, 134, -305, -306, -306, -344, 87, - 29, 124, 124, 124, 124, 480, 223, 32, -247, 519, - 140, 572, 528, -297, -57, -270, 236, -270, -270, 93, - 93, -242, 611, -153, -114, 286, 148, 275, 275, 233, - 233, 288, -160, 299, 301, 300, 298, 302, 303, 23, - 23, 23, 287, 289, 291, 277, -160, -160, -245, 76, - -155, -160, 26, -259, -160, -243, -243, -160, -243, -243, - -160, -254, -98, 400, 87, 480, 22, -99, 22, -372, - 116, 117, 118, -178, -125, -126, -125, 139, 257, 87, - -373, 25, 87, 77, -373, -373, -373, 87, 14, -106, + -120, -120, -120, -120, -120, -120, -120, -107, 24, 38, + -106, -255, -260, -252, -106, -107, -107, -106, -106, -120, + -120, -120, -120, 218, -217, -373, 87, -360, 400, 401, + 579, -262, 269, -261, 25, -180, 93, 14, -223, 77, + -254, -199, -199, 63, 64, 59, -106, -111, -373, -35, + 25, -219, -254, 62, 93, -288, -229, 357, 358, 174, + -120, -120, 87, -198, 27, 28, -160, -256, 165, -260, + -160, -224, 269, -160, -138, -140, -141, -142, -163, -185, + -372, -143, 499, 496, 14, -153, -154, -162, -259, -232, + -234, 87, 399, 401, 402, 76, 119, -120, -289, 173, + -316, -315, -314, -297, -299, -300, -301, 88, -289, -293, + 363, 362, -283, -283, -283, -283, -283, -288, -288, -288, + -288, 86, 86, -283, -283, -283, -283, -291, 86, -291, + -291, -292, 86, -292, -327, -120, -324, -323, -321, -322, + 243, 102, 572, 528, 480, 520, 562, 77, -319, -198, + 95, -373, -118, -246, 238, -325, -322, -344, -344, -344, + -246, -344, 93, -344, 93, -344, 93, -87, -58, -1, + 615, 616, 617, 87, 19, -298, -297, -57, 294, -330, + -331, 269, -326, -320, -306, 134, -305, -306, -306, -344, + 87, 29, 124, 124, 124, 124, 480, 223, 32, -247, + 519, 140, 572, 528, -297, -57, -270, 236, -270, -270, + 93, 93, -242, 611, -153, -114, 286, 148, 275, 275, + 233, 233, 288, -160, 299, 301, 300, 298, 302, 303, + 23, 23, 23, 287, 289, 291, 277, -160, -160, -245, + 76, -155, -160, 26, -259, -160, -243, -243, -160, -243, + -243, -160, -254, -98, 400, 87, 480, 22, -99, 22, + -372, 116, 117, 118, -178, -125, -126, -125, 139, 257, + 87, -373, 25, 87, 77, -373, -373, -373, 87, 14, -191, -189, 146, -120, -373, -373, -373, 165, -179, -179, - -179, -179, -179, 87, 87, 14, -274, 25, -373, -373, - -373, -373, -373, -190, -373, 14, 87, 87, -373, -373, - 87, 87, -373, 87, 87, 87, -340, 87, 87, 87, - 87, -373, -373, -373, -373, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, -373, -373, -106, -106, -372, - 218, -373, -373, -373, -373, -373, 87, 87, 87, 87, - -255, -359, 578, 401, -167, -166, -164, 74, 237, 75, - -372, -261, -373, -130, 90, -220, 90, -219, -172, -254, - 95, 99, -201, -137, -139, 14, -111, -184, 88, 87, - -288, -205, -211, -240, -254, 93, 174, -290, 174, -290, - 357, 358, -197, 218, -168, 15, -171, 32, 57, -11, - -372, -372, 32, 87, -156, -158, -157, -159, 66, 70, - 72, 67, 68, 69, 73, -265, 25, -138, -9, -8, - -372, -372, -372, -160, -153, -374, 14, 77, -374, 87, - 218, -233, -235, 403, 400, 406, -344, 93, -86, 87, - -314, -301, -202, -115, 40, -294, 364, -288, 487, -288, - -296, 93, -296, 95, 95, 88, -47, -42, -43, 33, - 81, -321, -308, 93, 39, -308, -308, -254, 88, -198, - -114, -160, 140, 76, -325, -325, -325, -259, -2, 614, - 620, 134, 86, 367, 18, -219, 87, 88, -187, 295, - 88, -88, -254, 88, 86, -306, -306, -254, -372, 233, - 31, 31, 572, 528, 519, -57, -187, -289, -344, 613, - 612, 88, 235, 293, -119, 414, -116, 93, 89, -160, - -160, -160, -160, -160, 226, 223, -368, 304, -368, 278, - 236, -153, -160, 87, -81, 252, 247, -264, -264, 33, - -160, 400, 590, 588, -120, 139, 257, -134, -126, -108, - 477, -272, 174, 331, 256, 329, 325, 345, 336, 362, - 327, 363, 324, 323, 322, -272, -270, -120, -120, -194, - 147, -120, 145, -373, -373, -373, -373, -373, -373, -120, - -120, -120, -373, 174, 331, 14, -120, -120, -120, -341, - -120, -120, -120, -339, -338, -130, -186, -373, -339, -120, - -120, -338, -338, -342, -342, -342, -342, -342, -179, -179, - -179, -179, -373, -373, -107, -255, -120, -120, -120, -120, - -164, -302, -302, -302, -225, 87, -236, 22, 14, 57, - 57, -137, -168, -138, -111, -254, -208, 574, -214, 46, - -212, -213, 47, -209, 48, 56, -290, -290, 165, -199, - -120, -226, 76, -227, -231, -186, -181, -183, -182, -372, - -218, -373, -254, -225, -227, -140, -141, -141, -140, -141, - 66, 66, 66, 71, 66, 71, 66, -157, -259, -373, - -373, -9, -9, -120, -262, 77, -138, -138, -162, -259, - 165, 400, 404, 405, -314, -366, 116, 140, 31, 76, - 360, 102, -364, 173, 516, 567, 572, 528, 520, 562, - -365, 239, 133, 134, 251, 25, 41, 88, 87, 88, - 87, 88, 87, -248, -247, -43, -42, -308, -308, 95, - -344, 93, 93, 235, 26, -160, 76, 76, 76, -89, - 618, 95, 86, -3, 81, -120, 86, 19, -297, -186, - -332, -284, -333, -285, -286, -5, -6, -309, -92, 57, - 102, -61, 44, 234, 598, 599, 124, -372, 611, -324, - -219, -328, -330, -160, -122, -372, -121, -123, -127, 163, - 164, -187, -160, -113, 284, 292, 86, -117, 90, -346, - 77, 275, 360, 275, -369, 305, 93, -369, -160, -81, - -47, -160, -243, -243, 33, -344, -373, -134, -126, -372, - -275, 486, -283, -283, -283, -292, -283, 319, -283, 319, - -283, -275, -373, 87, -373, 22, -373, -97, 443, -120, - 87, 87, -373, 86, 86, -120, -373, -373, -373, -340, - 87, -373, 87, -373, 87, -273, 573, -373, -373, -373, - -373, -373, -373, -373, -373, -373, -373, -373, -373, 87, - -373, 87, 87, -373, 87, -165, 22, -165, -165, -373, - 90, -160, -168, -192, 16, -205, 51, 337, -216, -215, - 55, 47, -213, 19, 49, 19, 30, -226, 87, 148, - 87, -373, -373, 87, 57, 218, -373, -168, -151, -150, - 76, 77, -152, 76, -150, 66, 66, -221, -373, -373, - 87, -224, -138, -168, -168, 218, 116, -372, -124, -133, - -122, 12, 93, 93, -344, -363, 602, 603, 31, 95, - -308, -308, 134, 134, -160, 86, -288, 93, -288, 95, - 95, 31, 82, 83, 84, 31, 78, 79, 80, -160, - -160, -160, -160, -329, 86, 19, -120, 86, 148, 88, - -219, -219, 271, 159, -308, 596, 277, 277, -308, -308, - -308, -91, -90, 618, 88, -373, 87, -295, 480, 483, - -120, -128, -128, -221, 88, -337, 480, -345, -254, -254, - -254, -254, 95, 97, -125, -373, -288, -373, -120, -120, - -199, 93, -120, -120, 95, 95, -373, -373, -339, -338, - -120, -373, -148, -147, -149, 582, 116, 31, -272, -120, - -120, -120, -120, -372, 66, 18, 16, -372, -372, -262, - -192, -193, 17, 19, -206, 53, -204, 52, -204, -215, - 19, 19, 93, 19, 93, 134, -231, -120, -183, 57, - -11, -254, -181, -254, -194, -120, 86, -120, -130, -168, - -168, -120, -174, 467, 469, 470, 471, 468, 446, 105, - 107, 106, 447, 448, 449, 346, 347, 450, 451, 452, - 108, 109, 110, 111, 112, 113, 114, 453, 456, 454, - 457, 458, 459, 464, 465, 460, 461, 462, 463, 466, - 472, 473, 474, 475, 93, 93, 86, -120, 88, 88, - -221, -328, -58, 88, -219, 95, 88, 272, -182, -372, - 93, -308, -308, -308, 95, 95, -261, -373, 87, -254, - -365, -330, 484, 484, -373, 25, -336, -335, -255, 86, - 77, -101, 159, 480, -373, -373, -373, -373, -373, 88, - 88, -373, -373, 87, -373, -147, -149, -373, 76, -130, - -373, 87, -373, -373, 87, -373, 87, -222, -373, -254, - 239, 19, 19, -222, -222, -167, -193, -120, -179, -207, - 54, 76, 119, 93, 93, 93, 12, -181, 218, -199, - -219, -145, 367, -194, -373, -219, 88, 25, 88, 620, - 134, 88, -182, -100, -372, 268, -261, 93, 93, -90, - -93, -11, 87, 148, -219, -160, -373, 478, 73, 481, - -120, -373, 76, 491, 582, -120, -120, -120, 87, -373, - -373, -373, 76, 119, -227, -254, 88, -373, -372, -199, - 88, -203, -11, 86, -3, 268, -284, -333, -285, -286, - -5, -6, -309, -79, 480, -335, -313, -255, 93, 95, - 88, 62, 479, 482, -340, -373, 87, -373, 87, -373, - 87, -254, 239, -262, -146, -144, -254, 534, -356, -355, - 476, -366, -362, 116, 140, 102, -364, 572, 528, 125, - 126, -79, -120, 86, -373, -80, 283, 578, -346, 62, - -373, -120, -120, -120, -373, 87, 22, -276, -60, 545, - -353, -354, 76, -357, 373, 544, 565, 116, 93, 88, - -219, 244, -337, 480, -373, 87, -373, 87, -373, -144, - 541, -289, -130, -354, 76, -353, 76, 13, 12, -4, - 619, 88, 285, 481, -120, -120, -59, 26, -145, -352, - 252, 247, 250, 32, -352, 95, -4, 482, -373, -373, - 545, 246, 31, 116, -130, -148, -147, -147, + -179, -179, -179, -179, 87, 87, 14, -274, 25, -373, + -373, -373, -373, -373, -190, -373, 14, 87, 87, -373, + -373, 87, 87, -373, 87, 87, 87, -340, 87, 87, + 87, 87, -373, -373, -373, -373, 87, 87, 87, 87, + 87, 87, 87, 87, 87, 87, -373, -373, -106, -106, + -372, 218, -373, -373, -373, -373, -373, 87, 87, 87, + 87, -255, -359, 578, 401, -167, -166, -164, 74, 237, + 75, -372, -261, -373, -130, 90, -220, 90, -219, -172, + -254, 95, 99, -201, -137, -139, 14, -111, -184, 88, + 87, -288, -205, -211, -240, -254, 93, 174, -290, 174, + -290, 357, 358, -197, 218, -168, 15, -171, 32, 57, + -11, -372, -372, 32, 87, -156, -158, -157, -159, 66, + 70, 72, 67, 68, 69, 73, -265, 25, -138, -9, + -8, -372, -372, -372, -160, -153, -374, 14, 77, -374, + 87, 218, -233, -235, 403, 400, 406, -344, 93, -86, + 87, -314, -301, -202, -115, 40, -294, 364, -288, 487, + -288, -296, 93, -296, 95, 95, 88, -47, -42, -43, + 33, 81, -321, -308, 93, 39, -308, -308, -254, 88, + -198, -114, -160, 140, 76, -325, -325, -325, -259, -2, + 614, 620, 134, 86, 367, 18, -219, 87, 88, -187, + 295, 88, -88, -254, 88, 86, -306, -306, -254, -372, + 233, 31, 31, 572, 528, 519, -57, -187, -289, -344, + 613, 612, 88, 235, 293, -119, 414, -116, 93, 89, + -160, -160, -160, -160, -160, 226, 223, -368, 304, -368, + 278, 236, -153, -160, 87, -81, 252, 247, -264, -264, + 33, -160, 400, 590, 588, -120, 139, 257, -134, -126, + -108, 477, -272, 174, 331, 256, 329, 325, 345, 336, + 362, 327, 363, 324, 323, 322, -272, -270, -120, -120, + 147, -120, 145, -373, -373, -373, -373, -373, -373, -194, + -120, -120, -120, -373, 174, 331, 14, -120, -120, -120, + -341, -120, -120, -120, -339, -338, -130, -186, -373, -339, + -120, -120, -338, -338, -342, -342, -342, -342, -342, -179, + -179, -179, -179, -373, -373, -107, -255, -120, -120, -120, + -120, -164, -302, -302, -302, -225, 87, -236, 22, 14, + 57, 57, -137, -168, -138, -111, -254, -208, 574, -214, + 46, -212, -213, 47, -209, 48, 56, -290, -290, 165, + -199, -120, -226, 76, -227, -231, -186, -181, -183, -182, + -372, -218, -373, -254, -225, -227, -140, -141, -141, -140, + -141, 66, 66, 66, 71, 66, 71, 66, -157, -259, + -373, -373, -9, -9, -120, -262, 77, -138, -138, -162, + -259, 165, 400, 404, 405, -314, -366, 116, 140, 31, + 76, 360, 102, -364, 173, 516, 567, 572, 528, 520, + 562, -365, 239, 133, 134, 251, 25, 41, 88, 87, + 88, 87, 88, 87, -248, -247, -43, -42, -308, -308, + 95, -344, 93, 93, 235, 26, -160, 76, 76, 76, + -89, 618, 95, 86, -3, 81, -120, 86, 19, -297, + -186, -332, -284, -333, -285, -286, -5, -6, -309, -92, + 57, 102, -61, 44, 234, 598, 599, 124, -372, 611, + -324, -219, -328, -330, -160, -122, -372, -121, -123, -127, + 163, 164, -187, -160, -113, 284, 292, 86, -117, 90, + -346, 77, 275, 360, 275, -369, 305, 93, -369, -160, + -81, -47, -160, -243, -243, 33, -344, -373, -134, -126, + -372, -275, 486, -283, -283, -283, -292, -283, 319, -283, + 319, -283, -275, -373, 87, -373, 22, -373, -120, -97, + 442, 87, 87, -373, 86, 86, -120, -373, -373, -373, + -340, 87, -373, 87, -373, 87, -273, 573, -373, -373, + -373, -373, -373, -373, -373, -373, -373, -373, -373, -373, + 87, -373, 87, 87, -373, 87, -165, 22, -165, -165, + -373, 90, -160, -168, -192, 16, -205, 51, 337, -216, + -215, 55, 47, -213, 19, 49, 19, 30, -226, 87, + 148, 87, -373, -373, 87, 57, 218, -373, -168, -151, + -150, 76, 77, -152, 76, -150, 66, 66, -221, -373, + -373, 87, -224, -138, -168, -168, 218, 116, -372, -124, + -133, -122, 12, 93, 93, -344, -363, 602, 603, 31, + 95, -308, -308, 134, 134, -160, 86, -288, 93, -288, + 95, 95, 31, 82, 83, 84, 31, 78, 79, 80, + -160, -160, -160, -160, -329, 86, 19, -120, 86, 148, + 88, -219, -219, 271, 159, -308, 596, 277, 277, -308, + -308, -308, -91, -90, 618, 88, -373, 87, -295, 480, + 483, -120, -128, -128, -221, 88, -337, 480, -345, -254, + -254, -254, -254, 95, 97, -125, -373, -288, -373, -120, + -120, -199, 93, -120, -120, 95, 95, -373, -373, -339, + -338, -120, -373, -148, -147, -149, 582, 116, 31, -272, + -120, -120, -120, -120, -372, 66, 18, 16, -372, -372, + -262, -192, -193, 17, 19, -206, 53, -204, 52, -204, + -215, 19, 19, 93, 19, 93, 134, -231, -120, -183, + 57, -11, -254, -181, -254, -194, -120, 86, -120, -130, + -168, -168, -120, -174, 466, 468, 469, 470, 467, 471, + 445, 105, 107, 106, 446, 447, 448, 346, 347, 449, + 450, 451, 108, 109, 110, 111, 112, 113, 114, 452, + 455, 453, 456, 457, 458, 463, 464, 459, 460, 461, + 462, 465, 472, 473, 474, 475, 93, 93, 86, -120, + 88, 88, -221, -328, -58, 88, -219, 95, 88, 272, + -182, -372, 93, -308, -308, -308, 95, 95, -261, -373, + 87, -254, -365, -330, 484, 484, -373, 25, -336, -335, + -255, 86, 77, -101, 159, 480, -373, -373, -373, -373, + -373, 88, 88, -373, -373, 87, -373, -147, -149, -373, + 76, -130, -373, 87, -373, -373, 87, -373, 87, -222, + -373, -254, 239, 19, 19, -222, -222, -167, -193, -120, + -179, -207, 54, 76, 119, 93, 93, 93, 12, -181, + 218, -199, -219, -145, 367, -194, -373, -219, 88, 25, + 88, 620, 134, 88, -182, -100, -372, 268, -261, 93, + 93, -90, -93, -11, 87, 148, -219, -160, -373, 478, + 73, 481, -120, -373, 76, 491, 582, -120, -120, -120, + 87, -373, -373, -373, 76, 119, -227, -254, 88, -373, + -372, -199, 88, -203, -11, 86, -3, 268, -284, -333, + -285, -286, -5, -6, -309, -79, 480, -335, -313, -255, + 93, 95, 88, 62, 479, 482, -340, -373, 87, -373, + 87, -373, 87, -254, 239, -262, -146, -144, -254, 534, + -356, -355, 476, -366, -362, 116, 140, 102, -364, 572, + 528, 125, 126, -79, -120, 86, -373, -80, 283, 578, + -346, 62, -373, -120, -120, -120, -373, 87, 22, -276, + -60, 545, -353, -354, 76, -357, 373, 544, 565, 116, + 93, 88, -219, 244, -337, 480, -373, 87, -373, 87, + -373, -144, 541, -289, -130, -354, 76, -353, 76, 13, + 12, -4, 619, 88, 285, 481, -120, -120, -59, 26, + -145, -352, 252, 247, 250, 32, -352, 95, -4, 482, + -373, -373, 545, 246, 31, 116, -130, -148, -147, -147, } var yyDef = [...]int{ @@ -7616,9 +7650,9 @@ var yyDef = [...]int{ 31, 32, 33, 34, 35, 36, 68, 70, 71, 827, 827, 827, 0, 827, 0, 0, 827, -2, -2, 827, 1340, 0, 827, 0, 0, -2, 759, 761, 0, 763, - -2, 0, 0, 772, 1855, 1855, 822, 0, 0, 0, + -2, 0, 0, 772, 1856, 1856, 822, 0, 0, 0, 0, 0, 827, 827, 827, 827, 1200, 48, 827, 0, - 83, 84, 778, 779, 780, 63, 0, 1853, 1, 3, + 83, 84, 778, 779, 780, 63, 0, 1854, 1, 3, 69, 73, 0, 0, 0, 56, 1209, 0, 76, 0, 0, 831, 0, 829, 0, 1323, 827, 827, 0, 114, 115, 0, 0, 0, -2, 118, -2, 147, 148, 149, @@ -7665,268 +7699,268 @@ var yyDef = [...]int{ 1820, 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1828, 1829, 1830, 1831, 1832, 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840, 1841, 1842, 1843, 1844, 1845, 1846, 1847, 1848, 1849, - 1850, 1851, 1852, 0, 1317, 0, 686, 928, 0, 748, - 748, 0, 748, 748, 748, 748, 0, 0, 0, 698, - 0, 0, 0, 0, 745, 0, 714, 715, 0, 745, - 0, 721, 751, 0, 726, 748, 748, 729, 1856, 0, - 1856, 1856, 1308, 0, 742, 740, 754, 755, 758, 762, - 0, 767, 770, 1334, 1335, 0, 785, 47, 1582, 777, - 790, 791, 0, 823, 824, 43, 1027, 0, 950, 955, - 966, 981, 982, 983, 984, 985, 987, 988, 0, 0, - 0, 0, 993, 994, 0, 0, 0, 0, 0, 1008, - 0, 0, 0, 0, 0, 1181, 0, 1142, 1142, 1044, - 1142, 1144, 1144, 1536, 1660, 1668, 1776, 1502, 0, 0, - 0, 1852, 1623, 1631, 1632, 1654, 1746, 1796, 1627, 1628, - 1609, 1621, 1624, 1612, 1613, 1615, 1617, 1622, 1629, 1635, - 1614, 1634, 1633, 0, 1610, 1611, 1616, 1626, 1630, 1618, - 1619, 1620, 1625, 1636, 1097, 1190, 0, 0, 0, 0, - 0, 0, 273, 274, 1026, 1297, 1144, 1144, 1144, 1144, - 1144, 1725, 1726, 1727, 1728, -2, -2, 219, 220, 221, - 222, 223, 224, 225, 0, 215, 0, 278, 279, 275, - 276, 277, 1010, 1011, 231, 232, 233, 234, 235, 236, - 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, 1855, 0, 800, 0, - 0, 0, 0, 0, 1209, 0, 1201, 1200, 61, 0, - 827, -2, 0, 0, 0, 0, 45, 0, 50, 887, - 75, 74, 1249, 0, 0, 0, 57, 1210, 65, 67, - 1211, 0, 832, 833, 0, 863, 867, 0, 828, 0, - 0, 1324, 1323, 1323, 100, 0, 1792, 1301, -2, -2, - 0, 0, 1336, 1337, 1310, -2, 1344, 1345, 1346, 1347, - 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, - 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, - 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377, - 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, - 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, - 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, - 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417, - 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, - 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, - 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, - 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, - 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, - 1468, 1469, 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, - 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, - 1488, 1489, 1490, -2, 0, 0, 165, 166, 0, 41, - 404, 0, 161, 0, 397, 338, 0, 1227, 0, 0, - 0, 0, 0, 827, 0, 1318, 142, 143, 150, 151, - 152, 377, 377, 377, 549, 0, 0, 153, 153, 508, - 509, 510, 0, 0, -2, 402, 0, 488, 0, 0, - 391, 391, 395, 393, 394, 0, 0, 0, 0, 0, - 0, 0, 0, 526, 0, 527, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 634, 0, 378, 0, 547, - 548, 440, 0, 0, 0, 0, 0, 0, 524, 525, - 0, 0, 1326, 1327, 0, 0, 0, 377, 377, 0, - 0, 0, 0, 377, 377, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 141, 1240, 0, 0, 0, -2, 0, - 678, 0, 0, 0, 1319, 1319, 0, 685, 0, 687, - 688, 0, 0, 689, 0, 745, 745, 743, 744, 691, - 692, 693, 694, 748, 0, 0, 386, 387, 388, 745, - 748, 0, 748, 748, 748, 748, 745, 745, 745, 748, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1856, - 751, 748, 0, 722, 0, 723, 724, 727, 728, 730, - 1857, 1858, 1356, 1856, 1856, 734, 738, 1309, 760, 768, - 771, 788, 786, 787, 789, 781, 782, 783, 784, 0, - 802, 803, 808, 0, 0, 0, 0, 814, 815, 816, - 0, 0, 819, 820, 821, 0, 0, 0, 0, 0, - 948, 0, 0, 1016, 1017, 1018, 1019, 1020, 1021, 1022, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 967, 968, 0, - 0, 0, 989, 990, 991, 992, 995, 0, 0, 0, - 1000, 1001, 0, 0, 0, 0, 0, 837, 0, 1182, - 0, 1042, 0, 1043, 1045, 1046, 0, 1047, 837, 837, - 837, 837, 837, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1329, 129, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 847, - 0, 0, 847, 847, 0, 0, 208, 209, 210, 211, - 212, 0, 0, 0, 0, 226, 227, 228, 229, 230, - 280, 1190, 0, 1026, 0, 0, 44, 792, 793, 0, - 911, 1329, 0, 0, 843, 0, 55, 64, 66, 1209, - 59, 1209, 0, 849, 0, 0, -2, -2, 850, 856, - 857, 858, 859, 860, 52, 1854, 53, 0, 72, 0, - 46, 0, 0, 0, 0, 350, 1252, 0, 0, 1202, - 1203, 1206, 0, 864, 1666, 868, 0, 870, 871, 0, - 830, 0, 98, 0, 927, 0, 0, 0, 1792, 1307, - 0, 102, 103, 0, 0, 0, 361, 1312, 1313, 1314, - -2, 384, 0, 361, 345, 288, 289, 290, 338, 292, - 338, 338, 338, 338, 350, 350, 350, 350, 321, 322, - 323, 324, 325, 0, 0, 307, 338, 338, 338, 338, - 328, 329, 330, 331, 332, 333, 334, 335, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 340, 340, 340, - 342, 342, 0, 42, 0, 365, 0, 1206, 0, 0, - 1240, 1321, 1331, 0, 0, 0, 1321, 120, 0, 0, - 0, 550, 584, 502, 538, 551, 0, 505, 506, -2, - 0, 0, 487, 0, 489, 0, 385, 0, -2, 0, - 395, 0, 391, 395, 392, 395, 383, 396, 528, 529, - 530, 0, 532, 533, 614, 897, 0, 0, 0, 0, - 0, 620, 621, 622, 0, 624, 625, 626, 627, 628, - 629, 630, 631, 632, 633, 539, 540, 541, 542, 543, - 544, 545, 546, 0, 0, 0, 0, 489, 0, 535, - 0, 441, 442, 443, 0, 0, 446, 447, 448, 449, - 0, 0, 452, 453, 454, 914, 915, 455, 456, 481, - 482, 483, 457, 458, 459, 460, 461, 462, 463, 475, - 476, 477, 478, 479, 480, 464, 465, 466, 467, 468, - 469, 472, 0, 135, 1231, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1319, 0, - 0, 0, 0, 846, 929, 1342, 1343, 749, 750, 0, - 389, 390, 748, 748, 695, 735, 0, 748, 699, 736, - 700, 702, 701, 703, 716, 717, 748, 706, 746, 747, - 707, 708, 709, 710, 711, 712, 713, 731, 718, 719, - 720, 752, 0, 756, 757, 732, 733, 0, 769, 773, - 774, 775, 776, 0, 0, 805, 94, 810, 811, 812, - 813, 825, 818, 1028, 945, 946, 947, 0, 949, 952, - 0, 1012, 1014, 954, 956, 1023, 1024, 1025, 0, 0, - 0, 0, 0, 960, 964, 969, 970, 971, 972, 973, - 974, 975, 976, 977, 978, 979, 980, 986, 1158, 1159, - 1160, 1003, 281, 282, 0, 1004, 0, 861, 0, 0, - 0, 1002, 0, 0, 0, 0, 838, 839, 1188, 1185, - 0, 0, 1143, 1145, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1121, 1122, 1123, 1124, 1125, 1126, - 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, - 1137, 1138, 1139, 1140, 1141, 1161, 0, 0, 0, 0, - 0, 1181, 0, 1005, 1006, 1007, 0, 0, 0, 1330, - 0, 130, 131, 0, 0, 0, 0, 0, 1115, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 848, - 1191, 0, -2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1296, 0, 795, 796, 798, 0, - 931, 0, 912, 0, 0, 801, 0, 842, 0, 845, - 58, 60, 854, 855, 0, 872, 851, 54, 49, 0, - 0, 889, 1250, 350, 1272, 0, 359, 359, 356, 1212, - 1213, 0, 1205, 1207, 1208, 77, 869, 865, 0, 943, - 0, 0, 926, 0, 875, 877, 878, 879, 909, 0, - 882, 0, 0, 0, 0, 0, 96, 928, 1302, 101, - 0, 0, 106, 107, 1303, 1304, 1305, 1306, 0, 573, - -2, 436, 167, 169, 170, 171, 162, -2, 348, 346, - 347, 291, 350, 350, 315, 316, 317, 318, 319, 320, - 0, 0, 308, 309, 310, 311, 302, 0, 303, 304, - 305, 0, 306, 403, 0, 1214, 366, 367, 369, 377, - 0, 372, 373, 0, 377, 377, 0, 398, 399, 0, - 1206, 1231, 0, 0, 0, 1332, 1331, 1331, 1331, 0, - 155, 156, 157, 158, 159, 160, 609, 0, 0, 585, - 607, 608, 153, 0, 0, 163, 491, 490, 0, 641, - 0, 401, 0, 0, 395, 395, 380, 381, 531, 0, - 0, 616, 617, 618, 619, 0, 0, 0, 518, 430, - 0, 519, 520, 489, 491, 361, 0, 444, 445, 450, - 451, 470, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 564, 565, 566, 567, 493, 571, 568, - 493, 572, 1228, 1229, 1230, 0, 0, 679, 0, 0, - 427, 92, 1320, 684, 745, 705, 737, 745, 697, 704, - 725, 765, 809, 0, 0, 0, 0, 817, 0, 0, - 953, 1013, 1015, 957, 0, 961, 965, 0, 0, 0, - 0, 0, 0, 0, 1009, 1033, 1034, 0, 0, 1200, - 0, 1186, 0, 0, 1041, 1146, 1147, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1058, 1059, - 1060, 1061, 1062, 0, 1064, 0, 0, 0, 1068, 1069, - 0, 0, 1070, 0, 0, 0, 0, 0, 0, 0, - 0, 1082, 1083, 1084, 1085, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1096, 1029, 0, 0, 847, - 0, 1148, 1149, 1150, 1151, 1152, 0, 0, 0, 0, - 1191, 794, 797, 799, 885, 932, 933, 0, 0, 0, - 0, 913, 1328, 840, 841, 844, -2, 0, 0, 1193, - 0, 0, 872, 943, 873, 0, 852, 51, 888, 0, - 1254, 1253, 1266, 1279, 359, 359, 353, 354, 360, 355, - 357, 358, 1204, 0, 1209, 0, 1290, 0, 0, 1282, - 0, 0, 0, 0, 0, 0, 0, 0, 916, 0, - 0, 919, 0, 0, 0, 0, 910, 0, 0, 0, - 0, 0, 0, -2, 0, 0, 90, 91, 0, 0, - 0, 104, 105, 0, 0, 111, 362, 363, 144, 153, - 438, 168, 411, 0, 0, 287, 349, 312, 313, 314, - 0, 336, 0, 0, 0, 432, 116, 1218, 1217, 377, - 377, 368, 0, 371, 0, 0, 0, 1333, 339, 400, - 0, 134, 0, 0, 0, 0, 0, 140, 579, 0, - 0, 586, 0, 0, 0, 500, 0, 511, 512, 0, - 613, -2, 675, 365, 0, 379, 382, 898, 0, 0, - 513, 0, 516, 517, 431, 491, 522, 523, 536, 473, - 474, 471, 0, 0, 1241, 1242, 1247, 1245, 1246, 121, - 557, 559, 558, 562, 0, 0, 495, 0, 495, 555, - 0, 427, 1214, 0, 683, 428, 429, 748, 748, 804, - 95, 0, 807, 0, 0, 0, 0, 958, 962, 862, - 0, 1179, 338, 338, 1166, 338, 342, 1169, 338, 1171, - 338, 1174, 338, 1177, 1178, 1179, 0, 0, 0, 1183, - 1040, 1189, 0, 1048, 1049, 1050, 1051, 1052, 1053, 0, - 0, 0, 1057, 0, 0, 0, 0, 0, 0, 132, - 133, 1115, 0, 0, 1117, 1119, 1120, 1074, 1116, 0, - 0, 1113, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1030, 1031, 0, 1192, 0, 0, 0, 0, - 934, 939, 939, 939, 0, 0, 0, 1315, 1316, 1194, - 1195, 943, 1196, 874, 853, 890, 1272, 0, 1265, 0, - -2, 1274, 0, 0, 0, 1280, 351, 352, 866, 78, - 944, 81, 0, 1290, 1298, 0, 1281, 1292, 1294, 0, - 0, 0, 1286, 0, 943, 876, 905, 907, 0, 902, - 917, 918, 920, 0, 922, 0, 924, 925, 887, 881, - 883, 0, 0, 0, 98, 0, 943, 943, 97, 0, - 930, 108, 109, 110, 437, 172, 177, 0, 0, 0, - 182, 0, 184, 0, 0, 0, 189, 190, 377, 377, - 412, 0, 284, 286, 0, 0, 175, 350, 0, 350, - 0, 343, 0, 413, 433, 1215, 1216, 0, 0, 370, - 374, 375, 376, 0, 1322, 136, 0, 0, 0, 582, - 0, 610, 0, 0, 0, 0, 0, 0, 164, 492, - 642, 643, 644, 645, 646, 647, 648, 649, 650, 0, - 377, 0, 0, 0, 377, 377, 377, 0, 667, 364, - 0, 0, 638, 635, 514, 0, 213, 214, 216, 0, - 0, 521, 887, 1232, 1233, 1234, 0, 1244, 1248, 124, - 0, 0, 0, 0, 569, 0, 494, 570, 680, 681, - 682, 93, 690, 696, 806, 826, 951, 959, 963, 0, - 0, 1180, 1164, 350, 1167, 1168, 1170, 1172, 1173, 1175, - 1176, 0, 999, 0, 1036, 0, 1038, 1209, 0, 1187, - 0, 0, 1056, 0, 0, 0, 1065, 1066, 1067, 0, - 0, 1073, 0, 1075, 0, 0, 0, 1086, 1087, 1088, - 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1032, 1098, 0, - 1103, 0, 0, 1109, 0, 0, 0, 0, 0, 911, - -2, 62, 1196, 1198, 0, 1259, 1257, 1257, 1267, 1268, - 0, 0, 1275, 0, 0, 0, 0, 82, 0, 0, - 0, 1295, 0, 0, 0, 0, 99, 1200, 899, 906, - 0, 0, 900, 0, 901, 921, 923, 880, -2, 884, - 0, 943, 943, 88, 89, 0, 178, 0, 180, 206, - 207, 0, 183, 185, 186, 187, 193, 194, 195, 188, - 0, 0, 283, 285, 0, 0, 326, 337, 327, 0, - 0, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 887, - 137, 138, 139, 574, 0, 584, 0, 0, 0, 577, - 0, 503, 0, 0, 0, 377, 377, 377, 0, 0, - 0, 0, 652, 0, 0, 615, 0, 623, 0, 0, - 0, 217, 218, 0, 1243, 556, 0, 122, 123, 0, - 0, 561, 496, 497, 1153, 997, 1165, 998, 0, 0, - 0, 1184, 0, 0, 0, 0, 1063, 1071, 0, 1118, - 0, 1078, 0, 0, 0, 604, 605, 0, 1114, 0, - 0, 0, 0, 0, 940, 0, 0, 0, 0, 931, - 1198, 80, 0, 0, 1262, 0, 1255, 1258, 1256, 1269, - 0, 0, 1276, 0, 1278, 0, 1299, 1300, 1293, 0, - 1285, 1288, 1284, 1287, 1209, 903, 0, 908, 0, 1200, - 87, 0, 181, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 191, 192, 0, 0, 341, 344, - 0, 0, 0, 575, 0, 587, 578, 0, 665, 0, - 669, 0, 0, 0, 672, 673, 674, 651, 0, 655, - 405, 639, 636, 637, 515, 0, 125, 126, 0, 0, - 0, 0, 0, 0, 1035, 1037, 1039, 1054, 1055, 1162, - 1163, 1072, 1076, 0, 1079, 0, 0, 1080, 0, 606, - 1099, 0, 1104, 1105, 0, 1110, 0, 0, 936, 893, - 894, 941, 942, 0, 0, 886, 79, 1199, 1197, 1251, - 0, 1260, 1261, 1270, 1271, 1277, 0, 1283, 0, 85, - 0, 0, 0, 1209, 179, 0, 198, 0, 583, 0, - 586, 576, 663, 664, 0, 676, 668, 670, 671, 653, - -2, 1235, 0, 0, 0, 563, 996, 0, 0, 0, - 1115, 1081, 0, 602, 603, 0, 0, 0, 0, 935, - 937, 938, 1263, 1264, 1291, 1289, 904, 911, 0, 86, - 418, 411, 1235, 0, 0, 0, 656, 657, 658, 659, - 660, 661, 662, 553, 1237, 127, 128, 484, 485, 486, - 121, 1154, 0, 1157, 0, 1100, 0, 1106, 0, 1111, - 0, 895, 896, 588, 0, 590, 0, -2, 406, 419, - 0, 173, 199, 200, 0, 0, 203, 204, 205, 196, - 197, 117, 0, 0, 677, 0, 1238, 1239, 124, 1155, - 1077, 0, 0, 0, 589, 0, 0, 361, 0, 599, - 407, 408, 0, 414, 415, 416, 417, 201, 202, 611, - 0, 0, 560, 0, 1101, 0, 1107, 0, 1112, 591, - 592, 600, 0, 409, 0, 410, 0, 0, 0, 580, - 0, 611, 1236, 0, 0, 0, 0, 601, 597, 420, - 422, 423, 0, 0, 421, 612, 581, 1156, 1102, 1108, - 0, 424, 425, 426, 593, 594, 595, 596, + 1850, 1851, 1852, 1853, 0, 1317, 0, 686, 928, 0, + 748, 748, 0, 748, 748, 748, 748, 0, 0, 0, + 698, 0, 0, 0, 0, 745, 0, 714, 715, 0, + 745, 0, 721, 751, 0, 726, 748, 748, 729, 1857, + 0, 1857, 1857, 1308, 0, 742, 740, 754, 755, 758, + 762, 0, 767, 770, 1334, 1335, 0, 785, 47, 1582, + 777, 790, 791, 0, 823, 824, 43, 1027, 0, 950, + 955, 966, 981, 982, 983, 984, 985, 987, 988, 0, + 0, 0, 0, 993, 994, 0, 0, 0, 0, 0, + 1008, 0, 0, 0, 0, 1181, 0, 1142, 1142, 1043, + 1142, 1144, 1144, 1536, 1661, 1669, 1777, 1502, 1591, 0, + 0, 0, 1853, 1624, 1632, 1633, 1655, 1747, 1797, 1628, + 1629, 1610, 1622, 1625, 1613, 1614, 1616, 1618, 1623, 1630, + 1636, 1615, 1635, 1634, 0, 1611, 1612, 1617, 1627, 1631, + 1619, 1620, 1621, 1626, 1637, 1097, 1190, 0, 0, 0, + 0, 0, 0, 273, 274, 1026, 1297, 1144, 1144, 1144, + 1144, 1144, 1726, 1727, 1728, 1729, -2, -2, 219, 220, + 221, 222, 223, 224, 225, 0, 215, 0, 278, 279, + 275, 276, 277, 1010, 1011, 231, 232, 233, 234, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, + 266, 267, 268, 269, 270, 271, 272, 1856, 0, 800, + 0, 0, 0, 0, 0, 1209, 0, 1201, 1200, 61, + 0, 827, -2, 0, 0, 0, 0, 45, 0, 50, + 887, 75, 74, 1249, 0, 0, 0, 57, 1210, 65, + 67, 1211, 0, 832, 833, 0, 863, 867, 0, 828, + 0, 0, 1324, 1323, 1323, 100, 0, 1793, 1301, -2, + -2, 0, 0, 1336, 1337, 1310, -2, 1344, 1345, 1346, + 1347, 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, + 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, + 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, + 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, + 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, + 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, + 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, + 1417, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, + 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, + 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, + 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, + 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, + 1467, 1468, 1469, 1470, 1471, 1472, 1473, 1474, 1475, 1476, + 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486, + 1487, 1488, 1489, 1490, -2, 0, 0, 165, 166, 0, + 41, 404, 0, 161, 0, 397, 338, 0, 1227, 0, + 0, 0, 0, 0, 827, 0, 1318, 142, 143, 150, + 151, 152, 377, 377, 377, 549, 0, 0, 153, 153, + 508, 509, 510, 0, 0, -2, 402, 0, 488, 0, + 0, 391, 391, 395, 393, 394, 0, 0, 0, 0, + 0, 0, 0, 0, 526, 0, 527, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 634, 0, 378, 0, + 547, 548, 440, 0, 0, 0, 0, 0, 0, 524, + 525, 0, 0, 1326, 1327, 0, 0, 0, 377, 377, + 0, 0, 0, 0, 377, 377, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 141, 1240, 0, 0, 0, -2, + 0, 678, 0, 0, 0, 1319, 1319, 0, 685, 0, + 687, 688, 0, 0, 689, 0, 745, 745, 743, 744, + 691, 692, 693, 694, 748, 0, 0, 386, 387, 388, + 745, 748, 0, 748, 748, 748, 748, 745, 745, 745, + 748, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1857, 751, 748, 0, 722, 0, 723, 724, 727, 728, + 730, 1858, 1859, 1356, 1857, 1857, 734, 738, 1309, 760, + 768, 771, 788, 786, 787, 789, 781, 782, 783, 784, + 0, 802, 803, 808, 0, 0, 0, 0, 814, 815, + 816, 0, 0, 819, 820, 821, 0, 0, 0, 0, + 0, 948, 0, 0, 1016, 1017, 1018, 1019, 1020, 1021, + 1022, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 967, 968, + 0, 0, 0, 989, 990, 991, 992, 995, 0, 0, + 0, 1000, 1001, 0, 0, 0, 0, 0, 0, 1182, + 0, 1041, 0, 1042, 1044, 1045, 0, 1046, 837, 837, + 837, 837, 837, 837, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1329, 129, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 847, 0, 0, 847, 847, 0, 0, 208, 209, 210, + 211, 212, 0, 0, 0, 0, 226, 227, 228, 229, + 230, 280, 1190, 0, 1026, 0, 0, 44, 792, 793, + 0, 911, 1329, 0, 0, 843, 0, 55, 64, 66, + 1209, 59, 1209, 0, 849, 0, 0, -2, -2, 850, + 856, 857, 858, 859, 860, 52, 1855, 53, 0, 72, + 0, 46, 0, 0, 0, 0, 350, 1252, 0, 0, + 1202, 1203, 1206, 0, 864, 1667, 868, 0, 870, 871, + 0, 830, 0, 98, 0, 927, 0, 0, 0, 1793, + 1307, 0, 102, 103, 0, 0, 0, 361, 1312, 1313, + 1314, -2, 384, 0, 361, 345, 288, 289, 290, 338, + 292, 338, 338, 338, 338, 350, 350, 350, 350, 321, + 322, 323, 324, 325, 0, 0, 307, 338, 338, 338, + 338, 328, 329, 330, 331, 332, 333, 334, 335, 293, + 294, 295, 296, 297, 298, 299, 300, 301, 340, 340, + 340, 342, 342, 0, 42, 0, 365, 0, 1206, 0, + 0, 1240, 1321, 1331, 0, 0, 0, 1321, 120, 0, + 0, 0, 550, 584, 502, 538, 551, 0, 505, 506, + -2, 0, 0, 487, 0, 489, 0, 385, 0, -2, + 0, 395, 0, 391, 395, 392, 395, 383, 396, 528, + 529, 530, 0, 532, 533, 614, 897, 0, 0, 0, + 0, 0, 620, 621, 622, 0, 624, 625, 626, 627, + 628, 629, 630, 631, 632, 633, 539, 540, 541, 542, + 543, 544, 545, 546, 0, 0, 0, 0, 489, 0, + 535, 0, 441, 442, 443, 0, 0, 446, 447, 448, + 449, 0, 0, 452, 453, 454, 914, 915, 455, 456, + 481, 482, 483, 457, 458, 459, 460, 461, 462, 463, + 475, 476, 477, 478, 479, 480, 464, 465, 466, 467, + 468, 469, 472, 0, 135, 1231, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1319, + 0, 0, 0, 0, 846, 929, 1342, 1343, 749, 750, + 0, 389, 390, 748, 748, 695, 735, 0, 748, 699, + 736, 700, 702, 701, 703, 716, 717, 748, 706, 746, + 747, 707, 708, 709, 710, 711, 712, 713, 731, 718, + 719, 720, 752, 0, 756, 757, 732, 733, 0, 769, + 773, 774, 775, 776, 0, 0, 805, 94, 810, 811, + 812, 813, 825, 818, 1028, 945, 946, 947, 0, 949, + 952, 0, 1012, 1014, 954, 956, 1023, 1024, 1025, 0, + 0, 0, 0, 0, 960, 964, 969, 970, 971, 972, + 973, 974, 975, 976, 977, 978, 979, 980, 986, 1158, + 1159, 1160, 1003, 281, 282, 0, 1004, 0, 861, 0, + 0, 0, 1002, 0, 0, 0, 1188, 1185, 0, 0, + 1143, 1145, 0, 0, 0, 838, 839, 0, 0, 0, + 0, 0, 0, 0, 0, 1121, 1122, 1123, 1124, 1125, + 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, + 1136, 1137, 1138, 1139, 1140, 1141, 1161, 0, 0, 0, + 0, 0, 1181, 0, 1005, 1006, 1007, 0, 0, 0, + 1330, 0, 130, 131, 0, 0, 0, 0, 0, 1115, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 848, 1191, 0, -2, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1296, 0, 795, 796, 798, + 0, 931, 0, 912, 0, 0, 801, 0, 842, 0, + 845, 58, 60, 854, 855, 0, 872, 851, 54, 49, + 0, 0, 889, 1250, 350, 1272, 0, 359, 359, 356, + 1212, 1213, 0, 1205, 1207, 1208, 77, 869, 865, 0, + 943, 0, 0, 926, 0, 875, 877, 878, 879, 909, + 0, 882, 0, 0, 0, 0, 0, 96, 928, 1302, + 101, 0, 0, 106, 107, 1303, 1304, 1305, 1306, 0, + 573, -2, 436, 167, 169, 170, 171, 162, -2, 348, + 346, 347, 291, 350, 350, 315, 316, 317, 318, 319, + 320, 0, 0, 308, 309, 310, 311, 302, 0, 303, + 304, 305, 0, 306, 403, 0, 1214, 366, 367, 369, + 377, 0, 372, 373, 0, 377, 377, 0, 398, 399, + 0, 1206, 1231, 0, 0, 0, 1332, 1331, 1331, 1331, + 0, 155, 156, 157, 158, 159, 160, 609, 0, 0, + 585, 607, 608, 153, 0, 0, 163, 491, 490, 0, + 641, 0, 401, 0, 0, 395, 395, 380, 381, 531, + 0, 0, 616, 617, 618, 619, 0, 0, 0, 518, + 430, 0, 519, 520, 489, 491, 361, 0, 444, 445, + 450, 451, 470, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 564, 565, 566, 567, 493, 571, + 568, 493, 572, 1228, 1229, 1230, 0, 0, 679, 0, + 0, 427, 92, 1320, 684, 745, 705, 737, 745, 697, + 704, 725, 765, 809, 0, 0, 0, 0, 817, 0, + 0, 953, 1013, 1015, 957, 0, 961, 965, 0, 0, + 0, 0, 0, 0, 0, 1009, 1033, 1034, 0, 0, + 0, 1186, 0, 0, 1040, 1146, 1147, 0, 0, 0, + 0, 0, 0, 1200, 0, 0, 0, 0, 0, 1058, + 1059, 1060, 1061, 1062, 0, 1064, 0, 0, 0, 1068, + 1069, 0, 0, 1070, 0, 0, 0, 0, 0, 0, + 0, 0, 1082, 1083, 1084, 1085, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1096, 1029, 0, 0, + 847, 0, 1148, 1149, 1150, 1151, 1152, 0, 0, 0, + 0, 1191, 794, 797, 799, 885, 932, 933, 0, 0, + 0, 0, 913, 1328, 840, 841, 844, -2, 0, 0, + 1193, 0, 0, 872, 943, 873, 0, 852, 51, 888, + 0, 1254, 1253, 1266, 1279, 359, 359, 353, 354, 360, + 355, 357, 358, 1204, 0, 1209, 0, 1290, 0, 0, + 1282, 0, 0, 0, 0, 0, 0, 0, 0, 916, + 0, 0, 919, 0, 0, 0, 0, 910, 0, 0, + 0, 0, 0, 0, -2, 0, 0, 90, 91, 0, + 0, 0, 104, 105, 0, 0, 111, 362, 363, 144, + 153, 438, 168, 411, 0, 0, 287, 349, 312, 313, + 314, 0, 336, 0, 0, 0, 432, 116, 1218, 1217, + 377, 377, 368, 0, 371, 0, 0, 0, 1333, 339, + 400, 0, 134, 0, 0, 0, 0, 0, 140, 579, + 0, 0, 586, 0, 0, 0, 500, 0, 511, 512, + 0, 613, -2, 675, 365, 0, 379, 382, 898, 0, + 0, 513, 0, 516, 517, 431, 491, 522, 523, 536, + 473, 474, 471, 0, 0, 1241, 1242, 1247, 1245, 1246, + 121, 557, 559, 558, 562, 0, 0, 495, 0, 495, + 555, 0, 427, 1214, 0, 683, 428, 429, 748, 748, + 804, 95, 0, 807, 0, 0, 0, 0, 958, 962, + 862, 0, 1179, 338, 338, 1166, 338, 342, 1169, 338, + 1171, 338, 1174, 338, 1177, 1178, 1179, 0, 0, 0, + 1039, 1189, 0, 1047, 1048, 1049, 1050, 1051, 1052, 1183, + 0, 0, 0, 1057, 0, 0, 0, 0, 0, 0, + 132, 133, 1115, 0, 0, 1117, 1119, 1120, 1074, 1116, + 0, 0, 1113, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1030, 1031, 0, 1192, 0, 0, 0, + 0, 934, 939, 939, 939, 0, 0, 0, 1315, 1316, + 1194, 1195, 943, 1196, 874, 853, 890, 1272, 0, 1265, + 0, -2, 1274, 0, 0, 0, 1280, 351, 352, 866, + 78, 944, 81, 0, 1290, 1298, 0, 1281, 1292, 1294, + 0, 0, 0, 1286, 0, 943, 876, 905, 907, 0, + 902, 917, 918, 920, 0, 922, 0, 924, 925, 887, + 881, 883, 0, 0, 0, 98, 0, 943, 943, 97, + 0, 930, 108, 109, 110, 437, 172, 177, 0, 0, + 0, 182, 0, 184, 0, 0, 0, 189, 190, 377, + 377, 412, 0, 284, 286, 0, 0, 175, 350, 0, + 350, 0, 343, 0, 413, 433, 1215, 1216, 0, 0, + 370, 374, 375, 376, 0, 1322, 136, 0, 0, 0, + 582, 0, 610, 0, 0, 0, 0, 0, 0, 164, + 492, 642, 643, 644, 645, 646, 647, 648, 649, 650, + 0, 377, 0, 0, 0, 377, 377, 377, 0, 667, + 364, 0, 0, 638, 635, 514, 0, 213, 214, 216, + 0, 0, 521, 887, 1232, 1233, 1234, 0, 1244, 1248, + 124, 0, 0, 0, 0, 569, 0, 494, 570, 680, + 681, 682, 93, 690, 696, 806, 826, 951, 959, 963, + 0, 0, 1180, 1164, 350, 1167, 1168, 1170, 1172, 1173, + 1175, 1176, 0, 999, 0, 1036, 0, 1038, 1187, 1209, + 0, 0, 0, 1056, 0, 0, 0, 1065, 1066, 1067, + 0, 0, 1073, 0, 1075, 0, 0, 0, 1086, 1087, + 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1032, 1098, + 0, 1103, 0, 0, 1109, 0, 0, 0, 0, 0, + 911, -2, 62, 1196, 1198, 0, 1259, 1257, 1257, 1267, + 1268, 0, 0, 1275, 0, 0, 0, 0, 82, 0, + 0, 0, 1295, 0, 0, 0, 0, 99, 1200, 899, + 906, 0, 0, 900, 0, 901, 921, 923, 880, -2, + 884, 0, 943, 943, 88, 89, 0, 178, 0, 180, + 206, 207, 0, 183, 185, 186, 187, 193, 194, 195, + 188, 0, 0, 283, 285, 0, 0, 326, 337, 327, + 0, 0, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, + 887, 137, 138, 139, 574, 0, 584, 0, 0, 0, + 577, 0, 503, 0, 0, 0, 377, 377, 377, 0, + 0, 0, 0, 652, 0, 0, 615, 0, 623, 0, + 0, 0, 217, 218, 0, 1243, 556, 0, 122, 123, + 0, 0, 561, 496, 497, 1153, 997, 1165, 998, 0, + 0, 0, 1184, 0, 0, 0, 0, 1063, 1071, 0, + 1118, 0, 1078, 0, 0, 0, 604, 605, 0, 1114, + 0, 0, 0, 0, 0, 940, 0, 0, 0, 0, + 931, 1198, 80, 0, 0, 1262, 0, 1255, 1258, 1256, + 1269, 0, 0, 1276, 0, 1278, 0, 1299, 1300, 1293, + 0, 1285, 1288, 1284, 1287, 1209, 903, 0, 908, 0, + 1200, 87, 0, 181, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 191, 192, 0, 0, + 341, 344, 0, 0, 0, 575, 0, 587, 578, 0, + 665, 0, 669, 0, 0, 0, 672, 673, 674, 651, + 0, 655, 405, 639, 636, 637, 515, 0, 125, 126, + 0, 0, 0, 0, 0, 0, 1035, 1037, 1053, 1054, + 1055, 1162, 1163, 1072, 1076, 0, 1079, 0, 0, 1080, + 0, 606, 1099, 0, 1104, 1105, 0, 1110, 0, 0, + 936, 893, 894, 941, 942, 0, 0, 886, 79, 1199, + 1197, 1251, 0, 1260, 1261, 1270, 1271, 1277, 0, 1283, + 0, 85, 0, 0, 0, 1209, 179, 0, 198, 0, + 583, 0, 586, 576, 663, 664, 0, 676, 668, 670, + 671, 653, -2, 1235, 0, 0, 0, 563, 996, 0, + 0, 0, 1115, 1081, 0, 602, 603, 0, 0, 0, + 0, 935, 937, 938, 1263, 1264, 1291, 1289, 904, 911, + 0, 86, 418, 411, 1235, 0, 0, 0, 656, 657, + 658, 659, 660, 661, 662, 553, 1237, 127, 128, 484, + 485, 486, 121, 1154, 0, 1157, 0, 1100, 0, 1106, + 0, 1111, 0, 895, 896, 588, 0, 590, 0, -2, + 406, 419, 0, 173, 199, 200, 0, 0, 203, 204, + 205, 196, 197, 117, 0, 0, 677, 0, 1238, 1239, + 124, 1155, 1077, 0, 0, 0, 589, 0, 0, 361, + 0, 599, 407, 408, 0, 414, 415, 416, 417, 201, + 202, 611, 0, 0, 560, 0, 1101, 0, 1107, 0, + 1112, 591, 592, 600, 0, 409, 0, 410, 0, 0, + 0, 580, 0, 611, 1236, 0, 0, 0, 0, 601, + 597, 420, 422, 423, 0, 0, 421, 612, 581, 1156, + 1102, 1108, 0, 424, 425, 426, 593, 594, 595, 596, } var yyTok1 = [...]int{ @@ -15998,51 +16032,51 @@ yydefault: } yyVAL.union = yyLOCAL case 1039: - yyDollar = yyS[yypt-8 : yypt+1] + yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr //line sql.y:5332 { - yyLOCAL = &GroupConcatExpr{Distinct: yyDollar[3].booleanUnion(), Exprs: yyDollar[4].selectExprsUnion(), OrderBy: yyDollar[5].orderByUnion(), Separator: yyDollar[6].str, Limit: yyDollar[7].limitUnion()} + yyLOCAL = &CaseExpr{Expr: yyDollar[2].exprUnion(), Whens: yyDollar[3].whensUnion(), Else: yyDollar[4].exprUnion()} } yyVAL.union = yyLOCAL case 1040: - yyDollar = yyS[yypt-5 : yypt+1] + yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr //line sql.y:5336 { - yyLOCAL = &CaseExpr{Expr: yyDollar[2].exprUnion(), Whens: yyDollar[3].whensUnion(), Else: yyDollar[4].exprUnion()} + yyLOCAL = &ValuesFuncExpr{Name: yyDollar[3].colNameUnion()} } yyVAL.union = yyLOCAL case 1041: - yyDollar = yyS[yypt-4 : yypt+1] + yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr //line sql.y:5340 { - yyLOCAL = &ValuesFuncExpr{Name: yyDollar[3].colNameUnion()} + yyLOCAL = &FuncExpr{Name: NewColIdent(yyDollar[1].str)} } yyVAL.union = yyLOCAL case 1042: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5344 +//line sql.y:5351 { - yyLOCAL = &FuncExpr{Name: NewColIdent(yyDollar[1].str)} + yyLOCAL = &FuncExpr{Name: NewColIdent("utc_date")} } yyVAL.union = yyLOCAL case 1043: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr //line sql.y:5355 { - yyLOCAL = &FuncExpr{Name: NewColIdent("utc_date")} + yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL case 1044: - yyDollar = yyS[yypt-1 : yypt+1] + yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5359 +//line sql.y:5361 { - yyLOCAL = yyDollar[1].exprUnion() + yyLOCAL = &FuncExpr{Name: NewColIdent("current_date")} } yyVAL.union = yyLOCAL case 1045: @@ -16050,23 +16084,23 @@ yydefault: var yyLOCAL Expr //line sql.y:5365 { - yyLOCAL = &FuncExpr{Name: NewColIdent("current_date")} + yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("utc_time"), Fsp: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL case 1046: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5369 +//line sql.y:5370 { - yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("utc_time"), Fsp: yyDollar[2].exprUnion()} + yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("current_time"), Fsp: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL case 1047: - yyDollar = yyS[yypt-2 : yypt+1] + yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr //line sql.y:5374 { - yyLOCAL = &CurTimeFuncExpr{Name: NewColIdent("current_time"), Fsp: yyDollar[2].exprUnion()} + yyLOCAL = &CountStar{Name: yyDollar[1].str, Distinct: yyDollar[3].booleanUnion()} } yyVAL.union = yyLOCAL case 1048: @@ -16074,7 +16108,7 @@ yydefault: var yyLOCAL Expr //line sql.y:5378 { - yyLOCAL = &CountStar{Distinct: yyDollar[3].booleanUnion()} + yyLOCAL = &Count{Name: yyDollar[1].str, Distinct: yyDollar[3].booleanUnion(), Args: yyDollar[4].exprsUnion()} } yyVAL.union = yyLOCAL case 1049: @@ -16082,7 +16116,7 @@ yydefault: var yyLOCAL Expr //line sql.y:5382 { - yyLOCAL = &Count{Args: yyDollar[4].exprsUnion(), Distinct: yyDollar[3].booleanUnion()} + yyLOCAL = &Max{Name: yyDollar[1].str, Distinct: yyDollar[3].booleanUnion(), Args: yyDollar[4].exprsUnion()} } yyVAL.union = yyLOCAL case 1050: @@ -16090,7 +16124,7 @@ yydefault: var yyLOCAL Expr //line sql.y:5386 { - yyLOCAL = &Max{Args: yyDollar[4].exprsUnion(), Distinct: yyDollar[3].booleanUnion()} + yyLOCAL = &Min{Name: yyDollar[1].str, Distinct: yyDollar[3].booleanUnion(), Args: yyDollar[4].exprsUnion()} } yyVAL.union = yyLOCAL case 1051: @@ -16098,7 +16132,7 @@ yydefault: var yyLOCAL Expr //line sql.y:5390 { - yyLOCAL = &Min{Args: yyDollar[4].exprsUnion(), Distinct: yyDollar[3].booleanUnion()} + yyLOCAL = &Sum{Name: yyDollar[1].str, Distinct: yyDollar[3].booleanUnion(), Args: yyDollar[4].exprsUnion()} } yyVAL.union = yyLOCAL case 1052: @@ -16106,15 +16140,15 @@ yydefault: var yyLOCAL Expr //line sql.y:5394 { - yyLOCAL = &Sum{Args: yyDollar[4].exprsUnion(), Distinct: yyDollar[3].booleanUnion()} + yyLOCAL = &Avg{Name: yyDollar[1].str, Distinct: yyDollar[3].booleanUnion(), Args: yyDollar[4].exprsUnion()} } yyVAL.union = yyLOCAL case 1053: - yyDollar = yyS[yypt-5 : yypt+1] + yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr //line sql.y:5398 { - yyLOCAL = &Avg{Args: yyDollar[4].exprsUnion(), Distinct: yyDollar[3].booleanUnion()} + yyLOCAL = &GroupConcatExpr{Name: yyDollar[1].str, Distinct: yyDollar[3].booleanUnion(), Exprs: yyDollar[4].exprsUnion(), OrderBy: yyDollar[5].orderByUnion(), Separator: yyDollar[6].str, Limit: yyDollar[7].limitUnion()} } yyVAL.union = yyLOCAL case 1054: @@ -18244,42 +18278,42 @@ yydefault: { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].str)) } - case 1853: + case 1854: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7211 +//line sql.y:7212 { if incNesting(yylex) { yylex.Error("max nesting level reached") return 1 } } - case 1854: + case 1855: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7220 +//line sql.y:7221 { decNesting(yylex) } - case 1855: + case 1856: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7225 +//line sql.y:7226 { skipToEnd(yylex) } - case 1856: + case 1857: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7230 +//line sql.y:7231 { skipToEnd(yylex) } - case 1857: + case 1858: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7234 +//line sql.y:7235 { skipToEnd(yylex) } - case 1858: + case 1859: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7238 +//line sql.y:7239 { skipToEnd(yylex) } diff --git a/go/vt/sqlparser/sql.y b/go/vt/sqlparser/sql.y index 27ef52ee494..95aefbcf325 100644 --- a/go/vt/sqlparser/sql.y +++ b/go/vt/sqlparser/sql.y @@ -316,14 +316,14 @@ func bindVariable(yylex yyLexer, bvar string) { %token REPLACE %token CONVERT CAST %token SUBSTR SUBSTRING -%token GROUP_CONCAT SEPARATOR +%token SEPARATOR %token TIMESTAMPADD TIMESTAMPDIFF %token WEIGHT_STRING %token LTRIM RTRIM TRIM %token JSON_ARRAY JSON_OBJECT JSON_QUOTE %token JSON_DEPTH JSON_TYPE JSON_LENGTH JSON_VALID %token JSON_ARRAY_APPEND JSON_ARRAY_INSERT JSON_INSERT JSON_MERGE JSON_MERGE_PATCH JSON_MERGE_PRESERVE JSON_REMOVE JSON_REPLACE JSON_SET JSON_UNQUOTE -%token COUNT AVG MAX MIN SUM +%token COUNT AVG MAX MIN SUM GROUP_CONCAT %token REGEXP_INSTR REGEXP_LIKE REGEXP_REPLACE REGEXP_SUBSTR // Match @@ -5328,10 +5328,6 @@ function_call_keyword: { $$ = &SubstrExpr{Name: $3, From: $5} } -| GROUP_CONCAT openb distinct_opt select_expression_list order_by_opt separator_opt limit_opt closeb - { - $$ = &GroupConcatExpr{Distinct: $3, Exprs: $4, OrderBy: $5, Separator: $6, Limit: $7} - } | CASE expression_opt when_expression_list else_expression_opt END { $$ = &CaseExpr{Expr: $2, Whens: $3, Else: $4} @@ -5376,27 +5372,31 @@ UTC_DATE func_paren_opt } | COUNT openb distinct_opt '*' closeb { - $$ = &CountStar{Distinct:$3} + $$ = &CountStar{Name:$1, Distinct:$3} } | COUNT openb distinct_opt expression_list closeb { - $$ = &Count{Args:$4, Distinct:$3} + $$ = &Count{Name:$1, Distinct:$3, Args:$4} } | MAX openb distinct_opt expression_list closeb { - $$ = &Max{Args:$4, Distinct:$3} + $$ = &Max{Name:$1 , Distinct:$3, Args:$4} } | MIN openb distinct_opt expression_list closeb { - $$ = &Min{Args:$4, Distinct:$3} + $$ = &Min{Name:$1 , Distinct:$3, Args:$4} } | SUM openb distinct_opt expression_list closeb { - $$ = &Sum{Args:$4, Distinct:$3} + $$ = &Sum{Name:$1 , Distinct:$3, Args:$4} } | AVG openb distinct_opt expression_list closeb { - $$ = &Avg{Args:$4, Distinct:$3} + $$ = &Avg{Name:$1 , Distinct:$3, Args:$4} + } +| GROUP_CONCAT openb distinct_opt expression_list order_by_opt separator_opt limit_opt closeb + { + $$ = &GroupConcatExpr{Name:$1, Distinct: $3, Exprs: $4, OrderBy: $5, Separator: $6, Limit: $7} } | TIMESTAMPADD openb sql_id ',' expression ',' expression closeb { @@ -6941,6 +6941,7 @@ non_reserved_keyword: | GEOMETRYCOLLECTION | GET_MASTER_PUBLIC_KEY | GLOBAL +| GROUP_CONCAT | GTID_EXECUTED | HASH | HEADER diff --git a/go/vt/vtgate/planbuilder/abstract/queryprojection.go b/go/vt/vtgate/planbuilder/abstract/queryprojection.go index 033441fe0de..fbfc65afbce 100644 --- a/go/vt/vtgate/planbuilder/abstract/queryprojection.go +++ b/go/vt/vtgate/planbuilder/abstract/queryprojection.go @@ -504,7 +504,7 @@ orderBy: return nil, vterrors.Errorf(vtrpcpb.Code_UNIMPLEMENTED, "unsupported: in scatter query: complex aggregate expression") } - opcode, found := engine.SupportedAggregates[fnc.AggrName()] + opcode, found := engine.SupportedAggregates[strings.ToLower(fnc.AggrName())] if !found { return nil, vterrors.Errorf(vtrpcpb.Code_UNIMPLEMENTED, "unsupported: in scatter query: aggregation function '%s'", fnc.AggrName()) } diff --git a/go/vt/vtgate/planbuilder/aggregation_pushing.go b/go/vt/vtgate/planbuilder/aggregation_pushing.go index d26245fdebd..c70213c7fff 100644 --- a/go/vt/vtgate/planbuilder/aggregation_pushing.go +++ b/go/vt/vtgate/planbuilder/aggregation_pushing.go @@ -225,7 +225,7 @@ func addAggregationToSelect(sel *sqlparser.Select, aggregation abstract.Aggr) of } func countStarAggr() *abstract.Aggr { - f := &sqlparser.CountStar{} + f := &sqlparser.CountStar{Name: "count"} return &abstract.Aggr{ Original: &sqlparser.AliasedExpr{Expr: f}, diff --git a/go/vt/vtgate/planbuilder/ordered_aggregate.go b/go/vt/vtgate/planbuilder/ordered_aggregate.go index 39ea7d0f92c..8c7c1216bed 100644 --- a/go/vt/vtgate/planbuilder/ordered_aggregate.go +++ b/go/vt/vtgate/planbuilder/ordered_aggregate.go @@ -19,6 +19,7 @@ package planbuilder import ( "fmt" "strconv" + "strings" "vitess.io/vitess/go/mysql/collations" @@ -264,7 +265,7 @@ func (oa *orderedAggregate) Primitive() engine.Primitive { func (oa *orderedAggregate) pushAggr(pb *primitiveBuilder, expr *sqlparser.AliasedExpr, origin logicalPlan) (rc *resultColumn, colNumber int, err error) { aggrFunc, _ := expr.Expr.(sqlparser.AggrFunc) - opcode := engine.SupportedAggregates[aggrFunc.AggrName()] + opcode := engine.SupportedAggregates[strings.ToLower(aggrFunc.AggrName())] if aggrFunc.GetArgs() != nil && len(aggrFunc.GetArgs()) != 1 { diff --git a/go/vt/vtgate/planbuilder/plan_test.go b/go/vt/vtgate/planbuilder/plan_test.go index cc38f534c3e..0ceeb5701d4 100644 --- a/go/vt/vtgate/planbuilder/plan_test.go +++ b/go/vt/vtgate/planbuilder/plan_test.go @@ -256,8 +256,8 @@ func TestOne(t *testing.T) { v: loadSchema(t, "schema_test.json", true), } - // testFile(t, "onecase.txt", "", vschema) - testFile(t, "aggr_cases.txt", "", vschema) + testFile(t, "onecase.txt", "", vschema) + // testFile(t, "select_cases.txt", "", vschema) } func TestOneWithMainAsDefault(t *testing.T) { diff --git a/go/vt/vtgate/planbuilder/project.go b/go/vt/vtgate/planbuilder/project.go index 3e860225d73..d53ab81b19b 100644 --- a/go/vt/vtgate/planbuilder/project.go +++ b/go/vt/vtgate/planbuilder/project.go @@ -18,6 +18,7 @@ package planbuilder import ( "errors" + "strings" querypb "vitess.io/vitess/go/vt/proto/query" vtrpcpb "vitess.io/vitess/go/vt/proto/vtrpc" @@ -73,7 +74,7 @@ func planProjection(pb *primitiveBuilder, in logicalPlan, expr *sqlparser.Aliase // the rows be correctly ordered. case *orderedAggregate: if aggrFunc, isAggregate := expr.Expr.(sqlparser.AggrFunc); isAggregate { - if _, ok := engine.SupportedAggregates[aggrFunc.AggrName()]; ok { + if _, ok := engine.SupportedAggregates[strings.ToLower(aggrFunc.AggrName())]; ok { rc, colNumber, err := node.pushAggr(pb, expr, origin) if err != nil { return nil, nil, 0, err diff --git a/go/vt/vtgate/planbuilder/select.go b/go/vt/vtgate/planbuilder/select.go index 087646607f3..e6e84b4601d 100644 --- a/go/vt/vtgate/planbuilder/select.go +++ b/go/vt/vtgate/planbuilder/select.go @@ -290,10 +290,7 @@ func buildSQLCalcFoundRowsPlan( sel2.Limit = nil countStartExpr := []sqlparser.SelectExpr{&sqlparser.AliasedExpr{ - Expr: &sqlparser.FuncExpr{ - Name: sqlparser.NewColIdent("count"), - Exprs: []sqlparser.SelectExpr{&sqlparser.StarExpr{}}, - }, + Expr: &sqlparser.CountStar{Name: "count"}, }} if sel2.GroupBy == nil && sel2.Having == nil { // if there is no grouping, we can use the same query and diff --git a/go/vt/vtgate/planbuilder/symtab_test.go b/go/vt/vtgate/planbuilder/symtab_test.go index c327ad9c385..558a7037020 100644 --- a/go/vt/vtgate/planbuilder/symtab_test.go +++ b/go/vt/vtgate/planbuilder/symtab_test.go @@ -207,18 +207,24 @@ func TestGetReturnType(t *testing.T) { }}, output: querypb.Type_DECIMAL, expectedErr: nil, + }, { + input: &sqlparser.Count{Name: "Count"}, + output: querypb.Type_INT64, + expectedErr: nil, + }, { + input: &sqlparser.CountStar{Name: "Count"}, + output: querypb.Type_INT64, + expectedErr: nil, }, { input: &sqlparser.FuncExpr{Name: sqlparser.NewColIdent("Count"), Exprs: sqlparser.SelectExprs{ &sqlparser.StarExpr{}, }}, - output: querypb.Type_INT64, - expectedErr: nil, + expectedErr: fmt.Errorf("cannot evaluate return type for *sqlparser.FuncExpr"), }, { input: &sqlparser.FuncExpr{Name: sqlparser.NewColIdent("cOunt"), Exprs: sqlparser.SelectExprs{ &sqlparser.StarExpr{}, }}, - output: querypb.Type_INT64, - expectedErr: nil, + expectedErr: fmt.Errorf("cannot evaluate return type for *sqlparser.FuncExpr"), }, { input: &sqlparser.FuncExpr{Name: sqlparser.NewColIdent("Abs"), Exprs: sqlparser.SelectExprs{ &sqlparser.StarExpr{}, diff --git a/go/vt/vtgate/planbuilder/testdata/onecase.txt b/go/vt/vtgate/planbuilder/testdata/onecase.txt index 61af961bd55..e69de29bb2d 100644 --- a/go/vt/vtgate/planbuilder/testdata/onecase.txt +++ b/go/vt/vtgate/planbuilder/testdata/onecase.txt @@ -1,39 +0,0 @@ -# count on column from LIMIT -"select count(city) from (select phone, id, city from user where id > 12 limit 10) as x" -"unsupported: cross-shard query with aggregates" -{ - "QueryType": "SELECT", - "Original": "select count(city) from (select phone, id, city from user where id \u003e 12 limit 10) as x", - "Instructions": { - "OperatorType": "Aggregate", - "Variant": "Scalar", - "Aggregates": "count(0) AS count(city)", - "Inputs": [ - { - "OperatorType": "Projection", - "Expressions": [ - "[COLUMN 2] as count(city)" - ], - "Inputs": [ - { - "OperatorType": "Limit", - "Count": "INT64(10)", - "Inputs": [ - { - "OperatorType": "Route", - "Variant": "Scatter", - "Keyspace": { - "Name": "user", - "Sharded": true - }, - "FieldQuery": "select phone, id, city from `user` where 1 != 1", - "Query": "select phone, id, city from `user` where id \u003e 12 limit :__upper_limit", - "Table": "`user`" - } - ] - } - ] - } - ] - } -} diff --git a/go/vt/vtgate/planbuilder/testdata/unsupported_cases.txt b/go/vt/vtgate/planbuilder/testdata/unsupported_cases.txt index 4124d264a29..eaa93fbc877 100644 --- a/go/vt/vtgate/planbuilder/testdata/unsupported_cases.txt +++ b/go/vt/vtgate/planbuilder/testdata/unsupported_cases.txt @@ -96,7 +96,7 @@ Gen4 plan same as above # Aggregate detection (group_concat) "select group_concat(user.a) from user join user_extra" "unsupported: cross-shard query with aggregates" -Gen4 error: unsupported: in scatter query: complex aggregate expression +Gen4 error: unsupported: in scatter query: aggregation function 'group_concat' # subqueries not supported in group by "select id from user group by id, (select id from user_extra)" diff --git a/go/vt/vtgate/semantics/typer.go b/go/vt/vtgate/semantics/typer.go index 271bc060480..49f6da5bfe0 100644 --- a/go/vt/vtgate/semantics/typer.go +++ b/go/vt/vtgate/semantics/typer.go @@ -17,6 +17,8 @@ limitations under the License. package semantics import ( + "strings" + "vitess.io/vitess/go/mysql/collations" "vitess.io/vitess/go/sqltypes" querypb "vitess.io/vitess/go/vt/proto/query" @@ -59,8 +61,8 @@ func (t *typer) up(cursor *sqlparser.Cursor) error { case sqlparser.FloatVal: t.exprTypes[node] = floatval } - case *sqlparser.FuncExpr: - code, ok := engine.SupportedAggregates[node.Name.Lowered()] + case sqlparser.AggrFunc: + code, ok := engine.SupportedAggregates[strings.ToLower(node.AggrName())] if ok { typ, ok := engine.OpcodeType[code] if ok { From d5e2b496e8522852cf830064617d7160123ddea0 Mon Sep 17 00:00:00 2001 From: Rameez Sajwani Date: Sun, 5 Jun 2022 11:31:48 -0700 Subject: [PATCH 15/22] Adding more aggregate functions Signed-off-by: Rameez Sajwani --- go/vt/sqlparser/ast.go | 100 + go/vt/sqlparser/ast_clone.go | 180 + go/vt/sqlparser/ast_equals.go | 360 + go/vt/sqlparser/ast_format.go | 50 + go/vt/sqlparser/ast_format_fast.go | 70 + go/vt/sqlparser/ast_rewrite.go | 350 + go/vt/sqlparser/ast_visit.go | 200 + go/vt/sqlparser/cached_size.go | 210 + go/vt/sqlparser/keywords.go | 10 + go/vt/sqlparser/parse_test.go | 123 +- go/vt/sqlparser/sql.go | 11869 ++++++++-------- go/vt/sqlparser/sql.y | 52 +- go/vt/vtgate/planbuilder/testdata/onecase.txt | 1 + 13 files changed, 7752 insertions(+), 5823 deletions(-) diff --git a/go/vt/sqlparser/ast.go b/go/vt/sqlparser/ast.go index 174005a7445..56327caff6c 100644 --- a/go/vt/sqlparser/ast.go +++ b/go/vt/sqlparser/ast.go @@ -2674,6 +2674,56 @@ type ( Name string } + BitAnd struct { + Args Exprs + Name string + } + + BitOr struct { + Args Exprs + Name string + } + + BitXor struct { + Args Exprs + Name string + } + + Std struct { + Args Exprs + Name string + } + + StdDev struct { + Args Exprs + Name string + } + + StdPop struct { + Args Exprs + Name string + } + + StdSamp struct { + Args Exprs + Name string + } + + VarPop struct { + Args Exprs + Name string + } + + VarSamp struct { + Args Exprs + Name string + } + + Variance struct { + Args Exprs + Name string + } + // GroupConcatExpr represents a call to GROUP_CONCAT GroupConcatExpr struct { Distinct bool @@ -2782,6 +2832,16 @@ func (*Avg) iExpr() {} func (*CountStar) iExpr() {} func (*Count) iExpr() {} func (*GroupConcatExpr) iExpr() {} +func (*BitAnd) iExpr() {} +func (*BitOr) iExpr() {} +func (*BitXor) iExpr() {} +func (*Std) iExpr() {} +func (*StdDev) iExpr() {} +func (*StdPop) iExpr() {} +func (*StdSamp) iExpr() {} +func (*VarPop) iExpr() {} +func (*VarSamp) iExpr() {} +func (*Variance) iExpr() {} func (sum *Sum) GetArg() Expr { return sum.Args[0] } func (min *Min) GetArg() Expr { return min.Args[0] } @@ -2790,6 +2850,16 @@ func (avg *Avg) GetArg() Expr { return avg.Args[0] } func (*CountStar) GetArg() Expr { return nil } func (count *Count) GetArg() Expr { return count.Args[0] } func (grpConcat *GroupConcatExpr) GetArg() Expr { return grpConcat.Exprs[0] } +func (bAnd *BitAnd) GetArg() Expr { return bAnd.Args[0] } +func (bOr *BitOr) GetArg() Expr { return bOr.Args[0] } +func (bXor *BitXor) GetArg() Expr { return bXor.Args[0] } +func (std *Std) GetArg() Expr { return std.Args[0] } +func (stdD *StdDev) GetArg() Expr { return stdD.Args[0] } +func (stdP *StdPop) GetArg() Expr { return stdP.Args[0] } +func (stdS *StdSamp) GetArg() Expr { return stdS.Args[0] } +func (varP *VarPop) GetArg() Expr { return varP.Args[0] } +func (varS *VarSamp) GetArg() Expr { return varS.Args[0] } +func (variance *Variance) GetArg() Expr { return variance.Args[0] } func (sum *Sum) GetArgs() Exprs { return sum.Args } func (min *Min) GetArgs() Exprs { return min.Args } @@ -2798,6 +2868,16 @@ func (avg *Avg) GetArgs() Exprs { return avg.Args } func (*CountStar) GetArgs() Exprs { return nil } func (count *Count) GetArgs() Exprs { return count.Args } func (grpConcat *GroupConcatExpr) GetArgs() Exprs { return grpConcat.Exprs } +func (bAnd *BitAnd) GetArgs() Exprs { return bAnd.Args } +func (bOr *BitOr) GetArgs() Exprs { return bOr.Args } +func (bXor *BitXor) GetArgs() Exprs { return bXor.Args } +func (std *Std) GetArgs() Exprs { return std.Args } +func (stdD *StdDev) GetArgs() Exprs { return stdD.Args } +func (stdP *StdPop) GetArgs() Exprs { return stdP.Args } +func (stdS *StdSamp) GetArgs() Exprs { return stdS.Args } +func (varP *VarPop) GetArgs() Exprs { return varP.Args } +func (varS *VarSamp) GetArgs() Exprs { return varS.Args } +func (variance *Variance) GetArgs() Exprs { return variance.Args } func (sum *Sum) isDistinct() bool { return sum.Distinct } func (min *Min) isDistinct() bool { return min.Distinct } @@ -2806,6 +2886,16 @@ func (avg *Avg) isDistinct() bool { return avg.Distinct } func (cStar *CountStar) isDistinct() bool { return cStar.Distinct } func (count *Count) isDistinct() bool { return count.Distinct } func (grpConcat *GroupConcatExpr) isDistinct() bool { return grpConcat.Distinct } +func (bAnd *BitAnd) isDistinct() bool { return false } +func (bOr *BitOr) isDistinct() bool { return false } +func (bXor *BitXor) isDistinct() bool { return false } +func (std *Std) isDistinct() bool { return false } +func (stdD *StdDev) isDistinct() bool { return false } +func (stdP *StdPop) isDistinct() bool { return false } +func (stdS *StdSamp) isDistinct() bool { return false } +func (varP *VarPop) isDistinct() bool { return false } +func (varS *VarSamp) isDistinct() bool { return false } +func (variance *Variance) isDistinct() bool { return false } func (sum *Sum) AggrName() string { return sum.Name } func (min *Min) AggrName() string { return min.Name } @@ -2814,6 +2904,16 @@ func (avg *Avg) AggrName() string { return avg.Name } func (cStar *CountStar) AggrName() string { return cStar.Name } func (count *Count) AggrName() string { return count.Name } func (grpConcat *GroupConcatExpr) AggrName() string { return grpConcat.Name } +func (bAnd *BitAnd) AggrName() string { return bAnd.Name } +func (bOr *BitOr) AggrName() string { return bOr.Name } +func (bXor *BitXor) AggrName() string { return bXor.Name } +func (std *Std) AggrName() string { return std.Name } +func (stdD *StdDev) AggrName() string { return stdD.Name } +func (stdP *StdPop) AggrName() string { return stdP.Name } +func (stdS *StdSamp) AggrName() string { return stdS.Name } +func (varP *VarPop) AggrName() string { return varP.Name } +func (varS *VarSamp) AggrName() string { return varS.Name } +func (variance *Variance) AggrName() string { return variance.Name } func (*AndExpr) iExpr() {} func (*OrExpr) iExpr() {} diff --git a/go/vt/sqlparser/ast_clone.go b/go/vt/sqlparser/ast_clone.go index b7ad910ce9e..c212afb8019 100644 --- a/go/vt/sqlparser/ast_clone.go +++ b/go/vt/sqlparser/ast_clone.go @@ -71,6 +71,12 @@ func CloneSQLNode(in SQLNode) SQLNode { return CloneRefOfBetweenExpr(in) case *BinaryExpr: return CloneRefOfBinaryExpr(in) + case *BitAnd: + return CloneRefOfBitAnd(in) + case *BitOr: + return CloneRefOfBitOr(in) + case *BitXor: + return CloneRefOfBitXor(in) case BoolVal: return in case *CallProc: @@ -387,6 +393,14 @@ func CloneSQLNode(in SQLNode) SQLNode { return CloneRefOfShowThrottledApps(in) case *StarExpr: return CloneRefOfStarExpr(in) + case *Std: + return CloneRefOfStd(in) + case *StdDev: + return CloneRefOfStdDev(in) + case *StdPop: + return CloneRefOfStdPop(in) + case *StdSamp: + return CloneRefOfStdSamp(in) case *Stream: return CloneRefOfStream(in) case *SubPartition: @@ -447,6 +461,12 @@ func CloneSQLNode(in SQLNode) SQLNode { return CloneValues(in) case *ValuesFuncExpr: return CloneRefOfValuesFuncExpr(in) + case *VarPop: + return CloneRefOfVarPop(in) + case *VarSamp: + return CloneRefOfVarSamp(in) + case *Variance: + return CloneRefOfVariance(in) case VindexParam: return CloneVindexParam(in) case *VindexSpec: @@ -706,6 +726,36 @@ func CloneRefOfBinaryExpr(n *BinaryExpr) *BinaryExpr { return &out } +// CloneRefOfBitAnd creates a deep clone of the input. +func CloneRefOfBitAnd(n *BitAnd) *BitAnd { + if n == nil { + return nil + } + out := *n + out.Args = CloneExprs(n.Args) + return &out +} + +// CloneRefOfBitOr creates a deep clone of the input. +func CloneRefOfBitOr(n *BitOr) *BitOr { + if n == nil { + return nil + } + out := *n + out.Args = CloneExprs(n.Args) + return &out +} + +// CloneRefOfBitXor creates a deep clone of the input. +func CloneRefOfBitXor(n *BitXor) *BitXor { + if n == nil { + return nil + } + out := *n + out.Args = CloneExprs(n.Args) + return &out +} + // CloneRefOfCallProc creates a deep clone of the input. func CloneRefOfCallProc(n *CallProc) *CallProc { if n == nil { @@ -2375,6 +2425,46 @@ func CloneRefOfStarExpr(n *StarExpr) *StarExpr { return &out } +// CloneRefOfStd creates a deep clone of the input. +func CloneRefOfStd(n *Std) *Std { + if n == nil { + return nil + } + out := *n + out.Args = CloneExprs(n.Args) + return &out +} + +// CloneRefOfStdDev creates a deep clone of the input. +func CloneRefOfStdDev(n *StdDev) *StdDev { + if n == nil { + return nil + } + out := *n + out.Args = CloneExprs(n.Args) + return &out +} + +// CloneRefOfStdPop creates a deep clone of the input. +func CloneRefOfStdPop(n *StdPop) *StdPop { + if n == nil { + return nil + } + out := *n + out.Args = CloneExprs(n.Args) + return &out +} + +// CloneRefOfStdSamp creates a deep clone of the input. +func CloneRefOfStdSamp(n *StdSamp) *StdSamp { + if n == nil { + return nil + } + out := *n + out.Args = CloneExprs(n.Args) + return &out +} + // CloneRefOfStream creates a deep clone of the input. func CloneRefOfStream(n *Stream) *Stream { if n == nil { @@ -2709,6 +2799,36 @@ func CloneRefOfValuesFuncExpr(n *ValuesFuncExpr) *ValuesFuncExpr { return &out } +// CloneRefOfVarPop creates a deep clone of the input. +func CloneRefOfVarPop(n *VarPop) *VarPop { + if n == nil { + return nil + } + out := *n + out.Args = CloneExprs(n.Args) + return &out +} + +// CloneRefOfVarSamp creates a deep clone of the input. +func CloneRefOfVarSamp(n *VarSamp) *VarSamp { + if n == nil { + return nil + } + out := *n + out.Args = CloneExprs(n.Args) + return &out +} + +// CloneRefOfVariance creates a deep clone of the input. +func CloneRefOfVariance(n *Variance) *Variance { + if n == nil { + return nil + } + out := *n + out.Args = CloneExprs(n.Args) + return &out +} + // CloneVindexParam creates a deep clone of the input. func CloneVindexParam(n VindexParam) VindexParam { return *CloneRefOfVindexParam(&n) @@ -2823,6 +2943,12 @@ func CloneAggrFunc(in AggrFunc) AggrFunc { switch in := in.(type) { case *Avg: return CloneRefOfAvg(in) + case *BitAnd: + return CloneRefOfBitAnd(in) + case *BitOr: + return CloneRefOfBitOr(in) + case *BitXor: + return CloneRefOfBitXor(in) case *Count: return CloneRefOfCount(in) case *CountStar: @@ -2833,8 +2959,22 @@ func CloneAggrFunc(in AggrFunc) AggrFunc { return CloneRefOfMax(in) case *Min: return CloneRefOfMin(in) + case *Std: + return CloneRefOfStd(in) + case *StdDev: + return CloneRefOfStdDev(in) + case *StdPop: + return CloneRefOfStdPop(in) + case *StdSamp: + return CloneRefOfStdSamp(in) case *Sum: return CloneRefOfSum(in) + case *VarPop: + return CloneRefOfVarPop(in) + case *VarSamp: + return CloneRefOfVarSamp(in) + case *Variance: + return CloneRefOfVariance(in) default: // this should never happen return nil @@ -3123,6 +3263,12 @@ func CloneExpr(in Expr) Expr { return CloneRefOfBetweenExpr(in) case *BinaryExpr: return CloneRefOfBinaryExpr(in) + case *BitAnd: + return CloneRefOfBitAnd(in) + case *BitOr: + return CloneRefOfBitOr(in) + case *BitXor: + return CloneRefOfBitXor(in) case BoolVal: return in case *CaseExpr: @@ -3239,6 +3385,14 @@ func CloneExpr(in Expr) Expr { return CloneRefOfRegexpReplaceExpr(in) case *RegexpSubstrExpr: return CloneRefOfRegexpSubstrExpr(in) + case *Std: + return CloneRefOfStd(in) + case *StdDev: + return CloneRefOfStdDev(in) + case *StdPop: + return CloneRefOfStdPop(in) + case *StdSamp: + return CloneRefOfStdSamp(in) case *Subquery: return CloneRefOfSubquery(in) case *SubstrExpr: @@ -3255,6 +3409,12 @@ func CloneExpr(in Expr) Expr { return CloneValTuple(in) case *ValuesFuncExpr: return CloneRefOfValuesFuncExpr(in) + case *VarPop: + return CloneRefOfVarPop(in) + case *VarSamp: + return CloneRefOfVarSamp(in) + case *Variance: + return CloneRefOfVariance(in) case *WeightStringFuncExpr: return CloneRefOfWeightStringFuncExpr(in) case *XorExpr: @@ -3301,6 +3461,12 @@ func CloneJSONPathParam(in JSONPathParam) JSONPathParam { return CloneRefOfBetweenExpr(in) case *BinaryExpr: return CloneRefOfBinaryExpr(in) + case *BitAnd: + return CloneRefOfBitAnd(in) + case *BitOr: + return CloneRefOfBitOr(in) + case *BitXor: + return CloneRefOfBitXor(in) case BoolVal: return in case *CaseExpr: @@ -3417,6 +3583,14 @@ func CloneJSONPathParam(in JSONPathParam) JSONPathParam { return CloneRefOfRegexpReplaceExpr(in) case *RegexpSubstrExpr: return CloneRefOfRegexpSubstrExpr(in) + case *Std: + return CloneRefOfStd(in) + case *StdDev: + return CloneRefOfStdDev(in) + case *StdPop: + return CloneRefOfStdPop(in) + case *StdSamp: + return CloneRefOfStdSamp(in) case *Subquery: return CloneRefOfSubquery(in) case *SubstrExpr: @@ -3433,6 +3607,12 @@ func CloneJSONPathParam(in JSONPathParam) JSONPathParam { return CloneValTuple(in) case *ValuesFuncExpr: return CloneRefOfValuesFuncExpr(in) + case *VarPop: + return CloneRefOfVarPop(in) + case *VarSamp: + return CloneRefOfVarSamp(in) + case *Variance: + return CloneRefOfVariance(in) case *WeightStringFuncExpr: return CloneRefOfWeightStringFuncExpr(in) case *XorExpr: diff --git a/go/vt/sqlparser/ast_equals.go b/go/vt/sqlparser/ast_equals.go index 7da68ca7818..dc420592a3d 100644 --- a/go/vt/sqlparser/ast_equals.go +++ b/go/vt/sqlparser/ast_equals.go @@ -170,6 +170,24 @@ func EqualsSQLNode(inA, inB SQLNode) bool { return false } return EqualsRefOfBinaryExpr(a, b) + case *BitAnd: + b, ok := inB.(*BitAnd) + if !ok { + return false + } + return EqualsRefOfBitAnd(a, b) + case *BitOr: + b, ok := inB.(*BitOr) + if !ok { + return false + } + return EqualsRefOfBitOr(a, b) + case *BitXor: + b, ok := inB.(*BitXor) + if !ok { + return false + } + return EqualsRefOfBitXor(a, b) case BoolVal: b, ok := inB.(BoolVal) if !ok { @@ -1118,6 +1136,30 @@ func EqualsSQLNode(inA, inB SQLNode) bool { return false } return EqualsRefOfStarExpr(a, b) + case *Std: + b, ok := inB.(*Std) + if !ok { + return false + } + return EqualsRefOfStd(a, b) + case *StdDev: + b, ok := inB.(*StdDev) + if !ok { + return false + } + return EqualsRefOfStdDev(a, b) + case *StdPop: + b, ok := inB.(*StdPop) + if !ok { + return false + } + return EqualsRefOfStdPop(a, b) + case *StdSamp: + b, ok := inB.(*StdSamp) + if !ok { + return false + } + return EqualsRefOfStdSamp(a, b) case *Stream: b, ok := inB.(*Stream) if !ok { @@ -1298,6 +1340,24 @@ func EqualsSQLNode(inA, inB SQLNode) bool { return false } return EqualsRefOfValuesFuncExpr(a, b) + case *VarPop: + b, ok := inB.(*VarPop) + if !ok { + return false + } + return EqualsRefOfVarPop(a, b) + case *VarSamp: + b, ok := inB.(*VarSamp) + if !ok { + return false + } + return EqualsRefOfVarSamp(a, b) + case *Variance: + b, ok := inB.(*Variance) + if !ok { + return false + } + return EqualsRefOfVariance(a, b) case VindexParam: b, ok := inB.(VindexParam) if !ok { @@ -1640,6 +1700,42 @@ func EqualsRefOfBinaryExpr(a, b *BinaryExpr) bool { EqualsExpr(a.Right, b.Right) } +// EqualsRefOfBitAnd does deep equals between the two objects. +func EqualsRefOfBitAnd(a, b *BitAnd) bool { + if a == b { + return true + } + if a == nil || b == nil { + return false + } + return a.Name == b.Name && + EqualsExprs(a.Args, b.Args) +} + +// EqualsRefOfBitOr does deep equals between the two objects. +func EqualsRefOfBitOr(a, b *BitOr) bool { + if a == b { + return true + } + if a == nil || b == nil { + return false + } + return a.Name == b.Name && + EqualsExprs(a.Args, b.Args) +} + +// EqualsRefOfBitXor does deep equals between the two objects. +func EqualsRefOfBitXor(a, b *BitXor) bool { + if a == b { + return true + } + if a == nil || b == nil { + return false + } + return a.Name == b.Name && + EqualsExprs(a.Args, b.Args) +} + // EqualsRefOfCallProc does deep equals between the two objects. func EqualsRefOfCallProc(a, b *CallProc) bool { if a == b { @@ -3593,6 +3689,54 @@ func EqualsRefOfStarExpr(a, b *StarExpr) bool { return EqualsTableName(a.TableName, b.TableName) } +// EqualsRefOfStd does deep equals between the two objects. +func EqualsRefOfStd(a, b *Std) bool { + if a == b { + return true + } + if a == nil || b == nil { + return false + } + return a.Name == b.Name && + EqualsExprs(a.Args, b.Args) +} + +// EqualsRefOfStdDev does deep equals between the two objects. +func EqualsRefOfStdDev(a, b *StdDev) bool { + if a == b { + return true + } + if a == nil || b == nil { + return false + } + return a.Name == b.Name && + EqualsExprs(a.Args, b.Args) +} + +// EqualsRefOfStdPop does deep equals between the two objects. +func EqualsRefOfStdPop(a, b *StdPop) bool { + if a == b { + return true + } + if a == nil || b == nil { + return false + } + return a.Name == b.Name && + EqualsExprs(a.Args, b.Args) +} + +// EqualsRefOfStdSamp does deep equals between the two objects. +func EqualsRefOfStdSamp(a, b *StdSamp) bool { + if a == b { + return true + } + if a == nil || b == nil { + return false + } + return a.Name == b.Name && + EqualsExprs(a.Args, b.Args) +} + // EqualsRefOfStream does deep equals between the two objects. func EqualsRefOfStream(a, b *Stream) bool { if a == b { @@ -3974,6 +4118,42 @@ func EqualsRefOfValuesFuncExpr(a, b *ValuesFuncExpr) bool { return EqualsRefOfColName(a.Name, b.Name) } +// EqualsRefOfVarPop does deep equals between the two objects. +func EqualsRefOfVarPop(a, b *VarPop) bool { + if a == b { + return true + } + if a == nil || b == nil { + return false + } + return a.Name == b.Name && + EqualsExprs(a.Args, b.Args) +} + +// EqualsRefOfVarSamp does deep equals between the two objects. +func EqualsRefOfVarSamp(a, b *VarSamp) bool { + if a == b { + return true + } + if a == nil || b == nil { + return false + } + return a.Name == b.Name && + EqualsExprs(a.Args, b.Args) +} + +// EqualsRefOfVariance does deep equals between the two objects. +func EqualsRefOfVariance(a, b *Variance) bool { + if a == b { + return true + } + if a == nil || b == nil { + return false + } + return a.Name == b.Name && + EqualsExprs(a.Args, b.Args) +} + // EqualsVindexParam does deep equals between the two objects. func EqualsVindexParam(a, b VindexParam) bool { return a.Val == b.Val && @@ -4107,6 +4287,24 @@ func EqualsAggrFunc(inA, inB AggrFunc) bool { return false } return EqualsRefOfAvg(a, b) + case *BitAnd: + b, ok := inB.(*BitAnd) + if !ok { + return false + } + return EqualsRefOfBitAnd(a, b) + case *BitOr: + b, ok := inB.(*BitOr) + if !ok { + return false + } + return EqualsRefOfBitOr(a, b) + case *BitXor: + b, ok := inB.(*BitXor) + if !ok { + return false + } + return EqualsRefOfBitXor(a, b) case *Count: b, ok := inB.(*Count) if !ok { @@ -4137,12 +4335,54 @@ func EqualsAggrFunc(inA, inB AggrFunc) bool { return false } return EqualsRefOfMin(a, b) + case *Std: + b, ok := inB.(*Std) + if !ok { + return false + } + return EqualsRefOfStd(a, b) + case *StdDev: + b, ok := inB.(*StdDev) + if !ok { + return false + } + return EqualsRefOfStdDev(a, b) + case *StdPop: + b, ok := inB.(*StdPop) + if !ok { + return false + } + return EqualsRefOfStdPop(a, b) + case *StdSamp: + b, ok := inB.(*StdSamp) + if !ok { + return false + } + return EqualsRefOfStdSamp(a, b) case *Sum: b, ok := inB.(*Sum) if !ok { return false } return EqualsRefOfSum(a, b) + case *VarPop: + b, ok := inB.(*VarPop) + if !ok { + return false + } + return EqualsRefOfVarPop(a, b) + case *VarSamp: + b, ok := inB.(*VarSamp) + if !ok { + return false + } + return EqualsRefOfVarSamp(a, b) + case *Variance: + b, ok := inB.(*Variance) + if !ok { + return false + } + return EqualsRefOfVariance(a, b) default: // this should never happen return false @@ -4818,6 +5058,24 @@ func EqualsExpr(inA, inB Expr) bool { return false } return EqualsRefOfBinaryExpr(a, b) + case *BitAnd: + b, ok := inB.(*BitAnd) + if !ok { + return false + } + return EqualsRefOfBitAnd(a, b) + case *BitOr: + b, ok := inB.(*BitOr) + if !ok { + return false + } + return EqualsRefOfBitOr(a, b) + case *BitXor: + b, ok := inB.(*BitXor) + if !ok { + return false + } + return EqualsRefOfBitXor(a, b) case BoolVal: b, ok := inB.(BoolVal) if !ok { @@ -5166,6 +5424,30 @@ func EqualsExpr(inA, inB Expr) bool { return false } return EqualsRefOfRegexpSubstrExpr(a, b) + case *Std: + b, ok := inB.(*Std) + if !ok { + return false + } + return EqualsRefOfStd(a, b) + case *StdDev: + b, ok := inB.(*StdDev) + if !ok { + return false + } + return EqualsRefOfStdDev(a, b) + case *StdPop: + b, ok := inB.(*StdPop) + if !ok { + return false + } + return EqualsRefOfStdPop(a, b) + case *StdSamp: + b, ok := inB.(*StdSamp) + if !ok { + return false + } + return EqualsRefOfStdSamp(a, b) case *Subquery: b, ok := inB.(*Subquery) if !ok { @@ -5214,6 +5496,24 @@ func EqualsExpr(inA, inB Expr) bool { return false } return EqualsRefOfValuesFuncExpr(a, b) + case *VarPop: + b, ok := inB.(*VarPop) + if !ok { + return false + } + return EqualsRefOfVarPop(a, b) + case *VarSamp: + b, ok := inB.(*VarSamp) + if !ok { + return false + } + return EqualsRefOfVarSamp(a, b) + case *Variance: + b, ok := inB.(*Variance) + if !ok { + return false + } + return EqualsRefOfVariance(a, b) case *WeightStringFuncExpr: b, ok := inB.(*WeightStringFuncExpr) if !ok { @@ -5310,6 +5610,24 @@ func EqualsJSONPathParam(inA, inB JSONPathParam) bool { return false } return EqualsRefOfBinaryExpr(a, b) + case *BitAnd: + b, ok := inB.(*BitAnd) + if !ok { + return false + } + return EqualsRefOfBitAnd(a, b) + case *BitOr: + b, ok := inB.(*BitOr) + if !ok { + return false + } + return EqualsRefOfBitOr(a, b) + case *BitXor: + b, ok := inB.(*BitXor) + if !ok { + return false + } + return EqualsRefOfBitXor(a, b) case BoolVal: b, ok := inB.(BoolVal) if !ok { @@ -5658,6 +5976,30 @@ func EqualsJSONPathParam(inA, inB JSONPathParam) bool { return false } return EqualsRefOfRegexpSubstrExpr(a, b) + case *Std: + b, ok := inB.(*Std) + if !ok { + return false + } + return EqualsRefOfStd(a, b) + case *StdDev: + b, ok := inB.(*StdDev) + if !ok { + return false + } + return EqualsRefOfStdDev(a, b) + case *StdPop: + b, ok := inB.(*StdPop) + if !ok { + return false + } + return EqualsRefOfStdPop(a, b) + case *StdSamp: + b, ok := inB.(*StdSamp) + if !ok { + return false + } + return EqualsRefOfStdSamp(a, b) case *Subquery: b, ok := inB.(*Subquery) if !ok { @@ -5706,6 +6048,24 @@ func EqualsJSONPathParam(inA, inB JSONPathParam) bool { return false } return EqualsRefOfValuesFuncExpr(a, b) + case *VarPop: + b, ok := inB.(*VarPop) + if !ok { + return false + } + return EqualsRefOfVarPop(a, b) + case *VarSamp: + b, ok := inB.(*VarSamp) + if !ok { + return false + } + return EqualsRefOfVarSamp(a, b) + case *Variance: + b, ok := inB.(*Variance) + if !ok { + return false + } + return EqualsRefOfVariance(a, b) case *WeightStringFuncExpr: b, ok := inB.(*WeightStringFuncExpr) if !ok { diff --git a/go/vt/sqlparser/ast_format.go b/go/vt/sqlparser/ast_format.go index 06e80ab2d57..9620a6c5884 100644 --- a/go/vt/sqlparser/ast_format.go +++ b/go/vt/sqlparser/ast_format.go @@ -2609,3 +2609,53 @@ func (node *Sum) Format(buf *TrackedBuffer) { } buf.astPrintf(node, "%v)", node.Args) } + +func (node *BitAnd) Format(buf *TrackedBuffer) { + buf.astPrintf(node, "%s(", node.AggrName()) + buf.astPrintf(node, "%v)", node.Args) +} + +func (node *BitOr) Format(buf *TrackedBuffer) { + buf.astPrintf(node, "%s(", node.AggrName()) + buf.astPrintf(node, "%v)", node.Args) +} + +func (node *BitXor) Format(buf *TrackedBuffer) { + buf.astPrintf(node, "%s(", node.AggrName()) + buf.astPrintf(node, "%v)", node.Args) +} + +func (node *Std) Format(buf *TrackedBuffer) { + buf.astPrintf(node, "%s(", node.AggrName()) + buf.astPrintf(node, "%v)", node.Args) +} + +func (node *StdDev) Format(buf *TrackedBuffer) { + buf.astPrintf(node, "%s(", node.AggrName()) + buf.astPrintf(node, "%v)", node.Args) +} + +func (node *StdPop) Format(buf *TrackedBuffer) { + buf.astPrintf(node, "%s(", node.AggrName()) + buf.astPrintf(node, "%v)", node.Args) +} + +func (node *StdSamp) Format(buf *TrackedBuffer) { + buf.astPrintf(node, "%s(", node.AggrName()) + buf.astPrintf(node, "%v)", node.Args) +} + +func (node *VarPop) Format(buf *TrackedBuffer) { + buf.astPrintf(node, "%s(", node.AggrName()) + buf.astPrintf(node, "%v)", node.Args) +} + +func (node *VarSamp) Format(buf *TrackedBuffer) { + buf.astPrintf(node, "%s(", node.AggrName()) + buf.astPrintf(node, "%v)", node.Args) +} + +func (node *Variance) Format(buf *TrackedBuffer) { + buf.astPrintf(node, "%s(", node.AggrName()) + buf.astPrintf(node, "%v)", node.Args) +} diff --git a/go/vt/sqlparser/ast_format_fast.go b/go/vt/sqlparser/ast_format_fast.go index 6c5e4a914b3..2cab771be93 100644 --- a/go/vt/sqlparser/ast_format_fast.go +++ b/go/vt/sqlparser/ast_format_fast.go @@ -3395,3 +3395,73 @@ func (node *Sum) formatFast(buf *TrackedBuffer) { node.Args.formatFast(buf) buf.WriteByte(')') } + +func (node *BitAnd) formatFast(buf *TrackedBuffer) { + buf.WriteString(node.AggrName()) + buf.WriteByte('(') + node.Args.formatFast(buf) + buf.WriteByte(')') +} + +func (node *BitOr) formatFast(buf *TrackedBuffer) { + buf.WriteString(node.AggrName()) + buf.WriteByte('(') + node.Args.formatFast(buf) + buf.WriteByte(')') +} + +func (node *BitXor) formatFast(buf *TrackedBuffer) { + buf.WriteString(node.AggrName()) + buf.WriteByte('(') + node.Args.formatFast(buf) + buf.WriteByte(')') +} + +func (node *Std) formatFast(buf *TrackedBuffer) { + buf.WriteString(node.AggrName()) + buf.WriteByte('(') + node.Args.formatFast(buf) + buf.WriteByte(')') +} + +func (node *StdDev) formatFast(buf *TrackedBuffer) { + buf.WriteString(node.AggrName()) + buf.WriteByte('(') + node.Args.formatFast(buf) + buf.WriteByte(')') +} + +func (node *StdPop) formatFast(buf *TrackedBuffer) { + buf.WriteString(node.AggrName()) + buf.WriteByte('(') + node.Args.formatFast(buf) + buf.WriteByte(')') +} + +func (node *StdSamp) formatFast(buf *TrackedBuffer) { + buf.WriteString(node.AggrName()) + buf.WriteByte('(') + node.Args.formatFast(buf) + buf.WriteByte(')') +} + +func (node *VarPop) formatFast(buf *TrackedBuffer) { + buf.WriteString(node.AggrName()) + buf.WriteByte('(') + node.Args.formatFast(buf) + buf.WriteByte(')') +} + +func (node *VarSamp) formatFast(buf *TrackedBuffer) { + buf.WriteString(node.AggrName()) + buf.WriteByte('(') + node.Args.formatFast(buf) + buf.WriteByte(')') +} + +func (node *Variance) formatFast(buf *TrackedBuffer) { + buf.WriteString(node.AggrName()) + buf.WriteByte('(') + node.Args.formatFast(buf) + buf.WriteByte(')') +} diff --git a/go/vt/sqlparser/ast_rewrite.go b/go/vt/sqlparser/ast_rewrite.go index 2984a3748f9..9e303424a21 100644 --- a/go/vt/sqlparser/ast_rewrite.go +++ b/go/vt/sqlparser/ast_rewrite.go @@ -70,6 +70,12 @@ func (a *application) rewriteSQLNode(parent SQLNode, node SQLNode, replacer repl return a.rewriteRefOfBetweenExpr(parent, node, replacer) case *BinaryExpr: return a.rewriteRefOfBinaryExpr(parent, node, replacer) + case *BitAnd: + return a.rewriteRefOfBitAnd(parent, node, replacer) + case *BitOr: + return a.rewriteRefOfBitOr(parent, node, replacer) + case *BitXor: + return a.rewriteRefOfBitXor(parent, node, replacer) case BoolVal: return a.rewriteBoolVal(parent, node, replacer) case *CallProc: @@ -386,6 +392,14 @@ func (a *application) rewriteSQLNode(parent SQLNode, node SQLNode, replacer repl return a.rewriteRefOfShowThrottledApps(parent, node, replacer) case *StarExpr: return a.rewriteRefOfStarExpr(parent, node, replacer) + case *Std: + return a.rewriteRefOfStd(parent, node, replacer) + case *StdDev: + return a.rewriteRefOfStdDev(parent, node, replacer) + case *StdPop: + return a.rewriteRefOfStdPop(parent, node, replacer) + case *StdSamp: + return a.rewriteRefOfStdSamp(parent, node, replacer) case *Stream: return a.rewriteRefOfStream(parent, node, replacer) case *SubPartition: @@ -446,6 +460,12 @@ func (a *application) rewriteSQLNode(parent SQLNode, node SQLNode, replacer repl return a.rewriteValues(parent, node, replacer) case *ValuesFuncExpr: return a.rewriteRefOfValuesFuncExpr(parent, node, replacer) + case *VarPop: + return a.rewriteRefOfVarPop(parent, node, replacer) + case *VarSamp: + return a.rewriteRefOfVarSamp(parent, node, replacer) + case *Variance: + return a.rewriteRefOfVariance(parent, node, replacer) case VindexParam: return a.rewriteVindexParam(parent, node, replacer) case *VindexSpec: @@ -1159,6 +1179,87 @@ func (a *application) rewriteRefOfBinaryExpr(parent SQLNode, node *BinaryExpr, r } return true } +func (a *application) rewriteRefOfBitAnd(parent SQLNode, node *BitAnd, replacer replacerFunc) bool { + if node == nil { + return true + } + if a.pre != nil { + a.cur.replacer = replacer + a.cur.parent = parent + a.cur.node = node + if !a.pre(&a.cur) { + return true + } + } + if !a.rewriteExprs(node, node.Args, func(newNode, parent SQLNode) { + parent.(*BitAnd).Args = newNode.(Exprs) + }) { + return false + } + if a.post != nil { + a.cur.replacer = replacer + a.cur.parent = parent + a.cur.node = node + if !a.post(&a.cur) { + return false + } + } + return true +} +func (a *application) rewriteRefOfBitOr(parent SQLNode, node *BitOr, replacer replacerFunc) bool { + if node == nil { + return true + } + if a.pre != nil { + a.cur.replacer = replacer + a.cur.parent = parent + a.cur.node = node + if !a.pre(&a.cur) { + return true + } + } + if !a.rewriteExprs(node, node.Args, func(newNode, parent SQLNode) { + parent.(*BitOr).Args = newNode.(Exprs) + }) { + return false + } + if a.post != nil { + a.cur.replacer = replacer + a.cur.parent = parent + a.cur.node = node + if !a.post(&a.cur) { + return false + } + } + return true +} +func (a *application) rewriteRefOfBitXor(parent SQLNode, node *BitXor, replacer replacerFunc) bool { + if node == nil { + return true + } + if a.pre != nil { + a.cur.replacer = replacer + a.cur.parent = parent + a.cur.node = node + if !a.pre(&a.cur) { + return true + } + } + if !a.rewriteExprs(node, node.Args, func(newNode, parent SQLNode) { + parent.(*BitXor).Args = newNode.(Exprs) + }) { + return false + } + if a.post != nil { + a.cur.replacer = replacer + a.cur.parent = parent + a.cur.node = node + if !a.post(&a.cur) { + return false + } + } + return true +} func (a *application) rewriteRefOfCallProc(parent SQLNode, node *CallProc, replacer replacerFunc) bool { if node == nil { return true @@ -6102,6 +6203,114 @@ func (a *application) rewriteRefOfStarExpr(parent SQLNode, node *StarExpr, repla } return true } +func (a *application) rewriteRefOfStd(parent SQLNode, node *Std, replacer replacerFunc) bool { + if node == nil { + return true + } + if a.pre != nil { + a.cur.replacer = replacer + a.cur.parent = parent + a.cur.node = node + if !a.pre(&a.cur) { + return true + } + } + if !a.rewriteExprs(node, node.Args, func(newNode, parent SQLNode) { + parent.(*Std).Args = newNode.(Exprs) + }) { + return false + } + if a.post != nil { + a.cur.replacer = replacer + a.cur.parent = parent + a.cur.node = node + if !a.post(&a.cur) { + return false + } + } + return true +} +func (a *application) rewriteRefOfStdDev(parent SQLNode, node *StdDev, replacer replacerFunc) bool { + if node == nil { + return true + } + if a.pre != nil { + a.cur.replacer = replacer + a.cur.parent = parent + a.cur.node = node + if !a.pre(&a.cur) { + return true + } + } + if !a.rewriteExprs(node, node.Args, func(newNode, parent SQLNode) { + parent.(*StdDev).Args = newNode.(Exprs) + }) { + return false + } + if a.post != nil { + a.cur.replacer = replacer + a.cur.parent = parent + a.cur.node = node + if !a.post(&a.cur) { + return false + } + } + return true +} +func (a *application) rewriteRefOfStdPop(parent SQLNode, node *StdPop, replacer replacerFunc) bool { + if node == nil { + return true + } + if a.pre != nil { + a.cur.replacer = replacer + a.cur.parent = parent + a.cur.node = node + if !a.pre(&a.cur) { + return true + } + } + if !a.rewriteExprs(node, node.Args, func(newNode, parent SQLNode) { + parent.(*StdPop).Args = newNode.(Exprs) + }) { + return false + } + if a.post != nil { + a.cur.replacer = replacer + a.cur.parent = parent + a.cur.node = node + if !a.post(&a.cur) { + return false + } + } + return true +} +func (a *application) rewriteRefOfStdSamp(parent SQLNode, node *StdSamp, replacer replacerFunc) bool { + if node == nil { + return true + } + if a.pre != nil { + a.cur.replacer = replacer + a.cur.parent = parent + a.cur.node = node + if !a.pre(&a.cur) { + return true + } + } + if !a.rewriteExprs(node, node.Args, func(newNode, parent SQLNode) { + parent.(*StdSamp).Args = newNode.(Exprs) + }) { + return false + } + if a.post != nil { + a.cur.replacer = replacer + a.cur.parent = parent + a.cur.node = node + if !a.post(&a.cur) { + return false + } + } + return true +} func (a *application) rewriteRefOfStream(parent SQLNode, node *Stream, replacer replacerFunc) bool { if node == nil { return true @@ -7129,6 +7338,87 @@ func (a *application) rewriteRefOfValuesFuncExpr(parent SQLNode, node *ValuesFun } return true } +func (a *application) rewriteRefOfVarPop(parent SQLNode, node *VarPop, replacer replacerFunc) bool { + if node == nil { + return true + } + if a.pre != nil { + a.cur.replacer = replacer + a.cur.parent = parent + a.cur.node = node + if !a.pre(&a.cur) { + return true + } + } + if !a.rewriteExprs(node, node.Args, func(newNode, parent SQLNode) { + parent.(*VarPop).Args = newNode.(Exprs) + }) { + return false + } + if a.post != nil { + a.cur.replacer = replacer + a.cur.parent = parent + a.cur.node = node + if !a.post(&a.cur) { + return false + } + } + return true +} +func (a *application) rewriteRefOfVarSamp(parent SQLNode, node *VarSamp, replacer replacerFunc) bool { + if node == nil { + return true + } + if a.pre != nil { + a.cur.replacer = replacer + a.cur.parent = parent + a.cur.node = node + if !a.pre(&a.cur) { + return true + } + } + if !a.rewriteExprs(node, node.Args, func(newNode, parent SQLNode) { + parent.(*VarSamp).Args = newNode.(Exprs) + }) { + return false + } + if a.post != nil { + a.cur.replacer = replacer + a.cur.parent = parent + a.cur.node = node + if !a.post(&a.cur) { + return false + } + } + return true +} +func (a *application) rewriteRefOfVariance(parent SQLNode, node *Variance, replacer replacerFunc) bool { + if node == nil { + return true + } + if a.pre != nil { + a.cur.replacer = replacer + a.cur.parent = parent + a.cur.node = node + if !a.pre(&a.cur) { + return true + } + } + if !a.rewriteExprs(node, node.Args, func(newNode, parent SQLNode) { + parent.(*Variance).Args = newNode.(Exprs) + }) { + return false + } + if a.post != nil { + a.cur.replacer = replacer + a.cur.parent = parent + a.cur.node = node + if !a.post(&a.cur) { + return false + } + } + return true +} func (a *application) rewriteVindexParam(parent SQLNode, node VindexParam, replacer replacerFunc) bool { if a.pre != nil { a.cur.replacer = replacer @@ -7466,6 +7756,12 @@ func (a *application) rewriteAggrFunc(parent SQLNode, node AggrFunc, replacer re switch node := node.(type) { case *Avg: return a.rewriteRefOfAvg(parent, node, replacer) + case *BitAnd: + return a.rewriteRefOfBitAnd(parent, node, replacer) + case *BitOr: + return a.rewriteRefOfBitOr(parent, node, replacer) + case *BitXor: + return a.rewriteRefOfBitXor(parent, node, replacer) case *Count: return a.rewriteRefOfCount(parent, node, replacer) case *CountStar: @@ -7476,8 +7772,22 @@ func (a *application) rewriteAggrFunc(parent SQLNode, node AggrFunc, replacer re return a.rewriteRefOfMax(parent, node, replacer) case *Min: return a.rewriteRefOfMin(parent, node, replacer) + case *Std: + return a.rewriteRefOfStd(parent, node, replacer) + case *StdDev: + return a.rewriteRefOfStdDev(parent, node, replacer) + case *StdPop: + return a.rewriteRefOfStdPop(parent, node, replacer) + case *StdSamp: + return a.rewriteRefOfStdSamp(parent, node, replacer) case *Sum: return a.rewriteRefOfSum(parent, node, replacer) + case *VarPop: + return a.rewriteRefOfVarPop(parent, node, replacer) + case *VarSamp: + return a.rewriteRefOfVarSamp(parent, node, replacer) + case *Variance: + return a.rewriteRefOfVariance(parent, node, replacer) default: // this should never happen return true @@ -7748,6 +8058,12 @@ func (a *application) rewriteExpr(parent SQLNode, node Expr, replacer replacerFu return a.rewriteRefOfBetweenExpr(parent, node, replacer) case *BinaryExpr: return a.rewriteRefOfBinaryExpr(parent, node, replacer) + case *BitAnd: + return a.rewriteRefOfBitAnd(parent, node, replacer) + case *BitOr: + return a.rewriteRefOfBitOr(parent, node, replacer) + case *BitXor: + return a.rewriteRefOfBitXor(parent, node, replacer) case BoolVal: return a.rewriteBoolVal(parent, node, replacer) case *CaseExpr: @@ -7864,6 +8180,14 @@ func (a *application) rewriteExpr(parent SQLNode, node Expr, replacer replacerFu return a.rewriteRefOfRegexpReplaceExpr(parent, node, replacer) case *RegexpSubstrExpr: return a.rewriteRefOfRegexpSubstrExpr(parent, node, replacer) + case *Std: + return a.rewriteRefOfStd(parent, node, replacer) + case *StdDev: + return a.rewriteRefOfStdDev(parent, node, replacer) + case *StdPop: + return a.rewriteRefOfStdPop(parent, node, replacer) + case *StdSamp: + return a.rewriteRefOfStdSamp(parent, node, replacer) case *Subquery: return a.rewriteRefOfSubquery(parent, node, replacer) case *SubstrExpr: @@ -7880,6 +8204,12 @@ func (a *application) rewriteExpr(parent SQLNode, node Expr, replacer replacerFu return a.rewriteValTuple(parent, node, replacer) case *ValuesFuncExpr: return a.rewriteRefOfValuesFuncExpr(parent, node, replacer) + case *VarPop: + return a.rewriteRefOfVarPop(parent, node, replacer) + case *VarSamp: + return a.rewriteRefOfVarSamp(parent, node, replacer) + case *Variance: + return a.rewriteRefOfVariance(parent, node, replacer) case *WeightStringFuncExpr: return a.rewriteRefOfWeightStringFuncExpr(parent, node, replacer) case *XorExpr: @@ -7922,6 +8252,12 @@ func (a *application) rewriteJSONPathParam(parent SQLNode, node JSONPathParam, r return a.rewriteRefOfBetweenExpr(parent, node, replacer) case *BinaryExpr: return a.rewriteRefOfBinaryExpr(parent, node, replacer) + case *BitAnd: + return a.rewriteRefOfBitAnd(parent, node, replacer) + case *BitOr: + return a.rewriteRefOfBitOr(parent, node, replacer) + case *BitXor: + return a.rewriteRefOfBitXor(parent, node, replacer) case BoolVal: return a.rewriteBoolVal(parent, node, replacer) case *CaseExpr: @@ -8038,6 +8374,14 @@ func (a *application) rewriteJSONPathParam(parent SQLNode, node JSONPathParam, r return a.rewriteRefOfRegexpReplaceExpr(parent, node, replacer) case *RegexpSubstrExpr: return a.rewriteRefOfRegexpSubstrExpr(parent, node, replacer) + case *Std: + return a.rewriteRefOfStd(parent, node, replacer) + case *StdDev: + return a.rewriteRefOfStdDev(parent, node, replacer) + case *StdPop: + return a.rewriteRefOfStdPop(parent, node, replacer) + case *StdSamp: + return a.rewriteRefOfStdSamp(parent, node, replacer) case *Subquery: return a.rewriteRefOfSubquery(parent, node, replacer) case *SubstrExpr: @@ -8054,6 +8398,12 @@ func (a *application) rewriteJSONPathParam(parent SQLNode, node JSONPathParam, r return a.rewriteValTuple(parent, node, replacer) case *ValuesFuncExpr: return a.rewriteRefOfValuesFuncExpr(parent, node, replacer) + case *VarPop: + return a.rewriteRefOfVarPop(parent, node, replacer) + case *VarSamp: + return a.rewriteRefOfVarSamp(parent, node, replacer) + case *Variance: + return a.rewriteRefOfVariance(parent, node, replacer) case *WeightStringFuncExpr: return a.rewriteRefOfWeightStringFuncExpr(parent, node, replacer) case *XorExpr: diff --git a/go/vt/sqlparser/ast_visit.go b/go/vt/sqlparser/ast_visit.go index af840487671..c7e270f617f 100644 --- a/go/vt/sqlparser/ast_visit.go +++ b/go/vt/sqlparser/ast_visit.go @@ -70,6 +70,12 @@ func VisitSQLNode(in SQLNode, f Visit) error { return VisitRefOfBetweenExpr(in, f) case *BinaryExpr: return VisitRefOfBinaryExpr(in, f) + case *BitAnd: + return VisitRefOfBitAnd(in, f) + case *BitOr: + return VisitRefOfBitOr(in, f) + case *BitXor: + return VisitRefOfBitXor(in, f) case BoolVal: return VisitBoolVal(in, f) case *CallProc: @@ -386,6 +392,14 @@ func VisitSQLNode(in SQLNode, f Visit) error { return VisitRefOfShowThrottledApps(in, f) case *StarExpr: return VisitRefOfStarExpr(in, f) + case *Std: + return VisitRefOfStd(in, f) + case *StdDev: + return VisitRefOfStdDev(in, f) + case *StdPop: + return VisitRefOfStdPop(in, f) + case *StdSamp: + return VisitRefOfStdSamp(in, f) case *Stream: return VisitRefOfStream(in, f) case *SubPartition: @@ -446,6 +460,12 @@ func VisitSQLNode(in SQLNode, f Visit) error { return VisitValues(in, f) case *ValuesFuncExpr: return VisitRefOfValuesFuncExpr(in, f) + case *VarPop: + return VisitRefOfVarPop(in, f) + case *VarSamp: + return VisitRefOfVarSamp(in, f) + case *Variance: + return VisitRefOfVariance(in, f) case VindexParam: return VisitVindexParam(in, f) case *VindexSpec: @@ -792,6 +812,42 @@ func VisitRefOfBinaryExpr(in *BinaryExpr, f Visit) error { } return nil } +func VisitRefOfBitAnd(in *BitAnd, f Visit) error { + if in == nil { + return nil + } + if cont, err := f(in); err != nil || !cont { + return err + } + if err := VisitExprs(in.Args, f); err != nil { + return err + } + return nil +} +func VisitRefOfBitOr(in *BitOr, f Visit) error { + if in == nil { + return nil + } + if cont, err := f(in); err != nil || !cont { + return err + } + if err := VisitExprs(in.Args, f); err != nil { + return err + } + return nil +} +func VisitRefOfBitXor(in *BitXor, f Visit) error { + if in == nil { + return nil + } + if cont, err := f(in); err != nil || !cont { + return err + } + if err := VisitExprs(in.Args, f); err != nil { + return err + } + return nil +} func VisitRefOfCallProc(in *CallProc, f Visit) error { if in == nil { return nil @@ -3036,6 +3092,54 @@ func VisitRefOfStarExpr(in *StarExpr, f Visit) error { } return nil } +func VisitRefOfStd(in *Std, f Visit) error { + if in == nil { + return nil + } + if cont, err := f(in); err != nil || !cont { + return err + } + if err := VisitExprs(in.Args, f); err != nil { + return err + } + return nil +} +func VisitRefOfStdDev(in *StdDev, f Visit) error { + if in == nil { + return nil + } + if cont, err := f(in); err != nil || !cont { + return err + } + if err := VisitExprs(in.Args, f); err != nil { + return err + } + return nil +} +func VisitRefOfStdPop(in *StdPop, f Visit) error { + if in == nil { + return nil + } + if cont, err := f(in); err != nil || !cont { + return err + } + if err := VisitExprs(in.Args, f); err != nil { + return err + } + return nil +} +func VisitRefOfStdSamp(in *StdSamp, f Visit) error { + if in == nil { + return nil + } + if cont, err := f(in); err != nil || !cont { + return err + } + if err := VisitExprs(in.Args, f); err != nil { + return err + } + return nil +} func VisitRefOfStream(in *Stream, f Visit) error { if in == nil { return nil @@ -3484,6 +3588,42 @@ func VisitRefOfValuesFuncExpr(in *ValuesFuncExpr, f Visit) error { } return nil } +func VisitRefOfVarPop(in *VarPop, f Visit) error { + if in == nil { + return nil + } + if cont, err := f(in); err != nil || !cont { + return err + } + if err := VisitExprs(in.Args, f); err != nil { + return err + } + return nil +} +func VisitRefOfVarSamp(in *VarSamp, f Visit) error { + if in == nil { + return nil + } + if cont, err := f(in); err != nil || !cont { + return err + } + if err := VisitExprs(in.Args, f); err != nil { + return err + } + return nil +} +func VisitRefOfVariance(in *Variance, f Visit) error { + if in == nil { + return nil + } + if cont, err := f(in); err != nil || !cont { + return err + } + if err := VisitExprs(in.Args, f); err != nil { + return err + } + return nil +} func VisitVindexParam(in VindexParam, f Visit) error { if cont, err := f(in); err != nil || !cont { return err @@ -3641,6 +3781,12 @@ func VisitAggrFunc(in AggrFunc, f Visit) error { switch in := in.(type) { case *Avg: return VisitRefOfAvg(in, f) + case *BitAnd: + return VisitRefOfBitAnd(in, f) + case *BitOr: + return VisitRefOfBitOr(in, f) + case *BitXor: + return VisitRefOfBitXor(in, f) case *Count: return VisitRefOfCount(in, f) case *CountStar: @@ -3651,8 +3797,22 @@ func VisitAggrFunc(in AggrFunc, f Visit) error { return VisitRefOfMax(in, f) case *Min: return VisitRefOfMin(in, f) + case *Std: + return VisitRefOfStd(in, f) + case *StdDev: + return VisitRefOfStdDev(in, f) + case *StdPop: + return VisitRefOfStdPop(in, f) + case *StdSamp: + return VisitRefOfStdSamp(in, f) case *Sum: return VisitRefOfSum(in, f) + case *VarPop: + return VisitRefOfVarPop(in, f) + case *VarSamp: + return VisitRefOfVarSamp(in, f) + case *Variance: + return VisitRefOfVariance(in, f) default: // this should never happen return nil @@ -3923,6 +4083,12 @@ func VisitExpr(in Expr, f Visit) error { return VisitRefOfBetweenExpr(in, f) case *BinaryExpr: return VisitRefOfBinaryExpr(in, f) + case *BitAnd: + return VisitRefOfBitAnd(in, f) + case *BitOr: + return VisitRefOfBitOr(in, f) + case *BitXor: + return VisitRefOfBitXor(in, f) case BoolVal: return VisitBoolVal(in, f) case *CaseExpr: @@ -4039,6 +4205,14 @@ func VisitExpr(in Expr, f Visit) error { return VisitRefOfRegexpReplaceExpr(in, f) case *RegexpSubstrExpr: return VisitRefOfRegexpSubstrExpr(in, f) + case *Std: + return VisitRefOfStd(in, f) + case *StdDev: + return VisitRefOfStdDev(in, f) + case *StdPop: + return VisitRefOfStdPop(in, f) + case *StdSamp: + return VisitRefOfStdSamp(in, f) case *Subquery: return VisitRefOfSubquery(in, f) case *SubstrExpr: @@ -4055,6 +4229,12 @@ func VisitExpr(in Expr, f Visit) error { return VisitValTuple(in, f) case *ValuesFuncExpr: return VisitRefOfValuesFuncExpr(in, f) + case *VarPop: + return VisitRefOfVarPop(in, f) + case *VarSamp: + return VisitRefOfVarSamp(in, f) + case *Variance: + return VisitRefOfVariance(in, f) case *WeightStringFuncExpr: return VisitRefOfWeightStringFuncExpr(in, f) case *XorExpr: @@ -4097,6 +4277,12 @@ func VisitJSONPathParam(in JSONPathParam, f Visit) error { return VisitRefOfBetweenExpr(in, f) case *BinaryExpr: return VisitRefOfBinaryExpr(in, f) + case *BitAnd: + return VisitRefOfBitAnd(in, f) + case *BitOr: + return VisitRefOfBitOr(in, f) + case *BitXor: + return VisitRefOfBitXor(in, f) case BoolVal: return VisitBoolVal(in, f) case *CaseExpr: @@ -4213,6 +4399,14 @@ func VisitJSONPathParam(in JSONPathParam, f Visit) error { return VisitRefOfRegexpReplaceExpr(in, f) case *RegexpSubstrExpr: return VisitRefOfRegexpSubstrExpr(in, f) + case *Std: + return VisitRefOfStd(in, f) + case *StdDev: + return VisitRefOfStdDev(in, f) + case *StdPop: + return VisitRefOfStdPop(in, f) + case *StdSamp: + return VisitRefOfStdSamp(in, f) case *Subquery: return VisitRefOfSubquery(in, f) case *SubstrExpr: @@ -4229,6 +4423,12 @@ func VisitJSONPathParam(in JSONPathParam, f Visit) error { return VisitValTuple(in, f) case *ValuesFuncExpr: return VisitRefOfValuesFuncExpr(in, f) + case *VarPop: + return VisitRefOfVarPop(in, f) + case *VarSamp: + return VisitRefOfVarSamp(in, f) + case *Variance: + return VisitRefOfVariance(in, f) case *WeightStringFuncExpr: return VisitRefOfWeightStringFuncExpr(in, f) case *XorExpr: diff --git a/go/vt/sqlparser/cached_size.go b/go/vt/sqlparser/cached_size.go index 1580832c78c..1fc208475ca 100644 --- a/go/vt/sqlparser/cached_size.go +++ b/go/vt/sqlparser/cached_size.go @@ -435,6 +435,69 @@ func (cached *BindVarNeeds) CachedSize(alloc bool) int64 { } return size } +func (cached *BitAnd) CachedSize(alloc bool) int64 { + if cached == nil { + return int64(0) + } + size := int64(0) + if alloc { + size += int64(48) + } + // field Args vitess.io/vitess/go/vt/sqlparser.Exprs + { + size += hack.RuntimeAllocSize(int64(cap(cached.Args)) * int64(16)) + for _, elem := range cached.Args { + if cc, ok := elem.(cachedObject); ok { + size += cc.CachedSize(true) + } + } + } + // field Name string + size += hack.RuntimeAllocSize(int64(len(cached.Name))) + return size +} +func (cached *BitOr) CachedSize(alloc bool) int64 { + if cached == nil { + return int64(0) + } + size := int64(0) + if alloc { + size += int64(48) + } + // field Args vitess.io/vitess/go/vt/sqlparser.Exprs + { + size += hack.RuntimeAllocSize(int64(cap(cached.Args)) * int64(16)) + for _, elem := range cached.Args { + if cc, ok := elem.(cachedObject); ok { + size += cc.CachedSize(true) + } + } + } + // field Name string + size += hack.RuntimeAllocSize(int64(len(cached.Name))) + return size +} +func (cached *BitXor) CachedSize(alloc bool) int64 { + if cached == nil { + return int64(0) + } + size := int64(0) + if alloc { + size += int64(48) + } + // field Args vitess.io/vitess/go/vt/sqlparser.Exprs + { + size += hack.RuntimeAllocSize(int64(cap(cached.Args)) * int64(16)) + for _, elem := range cached.Args { + if cc, ok := elem.(cachedObject); ok { + size += cc.CachedSize(true) + } + } + } + // field Name string + size += hack.RuntimeAllocSize(int64(len(cached.Name))) + return size +} func (cached *CallProc) CachedSize(alloc bool) int64 { if cached == nil { return int64(0) @@ -3201,6 +3264,90 @@ func (cached *StarExpr) CachedSize(alloc bool) int64 { size += cached.TableName.CachedSize(false) return size } +func (cached *Std) CachedSize(alloc bool) int64 { + if cached == nil { + return int64(0) + } + size := int64(0) + if alloc { + size += int64(48) + } + // field Args vitess.io/vitess/go/vt/sqlparser.Exprs + { + size += hack.RuntimeAllocSize(int64(cap(cached.Args)) * int64(16)) + for _, elem := range cached.Args { + if cc, ok := elem.(cachedObject); ok { + size += cc.CachedSize(true) + } + } + } + // field Name string + size += hack.RuntimeAllocSize(int64(len(cached.Name))) + return size +} +func (cached *StdDev) CachedSize(alloc bool) int64 { + if cached == nil { + return int64(0) + } + size := int64(0) + if alloc { + size += int64(48) + } + // field Args vitess.io/vitess/go/vt/sqlparser.Exprs + { + size += hack.RuntimeAllocSize(int64(cap(cached.Args)) * int64(16)) + for _, elem := range cached.Args { + if cc, ok := elem.(cachedObject); ok { + size += cc.CachedSize(true) + } + } + } + // field Name string + size += hack.RuntimeAllocSize(int64(len(cached.Name))) + return size +} +func (cached *StdPop) CachedSize(alloc bool) int64 { + if cached == nil { + return int64(0) + } + size := int64(0) + if alloc { + size += int64(48) + } + // field Args vitess.io/vitess/go/vt/sqlparser.Exprs + { + size += hack.RuntimeAllocSize(int64(cap(cached.Args)) * int64(16)) + for _, elem := range cached.Args { + if cc, ok := elem.(cachedObject); ok { + size += cc.CachedSize(true) + } + } + } + // field Name string + size += hack.RuntimeAllocSize(int64(len(cached.Name))) + return size +} +func (cached *StdSamp) CachedSize(alloc bool) int64 { + if cached == nil { + return int64(0) + } + size := int64(0) + if alloc { + size += int64(48) + } + // field Args vitess.io/vitess/go/vt/sqlparser.Exprs + { + size += hack.RuntimeAllocSize(int64(cap(cached.Args)) * int64(16)) + for _, elem := range cached.Args { + if cc, ok := elem.(cachedObject); ok { + size += cc.CachedSize(true) + } + } + } + // field Name string + size += hack.RuntimeAllocSize(int64(len(cached.Name))) + return size +} func (cached *Stream) CachedSize(alloc bool) int64 { if cached == nil { return int64(0) @@ -3658,6 +3805,69 @@ func (cached *ValuesFuncExpr) CachedSize(alloc bool) int64 { size += cached.Name.CachedSize(true) return size } +func (cached *VarPop) CachedSize(alloc bool) int64 { + if cached == nil { + return int64(0) + } + size := int64(0) + if alloc { + size += int64(48) + } + // field Args vitess.io/vitess/go/vt/sqlparser.Exprs + { + size += hack.RuntimeAllocSize(int64(cap(cached.Args)) * int64(16)) + for _, elem := range cached.Args { + if cc, ok := elem.(cachedObject); ok { + size += cc.CachedSize(true) + } + } + } + // field Name string + size += hack.RuntimeAllocSize(int64(len(cached.Name))) + return size +} +func (cached *VarSamp) CachedSize(alloc bool) int64 { + if cached == nil { + return int64(0) + } + size := int64(0) + if alloc { + size += int64(48) + } + // field Args vitess.io/vitess/go/vt/sqlparser.Exprs + { + size += hack.RuntimeAllocSize(int64(cap(cached.Args)) * int64(16)) + for _, elem := range cached.Args { + if cc, ok := elem.(cachedObject); ok { + size += cc.CachedSize(true) + } + } + } + // field Name string + size += hack.RuntimeAllocSize(int64(len(cached.Name))) + return size +} +func (cached *Variance) CachedSize(alloc bool) int64 { + if cached == nil { + return int64(0) + } + size := int64(0) + if alloc { + size += int64(48) + } + // field Args vitess.io/vitess/go/vt/sqlparser.Exprs + { + size += hack.RuntimeAllocSize(int64(cap(cached.Args)) * int64(16)) + for _, elem := range cached.Args { + if cc, ok := elem.(cachedObject); ok { + size += cc.CachedSize(true) + } + } + } + // field Name string + size += hack.RuntimeAllocSize(int64(len(cached.Name))) + return size +} func (cached *VindexParam) CachedSize(alloc bool) int64 { if cached == nil { return int64(0) diff --git a/go/vt/sqlparser/keywords.go b/go/vt/sqlparser/keywords.go index e4a010e059e..b544b230969 100644 --- a/go/vt/sqlparser/keywords.go +++ b/go/vt/sqlparser/keywords.go @@ -140,6 +140,9 @@ var keywords = []keyword{ {"bigint", BIGINT}, {"binary", BINARY}, {"bit", BIT}, + {"bit_and", BIT_AND}, + {"bit_or", BIT_OR}, + {"bit_xor", BIT_XOR}, {"blob", BLOB}, {"bool", BOOL}, {"boolean", BOOLEAN}, @@ -561,6 +564,10 @@ var keywords = []keyword{ {"stats_persistent", STATS_PERSISTENT}, {"stats_sample_pages", STATS_SAMPLE_PAGES}, {"status", STATUS}, + {"std", STD}, + {"stddev", STDDEV}, + {"stddev_pop", STDDEV_POP}, + {"stddev_samp", STDDEV_SAMP}, {"storage", STORAGE}, {"stored", STORED}, {"straight_join", STRAIGHT_JOIN}, @@ -616,10 +623,13 @@ var keywords = []keyword{ {"utc_timestamp", UTC_TIMESTAMP}, {"validation", VALIDATION}, {"values", VALUES}, + {"var_pop", VAR_POP}, + {"var_samp", VAR_SAMP}, {"variables", VARIABLES}, {"varbinary", VARBINARY}, {"varchar", VARCHAR}, {"varcharacter", UNUSED}, + {"variance", VARIANCE}, {"varying", UNUSED}, {"vgtid_executed", VGTID_EXECUTED}, {"virtual", VIRTUAL}, diff --git a/go/vt/sqlparser/parse_test.go b/go/vt/sqlparser/parse_test.go index e084d878fc7..e7549a0a38b 100644 --- a/go/vt/sqlparser/parse_test.go +++ b/go/vt/sqlparser/parse_test.go @@ -36,33 +36,6 @@ import ( ) var ( - validSQL1 = []struct { - input string - output string - partialDDL bool - ignoreNormalizerTest bool - }{ - {input: "select /* function with distinct */ count(a) from t"}, - {input: "select /* function with distinct */ count(a) 'total col' from t", - output: "select /* function with distinct */ count(a) as 'total col' from t"}, - {input: "select /* function with distinct */ count(distinct a) from t"}, - {input: "select /* function with distinct */ count(distinct(a)) from t", - output: "select /* function with distinct */ count(distinct a) from t"}, - {input: "select /* function with distinct */ count(*) from t"}, - {input: "select avg(a) from products"}, - {input: "select avg(distinct(a)) from products"}, - {input: "select avg(a) 'Avg Price' from products"}, - {input: "select format(avg(distinct a), 2) from products"}, - {input: "select max(a) from products"}, - {input: "select min(a) from products"}, - {input: "select sum(a) from products"}, - {input: "select sum(distinct(a)) from products", - output: "select sum(distinct a) from products"}, - {input: "select sum(distinct a) from products"}, - {input: "select sum(a) 'sum Price' from products", - output: "select sum(a) as `sum Price` from products"}, - {input: "select sum(a * b) from products"}, - } validSQL = []struct { input string output string @@ -3087,11 +3060,70 @@ var ( }, { input: "SELECT time, subject, val, FIRST_VALUE(val) OVER w AS 'first', LAST_VALUE(val) OVER w AS 'last', NTH_VALUE(val, 2) OVER w AS 'second', NTH_VALUE(val, 4) OVER w AS 'fourth' FROM observations WINDOW w AS (PARTITION BY subject ORDER BY time ASC RANGE BETWEEN 10 PRECEDING AND 10 FOLLOWING);", output: "select `time`, subject, val, first_value(val) over w as `first`, last_value(val) over w as `last`, nth_value(val, 2) over w as `second`, nth_value(val, 4) over w as fourth from observations window w AS ( partition by subject order by `time` asc range between 10 preceding and 10 following)", - }} + }, { + input: "select /* function with distinct */ count(a) from t", + }, { + input: "select /* function with distinct */ count(a) 'total col' from t", + output: "select /* function with distinct */ count(a) as `total col` from t", + }, { + input: "select /* function with distinct */ count(distinct a) from t", + }, { + input: "select /* function with distinct */ count(distinct(a)) from t", + output: "select /* function with distinct */ count(distinct a) from t", + }, { + input: "select /* function with distinct */ count(*) from t", + }, { + input: "select avg(a) from products", + }, { + input: "select avg(distinct(a)) from products", + output: "select avg(distinct a) from products", + }, { + input: "select avg(a) 'Avg Price' from products", + output: "select avg(a) as `Avg Price` from products", + }, { + input: "select format(avg(distinct a), 2) from products", + }, { + input: "select max(a) from products", + }, { + input: "select min(a) from products", + }, { + input: "select sum(a) from products", + }, { + input: "select sum(distinct(a)) from products", + output: "select sum(distinct a) from products", + }, { + input: "select sum(distinct a) from products", + }, { + input: "select sum(a) 'sum Price' from products", + output: "select sum(a) as `sum Price` from products", + }, { + input: "select sum(a * b) from products", + }, { + input: "select bit_and(a) from products", + }, { + input: "select bit_or(a) from products", + }, { + input: "select bit_xor(a) from products", + }, { + input: "select std(a) from products", + }, { + input: "select stddev(a) from products", + }, { + input: "select stddev_pop(a) from products", + }, { + input: "select stddev_samp(a) from products", + }, { + input: "select var_pop(a) from products", + }, { + input: "select var_samp(a) from products", + }, { + input: "select variance(a) from products", + }, + } ) func TestValid(t *testing.T) { - for _, tcase := range validSQL1 { + for _, tcase := range validSQL { t.Run(tcase.input, func(t *testing.T) { if tcase.output == "" { tcase.output = tcase.input @@ -3293,7 +3325,38 @@ func TestInvalid(t *testing.T) { }, { input: "SELECT time, subject, val, FIRST_VALUE(val) OVER w AS 'first', LAST_VALUE(val) OVER w AS 'last', NTH_VALUE(val, 2) OVER w AS 'second', NTH_VALUE(val, 4) OVER w AS 'fourth' FROM observations WINDOW w AS (PARTITION BY subject ORDER BY time ROWS -10 FOLLOWING);", err: "syntax error at position 246", - }} + }, { + input: "SELECT BIT_AND(DISTINCT a) FROM products", + err: "syntax error at position 24 near 'DISTINCT'", + }, { + input: "SELECT BIT_OR(DISTINCT a) FROM products", + err: "syntax error at position 23 near 'DISTINCT'", + }, { + input: "SELECT BIT_XOR(DISTINCT a) FROM products", + err: "syntax error at position 24 near 'DISTINCT'", + }, { + input: "SELECT STD(DISTINCT a) FROM products", + err: "syntax error at position 20 near 'DISTINCT'", + }, { + input: "SELECT STDDEV(DISTINCT a) FROM products", + err: "syntax error at position 23 near 'DISTINCT'", + }, { + input: "SELECT STDDEV_POP(DISTINCT a) FROM products", + err: "syntax error at position 27 near 'DISTINCT'", + }, { + input: "SELECT STDDEV_SAMP(DISTINCT a) FROM products", + err: "syntax error at position 28 near 'DISTINCT'", + }, { + input: "SELECT VAR_POP(DISTINCT a) FROM products", + err: "syntax error at position 24 near 'DISTINCT'", + }, { + input: "SELECT VAR_SAMP(DISTINCT a) FROM products", + err: "syntax error at position 25 near 'DISTINCT'", + }, { + input: "SELECT VARIANCE(DISTINCT a) FROM products", + err: "syntax error at position 25 near 'DISTINCT'", + }, + } for _, tcase := range invalidSQL { _, err := Parse(tcase.input) diff --git a/go/vt/sqlparser/sql.go b/go/vt/sqlparser/sql.go index 0d59f9a40f7..2fc97411813 100644 --- a/go/vt/sqlparser/sql.go +++ b/go/vt/sqlparser/sql.go @@ -497,158 +497,168 @@ const MAX = 57794 const MIN = 57795 const SUM = 57796 const GROUP_CONCAT = 57797 -const REGEXP_INSTR = 57798 -const REGEXP_LIKE = 57799 -const REGEXP_REPLACE = 57800 -const REGEXP_SUBSTR = 57801 -const MATCH = 57802 -const AGAINST = 57803 -const BOOLEAN = 57804 -const LANGUAGE = 57805 -const WITH = 57806 -const QUERY = 57807 -const EXPANSION = 57808 -const WITHOUT = 57809 -const VALIDATION = 57810 -const UNUSED = 57811 -const ARRAY = 57812 -const BYTE = 57813 -const CUME_DIST = 57814 -const DESCRIPTION = 57815 -const DENSE_RANK = 57816 -const EMPTY = 57817 -const EXCEPT = 57818 -const FIRST_VALUE = 57819 -const GROUPING = 57820 -const GROUPS = 57821 -const JSON_TABLE = 57822 -const LAG = 57823 -const LAST_VALUE = 57824 -const LATERAL = 57825 -const LEAD = 57826 -const NTH_VALUE = 57827 -const NTILE = 57828 -const OF = 57829 -const OVER = 57830 -const PERCENT_RANK = 57831 -const RANK = 57832 -const RECURSIVE = 57833 -const ROW_NUMBER = 57834 -const SYSTEM = 57835 -const WINDOW = 57836 -const ACTIVE = 57837 -const ADMIN = 57838 -const AUTOEXTEND_SIZE = 57839 -const BUCKETS = 57840 -const CLONE = 57841 -const COLUMN_FORMAT = 57842 -const COMPONENT = 57843 -const DEFINITION = 57844 -const ENFORCED = 57845 -const ENGINE_ATTRIBUTE = 57846 -const EXCLUDE = 57847 -const FOLLOWING = 57848 -const GEOMCOLLECTION = 57849 -const GET_MASTER_PUBLIC_KEY = 57850 -const HISTOGRAM = 57851 -const HISTORY = 57852 -const INACTIVE = 57853 -const INVISIBLE = 57854 -const LOCKED = 57855 -const MASTER_COMPRESSION_ALGORITHMS = 57856 -const MASTER_PUBLIC_KEY_PATH = 57857 -const MASTER_TLS_CIPHERSUITES = 57858 -const MASTER_ZSTD_COMPRESSION_LEVEL = 57859 -const NESTED = 57860 -const NETWORK_NAMESPACE = 57861 -const NOWAIT = 57862 -const NULLS = 57863 -const OJ = 57864 -const OLD = 57865 -const OPTIONAL = 57866 -const ORDINALITY = 57867 -const ORGANIZATION = 57868 -const OTHERS = 57869 -const PARTIAL = 57870 -const PATH = 57871 -const PERSIST = 57872 -const PERSIST_ONLY = 57873 -const PRECEDING = 57874 -const PRIVILEGE_CHECKS_USER = 57875 -const PROCESS = 57876 -const RANDOM = 57877 -const REFERENCE = 57878 -const REQUIRE_ROW_FORMAT = 57879 -const RESOURCE = 57880 -const RESPECT = 57881 -const RESTART = 57882 -const RETAIN = 57883 -const REUSE = 57884 -const ROLE = 57885 -const SECONDARY = 57886 -const SECONDARY_ENGINE = 57887 -const SECONDARY_ENGINE_ATTRIBUTE = 57888 -const SECONDARY_LOAD = 57889 -const SECONDARY_UNLOAD = 57890 -const SIMPLE = 57891 -const SKIP = 57892 -const SRID = 57893 -const THREAD_PRIORITY = 57894 -const TIES = 57895 -const UNBOUNDED = 57896 -const VCPU = 57897 -const VISIBLE = 57898 -const RETURNING = 57899 -const FORMAT = 57900 -const TREE = 57901 -const VITESS = 57902 -const TRADITIONAL = 57903 -const LOCAL = 57904 -const LOW_PRIORITY = 57905 -const NO_WRITE_TO_BINLOG = 57906 -const LOGS = 57907 -const ERROR = 57908 -const GENERAL = 57909 -const HOSTS = 57910 -const OPTIMIZER_COSTS = 57911 -const USER_RESOURCES = 57912 -const SLOW = 57913 -const CHANNEL = 57914 -const RELAY = 57915 -const EXPORT = 57916 -const CURRENT = 57917 -const ROW = 57918 -const ROWS = 57919 -const AVG_ROW_LENGTH = 57920 -const CONNECTION = 57921 -const CHECKSUM = 57922 -const DELAY_KEY_WRITE = 57923 -const ENCRYPTION = 57924 -const ENGINE = 57925 -const INSERT_METHOD = 57926 -const MAX_ROWS = 57927 -const MIN_ROWS = 57928 -const PACK_KEYS = 57929 -const PASSWORD = 57930 -const FIXED = 57931 -const DYNAMIC = 57932 -const COMPRESSED = 57933 -const REDUNDANT = 57934 -const COMPACT = 57935 -const ROW_FORMAT = 57936 -const STATS_AUTO_RECALC = 57937 -const STATS_PERSISTENT = 57938 -const STATS_SAMPLE_PAGES = 57939 -const STORAGE = 57940 -const MEMORY = 57941 -const DISK = 57942 -const PARTITIONS = 57943 -const LINEAR = 57944 -const RANGE = 57945 -const LIST = 57946 -const SUBPARTITION = 57947 -const SUBPARTITIONS = 57948 -const HASH = 57949 +const BIT_AND = 57798 +const BIT_OR = 57799 +const BIT_XOR = 57800 +const STD = 57801 +const STDDEV = 57802 +const STDDEV_POP = 57803 +const STDDEV_SAMP = 57804 +const VAR_POP = 57805 +const VAR_SAMP = 57806 +const VARIANCE = 57807 +const REGEXP_INSTR = 57808 +const REGEXP_LIKE = 57809 +const REGEXP_REPLACE = 57810 +const REGEXP_SUBSTR = 57811 +const MATCH = 57812 +const AGAINST = 57813 +const BOOLEAN = 57814 +const LANGUAGE = 57815 +const WITH = 57816 +const QUERY = 57817 +const EXPANSION = 57818 +const WITHOUT = 57819 +const VALIDATION = 57820 +const UNUSED = 57821 +const ARRAY = 57822 +const BYTE = 57823 +const CUME_DIST = 57824 +const DESCRIPTION = 57825 +const DENSE_RANK = 57826 +const EMPTY = 57827 +const EXCEPT = 57828 +const FIRST_VALUE = 57829 +const GROUPING = 57830 +const GROUPS = 57831 +const JSON_TABLE = 57832 +const LAG = 57833 +const LAST_VALUE = 57834 +const LATERAL = 57835 +const LEAD = 57836 +const NTH_VALUE = 57837 +const NTILE = 57838 +const OF = 57839 +const OVER = 57840 +const PERCENT_RANK = 57841 +const RANK = 57842 +const RECURSIVE = 57843 +const ROW_NUMBER = 57844 +const SYSTEM = 57845 +const WINDOW = 57846 +const ACTIVE = 57847 +const ADMIN = 57848 +const AUTOEXTEND_SIZE = 57849 +const BUCKETS = 57850 +const CLONE = 57851 +const COLUMN_FORMAT = 57852 +const COMPONENT = 57853 +const DEFINITION = 57854 +const ENFORCED = 57855 +const ENGINE_ATTRIBUTE = 57856 +const EXCLUDE = 57857 +const FOLLOWING = 57858 +const GEOMCOLLECTION = 57859 +const GET_MASTER_PUBLIC_KEY = 57860 +const HISTOGRAM = 57861 +const HISTORY = 57862 +const INACTIVE = 57863 +const INVISIBLE = 57864 +const LOCKED = 57865 +const MASTER_COMPRESSION_ALGORITHMS = 57866 +const MASTER_PUBLIC_KEY_PATH = 57867 +const MASTER_TLS_CIPHERSUITES = 57868 +const MASTER_ZSTD_COMPRESSION_LEVEL = 57869 +const NESTED = 57870 +const NETWORK_NAMESPACE = 57871 +const NOWAIT = 57872 +const NULLS = 57873 +const OJ = 57874 +const OLD = 57875 +const OPTIONAL = 57876 +const ORDINALITY = 57877 +const ORGANIZATION = 57878 +const OTHERS = 57879 +const PARTIAL = 57880 +const PATH = 57881 +const PERSIST = 57882 +const PERSIST_ONLY = 57883 +const PRECEDING = 57884 +const PRIVILEGE_CHECKS_USER = 57885 +const PROCESS = 57886 +const RANDOM = 57887 +const REFERENCE = 57888 +const REQUIRE_ROW_FORMAT = 57889 +const RESOURCE = 57890 +const RESPECT = 57891 +const RESTART = 57892 +const RETAIN = 57893 +const REUSE = 57894 +const ROLE = 57895 +const SECONDARY = 57896 +const SECONDARY_ENGINE = 57897 +const SECONDARY_ENGINE_ATTRIBUTE = 57898 +const SECONDARY_LOAD = 57899 +const SECONDARY_UNLOAD = 57900 +const SIMPLE = 57901 +const SKIP = 57902 +const SRID = 57903 +const THREAD_PRIORITY = 57904 +const TIES = 57905 +const UNBOUNDED = 57906 +const VCPU = 57907 +const VISIBLE = 57908 +const RETURNING = 57909 +const FORMAT = 57910 +const TREE = 57911 +const VITESS = 57912 +const TRADITIONAL = 57913 +const LOCAL = 57914 +const LOW_PRIORITY = 57915 +const NO_WRITE_TO_BINLOG = 57916 +const LOGS = 57917 +const ERROR = 57918 +const GENERAL = 57919 +const HOSTS = 57920 +const OPTIMIZER_COSTS = 57921 +const USER_RESOURCES = 57922 +const SLOW = 57923 +const CHANNEL = 57924 +const RELAY = 57925 +const EXPORT = 57926 +const CURRENT = 57927 +const ROW = 57928 +const ROWS = 57929 +const AVG_ROW_LENGTH = 57930 +const CONNECTION = 57931 +const CHECKSUM = 57932 +const DELAY_KEY_WRITE = 57933 +const ENCRYPTION = 57934 +const ENGINE = 57935 +const INSERT_METHOD = 57936 +const MAX_ROWS = 57937 +const MIN_ROWS = 57938 +const PACK_KEYS = 57939 +const PASSWORD = 57940 +const FIXED = 57941 +const DYNAMIC = 57942 +const COMPRESSED = 57943 +const REDUNDANT = 57944 +const COMPACT = 57945 +const ROW_FORMAT = 57946 +const STATS_AUTO_RECALC = 57947 +const STATS_PERSISTENT = 57948 +const STATS_SAMPLE_PAGES = 57949 +const STORAGE = 57950 +const MEMORY = 57951 +const DISK = 57952 +const PARTITIONS = 57953 +const LINEAR = 57954 +const RANGE = 57955 +const LIST = 57956 +const SUBPARTITION = 57957 +const SUBPARTITIONS = 57958 +const HASH = 57959 var yyToknames = [...]string{ "$end", @@ -1123,6 +1133,16 @@ var yyToknames = [...]string{ "MIN", "SUM", "GROUP_CONCAT", + "BIT_AND", + "BIT_OR", + "BIT_XOR", + "STD", + "STDDEV", + "STDDEV_POP", + "STDDEV_SAMP", + "VAR_POP", + "VAR_SAMP", + "VARIANCE", "REGEXP_INSTR", "REGEXP_LIKE", "REGEXP_REPLACE", @@ -1295,7 +1315,7 @@ var yyExca = [...]int{ -2, 0, -1, 47, 1, 145, - 625, 145, + 635, 145, -2, 153, -1, 48, 132, 153, @@ -1313,11 +1333,11 @@ var yyExca = [...]int{ 237, 766, -2, 764, -1, 114, - 234, 1378, + 234, 1388, -2, 119, -1, 116, 1, 146, - 625, 146, + 635, 146, -2, 153, -1, 127, 133, 384, @@ -1328,986 +1348,1073 @@ var yyExca = [...]int{ 173, 153, 335, 153, -2, 507, - -1, 732, - 218, 1399, - -2, 1395, - -1, 733, - 218, 1400, - -2, 1396, - -1, 809, + -1, 752, + 218, 1409, + -2, 1405, + -1, 753, + 218, 1410, + -2, 1406, + -1, 829, 59, 834, -2, 849, - -1, 846, - 148, 1820, + -1, 866, + 148, 1833, -2, 112, - -1, 847, - 148, 1654, + -1, 867, + 148, 1667, -2, 113, - -1, 853, - 148, 1741, - -2, 1372, - -1, 1003, - 148, 1580, - -2, 1369, - -1, 1044, + -1, 873, + 148, 1754, + -2, 1382, + -1, 1023, + 148, 1593, + -2, 1379, + -1, 1064, 245, 41, 250, 41, -2, 395, - -1, 1128, + -1, 1148, 1, 554, - 625, 554, + 635, 554, -2, 153, - -1, 1382, + -1, 1412, 59, 835, -2, 854, - -1, 1383, + -1, 1413, 59, 836, -2, 855, - -1, 1436, + -1, 1466, 132, 153, 173, 153, 335, 153, -2, 434, - -1, 1515, + -1, 1545, 133, 384, 240, 384, -2, 487, - -1, 1524, + -1, 1554, 245, 42, 250, 42, -2, 396, - -1, 1846, - 218, 1404, - -2, 1398, - -1, 1936, + -1, 1886, + 218, 1414, + -2, 1408, + -1, 1976, 132, 153, 173, 153, 335, 153, -2, 435, - -1, 1943, + -1, 1983, 25, 174, -2, 176, - -1, 2210, + -1, 2260, 87, 39, -2, 891, - -1, 2267, + -1, 2317, 77, 94, 87, 94, -2, 911, - -1, 2335, - 600, 666, + -1, 2385, + 610, 666, -2, 640, - -1, 2495, - 49, 1339, - -2, 1333, - -1, 2735, + -1, 2545, + 49, 1349, + -2, 1343, + -1, 2785, 87, 39, -2, 892, - -1, 2773, + -1, 2823, 7, 53, 18, 53, 20, 53, 88, 53, -2, 883, - -1, 3095, - 600, 666, + -1, 3155, + 610, 666, -2, 654, - -1, 3185, - 22, 1743, - 32, 1743, - 174, 1743, - 257, 1743, - 315, 1743, - 316, 1743, - 317, 1743, - 318, 1743, - 319, 1743, - 320, 1743, - 321, 1743, - 323, 1743, - 324, 1743, - 325, 1743, - 326, 1743, - 327, 1743, - 328, 1743, - 329, 1743, - 330, 1743, - 331, 1743, - 332, 1743, - 333, 1743, - 334, 1743, - 336, 1743, - 338, 1743, - 339, 1743, - 340, 1743, - 341, 1743, - 342, 1743, - 343, 1743, - 344, 1743, - 345, 1743, - 346, 1743, - 349, 1743, - 350, 1743, - 351, 1743, - 352, 1743, - 353, 1743, - 354, 1743, - 355, 1743, - 356, 1743, - 357, 1743, - 479, 1743, + -1, 3245, + 22, 1756, + 32, 1756, + 174, 1756, + 257, 1756, + 315, 1756, + 316, 1756, + 317, 1756, + 318, 1756, + 319, 1756, + 320, 1756, + 321, 1756, + 323, 1756, + 324, 1756, + 325, 1756, + 326, 1756, + 327, 1756, + 328, 1756, + 329, 1756, + 330, 1756, + 331, 1756, + 332, 1756, + 333, 1756, + 334, 1756, + 336, 1756, + 338, 1756, + 339, 1756, + 340, 1756, + 341, 1756, + 342, 1756, + 343, 1756, + 344, 1756, + 345, 1756, + 346, 1756, + 349, 1756, + 350, 1756, + 351, 1756, + 352, 1756, + 353, 1756, + 354, 1756, + 355, 1756, + 356, 1756, + 357, 1756, + 489, 1756, -2, 598, } const yyPrivate = 57344 -const yyLast = 45652 +const yyLast = 47262 var yyAct = [...]int{ - 732, 2878, 2879, 3257, 2877, 3269, 3076, 735, 3226, 741, - 642, 3163, 1439, 3227, 2439, 3183, 2850, 1933, 734, 1886, - 3128, 3151, 2712, 2644, 2550, 2557, 3060, 1866, 2152, 3012, - 2607, 3, 2612, 2609, 2608, 2606, 2611, 2610, 711, 37, - 2508, 2172, 3058, 2837, 2511, 3048, 629, 712, 1191, 2598, - 2905, 186, 2198, 1868, 186, 2565, 590, 186, 802, 824, - 2003, 2458, 605, 2627, 186, 2626, 1360, 625, 2512, 2744, - 2738, 1397, 186, 2910, 2395, 2509, 2437, 709, 650, 2629, - 1906, 2238, 1890, 2764, 2496, 2438, 2261, 186, 2506, 2225, - 1966, 2665, 2300, 2730, 623, 2378, 1991, 2649, 1971, 622, - 710, 2332, 621, 2301, 1006, 2302, 851, 155, 2034, 605, - 1922, 2250, 605, 186, 605, 825, 806, 36, 810, 1911, - 38, 2217, 2200, 1833, 2231, 804, 1910, 1743, 1384, 1807, - 1052, 1733, 1990, 1522, 617, 1169, 827, 2370, 1973, 2294, - 1840, 2012, 1493, 2050, 1140, 1039, 1540, 1806, 1691, 1898, - 141, 1034, 1428, 95, 1406, 2269, 634, 848, 91, 1276, - 1751, 1913, 1364, 96, 1710, 1212, 1013, 1010, 1042, 1045, - 1636, 1529, 1988, 1620, 1014, 1040, 1962, 1640, 1041, 1427, - 816, 1411, 1803, 1244, 1189, 1843, 1425, 1183, 159, 119, - 1891, 1758, 117, 118, 1488, 1514, 98, 811, 124, 125, - 812, 814, 1645, 97, 1124, 838, 1858, 612, 76, 85, - 89, 3258, 1283, 1279, 102, 2005, 2006, 2007, 3085, 2838, - 2595, 2617, 3113, 2325, 2005, 2354, 2353, 2048, 2323, 2793, - 832, 8, 837, 7, 2614, 6, 120, 813, 77, 2830, - 747, 748, 749, 90, 126, 1213, 561, 87, 3114, 818, - 87, 87, 1605, 3210, 1081, 104, 105, 1007, 108, 1056, - 2386, 114, 2617, 87, 183, 1713, 2387, 556, 3108, 3109, - 2882, 2882, 594, 613, 1698, 1697, 747, 748, 749, 2615, - 803, 188, 189, 190, 1696, 1091, 805, 798, 799, 800, - 801, 1863, 1864, 809, 1695, 845, 1694, 1055, 819, 852, - 1693, 2621, 1676, 2196, 2492, 120, 1030, 826, 3204, 1029, - 1028, 1031, 182, 1032, 1685, 2345, 1082, 1085, 1086, 2227, - 2615, 840, 841, 3164, 615, 2701, 616, 1391, 1023, 3230, - 2038, 2462, 3214, 1018, 3212, 3280, 121, 1213, 143, 3225, - 3193, 3248, 2621, 2717, 2716, 2348, 3061, 2173, 1703, 164, - 1097, 2036, 1223, 2666, 3191, 2881, 2881, 3008, 3213, 3109, - 3211, 3007, 713, 3197, 3198, 2843, 1080, 78, 2844, 3277, - 1079, 2567, 2568, 120, 2037, 3161, 3261, 2092, 3192, 3104, - 153, 78, 182, 3239, 2851, 78, 142, 78, 80, 3152, - 2031, 2241, 3160, 2328, 2394, 3188, 3103, 2684, 713, 1503, - 1176, 1022, 1178, 1429, 1024, 1430, 121, 161, 143, 162, - 594, 2197, 2618, 2546, 2362, 2385, 2242, 2278, 2361, 164, - 2277, 1928, 1929, 2279, 2089, 130, 131, 152, 151, 181, - 3090, 2547, 2548, 1927, 1159, 1027, 2923, 1133, 1134, 796, - 1175, 1177, 2090, 1127, 1223, 87, 795, 1982, 1186, 3077, - 153, 1219, 1894, 2618, 1211, 1147, 142, 1164, 1165, 87, - 1148, 2290, 594, 87, 2427, 87, 1946, 1945, 1147, 1136, - 1865, 594, 1976, 1148, 2741, 595, 594, 161, 2566, 162, - 2326, 1146, 2674, 1145, 603, 1160, 1153, 2672, 2646, 601, - 2569, 2234, 2235, 1025, 1684, 1516, 1517, 152, 151, 181, - 3231, 1027, 607, 1019, 1894, 2650, 2371, 1368, 1626, 1595, - 1021, 1020, 1123, 2333, 3038, 2013, 3039, 1098, 2639, 2357, - 2068, 3232, 2069, 1076, 2070, 1180, 2640, 3260, 147, 128, - 154, 135, 127, 2056, 148, 149, 2051, 1173, 1621, 1129, - 165, 1174, 1168, 1219, 1686, 1687, 1688, 1162, 1163, 171, - 136, 1179, 1166, 1596, 1185, 1597, 186, 2828, 186, 1025, - 2373, 186, 1167, 2832, 139, 137, 132, 133, 134, 138, - 1161, 1154, 2831, 2647, 2071, 1172, 129, 2648, 2062, 2059, - 2061, 2060, 2063, 2064, 1104, 140, 1103, 2053, 2057, 2992, - 2016, 605, 1193, 605, 605, 1027, 1122, 2055, 147, 1518, - 154, 1245, 1515, 3205, 148, 149, 2886, 1907, 605, 605, - 165, 1026, 1035, 595, 1975, 1036, 1036, 1074, 1065, 171, - 1073, 1072, 2428, 3017, 1246, 1247, 1248, 1249, 1250, 1251, - 1252, 1254, 1253, 1255, 1256, 1063, 1892, 1893, 1071, 2054, - 2569, 1205, 1070, 3281, 1069, 1371, 1068, 1507, 37, 2461, - 1067, 1062, 1075, 1218, 1215, 1216, 1217, 1222, 1224, 1221, - 1126, 1220, 3237, 1011, 1011, 595, 156, 1078, 1048, 1011, - 2827, 1214, 1047, 1009, 595, 1259, 1157, 1026, 1637, 595, - 1094, 1095, 1096, 1259, 1099, 1100, 1101, 1102, 1892, 1893, - 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, - 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1143, 3084, 1149, - 1150, 1151, 1152, 2324, 1627, 1989, 3166, 1181, 1628, 1629, - 839, 3273, 2374, 2396, 1084, 1262, 1263, 1264, 1265, 2042, - 1047, 2035, 1187, 1188, 1083, 1270, 156, 3165, 1633, 1033, - 2359, 1199, 1528, 1087, 150, 1218, 1215, 1216, 1217, 1222, - 1224, 1221, 3166, 1220, 744, 2588, 1125, 744, 744, 2356, - 2390, 2742, 2327, 1214, 1066, 1501, 2292, 3196, 2104, 1054, - 1500, 1026, 1499, 3165, 1194, 2201, 2203, 1195, 1196, 2619, - 2620, 1064, 1358, 3073, 1093, 2090, 144, 2377, 1353, 145, - 2343, 1634, 2623, 1266, 1497, 560, 186, 555, 2033, 2780, - 605, 605, 3102, 2232, 2791, 2792, 2398, 2760, 1340, 2369, - 1625, 3195, 2368, 2347, 150, 81, 186, 1260, 1261, 157, - 2619, 2620, 2880, 2880, 2274, 2237, 169, 1607, 1606, 1608, - 1609, 1610, 2183, 2623, 1857, 605, 2091, 1415, 1334, 186, - 86, 1208, 1374, 1206, 605, 1207, 1378, 77, 1054, 1527, - 605, 1979, 806, 116, 86, 1138, 144, 2346, 86, 145, - 86, 1359, 1372, 1281, 1375, 1282, 1285, 1934, 177, 1259, - 1053, 2545, 2408, 2407, 2406, 2400, 1156, 2404, 1256, 2399, - 821, 2397, 111, 1144, 1054, 1135, 2402, 1158, 1170, 157, - 1132, 1980, 848, 1054, 1184, 2401, 169, 3098, 2413, 1978, - 158, 163, 160, 166, 167, 168, 170, 172, 173, 174, - 175, 1142, 2403, 2405, 1646, 1077, 176, 178, 179, 180, - 1054, 2823, 1376, 2754, 2052, 1359, 95, 1341, 1342, 1343, - 1344, 1345, 1377, 1981, 1752, 1630, 96, 3271, 177, 2202, - 3272, 1431, 3270, 1977, 2316, 3018, 2380, 1209, 2380, 1053, - 3240, 2379, 112, 2379, 1057, 1047, 1622, 1365, 1623, 1059, - 1752, 1624, 2117, 1060, 1058, 1227, 1228, 1228, 2919, 98, - 158, 163, 160, 166, 167, 168, 170, 172, 173, 174, - 175, 2798, 1054, 2797, 1061, 1053, 176, 178, 179, 180, - 2032, 1047, 1050, 1051, 1053, 1011, 1092, 2020, 1537, 1044, - 1048, 1536, 1362, 1526, 2030, 2028, 186, 2025, 1229, 803, - 1489, 2025, 1065, 1373, 1063, 3233, 1229, 1396, 1393, 2781, - 1498, 1053, 805, 1379, 1229, 1715, 3130, 1047, 1050, 1051, - 1416, 1011, 1229, 1171, 852, 1044, 1048, 3282, 1128, 1716, - 1257, 1258, 1714, 605, 2029, 1524, 1421, 1422, 2027, 3275, - 3000, 3066, 1141, 1533, 1426, 2999, 1043, 1535, 1229, 1647, - 1538, 1539, 605, 605, 2857, 605, 2858, 605, 605, 3131, - 605, 605, 605, 605, 605, 605, 1251, 1252, 1254, 1253, - 1255, 1256, 3234, 1053, 1570, 1571, 1245, 605, 1057, 1047, - 1615, 186, 1576, 1059, 3067, 2990, 1613, 1060, 1058, 3244, - 1391, 1391, 1534, 1705, 1707, 1708, 2870, 2153, 186, 1246, - 1247, 1248, 1249, 1250, 1251, 1252, 1254, 1253, 1255, 1256, - 2869, 605, 3283, 186, 2096, 2097, 2098, 1706, 2805, 1569, - 2804, 2109, 1572, 182, 1635, 2794, 2596, 605, 2584, 186, - 1226, 2108, 1227, 1228, 747, 748, 749, 1520, 1226, 2415, - 1227, 1228, 1229, 2298, 1614, 186, 1226, 121, 1227, 1228, - 1612, 1590, 186, 843, 1226, 1229, 1227, 1228, 1602, 1404, - 164, 186, 186, 186, 186, 186, 186, 186, 186, 186, - 605, 1530, 1530, 188, 189, 190, 1532, 2788, 2297, 1513, - 1226, 1573, 1227, 1228, 605, 605, 1246, 1247, 1248, 1249, - 1250, 1251, 1252, 1254, 1253, 1255, 1256, 1985, 2643, 1542, - 1616, 1543, 186, 1545, 1547, 1600, 1599, 1551, 1553, 1555, - 1557, 1559, 1496, 1531, 1598, 188, 189, 190, 161, 2281, - 162, 1229, 1601, 1510, 1588, 1403, 1511, 1509, 1502, 1523, - 1582, 2141, 188, 189, 190, 1642, 2001, 1579, 3242, 1391, - 181, 1249, 1250, 1251, 1252, 1254, 1253, 1255, 1256, 1578, - 605, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1231, 1577, - 1740, 1740, 1549, 1746, 1400, 1737, 1741, 3093, 1574, 1738, - 1738, 1648, 1649, 3092, 1226, 1391, 1227, 1228, 1711, 3070, - 1198, 3069, 1756, 605, 605, 1653, 1757, 1226, 1650, 1227, - 1228, 3068, 1660, 1661, 1662, 1654, 1638, 1656, 1657, 1658, - 1659, 1229, 2995, 2980, 1663, 1391, 1229, 120, 1030, 2979, - 1229, 1029, 1028, 2918, 1401, 1753, 1675, 2916, 188, 189, - 190, 1836, 1999, 1229, 2680, 1709, 2866, 2802, 1719, 2787, - 2651, 605, 1718, 2587, 1720, 1721, 1722, 1723, 1724, 1725, - 1726, 1727, 1728, 1729, 1730, 1731, 1732, 733, 1652, 2586, - 2307, 165, 2295, 1226, 1673, 1227, 1228, 186, 1674, 1355, - 171, 1804, 605, 188, 189, 190, 2046, 1997, 1681, 1682, - 188, 189, 190, 1844, 1247, 1248, 1249, 1250, 1251, 1252, - 1254, 1253, 1255, 1256, 3175, 1391, 186, 1712, 2045, 605, - 1391, 1889, 1871, 3173, 1391, 1229, 1677, 1643, 187, 186, - 1611, 187, 1603, 605, 187, 1593, 3171, 1391, 186, 606, - 186, 187, 186, 186, 605, 1717, 1229, 605, 1860, 187, - 1589, 1834, 1585, 1584, 1804, 1876, 1583, 1877, 605, 1402, - 1182, 1846, 3025, 1226, 187, 1227, 1228, 3024, 1226, 2984, - 1227, 1228, 1226, 1742, 1227, 1228, 2270, 1943, 2983, 1747, - 1748, 2849, 92, 1229, 1844, 1226, 606, 1227, 1228, 606, - 187, 606, 848, 93, 95, 848, 100, 1848, 1849, 1761, - 1762, 1763, 1764, 1765, 96, 101, 2270, 156, 3047, 1391, - 2223, 3259, 94, 605, 95, 2334, 100, 2312, 99, 1942, - 1992, 1993, 1994, 2753, 96, 1996, 1998, 2000, 1909, 3045, - 1391, 1225, 1845, 1882, 3221, 1391, 1229, 2223, 3158, 2271, - 605, 1847, 1846, 2755, 1850, 1851, 605, 1533, 1391, 2273, - 1533, 2540, 1533, 1952, 1953, 1954, 1955, 1226, 2024, 1227, - 1228, 2090, 1938, 2239, 1937, 1225, 3042, 1391, 1229, 2271, - 1870, 1391, 818, 2223, 3138, 1504, 1505, 1506, 1226, 2090, - 1227, 1228, 1229, 92, 2223, 3134, 1391, 1881, 3121, 1391, - 94, 1920, 2114, 605, 93, 605, 1884, 3126, 1968, 2223, - 3086, 605, 605, 1941, 3097, 2014, 2239, 1947, 1974, 1948, - 1949, 1950, 1951, 1904, 1902, 1226, 2223, 1227, 1228, 3028, - 1391, 2841, 3083, 2219, 1925, 1958, 1959, 1960, 1961, 2507, - 1924, 2697, 1391, 1940, 852, 2247, 1939, 852, 94, 186, - 2753, 1580, 1581, 2026, 2011, 2247, 186, 1586, 1587, 1391, - 2721, 2729, 1391, 186, 186, 2246, 1229, 186, 2697, 186, - 157, 3003, 1391, 1984, 2575, 2113, 186, 169, 1226, 1056, - 1227, 1228, 1229, 186, 1789, 2480, 1969, 1229, 2753, 1530, - 2019, 1964, 1965, 2022, 1926, 2023, 2105, 1983, 2223, 2991, - 1987, 2841, 1391, 2223, 2839, 1995, 2105, 2039, 1229, 186, - 1226, 2025, 1227, 1228, 605, 2025, 1391, 1055, 1229, 177, - 2247, 1969, 2018, 2017, 1226, 2146, 1227, 1228, 2758, 1391, - 2021, 1899, 1900, 1225, 1391, 2130, 2041, 2146, 1391, 2577, - 2576, 2129, 2043, 2044, 2025, 2040, 2573, 2574, 1229, 2726, - 1391, 158, 163, 160, 166, 167, 168, 170, 172, 173, - 174, 175, 2573, 2572, 1229, 2724, 1391, 176, 178, 179, - 180, 1391, 1781, 1770, 1771, 1772, 1773, 1783, 1774, 1775, - 1776, 1788, 1784, 1777, 1778, 1785, 1786, 1787, 1779, 1780, - 1782, 87, 1711, 2247, 1391, 2105, 1391, 2049, 1226, 2008, - 1227, 1228, 3235, 2090, 2355, 1229, 1492, 2337, 2330, 2331, - 2223, 2222, 1492, 1491, 1226, 1897, 1227, 1228, 1395, 1226, - 1229, 1227, 1228, 2081, 2082, 1861, 1229, 1689, 2084, 1437, - 1436, 2678, 1391, 1632, 1423, 2074, 1038, 2085, 1037, 1229, - 1226, 2101, 1227, 1228, 3201, 2100, 1245, 2102, 3081, 1241, - 1226, 1242, 1227, 1228, 3141, 2123, 3014, 1398, 2124, 2125, - 2126, 2127, 2128, 2806, 808, 1243, 1257, 1258, 1240, 1246, - 1247, 1248, 1249, 1250, 1251, 1252, 1254, 1253, 1255, 1256, - 1226, 2981, 1227, 1228, 2930, 2088, 1229, 2599, 2178, 1391, - 2822, 2819, 186, 2800, 2689, 2688, 1226, 1494, 1227, 1228, - 186, 1712, 1245, 2775, 2389, 605, 1967, 2641, 2645, 2099, - 2988, 605, 1740, 2601, 2807, 2808, 2809, 2207, 2303, 2597, - 2338, 1738, 605, 2824, 2211, 1246, 1247, 1248, 1249, 1250, - 1251, 1252, 1254, 1253, 1255, 1256, 2193, 1226, 1565, 1227, - 1228, 2116, 87, 187, 1963, 187, 186, 1957, 187, 1956, - 186, 1618, 1226, 2205, 1227, 1228, 1525, 1521, 1226, 1229, - 1227, 1228, 1490, 113, 2304, 2280, 2304, 2810, 2243, 2161, - 1391, 1226, 1127, 1227, 1228, 37, 1229, 3015, 606, 1982, - 606, 606, 2765, 2766, 2263, 1874, 2139, 101, 1229, 1566, - 1567, 1568, 3254, 3252, 1846, 606, 606, 1229, 100, 3228, - 99, 1229, 2224, 3107, 1245, 1679, 2103, 3033, 2768, 94, - 2593, 2592, 1229, 605, 2811, 2812, 2813, 1229, 1226, 186, - 1227, 1228, 2133, 2591, 2507, 2317, 186, 1246, 1247, 1248, - 1249, 1250, 1251, 1252, 1254, 1253, 1255, 1256, 2075, 2529, - 605, 2220, 2727, 1229, 2530, 2527, 1399, 605, 2233, 2771, - 2528, 1533, 1533, 1365, 2195, 1561, 605, 2180, 2181, 2329, - 2299, 2291, 2293, 2262, 2770, 1845, 1390, 1680, 1391, 2526, - 2216, 2699, 2221, 2352, 2284, 2531, 2525, 2256, 2257, 3207, - 2695, 3159, 2236, 1888, 186, 186, 186, 186, 186, 2351, - 1880, 1226, 2759, 1227, 1228, 2686, 3065, 2485, 2268, 1974, - 2685, 2484, 1562, 1563, 1564, 186, 186, 2272, 1226, 2275, - 1227, 1228, 2909, 2911, 2285, 2497, 2499, 2282, 2749, 2494, - 1226, 186, 1227, 1228, 2500, 1631, 2192, 2296, 794, 1226, - 2746, 1227, 1228, 1226, 822, 1227, 1228, 2571, 2745, 2288, - 605, 2305, 823, 2308, 1226, 1089, 1227, 1228, 2900, 1226, - 2899, 1227, 1228, 1229, 1759, 2318, 2319, 2320, 1088, 1229, - 92, 2314, 2659, 188, 189, 190, 2313, 94, 1760, 1835, - 92, 93, 2350, 1837, 2107, 1226, 1229, 1227, 1228, 1389, - 1385, 93, 1197, 187, 2339, 2340, 2303, 606, 606, 1513, - 742, 1740, 2383, 1740, 1386, 2344, 1740, 121, 2898, 2751, - 1738, 1740, 1738, 187, 605, 1738, 94, 1836, 3267, 1836, - 1738, 2349, 2589, 2409, 605, 1899, 1900, 2422, 2078, 1878, - 1879, 1388, 606, 1387, 3180, 3082, 187, 3010, 2440, 2392, - 2440, 606, 2570, 2440, 2372, 605, 2391, 606, 2440, 2260, - 1885, 1229, 2191, 830, 831, 2067, 2381, 2463, 2483, 2382, - 186, 2066, 2065, 2375, 605, 2731, 2482, 2094, 99, 2190, - 2442, 3053, 2470, 2393, 2452, 2453, 2454, 2455, 605, 2465, - 3052, 2410, 2445, 101, 3036, 605, 605, 2446, 186, 186, - 186, 186, 186, 2917, 100, 1226, 99, 1227, 1228, 2915, - 186, 1226, 2914, 1227, 1228, 186, 2907, 1229, 186, 2820, - 186, 2750, 2748, 186, 186, 186, 2433, 1834, 1226, 1834, - 1227, 1228, 100, 810, 2602, 2009, 2470, 2519, 2510, 1508, - 2513, 829, 2906, 2510, 2189, 2539, 2739, 2239, 2504, 2487, - 2464, 2890, 2466, 1378, 2263, 101, 2488, 1229, 101, 2585, - 2447, 2448, 2449, 2450, 2451, 1229, 100, 3255, 186, 100, - 1229, 99, 2475, 2469, 3256, 3255, 1229, 2219, 2429, 2131, - 94, 605, 2476, 2477, 2478, 1872, 3256, 1417, 2486, 605, - 1408, 106, 107, 1226, 186, 1227, 1228, 3071, 2786, 2489, - 2176, 2479, 820, 2501, 2502, 1229, 2541, 186, 2625, 2542, - 103, 88, 811, 187, 1, 812, 2790, 3190, 2521, 2522, - 2532, 2524, 573, 1862, 2520, 186, 1229, 2523, 186, 95, - 2604, 1642, 2536, 2537, 2543, 1363, 3229, 3186, 2660, 96, - 2170, 2549, 2518, 3187, 1604, 1594, 2852, 1805, 2169, 1226, - 606, 1227, 1228, 2168, 3011, 2605, 2581, 2580, 2579, 2167, - 2252, 2255, 2256, 2257, 2253, 2015, 2254, 2258, 2818, 606, - 606, 1972, 606, 2633, 606, 606, 1229, 606, 606, 606, - 606, 606, 606, 1046, 1974, 2603, 2624, 146, 2166, 1226, - 1935, 1227, 1228, 1936, 606, 3154, 2632, 1226, 187, 1227, - 1228, 2636, 1226, 110, 1227, 1228, 1004, 605, 1226, 2165, - 1227, 1228, 109, 1049, 2694, 187, 1155, 2010, 2842, 2655, - 2652, 2654, 2289, 1944, 1229, 1443, 1441, 1442, 606, 1229, - 187, 605, 186, 1440, 1229, 2663, 1445, 1226, 1444, 1227, - 1228, 2670, 2662, 2132, 606, 2700, 187, 1683, 602, 2306, - 2715, 2676, 1229, 2259, 2309, 2310, 184, 2719, 1226, 2164, - 1227, 1228, 187, 1432, 2252, 2255, 2256, 2257, 2253, 187, - 2254, 2258, 1409, 2713, 2765, 2766, 2657, 2658, 187, 187, - 187, 187, 187, 187, 187, 187, 187, 606, 1090, 2667, - 2668, 186, 2669, 1229, 563, 2671, 2578, 2673, 2047, 2675, - 569, 606, 606, 1271, 1678, 1229, 2481, 2163, 1226, 2789, - 1227, 1228, 2162, 2276, 849, 842, 1873, 2156, 2737, 187, - 186, 2732, 2733, 2209, 2515, 2743, 1229, 2493, 2495, 2226, - 2747, 2740, 2498, 1229, 2491, 2155, 3064, 1229, 2908, 186, - 3139, 1229, 186, 186, 186, 2286, 1229, 2752, 1405, 2720, - 2115, 2762, 605, 605, 1750, 2772, 1226, 2769, 1227, 1228, - 1914, 1226, 2885, 1227, 1228, 1704, 1226, 606, 1227, 1228, - 2776, 2825, 2826, 2778, 2779, 627, 2154, 2777, 626, 624, - 2212, 2633, 2784, 2785, 1226, 2240, 1227, 1228, 2151, 1232, - 736, 2199, 2846, 2847, 1418, 2251, 605, 605, 605, 605, - 606, 606, 1389, 1385, 2632, 2801, 2249, 2803, 2248, 2150, - 2076, 1921, 2767, 2763, 3182, 1916, 2149, 1386, 1912, 2218, - 2147, 635, 628, 620, 2143, 1226, 701, 1227, 1228, 2142, - 2783, 2631, 3167, 2358, 2642, 2360, 2287, 1226, 2638, 1227, - 1228, 1210, 1382, 1383, 1388, 1381, 1387, 614, 606, 1017, - 3016, 3088, 2093, 2683, 1380, 1740, 1768, 1740, 1226, 2848, - 1227, 1228, 1769, 3095, 1738, 1226, 1738, 1227, 1228, 1226, - 2613, 1227, 1228, 1226, 187, 1227, 1228, 2836, 1226, 606, - 1227, 1228, 2594, 2335, 2002, 186, 63, 41, 3059, 3127, - 700, 697, 2440, 2865, 2440, 2887, 2888, 2889, 2459, 2460, - 3110, 2861, 3111, 187, 696, 3112, 606, 1796, 609, 605, - 3203, 605, 2903, 1201, 2859, 836, 187, 32, 31, 30, - 606, 29, 2873, 28, 23, 187, 2883, 187, 22, 187, - 187, 606, 21, 2874, 606, 1740, 20, 19, 25, 2924, - 2932, 18, 17, 16, 1738, 606, 37, 2616, 3224, 3266, - 2510, 115, 50, 2513, 2926, 47, 45, 2513, 2904, 123, - 122, 48, 44, 2913, 1130, 42, 2912, 27, 26, 15, - 14, 2928, 13, 605, 2922, 12, 11, 2582, 2583, 2920, - 10, 9, 5, 4, 35, 34, 186, 33, 1204, 605, - 24, 2, 2989, 2553, 2322, 2004, 0, 0, 1392, 1394, - 606, 0, 605, 0, 2936, 0, 0, 0, 2933, 2934, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2993, 606, 0, 3030, - 3031, 2987, 0, 606, 0, 2986, 2985, 0, 2554, 3001, - 0, 0, 1740, 0, 0, 3005, 0, 3034, 605, 0, - 3013, 1738, 605, 605, 0, 3006, 0, 0, 0, 0, - 0, 0, 0, 0, 2556, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2551, 0, - 606, 605, 606, 0, 0, 0, 0, 0, 606, 606, - 0, 0, 0, 0, 3035, 2567, 2568, 3054, 3055, 3037, - 3075, 0, 2552, 3040, 0, 3057, 3056, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3072, 0, - 0, 2513, 0, 0, 3063, 0, 187, 0, 0, 0, - 0, 0, 605, 187, 0, 2558, 0, 0, 3074, 0, - 187, 187, 3078, 0, 187, 0, 187, 186, 0, 0, - 0, 3080, 0, 187, 0, 0, 0, 0, 0, 0, - 187, 0, 0, 0, 0, 605, 186, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3099, 0, 187, 0, 0, 0, - 3087, 606, 3096, 0, 0, 0, 0, 3094, 0, 37, - 3091, 0, 2566, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 605, 0, 2569, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 605, 0, 0, 0, 0, 3116, - 0, 0, 3117, 0, 0, 0, 0, 2795, 2796, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 605, 605, - 3125, 0, 0, 3115, 0, 0, 0, 0, 0, 0, - 0, 0, 3132, 0, 3140, 0, 0, 0, 2510, 0, - 3168, 37, 605, 3169, 0, 0, 3145, 3153, 3150, 3147, - 3146, 3144, 3149, 3148, 3162, 3142, 186, 605, 3137, 2829, - 0, 0, 0, 2833, 2834, 2835, 3013, 3155, 0, 0, - 182, 0, 0, 3178, 0, 0, 0, 0, 0, 0, - 0, 0, 3199, 3181, 3189, 3194, 0, 0, 0, 0, - 0, 0, 3168, 2555, 121, 3169, 3209, 0, 0, 0, - 605, 0, 3206, 188, 189, 190, 0, 164, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3223, 0, 0, - 3218, 0, 605, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, - 605, 3236, 605, 3238, 0, 0, 594, 187, 0, 0, - 2283, 0, 606, 0, 1740, 0, 3253, 3247, 606, 3250, - 3251, 3249, 3246, 1738, 0, 161, 0, 162, 3168, 606, - 0, 3169, 3262, 0, 0, 0, 0, 3268, 0, 0, - 0, 0, 3274, 3276, 0, 0, 0, 181, 591, 0, - 0, 0, 0, 187, 0, 0, 0, 187, 0, 0, - 0, 0, 0, 0, 0, 0, 3286, 3287, 3031, 3285, - 1740, 0, 0, 0, 0, 3284, 0, 0, 0, 1738, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 577, 1754, 618, 0, - 0, 1755, 0, 0, 0, 0, 0, 0, 575, 2559, - 0, 0, 0, 2563, 0, 0, 0, 0, 0, 0, - 606, 2562, 0, 0, 0, 0, 187, 0, 0, 0, - 0, 0, 0, 187, 2996, 2997, 2998, 0, 0, 0, - 0, 0, 0, 0, 0, 1831, 0, 606, 572, 0, - 0, 0, 0, 0, 606, 2564, 0, 586, 165, 0, - 2560, 0, 0, 606, 0, 2561, 0, 171, 0, 0, - 0, 0, 582, 0, 0, 0, 1392, 1859, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 187, 187, 187, 187, 187, 0, 0, 828, 0, - 0, 834, 0, 834, 0, 0, 0, 0, 0, 595, - 1883, 0, 187, 187, 0, 0, 0, 0, 0, 0, + 752, 2489, 3317, 3329, 2928, 2929, 3136, 761, 2927, 3223, + 652, 3286, 3243, 3287, 2900, 2762, 1469, 755, 3188, 1973, + 2694, 3211, 1906, 1926, 754, 2600, 2607, 3120, 2202, 1211, + 2657, 3072, 2648, 2558, 3, 2662, 2659, 731, 37, 2658, + 2887, 2222, 2656, 2661, 2660, 3118, 732, 2955, 2561, 1908, + 2677, 186, 2248, 822, 186, 3108, 600, 186, 2508, 2615, + 2676, 1427, 615, 1390, 186, 844, 635, 2043, 2562, 2794, + 2288, 2559, 186, 639, 2960, 632, 2788, 729, 660, 2679, + 2488, 2311, 1930, 1946, 2445, 2487, 2814, 186, 2556, 2546, + 2275, 2715, 1523, 2780, 633, 2350, 2699, 2006, 2428, 2382, + 2031, 631, 2011, 2351, 730, 2074, 2352, 155, 1962, 615, + 1026, 36, 615, 186, 615, 826, 845, 830, 1570, 824, + 2300, 1951, 38, 2267, 1414, 2250, 1763, 1160, 1873, 2281, + 1880, 627, 1096, 1950, 2420, 847, 2052, 871, 868, 1847, + 2030, 1938, 2090, 1721, 1773, 141, 2013, 2344, 1189, 1059, + 1054, 1458, 2319, 1436, 95, 644, 1953, 96, 1394, 1296, + 1552, 1670, 1781, 1846, 1740, 91, 1232, 1559, 1033, 1666, + 2028, 1030, 1883, 1065, 1650, 1034, 2002, 1060, 1061, 1457, + 1441, 1843, 836, 1455, 1788, 1264, 1209, 1062, 1203, 1675, + 1072, 831, 1144, 1518, 1544, 124, 125, 858, 834, 76, + 85, 97, 832, 98, 159, 1898, 119, 117, 118, 3145, + 2375, 89, 1299, 622, 3318, 2888, 1303, 2045, 2046, 2047, + 3173, 2645, 2045, 2404, 2403, 1931, 2373, 2088, 833, 77, + 8, 7, 6, 2843, 2880, 3270, 87, 1635, 87, 87, + 2436, 604, 90, 126, 2437, 2932, 3174, 852, 3168, 857, + 3169, 1728, 120, 1743, 1101, 1727, 838, 188, 189, 190, + 1726, 1027, 1903, 1904, 2667, 1725, 1724, 1723, 1706, 2932, + 1233, 625, 3264, 626, 2246, 2667, 1098, 825, 823, 623, + 2542, 571, 1052, 2751, 767, 768, 769, 2395, 2664, 1114, + 1115, 1116, 865, 1119, 1120, 1121, 1122, 839, 846, 1125, + 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, + 1136, 1137, 1138, 1139, 1140, 1141, 1075, 87, 102, 1076, + 1715, 120, 2665, 1050, 1049, 1048, 1421, 2277, 1233, 2078, + 2931, 3224, 2512, 2665, 872, 1102, 1105, 1106, 1038, 3169, + 3274, 1043, 3340, 3290, 2671, 1111, 1051, 3285, 3272, 3308, + 2767, 2766, 2076, 2398, 2931, 2671, 767, 768, 769, 104, + 105, 3121, 108, 2223, 1733, 114, 3273, 604, 183, 2716, + 3068, 566, 3067, 2077, 3271, 1100, 3253, 1243, 188, 189, + 190, 2893, 1099, 78, 2894, 1117, 3337, 3221, 3321, 120, + 3251, 818, 819, 820, 821, 3164, 3299, 829, 2901, 3257, + 3258, 3212, 2071, 3220, 2132, 182, 733, 2617, 2618, 1934, + 2444, 3248, 2247, 2734, 3252, 2022, 2378, 78, 3163, 3150, + 80, 604, 1533, 78, 2596, 860, 861, 2603, 2435, 121, + 2328, 143, 2973, 2327, 1967, 1243, 2329, 2412, 2597, 2598, + 2016, 2411, 164, 2129, 605, 1968, 1969, 1459, 1179, 1460, + 78, 1905, 1167, 1147, 816, 2668, 815, 1168, 1265, 1184, + 1185, 87, 2376, 601, 1180, 1166, 2668, 1165, 1206, 2130, + 3137, 1173, 2604, 153, 2291, 1196, 1239, 1198, 733, 142, + 3077, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1274, 1273, + 1275, 1276, 1167, 2340, 2696, 87, 604, 1168, 2606, 2292, + 161, 87, 162, 1986, 1985, 2284, 2285, 2791, 2724, 604, + 613, 587, 2601, 604, 2616, 1195, 1197, 2477, 1546, 1547, + 152, 151, 181, 585, 3291, 1143, 2619, 2722, 87, 2617, + 2618, 1714, 611, 617, 1239, 2700, 2602, 1231, 1934, 1047, + 1398, 1153, 1154, 2383, 2421, 3292, 1625, 2053, 2407, 1181, + 1118, 2689, 2096, 3098, 1186, 3099, 1174, 2091, 3320, 2690, + 1716, 1717, 1718, 582, 1187, 1656, 186, 1651, 186, 2608, + 605, 186, 596, 1156, 1205, 1200, 2108, 3265, 2109, 2697, + 2110, 1188, 2015, 1182, 1183, 1149, 2423, 592, 2882, 2881, + 1626, 2111, 1627, 1932, 1933, 1124, 2095, 1045, 1123, 2698, + 2093, 615, 1213, 615, 615, 1047, 1142, 2097, 3052, 2056, + 2936, 1042, 1193, 1055, 1044, 1085, 1194, 1056, 615, 615, + 1947, 147, 1548, 154, 605, 1545, 1199, 148, 149, 1056, + 2878, 1083, 1279, 165, 1279, 1094, 2616, 1093, 2094, 1092, + 1091, 1090, 171, 1089, 1088, 1401, 2619, 3341, 2619, 1087, + 1192, 1537, 1095, 1082, 1225, 3297, 572, 37, 574, 588, + 2511, 607, 1031, 606, 578, 3333, 576, 580, 589, 581, + 1146, 575, 1074, 586, 1067, 2478, 577, 590, 591, 594, + 597, 598, 599, 595, 593, 1558, 584, 608, 1238, 1235, + 1236, 1237, 1242, 1244, 1241, 859, 1240, 1667, 1177, 605, + 1163, 2130, 1169, 1170, 1171, 1172, 1234, 2029, 1531, 3144, + 2374, 1047, 605, 1039, 2424, 1046, 605, 2440, 1053, 2144, + 1041, 1040, 1932, 1933, 2427, 1207, 1208, 2102, 2099, 2101, + 2100, 2103, 2104, 2342, 1031, 1282, 1283, 1284, 1285, 1068, + 1201, 2082, 2075, 2877, 2377, 1290, 1238, 1235, 1236, 1237, + 1242, 1244, 1241, 764, 1240, 764, 764, 2605, 1031, 156, + 1214, 1086, 1029, 2409, 1234, 1663, 1145, 2251, 2253, 1045, + 3226, 1657, 1219, 1073, 1104, 1658, 1659, 1084, 1077, 1067, + 1067, 1046, 1107, 1079, 1103, 1113, 2638, 1080, 1078, 1215, + 1216, 3225, 1557, 2406, 2792, 2397, 1074, 1530, 1529, 2393, + 1664, 1388, 1286, 1527, 570, 565, 2073, 2930, 1081, 1074, + 1655, 2419, 3078, 3256, 2418, 3133, 186, 2830, 2841, 2842, + 615, 615, 1637, 1636, 1638, 1639, 1640, 2810, 1370, 2019, + 2324, 2930, 2669, 2670, 3162, 1383, 186, 150, 116, 2396, + 1280, 1281, 3226, 2669, 2670, 2673, 2287, 81, 77, 2233, + 1228, 1226, 1227, 1897, 1445, 615, 2673, 3255, 1364, 186, + 1158, 1404, 2430, 3225, 615, 1408, 86, 2429, 2282, 2020, + 615, 826, 1301, 2131, 1302, 1389, 1074, 2018, 609, 1405, + 1305, 3331, 1974, 1279, 3332, 2430, 3330, 1046, 1402, 144, + 2429, 1276, 145, 868, 1074, 2595, 1190, 1073, 1176, 602, + 86, 1164, 1676, 841, 1162, 1152, 86, 1204, 1155, 1178, + 1073, 2021, 111, 3158, 603, 1097, 1067, 1070, 1071, 2873, + 1031, 2017, 157, 2609, 1064, 1068, 2804, 2613, 2092, 169, + 1660, 2252, 1461, 86, 1229, 2612, 2463, 1074, 1782, 1389, + 2157, 1782, 2366, 1406, 1249, 1063, 1407, 95, 1745, 3300, + 96, 1371, 1372, 1373, 1374, 1375, 1652, 1248, 1653, 1247, + 1248, 1654, 1746, 1277, 1278, 1744, 2446, 1939, 1940, 2614, + 2969, 177, 1395, 2848, 2610, 2847, 2060, 1073, 1567, 2611, + 1566, 1556, 112, 1067, 1070, 1071, 2070, 1031, 2068, 1085, + 1083, 1064, 1068, 3190, 2065, 1073, 98, 1112, 2072, 1249, + 2136, 2137, 2138, 158, 163, 160, 166, 167, 168, 170, + 172, 173, 174, 175, 2065, 1735, 1737, 1738, 3126, 176, + 178, 179, 180, 1148, 1403, 3342, 186, 823, 1392, 3293, + 1519, 2069, 2831, 825, 1426, 1456, 3191, 1423, 1073, 1736, + 1528, 1191, 1446, 1077, 1067, 1161, 1249, 1677, 1079, 2448, + 3335, 2067, 1080, 1078, 767, 768, 769, 3060, 1451, 1452, + 2907, 3127, 2908, 615, 2730, 1554, 1271, 1272, 1274, 1273, + 1275, 1276, 1645, 1563, 3059, 3050, 1246, 1565, 1247, 1248, + 1568, 1569, 615, 615, 1643, 615, 1632, 615, 615, 872, + 615, 615, 615, 615, 615, 615, 1269, 1270, 1271, 1272, + 1274, 1273, 1275, 1276, 1600, 1601, 1249, 615, 2920, 2919, + 3343, 186, 1606, 2855, 1421, 2458, 2457, 2456, 2450, 2854, + 2454, 1786, 2449, 2844, 2447, 1787, 2646, 2634, 186, 2452, + 1421, 1246, 2348, 1247, 1248, 2347, 1644, 1265, 2451, 2439, + 2465, 615, 2025, 186, 863, 1646, 1630, 1409, 1642, 1564, + 1631, 1629, 1249, 3294, 1665, 2453, 2455, 615, 1628, 186, + 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1274, 1273, 1275, + 1276, 1618, 1612, 1550, 1609, 186, 1599, 1620, 1246, 1602, + 1247, 1248, 186, 1608, 1534, 1535, 1536, 1607, 1579, 3304, + 1421, 186, 186, 186, 186, 186, 186, 186, 186, 186, + 615, 1572, 3153, 1573, 1543, 1575, 1577, 3152, 3130, 1581, + 1583, 1585, 1587, 1589, 615, 615, 3129, 1603, 1266, 1267, + 1268, 1269, 1270, 1271, 1272, 1274, 1273, 1275, 1276, 1430, + 1526, 3128, 186, 1562, 1249, 3302, 1421, 3055, 1246, 1561, + 1247, 1248, 3040, 3039, 1265, 2968, 2966, 1261, 2916, 1262, + 1610, 1611, 1540, 1541, 1539, 2852, 1616, 1617, 1553, 2837, + 2701, 1560, 1560, 1263, 1277, 1278, 1260, 1266, 1267, 1268, + 1269, 1270, 1271, 1272, 1274, 1273, 1275, 1276, 2637, 1431, + 615, 2636, 1767, 1771, 1246, 2357, 1247, 1248, 1770, 1770, + 188, 189, 190, 1776, 2838, 2345, 1672, 1385, 1249, 2086, + 2085, 1680, 1249, 1929, 1911, 1768, 1768, 1741, 1684, 1707, + 1686, 1687, 1688, 1689, 1678, 1679, 1673, 1693, 1421, 1434, + 188, 189, 190, 615, 615, 1668, 1641, 1633, 1683, 1705, + 188, 189, 190, 1604, 2331, 1690, 1691, 1692, 1748, 1623, + 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1758, 1759, + 1760, 1761, 1762, 120, 1739, 1050, 1049, 1048, 1749, 1619, + 1615, 1876, 1532, 1614, 1613, 1682, 1246, 1432, 1247, 1248, + 1202, 615, 1783, 2693, 1218, 1795, 1796, 1797, 1798, 1799, + 1800, 1801, 1802, 1803, 1804, 1433, 1703, 753, 1421, 1704, + 2803, 188, 189, 190, 1884, 2041, 3085, 186, 1844, 2320, + 1711, 1712, 615, 1267, 1268, 1269, 1270, 1271, 1272, 1274, + 1273, 1275, 1276, 2273, 3319, 3084, 1742, 1253, 1254, 1255, + 1256, 1257, 1258, 1259, 1251, 3044, 186, 3281, 1421, 615, + 1246, 3043, 1247, 1248, 1246, 2899, 1247, 1248, 187, 186, + 2384, 187, 2362, 615, 187, 2273, 3218, 1747, 186, 616, + 186, 187, 186, 186, 615, 1900, 1982, 615, 92, 187, + 1772, 1844, 2321, 1249, 1245, 1874, 1777, 1778, 615, 93, + 94, 1916, 2323, 1917, 187, 1884, 188, 189, 190, 2805, + 2039, 2273, 3198, 868, 2273, 3194, 868, 3186, 1265, 1983, + 2143, 2066, 1791, 1792, 1793, 1794, 616, 1888, 1889, 616, + 187, 616, 1886, 3181, 1421, 95, 1805, 1249, 96, 2273, + 3146, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1274, 1273, + 1275, 1276, 2289, 615, 1421, 95, 1885, 2296, 96, 1421, + 2032, 2033, 2034, 1949, 2289, 2036, 2038, 2040, 1887, 1922, + 101, 1890, 1891, 1249, 2891, 3143, 3235, 1421, 92, 2065, + 615, 100, 1249, 99, 3157, 94, 615, 1563, 2273, 93, + 1563, 2297, 1563, 1992, 1993, 1994, 1995, 1987, 2064, 1988, + 1989, 1990, 1991, 1249, 1977, 2747, 1421, 2771, 1978, 1910, + 3063, 1421, 2297, 1886, 1921, 1998, 1999, 2000, 2001, 838, + 3233, 1421, 2273, 3051, 2297, 1246, 1960, 1247, 1248, 2891, + 1421, 2269, 2054, 615, 2747, 615, 2803, 1944, 1924, 2625, + 1249, 615, 615, 87, 1421, 2008, 94, 1981, 2273, 2889, + 3261, 1421, 2014, 1942, 2065, 1421, 3231, 1421, 2590, 188, + 189, 190, 2530, 2037, 1965, 3107, 1421, 1964, 2130, 1246, + 1966, 1247, 1248, 2808, 1421, 1980, 1979, 1245, 1421, 186, + 1249, 2196, 1421, 2627, 2626, 2320, 186, 3295, 2623, 2624, + 2051, 100, 1829, 186, 186, 2024, 2145, 186, 2196, 186, + 2623, 2622, 2297, 1421, 2145, 1246, 186, 1247, 1248, 872, + 2145, 1421, 872, 186, 1246, 2180, 1247, 1248, 2130, 2405, + 2009, 2004, 2005, 3105, 1421, 1522, 2387, 1249, 2023, 2380, + 2381, 2027, 2179, 2035, 1249, 1246, 2065, 1247, 1248, 186, + 1249, 2273, 2272, 2079, 615, 1249, 2048, 2059, 2321, 1249, + 2062, 2557, 2063, 1937, 2058, 2009, 2061, 2057, 2130, 1249, + 1245, 2081, 2803, 3102, 1421, 1425, 1075, 2083, 2084, 1076, + 2080, 1249, 1246, 1901, 1247, 1248, 1265, 1249, 1719, 1560, + 1821, 1810, 1811, 1812, 1813, 1823, 1814, 1815, 1816, 1828, + 1824, 1817, 1818, 1825, 1826, 1827, 1819, 1820, 1822, 1266, + 1267, 1268, 1269, 1270, 1271, 1272, 1274, 1273, 1275, 1276, + 3088, 1421, 1246, 1662, 1247, 1248, 1453, 2779, 1421, 828, + 1249, 1741, 2089, 2776, 1421, 1058, 1249, 1057, 2774, 1421, + 2191, 1249, 2728, 1421, 1522, 1521, 2121, 2122, 1467, 1466, + 1249, 2124, 2228, 1421, 3201, 3074, 1249, 1428, 3041, 2856, + 2125, 2140, 2980, 2142, 2211, 1421, 2154, 2872, 2869, 1246, + 2203, 1247, 1248, 1249, 2114, 2850, 1246, 2739, 1247, 1248, + 2738, 2141, 1246, 1524, 1247, 1248, 2007, 1246, 2691, 1247, + 1248, 1246, 2163, 1247, 1248, 2164, 2165, 2166, 2167, 2651, + 2647, 1246, 2388, 1247, 1248, 2003, 1249, 87, 1997, 2178, + 2857, 2858, 2859, 1246, 1421, 1247, 1248, 1996, 2353, 1246, + 3141, 1247, 1248, 2149, 1648, 3048, 2128, 1249, 1595, 1555, + 1551, 1520, 1249, 2148, 113, 2649, 1249, 2354, 1147, 2153, + 1742, 2695, 186, 2815, 2816, 3075, 1249, 2022, 1914, 2139, + 186, 1249, 3314, 3312, 2257, 615, 3288, 2874, 1709, 3167, + 1770, 615, 1246, 3093, 1247, 1248, 2354, 2243, 1246, 2818, + 1247, 1248, 615, 1246, 2643, 1247, 1248, 1768, 2261, 1596, + 1597, 1598, 1246, 2156, 1247, 1248, 2642, 2641, 1246, 2825, + 1247, 1248, 2557, 187, 1249, 187, 186, 2367, 187, 2255, + 186, 101, 2860, 2115, 2579, 1246, 1591, 1247, 1248, 2580, + 2777, 2821, 100, 1249, 99, 2330, 2349, 2577, 2820, 2749, + 1710, 2293, 2578, 94, 37, 1249, 2576, 2575, 616, 2745, + 616, 616, 3267, 2313, 2736, 1249, 2189, 1429, 1246, 3219, + 1247, 1248, 1249, 1928, 1920, 616, 616, 1249, 2809, 2861, + 2862, 2863, 2274, 1592, 1593, 1594, 2535, 1249, 2534, 1246, + 3125, 1247, 1248, 615, 1246, 2796, 1247, 1248, 1246, 186, + 1247, 1248, 1249, 2795, 2961, 1886, 186, 2735, 1246, 2959, + 1247, 1248, 1421, 1246, 1249, 1247, 1248, 2270, 2799, 1249, + 615, 2544, 1661, 2183, 2230, 2231, 2242, 615, 1395, 1885, + 2245, 1563, 1563, 2283, 1249, 2147, 615, 2312, 2241, 814, + 2621, 2341, 2343, 2379, 842, 2338, 1420, 2581, 2240, 2306, + 2307, 2271, 843, 2402, 2334, 2239, 1246, 2266, 1247, 1248, + 2226, 2286, 2358, 1109, 186, 186, 186, 186, 186, 1108, + 2220, 2401, 2709, 2318, 2353, 1246, 2433, 1247, 1248, 1789, + 2950, 92, 2949, 2014, 2322, 186, 186, 1246, 2325, 1247, + 1248, 2394, 93, 1790, 2547, 2549, 2332, 1246, 2335, 1247, + 1248, 186, 2219, 2550, 1246, 1217, 1247, 1248, 121, 1246, + 2801, 1247, 1248, 1939, 1940, 2346, 94, 2218, 2356, 1246, + 615, 1247, 1248, 2359, 2360, 188, 189, 190, 3327, 2355, + 2948, 1875, 2639, 2118, 1246, 1877, 1247, 1248, 2363, 3240, + 2364, 1249, 3142, 2368, 2369, 2370, 1246, 1249, 1247, 1248, + 2400, 1246, 762, 1247, 1248, 2302, 2305, 2306, 2307, 2303, + 92, 2304, 2308, 101, 1543, 3070, 1246, 94, 1247, 1248, + 2620, 93, 2310, 187, 100, 1925, 99, 616, 616, 1770, + 1249, 1770, 850, 851, 1770, 94, 2399, 2533, 2107, 1770, + 2106, 2389, 2390, 187, 615, 2532, 1768, 1876, 1768, 1876, + 2105, 1768, 2472, 2459, 615, 2781, 1768, 101, 2134, 2442, + 99, 2422, 616, 3113, 3112, 2441, 187, 3096, 100, 100, + 99, 616, 1249, 2967, 2217, 615, 2965, 616, 2425, 2964, + 2216, 2957, 2870, 2520, 1249, 2800, 2798, 2513, 2652, 2431, + 186, 2049, 2432, 1538, 615, 2490, 2460, 2490, 849, 2956, + 2490, 2502, 2503, 2504, 2505, 2490, 2515, 2495, 615, 2492, + 2443, 2789, 2496, 2215, 2289, 615, 615, 101, 186, 186, + 186, 186, 186, 1246, 3315, 1247, 1248, 2940, 100, 1246, + 186, 1247, 1248, 2269, 1249, 186, 2479, 2520, 186, 1249, + 186, 3316, 3315, 186, 186, 186, 2181, 1912, 1447, 3316, + 2569, 1874, 830, 1874, 1438, 2214, 2483, 3131, 2537, 2563, + 2589, 2836, 1246, 840, 1247, 1248, 103, 2213, 106, 107, + 88, 2538, 1408, 2313, 2554, 2514, 1, 2516, 2840, 2635, + 3250, 583, 1902, 2519, 1393, 2560, 3289, 3246, 186, 1249, + 2560, 3247, 1634, 2529, 1624, 2525, 2497, 2498, 2499, 2500, + 2501, 615, 2902, 1845, 1246, 3071, 1247, 1248, 2655, 615, + 2536, 2055, 2868, 2012, 186, 2539, 1246, 2212, 1247, 1248, + 1066, 2591, 2206, 146, 2592, 1975, 831, 186, 2551, 2552, + 1976, 3214, 2675, 187, 2568, 110, 1024, 832, 109, 1069, + 2571, 2572, 1175, 2574, 2050, 186, 2586, 2587, 186, 2582, + 95, 2570, 2593, 96, 2573, 2892, 2339, 1984, 2710, 1473, + 1249, 2599, 2526, 2527, 2528, 1471, 1246, 1472, 1247, 1248, + 616, 1246, 2205, 1247, 1248, 2629, 2631, 2654, 2630, 1470, + 1249, 1475, 1672, 1474, 2182, 2750, 1713, 612, 2309, 616, + 616, 1249, 616, 2683, 616, 616, 184, 616, 616, 616, + 616, 616, 616, 1249, 1462, 1439, 2632, 2633, 2014, 2763, + 2674, 2653, 1110, 1249, 616, 573, 2628, 2087, 187, 2686, + 2682, 1246, 579, 1247, 1248, 1291, 1708, 615, 2531, 2326, + 869, 862, 1913, 2259, 2744, 187, 1249, 2565, 2793, 2702, + 2543, 2545, 2705, 2204, 2704, 2276, 2548, 2541, 616, 3124, + 187, 615, 186, 2958, 3199, 2713, 2336, 1435, 2770, 2717, + 2718, 2712, 2719, 2201, 616, 2721, 187, 2723, 2720, 2725, + 2765, 2726, 2155, 1249, 2200, 1780, 1954, 2769, 2935, 2707, + 2708, 1734, 187, 637, 636, 634, 2199, 2262, 2290, 187, + 1252, 756, 1246, 2249, 1247, 1248, 2197, 1448, 187, 187, + 187, 187, 187, 187, 187, 187, 187, 616, 2301, 1419, + 1415, 186, 1246, 2299, 1247, 1248, 2298, 2116, 1961, 2193, + 2817, 616, 616, 1246, 1416, 1247, 1248, 2787, 2813, 2839, + 3242, 1956, 1952, 2268, 645, 1246, 638, 1247, 1248, 187, + 186, 2782, 2783, 630, 721, 1246, 2833, 1247, 1248, 1918, + 1919, 1418, 2790, 1417, 2681, 2797, 2192, 3227, 2408, 186, + 2812, 2692, 186, 186, 186, 2822, 2410, 2802, 1246, 2337, + 1247, 1248, 615, 615, 2688, 1230, 1411, 624, 1037, 3076, + 2819, 3148, 2828, 2829, 2133, 2733, 1410, 616, 1808, 1809, + 3155, 2663, 2827, 2826, 2886, 2875, 2876, 2644, 2385, 2042, + 63, 2683, 2834, 2835, 41, 1246, 3119, 1247, 1248, 1419, + 1415, 3187, 720, 717, 2937, 2938, 615, 615, 615, 615, + 2939, 2509, 2896, 2897, 1416, 2851, 2510, 2853, 2682, 3170, + 616, 616, 2302, 2305, 2306, 2307, 2303, 3171, 2304, 2308, + 716, 3172, 2815, 2816, 1836, 619, 3263, 1221, 856, 1412, + 1413, 1418, 32, 1417, 31, 30, 29, 28, 23, 22, + 21, 20, 19, 25, 18, 17, 2845, 2846, 16, 2898, + 2666, 3284, 3326, 1770, 115, 1770, 50, 47, 616, 45, + 123, 122, 48, 44, 1150, 42, 27, 26, 15, 14, + 1768, 13, 1768, 12, 11, 10, 9, 5, 4, 35, + 34, 33, 1224, 24, 187, 186, 2, 2372, 2044, 616, + 2909, 0, 0, 0, 0, 0, 0, 0, 2879, 2915, + 0, 2911, 2883, 2884, 2885, 0, 0, 2953, 0, 615, + 0, 615, 0, 187, 0, 0, 616, 0, 0, 2490, + 0, 2490, 0, 0, 0, 0, 187, 2982, 2924, 0, + 616, 2923, 0, 1770, 0, 187, 2933, 187, 0, 187, + 187, 616, 2974, 0, 616, 37, 0, 0, 0, 0, + 1768, 0, 2563, 0, 0, 616, 2563, 0, 2976, 0, + 0, 0, 0, 2963, 2954, 0, 2978, 2962, 0, 0, + 0, 0, 0, 615, 2972, 2970, 0, 2560, 0, 0, + 0, 0, 0, 0, 0, 0, 186, 0, 0, 615, + 0, 0, 0, 0, 0, 0, 3049, 2983, 2984, 0, + 0, 0, 615, 2986, 0, 0, 0, 0, 1422, 1424, + 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3053, 3045, 0, 0, 0, + 3046, 3073, 3090, 3091, 3094, 3061, 0, 616, 3047, 0, + 1770, 0, 3066, 616, 0, 0, 0, 0, 615, 3065, + 0, 0, 615, 615, 0, 0, 0, 1768, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 615, 0, 0, 0, 0, 0, 0, 0, 3095, + 616, 0, 616, 0, 0, 0, 3097, 0, 616, 616, + 3100, 0, 3117, 0, 3135, 0, 3116, 3114, 3115, 0, + 0, 0, 0, 3056, 3057, 3058, 0, 0, 0, 0, + 2563, 3123, 3132, 0, 0, 1396, 0, 0, 0, 182, + 0, 0, 0, 0, 0, 0, 187, 3138, 0, 0, + 0, 0, 615, 187, 3134, 0, 0, 0, 0, 0, + 187, 187, 0, 121, 187, 0, 187, 186, 0, 0, + 0, 0, 0, 187, 0, 3140, 164, 0, 0, 0, + 187, 0, 0, 0, 0, 615, 186, 0, 0, 568, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 618, + 0, 0, 0, 0, 0, 0, 187, 817, 3159, 3147, + 0, 616, 0, 0, 3154, 3156, 3151, 0, 37, 2333, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 615, 0, 161, 0, 162, 0, 0, 0, + 0, 0, 182, 0, 615, 0, 0, 0, 1032, 3176, + 0, 0, 3177, 0, 0, 0, 181, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 121, 0, 615, 615, + 3175, 0, 0, 3185, 0, 3192, 0, 0, 0, 164, + 0, 0, 0, 0, 0, 0, 0, 3200, 3202, 0, + 37, 0, 615, 3229, 0, 0, 3205, 3073, 3215, 3213, + 3228, 3210, 3207, 0, 3222, 3206, 186, 615, 3204, 3209, + 3208, 0, 0, 0, 3197, 2560, 0, 0, 0, 0, + 0, 0, 0, 0, 3238, 0, 0, 0, 3241, 0, + 0, 0, 3259, 0, 0, 3249, 3254, 161, 0, 162, + 0, 0, 0, 0, 3269, 3229, 0, 0, 0, 3266, + 615, 0, 3228, 0, 0, 0, 0, 0, 0, 181, + 0, 0, 0, 0, 0, 0, 0, 165, 3278, 0, + 0, 3283, 615, 0, 0, 0, 171, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 615, 3298, 615, 0, 0, 3296, 3310, 0, 0, 187, + 0, 0, 1770, 0, 3307, 3306, 0, 187, 0, 3313, + 3311, 0, 616, 3309, 0, 0, 0, 0, 616, 1768, + 3322, 3229, 0, 0, 0, 0, 0, 3328, 3228, 616, + 3334, 0, 3336, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 3344, 187, 0, 0, 0, 187, 1770, 3346, + 3347, 3091, 0, 3345, 0, 0, 0, 0, 0, 0, + 165, 0, 0, 0, 0, 1768, 0, 0, 0, 171, + 0, 0, 0, 0, 0, 0, 0, 1784, 0, 0, + 0, 1785, 0, 156, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 616, 0, 0, 0, 0, 0, 187, 0, 0, 0, + 0, 0, 0, 187, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1871, 0, 616, 0, 0, + 0, 0, 0, 0, 616, 0, 0, 0, 0, 0, + 0, 0, 0, 616, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1422, 1899, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 187, 187, 187, 187, 187, 156, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1923, 0, 187, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 562, 0, 564, 578, 0, 597, 606, 596, 568, - 0, 566, 570, 579, 571, 0, 565, 0, 576, 0, - 0, 567, 580, 581, 584, 587, 588, 589, 585, 583, - 0, 574, 598, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 156, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 606, 1986, 0, 0, 0, 0, 0, 0, 0, - 0, 606, 0, 0, 0, 182, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1512, 0, 0, 0, - 0, 0, 606, 0, 0, 0, 0, 0, 0, 121, - 0, 143, 0, 0, 0, 0, 0, 187, 0, 0, - 0, 606, 164, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 606, 0, 0, 0, 0, - 0, 0, 606, 606, 0, 187, 187, 187, 187, 187, - 0, 0, 0, 153, 0, 0, 0, 187, 0, 142, + 0, 0, 0, 0, 0, 0, 0, 616, 0, 0, + 0, 0, 0, 0, 0, 0, 157, 0, 0, 0, + 0, 0, 0, 169, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1151, 0, 1157, 0, 177, 1159, 0, 0, 0, + 0, 0, 2026, 0, 0, 0, 0, 0, 0, 0, + 0, 616, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 616, 0, 0, 0, 0, 0, 158, 163, 160, + 166, 167, 168, 170, 172, 173, 174, 175, 0, 0, + 0, 0, 616, 176, 178, 179, 180, 0, 0, 157, + 0, 0, 0, 0, 0, 0, 169, 187, 0, 0, + 0, 616, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 616, 0, 0, 0, 0, + 0, 0, 616, 616, 0, 187, 187, 187, 187, 187, + 0, 0, 0, 0, 0, 0, 0, 187, 177, 0, 0, 0, 187, 0, 0, 187, 0, 187, 0, 0, 187, 187, 187, 0, 0, 0, 0, 0, 0, 0, - 161, 0, 162, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 157, 1516, 1517, - 152, 151, 181, 0, 169, 0, 0, 0, 0, 0, - 0, 0, 0, 599, 0, 187, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 606, 0, - 0, 0, 0, 0, 592, 0, 606, 0, 0, 0, - 0, 187, 0, 0, 0, 0, 177, 0, 0, 593, - 0, 0, 0, 0, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 187, 0, 0, 187, 0, 0, 158, 163, - 160, 166, 167, 168, 170, 172, 173, 174, 175, 0, - 0, 0, 0, 0, 176, 178, 179, 180, 0, 0, - 0, 147, 1518, 154, 0, 1515, 0, 148, 149, 0, - 0, 0, 0, 165, 0, 0, 0, 0, 0, 2106, - 0, 0, 171, 2110, 2111, 2112, 0, 0, 0, 0, - 2119, 0, 0, 2120, 2121, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 606, 0, 0, 0, 0, 0, - 0, 0, 0, 78, 39, 40, 80, 0, 2134, 2135, - 2136, 2137, 2138, 0, 2140, 0, 0, 0, 606, 187, - 2144, 0, 2145, 84, 0, 0, 2148, 43, 69, 70, - 0, 67, 71, 0, 2157, 2158, 2159, 2160, 0, 0, - 68, 0, 0, 0, 0, 0, 0, 2171, 0, 2174, - 2175, 0, 0, 0, 0, 0, 2177, 2179, 0, 0, - 0, 0, 0, 0, 2184, 2185, 2186, 2187, 2188, 56, - 0, 0, 0, 0, 0, 1883, 0, 2194, 187, 156, - 0, 87, 0, 0, 0, 0, 0, 2206, 0, 0, + 158, 163, 160, 166, 167, 168, 170, 172, 173, 174, + 175, 0, 0, 0, 0, 0, 176, 178, 179, 180, + 0, 0, 0, 0, 0, 187, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 616, 0, + 0, 0, 0, 0, 0, 0, 616, 0, 0, 0, + 0, 187, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 187, 0, 0, 0, 0, 0, + 3282, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1490, 0, 187, 0, 0, 187, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2146, + 0, 0, 0, 2150, 2151, 2152, 0, 0, 0, 0, + 2159, 0, 0, 2160, 2161, 0, 0, 0, 0, 0, + 0, 0, 2168, 2169, 2170, 2171, 2172, 2173, 2174, 2175, + 2176, 2177, 0, 0, 1450, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 616, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2184, 2185, + 2186, 2187, 2188, 0, 2190, 0, 0, 0, 616, 187, + 2194, 0, 2195, 0, 0, 0, 2198, 0, 0, 0, + 0, 0, 0, 0, 2207, 2208, 2209, 2210, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2221, 0, 2224, + 2225, 0, 1478, 0, 0, 0, 2227, 2229, 0, 0, + 0, 0, 0, 0, 2234, 2235, 2236, 2237, 2238, 0, + 0, 0, 0, 0, 0, 1923, 0, 2244, 187, 0, + 0, 0, 0, 0, 0, 0, 0, 2256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1230, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, 0, 0, 187, - 187, 187, 0, 0, 0, 0, 0, 0, 0, 606, - 606, 0, 0, 0, 0, 1277, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 150, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 606, 606, 606, 606, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 144, - 0, 0, 145, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 46, 49, 52, - 51, 54, 0, 66, 0, 0, 75, 72, 0, 0, - 0, 0, 157, 0, 0, 0, 0, 0, 0, 169, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, - 83, 82, 0, 0, 64, 65, 53, 0, 0, 0, - 0, 0, 73, 74, 0, 0, 0, 0, 0, 0, + 187, 187, 0, 0, 0, 1491, 0, 0, 0, 616, + 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1468, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 616, 616, 616, 616, 0, 0, 0, + 0, 0, 0, 1504, 1507, 1508, 1509, 1510, 1511, 1512, + 0, 1513, 1514, 1515, 1516, 1517, 1492, 1493, 1494, 1495, + 1476, 1477, 1505, 0, 1479, 0, 1480, 1481, 1482, 1483, + 1484, 1485, 1486, 1487, 1488, 0, 0, 1489, 1496, 1497, + 1498, 1499, 1500, 1501, 1502, 1503, 1605, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 628, 0, 1649, 0, 0, 0, 187, 0, 0, 0, 0, 0, 0, 0, - 0, 177, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 606, 0, 606, 0, - 0, 0, 57, 58, 0, 59, 60, 61, 62, 0, - 0, 0, 0, 158, 163, 160, 166, 167, 168, 170, - 172, 173, 174, 175, 0, 0, 0, 0, 1407, 176, - 178, 179, 180, 0, 0, 0, 0, 0, 0, 2416, - 2417, 2418, 2419, 2420, 2421, 0, 0, 0, 0, 2426, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 606, 0, 0, 0, 0, 0, 0, 0, 0, 2441, - 0, 0, 0, 187, 0, 0, 606, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 606, - 0, 0, 0, 0, 0, 0, 0, 2467, 2468, 0, + 0, 0, 0, 0, 0, 0, 616, 0, 616, 0, + 1681, 0, 0, 0, 0, 0, 0, 1685, 763, 79, + 0, 0, 0, 0, 0, 0, 0, 0, 1696, 1697, + 1698, 1699, 1700, 1701, 1702, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2466, + 2467, 2468, 2469, 2470, 2471, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1722, 0, 2476, + 616, 0, 0, 0, 0, 0, 848, 1506, 0, 854, + 0, 854, 0, 187, 0, 0, 616, 0, 0, 2491, + 0, 0, 0, 0, 0, 0, 827, 0, 79, 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 827, 2517, 2518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1036, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 616, 0, 0, 0, 616, + 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 81, 0, 606, 0, 0, 0, 606, - 606, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 616, 0, + 0, 2566, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2584, 2585, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2516, 0, 0, 0, 0, 0, 0, 606, 0, - 0, 0, 0, 0, 0, 0, 86, 0, 2534, 2535, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 743, 79, 0, 0, 0, - 0, 0, 0, 0, 0, 1495, 0, 0, 0, 606, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 606, 187, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 807, 0, 79, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 606, - 0, 0, 0, 807, 0, 2661, 0, 0, 0, 0, - 0, 606, 0, 0, 0, 0, 0, 0, 0, 1016, - 0, 0, 0, 0, 0, 0, 0, 2677, 2679, 2681, - 0, 0, 0, 0, 0, 606, 606, 0, 0, 0, - 0, 1644, 2687, 0, 0, 0, 0, 2691, 2692, 2693, - 0, 3222, 0, 0, 2696, 0, 0, 0, 0, 606, - 2698, 1460, 0, 2702, 2703, 2704, 2705, 2706, 2707, 2708, - 2709, 2710, 2711, 187, 606, 0, 0, 0, 0, 0, - 0, 2718, 0, 0, 0, 0, 2722, 0, 2723, 2725, - 0, 2728, 0, 0, 0, 0, 2734, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1460, - 0, 0, 0, 0, 0, 0, 0, 606, 0, 0, - 0, 0, 0, 0, 1699, 1700, 1701, 1702, 0, 0, - 0, 2756, 2757, 0, 0, 2761, 0, 0, 0, 606, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2773, 2774, 0, 0, 606, 0, 606, - 0, 0, 0, 0, 0, 0, 834, 1744, 1745, 0, - 0, 0, 834, 834, 1749, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1790, 1791, 1792, 1793, 1794, 1795, - 1797, 1801, 1802, 1448, 1808, 1809, 1810, 1811, 1812, 1813, - 1814, 1815, 1816, 1817, 1818, 1819, 1820, 1821, 1822, 1823, - 1824, 1825, 1826, 1827, 1828, 1829, 1830, 0, 1832, 0, - 1838, 1839, 834, 0, 834, 834, 834, 834, 834, 0, - 0, 0, 0, 2840, 0, 1853, 1854, 1855, 1856, 0, - 0, 1448, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 834, 0, 2860, 0, 0, 0, 1461, 0, 0, 0, - 0, 0, 0, 2862, 0, 0, 0, 0, 0, 0, - 0, 0, 1895, 1896, 0, 0, 0, 2871, 0, 0, - 0, 2872, 0, 0, 0, 0, 0, 2876, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2884, - 1932, 0, 0, 0, 1461, 0, 0, 2891, 0, 0, - 0, 0, 0, 0, 1474, 1477, 1478, 1479, 1480, 1481, - 1482, 0, 1483, 1484, 1485, 1486, 1487, 1462, 1463, 1464, - 1465, 1446, 1447, 1475, 0, 1449, 0, 1450, 1451, 1452, - 1453, 1454, 1455, 1456, 1457, 1458, 0, 0, 1459, 1466, - 1467, 1468, 1469, 1470, 1471, 1472, 1473, 0, 0, 1970, - 0, 0, 1474, 1477, 1478, 1479, 1480, 1481, 1482, 0, - 1483, 1484, 1485, 1486, 1487, 1462, 1463, 1464, 1465, 1446, - 1447, 1475, 0, 1449, 0, 1450, 1451, 1452, 1453, 1454, - 1455, 1456, 1457, 1458, 0, 0, 1459, 1466, 1467, 1468, - 1469, 1470, 1471, 1472, 1473, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3002, 0, 0, 0, 0, 0, 0, - 0, 0, 3009, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3019, 3020, 3021, 0, 3022, 3023, 0, 0, 0, 0, - 3026, 0, 3027, 0, 3029, 3032, 1190, 0, 1190, 1190, - 0, 0, 0, 0, 0, 0, 0, 0, 1476, 0, - 3041, 3043, 3044, 3046, 3049, 79, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 807, 1267, 1268, 1269, 0, 1272, 0, 1273, - 1274, 1275, 3079, 1278, 1280, 1280, 1476, 1280, 1284, 1284, - 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, - 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, - 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, - 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, - 1326, 1327, 1328, 1329, 1330, 1331, 1332, 0, 1333, 0, - 1335, 1336, 1337, 1338, 1339, 0, 0, 0, 0, 0, - 1284, 1284, 1284, 1284, 1284, 0, 0, 0, 0, 0, - 0, 0, 0, 3101, 1346, 1347, 1348, 1349, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3106, 0, 0, - 1361, 2118, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3122, 0, 0, 0, 0, - 0, 3123, 3124, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3135, 0, 1277, 0, 0, 0, 0, - 0, 0, 0, 1367, 0, 0, 0, 0, 0, 807, - 0, 0, 0, 807, 0, 0, 0, 0, 0, 807, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3170, 3172, 3174, 0, 0, - 834, 834, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3202, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3208, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 702, 0, 0, 0, 1407, 0, 0, 3220, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 87, 0, - 0, 0, 0, 0, 737, 745, 746, 747, 748, 749, - 738, 740, 3241, 3243, 3245, 739, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 742, 750, - 751, 0, 0, 0, 604, 0, 0, 0, 0, 0, - 0, 0, 0, 3265, 2208, 0, 0, 745, 746, 0, - 0, 0, 0, 1739, 0, 0, 0, 0, 0, 0, - 3278, 3279, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2634, 2635, 0, 0, 0, - 0, 850, 0, 0, 1008, 0, 1015, 752, 753, 754, - 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, - 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, - 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, - 785, 786, 787, 788, 789, 790, 791, 792, 793, 752, - 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, - 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, - 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, - 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, - 793, 0, 0, 0, 2388, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 834, 0, 0, 0, 0, 0, - 0, 0, 2411, 2412, 0, 0, 2414, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2423, 2424, - 2425, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2430, 2431, 2432, 0, 0, 1808, 2434, 0, 2435, 2436, - 0, 0, 0, 2443, 2444, 0, 0, 0, 0, 0, - 0, 1808, 1808, 1808, 1808, 1808, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 834, 0, 0, 0, 1190, 0, 0, 2471, 2472, - 2473, 2474, 0, 0, 0, 0, 0, 0, 0, 1190, - 1190, 0, 0, 0, 1366, 2944, 2946, 2945, 2955, 2956, - 2957, 2958, 2959, 2960, 2961, 662, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 703, 0, 0, 0, 0, 0, 2505, 0, - 714, 0, 0, 718, 0, 715, 716, 0, 0, 0, - 717, 0, 0, 0, 0, 0, 0, 0, 558, 0, - 0, 0, 0, 0, 0, 2538, 745, 746, 608, 0, - 0, 0, 1739, 0, 0, 0, 797, 0, 0, 0, - 0, 0, 0, 185, 0, 0, 559, 0, 0, 600, - 0, 0, 0, 0, 0, 0, 559, 0, 0, 0, - 0, 0, 0, 0, 559, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1012, 0, 817, - 0, 0, 0, 0, 0, 2600, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 835, 0, 835, 0, 0, - 0, 0, 0, 0, 0, 559, 0, 0, 752, 753, - 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, - 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, - 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, - 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, + 0, 0, 616, 187, 1941, 0, 0, 0, 0, 0, + 0, 0, 0, 1945, 0, 1948, 0, 0, 1722, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 616, + 0, 0, 0, 0, 0, 2711, 0, 0, 0, 0, + 0, 616, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2727, 2729, 2731, + 0, 0, 0, 0, 0, 616, 616, 0, 0, 0, + 0, 0, 2737, 0, 0, 0, 0, 2741, 2742, 2743, + 0, 0, 0, 0, 2746, 0, 0, 0, 0, 616, + 2748, 0, 0, 2752, 2753, 2754, 2755, 2756, 2757, 2758, + 2759, 2760, 2761, 187, 616, 0, 0, 0, 0, 0, + 0, 2768, 0, 0, 0, 0, 2772, 0, 2773, 2775, + 0, 2778, 0, 0, 0, 0, 2784, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 616, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2806, 2807, 0, 0, 2811, 0, 0, 0, 616, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2823, 2824, 0, 0, 616, 0, 616, + 0, 0, 0, 0, 1722, 0, 0, 0, 0, 0, + 0, 2098, 0, 0, 0, 0, 0, 0, 2112, 2113, + 0, 0, 2117, 0, 0, 0, 0, 0, 0, 0, + 0, 2120, 0, 0, 0, 0, 0, 0, 2123, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2126, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2890, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1490, 0, + 0, 0, 2910, 0, 0, 0, 1250, 0, 0, 0, + 0, 0, 0, 2912, 0, 0, 0, 0, 0, 1210, + 0, 1210, 1210, 0, 0, 0, 0, 2921, 0, 0, + 0, 2922, 0, 1297, 0, 0, 0, 2926, 79, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2934, + 0, 0, 0, 0, 0, 0, 0, 2941, 0, 0, + 0, 0, 0, 0, 0, 827, 1287, 1288, 1289, 0, + 1292, 0, 1293, 1294, 1295, 0, 1298, 1300, 1300, 0, + 1300, 1304, 1304, 1306, 1307, 1308, 1309, 1310, 1311, 1312, + 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, + 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, + 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, + 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, + 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, + 1478, 1363, 0, 1365, 1366, 1367, 1368, 1369, 0, 0, + 0, 0, 0, 1304, 1304, 1304, 1304, 1304, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1376, 1377, 1378, + 1379, 0, 0, 3062, 0, 0, 0, 0, 0, 0, + 0, 0, 3069, 1391, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2317, 0, 0, 0, 0, + 3079, 3080, 3081, 0, 3082, 3083, 0, 0, 0, 0, + 3086, 0, 3087, 0, 3089, 3092, 0, 0, 0, 0, + 0, 0, 0, 1491, 0, 0, 1437, 0, 0, 0, + 3101, 3103, 3104, 3106, 3109, 0, 1397, 0, 0, 0, + 0, 0, 827, 0, 0, 0, 827, 0, 0, 0, + 0, 0, 827, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2365, 0, 0, 0, 0, 0, + 0, 0, 3139, 0, 0, 0, 0, 0, 0, 0, + 0, 1504, 1507, 1508, 1509, 1510, 1511, 1512, 0, 1513, + 1514, 1515, 1516, 1517, 1492, 1493, 1494, 1495, 1476, 1477, + 1505, 0, 1479, 0, 1480, 1481, 1482, 1483, 1484, 1485, + 1486, 1487, 1488, 0, 0, 1489, 1496, 1497, 1498, 1499, + 1500, 1501, 1502, 1503, 0, 722, 0, 0, 0, 2413, + 2414, 2415, 2416, 2417, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1722, 2426, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3161, 0, 0, 2434, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3166, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 614, 0, 0, + 0, 0, 0, 0, 0, 3182, 0, 0, 0, 0, + 0, 3183, 3184, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1525, 0, 0, 0, 0, 0, 0, + 0, 182, 0, 3195, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 870, 0, 0, 1028, 0, 1035, + 0, 0, 0, 0, 0, 121, 0, 143, 0, 0, + 0, 0, 0, 0, 0, 1506, 0, 0, 164, 0, + 0, 0, 0, 0, 0, 3230, 3232, 3234, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 153, + 3262, 0, 0, 0, 0, 142, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 3268, + 0, 0, 0, 0, 0, 0, 161, 0, 162, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 3280, + 0, 0, 0, 0, 130, 131, 152, 151, 181, 1674, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 3301, 3303, 3305, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3325, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2640, 0, 0, 0, 0, 0, 0, + 3338, 3339, 0, 0, 0, 0, 0, 0, 1210, 0, + 0, 0, 1729, 1730, 1731, 1732, 0, 0, 0, 2678, + 0, 0, 1210, 1210, 0, 0, 0, 147, 128, 154, + 135, 127, 2687, 148, 149, 0, 0, 0, 0, 165, + 0, 0, 0, 0, 0, 0, 0, 0, 171, 136, + 2703, 0, 0, 2706, 854, 1774, 1775, 0, 0, 0, + 854, 854, 1779, 139, 137, 132, 133, 134, 138, 0, + 0, 0, 0, 0, 0, 129, 0, 0, 0, 0, + 0, 0, 0, 0, 140, 0, 0, 0, 0, 0, + 0, 0, 1830, 1831, 1832, 1833, 1834, 1835, 1837, 1841, + 1842, 0, 1848, 1849, 1850, 1851, 1852, 1853, 1854, 1855, + 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1864, 1865, + 1866, 1867, 1868, 1869, 1870, 0, 1872, 0, 1878, 1879, + 854, 0, 854, 854, 854, 854, 854, 182, 0, 0, + 0, 0, 0, 1893, 1894, 1895, 1896, 0, 1542, 0, + 0, 0, 0, 0, 0, 0, 0, 2786, 0, 0, + 0, 121, 0, 143, 0, 156, 0, 0, 0, 0, + 0, 0, 0, 0, 164, 0, 0, 0, 854, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1935, 1936, 0, 0, 0, 153, 0, 0, 0, 0, + 0, 142, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1972, 0, + 0, 0, 161, 0, 162, 0, 0, 0, 0, 0, + 0, 0, 0, 150, 0, 2849, 0, 0, 0, 0, + 1546, 1547, 152, 151, 181, 0, 0, 0, 0, 0, + 1955, 0, 0, 0, 2864, 0, 0, 2865, 2866, 2867, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2010, 0, 0, + 0, 0, 0, 0, 0, 144, 0, 0, 145, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 870, 0, 870, 870, + 0, 0, 0, 0, 0, 0, 0, 0, 157, 0, + 0, 1036, 0, 1220, 1222, 169, 0, 0, 0, 0, + 0, 0, 78, 39, 40, 80, 0, 2258, 0, 0, + 765, 766, 0, 147, 1548, 154, 1769, 1545, 0, 148, + 149, 0, 84, 0, 1036, 165, 43, 69, 70, 0, + 67, 71, 0, 0, 171, 0, 0, 177, 0, 68, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 56, 158, + 163, 160, 166, 167, 168, 170, 172, 173, 174, 175, + 87, 0, 0, 0, 0, 176, 178, 179, 180, 0, + 0, 0, 772, 773, 774, 775, 776, 777, 778, 779, + 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, + 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, + 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, + 810, 811, 812, 813, 0, 0, 0, 1386, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2682, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1915, 2690, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2950, 2951, 0, + 0, 0, 0, 0, 0, 1399, 1400, 0, 0, 0, + 0, 0, 2135, 0, 0, 0, 0, 0, 0, 2158, + 0, 0, 0, 0, 0, 0, 46, 49, 52, 51, + 54, 0, 66, 0, 0, 75, 72, 0, 0, 150, + 1443, 0, 0, 0, 0, 0, 0, 0, 0, 870, + 0, 0, 0, 0, 0, 1463, 0, 0, 55, 83, + 82, 0, 0, 64, 65, 53, 0, 0, 0, 0, + 0, 73, 74, 1297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 144, 0, 0, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 57, 58, 0, 59, 60, 61, 62, 854, 854, + 0, 0, 0, 0, 157, 0, 0, 0, 0, 0, + 0, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 850, 0, 850, 850, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1016, 0, - 1200, 1202, 0, 0, 0, 0, 0, 0, 714, 0, - 651, 718, 653, 715, 716, 0, 649, 652, 717, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1016, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 660, 661, 2943, 2947, 2948, 2949, - 2952, 2953, 2954, 2962, 2964, 685, 2963, 2965, 2966, 2967, - 2970, 2971, 2972, 2973, 2968, 2969, 2974, 2937, 2941, 2938, - 2939, 2940, 2942, 2975, 2976, 2977, 2978, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 719, - 0, 720, 0, 0, 724, 0, 2821, 0, 726, 725, - 0, 727, 699, 698, 0, 0, 721, 722, 0, 723, + 0, 0, 0, 2232, 0, 0, 0, 0, 0, 0, + 0, 3160, 0, 177, 1437, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2845, - 0, 0, 0, 0, 1356, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 827, 158, 163, 160, 166, 167, + 168, 170, 172, 173, 174, 175, 0, 0, 0, 0, + 0, 176, 178, 179, 180, 2294, 2295, 0, 0, 0, + 0, 0, 0, 0, 2314, 0, 2315, 2316, 0, 0, + 0, 0, 81, 0, 0, 0, 0, 0, 1028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1386, 0, 0, 0, 0, 0, 1571, 1571, 0, + 1571, 0, 1571, 1571, 0, 1580, 1571, 1571, 1571, 1571, + 1571, 0, 0, 0, 0, 0, 0, 0, 1386, 0, + 0, 1386, 1028, 0, 0, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2863, 0, 2864, - 0, 0, 0, 0, 2867, 2868, 0, 0, 0, 0, - 0, 0, 1369, 1370, 0, 0, 0, 0, 2875, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2095, + 0, 0, 0, 0, 0, 0, 1647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2892, 0, 0, 2893, 0, 2894, 2895, 1413, 2896, 0, - 0, 0, 0, 0, 0, 0, 850, 0, 0, 0, - 0, 0, 1433, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2921, 0, 0, 0, 0, 0, 0, - 1131, 0, 1137, 0, 2929, 1139, 0, 2931, 0, 0, + 0, 0, 1669, 0, 0, 2392, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2935, 0, 0, 0, 0, 0, 0, 559, 0, - 559, 0, 0, 559, 0, 0, 0, 0, 0, 2982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2438, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 854, 0, 0, 870, 0, 0, 0, 0, + 2461, 2462, 0, 0, 2464, 0, 0, 0, 0, 870, + 870, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2473, 2474, 2475, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2480, 2481, + 2482, 0, 0, 1848, 2484, 0, 2485, 2486, 0, 0, + 0, 2493, 2494, 0, 0, 0, 0, 0, 0, 1848, + 1848, 1848, 1848, 1848, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1764, 0, 0, 0, 854, + 0, 0, 0, 0, 0, 0, 2521, 2522, 2523, 2524, + 0, 0, 0, 0, 1386, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2506, 0, 0, 0, 0, 0, 1806, 1807, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2555, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1955, 0, + 870, 0, 0, 2588, 0, 0, 1892, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2182, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2564, 723, 79, 0, 0, 1955, 1955, 1955, 1955, + 1955, 0, 0, 0, 0, 0, 0, 1915, 0, 0, + 0, 0, 0, 2314, 827, 0, 0, 0, 1955, 0, + 0, 1955, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2650, 1927, 0, 0, 0, 0, 0, + 0, 0, 0, 185, 0, 0, 569, 0, 1443, 610, + 0, 870, 0, 0, 0, 0, 569, 0, 0, 870, + 0, 0, 870, 0, 569, 0, 0, 0, 0, 0, + 0, 0, 0, 1028, 0, 0, 0, 0, 0, 837, + 0, 0, 0, 0, 2672, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2680, 855, 0, 855, 0, 0, + 0, 0, 0, 0, 0, 569, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2204, 0, 0, 0, 0, 0, 0, + 0, 0, 2732, 0, 0, 0, 0, 0, 1035, 0, + 0, 0, 0, 0, 0, 0, 2740, 0, 0, 0, + 0, 87, 0, 2714, 0, 0, 0, 757, 765, 766, + 767, 768, 769, 758, 760, 1028, 0, 0, 759, 0, + 0, 1035, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 762, 770, 771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 807, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3062, 0, 0, 0, 0, - 0, 0, 2244, 2245, 0, 0, 0, 0, 0, 0, - 0, 2264, 0, 2265, 2266, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1008, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1356, 0, - 0, 0, 0, 0, 1541, 1541, 0, 1541, 0, 1541, - 1541, 0, 1550, 1541, 1541, 1541, 1541, 1541, 0, 0, - 0, 0, 0, 0, 1357, 1356, 0, 0, 1356, 1008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1028, 0, + 1764, 0, 0, 0, 0, 0, 1764, 1764, 2684, 2685, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, + 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, + 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, + 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, + 812, 813, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1617, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3105, 559, 1639, - 0, 0, 2342, 0, 0, 0, 0, 0, 0, 0, - 0, 3118, 0, 1420, 3119, 0, 3120, 0, 817, 0, + 0, 0, 2832, 0, 2871, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2895, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 559, 850, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 850, 850, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2913, 0, 2914, 0, 0, + 0, 0, 2917, 2918, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2925, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2942, 0, + 0, 2943, 0, 2944, 2945, 0, 2946, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3215, 1356, 3216, 0, 3217, 0, 0, 0, 0, 2456, - 0, 0, 0, 0, 0, 1766, 1767, 0, 0, 0, + 0, 2971, 0, 734, 0, 0, 738, 0, 735, 736, + 0, 0, 2979, 737, 0, 2981, 0, 0, 0, 2947, + 0, 2951, 2952, 0, 0, 0, 0, 0, 0, 2985, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 870, 2564, 0, 79, 3042, 2564, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1438, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1915, 0, 850, 0, 0, - 0, 0, 0, 1852, 0, 0, 0, 0, 559, 0, - 0, 3263, 0, 3264, 0, 0, 0, 0, 2514, 0, - 79, 0, 0, 1915, 1915, 1915, 1915, 1915, 0, 0, - 0, 0, 0, 0, 1875, 0, 0, 0, 0, 0, - 2264, 807, 0, 0, 0, 1915, 0, 0, 1915, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1357, 0, - 0, 1887, 0, 0, 0, 1575, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1413, 0, 0, 850, 0, - 0, 0, 0, 0, 0, 1357, 850, 0, 1357, 850, - 0, 0, 0, 559, 0, 0, 0, 1619, 0, 0, - 1008, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1591, 2622, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2630, 0, 0, 0, 559, 0, 0, 0, 1651, - 0, 0, 0, 0, 0, 0, 1655, 0, 0, 0, - 0, 1641, 0, 0, 0, 0, 0, 1666, 1667, 1668, - 1669, 1670, 1671, 1672, 0, 1015, 0, 559, 0, 0, - 0, 0, 0, 0, 559, 0, 0, 0, 0, 0, - 2664, 0, 0, 1664, 1665, 559, 559, 559, 559, 559, - 559, 559, 1008, 0, 0, 0, 1692, 0, 1015, 0, + 1927, 0, 0, 0, 0, 0, 2263, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 569, 0, + 569, 0, 0, 569, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1008, 0, 1734, 0, 0, - 0, 0, 0, 1734, 1734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3122, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2361, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 835, 0, 0, 0, 0, 0, 835, 835, 0, 0, - 0, 1357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1927, 0, 0, 0, 0, + 0, 0, 2386, 0, 0, 0, 0, 0, 0, 0, + 0, 2391, 2564, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1306, 1307, 1308, 1309, + 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, + 1320, 1321, 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, + 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, + 1343, 1344, 1345, 1346, 1348, 1349, 1350, 1351, 1352, 1353, + 1354, 1355, 1356, 1357, 1376, 1377, 1378, 1379, 0, 0, + 0, 0, 0, 0, 0, 3165, 0, 0, 0, 0, + 0, 3149, 0, 0, 1387, 1764, 0, 0, 0, 3178, + 0, 0, 3179, 0, 3180, 0, 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1915, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2782, - 0, 0, 0, 0, 0, 0, 835, 1641, 835, 835, - 835, 835, 835, 0, 0, 0, 2087, 0, 0, 87, - 0, 0, 0, 0, 0, 737, 745, 746, 747, 748, - 749, 738, 740, 0, 0, 0, 739, 0, 0, 1591, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 742, - 750, 751, 0, 1901, 835, 0, 0, 0, 0, 0, - 0, 0, 1905, 0, 1908, 0, 0, 1692, 817, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 559, 0, 0, 0, 0, 0, 0, 1641, 0, - 559, 0, 559, 0, 559, 1923, 2634, 2635, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 752, 753, - 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, - 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, - 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, - 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1386, 569, 1386, + 0, 0, 1386, 0, 0, 0, 0, 1386, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 837, 2507, + 0, 0, 0, 0, 0, 0, 3196, 0, 0, 870, + 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 569, 0, 0, 0, 0, 0, 0, 3260, 0, + 1571, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2540, + 0, 0, 0, 0, 0, 0, 0, 0, 3275, 0, + 3276, 0, 3277, 870, 0, 0, 0, 1386, 0, 0, + 2567, 1571, 1386, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 87, 0, 0, 0, 0, 3279, + 757, 765, 766, 767, 768, 769, 758, 760, 0, 0, + 0, 759, 0, 0, 0, 0, 0, 0, 0, 3323, + 0, 3324, 0, 0, 762, 770, 771, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1028, 0, 0, 1386, + 0, 0, 0, 0, 1927, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2684, 2685, 0, 0, 0, 0, 0, 569, 0, + 0, 0, 0, 772, 773, 774, 775, 776, 777, 778, + 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, + 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, + 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, + 809, 810, 811, 812, 813, 0, 0, 0, 1387, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1387, 0, 0, 1387, 0, + 0, 0, 0, 569, 0, 0, 0, 0, 0, 0, + 0, 0, 2764, 0, 0, 0, 0, 0, 0, 0, + 1621, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 569, 2540, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1671, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 569, 0, 0, + 0, 0, 0, 0, 569, 0, 0, 0, 0, 0, + 0, 0, 0, 1694, 1695, 569, 569, 569, 569, 569, + 569, 569, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 569, 765, 766, 0, 0, 0, + 0, 1769, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1927, 1927, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 855, 0, 0, 0, 0, 0, 855, 855, 0, 0, + 0, 1387, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2903, 2904, 2905, 2906, 0, 0, 772, 773, 774, + 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, + 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, + 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, + 805, 806, 807, 808, 809, 810, 811, 812, 813, 0, + 0, 1386, 0, 1386, 0, 0, 855, 1671, 855, 855, + 855, 855, 855, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1621, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 855, 0, 0, 0, 0, 1386, + 0, 0, 0, 0, 2975, 0, 2977, 0, 837, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 569, 0, 0, 0, 0, 0, 0, 1671, 0, + 569, 0, 569, 0, 569, 1963, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1927, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3064, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 870, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3110, 0, 0, 0, 3110, 3110, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1927, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 3004, + 3006, 3005, 3015, 3016, 3017, 3018, 3019, 3020, 3021, 682, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 569, 0, 0, 0, 0, 0, 1927, 569, 0, + 0, 0, 0, 0, 0, 569, 569, 0, 0, 569, + 0, 2119, 0, 0, 0, 0, 0, 0, 569, 0, + 0, 0, 0, 0, 0, 569, 0, 0, 0, 0, + 1927, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 569, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3189, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1386, 0, 3193, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 870, 870, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3236, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 3244, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3189, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 3010, 3011, 0, 0, 0, 0, 1927, 0, 0, + 0, 0, 0, 0, 855, 855, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2764, 0, 3244, 0, 0, + 1671, 0, 0, 0, 569, 0, 0, 0, 0, 0, + 0, 0, 1621, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 734, 0, 661, 738, 663, 735, 736, 0, + 659, 662, 737, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 569, 0, + 0, 0, 569, 0, 0, 0, 0, 0, 680, 681, + 3003, 3007, 3008, 3009, 3012, 3013, 3014, 3022, 3024, 705, + 3023, 3025, 3026, 3027, 3030, 3031, 3032, 3033, 3028, 3029, + 3034, 2987, 2991, 2988, 2989, 2990, 3002, 2992, 2993, 2994, + 2995, 2996, 2997, 2998, 2999, 3000, 3001, 3035, 3036, 3037, + 3038, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 739, 0, 740, 0, 0, 744, 0, + 0, 569, 746, 745, 0, 747, 719, 718, 2371, 0, + 741, 742, 0, 743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2897, 0, 2901, 2902, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 850, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2514, 0, 79, 0, 2514, 0, 1887, 0, 0, - 0, 0, 0, 2213, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 569, 569, 569, 569, + 569, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 569, 569, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1692, 0, 0, 0, 0, 0, 0, - 2058, 0, 0, 0, 2994, 0, 0, 2072, 2073, 0, - 0, 2077, 0, 0, 0, 0, 0, 0, 0, 0, - 2080, 559, 0, 0, 0, 0, 0, 2083, 559, 0, - 0, 0, 0, 0, 0, 559, 559, 0, 0, 559, - 0, 2079, 0, 0, 0, 2311, 0, 0, 559, 0, - 0, 0, 0, 2086, 0, 559, 0, 0, 0, 0, + 0, 0, 0, 569, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 855, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1887, 0, 0, 0, 0, 0, 0, 2336, - 0, 559, 0, 0, 0, 0, 0, 0, 2341, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2514, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1286, 1287, 1288, 1289, 1290, 1291, 1295, - 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, - 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, - 1316, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, - 1327, 1346, 1347, 1348, 1349, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3089, 0, - 0, 0, 1734, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1356, 0, 1356, 0, 0, 1356, - 0, 0, 0, 0, 1356, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2457, 0, 0, 0, - 0, 0, 0, 0, 835, 835, 850, 0, 0, 0, - 0, 0, 0, 3136, 0, 0, 0, 0, 79, 0, - 1641, 0, 0, 0, 559, 0, 0, 1541, 0, 0, - 0, 0, 1591, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2490, 0, 0, 0, - 0, 0, 0, 0, 2267, 0, 0, 0, 0, 0, - 850, 0, 0, 0, 1356, 0, 0, 2517, 1541, 1356, - 0, 0, 0, 0, 0, 0, 0, 0, 559, 0, - 0, 0, 559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1387, 0, 1387, 0, 0, 1387, + 0, 0, 0, 0, 1387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3219, 0, 0, 0, - 0, 0, 0, 2315, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 855, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 559, 0, 1008, 0, 0, 1356, 0, 2321, 0, - 0, 1887, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2363, 2364, - 2365, 2366, 2367, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1692, - 2376, 0, 0, 0, 0, 0, 559, 559, 559, 559, - 559, 0, 0, 0, 0, 2384, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 559, 559, 0, + 0, 0, 569, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 559, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 835, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2714, + 0, 0, 0, 0, 1387, 0, 0, 0, 0, 1387, + 569, 569, 569, 569, 569, 0, 0, 0, 0, 0, + 0, 0, 2583, 0, 0, 0, 0, 569, 0, 0, + 1621, 0, 569, 0, 0, 569, 2594, 1671, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2490, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1357, 0, 1357, 0, 0, 1357, - 0, 0, 0, 0, 1357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 835, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 569, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1387, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 569, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 569, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 569, 0, 0, + 569, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1357, 0, 0, 0, 0, 1357, - 559, 559, 559, 559, 559, 0, 0, 0, 0, 0, - 0, 0, 2533, 0, 1887, 1887, 0, 559, 0, 0, - 1591, 0, 559, 0, 0, 559, 2544, 1641, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2590, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2853, 2854, - 2855, 2856, 0, 0, 0, 0, 0, 0, 2628, 0, - 559, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2637, 0, 0, 0, 0, 1357, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 559, 0, 0, 2653, - 0, 0, 2656, 0, 0, 0, 0, 0, 1356, 559, - 1356, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 559, 0, 0, - 559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1356, 0, 0, 0, - 0, 2925, 0, 2927, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 559, 1887, 0, 0, 0, 0, + 0, 0, 0, 0, 569, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3004, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 850, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 559, 2799, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3050, 0, 0, 2814, 3050, 3050, 2815, 2816, 2817, 0, - 0, 0, 559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 559, 0, 1887, 559, 559, 559, 0, 0, 0, + 0, 0, 0, 569, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 569, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 569, 0, 0, 569, 569, 569, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1887, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1887, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1357, 0, - 1357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3129, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1356, 0, 3133, 1591, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1357, 0, 0, 0, - 850, 850, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3176, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1387, 0, + 1387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1591, 0, - 0, 0, 3129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1887, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1621, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2714, 0, 3184, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2315,3743 +2422,3818 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1621, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3100, 0, 0, 0, 0, 0, 0, 0, 0, 1591, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1357, 0, 0, 368, 0, 0, - 986, 971, 475, 0, 914, 989, 883, 902, 999, 905, - 908, 950, 862, 928, 387, 899, 855, 887, 857, 894, - 858, 885, 916, 255, 882, 973, 932, 988, 340, 252, - 864, 888, 401, 904, 197, 952, 449, 239, 350, 347, - 483, 267, 258, 254, 237, 295, 357, 399, 469, 393, - 995, 344, 938, 0, 459, 372, 0, 0, 1591, 918, - 977, 926, 964, 913, 951, 872, 937, 990, 900, 947, - 991, 301, 235, 303, 196, 384, 460, 271, 0, 0, - 0, 0, 188, 189, 190, 0, 3156, 0, 3157, 0, - 0, 0, 0, 0, 0, 226, 0, 233, 325, 334, - 333, 314, 315, 317, 319, 324, 331, 337, 896, 944, - 985, 897, 946, 250, 299, 257, 249, 480, 996, 976, - 861, 925, 984, 0, 0, 217, 987, 920, 0, 949, - 0, 1002, 856, 940, 0, 859, 863, 998, 980, 891, - 260, 0, 0, 0, 0, 0, 0, 0, 917, 927, - 961, 965, 911, 0, 0, 0, 0, 0, 0, 0, - 889, 0, 936, 0, 0, 0, 868, 860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 915, 0, 0, 0, 0, 871, 0, 890, 962, 0, - 854, 281, 865, 373, 242, 0, 969, 979, 912, 516, - 983, 910, 909, 956, 869, 975, 903, 339, 867, 308, - 192, 213, 0, 901, 383, 426, 436, 974, 886, 895, - 240, 893, 434, 397, 499, 221, 269, 423, 403, 432, - 410, 272, 935, 954, 433, 345, 485, 417, 496, 517, - 518, 248, 377, 507, 473, 513, 531, 214, 245, 391, - 466, 502, 456, 369, 481, 482, 307, 455, 279, 195, - 343, 523, 212, 442, 230, 219, 487, 505, 274, 421, - 204, 468, 494, 227, 446, 0, 0, 533, 206, 492, - 465, 365, 304, 305, 205, 0, 422, 253, 277, 243, - 386, 489, 490, 241, 534, 216, 512, 208, 1192, 511, - 379, 484, 493, 366, 355, 207, 491, 364, 354, 310, - 329, 330, 265, 288, 415, 348, 416, 289, 375, 374, - 376, 199, 503, 0, 200, 0, 461, 504, 535, 222, - 223, 225, 881, 264, 268, 276, 278, 284, 285, 293, - 341, 390, 414, 412, 418, 970, 479, 497, 508, 515, - 521, 522, 524, 525, 526, 527, 528, 530, 529, 378, - 291, 457, 309, 346, 959, 1001, 396, 435, 228, 501, - 458, 876, 880, 874, 941, 875, 930, 931, 877, 992, - 993, 994, 536, 537, 538, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, - 0, 963, 870, 0, 878, 879, 972, 981, 982, 554, - 356, 448, 498, 311, 323, 326, 316, 335, 0, 336, - 312, 313, 318, 320, 321, 322, 327, 328, 332, 338, - 236, 202, 362, 370, 478, 292, 427, 428, 429, 430, - 934, 191, 209, 342, 997, 419, 273, 532, 510, 506, - 198, 211, 873, 247, 884, 892, 0, 898, 906, 907, - 919, 921, 922, 923, 924, 942, 943, 945, 953, 955, - 958, 960, 967, 978, 1000, 193, 194, 201, 210, 220, - 224, 231, 246, 261, 263, 270, 282, 287, 290, 296, - 297, 300, 306, 352, 358, 359, 360, 361, 380, 381, - 382, 385, 388, 389, 392, 394, 395, 398, 402, 406, - 407, 408, 409, 411, 413, 420, 425, 437, 438, 439, - 440, 441, 444, 445, 450, 451, 452, 453, 454, 462, - 463, 467, 486, 488, 500, 514, 519, 443, 283, 495, - 520, 0, 351, 933, 939, 353, 266, 286, 298, 948, - 509, 464, 215, 431, 275, 238, 966, 968, 203, 234, - 218, 244, 259, 262, 302, 363, 371, 400, 405, 280, - 256, 232, 424, 229, 447, 470, 471, 472, 474, 367, - 251, 404, 929, 957, 349, 476, 477, 294, 368, 0, - 0, 986, 971, 475, 0, 914, 989, 883, 902, 999, - 905, 908, 950, 862, 928, 387, 899, 855, 887, 857, - 894, 858, 885, 916, 255, 882, 973, 932, 988, 340, - 252, 864, 888, 401, 904, 197, 952, 449, 239, 350, - 347, 483, 267, 258, 254, 237, 295, 357, 399, 469, - 393, 995, 344, 938, 0, 459, 372, 0, 0, 0, - 918, 977, 926, 964, 913, 951, 872, 937, 990, 900, - 947, 991, 301, 235, 303, 196, 384, 460, 271, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1621, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 569, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1387, 0, 0, 371, 0, 0, + 1006, 991, 482, 0, 934, 1009, 903, 922, 1019, 925, + 928, 970, 882, 948, 390, 919, 875, 907, 877, 914, + 878, 905, 936, 258, 902, 993, 952, 1008, 343, 255, + 884, 908, 404, 924, 197, 972, 452, 242, 353, 350, + 490, 270, 261, 257, 240, 298, 360, 402, 472, 396, + 1015, 347, 958, 0, 462, 375, 0, 0, 1621, 938, + 997, 946, 984, 933, 971, 892, 957, 1010, 920, 967, + 1011, 304, 238, 306, 196, 387, 463, 274, 0, 0, + 0, 0, 188, 189, 190, 0, 3216, 0, 3217, 0, + 0, 0, 0, 0, 0, 229, 0, 236, 328, 337, + 336, 317, 318, 320, 322, 327, 334, 340, 916, 964, + 1005, 917, 966, 253, 302, 260, 252, 487, 1016, 996, + 881, 945, 1004, 0, 0, 220, 1007, 940, 0, 969, + 0, 1022, 876, 960, 0, 879, 883, 1018, 1000, 911, + 263, 0, 0, 0, 0, 0, 0, 0, 937, 947, + 981, 985, 931, 0, 0, 0, 0, 0, 0, 0, + 909, 0, 956, 0, 0, 0, 888, 880, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 935, 0, 0, 0, 0, 891, 0, 910, 982, 0, + 874, 284, 885, 376, 245, 0, 989, 999, 932, 526, + 1003, 930, 929, 976, 889, 995, 923, 342, 887, 311, + 192, 216, 0, 921, 386, 429, 439, 994, 906, 915, + 243, 913, 437, 400, 506, 224, 272, 426, 406, 435, + 413, 275, 955, 974, 436, 348, 492, 420, 503, 527, + 528, 251, 380, 514, 476, 522, 541, 217, 248, 394, + 469, 509, 459, 372, 488, 489, 310, 458, 282, 195, + 346, 533, 215, 445, 233, 222, 494, 512, 277, 424, + 204, 471, 501, 230, 449, 0, 0, 543, 206, 499, + 468, 368, 307, 308, 205, 0, 425, 256, 280, 246, + 389, 496, 497, 244, 544, 219, 521, 211, 1212, 520, + 382, 491, 500, 369, 358, 210, 498, 367, 357, 313, + 332, 333, 268, 291, 418, 351, 419, 292, 378, 377, + 379, 199, 510, 0, 200, 0, 464, 511, 545, 225, + 226, 228, 901, 267, 271, 279, 281, 287, 288, 296, + 344, 393, 417, 415, 421, 990, 486, 504, 515, 525, + 531, 532, 534, 535, 536, 537, 538, 540, 539, 381, + 294, 460, 312, 349, 979, 1021, 399, 438, 231, 508, + 461, 896, 900, 894, 961, 895, 950, 951, 897, 1012, + 1013, 1014, 546, 547, 548, 549, 550, 551, 552, 553, + 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, + 0, 983, 890, 0, 898, 899, 992, 1001, 1002, 564, + 359, 451, 505, 314, 326, 329, 319, 338, 0, 339, + 315, 316, 321, 323, 324, 325, 330, 331, 335, 341, + 239, 202, 365, 373, 485, 295, 207, 208, 209, 478, + 479, 480, 481, 518, 519, 523, 430, 431, 432, 433, + 954, 191, 212, 345, 1017, 422, 276, 542, 517, 513, + 198, 214, 893, 250, 904, 912, 0, 918, 926, 927, + 939, 941, 942, 943, 944, 962, 963, 965, 973, 975, + 978, 980, 987, 998, 1020, 193, 194, 201, 213, 223, + 227, 234, 249, 264, 266, 273, 285, 290, 293, 299, + 300, 303, 309, 355, 361, 362, 363, 364, 383, 384, + 385, 388, 391, 392, 395, 397, 398, 401, 405, 409, + 410, 411, 412, 414, 416, 423, 428, 440, 441, 442, + 443, 444, 447, 448, 453, 454, 455, 456, 457, 465, + 466, 470, 493, 495, 507, 524, 529, 446, 286, 502, + 530, 0, 354, 953, 959, 356, 269, 289, 301, 968, + 516, 467, 218, 434, 278, 241, 986, 988, 203, 237, + 221, 247, 262, 265, 305, 366, 374, 403, 408, 283, + 259, 235, 427, 232, 450, 473, 474, 475, 477, 370, + 254, 407, 949, 977, 352, 483, 484, 297, 371, 0, + 0, 1006, 991, 482, 0, 934, 1009, 903, 922, 1019, + 925, 928, 970, 882, 948, 390, 919, 875, 907, 877, + 914, 878, 905, 936, 258, 902, 993, 952, 1008, 343, + 255, 884, 908, 404, 924, 197, 972, 452, 242, 353, + 350, 490, 270, 261, 257, 240, 298, 360, 402, 472, + 396, 1015, 347, 958, 0, 462, 375, 0, 0, 0, + 938, 997, 946, 984, 933, 971, 892, 957, 1010, 920, + 967, 1011, 304, 238, 306, 196, 387, 463, 274, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 226, 0, 233, 325, - 334, 333, 314, 315, 317, 319, 324, 331, 337, 896, - 944, 985, 897, 946, 250, 299, 257, 249, 480, 996, - 976, 861, 925, 984, 0, 0, 217, 987, 920, 0, - 949, 0, 1002, 856, 940, 0, 859, 863, 998, 980, - 891, 260, 0, 0, 0, 0, 0, 0, 0, 917, - 927, 961, 965, 911, 0, 0, 0, 0, 0, 2545, - 0, 889, 0, 936, 0, 0, 0, 868, 860, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 915, 0, 0, 0, 0, 871, 0, 890, 962, - 0, 854, 281, 865, 373, 242, 0, 969, 979, 912, - 516, 983, 910, 909, 956, 869, 975, 903, 339, 867, - 308, 192, 213, 0, 901, 383, 426, 436, 974, 886, - 895, 240, 893, 434, 397, 499, 221, 269, 423, 403, - 432, 410, 272, 935, 954, 433, 345, 485, 417, 496, - 517, 518, 248, 377, 507, 473, 513, 531, 214, 245, - 391, 466, 502, 456, 369, 481, 482, 307, 455, 279, - 195, 343, 523, 212, 442, 230, 219, 487, 505, 274, - 421, 204, 468, 494, 227, 446, 0, 0, 533, 206, - 492, 465, 365, 304, 305, 205, 0, 422, 253, 277, - 243, 386, 489, 490, 241, 534, 216, 512, 208, 1192, - 511, 379, 484, 493, 366, 355, 207, 491, 364, 354, - 310, 329, 330, 265, 288, 415, 348, 416, 289, 375, - 374, 376, 199, 503, 0, 200, 0, 461, 504, 535, - 222, 223, 225, 881, 264, 268, 276, 278, 284, 285, - 293, 341, 390, 414, 412, 418, 970, 479, 497, 508, - 515, 521, 522, 524, 525, 526, 527, 528, 530, 529, - 378, 291, 457, 309, 346, 959, 1001, 396, 435, 228, - 501, 458, 876, 880, 874, 941, 875, 930, 931, 877, - 992, 993, 994, 536, 537, 538, 539, 540, 541, 542, - 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, - 553, 0, 963, 870, 0, 878, 879, 972, 981, 982, - 554, 356, 448, 498, 311, 323, 326, 316, 335, 0, - 336, 312, 313, 318, 320, 321, 322, 327, 328, 332, - 338, 236, 202, 362, 370, 478, 292, 427, 428, 429, - 430, 934, 191, 209, 342, 997, 419, 273, 532, 510, - 506, 198, 211, 873, 247, 884, 892, 0, 898, 906, - 907, 919, 921, 922, 923, 924, 942, 943, 945, 953, - 955, 958, 960, 967, 978, 1000, 193, 194, 201, 210, - 220, 224, 231, 246, 261, 263, 270, 282, 287, 290, - 296, 297, 300, 306, 352, 358, 359, 360, 361, 380, - 381, 382, 385, 388, 389, 392, 394, 395, 398, 402, - 406, 407, 408, 409, 411, 413, 420, 425, 437, 438, - 439, 440, 441, 444, 445, 450, 451, 452, 453, 454, - 462, 463, 467, 486, 488, 500, 514, 519, 443, 283, - 495, 520, 0, 351, 933, 939, 353, 266, 286, 298, - 948, 509, 464, 215, 431, 275, 238, 966, 968, 203, - 234, 218, 244, 259, 262, 302, 363, 371, 400, 405, - 280, 256, 232, 424, 229, 447, 470, 471, 472, 474, - 367, 251, 404, 929, 957, 349, 476, 477, 294, 368, - 0, 0, 986, 971, 475, 0, 914, 989, 883, 902, - 999, 905, 908, 950, 862, 928, 387, 899, 855, 887, - 857, 894, 858, 885, 916, 255, 882, 973, 932, 988, - 340, 252, 864, 888, 401, 904, 197, 952, 449, 239, - 350, 347, 483, 267, 258, 254, 237, 295, 357, 399, - 469, 393, 995, 344, 938, 0, 459, 372, 0, 0, - 0, 918, 977, 926, 964, 913, 951, 872, 937, 990, - 900, 947, 991, 301, 235, 303, 196, 384, 460, 271, + 0, 0, 0, 0, 0, 0, 229, 0, 236, 328, + 337, 336, 317, 318, 320, 322, 327, 334, 340, 916, + 964, 1005, 917, 966, 253, 302, 260, 252, 487, 1016, + 996, 881, 945, 1004, 0, 0, 220, 1007, 940, 0, + 969, 0, 1022, 876, 960, 0, 879, 883, 1018, 1000, + 911, 263, 0, 0, 0, 0, 0, 0, 0, 937, + 947, 981, 985, 931, 0, 0, 0, 0, 0, 2595, + 0, 909, 0, 956, 0, 0, 0, 888, 880, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 935, 0, 0, 0, 0, 891, 0, 910, 982, + 0, 874, 284, 885, 376, 245, 0, 989, 999, 932, + 526, 1003, 930, 929, 976, 889, 995, 923, 342, 887, + 311, 192, 216, 0, 921, 386, 429, 439, 994, 906, + 915, 243, 913, 437, 400, 506, 224, 272, 426, 406, + 435, 413, 275, 955, 974, 436, 348, 492, 420, 503, + 527, 528, 251, 380, 514, 476, 522, 541, 217, 248, + 394, 469, 509, 459, 372, 488, 489, 310, 458, 282, + 195, 346, 533, 215, 445, 233, 222, 494, 512, 277, + 424, 204, 471, 501, 230, 449, 0, 0, 543, 206, + 499, 468, 368, 307, 308, 205, 0, 425, 256, 280, + 246, 389, 496, 497, 244, 544, 219, 521, 211, 1212, + 520, 382, 491, 500, 369, 358, 210, 498, 367, 357, + 313, 332, 333, 268, 291, 418, 351, 419, 292, 378, + 377, 379, 199, 510, 0, 200, 0, 464, 511, 545, + 225, 226, 228, 901, 267, 271, 279, 281, 287, 288, + 296, 344, 393, 417, 415, 421, 990, 486, 504, 515, + 525, 531, 532, 534, 535, 536, 537, 538, 540, 539, + 381, 294, 460, 312, 349, 979, 1021, 399, 438, 231, + 508, 461, 896, 900, 894, 961, 895, 950, 951, 897, + 1012, 1013, 1014, 546, 547, 548, 549, 550, 551, 552, + 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, + 563, 0, 983, 890, 0, 898, 899, 992, 1001, 1002, + 564, 359, 451, 505, 314, 326, 329, 319, 338, 0, + 339, 315, 316, 321, 323, 324, 325, 330, 331, 335, + 341, 239, 202, 365, 373, 485, 295, 207, 208, 209, + 478, 479, 480, 481, 518, 519, 523, 430, 431, 432, + 433, 954, 191, 212, 345, 1017, 422, 276, 542, 517, + 513, 198, 214, 893, 250, 904, 912, 0, 918, 926, + 927, 939, 941, 942, 943, 944, 962, 963, 965, 973, + 975, 978, 980, 987, 998, 1020, 193, 194, 201, 213, + 223, 227, 234, 249, 264, 266, 273, 285, 290, 293, + 299, 300, 303, 309, 355, 361, 362, 363, 364, 383, + 384, 385, 388, 391, 392, 395, 397, 398, 401, 405, + 409, 410, 411, 412, 414, 416, 423, 428, 440, 441, + 442, 443, 444, 447, 448, 453, 454, 455, 456, 457, + 465, 466, 470, 493, 495, 507, 524, 529, 446, 286, + 502, 530, 0, 354, 953, 959, 356, 269, 289, 301, + 968, 516, 467, 218, 434, 278, 241, 986, 988, 203, + 237, 221, 247, 262, 265, 305, 366, 374, 403, 408, + 283, 259, 235, 427, 232, 450, 473, 474, 475, 477, + 370, 254, 407, 949, 977, 352, 483, 484, 297, 371, + 0, 0, 1006, 991, 482, 0, 934, 1009, 903, 922, + 1019, 925, 928, 970, 882, 948, 390, 919, 875, 907, + 877, 914, 878, 905, 936, 258, 902, 993, 952, 1008, + 343, 255, 884, 908, 404, 924, 197, 972, 452, 242, + 353, 350, 490, 270, 261, 257, 240, 298, 360, 402, + 472, 396, 1015, 347, 958, 0, 462, 375, 0, 0, + 0, 938, 997, 946, 984, 933, 971, 892, 957, 1010, + 920, 967, 1011, 304, 238, 306, 196, 387, 463, 274, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 226, 0, 233, - 325, 334, 333, 314, 315, 317, 319, 324, 331, 337, - 896, 944, 985, 897, 946, 250, 299, 257, 249, 480, - 996, 976, 861, 925, 984, 0, 0, 217, 987, 920, - 0, 949, 0, 1002, 856, 940, 0, 859, 863, 998, - 980, 891, 260, 0, 0, 0, 0, 0, 0, 0, - 917, 927, 961, 965, 911, 0, 0, 0, 0, 0, - 2503, 0, 889, 0, 936, 0, 0, 0, 868, 860, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 915, 0, 0, 0, 0, 871, 0, 890, - 962, 0, 854, 281, 865, 373, 242, 0, 969, 979, - 912, 516, 983, 910, 909, 956, 869, 975, 903, 339, - 867, 308, 192, 213, 0, 901, 383, 426, 436, 974, - 886, 895, 240, 893, 434, 397, 499, 221, 269, 423, - 403, 432, 410, 272, 935, 954, 433, 345, 485, 417, - 496, 517, 518, 248, 377, 507, 473, 513, 531, 214, - 245, 391, 466, 502, 456, 369, 481, 482, 307, 455, - 279, 195, 343, 523, 212, 442, 230, 219, 487, 505, - 274, 421, 204, 468, 494, 227, 446, 0, 0, 533, - 206, 492, 465, 365, 304, 305, 205, 0, 422, 253, - 277, 243, 386, 489, 490, 241, 534, 216, 512, 208, - 1192, 511, 379, 484, 493, 366, 355, 207, 491, 364, - 354, 310, 329, 330, 265, 288, 415, 348, 416, 289, - 375, 374, 376, 199, 503, 0, 200, 0, 461, 504, - 535, 222, 223, 225, 881, 264, 268, 276, 278, 284, - 285, 293, 341, 390, 414, 412, 418, 970, 479, 497, - 508, 515, 521, 522, 524, 525, 526, 527, 528, 530, - 529, 378, 291, 457, 309, 346, 959, 1001, 396, 435, - 228, 501, 458, 876, 880, 874, 941, 875, 930, 931, - 877, 992, 993, 994, 536, 537, 538, 539, 540, 541, - 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, - 552, 553, 0, 963, 870, 0, 878, 879, 972, 981, - 982, 554, 356, 448, 498, 311, 323, 326, 316, 335, - 0, 336, 312, 313, 318, 320, 321, 322, 327, 328, - 332, 338, 236, 202, 362, 370, 478, 292, 427, 428, - 429, 430, 934, 191, 209, 342, 997, 419, 273, 532, - 510, 506, 198, 211, 873, 247, 884, 892, 0, 898, - 906, 907, 919, 921, 922, 923, 924, 942, 943, 945, - 953, 955, 958, 960, 967, 978, 1000, 193, 194, 201, - 210, 220, 224, 231, 246, 261, 263, 270, 282, 287, - 290, 296, 297, 300, 306, 352, 358, 359, 360, 361, - 380, 381, 382, 385, 388, 389, 392, 394, 395, 398, - 402, 406, 407, 408, 409, 411, 413, 420, 425, 437, - 438, 439, 440, 441, 444, 445, 450, 451, 452, 453, - 454, 462, 463, 467, 486, 488, 500, 514, 519, 443, - 283, 495, 520, 0, 351, 933, 939, 353, 266, 286, - 298, 948, 509, 464, 215, 431, 275, 238, 966, 968, - 203, 234, 218, 244, 259, 262, 302, 363, 371, 400, - 405, 280, 256, 232, 424, 229, 447, 470, 471, 472, - 474, 367, 251, 404, 929, 957, 349, 476, 477, 294, - 368, 0, 0, 986, 971, 475, 0, 914, 989, 883, - 902, 999, 905, 908, 950, 862, 928, 387, 899, 855, - 887, 857, 894, 858, 885, 916, 255, 882, 973, 932, - 988, 340, 252, 864, 888, 401, 904, 197, 952, 449, - 239, 350, 347, 483, 267, 258, 254, 237, 295, 357, - 399, 469, 393, 995, 344, 938, 0, 459, 372, 0, - 0, 0, 918, 977, 926, 964, 913, 951, 872, 937, - 990, 900, 947, 991, 301, 235, 303, 196, 384, 460, - 271, 0, 0, 0, 0, 188, 189, 190, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 226, 0, - 233, 325, 334, 333, 314, 315, 317, 319, 324, 331, - 337, 896, 944, 985, 897, 946, 250, 299, 257, 249, - 480, 996, 976, 861, 925, 984, 0, 0, 217, 987, - 920, 0, 949, 0, 1002, 856, 940, 0, 859, 863, - 998, 980, 891, 260, 0, 0, 0, 0, 0, 0, - 0, 917, 927, 961, 965, 911, 0, 0, 0, 0, - 0, 1903, 0, 889, 0, 936, 0, 0, 0, 868, - 860, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 915, 0, 0, 0, 0, 871, 0, - 890, 962, 0, 854, 281, 865, 373, 242, 0, 969, - 979, 912, 516, 983, 910, 909, 956, 869, 975, 903, - 339, 867, 308, 192, 213, 0, 901, 383, 426, 436, - 974, 886, 895, 240, 893, 434, 397, 499, 221, 269, - 423, 403, 432, 410, 272, 935, 954, 433, 345, 485, - 417, 496, 517, 518, 248, 377, 507, 473, 513, 531, - 214, 245, 391, 466, 502, 456, 369, 481, 482, 307, - 455, 279, 195, 343, 523, 212, 442, 230, 219, 487, - 505, 274, 421, 204, 468, 494, 227, 446, 0, 0, - 533, 206, 492, 465, 365, 304, 305, 205, 0, 422, - 253, 277, 243, 386, 489, 490, 241, 534, 216, 512, - 208, 1192, 511, 379, 484, 493, 366, 355, 207, 491, - 364, 354, 310, 329, 330, 265, 288, 415, 348, 416, - 289, 375, 374, 376, 199, 503, 0, 200, 0, 461, - 504, 535, 222, 223, 225, 881, 264, 268, 276, 278, - 284, 285, 293, 341, 390, 414, 412, 418, 970, 479, - 497, 508, 515, 521, 522, 524, 525, 526, 527, 528, - 530, 529, 378, 291, 457, 309, 346, 959, 1001, 396, - 435, 228, 501, 458, 876, 880, 874, 941, 875, 930, - 931, 877, 992, 993, 994, 536, 537, 538, 539, 540, - 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, - 551, 552, 553, 0, 963, 870, 0, 878, 879, 972, - 981, 982, 554, 356, 448, 498, 311, 323, 326, 316, - 335, 0, 336, 312, 313, 318, 320, 321, 322, 327, - 328, 332, 338, 236, 202, 362, 370, 478, 292, 427, - 428, 429, 430, 934, 191, 209, 342, 997, 419, 273, - 532, 510, 506, 198, 211, 873, 247, 884, 892, 0, - 898, 906, 907, 919, 921, 922, 923, 924, 942, 943, - 945, 953, 955, 958, 960, 967, 978, 1000, 193, 194, - 201, 210, 220, 224, 231, 246, 261, 263, 270, 282, - 287, 290, 296, 297, 300, 306, 352, 358, 359, 360, - 361, 380, 381, 382, 385, 388, 389, 392, 394, 395, - 398, 402, 406, 407, 408, 409, 411, 413, 420, 425, - 437, 438, 439, 440, 441, 444, 445, 450, 451, 452, - 453, 454, 462, 463, 467, 486, 488, 500, 514, 519, - 443, 283, 495, 520, 0, 351, 933, 939, 353, 266, - 286, 298, 948, 509, 464, 215, 431, 275, 238, 966, - 968, 203, 234, 218, 244, 259, 262, 302, 363, 371, - 400, 405, 280, 256, 232, 424, 229, 447, 470, 471, - 472, 474, 367, 251, 404, 929, 957, 349, 476, 477, - 294, 368, 0, 0, 986, 971, 475, 0, 914, 989, - 883, 902, 999, 905, 908, 950, 862, 928, 387, 899, - 855, 887, 857, 894, 858, 885, 916, 255, 882, 973, - 932, 988, 340, 252, 864, 888, 401, 904, 197, 952, - 449, 239, 350, 347, 483, 267, 258, 254, 237, 295, - 357, 399, 469, 393, 995, 344, 938, 0, 459, 372, - 0, 0, 0, 918, 977, 926, 964, 913, 951, 872, - 937, 990, 900, 947, 991, 301, 235, 303, 196, 384, - 460, 271, 0, 87, 0, 0, 188, 189, 190, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, - 0, 233, 325, 334, 333, 314, 315, 317, 319, 324, - 331, 337, 896, 944, 985, 897, 946, 250, 299, 257, - 249, 480, 996, 976, 861, 925, 984, 0, 0, 217, - 987, 920, 0, 949, 0, 1002, 856, 940, 0, 859, - 863, 998, 980, 891, 260, 0, 0, 0, 0, 0, - 0, 0, 917, 927, 961, 965, 911, 0, 0, 0, - 0, 0, 0, 0, 889, 0, 936, 0, 0, 0, - 868, 860, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 915, 0, 0, 0, 0, 871, - 0, 890, 962, 0, 854, 281, 865, 373, 242, 0, - 969, 979, 912, 516, 983, 910, 909, 956, 869, 975, - 903, 339, 867, 308, 192, 213, 0, 901, 383, 426, - 436, 974, 886, 895, 240, 893, 434, 397, 499, 221, - 269, 423, 403, 432, 410, 272, 935, 954, 433, 345, - 485, 417, 496, 517, 518, 248, 377, 507, 473, 513, - 531, 214, 245, 391, 466, 502, 456, 369, 481, 482, - 307, 455, 279, 195, 343, 523, 212, 442, 230, 219, - 487, 505, 274, 421, 204, 468, 494, 227, 446, 0, - 0, 533, 206, 492, 465, 365, 304, 305, 205, 0, - 422, 253, 277, 243, 386, 489, 490, 241, 534, 216, - 512, 208, 1192, 511, 379, 484, 493, 366, 355, 207, - 491, 364, 354, 310, 329, 330, 265, 288, 415, 348, - 416, 289, 375, 374, 376, 199, 503, 0, 200, 0, - 461, 504, 535, 222, 223, 225, 881, 264, 268, 276, - 278, 284, 285, 293, 341, 390, 414, 412, 418, 970, - 479, 497, 508, 515, 521, 522, 524, 525, 526, 527, - 528, 530, 529, 378, 291, 457, 309, 346, 959, 1001, - 396, 435, 228, 501, 458, 876, 880, 874, 941, 875, - 930, 931, 877, 992, 993, 994, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, - 550, 551, 552, 553, 0, 963, 870, 0, 878, 879, - 972, 981, 982, 554, 356, 448, 498, 311, 323, 326, - 316, 335, 0, 336, 312, 313, 318, 320, 321, 322, - 327, 328, 332, 338, 236, 202, 362, 370, 478, 292, - 427, 428, 429, 430, 934, 191, 209, 342, 997, 419, - 273, 532, 510, 506, 198, 211, 873, 247, 884, 892, - 0, 898, 906, 907, 919, 921, 922, 923, 924, 942, - 943, 945, 953, 955, 958, 960, 967, 978, 1000, 193, - 194, 201, 210, 220, 224, 231, 246, 261, 263, 270, - 282, 287, 290, 296, 297, 300, 306, 352, 358, 359, - 360, 361, 380, 381, 382, 385, 388, 389, 392, 394, - 395, 398, 402, 406, 407, 408, 409, 411, 413, 420, - 425, 437, 438, 439, 440, 441, 444, 445, 450, 451, - 452, 453, 454, 462, 463, 467, 486, 488, 500, 514, - 519, 443, 283, 495, 520, 0, 351, 933, 939, 353, - 266, 286, 298, 948, 509, 464, 215, 431, 275, 238, - 966, 968, 203, 234, 218, 244, 259, 262, 302, 363, - 371, 400, 405, 280, 256, 232, 424, 229, 447, 470, - 471, 472, 474, 367, 251, 404, 929, 957, 349, 476, - 477, 294, 368, 0, 0, 986, 971, 475, 0, 914, - 989, 883, 902, 999, 905, 908, 950, 862, 928, 387, - 899, 855, 887, 857, 894, 858, 885, 916, 255, 882, - 973, 932, 988, 340, 252, 864, 888, 401, 904, 197, - 952, 449, 239, 350, 347, 483, 267, 258, 254, 237, - 295, 357, 399, 469, 393, 995, 344, 938, 0, 459, - 372, 0, 0, 0, 918, 977, 926, 964, 913, 951, - 872, 937, 990, 900, 947, 991, 301, 235, 303, 196, - 384, 460, 271, 0, 0, 0, 0, 188, 189, 190, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 226, 0, 233, 325, 334, 333, 314, 315, 317, 319, - 324, 331, 337, 896, 944, 985, 897, 946, 250, 299, - 257, 249, 480, 996, 976, 861, 925, 984, 0, 0, - 217, 987, 920, 0, 949, 0, 1002, 856, 940, 0, - 859, 863, 998, 980, 891, 260, 0, 0, 0, 0, - 0, 0, 0, 917, 927, 961, 965, 911, 0, 0, - 0, 0, 0, 0, 0, 889, 0, 936, 0, 0, - 0, 868, 860, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 915, 0, 0, 0, 0, - 871, 0, 890, 962, 0, 854, 281, 865, 373, 242, - 0, 969, 979, 912, 516, 983, 910, 909, 956, 869, - 975, 903, 339, 867, 308, 192, 213, 0, 901, 383, - 426, 436, 974, 886, 895, 240, 893, 434, 397, 499, - 221, 269, 423, 403, 432, 410, 272, 935, 954, 433, - 345, 485, 417, 496, 517, 518, 248, 377, 507, 473, - 513, 531, 214, 245, 391, 466, 502, 456, 369, 481, - 482, 307, 455, 279, 195, 343, 523, 212, 442, 230, - 219, 487, 505, 274, 421, 204, 468, 494, 227, 446, - 0, 0, 533, 206, 492, 465, 365, 304, 305, 205, - 0, 422, 253, 277, 243, 386, 489, 490, 241, 534, - 216, 512, 208, 1192, 511, 379, 484, 493, 366, 355, - 207, 491, 364, 354, 310, 329, 330, 265, 288, 415, - 348, 416, 289, 375, 374, 376, 199, 503, 0, 200, - 0, 461, 504, 535, 222, 223, 225, 881, 264, 268, - 276, 278, 284, 285, 293, 341, 390, 414, 412, 418, - 970, 479, 497, 508, 515, 521, 522, 524, 525, 526, - 527, 528, 530, 529, 378, 291, 457, 309, 346, 959, - 1001, 396, 435, 228, 501, 458, 876, 880, 874, 941, - 875, 930, 931, 877, 992, 993, 994, 536, 537, 538, - 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, - 549, 550, 551, 552, 553, 0, 963, 870, 0, 878, - 879, 972, 981, 982, 554, 356, 448, 498, 311, 323, - 326, 316, 335, 0, 336, 312, 313, 318, 320, 321, - 322, 327, 328, 332, 338, 236, 202, 362, 370, 478, - 292, 427, 428, 429, 430, 934, 191, 209, 342, 997, - 419, 273, 532, 510, 506, 198, 211, 873, 247, 884, - 892, 0, 898, 906, 907, 919, 921, 922, 923, 924, - 942, 943, 945, 953, 955, 958, 960, 967, 978, 1000, - 193, 194, 201, 210, 220, 224, 231, 246, 261, 263, - 270, 282, 287, 290, 296, 297, 300, 306, 352, 358, - 359, 360, 361, 380, 381, 382, 385, 388, 389, 392, - 394, 395, 398, 402, 406, 407, 408, 409, 411, 413, - 420, 425, 437, 438, 439, 440, 441, 444, 445, 450, - 451, 452, 453, 454, 462, 463, 467, 486, 488, 500, - 514, 519, 443, 283, 495, 520, 0, 351, 933, 939, - 353, 266, 286, 298, 948, 509, 464, 215, 431, 275, - 238, 966, 968, 203, 234, 218, 244, 259, 262, 302, - 363, 371, 400, 405, 280, 256, 232, 424, 229, 447, - 470, 471, 472, 474, 367, 251, 404, 929, 957, 349, - 476, 477, 294, 368, 0, 0, 986, 971, 475, 0, - 914, 989, 883, 902, 999, 905, 908, 950, 862, 928, - 387, 899, 855, 887, 857, 894, 858, 885, 916, 255, - 882, 973, 932, 988, 340, 252, 864, 888, 401, 904, - 197, 952, 449, 239, 350, 347, 483, 267, 258, 254, - 237, 295, 357, 399, 469, 393, 995, 344, 938, 0, - 459, 372, 0, 0, 0, 918, 977, 926, 964, 913, - 951, 872, 937, 990, 900, 947, 991, 301, 235, 303, - 196, 384, 460, 271, 0, 0, 0, 0, 188, 189, + 0, 0, 0, 0, 0, 0, 0, 229, 0, 236, + 328, 337, 336, 317, 318, 320, 322, 327, 334, 340, + 916, 964, 1005, 917, 966, 253, 302, 260, 252, 487, + 1016, 996, 881, 945, 1004, 0, 0, 220, 1007, 940, + 0, 969, 0, 1022, 876, 960, 0, 879, 883, 1018, + 1000, 911, 263, 0, 0, 0, 0, 0, 0, 0, + 937, 947, 981, 985, 931, 0, 0, 0, 0, 0, + 2553, 0, 909, 0, 956, 0, 0, 0, 888, 880, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 935, 0, 0, 0, 0, 891, 0, 910, + 982, 0, 874, 284, 885, 376, 245, 0, 989, 999, + 932, 526, 1003, 930, 929, 976, 889, 995, 923, 342, + 887, 311, 192, 216, 0, 921, 386, 429, 439, 994, + 906, 915, 243, 913, 437, 400, 506, 224, 272, 426, + 406, 435, 413, 275, 955, 974, 436, 348, 492, 420, + 503, 527, 528, 251, 380, 514, 476, 522, 541, 217, + 248, 394, 469, 509, 459, 372, 488, 489, 310, 458, + 282, 195, 346, 533, 215, 445, 233, 222, 494, 512, + 277, 424, 204, 471, 501, 230, 449, 0, 0, 543, + 206, 499, 468, 368, 307, 308, 205, 0, 425, 256, + 280, 246, 389, 496, 497, 244, 544, 219, 521, 211, + 1212, 520, 382, 491, 500, 369, 358, 210, 498, 367, + 357, 313, 332, 333, 268, 291, 418, 351, 419, 292, + 378, 377, 379, 199, 510, 0, 200, 0, 464, 511, + 545, 225, 226, 228, 901, 267, 271, 279, 281, 287, + 288, 296, 344, 393, 417, 415, 421, 990, 486, 504, + 515, 525, 531, 532, 534, 535, 536, 537, 538, 540, + 539, 381, 294, 460, 312, 349, 979, 1021, 399, 438, + 231, 508, 461, 896, 900, 894, 961, 895, 950, 951, + 897, 1012, 1013, 1014, 546, 547, 548, 549, 550, 551, + 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, + 562, 563, 0, 983, 890, 0, 898, 899, 992, 1001, + 1002, 564, 359, 451, 505, 314, 326, 329, 319, 338, + 0, 339, 315, 316, 321, 323, 324, 325, 330, 331, + 335, 341, 239, 202, 365, 373, 485, 295, 207, 208, + 209, 478, 479, 480, 481, 518, 519, 523, 430, 431, + 432, 433, 954, 191, 212, 345, 1017, 422, 276, 542, + 517, 513, 198, 214, 893, 250, 904, 912, 0, 918, + 926, 927, 939, 941, 942, 943, 944, 962, 963, 965, + 973, 975, 978, 980, 987, 998, 1020, 193, 194, 201, + 213, 223, 227, 234, 249, 264, 266, 273, 285, 290, + 293, 299, 300, 303, 309, 355, 361, 362, 363, 364, + 383, 384, 385, 388, 391, 392, 395, 397, 398, 401, + 405, 409, 410, 411, 412, 414, 416, 423, 428, 440, + 441, 442, 443, 444, 447, 448, 453, 454, 455, 456, + 457, 465, 466, 470, 493, 495, 507, 524, 529, 446, + 286, 502, 530, 0, 354, 953, 959, 356, 269, 289, + 301, 968, 516, 467, 218, 434, 278, 241, 986, 988, + 203, 237, 221, 247, 262, 265, 305, 366, 374, 403, + 408, 283, 259, 235, 427, 232, 450, 473, 474, 475, + 477, 370, 254, 407, 949, 977, 352, 483, 484, 297, + 371, 0, 0, 1006, 991, 482, 0, 934, 1009, 903, + 922, 1019, 925, 928, 970, 882, 948, 390, 919, 875, + 907, 877, 914, 878, 905, 936, 258, 902, 993, 952, + 1008, 343, 255, 884, 908, 404, 924, 197, 972, 452, + 242, 353, 350, 490, 270, 261, 257, 240, 298, 360, + 402, 472, 396, 1015, 347, 958, 0, 462, 375, 0, + 0, 0, 938, 997, 946, 984, 933, 971, 892, 957, + 1010, 920, 967, 1011, 304, 238, 306, 196, 387, 463, + 274, 0, 0, 0, 0, 188, 189, 190, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 229, 0, + 236, 328, 337, 336, 317, 318, 320, 322, 327, 334, + 340, 916, 964, 1005, 917, 966, 253, 302, 260, 252, + 487, 1016, 996, 881, 945, 1004, 0, 0, 220, 1007, + 940, 0, 969, 0, 1022, 876, 960, 0, 879, 883, + 1018, 1000, 911, 263, 0, 0, 0, 0, 0, 0, + 0, 937, 947, 981, 985, 931, 0, 0, 0, 0, + 0, 1943, 0, 909, 0, 956, 0, 0, 0, 888, + 880, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 935, 0, 0, 0, 0, 891, 0, + 910, 982, 0, 874, 284, 885, 376, 245, 0, 989, + 999, 932, 526, 1003, 930, 929, 976, 889, 995, 923, + 342, 887, 311, 192, 216, 0, 921, 386, 429, 439, + 994, 906, 915, 243, 913, 437, 400, 506, 224, 272, + 426, 406, 435, 413, 275, 955, 974, 436, 348, 492, + 420, 503, 527, 528, 251, 380, 514, 476, 522, 541, + 217, 248, 394, 469, 509, 459, 372, 488, 489, 310, + 458, 282, 195, 346, 533, 215, 445, 233, 222, 494, + 512, 277, 424, 204, 471, 501, 230, 449, 0, 0, + 543, 206, 499, 468, 368, 307, 308, 205, 0, 425, + 256, 280, 246, 389, 496, 497, 244, 544, 219, 521, + 211, 1212, 520, 382, 491, 500, 369, 358, 210, 498, + 367, 357, 313, 332, 333, 268, 291, 418, 351, 419, + 292, 378, 377, 379, 199, 510, 0, 200, 0, 464, + 511, 545, 225, 226, 228, 901, 267, 271, 279, 281, + 287, 288, 296, 344, 393, 417, 415, 421, 990, 486, + 504, 515, 525, 531, 532, 534, 535, 536, 537, 538, + 540, 539, 381, 294, 460, 312, 349, 979, 1021, 399, + 438, 231, 508, 461, 896, 900, 894, 961, 895, 950, + 951, 897, 1012, 1013, 1014, 546, 547, 548, 549, 550, + 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 0, 983, 890, 0, 898, 899, 992, + 1001, 1002, 564, 359, 451, 505, 314, 326, 329, 319, + 338, 0, 339, 315, 316, 321, 323, 324, 325, 330, + 331, 335, 341, 239, 202, 365, 373, 485, 295, 207, + 208, 209, 478, 479, 480, 481, 518, 519, 523, 430, + 431, 432, 433, 954, 191, 212, 345, 1017, 422, 276, + 542, 517, 513, 198, 214, 893, 250, 904, 912, 0, + 918, 926, 927, 939, 941, 942, 943, 944, 962, 963, + 965, 973, 975, 978, 980, 987, 998, 1020, 193, 194, + 201, 213, 223, 227, 234, 249, 264, 266, 273, 285, + 290, 293, 299, 300, 303, 309, 355, 361, 362, 363, + 364, 383, 384, 385, 388, 391, 392, 395, 397, 398, + 401, 405, 409, 410, 411, 412, 414, 416, 423, 428, + 440, 441, 442, 443, 444, 447, 448, 453, 454, 455, + 456, 457, 465, 466, 470, 493, 495, 507, 524, 529, + 446, 286, 502, 530, 0, 354, 953, 959, 356, 269, + 289, 301, 968, 516, 467, 218, 434, 278, 241, 986, + 988, 203, 237, 221, 247, 262, 265, 305, 366, 374, + 403, 408, 283, 259, 235, 427, 232, 450, 473, 474, + 475, 477, 370, 254, 407, 949, 977, 352, 483, 484, + 297, 371, 0, 0, 1006, 991, 482, 0, 934, 1009, + 903, 922, 1019, 925, 928, 970, 882, 948, 390, 919, + 875, 907, 877, 914, 878, 905, 936, 258, 902, 993, + 952, 1008, 343, 255, 884, 908, 404, 924, 197, 972, + 452, 242, 353, 350, 490, 270, 261, 257, 240, 298, + 360, 402, 472, 396, 1015, 347, 958, 0, 462, 375, + 0, 0, 0, 938, 997, 946, 984, 933, 971, 892, + 957, 1010, 920, 967, 1011, 304, 238, 306, 196, 387, + 463, 274, 0, 87, 0, 0, 188, 189, 190, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 229, + 0, 236, 328, 337, 336, 317, 318, 320, 322, 327, + 334, 340, 916, 964, 1005, 917, 966, 253, 302, 260, + 252, 487, 1016, 996, 881, 945, 1004, 0, 0, 220, + 1007, 940, 0, 969, 0, 1022, 876, 960, 0, 879, + 883, 1018, 1000, 911, 263, 0, 0, 0, 0, 0, + 0, 0, 937, 947, 981, 985, 931, 0, 0, 0, + 0, 0, 0, 0, 909, 0, 956, 0, 0, 0, + 888, 880, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 935, 0, 0, 0, 0, 891, + 0, 910, 982, 0, 874, 284, 885, 376, 245, 0, + 989, 999, 932, 526, 1003, 930, 929, 976, 889, 995, + 923, 342, 887, 311, 192, 216, 0, 921, 386, 429, + 439, 994, 906, 915, 243, 913, 437, 400, 506, 224, + 272, 426, 406, 435, 413, 275, 955, 974, 436, 348, + 492, 420, 503, 527, 528, 251, 380, 514, 476, 522, + 541, 217, 248, 394, 469, 509, 459, 372, 488, 489, + 310, 458, 282, 195, 346, 533, 215, 445, 233, 222, + 494, 512, 277, 424, 204, 471, 501, 230, 449, 0, + 0, 543, 206, 499, 468, 368, 307, 308, 205, 0, + 425, 256, 280, 246, 389, 496, 497, 244, 544, 219, + 521, 211, 1212, 520, 382, 491, 500, 369, 358, 210, + 498, 367, 357, 313, 332, 333, 268, 291, 418, 351, + 419, 292, 378, 377, 379, 199, 510, 0, 200, 0, + 464, 511, 545, 225, 226, 228, 901, 267, 271, 279, + 281, 287, 288, 296, 344, 393, 417, 415, 421, 990, + 486, 504, 515, 525, 531, 532, 534, 535, 536, 537, + 538, 540, 539, 381, 294, 460, 312, 349, 979, 1021, + 399, 438, 231, 508, 461, 896, 900, 894, 961, 895, + 950, 951, 897, 1012, 1013, 1014, 546, 547, 548, 549, + 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, + 560, 561, 562, 563, 0, 983, 890, 0, 898, 899, + 992, 1001, 1002, 564, 359, 451, 505, 314, 326, 329, + 319, 338, 0, 339, 315, 316, 321, 323, 324, 325, + 330, 331, 335, 341, 239, 202, 365, 373, 485, 295, + 207, 208, 209, 478, 479, 480, 481, 518, 519, 523, + 430, 431, 432, 433, 954, 191, 212, 345, 1017, 422, + 276, 542, 517, 513, 198, 214, 893, 250, 904, 912, + 0, 918, 926, 927, 939, 941, 942, 943, 944, 962, + 963, 965, 973, 975, 978, 980, 987, 998, 1020, 193, + 194, 201, 213, 223, 227, 234, 249, 264, 266, 273, + 285, 290, 293, 299, 300, 303, 309, 355, 361, 362, + 363, 364, 383, 384, 385, 388, 391, 392, 395, 397, + 398, 401, 405, 409, 410, 411, 412, 414, 416, 423, + 428, 440, 441, 442, 443, 444, 447, 448, 453, 454, + 455, 456, 457, 465, 466, 470, 493, 495, 507, 524, + 529, 446, 286, 502, 530, 0, 354, 953, 959, 356, + 269, 289, 301, 968, 516, 467, 218, 434, 278, 241, + 986, 988, 203, 237, 221, 247, 262, 265, 305, 366, + 374, 403, 408, 283, 259, 235, 427, 232, 450, 473, + 474, 475, 477, 370, 254, 407, 949, 977, 352, 483, + 484, 297, 371, 0, 0, 1006, 991, 482, 0, 934, + 1009, 903, 922, 1019, 925, 928, 970, 882, 948, 390, + 919, 875, 907, 877, 914, 878, 905, 936, 258, 902, + 993, 952, 1008, 343, 255, 884, 908, 404, 924, 197, + 972, 452, 242, 353, 350, 490, 270, 261, 257, 240, + 298, 360, 402, 472, 396, 1015, 347, 958, 0, 462, + 375, 0, 0, 0, 938, 997, 946, 984, 933, 971, + 892, 957, 1010, 920, 967, 1011, 304, 238, 306, 196, + 387, 463, 274, 0, 0, 0, 0, 188, 189, 190, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 229, 0, 236, 328, 337, 336, 317, 318, 320, 322, + 327, 334, 340, 916, 964, 1005, 917, 966, 253, 302, + 260, 252, 487, 1016, 996, 881, 945, 1004, 0, 0, + 220, 1007, 940, 0, 969, 0, 1022, 876, 960, 0, + 879, 883, 1018, 1000, 911, 263, 0, 0, 0, 0, + 0, 0, 0, 937, 947, 981, 985, 931, 0, 0, + 0, 0, 0, 0, 0, 909, 0, 956, 0, 0, + 0, 888, 880, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 935, 0, 0, 0, 0, + 891, 0, 910, 982, 0, 874, 284, 885, 376, 245, + 0, 989, 999, 932, 526, 1003, 930, 929, 976, 889, + 995, 923, 342, 887, 311, 192, 216, 0, 921, 386, + 429, 439, 994, 906, 915, 243, 913, 437, 400, 506, + 224, 272, 426, 406, 435, 413, 275, 955, 974, 436, + 348, 492, 420, 503, 527, 528, 251, 380, 514, 476, + 522, 541, 217, 248, 394, 469, 509, 459, 372, 488, + 489, 310, 458, 282, 195, 346, 533, 215, 445, 233, + 222, 494, 512, 277, 424, 204, 471, 501, 230, 449, + 0, 0, 543, 206, 499, 468, 368, 307, 308, 205, + 0, 425, 256, 280, 246, 389, 496, 497, 244, 544, + 219, 521, 211, 1212, 520, 382, 491, 500, 369, 358, + 210, 498, 367, 357, 313, 332, 333, 268, 291, 418, + 351, 419, 292, 378, 377, 379, 199, 510, 0, 200, + 0, 464, 511, 545, 225, 226, 228, 901, 267, 271, + 279, 281, 287, 288, 296, 344, 393, 417, 415, 421, + 990, 486, 504, 515, 525, 531, 532, 534, 535, 536, + 537, 538, 540, 539, 381, 294, 460, 312, 349, 979, + 1021, 399, 438, 231, 508, 461, 896, 900, 894, 961, + 895, 950, 951, 897, 1012, 1013, 1014, 546, 547, 548, + 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, + 559, 560, 561, 562, 563, 0, 983, 890, 0, 898, + 899, 992, 1001, 1002, 564, 359, 451, 505, 314, 326, + 329, 319, 338, 0, 339, 315, 316, 321, 323, 324, + 325, 330, 331, 335, 341, 239, 202, 365, 373, 485, + 295, 207, 208, 209, 478, 479, 480, 481, 518, 519, + 523, 430, 431, 432, 433, 954, 191, 212, 345, 1017, + 422, 276, 542, 517, 513, 198, 214, 893, 250, 904, + 912, 0, 918, 926, 927, 939, 941, 942, 943, 944, + 962, 963, 965, 973, 975, 978, 980, 987, 998, 1020, + 193, 194, 201, 213, 223, 227, 234, 249, 264, 266, + 273, 285, 290, 293, 299, 300, 303, 309, 355, 361, + 362, 363, 364, 383, 384, 385, 388, 391, 392, 395, + 397, 398, 401, 405, 409, 410, 411, 412, 414, 416, + 423, 428, 440, 441, 442, 443, 444, 447, 448, 453, + 454, 455, 456, 457, 465, 466, 470, 493, 495, 507, + 524, 529, 446, 286, 502, 530, 0, 354, 953, 959, + 356, 269, 289, 301, 968, 516, 467, 218, 434, 278, + 241, 986, 988, 203, 237, 221, 247, 262, 265, 305, + 366, 374, 403, 408, 283, 259, 235, 427, 232, 450, + 473, 474, 475, 477, 370, 254, 407, 949, 977, 352, + 483, 484, 297, 371, 0, 0, 1006, 991, 482, 0, + 934, 1009, 903, 922, 1019, 925, 928, 970, 882, 948, + 390, 919, 875, 907, 877, 914, 878, 905, 936, 258, + 902, 993, 952, 1008, 343, 255, 884, 908, 404, 924, + 197, 972, 452, 242, 353, 350, 490, 270, 261, 257, + 240, 298, 360, 402, 472, 396, 1015, 347, 958, 0, + 462, 375, 0, 0, 0, 938, 997, 946, 984, 933, + 971, 892, 957, 1010, 920, 967, 1011, 304, 238, 306, + 196, 387, 463, 274, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 226, 0, 233, 325, 334, 333, 314, 315, 317, - 319, 324, 331, 337, 896, 944, 985, 897, 946, 250, - 299, 257, 249, 480, 996, 976, 861, 925, 984, 0, - 0, 1003, 987, 920, 0, 949, 0, 1002, 856, 940, - 0, 859, 863, 998, 980, 891, 260, 0, 0, 0, - 0, 0, 0, 0, 917, 927, 961, 965, 911, 0, - 0, 0, 0, 0, 0, 0, 889, 0, 936, 0, - 0, 0, 868, 860, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 915, 0, 0, 0, - 0, 871, 0, 890, 962, 0, 854, 281, 865, 373, - 242, 0, 969, 979, 912, 516, 983, 910, 909, 956, - 869, 975, 903, 339, 867, 308, 192, 213, 0, 901, - 383, 426, 436, 974, 886, 895, 240, 893, 434, 397, - 499, 221, 269, 423, 403, 432, 410, 272, 935, 954, - 433, 345, 485, 417, 496, 517, 518, 248, 377, 507, - 473, 513, 531, 214, 245, 391, 466, 502, 456, 369, - 481, 482, 307, 455, 279, 195, 343, 523, 212, 442, - 230, 219, 487, 505, 274, 421, 204, 468, 494, 227, - 446, 0, 0, 533, 206, 492, 465, 365, 304, 305, - 205, 0, 422, 253, 277, 243, 386, 489, 490, 241, - 534, 216, 512, 208, 866, 511, 379, 484, 493, 366, - 355, 207, 491, 364, 354, 310, 329, 330, 265, 288, - 415, 348, 416, 289, 375, 374, 376, 199, 503, 0, - 200, 0, 461, 504, 535, 222, 223, 225, 881, 264, - 268, 276, 278, 284, 285, 293, 341, 390, 414, 412, - 418, 970, 479, 497, 508, 515, 521, 522, 524, 525, - 526, 527, 528, 530, 529, 853, 847, 846, 309, 346, - 959, 1001, 396, 435, 228, 501, 458, 876, 880, 874, - 941, 875, 930, 931, 877, 992, 993, 994, 536, 537, - 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 552, 553, 0, 963, 870, 0, - 878, 879, 972, 981, 982, 554, 356, 448, 498, 311, - 323, 326, 316, 335, 0, 336, 312, 313, 318, 320, - 321, 322, 327, 328, 332, 338, 236, 202, 362, 370, - 478, 292, 427, 428, 429, 430, 934, 191, 209, 342, - 997, 419, 273, 532, 510, 506, 198, 211, 873, 247, - 884, 892, 0, 898, 906, 907, 919, 921, 922, 923, - 924, 942, 943, 945, 953, 955, 958, 960, 967, 978, - 1000, 193, 194, 201, 210, 220, 224, 231, 246, 261, - 263, 270, 282, 287, 290, 296, 297, 300, 306, 352, - 358, 359, 360, 361, 380, 381, 382, 385, 388, 389, - 392, 394, 395, 398, 402, 406, 407, 408, 409, 411, - 413, 420, 425, 437, 438, 439, 440, 441, 444, 445, - 450, 451, 452, 453, 454, 462, 463, 467, 486, 488, - 500, 514, 519, 443, 283, 495, 520, 0, 351, 933, - 939, 353, 266, 286, 298, 948, 509, 464, 215, 431, - 275, 238, 966, 968, 203, 234, 218, 244, 259, 262, - 302, 363, 371, 400, 405, 280, 256, 232, 424, 229, - 447, 470, 471, 472, 474, 367, 251, 404, 929, 957, - 349, 476, 477, 294, 368, 0, 0, 986, 971, 475, - 0, 914, 989, 883, 902, 999, 905, 908, 950, 862, - 928, 387, 899, 855, 887, 857, 894, 858, 885, 916, - 255, 882, 973, 932, 988, 340, 252, 864, 888, 401, - 904, 197, 952, 449, 239, 350, 347, 483, 267, 258, - 254, 237, 295, 357, 399, 469, 393, 995, 344, 938, - 0, 459, 372, 0, 0, 0, 918, 977, 926, 964, - 913, 951, 872, 937, 990, 900, 947, 991, 301, 235, - 303, 196, 384, 460, 271, 0, 0, 0, 0, 188, + 0, 229, 0, 236, 328, 337, 336, 317, 318, 320, + 322, 327, 334, 340, 916, 964, 1005, 917, 966, 253, + 302, 260, 252, 487, 1016, 996, 881, 945, 1004, 0, + 0, 1023, 1007, 940, 0, 969, 0, 1022, 876, 960, + 0, 879, 883, 1018, 1000, 911, 263, 0, 0, 0, + 0, 0, 0, 0, 937, 947, 981, 985, 931, 0, + 0, 0, 0, 0, 0, 0, 909, 0, 956, 0, + 0, 0, 888, 880, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 935, 0, 0, 0, + 0, 891, 0, 910, 982, 0, 874, 284, 885, 376, + 245, 0, 989, 999, 932, 526, 1003, 930, 929, 976, + 889, 995, 923, 342, 887, 311, 192, 216, 0, 921, + 386, 429, 439, 994, 906, 915, 243, 913, 437, 400, + 506, 224, 272, 426, 406, 435, 413, 275, 955, 974, + 436, 348, 492, 420, 503, 527, 528, 251, 380, 514, + 476, 522, 541, 217, 248, 394, 469, 509, 459, 372, + 488, 489, 310, 458, 282, 195, 346, 533, 215, 445, + 233, 222, 494, 512, 277, 424, 204, 471, 501, 230, + 449, 0, 0, 543, 206, 499, 468, 368, 307, 308, + 205, 0, 425, 256, 280, 246, 389, 496, 497, 244, + 544, 219, 521, 211, 886, 520, 382, 491, 500, 369, + 358, 210, 498, 367, 357, 313, 332, 333, 268, 291, + 418, 351, 419, 292, 378, 377, 379, 199, 510, 0, + 200, 0, 464, 511, 545, 225, 226, 228, 901, 267, + 271, 279, 281, 287, 288, 296, 344, 393, 417, 415, + 421, 990, 486, 504, 515, 525, 531, 532, 534, 535, + 536, 537, 538, 540, 539, 873, 867, 866, 312, 349, + 979, 1021, 399, 438, 231, 508, 461, 896, 900, 894, + 961, 895, 950, 951, 897, 1012, 1013, 1014, 546, 547, + 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, + 558, 559, 560, 561, 562, 563, 0, 983, 890, 0, + 898, 899, 992, 1001, 1002, 564, 359, 451, 505, 314, + 326, 329, 319, 338, 0, 339, 315, 316, 321, 323, + 324, 325, 330, 331, 335, 341, 239, 202, 365, 373, + 485, 295, 207, 208, 209, 478, 479, 480, 481, 518, + 519, 523, 430, 431, 432, 433, 954, 191, 212, 345, + 1017, 422, 276, 542, 517, 513, 198, 214, 893, 250, + 904, 912, 0, 918, 926, 927, 939, 941, 942, 943, + 944, 962, 963, 965, 973, 975, 978, 980, 987, 998, + 1020, 193, 194, 201, 213, 223, 227, 234, 249, 264, + 266, 273, 285, 290, 293, 299, 300, 303, 309, 355, + 361, 362, 363, 364, 383, 384, 385, 388, 391, 392, + 395, 397, 398, 401, 405, 409, 410, 411, 412, 414, + 416, 423, 428, 440, 441, 442, 443, 444, 447, 448, + 453, 454, 455, 456, 457, 465, 466, 470, 493, 495, + 507, 524, 529, 446, 286, 502, 530, 0, 354, 953, + 959, 356, 269, 289, 301, 968, 516, 467, 218, 434, + 278, 241, 986, 988, 203, 237, 221, 247, 262, 265, + 305, 366, 374, 403, 408, 283, 259, 235, 427, 232, + 450, 473, 474, 475, 477, 370, 254, 407, 949, 977, + 352, 483, 484, 297, 371, 0, 0, 1006, 991, 482, + 0, 934, 1009, 903, 922, 1019, 925, 928, 970, 882, + 948, 390, 919, 875, 907, 877, 914, 878, 905, 936, + 258, 902, 993, 952, 1008, 343, 255, 884, 908, 404, + 924, 197, 972, 452, 242, 353, 350, 490, 270, 261, + 257, 240, 298, 360, 402, 472, 396, 1015, 347, 958, + 0, 462, 375, 0, 0, 0, 938, 997, 946, 984, + 933, 971, 892, 957, 1010, 920, 967, 1011, 304, 238, + 306, 196, 387, 463, 274, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 226, 0, 233, 325, 334, 333, 314, 315, - 317, 319, 324, 331, 337, 896, 944, 985, 897, 946, - 250, 299, 257, 249, 480, 996, 976, 861, 925, 984, - 0, 0, 1003, 987, 920, 0, 949, 0, 1002, 856, - 940, 0, 859, 863, 998, 980, 891, 260, 0, 0, - 0, 0, 0, 0, 0, 917, 927, 961, 965, 911, - 0, 0, 0, 0, 0, 0, 0, 889, 0, 936, - 0, 0, 0, 868, 860, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 915, 0, 0, - 0, 0, 871, 0, 890, 962, 0, 854, 281, 865, - 373, 242, 0, 969, 979, 912, 516, 983, 910, 909, - 956, 869, 975, 903, 339, 867, 308, 192, 213, 0, - 901, 383, 426, 436, 974, 886, 895, 240, 893, 434, - 397, 499, 221, 269, 423, 403, 432, 410, 272, 935, - 954, 433, 345, 485, 417, 496, 517, 518, 248, 377, - 507, 473, 513, 531, 214, 245, 391, 466, 502, 456, - 369, 481, 482, 307, 455, 279, 195, 343, 523, 212, - 442, 230, 219, 487, 505, 274, 421, 204, 468, 1424, - 227, 446, 0, 0, 533, 206, 492, 465, 365, 304, - 305, 205, 0, 422, 253, 277, 243, 386, 489, 490, - 241, 534, 216, 512, 208, 866, 511, 379, 484, 493, - 366, 355, 207, 491, 364, 354, 310, 329, 330, 265, - 288, 415, 348, 416, 289, 375, 374, 376, 199, 503, - 0, 200, 0, 461, 504, 535, 222, 223, 225, 881, - 264, 268, 276, 278, 284, 285, 293, 341, 390, 414, - 412, 418, 970, 479, 497, 508, 515, 521, 522, 524, - 525, 526, 527, 528, 530, 529, 853, 847, 846, 309, - 346, 959, 1001, 396, 435, 228, 501, 458, 876, 880, - 874, 941, 875, 930, 931, 877, 992, 993, 994, 536, - 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, - 547, 548, 549, 550, 551, 552, 553, 0, 963, 870, - 0, 878, 879, 972, 981, 982, 554, 356, 448, 498, - 311, 323, 326, 316, 335, 0, 336, 312, 313, 318, - 320, 321, 322, 327, 328, 332, 338, 236, 202, 362, - 370, 478, 292, 427, 428, 429, 430, 934, 191, 209, - 342, 997, 419, 273, 532, 510, 506, 198, 211, 873, - 247, 884, 892, 0, 898, 906, 907, 919, 921, 922, - 923, 924, 942, 943, 945, 953, 955, 958, 960, 967, - 978, 1000, 193, 194, 201, 210, 220, 224, 231, 246, - 261, 263, 270, 282, 287, 290, 296, 297, 300, 306, - 352, 358, 359, 360, 361, 380, 381, 382, 385, 388, - 389, 392, 394, 395, 398, 402, 406, 407, 408, 409, - 411, 413, 420, 425, 437, 438, 439, 440, 441, 444, - 445, 450, 451, 452, 453, 454, 462, 463, 467, 486, - 488, 500, 514, 519, 443, 283, 495, 520, 0, 351, - 933, 939, 353, 266, 286, 298, 948, 509, 464, 215, - 431, 275, 238, 966, 968, 203, 234, 218, 244, 259, - 262, 302, 363, 371, 400, 405, 280, 256, 232, 424, - 229, 447, 470, 471, 472, 474, 367, 251, 404, 929, - 957, 349, 476, 477, 294, 368, 0, 0, 986, 971, - 475, 0, 914, 989, 883, 902, 999, 905, 908, 950, - 862, 928, 387, 899, 855, 887, 857, 894, 858, 885, - 916, 255, 882, 973, 932, 988, 340, 252, 864, 888, - 401, 904, 197, 952, 449, 239, 350, 347, 483, 267, - 258, 254, 237, 295, 357, 399, 469, 393, 995, 344, - 938, 0, 459, 372, 0, 0, 0, 918, 977, 926, - 964, 913, 951, 872, 937, 990, 900, 947, 991, 301, - 235, 303, 196, 384, 460, 271, 0, 0, 0, 0, + 0, 0, 229, 0, 236, 328, 337, 336, 317, 318, + 320, 322, 327, 334, 340, 916, 964, 1005, 917, 966, + 253, 302, 260, 252, 487, 1016, 996, 881, 945, 1004, + 0, 0, 1023, 1007, 940, 0, 969, 0, 1022, 876, + 960, 0, 879, 883, 1018, 1000, 911, 263, 0, 0, + 0, 0, 0, 0, 0, 937, 947, 981, 985, 931, + 0, 0, 0, 0, 0, 0, 0, 909, 0, 956, + 0, 0, 0, 888, 880, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 935, 0, 0, + 0, 0, 891, 0, 910, 982, 0, 874, 284, 885, + 376, 245, 0, 989, 999, 932, 526, 1003, 930, 929, + 976, 889, 995, 923, 342, 887, 311, 192, 216, 0, + 921, 386, 429, 439, 994, 906, 915, 243, 913, 437, + 400, 506, 224, 272, 426, 406, 435, 413, 275, 955, + 974, 436, 348, 492, 420, 503, 527, 528, 251, 380, + 514, 476, 522, 541, 217, 248, 394, 469, 509, 459, + 372, 488, 489, 310, 458, 282, 195, 346, 533, 215, + 445, 233, 222, 494, 512, 277, 424, 204, 471, 1454, + 230, 449, 0, 0, 543, 206, 499, 468, 368, 307, + 308, 205, 0, 425, 256, 280, 246, 389, 496, 497, + 244, 544, 219, 521, 211, 886, 520, 382, 491, 500, + 369, 358, 210, 498, 367, 357, 313, 332, 333, 268, + 291, 418, 351, 419, 292, 378, 377, 379, 199, 510, + 0, 200, 0, 464, 511, 545, 225, 226, 228, 901, + 267, 271, 279, 281, 287, 288, 296, 344, 393, 417, + 415, 421, 990, 486, 504, 515, 525, 531, 532, 534, + 535, 536, 537, 538, 540, 539, 873, 867, 866, 312, + 349, 979, 1021, 399, 438, 231, 508, 461, 896, 900, + 894, 961, 895, 950, 951, 897, 1012, 1013, 1014, 546, + 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, + 557, 558, 559, 560, 561, 562, 563, 0, 983, 890, + 0, 898, 899, 992, 1001, 1002, 564, 359, 451, 505, + 314, 326, 329, 319, 338, 0, 339, 315, 316, 321, + 323, 324, 325, 330, 331, 335, 341, 239, 202, 365, + 373, 485, 295, 207, 208, 209, 478, 479, 480, 481, + 518, 519, 523, 430, 431, 432, 433, 954, 191, 212, + 345, 1017, 422, 276, 542, 517, 513, 198, 214, 893, + 250, 904, 912, 0, 918, 926, 927, 939, 941, 942, + 943, 944, 962, 963, 965, 973, 975, 978, 980, 987, + 998, 1020, 193, 194, 201, 213, 223, 227, 234, 249, + 264, 266, 273, 285, 290, 293, 299, 300, 303, 309, + 355, 361, 362, 363, 364, 383, 384, 385, 388, 391, + 392, 395, 397, 398, 401, 405, 409, 410, 411, 412, + 414, 416, 423, 428, 440, 441, 442, 443, 444, 447, + 448, 453, 454, 455, 456, 457, 465, 466, 470, 493, + 495, 507, 524, 529, 446, 286, 502, 530, 0, 354, + 953, 959, 356, 269, 289, 301, 968, 516, 467, 218, + 434, 278, 241, 986, 988, 203, 237, 221, 247, 262, + 265, 305, 366, 374, 403, 408, 283, 259, 235, 427, + 232, 450, 473, 474, 475, 477, 370, 254, 407, 949, + 977, 352, 483, 484, 297, 371, 0, 0, 1006, 991, + 482, 0, 934, 1009, 903, 922, 1019, 925, 928, 970, + 882, 948, 390, 919, 875, 907, 877, 914, 878, 905, + 936, 258, 902, 993, 952, 1008, 343, 255, 884, 908, + 404, 924, 197, 972, 452, 242, 353, 350, 490, 270, + 261, 257, 240, 298, 360, 402, 472, 396, 1015, 347, + 958, 0, 462, 375, 0, 0, 0, 938, 997, 946, + 984, 933, 971, 892, 957, 1010, 920, 967, 1011, 304, + 238, 306, 196, 387, 463, 274, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 226, 0, 233, 325, 334, 333, 314, - 315, 317, 319, 324, 331, 337, 896, 944, 985, 897, - 946, 250, 299, 257, 249, 480, 996, 976, 861, 925, - 984, 0, 0, 1003, 987, 920, 0, 949, 0, 1002, - 856, 940, 0, 859, 863, 998, 980, 891, 260, 0, - 0, 0, 0, 0, 0, 0, 917, 927, 961, 965, - 911, 0, 0, 0, 0, 0, 0, 0, 889, 0, - 936, 0, 0, 0, 868, 860, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 915, 0, - 0, 0, 0, 871, 0, 890, 962, 0, 854, 281, - 865, 373, 242, 0, 969, 979, 912, 516, 983, 910, - 909, 956, 869, 975, 903, 339, 867, 308, 192, 213, - 0, 901, 383, 426, 436, 974, 886, 895, 240, 893, - 434, 397, 499, 221, 269, 423, 403, 432, 410, 272, - 935, 954, 433, 345, 485, 417, 496, 517, 518, 248, - 377, 507, 473, 513, 531, 214, 245, 391, 466, 502, - 456, 369, 481, 482, 307, 455, 279, 195, 343, 523, - 212, 442, 230, 219, 487, 505, 274, 421, 204, 468, - 844, 227, 446, 0, 0, 533, 206, 492, 465, 365, - 304, 305, 205, 0, 422, 253, 277, 243, 386, 489, - 490, 241, 534, 216, 512, 208, 866, 511, 379, 484, - 493, 366, 355, 207, 491, 364, 354, 310, 329, 330, - 265, 288, 415, 348, 416, 289, 375, 374, 376, 199, - 503, 0, 200, 0, 461, 504, 535, 222, 223, 225, - 881, 264, 268, 276, 278, 284, 285, 293, 341, 390, - 414, 412, 418, 970, 479, 497, 508, 515, 521, 522, - 524, 525, 526, 527, 528, 530, 529, 853, 847, 846, - 309, 346, 959, 1001, 396, 435, 228, 501, 458, 876, - 880, 874, 941, 875, 930, 931, 877, 992, 993, 994, - 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, - 546, 547, 548, 549, 550, 551, 552, 553, 0, 963, - 870, 0, 878, 879, 972, 981, 982, 554, 356, 448, - 498, 311, 323, 326, 316, 335, 0, 336, 312, 313, - 318, 320, 321, 322, 327, 328, 332, 338, 236, 202, - 362, 370, 478, 292, 427, 428, 429, 430, 934, 191, - 209, 342, 997, 419, 273, 532, 510, 506, 198, 211, - 873, 247, 884, 892, 0, 898, 906, 907, 919, 921, - 922, 923, 924, 942, 943, 945, 953, 955, 958, 960, - 967, 978, 1000, 193, 194, 201, 210, 220, 224, 231, - 246, 261, 263, 270, 282, 287, 290, 296, 297, 300, - 306, 352, 358, 359, 360, 361, 380, 381, 382, 385, - 388, 389, 392, 394, 395, 398, 402, 406, 407, 408, - 409, 411, 413, 420, 425, 437, 438, 439, 440, 441, - 444, 445, 450, 451, 452, 453, 454, 462, 463, 467, - 486, 488, 500, 514, 519, 443, 283, 495, 520, 0, - 351, 933, 939, 353, 266, 286, 298, 948, 509, 464, - 215, 431, 275, 238, 966, 968, 203, 234, 218, 244, - 259, 262, 302, 363, 371, 400, 405, 280, 256, 232, - 424, 229, 447, 470, 471, 472, 474, 367, 251, 404, - 929, 957, 349, 476, 477, 294, 368, 0, 0, 0, - 0, 475, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 387, 0, 0, 1841, 0, 636, 0, - 0, 0, 255, 641, 0, 0, 0, 340, 252, 0, - 1842, 401, 0, 197, 0, 449, 239, 350, 347, 483, - 267, 258, 254, 237, 295, 357, 399, 469, 393, 647, - 344, 0, 0, 459, 372, 0, 0, 0, 0, 0, - 643, 644, 0, 0, 0, 0, 0, 0, 0, 0, - 301, 235, 303, 196, 384, 460, 271, 0, 87, 0, - 0, 188, 189, 190, 737, 745, 746, 747, 748, 749, - 738, 740, 0, 0, 226, 739, 233, 664, 666, 665, - 675, 676, 677, 678, 679, 680, 681, 662, 742, 750, - 751, 0, 250, 299, 257, 249, 480, 0, 0, 0, - 0, 0, 0, 0, 217, 0, 0, 0, 0, 0, - 0, 0, 619, 633, 0, 646, 0, 0, 0, 260, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 630, 631, 833, 0, 0, - 0, 707, 0, 632, 0, 0, 640, 752, 753, 754, - 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, - 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, + 0, 0, 0, 229, 0, 236, 328, 337, 336, 317, + 318, 320, 322, 327, 334, 340, 916, 964, 1005, 917, + 966, 253, 302, 260, 252, 487, 1016, 996, 881, 945, + 1004, 0, 0, 1023, 1007, 940, 0, 969, 0, 1022, + 876, 960, 0, 879, 883, 1018, 1000, 911, 263, 0, + 0, 0, 0, 0, 0, 0, 937, 947, 981, 985, + 931, 0, 0, 0, 0, 0, 0, 0, 909, 0, + 956, 0, 0, 0, 888, 880, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 935, 0, + 0, 0, 0, 891, 0, 910, 982, 0, 874, 284, + 885, 376, 245, 0, 989, 999, 932, 526, 1003, 930, + 929, 976, 889, 995, 923, 342, 887, 311, 192, 216, + 0, 921, 386, 429, 439, 994, 906, 915, 243, 913, + 437, 400, 506, 224, 272, 426, 406, 435, 413, 275, + 955, 974, 436, 348, 492, 420, 503, 527, 528, 251, + 380, 514, 476, 522, 541, 217, 248, 394, 469, 509, + 459, 372, 488, 489, 310, 458, 282, 195, 346, 533, + 215, 445, 233, 222, 494, 512, 277, 424, 204, 471, + 864, 230, 449, 0, 0, 543, 206, 499, 468, 368, + 307, 308, 205, 0, 425, 256, 280, 246, 389, 496, + 497, 244, 544, 219, 521, 211, 886, 520, 382, 491, + 500, 369, 358, 210, 498, 367, 357, 313, 332, 333, + 268, 291, 418, 351, 419, 292, 378, 377, 379, 199, + 510, 0, 200, 0, 464, 511, 545, 225, 226, 228, + 901, 267, 271, 279, 281, 287, 288, 296, 344, 393, + 417, 415, 421, 990, 486, 504, 515, 525, 531, 532, + 534, 535, 536, 537, 538, 540, 539, 873, 867, 866, + 312, 349, 979, 1021, 399, 438, 231, 508, 461, 896, + 900, 894, 961, 895, 950, 951, 897, 1012, 1013, 1014, + 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, + 556, 557, 558, 559, 560, 561, 562, 563, 0, 983, + 890, 0, 898, 899, 992, 1001, 1002, 564, 359, 451, + 505, 314, 326, 329, 319, 338, 0, 339, 315, 316, + 321, 323, 324, 325, 330, 331, 335, 341, 239, 202, + 365, 373, 485, 295, 207, 208, 209, 478, 479, 480, + 481, 518, 519, 523, 430, 431, 432, 433, 954, 191, + 212, 345, 1017, 422, 276, 542, 517, 513, 198, 214, + 893, 250, 904, 912, 0, 918, 926, 927, 939, 941, + 942, 943, 944, 962, 963, 965, 973, 975, 978, 980, + 987, 998, 1020, 193, 194, 201, 213, 223, 227, 234, + 249, 264, 266, 273, 285, 290, 293, 299, 300, 303, + 309, 355, 361, 362, 363, 364, 383, 384, 385, 388, + 391, 392, 395, 397, 398, 401, 405, 409, 410, 411, + 412, 414, 416, 423, 428, 440, 441, 442, 443, 444, + 447, 448, 453, 454, 455, 456, 457, 465, 466, 470, + 493, 495, 507, 524, 529, 446, 286, 502, 530, 0, + 354, 953, 959, 356, 269, 289, 301, 968, 516, 467, + 218, 434, 278, 241, 986, 988, 203, 237, 221, 247, + 262, 265, 305, 366, 374, 403, 408, 283, 259, 235, + 427, 232, 450, 473, 474, 475, 477, 370, 254, 407, + 949, 977, 352, 483, 484, 297, 371, 0, 0, 0, + 0, 482, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 390, 0, 0, 1881, 0, 646, 0, + 0, 0, 258, 651, 0, 0, 0, 343, 255, 0, + 1882, 404, 0, 197, 0, 452, 242, 353, 350, 490, + 270, 261, 257, 240, 298, 360, 402, 472, 396, 657, + 347, 0, 0, 462, 375, 0, 0, 0, 0, 0, + 653, 654, 0, 0, 0, 0, 0, 0, 0, 0, + 304, 238, 306, 196, 387, 463, 274, 0, 87, 0, + 0, 188, 189, 190, 757, 765, 766, 767, 768, 769, + 758, 760, 0, 0, 229, 759, 236, 684, 686, 685, + 695, 696, 697, 698, 699, 700, 701, 682, 762, 770, + 771, 0, 253, 302, 260, 252, 487, 0, 0, 0, + 0, 0, 0, 0, 220, 0, 0, 0, 0, 0, + 0, 0, 629, 643, 0, 656, 0, 0, 0, 263, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 640, 641, 853, 0, 0, + 0, 727, 0, 642, 0, 0, 650, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, - 785, 786, 787, 788, 789, 790, 791, 792, 793, 713, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 281, 0, 373, 242, 0, 706, 0, 0, 516, 0, - 0, 704, 0, 0, 0, 0, 339, 0, 308, 192, - 213, 0, 0, 383, 426, 436, 0, 0, 0, 240, - 0, 434, 397, 499, 221, 269, 423, 403, 432, 410, - 272, 0, 0, 433, 345, 485, 417, 496, 517, 518, - 248, 377, 507, 473, 513, 531, 214, 245, 391, 466, - 502, 456, 369, 481, 482, 307, 455, 279, 195, 343, - 523, 212, 442, 230, 219, 487, 505, 274, 421, 204, - 468, 494, 227, 446, 0, 0, 533, 206, 492, 465, - 365, 304, 305, 205, 0, 422, 253, 277, 243, 386, - 489, 490, 241, 534, 216, 512, 208, 0, 511, 379, - 484, 493, 366, 355, 207, 491, 364, 354, 310, 670, - 671, 265, 288, 415, 348, 416, 289, 375, 374, 376, - 199, 503, 0, 200, 0, 461, 504, 535, 222, 223, - 225, 0, 264, 268, 276, 278, 284, 285, 293, 341, - 390, 414, 412, 418, 0, 479, 497, 508, 515, 521, - 522, 524, 525, 526, 527, 528, 530, 529, 378, 291, - 457, 309, 346, 0, 0, 396, 435, 228, 501, 458, - 714, 705, 651, 718, 653, 715, 716, 648, 649, 652, - 717, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 545, 546, 547, 548, 549, 550, 551, 552, 553, 0, - 708, 639, 638, 0, 645, 0, 660, 661, 663, 667, - 668, 669, 672, 673, 674, 682, 684, 685, 683, 686, - 687, 688, 691, 692, 693, 694, 689, 690, 695, 654, - 658, 655, 656, 657, 659, 728, 729, 730, 731, 637, - 191, 209, 342, 0, 419, 273, 532, 510, 506, 198, - 211, 719, 247, 720, 0, 0, 724, 0, 0, 0, - 726, 725, 0, 727, 699, 698, 0, 0, 721, 722, - 0, 723, 0, 0, 193, 194, 201, 210, 220, 224, - 231, 246, 261, 263, 270, 282, 287, 290, 296, 297, - 300, 306, 352, 358, 359, 360, 361, 380, 381, 382, - 385, 388, 389, 392, 394, 395, 398, 402, 406, 407, - 408, 409, 411, 413, 420, 425, 437, 438, 439, 440, - 441, 444, 445, 450, 451, 452, 453, 454, 462, 463, - 467, 486, 488, 500, 514, 519, 443, 283, 495, 520, - 0, 351, 0, 0, 353, 266, 286, 298, 0, 509, - 464, 215, 431, 275, 238, 744, 0, 203, 234, 218, - 244, 259, 262, 302, 363, 371, 400, 405, 280, 256, - 232, 424, 229, 447, 470, 471, 472, 474, 367, 251, - 404, 0, 368, 349, 476, 477, 294, 475, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 387, - 0, 0, 0, 0, 636, 0, 0, 0, 255, 641, - 0, 0, 0, 340, 252, 0, 0, 401, 0, 197, - 0, 449, 239, 350, 347, 483, 267, 258, 254, 237, - 295, 357, 399, 469, 393, 647, 344, 0, 0, 459, - 372, 0, 0, 0, 0, 0, 643, 644, 0, 0, - 0, 0, 0, 0, 0, 0, 301, 235, 303, 196, - 384, 460, 271, 0, 87, 0, 0, 188, 189, 190, - 737, 745, 746, 747, 748, 749, 738, 740, 0, 0, - 226, 739, 233, 664, 666, 665, 675, 676, 677, 678, - 679, 680, 681, 662, 742, 750, 751, 0, 250, 299, - 257, 249, 480, 0, 0, 1798, 1799, 1800, 0, 0, - 217, 0, 0, 0, 0, 0, 0, 0, 619, 633, - 0, 646, 0, 0, 0, 260, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 630, 631, 0, 0, 0, 0, 707, 0, 632, - 0, 0, 640, 752, 753, 754, 755, 756, 757, 758, - 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, - 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, + 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, + 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, + 805, 806, 807, 808, 809, 810, 811, 812, 813, 733, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 284, 0, 376, 245, 0, 726, 0, 0, 526, 0, + 0, 724, 0, 0, 0, 0, 342, 0, 311, 192, + 216, 0, 0, 386, 429, 439, 0, 0, 0, 243, + 0, 437, 400, 506, 224, 272, 426, 406, 435, 413, + 275, 0, 0, 436, 348, 492, 420, 503, 527, 528, + 251, 380, 514, 476, 522, 541, 217, 248, 394, 469, + 509, 459, 372, 488, 489, 310, 458, 282, 195, 346, + 533, 215, 445, 233, 222, 494, 512, 277, 424, 204, + 471, 501, 230, 449, 0, 0, 543, 206, 499, 468, + 368, 307, 308, 205, 0, 425, 256, 280, 246, 389, + 496, 497, 244, 544, 219, 521, 211, 0, 520, 382, + 491, 500, 369, 358, 210, 498, 367, 357, 313, 690, + 691, 268, 291, 418, 351, 419, 292, 378, 377, 379, + 199, 510, 0, 200, 0, 464, 511, 545, 225, 226, + 228, 0, 267, 271, 279, 281, 287, 288, 296, 344, + 393, 417, 415, 421, 0, 486, 504, 515, 525, 531, + 532, 534, 535, 536, 537, 538, 540, 539, 381, 294, + 460, 312, 349, 0, 0, 399, 438, 231, 508, 461, + 734, 725, 661, 738, 663, 735, 736, 658, 659, 662, + 737, 546, 547, 548, 549, 550, 551, 552, 553, 554, + 555, 556, 557, 558, 559, 560, 561, 562, 563, 0, + 728, 649, 648, 0, 655, 0, 680, 681, 683, 687, + 688, 689, 692, 693, 694, 702, 704, 705, 703, 706, + 707, 708, 711, 712, 713, 714, 709, 710, 715, 664, + 668, 665, 666, 667, 679, 669, 670, 671, 672, 673, + 674, 675, 676, 677, 678, 748, 749, 750, 751, 647, + 191, 212, 345, 0, 422, 276, 542, 517, 513, 198, + 214, 739, 250, 740, 0, 0, 744, 0, 0, 0, + 746, 745, 0, 747, 719, 718, 0, 0, 741, 742, + 0, 743, 0, 0, 193, 194, 201, 213, 223, 227, + 234, 249, 264, 266, 273, 285, 290, 293, 299, 300, + 303, 309, 355, 361, 362, 363, 364, 383, 384, 385, + 388, 391, 392, 395, 397, 398, 401, 405, 409, 410, + 411, 412, 414, 416, 423, 428, 440, 441, 442, 443, + 444, 447, 448, 453, 454, 455, 456, 457, 465, 466, + 470, 493, 495, 507, 524, 529, 446, 286, 502, 530, + 0, 354, 0, 0, 356, 269, 289, 301, 0, 516, + 467, 218, 434, 278, 241, 764, 0, 203, 237, 221, + 247, 262, 265, 305, 366, 374, 403, 408, 283, 259, + 235, 427, 232, 450, 473, 474, 475, 477, 370, 254, + 407, 0, 371, 352, 483, 484, 297, 482, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, + 0, 0, 0, 0, 646, 0, 0, 0, 258, 651, + 0, 0, 0, 343, 255, 0, 0, 404, 0, 197, + 0, 452, 242, 353, 350, 490, 270, 261, 257, 240, + 298, 360, 402, 472, 396, 657, 347, 0, 0, 462, + 375, 0, 0, 0, 0, 0, 653, 654, 0, 0, + 0, 0, 0, 0, 0, 0, 304, 238, 306, 196, + 387, 463, 274, 0, 87, 0, 0, 188, 189, 190, + 757, 765, 766, 767, 768, 769, 758, 760, 0, 0, + 229, 759, 236, 684, 686, 685, 695, 696, 697, 698, + 699, 700, 701, 682, 762, 770, 771, 0, 253, 302, + 260, 252, 487, 0, 0, 1838, 1839, 1840, 0, 0, + 220, 0, 0, 0, 0, 0, 0, 0, 629, 643, + 0, 656, 0, 0, 0, 263, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 640, 641, 0, 0, 0, 0, 727, 0, 642, + 0, 0, 650, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, - 789, 790, 791, 792, 793, 713, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 281, 0, 373, 242, - 0, 706, 0, 0, 516, 0, 0, 704, 0, 0, - 0, 0, 339, 0, 308, 192, 213, 0, 0, 383, - 426, 436, 0, 0, 0, 240, 0, 434, 397, 499, - 221, 269, 423, 403, 432, 410, 272, 0, 0, 433, - 345, 485, 417, 496, 517, 518, 248, 377, 507, 473, - 513, 531, 214, 245, 391, 466, 502, 456, 369, 481, - 482, 307, 455, 279, 195, 343, 523, 212, 442, 230, - 219, 487, 505, 274, 421, 204, 468, 494, 227, 446, - 0, 0, 533, 206, 492, 465, 365, 304, 305, 205, - 0, 422, 253, 277, 243, 386, 489, 490, 241, 534, - 216, 512, 208, 0, 511, 379, 484, 493, 366, 355, - 207, 491, 364, 354, 310, 670, 671, 265, 288, 415, - 348, 416, 289, 375, 374, 376, 199, 503, 0, 200, - 0, 461, 504, 535, 222, 223, 225, 0, 264, 268, - 276, 278, 284, 285, 293, 341, 390, 414, 412, 418, - 0, 479, 497, 508, 515, 521, 522, 524, 525, 526, - 527, 528, 530, 529, 378, 291, 457, 309, 346, 0, - 0, 396, 435, 228, 501, 458, 714, 705, 651, 718, - 653, 715, 716, 648, 649, 652, 717, 536, 537, 538, - 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, - 549, 550, 551, 552, 553, 0, 708, 639, 638, 0, - 645, 0, 660, 661, 663, 667, 668, 669, 672, 673, - 674, 682, 684, 685, 683, 686, 687, 688, 691, 692, - 693, 694, 689, 690, 695, 654, 658, 655, 656, 657, - 659, 728, 729, 730, 731, 637, 191, 209, 342, 0, - 419, 273, 532, 510, 506, 198, 211, 719, 247, 720, - 0, 0, 724, 0, 0, 0, 726, 725, 0, 727, - 699, 698, 0, 0, 721, 722, 0, 723, 0, 0, - 193, 194, 201, 210, 220, 224, 231, 246, 261, 263, - 270, 282, 287, 290, 296, 297, 300, 306, 352, 358, - 359, 360, 361, 380, 381, 382, 385, 388, 389, 392, - 394, 395, 398, 402, 406, 407, 408, 409, 411, 413, - 420, 425, 437, 438, 439, 440, 441, 444, 445, 450, - 451, 452, 453, 454, 462, 463, 467, 486, 488, 500, - 514, 519, 443, 283, 495, 520, 0, 351, 0, 0, - 353, 266, 286, 298, 0, 509, 464, 215, 431, 275, - 238, 744, 0, 203, 234, 218, 244, 259, 262, 302, - 363, 371, 400, 405, 280, 256, 232, 424, 229, 447, - 470, 471, 472, 474, 367, 251, 404, 0, 368, 349, - 476, 477, 294, 475, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 387, 0, 0, 0, 0, - 636, 0, 0, 0, 255, 641, 0, 0, 0, 340, - 252, 0, 0, 401, 0, 197, 0, 449, 239, 350, - 347, 483, 267, 258, 254, 237, 295, 357, 399, 469, - 393, 647, 344, 0, 0, 459, 372, 0, 0, 0, - 0, 0, 643, 644, 0, 0, 0, 0, 0, 0, - 1930, 0, 301, 235, 303, 196, 384, 460, 271, 0, - 87, 0, 0, 188, 189, 190, 737, 745, 746, 747, - 748, 749, 738, 740, 0, 0, 226, 739, 233, 664, - 666, 665, 675, 676, 677, 678, 679, 680, 681, 662, - 742, 750, 751, 1931, 250, 299, 257, 249, 480, 0, - 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, - 0, 0, 0, 0, 619, 633, 0, 646, 0, 0, - 0, 260, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 630, 631, 0, - 0, 0, 0, 707, 0, 632, 0, 0, 640, 752, - 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, - 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, + 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, + 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, + 809, 810, 811, 812, 813, 733, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 284, 0, 376, 245, + 0, 726, 0, 0, 526, 0, 0, 724, 0, 0, + 0, 0, 342, 0, 311, 192, 216, 0, 0, 386, + 429, 439, 0, 0, 0, 243, 0, 437, 400, 506, + 224, 272, 426, 406, 435, 413, 275, 0, 0, 436, + 348, 492, 420, 503, 527, 528, 251, 380, 514, 476, + 522, 541, 217, 248, 394, 469, 509, 459, 372, 488, + 489, 310, 458, 282, 195, 346, 533, 215, 445, 233, + 222, 494, 512, 277, 424, 204, 471, 501, 230, 449, + 0, 0, 543, 206, 499, 468, 368, 307, 308, 205, + 0, 425, 256, 280, 246, 389, 496, 497, 244, 544, + 219, 521, 211, 0, 520, 382, 491, 500, 369, 358, + 210, 498, 367, 357, 313, 690, 691, 268, 291, 418, + 351, 419, 292, 378, 377, 379, 199, 510, 0, 200, + 0, 464, 511, 545, 225, 226, 228, 0, 267, 271, + 279, 281, 287, 288, 296, 344, 393, 417, 415, 421, + 0, 486, 504, 515, 525, 531, 532, 534, 535, 536, + 537, 538, 540, 539, 381, 294, 460, 312, 349, 0, + 0, 399, 438, 231, 508, 461, 734, 725, 661, 738, + 663, 735, 736, 658, 659, 662, 737, 546, 547, 548, + 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, + 559, 560, 561, 562, 563, 0, 728, 649, 648, 0, + 655, 0, 680, 681, 683, 687, 688, 689, 692, 693, + 694, 702, 704, 705, 703, 706, 707, 708, 711, 712, + 713, 714, 709, 710, 715, 664, 668, 665, 666, 667, + 679, 669, 670, 671, 672, 673, 674, 675, 676, 677, + 678, 748, 749, 750, 751, 647, 191, 212, 345, 0, + 422, 276, 542, 517, 513, 198, 214, 739, 250, 740, + 0, 0, 744, 0, 0, 0, 746, 745, 0, 747, + 719, 718, 0, 0, 741, 742, 0, 743, 0, 0, + 193, 194, 201, 213, 223, 227, 234, 249, 264, 266, + 273, 285, 290, 293, 299, 300, 303, 309, 355, 361, + 362, 363, 364, 383, 384, 385, 388, 391, 392, 395, + 397, 398, 401, 405, 409, 410, 411, 412, 414, 416, + 423, 428, 440, 441, 442, 443, 444, 447, 448, 453, + 454, 455, 456, 457, 465, 466, 470, 493, 495, 507, + 524, 529, 446, 286, 502, 530, 0, 354, 0, 0, + 356, 269, 289, 301, 0, 516, 467, 218, 434, 278, + 241, 764, 0, 203, 237, 221, 247, 262, 265, 305, + 366, 374, 403, 408, 283, 259, 235, 427, 232, 450, + 473, 474, 475, 477, 370, 254, 407, 0, 371, 352, + 483, 484, 297, 482, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 390, 0, 0, 0, 0, + 646, 0, 0, 0, 258, 651, 0, 0, 0, 343, + 255, 0, 0, 404, 0, 197, 0, 452, 242, 353, + 350, 490, 270, 261, 257, 240, 298, 360, 402, 472, + 396, 657, 347, 0, 0, 462, 375, 0, 0, 0, + 0, 0, 653, 654, 0, 0, 0, 0, 0, 0, + 1970, 0, 304, 238, 306, 196, 387, 463, 274, 0, + 87, 0, 0, 188, 189, 190, 757, 765, 766, 767, + 768, 769, 758, 760, 0, 0, 229, 759, 236, 684, + 686, 685, 695, 696, 697, 698, 699, 700, 701, 682, + 762, 770, 771, 1971, 253, 302, 260, 252, 487, 0, + 0, 0, 0, 0, 0, 0, 220, 0, 0, 0, + 0, 0, 0, 0, 629, 643, 0, 656, 0, 0, + 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 640, 641, 0, + 0, 0, 0, 727, 0, 642, 0, 0, 650, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, - 793, 713, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 281, 0, 373, 242, 0, 706, 0, 0, - 516, 0, 0, 704, 0, 0, 0, 0, 339, 0, - 308, 192, 213, 0, 0, 383, 426, 436, 0, 0, - 0, 240, 0, 434, 397, 499, 221, 269, 423, 403, - 432, 410, 272, 0, 0, 433, 345, 485, 417, 496, - 517, 518, 248, 377, 507, 473, 513, 531, 214, 245, - 391, 466, 502, 456, 369, 481, 482, 307, 455, 279, - 195, 343, 523, 212, 442, 230, 219, 487, 505, 274, - 421, 204, 468, 494, 227, 446, 0, 0, 533, 206, - 492, 465, 365, 304, 305, 205, 0, 422, 253, 277, - 243, 386, 489, 490, 241, 534, 216, 512, 208, 0, - 511, 379, 484, 493, 366, 355, 207, 491, 364, 354, - 310, 670, 671, 265, 288, 415, 348, 416, 289, 375, - 374, 376, 199, 503, 0, 200, 0, 461, 504, 535, - 222, 223, 225, 0, 264, 268, 276, 278, 284, 285, - 293, 341, 390, 414, 412, 418, 0, 479, 497, 508, - 515, 521, 522, 524, 525, 526, 527, 528, 530, 529, - 378, 291, 457, 309, 346, 0, 0, 396, 435, 228, - 501, 458, 714, 705, 651, 718, 653, 715, 716, 648, - 649, 652, 717, 536, 537, 538, 539, 540, 541, 542, - 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, - 553, 0, 708, 639, 638, 0, 645, 0, 660, 661, - 663, 667, 668, 669, 672, 673, 674, 682, 684, 685, - 683, 686, 687, 688, 691, 692, 693, 694, 689, 690, - 695, 654, 658, 655, 656, 657, 659, 728, 729, 730, - 731, 637, 191, 209, 342, 0, 419, 273, 532, 510, - 506, 198, 211, 719, 247, 720, 0, 0, 724, 0, - 0, 0, 726, 725, 0, 727, 699, 698, 0, 0, - 721, 722, 0, 723, 0, 0, 193, 194, 201, 210, - 220, 224, 231, 246, 261, 263, 270, 282, 287, 290, - 296, 297, 300, 306, 352, 358, 359, 360, 361, 380, - 381, 382, 385, 388, 389, 392, 394, 395, 398, 402, - 406, 407, 408, 409, 411, 413, 420, 425, 437, 438, - 439, 440, 441, 444, 445, 450, 451, 452, 453, 454, - 462, 463, 467, 486, 488, 500, 514, 519, 443, 283, - 495, 520, 0, 351, 0, 0, 353, 266, 286, 298, - 0, 509, 464, 215, 431, 275, 238, 744, 0, 203, - 234, 218, 244, 259, 262, 302, 363, 371, 400, 405, - 280, 256, 232, 424, 229, 447, 470, 471, 472, 474, - 367, 251, 404, 0, 0, 349, 476, 477, 294, 368, - 0, 0, 0, 78, 475, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 387, 0, 0, 0, - 0, 636, 0, 0, 0, 255, 641, 0, 0, 0, - 340, 252, 0, 0, 401, 0, 197, 0, 449, 239, - 350, 347, 483, 267, 258, 254, 237, 295, 357, 399, - 469, 393, 647, 344, 0, 0, 459, 372, 0, 0, - 0, 0, 0, 643, 644, 0, 0, 0, 0, 0, - 0, 0, 0, 301, 235, 303, 196, 384, 460, 271, - 0, 87, 0, 0, 188, 189, 190, 737, 745, 746, - 747, 748, 749, 738, 740, 0, 0, 226, 739, 233, - 664, 666, 665, 675, 676, 677, 678, 679, 680, 681, - 662, 742, 750, 751, 0, 250, 299, 257, 249, 480, - 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, - 0, 0, 0, 0, 0, 619, 633, 0, 646, 0, - 0, 0, 260, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 630, 631, - 0, 0, 0, 0, 707, 0, 632, 0, 0, 640, - 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, - 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, + 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, + 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, + 813, 733, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 284, 0, 376, 245, 0, 726, 0, 0, + 526, 0, 0, 724, 0, 0, 0, 0, 342, 0, + 311, 192, 216, 0, 0, 386, 429, 439, 0, 0, + 0, 243, 0, 437, 400, 506, 224, 272, 426, 406, + 435, 413, 275, 0, 0, 436, 348, 492, 420, 503, + 527, 528, 251, 380, 514, 476, 522, 541, 217, 248, + 394, 469, 509, 459, 372, 488, 489, 310, 458, 282, + 195, 346, 533, 215, 445, 233, 222, 494, 512, 277, + 424, 204, 471, 501, 230, 449, 0, 0, 543, 206, + 499, 468, 368, 307, 308, 205, 0, 425, 256, 280, + 246, 389, 496, 497, 244, 544, 219, 521, 211, 0, + 520, 382, 491, 500, 369, 358, 210, 498, 367, 357, + 313, 690, 691, 268, 291, 418, 351, 419, 292, 378, + 377, 379, 199, 510, 0, 200, 0, 464, 511, 545, + 225, 226, 228, 0, 267, 271, 279, 281, 287, 288, + 296, 344, 393, 417, 415, 421, 0, 486, 504, 515, + 525, 531, 532, 534, 535, 536, 537, 538, 540, 539, + 381, 294, 460, 312, 349, 0, 0, 399, 438, 231, + 508, 461, 734, 725, 661, 738, 663, 735, 736, 658, + 659, 662, 737, 546, 547, 548, 549, 550, 551, 552, + 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, + 563, 0, 728, 649, 648, 0, 655, 0, 680, 681, + 683, 687, 688, 689, 692, 693, 694, 702, 704, 705, + 703, 706, 707, 708, 711, 712, 713, 714, 709, 710, + 715, 664, 668, 665, 666, 667, 679, 669, 670, 671, + 672, 673, 674, 675, 676, 677, 678, 748, 749, 750, + 751, 647, 191, 212, 345, 0, 422, 276, 542, 517, + 513, 198, 214, 739, 250, 740, 0, 0, 744, 0, + 0, 0, 746, 745, 0, 747, 719, 718, 0, 0, + 741, 742, 0, 743, 0, 0, 193, 194, 201, 213, + 223, 227, 234, 249, 264, 266, 273, 285, 290, 293, + 299, 300, 303, 309, 355, 361, 362, 363, 364, 383, + 384, 385, 388, 391, 392, 395, 397, 398, 401, 405, + 409, 410, 411, 412, 414, 416, 423, 428, 440, 441, + 442, 443, 444, 447, 448, 453, 454, 455, 456, 457, + 465, 466, 470, 493, 495, 507, 524, 529, 446, 286, + 502, 530, 0, 354, 0, 0, 356, 269, 289, 301, + 0, 516, 467, 218, 434, 278, 241, 764, 0, 203, + 237, 221, 247, 262, 265, 305, 366, 374, 403, 408, + 283, 259, 235, 427, 232, 450, 473, 474, 475, 477, + 370, 254, 407, 0, 0, 352, 483, 484, 297, 371, + 0, 0, 0, 78, 482, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 390, 0, 0, 0, + 0, 646, 0, 0, 0, 258, 651, 0, 0, 0, + 343, 255, 0, 0, 404, 0, 197, 0, 452, 242, + 353, 350, 490, 270, 261, 257, 240, 298, 360, 402, + 472, 396, 657, 347, 0, 0, 462, 375, 0, 0, + 0, 0, 0, 653, 654, 0, 0, 0, 0, 0, + 0, 0, 0, 304, 238, 306, 196, 387, 463, 274, + 0, 87, 0, 0, 188, 189, 190, 757, 765, 766, + 767, 768, 769, 758, 760, 0, 0, 229, 759, 236, + 684, 686, 685, 695, 696, 697, 698, 699, 700, 701, + 682, 762, 770, 771, 0, 253, 302, 260, 252, 487, + 0, 0, 0, 0, 0, 0, 0, 220, 0, 0, + 0, 0, 0, 0, 0, 629, 643, 0, 656, 0, + 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 640, 641, + 0, 0, 0, 0, 727, 0, 642, 0, 0, 650, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, - 792, 793, 713, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 281, 0, 373, 242, 0, 706, 0, - 0, 516, 0, 0, 704, 0, 0, 0, 0, 339, - 0, 308, 192, 213, 0, 0, 383, 426, 436, 0, - 0, 0, 240, 0, 434, 397, 499, 221, 269, 423, - 403, 432, 410, 272, 0, 0, 433, 345, 485, 417, - 496, 517, 518, 248, 377, 507, 473, 513, 531, 214, - 245, 391, 466, 502, 456, 369, 481, 482, 307, 455, - 279, 195, 343, 523, 212, 442, 230, 219, 487, 505, - 274, 421, 204, 468, 494, 227, 446, 0, 0, 533, - 206, 492, 465, 365, 304, 305, 205, 0, 422, 253, - 277, 243, 386, 489, 490, 241, 534, 216, 512, 208, - 0, 511, 379, 484, 493, 366, 355, 207, 491, 364, - 354, 310, 670, 671, 265, 288, 415, 348, 416, 289, - 375, 374, 376, 199, 503, 0, 200, 0, 461, 504, - 535, 222, 223, 225, 0, 264, 268, 276, 278, 284, - 285, 293, 341, 390, 414, 412, 418, 0, 479, 497, - 508, 515, 521, 522, 524, 525, 526, 527, 528, 530, - 529, 378, 291, 457, 309, 346, 0, 0, 396, 435, - 228, 501, 458, 714, 705, 651, 718, 653, 715, 716, - 648, 649, 652, 717, 536, 537, 538, 539, 540, 541, - 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, - 552, 553, 0, 708, 639, 638, 0, 645, 0, 660, - 661, 663, 667, 668, 669, 672, 673, 674, 682, 684, - 685, 683, 686, 687, 688, 691, 692, 693, 694, 689, - 690, 695, 654, 658, 655, 656, 657, 659, 728, 729, - 730, 731, 637, 191, 209, 342, 86, 419, 273, 532, - 510, 506, 198, 211, 719, 247, 720, 0, 0, 724, - 0, 0, 0, 726, 725, 0, 727, 699, 698, 0, - 0, 721, 722, 0, 723, 0, 0, 193, 194, 201, - 210, 220, 224, 231, 246, 261, 263, 270, 282, 287, - 290, 296, 297, 300, 306, 352, 358, 359, 360, 361, - 380, 381, 382, 385, 388, 389, 392, 394, 395, 398, - 402, 406, 407, 408, 409, 411, 413, 420, 425, 437, - 438, 439, 440, 441, 444, 445, 450, 451, 452, 453, - 454, 462, 463, 467, 486, 488, 500, 514, 519, 443, - 283, 495, 520, 0, 351, 0, 0, 353, 266, 286, - 298, 0, 509, 464, 215, 431, 275, 238, 744, 0, - 203, 234, 218, 244, 259, 262, 302, 363, 371, 400, - 405, 280, 256, 232, 424, 229, 447, 470, 471, 472, - 474, 367, 251, 404, 0, 368, 349, 476, 477, 294, - 475, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 387, 0, 0, 0, 0, 636, 0, 0, - 0, 255, 641, 0, 0, 0, 340, 252, 0, 0, - 401, 0, 197, 0, 449, 239, 350, 347, 483, 267, - 258, 254, 237, 295, 357, 399, 469, 393, 647, 344, - 0, 0, 459, 372, 0, 0, 0, 0, 0, 643, - 644, 0, 0, 0, 0, 0, 0, 0, 0, 301, - 235, 303, 196, 384, 460, 271, 0, 87, 0, 0, - 188, 189, 190, 737, 745, 746, 747, 748, 749, 738, - 740, 0, 0, 226, 739, 233, 664, 666, 665, 675, - 676, 677, 678, 679, 680, 681, 662, 742, 750, 751, - 0, 250, 299, 257, 249, 480, 0, 0, 0, 0, - 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, - 0, 619, 633, 0, 646, 0, 0, 0, 260, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 630, 631, 0, 0, 0, 0, - 707, 0, 632, 0, 0, 640, 752, 753, 754, 755, - 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, - 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, + 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, + 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, + 812, 813, 733, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 284, 0, 376, 245, 0, 726, 0, + 0, 526, 0, 0, 724, 0, 0, 0, 0, 342, + 0, 311, 192, 216, 0, 0, 386, 429, 439, 0, + 0, 0, 243, 0, 437, 400, 506, 224, 272, 426, + 406, 435, 413, 275, 0, 0, 436, 348, 492, 420, + 503, 527, 528, 251, 380, 514, 476, 522, 541, 217, + 248, 394, 469, 509, 459, 372, 488, 489, 310, 458, + 282, 195, 346, 533, 215, 445, 233, 222, 494, 512, + 277, 424, 204, 471, 501, 230, 449, 0, 0, 543, + 206, 499, 468, 368, 307, 308, 205, 0, 425, 256, + 280, 246, 389, 496, 497, 244, 544, 219, 521, 211, + 0, 520, 382, 491, 500, 369, 358, 210, 498, 367, + 357, 313, 690, 691, 268, 291, 418, 351, 419, 292, + 378, 377, 379, 199, 510, 0, 200, 0, 464, 511, + 545, 225, 226, 228, 0, 267, 271, 279, 281, 287, + 288, 296, 344, 393, 417, 415, 421, 0, 486, 504, + 515, 525, 531, 532, 534, 535, 536, 537, 538, 540, + 539, 381, 294, 460, 312, 349, 0, 0, 399, 438, + 231, 508, 461, 734, 725, 661, 738, 663, 735, 736, + 658, 659, 662, 737, 546, 547, 548, 549, 550, 551, + 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, + 562, 563, 0, 728, 649, 648, 0, 655, 0, 680, + 681, 683, 687, 688, 689, 692, 693, 694, 702, 704, + 705, 703, 706, 707, 708, 711, 712, 713, 714, 709, + 710, 715, 664, 668, 665, 666, 667, 679, 669, 670, + 671, 672, 673, 674, 675, 676, 677, 678, 748, 749, + 750, 751, 647, 191, 212, 345, 86, 422, 276, 542, + 517, 513, 198, 214, 739, 250, 740, 0, 0, 744, + 0, 0, 0, 746, 745, 0, 747, 719, 718, 0, + 0, 741, 742, 0, 743, 0, 0, 193, 194, 201, + 213, 223, 227, 234, 249, 264, 266, 273, 285, 290, + 293, 299, 300, 303, 309, 355, 361, 362, 363, 364, + 383, 384, 385, 388, 391, 392, 395, 397, 398, 401, + 405, 409, 410, 411, 412, 414, 416, 423, 428, 440, + 441, 442, 443, 444, 447, 448, 453, 454, 455, 456, + 457, 465, 466, 470, 493, 495, 507, 524, 529, 446, + 286, 502, 530, 0, 354, 0, 0, 356, 269, 289, + 301, 0, 516, 467, 218, 434, 278, 241, 764, 0, + 203, 237, 221, 247, 262, 265, 305, 366, 374, 403, + 408, 283, 259, 235, 427, 232, 450, 473, 474, 475, + 477, 370, 254, 407, 0, 371, 352, 483, 484, 297, + 482, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 390, 0, 0, 0, 0, 646, 0, 0, + 0, 258, 651, 0, 0, 0, 343, 255, 0, 0, + 404, 0, 197, 0, 452, 242, 353, 350, 490, 270, + 261, 257, 240, 298, 360, 402, 472, 396, 657, 347, + 0, 0, 462, 375, 0, 0, 0, 0, 0, 653, + 654, 0, 0, 0, 0, 0, 0, 0, 0, 304, + 238, 306, 196, 387, 463, 274, 0, 87, 0, 0, + 188, 189, 190, 757, 765, 766, 767, 768, 769, 758, + 760, 0, 0, 229, 759, 236, 684, 686, 685, 695, + 696, 697, 698, 699, 700, 701, 682, 762, 770, 771, + 0, 253, 302, 260, 252, 487, 0, 0, 0, 0, + 0, 0, 0, 220, 0, 0, 0, 0, 0, 0, + 0, 629, 643, 0, 656, 0, 0, 0, 263, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 640, 641, 0, 0, 0, 0, + 727, 0, 642, 0, 0, 650, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, - 786, 787, 788, 789, 790, 791, 792, 793, 713, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 281, - 0, 373, 242, 0, 706, 0, 0, 516, 0, 0, - 704, 0, 0, 0, 0, 339, 0, 308, 192, 213, - 0, 0, 383, 426, 436, 0, 0, 0, 240, 0, - 434, 397, 499, 221, 269, 423, 403, 432, 410, 272, - 3143, 0, 433, 345, 485, 417, 496, 517, 518, 248, - 377, 507, 473, 513, 531, 214, 245, 391, 466, 502, - 456, 369, 481, 482, 307, 455, 279, 195, 343, 523, - 212, 442, 230, 219, 487, 505, 274, 421, 204, 468, - 494, 227, 446, 0, 0, 533, 206, 492, 465, 365, - 304, 305, 205, 0, 422, 253, 277, 243, 386, 489, - 490, 241, 534, 216, 512, 208, 0, 511, 379, 484, - 493, 366, 355, 207, 491, 364, 354, 310, 670, 671, - 265, 288, 415, 348, 416, 289, 375, 374, 376, 199, - 503, 0, 200, 0, 461, 504, 535, 222, 223, 225, - 0, 264, 268, 276, 278, 284, 285, 293, 341, 390, - 414, 412, 418, 0, 479, 497, 508, 515, 521, 522, - 524, 525, 526, 527, 528, 530, 529, 378, 291, 457, - 309, 346, 0, 0, 396, 435, 228, 501, 458, 714, - 705, 651, 718, 653, 715, 716, 648, 649, 652, 717, - 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, - 546, 547, 548, 549, 550, 551, 552, 553, 0, 708, - 639, 638, 0, 645, 0, 660, 661, 663, 667, 668, - 669, 672, 673, 674, 682, 684, 685, 683, 686, 687, - 688, 691, 692, 693, 694, 689, 690, 695, 654, 658, - 655, 656, 657, 659, 728, 729, 730, 731, 637, 191, - 209, 342, 0, 419, 273, 532, 510, 506, 198, 211, - 719, 247, 720, 0, 0, 724, 0, 0, 0, 726, - 725, 0, 727, 699, 698, 0, 0, 721, 722, 0, - 723, 0, 0, 193, 194, 201, 210, 220, 224, 231, - 246, 261, 263, 270, 282, 287, 290, 296, 297, 300, - 306, 352, 358, 359, 360, 361, 380, 381, 382, 385, - 388, 389, 392, 394, 395, 398, 402, 406, 407, 408, - 409, 411, 413, 420, 425, 437, 438, 439, 440, 441, - 444, 445, 450, 451, 452, 453, 454, 462, 463, 467, - 486, 488, 500, 514, 519, 443, 283, 495, 520, 0, - 351, 0, 0, 353, 266, 286, 298, 0, 509, 464, - 215, 431, 275, 238, 744, 0, 203, 234, 218, 244, - 259, 262, 302, 363, 371, 400, 405, 280, 256, 232, - 424, 229, 447, 470, 471, 472, 474, 367, 251, 404, - 0, 368, 349, 476, 477, 294, 475, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 387, 0, - 0, 0, 0, 636, 0, 0, 0, 255, 641, 0, - 0, 0, 340, 252, 0, 0, 401, 0, 197, 0, - 449, 239, 350, 347, 483, 267, 258, 254, 237, 295, - 357, 399, 469, 393, 647, 344, 0, 0, 459, 372, - 0, 0, 0, 0, 0, 643, 644, 0, 0, 0, - 0, 0, 0, 0, 0, 301, 235, 303, 196, 384, - 460, 271, 0, 87, 0, 1391, 188, 189, 190, 737, - 745, 746, 747, 748, 749, 738, 740, 0, 0, 226, - 739, 233, 664, 666, 665, 675, 676, 677, 678, 679, - 680, 681, 662, 742, 750, 751, 0, 250, 299, 257, - 249, 480, 0, 0, 0, 0, 0, 0, 0, 217, - 0, 0, 0, 0, 0, 0, 0, 619, 633, 0, - 646, 0, 0, 0, 260, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 630, 631, 0, 0, 0, 0, 707, 0, 632, 0, - 0, 640, 752, 753, 754, 755, 756, 757, 758, 759, - 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, - 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, + 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, + 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, + 806, 807, 808, 809, 810, 811, 812, 813, 733, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 284, + 0, 376, 245, 0, 726, 0, 0, 526, 0, 0, + 724, 0, 0, 0, 0, 342, 0, 311, 192, 216, + 0, 0, 386, 429, 439, 0, 0, 0, 243, 0, + 437, 400, 506, 224, 272, 426, 406, 435, 413, 275, + 3203, 0, 436, 348, 492, 420, 503, 527, 528, 251, + 380, 514, 476, 522, 541, 217, 248, 394, 469, 509, + 459, 372, 488, 489, 310, 458, 282, 195, 346, 533, + 215, 445, 233, 222, 494, 512, 277, 424, 204, 471, + 501, 230, 449, 0, 0, 543, 206, 499, 468, 368, + 307, 308, 205, 0, 425, 256, 280, 246, 389, 496, + 497, 244, 544, 219, 521, 211, 0, 520, 382, 491, + 500, 369, 358, 210, 498, 367, 357, 313, 690, 691, + 268, 291, 418, 351, 419, 292, 378, 377, 379, 199, + 510, 0, 200, 0, 464, 511, 545, 225, 226, 228, + 0, 267, 271, 279, 281, 287, 288, 296, 344, 393, + 417, 415, 421, 0, 486, 504, 515, 525, 531, 532, + 534, 535, 536, 537, 538, 540, 539, 381, 294, 460, + 312, 349, 0, 0, 399, 438, 231, 508, 461, 734, + 725, 661, 738, 663, 735, 736, 658, 659, 662, 737, + 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, + 556, 557, 558, 559, 560, 561, 562, 563, 0, 728, + 649, 648, 0, 655, 0, 680, 681, 683, 687, 688, + 689, 692, 693, 694, 702, 704, 705, 703, 706, 707, + 708, 711, 712, 713, 714, 709, 710, 715, 664, 668, + 665, 666, 667, 679, 669, 670, 671, 672, 673, 674, + 675, 676, 677, 678, 748, 749, 750, 751, 647, 191, + 212, 345, 0, 422, 276, 542, 517, 513, 198, 214, + 739, 250, 740, 0, 0, 744, 0, 0, 0, 746, + 745, 0, 747, 719, 718, 0, 0, 741, 742, 0, + 743, 0, 0, 193, 194, 201, 213, 223, 227, 234, + 249, 264, 266, 273, 285, 290, 293, 299, 300, 303, + 309, 355, 361, 362, 363, 364, 383, 384, 385, 388, + 391, 392, 395, 397, 398, 401, 405, 409, 410, 411, + 412, 414, 416, 423, 428, 440, 441, 442, 443, 444, + 447, 448, 453, 454, 455, 456, 457, 465, 466, 470, + 493, 495, 507, 524, 529, 446, 286, 502, 530, 0, + 354, 0, 0, 356, 269, 289, 301, 0, 516, 467, + 218, 434, 278, 241, 764, 0, 203, 237, 221, 247, + 262, 265, 305, 366, 374, 403, 408, 283, 259, 235, + 427, 232, 450, 473, 474, 475, 477, 370, 254, 407, + 0, 371, 352, 483, 484, 297, 482, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 646, 0, 0, 0, 258, 651, 0, + 0, 0, 343, 255, 0, 0, 404, 0, 197, 0, + 452, 242, 353, 350, 490, 270, 261, 257, 240, 298, + 360, 402, 472, 396, 657, 347, 0, 0, 462, 375, + 0, 0, 0, 0, 0, 653, 654, 0, 0, 0, + 0, 0, 0, 0, 0, 304, 238, 306, 196, 387, + 463, 274, 0, 87, 0, 1421, 188, 189, 190, 757, + 765, 766, 767, 768, 769, 758, 760, 0, 0, 229, + 759, 236, 684, 686, 685, 695, 696, 697, 698, 699, + 700, 701, 682, 762, 770, 771, 0, 253, 302, 260, + 252, 487, 0, 0, 0, 0, 0, 0, 0, 220, + 0, 0, 0, 0, 0, 0, 0, 629, 643, 0, + 656, 0, 0, 0, 263, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 640, 641, 0, 0, 0, 0, 727, 0, 642, 0, + 0, 650, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, - 790, 791, 792, 793, 713, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 281, 0, 373, 242, 0, - 706, 0, 0, 516, 0, 0, 704, 0, 0, 0, - 0, 339, 0, 308, 192, 213, 0, 0, 383, 426, - 436, 0, 0, 0, 240, 0, 434, 397, 499, 221, - 269, 423, 403, 432, 410, 272, 0, 0, 433, 345, - 485, 417, 496, 517, 518, 248, 377, 507, 473, 513, - 531, 214, 245, 391, 466, 502, 456, 369, 481, 482, - 307, 455, 279, 195, 343, 523, 212, 442, 230, 219, - 487, 505, 274, 421, 204, 468, 494, 227, 446, 0, - 0, 533, 206, 492, 465, 365, 304, 305, 205, 0, - 422, 253, 277, 243, 386, 489, 490, 241, 534, 216, - 512, 208, 0, 511, 379, 484, 493, 366, 355, 207, - 491, 364, 354, 310, 670, 671, 265, 288, 415, 348, - 416, 289, 375, 374, 376, 199, 503, 0, 200, 0, - 461, 504, 535, 222, 223, 225, 0, 264, 268, 276, - 278, 284, 285, 293, 341, 390, 414, 412, 418, 0, - 479, 497, 508, 515, 521, 522, 524, 525, 526, 527, - 528, 530, 529, 378, 291, 457, 309, 346, 0, 0, - 396, 435, 228, 501, 458, 714, 705, 651, 718, 653, - 715, 716, 648, 649, 652, 717, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, - 550, 551, 552, 553, 0, 708, 639, 638, 0, 645, - 0, 660, 661, 663, 667, 668, 669, 672, 673, 674, - 682, 684, 685, 683, 686, 687, 688, 691, 692, 693, - 694, 689, 690, 695, 654, 658, 655, 656, 657, 659, - 728, 729, 730, 731, 637, 191, 209, 342, 0, 419, - 273, 532, 510, 506, 198, 211, 719, 247, 720, 0, - 0, 724, 0, 0, 0, 726, 725, 0, 727, 699, - 698, 0, 0, 721, 722, 0, 723, 0, 0, 193, - 194, 201, 210, 220, 224, 231, 246, 261, 263, 270, - 282, 287, 290, 296, 297, 300, 306, 352, 358, 359, - 360, 361, 380, 381, 382, 385, 388, 389, 392, 394, - 395, 398, 402, 406, 407, 408, 409, 411, 413, 420, - 425, 437, 438, 439, 440, 441, 444, 445, 450, 451, - 452, 453, 454, 462, 463, 467, 486, 488, 500, 514, - 519, 443, 283, 495, 520, 0, 351, 0, 0, 353, - 266, 286, 298, 0, 509, 464, 215, 431, 275, 238, - 744, 0, 203, 234, 218, 244, 259, 262, 302, 363, - 371, 400, 405, 280, 256, 232, 424, 229, 447, 470, - 471, 472, 474, 367, 251, 404, 0, 368, 349, 476, - 477, 294, 475, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 387, 0, 0, 0, 0, 636, - 0, 0, 0, 255, 641, 0, 0, 0, 340, 252, - 0, 0, 401, 0, 197, 0, 449, 239, 350, 347, - 483, 267, 258, 254, 237, 295, 357, 399, 469, 393, - 647, 344, 0, 0, 459, 372, 0, 0, 0, 0, - 0, 643, 644, 0, 0, 0, 0, 0, 0, 0, - 0, 301, 235, 303, 196, 384, 460, 271, 0, 87, - 0, 0, 188, 189, 190, 737, 745, 746, 747, 748, - 749, 738, 740, 0, 0, 226, 739, 233, 664, 666, - 665, 675, 676, 677, 678, 679, 680, 681, 662, 742, - 750, 751, 0, 250, 299, 257, 249, 480, 0, 0, - 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, - 0, 0, 0, 619, 633, 0, 646, 0, 0, 0, - 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 630, 631, 833, 0, - 0, 0, 707, 0, 632, 0, 0, 640, 752, 753, - 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, - 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, + 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, + 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, + 810, 811, 812, 813, 733, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 284, 0, 376, 245, 0, + 726, 0, 0, 526, 0, 0, 724, 0, 0, 0, + 0, 342, 0, 311, 192, 216, 0, 0, 386, 429, + 439, 0, 0, 0, 243, 0, 437, 400, 506, 224, + 272, 426, 406, 435, 413, 275, 0, 0, 436, 348, + 492, 420, 503, 527, 528, 251, 380, 514, 476, 522, + 541, 217, 248, 394, 469, 509, 459, 372, 488, 489, + 310, 458, 282, 195, 346, 533, 215, 445, 233, 222, + 494, 512, 277, 424, 204, 471, 501, 230, 449, 0, + 0, 543, 206, 499, 468, 368, 307, 308, 205, 0, + 425, 256, 280, 246, 389, 496, 497, 244, 544, 219, + 521, 211, 0, 520, 382, 491, 500, 369, 358, 210, + 498, 367, 357, 313, 690, 691, 268, 291, 418, 351, + 419, 292, 378, 377, 379, 199, 510, 0, 200, 0, + 464, 511, 545, 225, 226, 228, 0, 267, 271, 279, + 281, 287, 288, 296, 344, 393, 417, 415, 421, 0, + 486, 504, 515, 525, 531, 532, 534, 535, 536, 537, + 538, 540, 539, 381, 294, 460, 312, 349, 0, 0, + 399, 438, 231, 508, 461, 734, 725, 661, 738, 663, + 735, 736, 658, 659, 662, 737, 546, 547, 548, 549, + 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, + 560, 561, 562, 563, 0, 728, 649, 648, 0, 655, + 0, 680, 681, 683, 687, 688, 689, 692, 693, 694, + 702, 704, 705, 703, 706, 707, 708, 711, 712, 713, + 714, 709, 710, 715, 664, 668, 665, 666, 667, 679, + 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, + 748, 749, 750, 751, 647, 191, 212, 345, 0, 422, + 276, 542, 517, 513, 198, 214, 739, 250, 740, 0, + 0, 744, 0, 0, 0, 746, 745, 0, 747, 719, + 718, 0, 0, 741, 742, 0, 743, 0, 0, 193, + 194, 201, 213, 223, 227, 234, 249, 264, 266, 273, + 285, 290, 293, 299, 300, 303, 309, 355, 361, 362, + 363, 364, 383, 384, 385, 388, 391, 392, 395, 397, + 398, 401, 405, 409, 410, 411, 412, 414, 416, 423, + 428, 440, 441, 442, 443, 444, 447, 448, 453, 454, + 455, 456, 457, 465, 466, 470, 493, 495, 507, 524, + 529, 446, 286, 502, 530, 0, 354, 0, 0, 356, + 269, 289, 301, 0, 516, 467, 218, 434, 278, 241, + 764, 0, 203, 237, 221, 247, 262, 265, 305, 366, + 374, 403, 408, 283, 259, 235, 427, 232, 450, 473, + 474, 475, 477, 370, 254, 407, 0, 371, 352, 483, + 484, 297, 482, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 390, 0, 0, 0, 0, 646, + 0, 0, 0, 258, 651, 0, 0, 0, 343, 255, + 0, 0, 404, 0, 197, 0, 452, 242, 353, 350, + 490, 270, 261, 257, 240, 298, 360, 402, 472, 396, + 657, 347, 0, 0, 462, 375, 0, 0, 0, 0, + 0, 653, 654, 0, 0, 0, 0, 0, 0, 0, + 0, 304, 238, 306, 196, 387, 463, 274, 0, 87, + 0, 0, 188, 189, 190, 757, 765, 766, 767, 768, + 769, 758, 760, 0, 0, 229, 759, 236, 684, 686, + 685, 695, 696, 697, 698, 699, 700, 701, 682, 762, + 770, 771, 0, 253, 302, 260, 252, 487, 0, 0, + 0, 0, 0, 0, 0, 220, 0, 0, 0, 0, + 0, 0, 0, 629, 643, 0, 656, 0, 0, 0, + 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 640, 641, 853, 0, + 0, 0, 727, 0, 642, 0, 0, 650, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, - 713, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 281, 0, 373, 242, 0, 706, 0, 0, 516, - 0, 0, 704, 0, 0, 0, 0, 339, 0, 308, - 192, 213, 0, 0, 383, 426, 436, 0, 0, 0, - 240, 0, 434, 397, 499, 221, 269, 423, 403, 432, - 410, 272, 0, 0, 433, 345, 485, 417, 496, 517, - 518, 248, 377, 507, 473, 513, 531, 214, 245, 391, - 466, 502, 456, 369, 481, 482, 307, 455, 279, 195, - 343, 523, 212, 442, 230, 219, 487, 505, 274, 421, - 204, 468, 494, 227, 446, 0, 0, 533, 206, 492, - 465, 365, 304, 305, 205, 0, 422, 253, 277, 243, - 386, 489, 490, 241, 534, 216, 512, 208, 0, 511, - 379, 484, 493, 366, 355, 207, 491, 364, 354, 310, - 670, 671, 265, 288, 415, 348, 416, 289, 375, 374, - 376, 199, 503, 0, 200, 0, 461, 504, 535, 222, - 223, 225, 0, 264, 268, 276, 278, 284, 285, 293, - 341, 390, 414, 412, 418, 0, 479, 497, 508, 515, - 521, 522, 524, 525, 526, 527, 528, 530, 529, 378, - 291, 457, 309, 346, 0, 0, 396, 435, 228, 501, - 458, 714, 705, 651, 718, 653, 715, 716, 648, 649, - 652, 717, 536, 537, 538, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, - 0, 708, 639, 638, 0, 645, 0, 660, 661, 663, - 667, 668, 669, 672, 673, 674, 682, 684, 685, 683, - 686, 687, 688, 691, 692, 693, 694, 689, 690, 695, - 654, 658, 655, 656, 657, 659, 728, 729, 730, 731, - 637, 191, 209, 342, 0, 419, 273, 532, 510, 506, - 198, 211, 719, 247, 720, 0, 0, 724, 0, 0, - 0, 726, 725, 0, 727, 699, 698, 0, 0, 721, - 722, 0, 723, 0, 0, 193, 194, 201, 210, 220, - 224, 231, 246, 261, 263, 270, 282, 287, 290, 296, - 297, 300, 306, 352, 358, 359, 360, 361, 380, 381, - 382, 385, 388, 389, 392, 394, 395, 398, 402, 406, - 407, 408, 409, 411, 413, 420, 425, 437, 438, 439, - 440, 441, 444, 445, 450, 451, 452, 453, 454, 462, - 463, 467, 486, 488, 500, 514, 519, 443, 283, 495, - 520, 0, 351, 0, 0, 353, 266, 286, 298, 0, - 509, 464, 215, 431, 275, 238, 744, 0, 203, 234, - 218, 244, 259, 262, 302, 363, 371, 400, 405, 280, - 256, 232, 424, 229, 447, 470, 471, 472, 474, 367, - 251, 404, 0, 368, 349, 476, 477, 294, 475, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 387, 0, 0, 0, 0, 636, 0, 0, 0, 255, - 641, 0, 0, 0, 340, 252, 0, 0, 401, 0, - 197, 0, 449, 239, 350, 347, 483, 267, 258, 254, - 237, 295, 357, 399, 469, 393, 647, 344, 0, 0, - 459, 372, 0, 0, 0, 0, 0, 643, 644, 0, - 0, 0, 0, 0, 0, 0, 0, 301, 235, 303, - 196, 384, 460, 271, 0, 87, 0, 0, 188, 189, - 190, 737, 745, 746, 747, 748, 749, 738, 740, 0, - 0, 226, 739, 233, 664, 666, 665, 675, 676, 677, - 678, 679, 680, 681, 662, 742, 750, 751, 0, 250, - 299, 257, 249, 480, 0, 0, 0, 0, 0, 0, - 0, 217, 0, 0, 0, 0, 0, 0, 0, 619, - 633, 0, 646, 0, 0, 0, 260, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 630, 631, 2122, 0, 0, 0, 707, 0, - 632, 0, 0, 640, 752, 753, 754, 755, 756, 757, - 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, - 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, + 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, + 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, + 733, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 284, 0, 376, 245, 0, 726, 0, 0, 526, + 0, 0, 724, 0, 0, 0, 0, 342, 0, 311, + 192, 216, 0, 0, 386, 429, 439, 0, 0, 0, + 243, 0, 437, 400, 506, 224, 272, 426, 406, 435, + 413, 275, 0, 0, 436, 348, 492, 420, 503, 527, + 528, 251, 380, 514, 476, 522, 541, 217, 248, 394, + 469, 509, 459, 372, 488, 489, 310, 458, 282, 195, + 346, 533, 215, 445, 233, 222, 494, 512, 277, 424, + 204, 471, 501, 230, 449, 0, 0, 543, 206, 499, + 468, 368, 307, 308, 205, 0, 425, 256, 280, 246, + 389, 496, 497, 244, 544, 219, 521, 211, 0, 520, + 382, 491, 500, 369, 358, 210, 498, 367, 357, 313, + 690, 691, 268, 291, 418, 351, 419, 292, 378, 377, + 379, 199, 510, 0, 200, 0, 464, 511, 545, 225, + 226, 228, 0, 267, 271, 279, 281, 287, 288, 296, + 344, 393, 417, 415, 421, 0, 486, 504, 515, 525, + 531, 532, 534, 535, 536, 537, 538, 540, 539, 381, + 294, 460, 312, 349, 0, 0, 399, 438, 231, 508, + 461, 734, 725, 661, 738, 663, 735, 736, 658, 659, + 662, 737, 546, 547, 548, 549, 550, 551, 552, 553, + 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, + 0, 728, 649, 648, 0, 655, 0, 680, 681, 683, + 687, 688, 689, 692, 693, 694, 702, 704, 705, 703, + 706, 707, 708, 711, 712, 713, 714, 709, 710, 715, + 664, 668, 665, 666, 667, 679, 669, 670, 671, 672, + 673, 674, 675, 676, 677, 678, 748, 749, 750, 751, + 647, 191, 212, 345, 0, 422, 276, 542, 517, 513, + 198, 214, 739, 250, 740, 0, 0, 744, 0, 0, + 0, 746, 745, 0, 747, 719, 718, 0, 0, 741, + 742, 0, 743, 0, 0, 193, 194, 201, 213, 223, + 227, 234, 249, 264, 266, 273, 285, 290, 293, 299, + 300, 303, 309, 355, 361, 362, 363, 364, 383, 384, + 385, 388, 391, 392, 395, 397, 398, 401, 405, 409, + 410, 411, 412, 414, 416, 423, 428, 440, 441, 442, + 443, 444, 447, 448, 453, 454, 455, 456, 457, 465, + 466, 470, 493, 495, 507, 524, 529, 446, 286, 502, + 530, 0, 354, 0, 0, 356, 269, 289, 301, 0, + 516, 467, 218, 434, 278, 241, 764, 0, 203, 237, + 221, 247, 262, 265, 305, 366, 374, 403, 408, 283, + 259, 235, 427, 232, 450, 473, 474, 475, 477, 370, + 254, 407, 0, 371, 352, 483, 484, 297, 482, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 390, 0, 0, 0, 0, 646, 0, 0, 0, 258, + 651, 0, 0, 0, 343, 255, 0, 0, 404, 0, + 197, 0, 452, 242, 353, 350, 490, 270, 261, 257, + 240, 298, 360, 402, 472, 396, 657, 347, 0, 0, + 462, 375, 0, 0, 0, 0, 0, 653, 654, 0, + 0, 0, 0, 0, 0, 0, 0, 304, 238, 306, + 196, 387, 463, 274, 0, 87, 0, 0, 188, 189, + 190, 757, 765, 766, 767, 768, 769, 758, 760, 0, + 0, 229, 759, 236, 684, 686, 685, 695, 696, 697, + 698, 699, 700, 701, 682, 762, 770, 771, 0, 253, + 302, 260, 252, 487, 0, 0, 0, 0, 0, 0, + 0, 220, 0, 0, 0, 0, 0, 0, 0, 629, + 643, 0, 656, 0, 0, 0, 263, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 640, 641, 2162, 0, 0, 0, 727, 0, + 642, 0, 0, 650, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, - 788, 789, 790, 791, 792, 793, 713, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 281, 0, 373, - 242, 0, 706, 0, 0, 516, 0, 0, 704, 0, - 0, 0, 0, 339, 0, 308, 192, 213, 0, 0, - 383, 426, 436, 0, 0, 0, 240, 0, 434, 397, - 499, 221, 269, 423, 403, 432, 410, 272, 0, 0, - 433, 345, 485, 417, 496, 517, 518, 248, 377, 507, - 473, 513, 531, 214, 245, 391, 466, 502, 456, 369, - 481, 482, 307, 455, 279, 195, 343, 523, 212, 442, - 230, 219, 487, 505, 274, 421, 204, 468, 494, 227, - 446, 0, 0, 533, 206, 492, 465, 365, 304, 305, - 205, 0, 422, 253, 277, 243, 386, 489, 490, 241, - 534, 216, 512, 208, 0, 511, 379, 484, 493, 366, - 355, 207, 491, 364, 354, 310, 670, 671, 265, 288, - 415, 348, 416, 289, 375, 374, 376, 199, 503, 0, - 200, 0, 461, 504, 535, 222, 223, 225, 0, 264, - 268, 276, 278, 284, 285, 293, 341, 390, 414, 412, - 418, 0, 479, 497, 508, 515, 521, 522, 524, 525, - 526, 527, 528, 530, 529, 378, 291, 457, 309, 346, - 0, 0, 396, 435, 228, 501, 458, 714, 705, 651, - 718, 653, 715, 716, 648, 649, 652, 717, 536, 537, - 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 552, 553, 0, 708, 639, 638, - 0, 645, 0, 660, 661, 663, 667, 668, 669, 672, - 673, 674, 682, 684, 685, 683, 686, 687, 688, 691, - 692, 693, 694, 689, 690, 695, 654, 658, 655, 656, - 657, 659, 728, 729, 730, 731, 637, 191, 209, 342, - 0, 419, 273, 532, 510, 506, 198, 211, 719, 247, - 720, 0, 0, 724, 0, 0, 0, 726, 725, 0, - 727, 699, 698, 0, 0, 721, 722, 0, 723, 0, - 0, 193, 194, 201, 210, 220, 224, 231, 246, 261, - 263, 270, 282, 287, 290, 296, 297, 300, 306, 352, - 358, 359, 360, 361, 380, 381, 382, 385, 388, 389, - 392, 394, 395, 398, 402, 406, 407, 408, 409, 411, - 413, 420, 425, 437, 438, 439, 440, 441, 444, 445, - 450, 451, 452, 453, 454, 462, 463, 467, 486, 488, - 500, 514, 519, 443, 283, 495, 520, 0, 351, 0, - 0, 353, 266, 286, 298, 0, 509, 464, 215, 431, - 275, 238, 744, 0, 203, 234, 218, 244, 259, 262, - 302, 363, 371, 400, 405, 280, 256, 232, 424, 229, - 447, 470, 471, 472, 474, 367, 251, 404, 0, 368, - 349, 476, 477, 294, 475, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 387, 0, 0, 0, - 0, 636, 0, 0, 0, 255, 641, 0, 0, 0, - 340, 252, 0, 0, 401, 0, 197, 0, 449, 239, - 350, 347, 483, 267, 258, 254, 237, 295, 357, 399, - 469, 393, 647, 344, 0, 0, 459, 372, 0, 0, - 0, 0, 0, 643, 644, 0, 0, 0, 0, 0, - 0, 0, 0, 301, 235, 303, 196, 384, 460, 271, - 0, 87, 0, 0, 188, 189, 190, 737, 745, 746, - 747, 748, 749, 738, 740, 0, 0, 226, 739, 233, - 664, 666, 665, 675, 676, 677, 678, 679, 680, 681, - 662, 742, 750, 751, 0, 250, 299, 257, 249, 480, - 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, - 0, 0, 0, 0, 0, 619, 633, 0, 646, 0, - 0, 0, 260, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 630, 631, - 0, 0, 0, 0, 707, 0, 632, 0, 0, 640, - 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, - 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, + 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, + 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, + 808, 809, 810, 811, 812, 813, 733, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 284, 0, 376, + 245, 0, 726, 0, 0, 526, 0, 0, 724, 0, + 0, 0, 0, 342, 0, 311, 192, 216, 0, 0, + 386, 429, 439, 0, 0, 0, 243, 0, 437, 400, + 506, 224, 272, 426, 406, 435, 413, 275, 0, 0, + 436, 348, 492, 420, 503, 527, 528, 251, 380, 514, + 476, 522, 541, 217, 248, 394, 469, 509, 459, 372, + 488, 489, 310, 458, 282, 195, 346, 533, 215, 445, + 233, 222, 494, 512, 277, 424, 204, 471, 501, 230, + 449, 0, 0, 543, 206, 499, 468, 368, 307, 308, + 205, 0, 425, 256, 280, 246, 389, 496, 497, 244, + 544, 219, 521, 211, 0, 520, 382, 491, 500, 369, + 358, 210, 498, 367, 357, 313, 690, 691, 268, 291, + 418, 351, 419, 292, 378, 377, 379, 199, 510, 0, + 200, 0, 464, 511, 545, 225, 226, 228, 0, 267, + 271, 279, 281, 287, 288, 296, 344, 393, 417, 415, + 421, 0, 486, 504, 515, 525, 531, 532, 534, 535, + 536, 537, 538, 540, 539, 381, 294, 460, 312, 349, + 0, 0, 399, 438, 231, 508, 461, 734, 725, 661, + 738, 663, 735, 736, 658, 659, 662, 737, 546, 547, + 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, + 558, 559, 560, 561, 562, 563, 0, 728, 649, 648, + 0, 655, 0, 680, 681, 683, 687, 688, 689, 692, + 693, 694, 702, 704, 705, 703, 706, 707, 708, 711, + 712, 713, 714, 709, 710, 715, 664, 668, 665, 666, + 667, 679, 669, 670, 671, 672, 673, 674, 675, 676, + 677, 678, 748, 749, 750, 751, 647, 191, 212, 345, + 0, 422, 276, 542, 517, 513, 198, 214, 739, 250, + 740, 0, 0, 744, 0, 0, 0, 746, 745, 0, + 747, 719, 718, 0, 0, 741, 742, 0, 743, 0, + 0, 193, 194, 201, 213, 223, 227, 234, 249, 264, + 266, 273, 285, 290, 293, 299, 300, 303, 309, 355, + 361, 362, 363, 364, 383, 384, 385, 388, 391, 392, + 395, 397, 398, 401, 405, 409, 410, 411, 412, 414, + 416, 423, 428, 440, 441, 442, 443, 444, 447, 448, + 453, 454, 455, 456, 457, 465, 466, 470, 493, 495, + 507, 524, 529, 446, 286, 502, 530, 0, 354, 0, + 0, 356, 269, 289, 301, 0, 516, 467, 218, 434, + 278, 241, 764, 0, 203, 237, 221, 247, 262, 265, + 305, 366, 374, 403, 408, 283, 259, 235, 427, 232, + 450, 473, 474, 475, 477, 370, 254, 407, 0, 371, + 352, 483, 484, 297, 482, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 390, 0, 0, 0, + 0, 646, 0, 0, 0, 258, 651, 0, 0, 0, + 343, 255, 0, 0, 404, 0, 197, 0, 452, 242, + 353, 350, 490, 270, 261, 257, 240, 298, 360, 402, + 472, 396, 657, 347, 0, 0, 462, 375, 0, 0, + 0, 0, 0, 653, 654, 0, 0, 0, 0, 0, + 0, 0, 0, 304, 238, 306, 196, 387, 463, 274, + 0, 87, 0, 0, 188, 189, 190, 757, 765, 766, + 767, 768, 769, 758, 760, 0, 0, 229, 759, 236, + 684, 686, 685, 695, 696, 697, 698, 699, 700, 701, + 682, 762, 770, 771, 0, 253, 302, 260, 252, 487, + 0, 0, 0, 0, 0, 0, 0, 220, 0, 0, + 0, 0, 0, 0, 0, 629, 643, 0, 656, 0, + 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 640, 641, + 0, 0, 0, 0, 727, 0, 642, 0, 0, 650, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, - 792, 793, 713, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 281, 0, 373, 242, 0, 706, 0, - 0, 516, 0, 0, 704, 0, 0, 0, 0, 339, - 0, 308, 192, 213, 0, 0, 383, 426, 436, 0, - 0, 0, 240, 0, 434, 397, 499, 221, 269, 423, - 403, 432, 410, 272, 0, 0, 433, 345, 485, 417, - 496, 517, 518, 248, 377, 507, 473, 513, 531, 214, - 245, 391, 466, 502, 456, 369, 481, 482, 307, 455, - 279, 195, 343, 523, 212, 442, 230, 219, 487, 505, - 274, 421, 204, 468, 494, 227, 446, 0, 0, 533, - 206, 492, 465, 365, 304, 305, 205, 0, 422, 253, - 277, 243, 386, 489, 490, 241, 534, 216, 512, 208, - 0, 511, 379, 484, 493, 366, 355, 207, 491, 364, - 354, 310, 670, 671, 265, 288, 415, 348, 416, 289, - 375, 374, 376, 199, 503, 0, 200, 0, 461, 504, - 535, 222, 223, 225, 0, 264, 268, 276, 278, 284, - 285, 293, 341, 390, 414, 412, 418, 0, 479, 497, - 508, 515, 521, 522, 524, 525, 526, 527, 528, 530, - 529, 378, 291, 457, 309, 346, 0, 0, 396, 435, - 228, 501, 458, 714, 705, 651, 718, 653, 715, 716, - 648, 649, 652, 717, 536, 537, 538, 539, 540, 541, - 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, - 552, 553, 0, 708, 639, 638, 0, 645, 0, 660, - 661, 663, 667, 668, 669, 672, 673, 674, 682, 684, - 685, 683, 686, 687, 688, 691, 692, 693, 694, 689, - 690, 695, 654, 658, 655, 656, 657, 659, 728, 729, - 730, 731, 637, 191, 209, 342, 0, 419, 273, 532, - 510, 506, 198, 211, 719, 247, 720, 0, 0, 724, - 0, 0, 0, 726, 725, 0, 727, 699, 698, 0, - 0, 721, 722, 0, 723, 0, 0, 193, 194, 201, - 210, 220, 224, 231, 246, 261, 263, 270, 282, 287, - 290, 296, 297, 300, 306, 352, 358, 359, 360, 361, - 380, 381, 382, 385, 388, 389, 392, 394, 395, 398, - 402, 406, 407, 408, 409, 411, 413, 420, 425, 437, - 438, 439, 440, 441, 444, 445, 450, 451, 452, 453, - 454, 462, 463, 467, 486, 488, 500, 514, 519, 443, - 283, 495, 520, 0, 351, 0, 0, 353, 266, 286, - 298, 0, 509, 464, 215, 431, 275, 238, 744, 0, - 203, 234, 218, 244, 259, 262, 302, 363, 371, 400, - 405, 280, 256, 232, 424, 229, 447, 470, 471, 472, - 474, 367, 251, 404, 0, 368, 349, 476, 477, 294, - 475, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 387, 0, 0, 0, 0, 636, 0, 0, - 0, 255, 641, 0, 0, 0, 340, 252, 0, 0, - 401, 0, 197, 0, 449, 239, 350, 347, 483, 267, - 258, 254, 237, 295, 357, 399, 469, 393, 647, 344, - 0, 0, 459, 372, 0, 0, 0, 0, 0, 643, - 644, 0, 0, 0, 0, 0, 0, 0, 0, 301, - 235, 303, 196, 384, 460, 271, 0, 87, 0, 0, - 188, 189, 190, 737, 745, 746, 747, 748, 749, 738, - 740, 0, 0, 226, 739, 233, 664, 666, 665, 675, - 676, 677, 678, 679, 680, 681, 662, 742, 750, 751, - 0, 250, 299, 257, 249, 480, 0, 0, 0, 0, - 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, - 0, 0, 633, 0, 646, 0, 0, 0, 260, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 630, 631, 0, 0, 0, 0, - 707, 0, 632, 0, 0, 640, 752, 753, 754, 755, - 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, - 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, + 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, + 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, + 812, 813, 733, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 284, 0, 376, 245, 0, 726, 0, + 0, 526, 0, 0, 724, 0, 0, 0, 0, 342, + 0, 311, 192, 216, 0, 0, 386, 429, 439, 0, + 0, 0, 243, 0, 437, 400, 506, 224, 272, 426, + 406, 435, 413, 275, 0, 0, 436, 348, 492, 420, + 503, 527, 528, 251, 380, 514, 476, 522, 541, 217, + 248, 394, 469, 509, 459, 372, 488, 489, 310, 458, + 282, 195, 346, 533, 215, 445, 233, 222, 494, 512, + 277, 424, 204, 471, 501, 230, 449, 0, 0, 543, + 206, 499, 468, 368, 307, 308, 205, 0, 425, 256, + 280, 246, 389, 496, 497, 244, 544, 219, 521, 211, + 0, 520, 382, 491, 500, 369, 358, 210, 498, 367, + 357, 313, 690, 691, 268, 291, 418, 351, 419, 292, + 378, 377, 379, 199, 510, 0, 200, 0, 464, 511, + 545, 225, 226, 228, 0, 267, 271, 279, 281, 287, + 288, 296, 344, 393, 417, 415, 421, 0, 486, 504, + 515, 525, 531, 532, 534, 535, 536, 537, 538, 540, + 539, 381, 294, 460, 312, 349, 0, 0, 399, 438, + 231, 508, 461, 734, 725, 661, 738, 663, 735, 736, + 658, 659, 662, 737, 546, 547, 548, 549, 550, 551, + 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, + 562, 563, 0, 728, 649, 648, 0, 655, 0, 680, + 681, 683, 687, 688, 689, 692, 693, 694, 702, 704, + 705, 703, 706, 707, 708, 711, 712, 713, 714, 709, + 710, 715, 664, 668, 665, 666, 667, 679, 669, 670, + 671, 672, 673, 674, 675, 676, 677, 678, 748, 749, + 750, 751, 647, 191, 212, 345, 0, 422, 276, 542, + 517, 513, 198, 214, 739, 250, 740, 0, 0, 744, + 0, 0, 0, 746, 745, 0, 747, 719, 718, 0, + 0, 741, 742, 0, 743, 0, 0, 193, 194, 201, + 213, 223, 227, 234, 249, 264, 266, 273, 285, 290, + 293, 299, 300, 303, 309, 355, 361, 362, 363, 364, + 383, 384, 385, 388, 391, 392, 395, 397, 398, 401, + 405, 409, 410, 411, 412, 414, 416, 423, 428, 440, + 441, 442, 443, 444, 447, 448, 453, 454, 455, 456, + 457, 465, 466, 470, 493, 495, 507, 524, 529, 446, + 286, 502, 530, 0, 354, 0, 0, 356, 269, 289, + 301, 0, 516, 467, 218, 434, 278, 241, 764, 0, + 203, 237, 221, 247, 262, 265, 305, 366, 374, 403, + 408, 283, 259, 235, 427, 232, 450, 473, 474, 475, + 477, 370, 254, 407, 0, 371, 352, 483, 484, 297, + 482, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 390, 0, 0, 0, 0, 646, 0, 0, + 0, 258, 651, 0, 0, 0, 343, 255, 0, 0, + 404, 0, 197, 0, 452, 242, 353, 350, 490, 270, + 261, 257, 240, 298, 360, 402, 472, 396, 657, 347, + 0, 0, 462, 375, 0, 0, 0, 0, 0, 653, + 654, 0, 0, 0, 0, 0, 0, 0, 0, 304, + 238, 306, 196, 387, 463, 274, 0, 87, 0, 0, + 188, 189, 190, 757, 765, 766, 767, 768, 769, 758, + 760, 0, 0, 229, 759, 236, 684, 686, 685, 695, + 696, 697, 698, 699, 700, 701, 682, 762, 770, 771, + 0, 253, 302, 260, 252, 487, 0, 0, 0, 0, + 0, 0, 0, 220, 0, 0, 0, 0, 0, 0, + 0, 0, 643, 0, 656, 0, 0, 0, 263, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 640, 641, 0, 0, 0, 0, + 727, 0, 642, 0, 0, 650, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, - 786, 787, 788, 789, 790, 791, 792, 793, 713, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 281, - 0, 373, 242, 0, 706, 0, 0, 516, 0, 0, - 704, 0, 0, 0, 0, 339, 0, 308, 192, 213, - 0, 0, 383, 426, 436, 0, 0, 0, 240, 0, - 434, 397, 499, 221, 269, 423, 403, 432, 410, 272, - 0, 0, 433, 345, 485, 417, 496, 517, 518, 248, - 377, 507, 473, 513, 531, 214, 245, 391, 466, 502, - 456, 369, 481, 482, 307, 455, 279, 195, 343, 523, - 212, 442, 230, 219, 487, 505, 274, 421, 204, 468, - 494, 227, 446, 0, 0, 533, 206, 492, 465, 365, - 304, 305, 205, 0, 422, 253, 277, 243, 386, 489, - 490, 241, 534, 216, 512, 208, 0, 511, 379, 484, - 493, 366, 355, 207, 491, 364, 354, 310, 670, 671, - 265, 288, 415, 348, 416, 289, 375, 374, 376, 199, - 503, 0, 200, 0, 461, 504, 535, 222, 223, 225, - 0, 264, 268, 276, 278, 284, 285, 293, 341, 390, - 414, 412, 418, 0, 479, 497, 508, 515, 521, 522, - 524, 525, 526, 527, 528, 530, 529, 378, 291, 457, - 309, 346, 0, 0, 396, 435, 228, 501, 458, 714, - 705, 651, 718, 653, 715, 716, 648, 649, 652, 717, - 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, - 546, 547, 548, 549, 550, 551, 552, 553, 0, 708, - 639, 638, 0, 645, 0, 660, 661, 663, 667, 668, - 669, 672, 673, 674, 682, 684, 685, 683, 686, 687, - 688, 691, 692, 693, 694, 689, 690, 695, 654, 658, - 655, 656, 657, 659, 728, 729, 730, 731, 637, 191, - 209, 342, 0, 419, 273, 532, 510, 506, 198, 211, - 719, 247, 720, 0, 0, 724, 0, 0, 0, 726, - 725, 0, 727, 699, 698, 0, 0, 721, 722, 0, - 723, 0, 0, 193, 194, 201, 210, 220, 224, 231, - 246, 261, 263, 270, 282, 287, 290, 296, 297, 300, - 306, 352, 358, 359, 360, 361, 380, 381, 382, 385, - 388, 389, 392, 394, 395, 398, 402, 406, 407, 408, - 409, 411, 413, 420, 425, 437, 438, 439, 440, 441, - 444, 445, 450, 451, 452, 453, 454, 462, 463, 467, - 486, 488, 500, 514, 519, 443, 283, 495, 520, 0, - 351, 0, 0, 353, 266, 286, 298, 0, 509, 464, - 215, 431, 275, 238, 744, 0, 203, 234, 218, 244, - 259, 262, 302, 363, 371, 400, 405, 280, 256, 232, - 424, 229, 447, 470, 471, 472, 474, 367, 251, 404, - 0, 368, 349, 476, 477, 294, 475, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 387, 0, - 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, - 0, 0, 340, 252, 0, 0, 401, 0, 197, 0, - 449, 239, 350, 347, 483, 267, 258, 254, 237, 295, - 357, 399, 469, 393, 0, 344, 0, 0, 459, 372, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 301, 235, 303, 196, 384, - 460, 271, 0, 0, 0, 0, 188, 189, 190, 0, - 745, 746, 0, 0, 0, 0, 1739, 0, 0, 226, - 0, 233, 325, 334, 333, 314, 315, 317, 319, 324, - 331, 337, 0, 0, 0, 0, 0, 250, 299, 257, - 249, 480, 0, 0, 0, 0, 0, 0, 0, 217, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 260, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 752, 753, 754, 755, 756, 757, 758, 759, - 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, - 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, + 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, + 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, + 806, 807, 808, 809, 810, 811, 812, 813, 733, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 284, + 0, 376, 245, 0, 726, 0, 0, 526, 0, 0, + 724, 0, 0, 0, 0, 342, 0, 311, 192, 216, + 0, 0, 386, 429, 439, 0, 0, 0, 243, 0, + 437, 400, 506, 224, 272, 426, 406, 435, 413, 275, + 0, 0, 436, 348, 492, 420, 503, 527, 528, 251, + 380, 514, 476, 522, 541, 217, 248, 394, 469, 509, + 459, 372, 488, 489, 310, 458, 282, 195, 346, 533, + 215, 445, 233, 222, 494, 512, 277, 424, 204, 471, + 501, 230, 449, 0, 0, 543, 206, 499, 468, 368, + 307, 308, 205, 0, 425, 256, 280, 246, 389, 496, + 497, 244, 544, 219, 521, 211, 0, 520, 382, 491, + 500, 369, 358, 210, 498, 367, 357, 313, 690, 691, + 268, 291, 418, 351, 419, 292, 378, 377, 379, 199, + 510, 0, 200, 0, 464, 511, 545, 225, 226, 228, + 0, 267, 271, 279, 281, 287, 288, 296, 344, 393, + 417, 415, 421, 0, 486, 504, 515, 525, 531, 532, + 534, 535, 536, 537, 538, 540, 539, 381, 294, 460, + 312, 349, 0, 0, 399, 438, 231, 508, 461, 734, + 725, 661, 738, 663, 735, 736, 658, 659, 662, 737, + 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, + 556, 557, 558, 559, 560, 561, 562, 563, 0, 728, + 649, 648, 0, 655, 0, 680, 681, 683, 687, 688, + 689, 692, 693, 694, 702, 704, 705, 703, 706, 707, + 708, 711, 712, 713, 714, 709, 710, 715, 664, 668, + 665, 666, 667, 679, 669, 670, 671, 672, 673, 674, + 675, 676, 677, 678, 748, 749, 750, 751, 647, 191, + 212, 345, 0, 422, 276, 542, 517, 513, 198, 214, + 739, 250, 740, 0, 0, 744, 0, 0, 0, 746, + 745, 0, 747, 719, 718, 0, 0, 741, 742, 0, + 743, 0, 0, 193, 194, 201, 213, 223, 227, 234, + 249, 264, 266, 273, 285, 290, 293, 299, 300, 303, + 309, 355, 361, 362, 363, 364, 383, 384, 385, 388, + 391, 392, 395, 397, 398, 401, 405, 409, 410, 411, + 412, 414, 416, 423, 428, 440, 441, 442, 443, 444, + 447, 448, 453, 454, 455, 456, 457, 465, 466, 470, + 493, 495, 507, 524, 529, 446, 286, 502, 530, 0, + 354, 0, 0, 356, 269, 289, 301, 0, 516, 467, + 218, 434, 278, 241, 764, 0, 203, 237, 221, 247, + 262, 265, 305, 366, 374, 403, 408, 283, 259, 235, + 427, 232, 450, 473, 474, 475, 477, 370, 254, 407, + 0, 371, 352, 483, 484, 297, 482, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, + 0, 0, 343, 255, 0, 0, 404, 0, 197, 0, + 452, 242, 353, 350, 490, 270, 261, 257, 240, 298, + 360, 402, 472, 396, 0, 347, 0, 0, 462, 375, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 304, 238, 306, 196, 387, + 463, 274, 0, 0, 0, 0, 188, 189, 190, 0, + 765, 766, 0, 0, 0, 0, 1769, 0, 0, 229, + 0, 236, 328, 337, 336, 317, 318, 320, 322, 327, + 334, 340, 0, 0, 0, 0, 0, 253, 302, 260, + 252, 487, 0, 0, 0, 0, 0, 0, 0, 220, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, - 790, 791, 792, 793, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 281, 0, 373, 242, 0, - 0, 0, 0, 516, 0, 0, 0, 0, 0, 0, - 0, 339, 0, 308, 192, 213, 0, 0, 383, 426, - 436, 0, 0, 0, 240, 0, 434, 397, 499, 221, - 269, 423, 403, 432, 410, 272, 0, 0, 433, 345, - 485, 417, 496, 517, 518, 248, 377, 507, 473, 513, - 531, 214, 245, 391, 466, 502, 456, 369, 481, 482, - 307, 455, 279, 195, 343, 523, 212, 442, 230, 219, - 487, 505, 274, 421, 204, 468, 494, 227, 446, 0, - 0, 533, 206, 492, 465, 365, 304, 305, 205, 0, - 422, 253, 277, 243, 386, 489, 490, 241, 534, 216, - 512, 208, 0, 511, 379, 484, 493, 366, 355, 207, - 491, 364, 354, 310, 329, 330, 265, 288, 415, 348, - 416, 289, 375, 374, 376, 199, 503, 0, 200, 0, - 461, 504, 535, 222, 223, 225, 0, 264, 268, 276, - 278, 284, 285, 293, 341, 390, 414, 412, 418, 0, - 479, 497, 508, 515, 521, 522, 524, 525, 526, 527, - 528, 530, 529, 378, 291, 457, 309, 346, 0, 0, - 396, 435, 228, 501, 458, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, - 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 554, 356, 448, 498, 311, 323, 326, - 316, 335, 0, 336, 312, 313, 318, 320, 321, 322, - 327, 328, 332, 338, 236, 202, 362, 370, 478, 292, - 427, 428, 429, 430, 0, 191, 209, 342, 0, 419, - 273, 532, 510, 506, 198, 211, 0, 247, 0, 0, + 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, + 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, + 810, 811, 812, 813, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 284, 0, 376, 245, 0, + 0, 0, 0, 526, 0, 0, 0, 0, 0, 0, + 0, 342, 0, 311, 192, 216, 0, 0, 386, 429, + 439, 0, 0, 0, 243, 0, 437, 400, 506, 224, + 272, 426, 406, 435, 413, 275, 0, 0, 436, 348, + 492, 420, 503, 527, 528, 251, 380, 514, 476, 522, + 541, 217, 248, 394, 469, 509, 459, 372, 488, 489, + 310, 458, 282, 195, 346, 533, 215, 445, 233, 222, + 494, 512, 277, 424, 204, 471, 501, 230, 449, 0, + 0, 543, 206, 499, 468, 368, 307, 308, 205, 0, + 425, 256, 280, 246, 389, 496, 497, 244, 544, 219, + 521, 211, 0, 520, 382, 491, 500, 369, 358, 210, + 498, 367, 357, 313, 332, 333, 268, 291, 418, 351, + 419, 292, 378, 377, 379, 199, 510, 0, 200, 0, + 464, 511, 545, 225, 226, 228, 0, 267, 271, 279, + 281, 287, 288, 296, 344, 393, 417, 415, 421, 0, + 486, 504, 515, 525, 531, 532, 534, 535, 536, 537, + 538, 540, 539, 381, 294, 460, 312, 349, 0, 0, + 399, 438, 231, 508, 461, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 546, 547, 548, 549, + 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, + 560, 561, 562, 563, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 564, 359, 451, 505, 314, 326, 329, + 319, 338, 0, 339, 315, 316, 321, 323, 324, 325, + 330, 331, 335, 341, 239, 202, 365, 373, 485, 295, + 207, 208, 209, 478, 479, 480, 481, 518, 519, 523, + 430, 431, 432, 433, 0, 191, 212, 345, 0, 422, + 276, 542, 517, 513, 198, 214, 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 194, 201, 210, 220, 224, 231, 246, 261, 263, 270, - 282, 287, 290, 296, 297, 300, 306, 352, 358, 359, - 360, 361, 380, 381, 382, 385, 388, 389, 392, 394, - 395, 398, 402, 406, 407, 408, 409, 411, 413, 420, - 425, 437, 438, 439, 440, 441, 444, 445, 450, 451, - 452, 453, 454, 462, 463, 467, 486, 488, 500, 514, - 519, 443, 283, 495, 520, 0, 351, 0, 0, 353, - 266, 286, 298, 0, 509, 464, 215, 431, 275, 238, - 0, 0, 203, 234, 218, 244, 259, 262, 302, 363, - 371, 400, 405, 280, 256, 232, 424, 229, 447, 470, - 471, 472, 474, 367, 251, 404, 0, 368, 349, 476, - 477, 294, 475, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 387, 0, 0, 0, 0, 0, - 0, 0, 0, 255, 0, 0, 0, 0, 340, 252, - 0, 0, 401, 0, 197, 0, 449, 239, 350, 347, - 483, 267, 258, 254, 237, 295, 357, 399, 469, 393, - 0, 344, 0, 0, 459, 372, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 301, 235, 303, 196, 384, 460, 271, 0, 0, + 194, 201, 213, 223, 227, 234, 249, 264, 266, 273, + 285, 290, 293, 299, 300, 303, 309, 355, 361, 362, + 363, 364, 383, 384, 385, 388, 391, 392, 395, 397, + 398, 401, 405, 409, 410, 411, 412, 414, 416, 423, + 428, 440, 441, 442, 443, 444, 447, 448, 453, 454, + 455, 456, 457, 465, 466, 470, 493, 495, 507, 524, + 529, 446, 286, 502, 530, 0, 354, 0, 0, 356, + 269, 289, 301, 0, 516, 467, 218, 434, 278, 241, + 0, 0, 203, 237, 221, 247, 262, 265, 305, 366, + 374, 403, 408, 283, 259, 235, 427, 232, 450, 473, + 474, 475, 477, 370, 254, 407, 0, 371, 352, 483, + 484, 297, 482, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 390, 0, 0, 0, 0, 0, + 0, 0, 0, 258, 0, 0, 0, 0, 343, 255, + 0, 0, 404, 0, 197, 0, 452, 242, 353, 350, + 490, 270, 261, 257, 240, 298, 360, 402, 472, 396, + 0, 347, 0, 0, 462, 375, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 304, 238, 306, 196, 387, 463, 274, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 226, 0, 233, 325, 334, - 333, 314, 315, 317, 319, 324, 331, 337, 0, 0, - 0, 0, 0, 250, 299, 257, 249, 480, 0, 0, - 0, 0, 0, 0, 0, 217, 0, 1054, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 281, 0, 373, 242, 0, 0, 0, 1053, 516, - 0, 0, 0, 0, 0, 1050, 1051, 339, 1011, 308, - 192, 213, 1044, 1048, 383, 426, 436, 0, 0, 0, - 240, 0, 434, 397, 499, 221, 269, 423, 403, 432, - 410, 272, 0, 0, 433, 345, 485, 417, 496, 517, - 518, 248, 377, 507, 473, 513, 531, 214, 245, 391, - 466, 502, 456, 369, 481, 482, 307, 455, 279, 195, - 343, 523, 212, 442, 230, 219, 487, 505, 274, 421, - 204, 468, 494, 227, 446, 0, 0, 533, 206, 492, - 465, 365, 304, 305, 205, 0, 422, 253, 277, 243, - 386, 489, 490, 241, 534, 216, 512, 208, 0, 511, - 379, 484, 493, 366, 355, 207, 491, 364, 354, 310, - 329, 330, 265, 288, 415, 348, 416, 289, 375, 374, - 376, 199, 503, 0, 200, 0, 461, 504, 535, 222, - 223, 225, 0, 264, 268, 276, 278, 284, 285, 293, - 341, 390, 414, 412, 418, 0, 479, 497, 508, 515, - 521, 522, 524, 525, 526, 527, 528, 530, 529, 378, - 291, 457, 309, 346, 0, 0, 396, 435, 228, 501, - 458, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 536, 537, 538, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 554, - 356, 448, 498, 311, 323, 326, 316, 335, 0, 336, - 312, 313, 318, 320, 321, 322, 327, 328, 332, 338, - 236, 202, 362, 370, 478, 292, 427, 428, 429, 430, - 0, 191, 209, 342, 0, 419, 273, 532, 510, 506, - 198, 211, 0, 247, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, - 224, 231, 246, 261, 263, 270, 282, 287, 290, 296, - 297, 300, 306, 352, 358, 359, 360, 361, 380, 381, - 382, 385, 388, 389, 392, 394, 395, 398, 402, 406, - 407, 408, 409, 411, 413, 420, 425, 437, 438, 439, - 440, 441, 444, 445, 450, 451, 452, 453, 454, 462, - 463, 467, 486, 488, 500, 514, 519, 443, 283, 495, - 520, 0, 351, 0, 0, 353, 266, 286, 298, 0, - 509, 464, 215, 431, 275, 238, 0, 0, 203, 234, - 218, 244, 259, 262, 302, 363, 371, 400, 405, 280, - 256, 232, 424, 229, 447, 470, 471, 472, 474, 367, - 251, 404, 0, 0, 349, 476, 477, 294, 368, 0, - 0, 0, 78, 475, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 387, 0, 0, 0, 0, - 0, 0, 0, 0, 255, 0, 0, 0, 0, 340, - 252, 0, 0, 401, 0, 197, 0, 449, 239, 350, - 347, 483, 267, 258, 254, 237, 295, 357, 399, 469, - 393, 0, 344, 0, 0, 459, 372, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 301, 235, 303, 196, 384, 460, 271, 0, + 0, 0, 0, 0, 0, 229, 0, 236, 328, 337, + 336, 317, 318, 320, 322, 327, 334, 340, 0, 0, + 0, 0, 0, 253, 302, 260, 252, 487, 0, 0, + 0, 0, 0, 0, 0, 220, 0, 1074, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 284, 0, 376, 245, 0, 0, 0, 1073, 526, + 0, 0, 0, 0, 0, 1070, 1071, 342, 1031, 311, + 192, 216, 1064, 1068, 386, 429, 439, 0, 0, 0, + 243, 0, 437, 400, 506, 224, 272, 426, 406, 435, + 413, 275, 0, 0, 436, 348, 492, 420, 503, 527, + 528, 251, 380, 514, 476, 522, 541, 217, 248, 394, + 469, 509, 459, 372, 488, 489, 310, 458, 282, 195, + 346, 533, 215, 445, 233, 222, 494, 512, 277, 424, + 204, 471, 501, 230, 449, 0, 0, 543, 206, 499, + 468, 368, 307, 308, 205, 0, 425, 256, 280, 246, + 389, 496, 497, 244, 544, 219, 521, 211, 0, 520, + 382, 491, 500, 369, 358, 210, 498, 367, 357, 313, + 332, 333, 268, 291, 418, 351, 419, 292, 378, 377, + 379, 199, 510, 0, 200, 0, 464, 511, 545, 225, + 226, 228, 0, 267, 271, 279, 281, 287, 288, 296, + 344, 393, 417, 415, 421, 0, 486, 504, 515, 525, + 531, 532, 534, 535, 536, 537, 538, 540, 539, 381, + 294, 460, 312, 349, 0, 0, 399, 438, 231, 508, + 461, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 546, 547, 548, 549, 550, 551, 552, 553, + 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 564, + 359, 451, 505, 314, 326, 329, 319, 338, 0, 339, + 315, 316, 321, 323, 324, 325, 330, 331, 335, 341, + 239, 202, 365, 373, 485, 295, 207, 208, 209, 478, + 479, 480, 481, 518, 519, 523, 430, 431, 432, 433, + 0, 191, 212, 345, 0, 422, 276, 542, 517, 513, + 198, 214, 0, 250, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 193, 194, 201, 213, 223, + 227, 234, 249, 264, 266, 273, 285, 290, 293, 299, + 300, 303, 309, 355, 361, 362, 363, 364, 383, 384, + 385, 388, 391, 392, 395, 397, 398, 401, 405, 409, + 410, 411, 412, 414, 416, 423, 428, 440, 441, 442, + 443, 444, 447, 448, 453, 454, 455, 456, 457, 465, + 466, 470, 493, 495, 507, 524, 529, 446, 286, 502, + 530, 0, 354, 0, 0, 356, 269, 289, 301, 0, + 516, 467, 218, 434, 278, 241, 0, 0, 203, 237, + 221, 247, 262, 265, 305, 366, 374, 403, 408, 283, + 259, 235, 427, 232, 450, 473, 474, 475, 477, 370, + 254, 407, 0, 0, 352, 483, 484, 297, 371, 0, + 0, 0, 78, 482, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 390, 0, 0, 0, 0, + 0, 0, 0, 0, 258, 0, 0, 0, 0, 343, + 255, 0, 0, 404, 0, 197, 0, 452, 242, 353, + 350, 490, 270, 261, 257, 240, 298, 360, 402, 472, + 396, 0, 347, 0, 0, 462, 375, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 304, 238, 306, 196, 387, 463, 274, 0, 87, 0, 0, 188, 189, 190, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 226, 0, 233, 325, - 334, 333, 314, 315, 317, 319, 324, 331, 337, 0, - 0, 0, 0, 0, 250, 299, 257, 249, 480, 0, - 0, 0, 0, 0, 0, 0, 217, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 260, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 281, 0, 373, 242, 0, 0, 0, 0, - 516, 0, 0, 0, 0, 0, 0, 0, 339, 0, - 308, 192, 213, 0, 0, 383, 426, 436, 0, 0, - 0, 240, 0, 434, 397, 499, 221, 269, 423, 403, - 432, 410, 272, 0, 0, 433, 345, 485, 417, 496, - 517, 518, 248, 377, 507, 473, 513, 531, 214, 245, - 391, 466, 502, 456, 369, 481, 482, 307, 455, 279, - 195, 343, 523, 212, 442, 230, 219, 487, 505, 274, - 421, 204, 468, 494, 227, 446, 0, 0, 533, 206, - 492, 465, 365, 304, 305, 205, 0, 422, 253, 277, - 243, 386, 489, 490, 241, 534, 216, 512, 208, 0, - 511, 379, 484, 493, 366, 355, 207, 491, 364, 354, - 310, 329, 330, 265, 288, 415, 348, 416, 289, 375, - 374, 376, 199, 503, 0, 200, 0, 461, 504, 535, - 222, 223, 225, 0, 264, 268, 276, 278, 284, 285, - 293, 341, 390, 414, 412, 418, 0, 479, 497, 508, - 515, 521, 522, 524, 525, 526, 527, 528, 530, 529, - 378, 291, 457, 309, 346, 0, 0, 396, 435, 228, - 501, 458, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 536, 537, 538, 539, 540, 541, 542, - 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, - 553, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 554, 356, 448, 498, 311, 323, 326, 316, 335, 0, - 336, 312, 313, 318, 320, 321, 322, 327, 328, 332, - 338, 236, 202, 362, 370, 478, 292, 427, 428, 429, - 430, 0, 191, 209, 342, 86, 419, 273, 532, 510, - 506, 198, 211, 0, 247, 0, 0, 0, 0, 0, - 0, 1918, 0, 0, 1917, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 193, 194, 201, 210, - 220, 224, 231, 246, 261, 263, 270, 282, 287, 290, - 296, 297, 300, 306, 352, 358, 359, 360, 361, 380, - 381, 382, 385, 388, 389, 392, 394, 395, 398, 402, - 406, 407, 408, 409, 411, 413, 420, 425, 437, 438, - 439, 440, 441, 444, 445, 450, 451, 452, 453, 454, - 462, 463, 467, 486, 488, 500, 514, 519, 443, 283, - 495, 520, 0, 351, 0, 0, 353, 266, 286, 298, - 0, 509, 464, 215, 431, 275, 238, 0, 0, 203, - 234, 218, 244, 259, 262, 302, 363, 371, 400, 405, - 280, 256, 232, 424, 229, 447, 470, 471, 472, 474, - 367, 251, 404, 0, 1410, 349, 476, 477, 294, 475, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 387, 0, 0, 0, 1412, 0, 0, 0, 0, - 255, 0, 0, 0, 0, 340, 252, 0, 0, 401, - 0, 197, 0, 449, 239, 350, 347, 483, 267, 258, - 254, 237, 295, 357, 399, 469, 393, 0, 344, 0, - 0, 459, 372, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 301, 235, - 303, 196, 384, 460, 271, 0, 0, 0, 0, 188, - 189, 190, 0, 1414, 0, 0, 0, 0, 0, 0, - 0, 0, 226, 0, 233, 325, 334, 333, 314, 315, - 317, 319, 324, 331, 337, 0, 0, 0, 0, 0, - 250, 299, 257, 249, 480, 0, 0, 0, 0, 0, - 0, 0, 217, 0, 0, 0, 1226, 0, 1227, 1228, - 0, 0, 0, 0, 0, 0, 0, 260, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 281, 0, - 373, 242, 0, 0, 0, 0, 516, 0, 0, 0, - 0, 0, 0, 0, 339, 0, 308, 192, 213, 0, - 0, 383, 426, 436, 0, 0, 0, 240, 0, 434, - 397, 499, 221, 269, 423, 403, 432, 410, 272, 0, - 0, 433, 345, 485, 417, 496, 517, 518, 248, 377, - 507, 473, 513, 531, 214, 245, 391, 466, 502, 456, - 369, 481, 482, 307, 455, 279, 195, 343, 523, 212, - 442, 230, 219, 487, 505, 274, 421, 204, 468, 494, - 227, 446, 0, 0, 533, 206, 492, 465, 365, 304, - 305, 205, 0, 422, 253, 277, 243, 386, 489, 490, - 241, 534, 216, 512, 208, 0, 511, 379, 484, 493, - 366, 355, 207, 491, 364, 354, 310, 329, 330, 265, - 288, 415, 348, 416, 289, 375, 374, 376, 199, 503, - 0, 200, 0, 461, 504, 535, 222, 223, 225, 0, - 264, 268, 276, 278, 284, 285, 293, 341, 390, 414, - 412, 418, 0, 479, 497, 508, 515, 521, 522, 524, - 525, 526, 527, 528, 530, 529, 378, 291, 457, 309, - 346, 0, 0, 396, 435, 228, 501, 458, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 536, - 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, - 547, 548, 549, 550, 551, 552, 553, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 554, 356, 448, 498, - 311, 323, 326, 316, 335, 0, 336, 312, 313, 318, - 320, 321, 322, 327, 328, 332, 338, 236, 202, 362, - 370, 478, 292, 427, 428, 429, 430, 0, 191, 209, - 342, 0, 419, 273, 532, 510, 506, 198, 211, 0, - 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 193, 194, 201, 210, 220, 224, 231, 246, - 261, 263, 270, 282, 287, 290, 296, 297, 300, 306, - 352, 358, 359, 360, 361, 380, 381, 382, 385, 388, - 389, 392, 394, 395, 398, 402, 406, 407, 408, 409, - 411, 413, 420, 425, 437, 438, 439, 440, 441, 444, - 445, 450, 451, 452, 453, 454, 462, 463, 467, 486, - 488, 500, 514, 519, 443, 283, 495, 520, 0, 351, - 0, 0, 353, 266, 286, 298, 0, 509, 464, 215, - 431, 275, 238, 0, 0, 203, 234, 218, 244, 259, - 262, 302, 363, 371, 400, 405, 280, 256, 232, 424, - 229, 447, 470, 471, 472, 474, 367, 251, 404, 0, - 368, 349, 476, 477, 294, 475, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 387, 0, 0, - 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, - 0, 340, 252, 0, 0, 401, 0, 197, 0, 449, - 239, 350, 347, 483, 267, 258, 254, 237, 295, 357, - 399, 469, 393, 0, 344, 0, 0, 459, 372, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 301, 235, 303, 196, 384, 460, - 271, 0, 0, 0, 0, 188, 189, 190, 1352, 1355, - 0, 0, 0, 0, 1351, 1354, 0, 0, 226, 1350, - 233, 325, 334, 333, 314, 315, 317, 319, 324, 331, - 337, 0, 0, 0, 0, 0, 250, 299, 257, 249, - 480, 0, 0, 0, 0, 0, 0, 0, 217, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 260, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 281, 0, 373, 242, 0, 0, - 0, 0, 516, 0, 0, 0, 0, 0, 0, 0, - 339, 0, 308, 192, 213, 0, 0, 383, 426, 436, - 0, 0, 0, 240, 0, 434, 397, 499, 221, 269, - 423, 403, 432, 410, 272, 0, 0, 433, 345, 485, - 417, 496, 517, 518, 248, 377, 507, 473, 513, 531, - 214, 245, 391, 466, 502, 456, 369, 481, 482, 307, - 455, 279, 195, 343, 523, 212, 442, 230, 219, 487, - 505, 274, 421, 204, 468, 494, 227, 446, 0, 0, - 533, 206, 492, 465, 365, 304, 305, 205, 0, 422, - 253, 277, 243, 386, 489, 490, 241, 534, 216, 512, - 208, 0, 511, 379, 484, 493, 366, 355, 207, 491, - 364, 354, 310, 329, 330, 265, 288, 415, 348, 416, - 289, 375, 374, 376, 199, 503, 0, 200, 0, 461, - 504, 535, 222, 223, 225, 0, 264, 268, 276, 278, - 284, 285, 293, 341, 390, 414, 412, 418, 0, 479, - 497, 508, 515, 521, 522, 524, 525, 526, 527, 528, - 530, 529, 378, 291, 457, 309, 346, 0, 0, 396, - 435, 228, 501, 458, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 536, 537, 538, 539, 540, - 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, - 551, 552, 553, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 554, 356, 448, 498, 311, 323, 326, 316, - 335, 0, 336, 312, 313, 318, 320, 321, 322, 327, - 328, 332, 338, 236, 202, 362, 370, 478, 292, 427, - 428, 429, 430, 0, 191, 209, 342, 0, 419, 273, - 532, 510, 506, 198, 211, 0, 247, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 229, 0, 236, 328, + 337, 336, 317, 318, 320, 322, 327, 334, 340, 0, + 0, 0, 0, 0, 253, 302, 260, 252, 487, 0, + 0, 0, 0, 0, 0, 0, 220, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 284, 0, 376, 245, 0, 0, 0, 0, + 526, 0, 0, 0, 0, 0, 0, 0, 342, 0, + 311, 192, 216, 0, 0, 386, 429, 439, 0, 0, + 0, 243, 0, 437, 400, 506, 224, 272, 426, 406, + 435, 413, 275, 0, 0, 436, 348, 492, 420, 503, + 527, 528, 251, 380, 514, 476, 522, 541, 217, 248, + 394, 469, 509, 459, 372, 488, 489, 310, 458, 282, + 195, 346, 533, 215, 445, 233, 222, 494, 512, 277, + 424, 204, 471, 501, 230, 449, 0, 0, 543, 206, + 499, 468, 368, 307, 308, 205, 0, 425, 256, 280, + 246, 389, 496, 497, 244, 544, 219, 521, 211, 0, + 520, 382, 491, 500, 369, 358, 210, 498, 367, 357, + 313, 332, 333, 268, 291, 418, 351, 419, 292, 378, + 377, 379, 199, 510, 0, 200, 0, 464, 511, 545, + 225, 226, 228, 0, 267, 271, 279, 281, 287, 288, + 296, 344, 393, 417, 415, 421, 0, 486, 504, 515, + 525, 531, 532, 534, 535, 536, 537, 538, 540, 539, + 381, 294, 460, 312, 349, 0, 0, 399, 438, 231, + 508, 461, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 546, 547, 548, 549, 550, 551, 552, + 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, + 563, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 564, 359, 451, 505, 314, 326, 329, 319, 338, 0, + 339, 315, 316, 321, 323, 324, 325, 330, 331, 335, + 341, 239, 202, 365, 373, 485, 295, 207, 208, 209, + 478, 479, 480, 481, 518, 519, 523, 430, 431, 432, + 433, 0, 191, 212, 345, 86, 422, 276, 542, 517, + 513, 198, 214, 0, 250, 0, 0, 0, 0, 0, + 0, 1958, 0, 0, 1957, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 193, 194, 201, 213, + 223, 227, 234, 249, 264, 266, 273, 285, 290, 293, + 299, 300, 303, 309, 355, 361, 362, 363, 364, 383, + 384, 385, 388, 391, 392, 395, 397, 398, 401, 405, + 409, 410, 411, 412, 414, 416, 423, 428, 440, 441, + 442, 443, 444, 447, 448, 453, 454, 455, 456, 457, + 465, 466, 470, 493, 495, 507, 524, 529, 446, 286, + 502, 530, 0, 354, 0, 0, 356, 269, 289, 301, + 0, 516, 467, 218, 434, 278, 241, 0, 0, 203, + 237, 221, 247, 262, 265, 305, 366, 374, 403, 408, + 283, 259, 235, 427, 232, 450, 473, 474, 475, 477, + 370, 254, 407, 0, 1440, 352, 483, 484, 297, 482, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 390, 0, 0, 0, 1442, 0, 0, 0, 0, + 258, 0, 0, 0, 0, 343, 255, 0, 0, 404, + 0, 197, 0, 452, 242, 353, 350, 490, 270, 261, + 257, 240, 298, 360, 402, 472, 396, 0, 347, 0, + 0, 462, 375, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 304, 238, + 306, 196, 387, 463, 274, 0, 0, 0, 0, 188, + 189, 190, 0, 1444, 0, 0, 0, 0, 0, 0, + 0, 0, 229, 0, 236, 328, 337, 336, 317, 318, + 320, 322, 327, 334, 340, 0, 0, 0, 0, 0, + 253, 302, 260, 252, 487, 0, 0, 0, 0, 0, + 0, 0, 220, 0, 0, 0, 1246, 0, 1247, 1248, + 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 284, 0, + 376, 245, 0, 0, 0, 0, 526, 0, 0, 0, + 0, 0, 0, 0, 342, 0, 311, 192, 216, 0, + 0, 386, 429, 439, 0, 0, 0, 243, 0, 437, + 400, 506, 224, 272, 426, 406, 435, 413, 275, 0, + 0, 436, 348, 492, 420, 503, 527, 528, 251, 380, + 514, 476, 522, 541, 217, 248, 394, 469, 509, 459, + 372, 488, 489, 310, 458, 282, 195, 346, 533, 215, + 445, 233, 222, 494, 512, 277, 424, 204, 471, 501, + 230, 449, 0, 0, 543, 206, 499, 468, 368, 307, + 308, 205, 0, 425, 256, 280, 246, 389, 496, 497, + 244, 544, 219, 521, 211, 0, 520, 382, 491, 500, + 369, 358, 210, 498, 367, 357, 313, 332, 333, 268, + 291, 418, 351, 419, 292, 378, 377, 379, 199, 510, + 0, 200, 0, 464, 511, 545, 225, 226, 228, 0, + 267, 271, 279, 281, 287, 288, 296, 344, 393, 417, + 415, 421, 0, 486, 504, 515, 525, 531, 532, 534, + 535, 536, 537, 538, 540, 539, 381, 294, 460, 312, + 349, 0, 0, 399, 438, 231, 508, 461, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 546, + 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, + 557, 558, 559, 560, 561, 562, 563, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 564, 359, 451, 505, + 314, 326, 329, 319, 338, 0, 339, 315, 316, 321, + 323, 324, 325, 330, 331, 335, 341, 239, 202, 365, + 373, 485, 295, 207, 208, 209, 478, 479, 480, 481, + 518, 519, 523, 430, 431, 432, 433, 0, 191, 212, + 345, 0, 422, 276, 542, 517, 513, 198, 214, 0, + 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 193, 194, 201, 213, 223, 227, 234, 249, + 264, 266, 273, 285, 290, 293, 299, 300, 303, 309, + 355, 361, 362, 363, 364, 383, 384, 385, 388, 391, + 392, 395, 397, 398, 401, 405, 409, 410, 411, 412, + 414, 416, 423, 428, 440, 441, 442, 443, 444, 447, + 448, 453, 454, 455, 456, 457, 465, 466, 470, 493, + 495, 507, 524, 529, 446, 286, 502, 530, 0, 354, + 0, 0, 356, 269, 289, 301, 0, 516, 467, 218, + 434, 278, 241, 0, 0, 203, 237, 221, 247, 262, + 265, 305, 366, 374, 403, 408, 283, 259, 235, 427, + 232, 450, 473, 474, 475, 477, 370, 254, 407, 0, + 371, 352, 483, 484, 297, 482, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 390, 0, 0, + 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, + 0, 343, 255, 0, 0, 404, 0, 197, 0, 452, + 242, 353, 350, 490, 270, 261, 257, 240, 298, 360, + 402, 472, 396, 0, 347, 0, 0, 462, 375, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 304, 238, 306, 196, 387, 463, + 274, 0, 0, 0, 0, 188, 189, 190, 1382, 1385, + 0, 0, 0, 0, 1381, 1384, 0, 0, 229, 1380, + 236, 328, 337, 336, 317, 318, 320, 322, 327, 334, + 340, 0, 0, 0, 0, 0, 253, 302, 260, 252, + 487, 0, 0, 0, 0, 0, 0, 0, 220, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 263, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 284, 0, 376, 245, 0, 0, + 0, 0, 526, 0, 0, 0, 0, 0, 0, 0, + 342, 0, 311, 192, 216, 0, 0, 386, 429, 439, + 0, 0, 0, 243, 0, 437, 400, 506, 224, 272, + 426, 406, 435, 413, 275, 0, 0, 436, 348, 492, + 420, 503, 527, 528, 251, 380, 514, 476, 522, 541, + 217, 248, 394, 469, 509, 459, 372, 488, 489, 310, + 458, 282, 195, 346, 533, 215, 445, 233, 222, 494, + 512, 277, 424, 204, 471, 501, 230, 449, 0, 0, + 543, 206, 499, 468, 368, 307, 308, 205, 0, 425, + 256, 280, 246, 389, 496, 497, 244, 544, 219, 521, + 211, 0, 520, 382, 491, 500, 369, 358, 210, 498, + 367, 357, 313, 332, 333, 268, 291, 418, 351, 419, + 292, 378, 377, 379, 199, 510, 0, 200, 0, 464, + 511, 545, 225, 226, 228, 0, 267, 271, 279, 281, + 287, 288, 296, 344, 393, 417, 415, 421, 0, 486, + 504, 515, 525, 531, 532, 534, 535, 536, 537, 538, + 540, 539, 381, 294, 460, 312, 349, 0, 0, 399, + 438, 231, 508, 461, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 546, 547, 548, 549, 550, + 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 564, 359, 451, 505, 314, 326, 329, 319, + 338, 0, 339, 315, 316, 321, 323, 324, 325, 330, + 331, 335, 341, 239, 202, 365, 373, 485, 295, 207, + 208, 209, 478, 479, 480, 481, 518, 519, 523, 430, + 431, 432, 433, 0, 191, 212, 345, 0, 422, 276, + 542, 517, 513, 198, 214, 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, - 201, 210, 220, 224, 231, 246, 261, 263, 270, 282, - 287, 290, 296, 297, 300, 306, 352, 358, 359, 360, - 361, 380, 381, 382, 385, 388, 389, 392, 394, 395, - 398, 402, 406, 407, 408, 409, 411, 413, 420, 425, - 437, 438, 439, 440, 441, 444, 445, 450, 451, 452, - 453, 454, 462, 463, 467, 486, 488, 500, 514, 519, - 443, 283, 495, 520, 0, 351, 0, 0, 353, 266, - 286, 298, 0, 509, 464, 215, 431, 275, 238, 0, - 0, 203, 234, 218, 244, 259, 262, 302, 363, 371, - 400, 405, 280, 256, 232, 424, 229, 447, 470, 471, - 472, 474, 367, 251, 404, 0, 0, 349, 476, 477, - 294, 368, 0, 0, 0, 78, 475, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 387, 0, - 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, - 0, 0, 340, 252, 0, 0, 401, 0, 197, 0, - 449, 239, 350, 347, 483, 267, 258, 254, 237, 295, - 357, 399, 469, 393, 0, 344, 0, 0, 459, 372, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 301, 235, 303, 196, 384, - 460, 271, 0, 87, 0, 1391, 188, 189, 190, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, - 0, 233, 325, 334, 333, 314, 315, 317, 319, 324, - 331, 337, 0, 0, 0, 0, 0, 250, 299, 257, - 249, 480, 0, 0, 0, 0, 0, 0, 0, 217, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 260, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 281, 0, 373, 242, 0, - 0, 0, 0, 516, 0, 0, 0, 0, 0, 0, - 0, 339, 0, 308, 192, 213, 0, 0, 383, 426, - 436, 0, 0, 0, 240, 0, 434, 397, 499, 221, - 269, 423, 403, 432, 410, 272, 0, 0, 433, 345, - 485, 417, 496, 517, 518, 248, 377, 507, 473, 513, - 531, 214, 245, 391, 466, 502, 456, 369, 481, 482, - 307, 455, 279, 195, 343, 523, 212, 442, 230, 219, - 487, 505, 274, 421, 204, 468, 494, 227, 446, 0, - 0, 533, 206, 492, 465, 365, 304, 305, 205, 0, - 422, 253, 277, 243, 386, 489, 490, 241, 534, 216, - 512, 208, 0, 511, 379, 484, 493, 366, 355, 207, - 491, 364, 354, 310, 329, 330, 265, 288, 415, 348, - 416, 289, 375, 374, 376, 199, 503, 0, 200, 0, - 461, 504, 535, 222, 223, 225, 0, 264, 268, 276, - 278, 284, 285, 293, 341, 390, 414, 412, 418, 0, - 479, 497, 508, 515, 521, 522, 524, 525, 526, 527, - 528, 530, 529, 378, 291, 457, 309, 346, 0, 0, - 396, 435, 228, 501, 458, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, - 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 554, 356, 448, 498, 311, 323, 326, - 316, 335, 0, 336, 312, 313, 318, 320, 321, 322, - 327, 328, 332, 338, 236, 202, 362, 370, 478, 292, - 427, 428, 429, 430, 0, 191, 209, 342, 86, 419, - 273, 532, 510, 506, 198, 211, 0, 247, 0, 0, + 201, 213, 223, 227, 234, 249, 264, 266, 273, 285, + 290, 293, 299, 300, 303, 309, 355, 361, 362, 363, + 364, 383, 384, 385, 388, 391, 392, 395, 397, 398, + 401, 405, 409, 410, 411, 412, 414, 416, 423, 428, + 440, 441, 442, 443, 444, 447, 448, 453, 454, 455, + 456, 457, 465, 466, 470, 493, 495, 507, 524, 529, + 446, 286, 502, 530, 0, 354, 0, 0, 356, 269, + 289, 301, 0, 516, 467, 218, 434, 278, 241, 0, + 0, 203, 237, 221, 247, 262, 265, 305, 366, 374, + 403, 408, 283, 259, 235, 427, 232, 450, 473, 474, + 475, 477, 370, 254, 407, 0, 0, 352, 483, 484, + 297, 371, 0, 0, 0, 78, 482, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, + 0, 0, 343, 255, 0, 0, 404, 0, 197, 0, + 452, 242, 353, 350, 490, 270, 261, 257, 240, 298, + 360, 402, 472, 396, 0, 347, 0, 0, 462, 375, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 304, 238, 306, 196, 387, + 463, 274, 0, 87, 0, 1421, 188, 189, 190, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 229, + 0, 236, 328, 337, 336, 317, 318, 320, 322, 327, + 334, 340, 0, 0, 0, 0, 0, 253, 302, 260, + 252, 487, 0, 0, 0, 0, 0, 0, 0, 220, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 284, 0, 376, 245, 0, + 0, 0, 0, 526, 0, 0, 0, 0, 0, 0, + 0, 342, 0, 311, 192, 216, 0, 0, 386, 429, + 439, 0, 0, 0, 243, 0, 437, 400, 506, 224, + 272, 426, 406, 435, 413, 275, 0, 0, 436, 348, + 492, 420, 503, 527, 528, 251, 380, 514, 476, 522, + 541, 217, 248, 394, 469, 509, 459, 372, 488, 489, + 310, 458, 282, 195, 346, 533, 215, 445, 233, 222, + 494, 512, 277, 424, 204, 471, 501, 230, 449, 0, + 0, 543, 206, 499, 468, 368, 307, 308, 205, 0, + 425, 256, 280, 246, 389, 496, 497, 244, 544, 219, + 521, 211, 0, 520, 382, 491, 500, 369, 358, 210, + 498, 367, 357, 313, 332, 333, 268, 291, 418, 351, + 419, 292, 378, 377, 379, 199, 510, 0, 200, 0, + 464, 511, 545, 225, 226, 228, 0, 267, 271, 279, + 281, 287, 288, 296, 344, 393, 417, 415, 421, 0, + 486, 504, 515, 525, 531, 532, 534, 535, 536, 537, + 538, 540, 539, 381, 294, 460, 312, 349, 0, 0, + 399, 438, 231, 508, 461, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 546, 547, 548, 549, + 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, + 560, 561, 562, 563, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 564, 359, 451, 505, 314, 326, 329, + 319, 338, 0, 339, 315, 316, 321, 323, 324, 325, + 330, 331, 335, 341, 239, 202, 365, 373, 485, 295, + 207, 208, 209, 478, 479, 480, 481, 518, 519, 523, + 430, 431, 432, 433, 0, 191, 212, 345, 86, 422, + 276, 542, 517, 513, 198, 214, 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 194, 201, 210, 220, 224, 231, 246, 261, 263, 270, - 282, 287, 290, 296, 297, 300, 306, 352, 358, 359, - 360, 361, 380, 381, 382, 385, 388, 389, 392, 394, - 395, 398, 402, 406, 407, 408, 409, 411, 413, 420, - 425, 437, 438, 439, 440, 441, 444, 445, 450, 451, - 452, 453, 454, 462, 463, 467, 486, 488, 500, 514, - 519, 443, 283, 495, 520, 0, 351, 0, 0, 353, - 266, 286, 298, 0, 509, 464, 215, 431, 275, 238, - 0, 0, 203, 234, 218, 244, 259, 262, 302, 363, - 371, 400, 405, 280, 256, 232, 424, 229, 447, 470, - 471, 472, 474, 367, 251, 404, 0, 368, 349, 476, - 477, 294, 475, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 387, 0, 0, 0, 0, 0, - 0, 0, 0, 255, 0, 0, 0, 0, 340, 252, - 0, 0, 401, 0, 197, 0, 449, 239, 350, 347, - 483, 267, 258, 254, 237, 295, 357, 399, 469, 393, - 0, 344, 0, 0, 459, 372, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 301, 235, 303, 196, 384, 460, 271, 0, 87, + 194, 201, 213, 223, 227, 234, 249, 264, 266, 273, + 285, 290, 293, 299, 300, 303, 309, 355, 361, 362, + 363, 364, 383, 384, 385, 388, 391, 392, 395, 397, + 398, 401, 405, 409, 410, 411, 412, 414, 416, 423, + 428, 440, 441, 442, 443, 444, 447, 448, 453, 454, + 455, 456, 457, 465, 466, 470, 493, 495, 507, 524, + 529, 446, 286, 502, 530, 0, 354, 0, 0, 356, + 269, 289, 301, 0, 516, 467, 218, 434, 278, 241, + 0, 0, 203, 237, 221, 247, 262, 265, 305, 366, + 374, 403, 408, 283, 259, 235, 427, 232, 450, 473, + 474, 475, 477, 370, 254, 407, 0, 371, 352, 483, + 484, 297, 482, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 390, 0, 0, 0, 0, 0, + 0, 0, 0, 258, 0, 0, 0, 0, 343, 255, + 0, 0, 404, 0, 197, 0, 452, 242, 353, 350, + 490, 270, 261, 257, 240, 298, 360, 402, 472, 396, + 0, 347, 0, 0, 462, 375, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 304, 238, 306, 196, 387, 463, 274, 0, 87, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 226, 0, 233, 325, 334, - 333, 314, 315, 317, 319, 324, 331, 337, 0, 0, - 0, 0, 0, 250, 299, 257, 249, 480, 0, 0, - 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 281, 0, 373, 242, 0, 0, 0, 0, 516, - 0, 0, 0, 0, 0, 0, 0, 339, 0, 308, - 192, 213, 0, 0, 383, 426, 436, 0, 0, 0, - 240, 0, 434, 397, 499, 221, 269, 423, 403, 432, - 410, 272, 0, 0, 433, 345, 485, 417, 496, 517, - 518, 248, 377, 507, 473, 513, 531, 214, 245, 391, - 466, 502, 456, 369, 481, 482, 307, 455, 279, 195, - 343, 523, 212, 442, 230, 219, 487, 505, 274, 421, - 204, 468, 494, 227, 446, 0, 0, 533, 206, 492, - 465, 365, 304, 305, 205, 0, 422, 253, 277, 243, - 386, 489, 490, 241, 534, 216, 512, 208, 0, 511, - 379, 484, 493, 366, 355, 207, 491, 364, 354, 310, - 329, 330, 265, 288, 415, 348, 416, 289, 375, 374, - 376, 199, 503, 0, 200, 0, 461, 504, 535, 222, - 223, 225, 0, 264, 268, 276, 278, 284, 285, 293, - 341, 390, 414, 412, 418, 0, 479, 497, 508, 515, - 521, 522, 524, 525, 526, 527, 528, 530, 529, 378, - 291, 457, 309, 346, 0, 0, 396, 435, 228, 501, - 458, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 536, 537, 538, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 554, - 356, 448, 498, 311, 323, 326, 316, 335, 0, 336, - 312, 313, 318, 320, 321, 322, 327, 328, 332, 338, - 236, 202, 362, 370, 478, 292, 427, 428, 429, 430, - 0, 191, 209, 342, 0, 419, 273, 532, 510, 506, - 198, 211, 0, 247, 0, 0, 0, 0, 0, 0, - 1918, 0, 0, 1917, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, - 224, 231, 246, 261, 263, 270, 282, 287, 290, 296, - 297, 300, 306, 352, 358, 359, 360, 361, 380, 381, - 382, 385, 388, 389, 392, 394, 395, 398, 402, 406, - 407, 408, 409, 411, 413, 420, 425, 437, 438, 439, - 440, 441, 444, 445, 450, 451, 452, 453, 454, 462, - 463, 467, 486, 488, 500, 514, 519, 443, 283, 495, - 520, 0, 351, 0, 0, 353, 266, 286, 298, 0, - 509, 464, 215, 431, 275, 238, 0, 0, 203, 234, - 218, 244, 259, 262, 302, 363, 371, 400, 405, 280, - 256, 232, 424, 229, 447, 470, 471, 472, 474, 367, - 251, 404, 0, 368, 349, 476, 477, 294, 475, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 387, 0, 0, 0, 1869, 0, 0, 0, 0, 255, - 0, 0, 0, 0, 340, 252, 0, 0, 401, 0, - 197, 0, 449, 239, 350, 347, 483, 267, 258, 254, - 237, 295, 357, 399, 469, 393, 0, 344, 0, 0, - 459, 372, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 301, 235, 303, - 196, 384, 460, 271, 0, 0, 0, 0, 188, 189, - 190, 0, 1592, 0, 0, 0, 0, 0, 0, 0, - 0, 226, 0, 233, 325, 334, 333, 314, 315, 317, - 319, 324, 331, 337, 0, 0, 0, 0, 0, 250, - 299, 257, 249, 480, 0, 0, 0, 0, 0, 0, - 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 260, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 281, 0, 373, - 242, 0, 0, 0, 0, 516, 0, 0, 0, 0, - 0, 0, 0, 339, 0, 308, 192, 213, 0, 0, - 383, 426, 436, 0, 0, 0, 240, 0, 434, 397, - 499, 221, 269, 423, 403, 432, 410, 272, 0, 1867, - 433, 345, 485, 417, 496, 517, 518, 248, 377, 507, - 473, 513, 531, 214, 245, 391, 466, 502, 456, 369, - 481, 482, 307, 455, 279, 195, 343, 523, 212, 442, - 230, 219, 487, 505, 274, 421, 204, 468, 494, 227, - 446, 0, 0, 533, 206, 492, 465, 365, 304, 305, - 205, 0, 422, 253, 277, 243, 386, 489, 490, 241, - 534, 216, 512, 208, 0, 511, 379, 484, 493, 366, - 355, 207, 491, 364, 354, 310, 329, 330, 265, 288, - 415, 348, 416, 289, 375, 374, 376, 199, 503, 0, - 200, 0, 461, 504, 535, 222, 223, 225, 0, 264, - 268, 276, 278, 284, 285, 293, 341, 390, 414, 412, - 418, 0, 479, 497, 508, 515, 521, 522, 524, 525, - 526, 527, 528, 530, 529, 378, 291, 457, 309, 346, - 0, 0, 396, 435, 228, 501, 458, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 536, 537, - 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 552, 553, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 554, 356, 448, 498, 311, - 323, 326, 316, 335, 0, 336, 312, 313, 318, 320, - 321, 322, 327, 328, 332, 338, 236, 202, 362, 370, - 478, 292, 427, 428, 429, 430, 0, 191, 209, 342, - 0, 419, 273, 532, 510, 506, 198, 211, 0, 247, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 193, 194, 201, 210, 220, 224, 231, 246, 261, - 263, 270, 282, 287, 290, 296, 297, 300, 306, 352, - 358, 359, 360, 361, 380, 381, 382, 385, 388, 389, - 392, 394, 395, 398, 402, 406, 407, 408, 409, 411, - 413, 420, 425, 437, 438, 439, 440, 441, 444, 445, - 450, 451, 452, 453, 454, 462, 463, 467, 486, 488, - 500, 514, 519, 443, 283, 495, 520, 0, 351, 0, - 0, 353, 266, 286, 298, 0, 509, 464, 215, 431, - 275, 238, 0, 0, 203, 234, 218, 244, 259, 262, - 302, 363, 371, 400, 405, 280, 256, 232, 424, 229, - 447, 470, 471, 472, 474, 367, 251, 404, 0, 368, - 349, 476, 477, 294, 475, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 387, 0, 0, 0, - 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, - 340, 252, 0, 0, 401, 0, 197, 0, 449, 239, - 350, 347, 483, 267, 258, 254, 237, 295, 357, 399, - 469, 393, 0, 344, 0, 0, 459, 372, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 301, 235, 303, 196, 384, 460, 271, + 0, 0, 0, 0, 0, 229, 0, 236, 328, 337, + 336, 317, 318, 320, 322, 327, 334, 340, 0, 0, + 0, 0, 0, 253, 302, 260, 252, 487, 0, 0, + 0, 0, 0, 0, 0, 220, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 284, 0, 376, 245, 0, 0, 0, 0, 526, + 0, 0, 0, 0, 0, 0, 0, 342, 0, 311, + 192, 216, 0, 0, 386, 429, 439, 0, 0, 0, + 243, 0, 437, 400, 506, 224, 272, 426, 406, 435, + 413, 275, 0, 0, 436, 348, 492, 420, 503, 527, + 528, 251, 380, 514, 476, 522, 541, 217, 248, 394, + 469, 509, 459, 372, 488, 489, 310, 458, 282, 195, + 346, 533, 215, 445, 233, 222, 494, 512, 277, 424, + 204, 471, 501, 230, 449, 0, 0, 543, 206, 499, + 468, 368, 307, 308, 205, 0, 425, 256, 280, 246, + 389, 496, 497, 244, 544, 219, 521, 211, 0, 520, + 382, 491, 500, 369, 358, 210, 498, 367, 357, 313, + 332, 333, 268, 291, 418, 351, 419, 292, 378, 377, + 379, 199, 510, 0, 200, 0, 464, 511, 545, 225, + 226, 228, 0, 267, 271, 279, 281, 287, 288, 296, + 344, 393, 417, 415, 421, 0, 486, 504, 515, 525, + 531, 532, 534, 535, 536, 537, 538, 540, 539, 381, + 294, 460, 312, 349, 0, 0, 399, 438, 231, 508, + 461, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 546, 547, 548, 549, 550, 551, 552, 553, + 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 564, + 359, 451, 505, 314, 326, 329, 319, 338, 0, 339, + 315, 316, 321, 323, 324, 325, 330, 331, 335, 341, + 239, 202, 365, 373, 485, 295, 207, 208, 209, 478, + 479, 480, 481, 518, 519, 523, 430, 431, 432, 433, + 0, 191, 212, 345, 0, 422, 276, 542, 517, 513, + 198, 214, 0, 250, 0, 0, 0, 0, 0, 0, + 1958, 0, 0, 1957, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 193, 194, 201, 213, 223, + 227, 234, 249, 264, 266, 273, 285, 290, 293, 299, + 300, 303, 309, 355, 361, 362, 363, 364, 383, 384, + 385, 388, 391, 392, 395, 397, 398, 401, 405, 409, + 410, 411, 412, 414, 416, 423, 428, 440, 441, 442, + 443, 444, 447, 448, 453, 454, 455, 456, 457, 465, + 466, 470, 493, 495, 507, 524, 529, 446, 286, 502, + 530, 0, 354, 0, 0, 356, 269, 289, 301, 0, + 516, 467, 218, 434, 278, 241, 0, 0, 203, 237, + 221, 247, 262, 265, 305, 366, 374, 403, 408, 283, + 259, 235, 427, 232, 450, 473, 474, 475, 477, 370, + 254, 407, 0, 371, 352, 483, 484, 297, 482, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 390, 0, 0, 0, 1909, 0, 0, 0, 0, 258, + 0, 0, 0, 0, 343, 255, 0, 0, 404, 0, + 197, 0, 452, 242, 353, 350, 490, 270, 261, 257, + 240, 298, 360, 402, 472, 396, 0, 347, 0, 0, + 462, 375, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 304, 238, 306, + 196, 387, 463, 274, 0, 0, 0, 0, 188, 189, + 190, 0, 1622, 0, 0, 0, 0, 0, 0, 0, + 0, 229, 0, 236, 328, 337, 336, 317, 318, 320, + 322, 327, 334, 340, 0, 0, 0, 0, 0, 253, + 302, 260, 252, 487, 0, 0, 0, 0, 0, 0, + 0, 220, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 284, 0, 376, + 245, 0, 0, 0, 0, 526, 0, 0, 0, 0, + 0, 0, 0, 342, 0, 311, 192, 216, 0, 0, + 386, 429, 439, 0, 0, 0, 243, 0, 437, 400, + 506, 224, 272, 426, 406, 435, 413, 275, 0, 1907, + 436, 348, 492, 420, 503, 527, 528, 251, 380, 514, + 476, 522, 541, 217, 248, 394, 469, 509, 459, 372, + 488, 489, 310, 458, 282, 195, 346, 533, 215, 445, + 233, 222, 494, 512, 277, 424, 204, 471, 501, 230, + 449, 0, 0, 543, 206, 499, 468, 368, 307, 308, + 205, 0, 425, 256, 280, 246, 389, 496, 497, 244, + 544, 219, 521, 211, 0, 520, 382, 491, 500, 369, + 358, 210, 498, 367, 357, 313, 332, 333, 268, 291, + 418, 351, 419, 292, 378, 377, 379, 199, 510, 0, + 200, 0, 464, 511, 545, 225, 226, 228, 0, 267, + 271, 279, 281, 287, 288, 296, 344, 393, 417, 415, + 421, 0, 486, 504, 515, 525, 531, 532, 534, 535, + 536, 537, 538, 540, 539, 381, 294, 460, 312, 349, + 0, 0, 399, 438, 231, 508, 461, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 546, 547, + 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, + 558, 559, 560, 561, 562, 563, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 564, 359, 451, 505, 314, + 326, 329, 319, 338, 0, 339, 315, 316, 321, 323, + 324, 325, 330, 331, 335, 341, 239, 202, 365, 373, + 485, 295, 207, 208, 209, 478, 479, 480, 481, 518, + 519, 523, 430, 431, 432, 433, 0, 191, 212, 345, + 0, 422, 276, 542, 517, 513, 198, 214, 0, 250, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 193, 194, 201, 213, 223, 227, 234, 249, 264, + 266, 273, 285, 290, 293, 299, 300, 303, 309, 355, + 361, 362, 363, 364, 383, 384, 385, 388, 391, 392, + 395, 397, 398, 401, 405, 409, 410, 411, 412, 414, + 416, 423, 428, 440, 441, 442, 443, 444, 447, 448, + 453, 454, 455, 456, 457, 465, 466, 470, 493, 495, + 507, 524, 529, 446, 286, 502, 530, 0, 354, 0, + 0, 356, 269, 289, 301, 0, 516, 467, 218, 434, + 278, 241, 0, 0, 203, 237, 221, 247, 262, 265, + 305, 366, 374, 403, 408, 283, 259, 235, 427, 232, + 450, 473, 474, 475, 477, 370, 254, 407, 0, 371, + 352, 483, 484, 297, 482, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 390, 0, 0, 0, + 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, + 343, 255, 0, 0, 404, 0, 197, 0, 452, 242, + 353, 350, 490, 270, 261, 257, 240, 298, 360, 402, + 472, 396, 0, 347, 0, 0, 462, 375, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 304, 238, 306, 196, 387, 463, 274, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 226, 0, 233, - 325, 334, 333, 314, 315, 317, 319, 324, 331, 337, - 0, 0, 0, 0, 0, 250, 299, 257, 249, 480, - 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 260, 0, 0, 0, 0, 0, 0, 0, - 0, 1005, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 281, 0, 373, 242, 0, 0, 0, - 0, 516, 0, 0, 0, 0, 0, 0, 0, 339, - 1011, 308, 192, 213, 1009, 0, 383, 426, 436, 0, - 0, 0, 240, 0, 434, 397, 499, 221, 269, 423, - 403, 432, 410, 272, 0, 0, 433, 345, 485, 417, - 496, 517, 518, 248, 377, 507, 473, 513, 531, 214, - 245, 391, 466, 502, 456, 369, 481, 482, 307, 455, - 279, 195, 343, 523, 212, 442, 230, 219, 487, 505, - 274, 421, 204, 468, 494, 227, 446, 0, 0, 533, - 206, 492, 465, 365, 304, 305, 205, 0, 422, 253, - 277, 243, 386, 489, 490, 241, 534, 216, 512, 208, - 0, 511, 379, 484, 493, 366, 355, 207, 491, 364, - 354, 310, 329, 330, 265, 288, 415, 348, 416, 289, - 375, 374, 376, 199, 503, 0, 200, 0, 461, 504, - 535, 222, 223, 225, 0, 264, 268, 276, 278, 284, - 285, 293, 341, 390, 414, 412, 418, 0, 479, 497, - 508, 515, 521, 522, 524, 525, 526, 527, 528, 530, - 529, 378, 291, 457, 309, 346, 0, 0, 396, 435, - 228, 501, 458, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 536, 537, 538, 539, 540, 541, - 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, - 552, 553, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 554, 356, 448, 498, 311, 323, 326, 316, 335, - 0, 336, 312, 313, 318, 320, 321, 322, 327, 328, - 332, 338, 236, 202, 362, 370, 478, 292, 427, 428, - 429, 430, 0, 191, 209, 342, 0, 419, 273, 532, - 510, 506, 198, 211, 0, 247, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 229, 0, 236, + 328, 337, 336, 317, 318, 320, 322, 327, 334, 340, + 0, 0, 0, 0, 0, 253, 302, 260, 252, 487, + 0, 0, 0, 0, 0, 0, 0, 220, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, + 0, 1025, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 284, 0, 376, 245, 0, 0, 0, + 0, 526, 0, 0, 0, 0, 0, 0, 0, 342, + 1031, 311, 192, 216, 1029, 0, 386, 429, 439, 0, + 0, 0, 243, 0, 437, 400, 506, 224, 272, 426, + 406, 435, 413, 275, 0, 0, 436, 348, 492, 420, + 503, 527, 528, 251, 380, 514, 476, 522, 541, 217, + 248, 394, 469, 509, 459, 372, 488, 489, 310, 458, + 282, 195, 346, 533, 215, 445, 233, 222, 494, 512, + 277, 424, 204, 471, 501, 230, 449, 0, 0, 543, + 206, 499, 468, 368, 307, 308, 205, 0, 425, 256, + 280, 246, 389, 496, 497, 244, 544, 219, 521, 211, + 0, 520, 382, 491, 500, 369, 358, 210, 498, 367, + 357, 313, 332, 333, 268, 291, 418, 351, 419, 292, + 378, 377, 379, 199, 510, 0, 200, 0, 464, 511, + 545, 225, 226, 228, 0, 267, 271, 279, 281, 287, + 288, 296, 344, 393, 417, 415, 421, 0, 486, 504, + 515, 525, 531, 532, 534, 535, 536, 537, 538, 540, + 539, 381, 294, 460, 312, 349, 0, 0, 399, 438, + 231, 508, 461, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 546, 547, 548, 549, 550, 551, + 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, + 562, 563, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 564, 359, 451, 505, 314, 326, 329, 319, 338, + 0, 339, 315, 316, 321, 323, 324, 325, 330, 331, + 335, 341, 239, 202, 365, 373, 485, 295, 207, 208, + 209, 478, 479, 480, 481, 518, 519, 523, 430, 431, + 432, 433, 0, 191, 212, 345, 0, 422, 276, 542, + 517, 513, 198, 214, 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, - 210, 220, 224, 231, 246, 261, 263, 270, 282, 287, - 290, 296, 297, 300, 306, 352, 358, 359, 360, 361, - 380, 381, 382, 385, 388, 389, 392, 394, 395, 398, - 402, 406, 407, 408, 409, 411, 413, 420, 425, 437, - 438, 439, 440, 441, 444, 445, 450, 451, 452, 453, - 454, 462, 463, 467, 486, 488, 500, 514, 519, 443, - 283, 495, 520, 0, 351, 0, 0, 353, 266, 286, - 298, 0, 509, 464, 215, 431, 275, 238, 0, 0, - 203, 234, 218, 244, 259, 262, 302, 363, 371, 400, - 405, 280, 256, 232, 424, 229, 447, 470, 471, 472, - 474, 367, 251, 404, 0, 368, 349, 476, 477, 294, - 475, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 387, 0, 0, 0, 1869, 0, 0, 0, - 0, 255, 0, 0, 0, 0, 340, 252, 0, 0, - 401, 0, 197, 0, 449, 239, 350, 347, 483, 267, - 258, 254, 237, 295, 357, 399, 469, 393, 0, 344, - 0, 0, 459, 372, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, - 235, 303, 196, 384, 460, 271, 0, 0, 0, 0, - 188, 189, 190, 0, 1592, 0, 0, 0, 0, 0, - 0, 0, 0, 226, 0, 233, 325, 334, 333, 314, - 315, 317, 319, 324, 331, 337, 0, 0, 0, 0, - 0, 250, 299, 257, 249, 480, 0, 0, 0, 0, - 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 260, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 281, - 0, 373, 242, 0, 0, 0, 0, 516, 0, 0, - 0, 0, 0, 0, 0, 339, 0, 308, 192, 213, - 0, 0, 383, 426, 436, 0, 0, 0, 240, 0, - 434, 397, 499, 221, 269, 423, 403, 432, 410, 272, - 0, 0, 433, 345, 485, 417, 496, 517, 518, 248, - 377, 507, 473, 513, 531, 214, 245, 391, 466, 502, - 456, 369, 481, 482, 307, 455, 279, 195, 343, 523, - 212, 442, 230, 219, 487, 505, 274, 421, 204, 468, - 494, 227, 446, 0, 0, 533, 206, 492, 465, 365, - 304, 305, 205, 0, 422, 253, 277, 243, 386, 489, - 490, 241, 534, 216, 512, 208, 0, 511, 379, 484, - 493, 366, 355, 207, 491, 364, 354, 310, 329, 330, - 265, 288, 415, 348, 416, 289, 375, 374, 376, 199, - 503, 0, 200, 0, 461, 504, 535, 222, 223, 225, - 0, 264, 268, 276, 278, 284, 285, 293, 341, 390, - 414, 412, 418, 0, 479, 497, 508, 515, 521, 522, - 524, 525, 526, 527, 528, 530, 529, 378, 291, 457, - 309, 346, 0, 0, 396, 435, 228, 501, 458, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, - 546, 547, 548, 549, 550, 551, 552, 553, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 554, 356, 448, - 498, 311, 323, 326, 316, 335, 0, 336, 312, 313, - 318, 320, 321, 322, 327, 328, 332, 338, 236, 202, - 362, 370, 478, 292, 427, 428, 429, 430, 0, 191, - 209, 342, 0, 419, 273, 532, 510, 506, 198, 211, - 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, - 246, 261, 263, 270, 282, 287, 290, 296, 297, 300, - 306, 352, 358, 359, 360, 361, 380, 381, 382, 385, - 388, 389, 392, 394, 395, 398, 402, 406, 407, 408, - 409, 411, 413, 420, 425, 437, 438, 439, 440, 441, - 444, 445, 450, 451, 452, 453, 454, 462, 463, 467, - 486, 488, 500, 514, 519, 443, 283, 495, 520, 0, - 351, 0, 0, 353, 266, 286, 298, 0, 509, 464, - 215, 431, 275, 238, 0, 0, 203, 234, 218, 244, - 259, 262, 302, 363, 371, 400, 405, 280, 256, 232, - 424, 229, 447, 470, 471, 472, 474, 367, 251, 404, - 0, 368, 349, 476, 477, 294, 475, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 387, 0, - 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, - 0, 0, 340, 252, 0, 0, 401, 0, 197, 0, - 449, 239, 350, 347, 483, 267, 258, 254, 237, 295, - 357, 399, 469, 393, 0, 344, 0, 0, 459, 372, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 301, 235, 303, 196, 384, - 460, 271, 0, 0, 0, 1391, 188, 189, 190, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, - 0, 233, 325, 334, 333, 314, 315, 317, 319, 324, - 331, 337, 0, 0, 0, 0, 0, 250, 299, 257, - 249, 480, 0, 0, 0, 0, 0, 0, 0, 217, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 260, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 281, 0, 373, 242, 0, - 0, 0, 0, 516, 0, 0, 0, 3051, 0, 0, - 0, 339, 0, 308, 192, 213, 0, 0, 383, 426, - 436, 0, 0, 0, 240, 0, 434, 397, 499, 221, - 269, 423, 403, 432, 410, 272, 0, 0, 433, 345, - 485, 417, 496, 517, 518, 248, 377, 507, 473, 513, - 531, 214, 245, 391, 466, 502, 456, 369, 481, 482, - 307, 455, 279, 195, 343, 523, 212, 442, 230, 219, - 487, 505, 274, 421, 204, 468, 494, 227, 446, 0, - 0, 533, 206, 492, 465, 365, 304, 305, 205, 0, - 422, 253, 277, 243, 386, 489, 490, 241, 534, 216, - 512, 208, 0, 511, 379, 484, 493, 366, 355, 207, - 491, 364, 354, 310, 329, 330, 265, 288, 415, 348, - 416, 289, 375, 374, 376, 199, 503, 0, 200, 0, - 461, 504, 535, 222, 223, 225, 0, 264, 268, 276, - 278, 284, 285, 293, 341, 390, 414, 412, 418, 0, - 479, 497, 508, 515, 521, 522, 524, 525, 526, 527, - 528, 530, 529, 378, 291, 457, 309, 346, 0, 0, - 396, 435, 228, 501, 458, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, - 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 554, 356, 448, 498, 311, 323, 326, - 316, 335, 0, 336, 312, 313, 318, 320, 321, 322, - 327, 328, 332, 338, 236, 202, 362, 370, 478, 292, - 427, 428, 429, 430, 0, 191, 209, 342, 0, 419, - 273, 532, 510, 506, 198, 211, 0, 247, 0, 0, + 213, 223, 227, 234, 249, 264, 266, 273, 285, 290, + 293, 299, 300, 303, 309, 355, 361, 362, 363, 364, + 383, 384, 385, 388, 391, 392, 395, 397, 398, 401, + 405, 409, 410, 411, 412, 414, 416, 423, 428, 440, + 441, 442, 443, 444, 447, 448, 453, 454, 455, 456, + 457, 465, 466, 470, 493, 495, 507, 524, 529, 446, + 286, 502, 530, 0, 354, 0, 0, 356, 269, 289, + 301, 0, 516, 467, 218, 434, 278, 241, 0, 0, + 203, 237, 221, 247, 262, 265, 305, 366, 374, 403, + 408, 283, 259, 235, 427, 232, 450, 473, 474, 475, + 477, 370, 254, 407, 0, 371, 352, 483, 484, 297, + 482, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 390, 0, 0, 0, 1909, 0, 0, 0, + 0, 258, 0, 0, 0, 0, 343, 255, 0, 0, + 404, 0, 197, 0, 452, 242, 353, 350, 490, 270, + 261, 257, 240, 298, 360, 402, 472, 396, 0, 347, + 0, 0, 462, 375, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, + 238, 306, 196, 387, 463, 274, 0, 0, 0, 0, + 188, 189, 190, 0, 1622, 0, 0, 0, 0, 0, + 0, 0, 0, 229, 0, 236, 328, 337, 336, 317, + 318, 320, 322, 327, 334, 340, 0, 0, 0, 0, + 0, 253, 302, 260, 252, 487, 0, 0, 0, 0, + 0, 0, 0, 220, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 284, + 0, 376, 245, 0, 0, 0, 0, 526, 0, 0, + 0, 0, 0, 0, 0, 342, 0, 311, 192, 216, + 0, 0, 386, 429, 439, 0, 0, 0, 243, 0, + 437, 400, 506, 224, 272, 426, 406, 435, 413, 275, + 0, 0, 436, 348, 492, 420, 503, 527, 528, 251, + 380, 514, 476, 522, 541, 217, 248, 394, 469, 509, + 459, 372, 488, 489, 310, 458, 282, 195, 346, 533, + 215, 445, 233, 222, 494, 512, 277, 424, 204, 471, + 501, 230, 449, 0, 0, 543, 206, 499, 468, 368, + 307, 308, 205, 0, 425, 256, 280, 246, 389, 496, + 497, 244, 544, 219, 521, 211, 0, 520, 382, 491, + 500, 369, 358, 210, 498, 367, 357, 313, 332, 333, + 268, 291, 418, 351, 419, 292, 378, 377, 379, 199, + 510, 0, 200, 0, 464, 511, 545, 225, 226, 228, + 0, 267, 271, 279, 281, 287, 288, 296, 344, 393, + 417, 415, 421, 0, 486, 504, 515, 525, 531, 532, + 534, 535, 536, 537, 538, 540, 539, 381, 294, 460, + 312, 349, 0, 0, 399, 438, 231, 508, 461, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, + 556, 557, 558, 559, 560, 561, 562, 563, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 564, 359, 451, + 505, 314, 326, 329, 319, 338, 0, 339, 315, 316, + 321, 323, 324, 325, 330, 331, 335, 341, 239, 202, + 365, 373, 485, 295, 207, 208, 209, 478, 479, 480, + 481, 518, 519, 523, 430, 431, 432, 433, 0, 191, + 212, 345, 0, 422, 276, 542, 517, 513, 198, 214, + 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 193, 194, 201, 213, 223, 227, 234, + 249, 264, 266, 273, 285, 290, 293, 299, 300, 303, + 309, 355, 361, 362, 363, 364, 383, 384, 385, 388, + 391, 392, 395, 397, 398, 401, 405, 409, 410, 411, + 412, 414, 416, 423, 428, 440, 441, 442, 443, 444, + 447, 448, 453, 454, 455, 456, 457, 465, 466, 470, + 493, 495, 507, 524, 529, 446, 286, 502, 530, 0, + 354, 0, 0, 356, 269, 289, 301, 0, 516, 467, + 218, 434, 278, 241, 0, 0, 203, 237, 221, 247, + 262, 265, 305, 366, 374, 403, 408, 283, 259, 235, + 427, 232, 450, 473, 474, 475, 477, 370, 254, 407, + 0, 371, 352, 483, 484, 297, 482, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, + 0, 0, 343, 255, 0, 0, 404, 0, 197, 0, + 452, 242, 353, 350, 490, 270, 261, 257, 240, 298, + 360, 402, 472, 396, 0, 347, 0, 0, 462, 375, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 304, 238, 306, 196, 387, + 463, 274, 0, 0, 0, 1421, 188, 189, 190, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 229, + 0, 236, 328, 337, 336, 317, 318, 320, 322, 327, + 334, 340, 0, 0, 0, 0, 0, 253, 302, 260, + 252, 487, 0, 0, 0, 0, 0, 0, 0, 220, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 284, 0, 376, 245, 0, + 0, 0, 0, 526, 0, 0, 0, 3111, 0, 0, + 0, 342, 0, 311, 192, 216, 0, 0, 386, 429, + 439, 0, 0, 0, 243, 0, 437, 400, 506, 224, + 272, 426, 406, 435, 413, 275, 0, 0, 436, 348, + 492, 420, 503, 527, 528, 251, 380, 514, 476, 522, + 541, 217, 248, 394, 469, 509, 459, 372, 488, 489, + 310, 458, 282, 195, 346, 533, 215, 445, 233, 222, + 494, 512, 277, 424, 204, 471, 501, 230, 449, 0, + 0, 543, 206, 499, 468, 368, 307, 308, 205, 0, + 425, 256, 280, 246, 389, 496, 497, 244, 544, 219, + 521, 211, 0, 520, 382, 491, 500, 369, 358, 210, + 498, 367, 357, 313, 332, 333, 268, 291, 418, 351, + 419, 292, 378, 377, 379, 199, 510, 0, 200, 0, + 464, 511, 545, 225, 226, 228, 0, 267, 271, 279, + 281, 287, 288, 296, 344, 393, 417, 415, 421, 0, + 486, 504, 515, 525, 531, 532, 534, 535, 536, 537, + 538, 540, 539, 381, 294, 460, 312, 349, 0, 0, + 399, 438, 231, 508, 461, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 546, 547, 548, 549, + 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, + 560, 561, 562, 563, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 564, 359, 451, 505, 314, 326, 329, + 319, 338, 0, 339, 315, 316, 321, 323, 324, 325, + 330, 331, 335, 341, 239, 202, 365, 373, 485, 295, + 207, 208, 209, 478, 479, 480, 481, 518, 519, 523, + 430, 431, 432, 433, 0, 191, 212, 345, 0, 422, + 276, 542, 517, 513, 198, 214, 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 194, 201, 210, 220, 224, 231, 246, 261, 263, 270, - 282, 287, 290, 296, 297, 300, 306, 352, 358, 359, - 360, 361, 380, 381, 382, 385, 388, 389, 392, 394, - 395, 398, 402, 406, 407, 408, 409, 411, 413, 420, - 425, 437, 438, 439, 440, 441, 444, 445, 450, 451, - 452, 453, 454, 462, 463, 467, 486, 488, 500, 514, - 519, 443, 283, 495, 520, 0, 351, 0, 0, 353, - 266, 286, 298, 0, 509, 464, 215, 431, 275, 238, - 0, 0, 203, 234, 218, 244, 259, 262, 302, 363, - 371, 400, 405, 280, 256, 232, 424, 229, 447, 470, - 471, 472, 474, 367, 251, 404, 0, 368, 349, 476, - 477, 294, 475, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 387, 0, 0, 0, 0, 0, - 0, 0, 0, 255, 0, 0, 0, 0, 340, 252, - 0, 0, 401, 0, 197, 0, 449, 239, 350, 347, - 483, 267, 258, 254, 237, 295, 357, 399, 469, 393, - 0, 344, 0, 0, 459, 372, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 301, 235, 303, 196, 384, 460, 271, 0, 0, - 0, 0, 188, 189, 190, 0, 1735, 0, 0, 0, - 0, 0, 0, 0, 0, 226, 0, 233, 325, 334, - 333, 314, 315, 317, 319, 324, 331, 337, 0, 0, - 0, 0, 0, 250, 299, 257, 249, 480, 0, 0, - 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1736, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 281, 0, 373, 242, 0, 0, 0, 0, 516, - 0, 0, 0, 0, 0, 0, 0, 339, 0, 308, - 192, 213, 0, 0, 383, 426, 436, 0, 0, 0, - 240, 0, 434, 397, 499, 221, 269, 423, 403, 432, - 410, 272, 0, 0, 433, 345, 485, 417, 496, 517, - 518, 248, 377, 507, 473, 513, 531, 214, 245, 391, - 466, 502, 456, 369, 481, 482, 307, 455, 279, 195, - 343, 523, 212, 442, 230, 219, 487, 505, 274, 421, - 204, 468, 494, 227, 446, 0, 0, 533, 206, 492, - 465, 365, 304, 305, 205, 0, 422, 253, 277, 243, - 386, 489, 490, 241, 534, 216, 512, 208, 0, 511, - 379, 484, 493, 366, 355, 207, 491, 364, 354, 310, - 329, 330, 265, 288, 415, 348, 416, 289, 375, 374, - 376, 199, 503, 0, 200, 0, 461, 504, 535, 222, - 223, 225, 0, 264, 268, 276, 278, 284, 285, 293, - 341, 390, 414, 412, 418, 0, 479, 497, 508, 515, - 521, 522, 524, 525, 526, 527, 528, 530, 529, 378, - 291, 457, 309, 346, 0, 0, 396, 435, 228, 501, - 458, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 536, 537, 538, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 554, - 356, 448, 498, 311, 323, 326, 316, 335, 0, 336, - 312, 313, 318, 320, 321, 322, 327, 328, 332, 338, - 236, 202, 362, 370, 478, 292, 427, 428, 429, 430, - 0, 191, 209, 342, 0, 419, 273, 532, 510, 506, - 198, 211, 0, 247, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, - 224, 231, 246, 261, 263, 270, 282, 287, 290, 296, - 297, 300, 306, 352, 358, 359, 360, 361, 380, 381, - 382, 385, 388, 389, 392, 394, 395, 398, 402, 406, - 407, 408, 409, 411, 413, 420, 425, 437, 438, 439, - 440, 441, 444, 445, 450, 451, 452, 453, 454, 462, - 463, 467, 486, 488, 500, 514, 519, 443, 283, 495, - 520, 0, 351, 0, 0, 353, 266, 286, 298, 0, - 509, 464, 215, 431, 275, 238, 0, 0, 203, 234, - 218, 244, 259, 262, 302, 363, 371, 400, 405, 280, - 256, 232, 424, 229, 447, 470, 471, 472, 474, 367, - 251, 404, 0, 368, 349, 476, 477, 294, 475, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 387, 0, 0, 0, 0, 0, 0, 0, 0, 255, - 0, 0, 0, 0, 340, 252, 0, 0, 401, 0, - 197, 0, 449, 239, 350, 347, 483, 267, 258, 254, - 237, 295, 357, 399, 469, 393, 0, 344, 0, 0, - 459, 372, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 301, 235, 303, - 196, 384, 460, 271, 0, 0, 0, 0, 188, 189, - 190, 0, 2229, 0, 0, 0, 0, 0, 0, 0, - 0, 226, 0, 233, 325, 334, 333, 314, 315, 317, - 319, 324, 331, 337, 0, 0, 0, 0, 0, 250, - 299, 257, 249, 480, 0, 0, 0, 0, 0, 0, - 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 260, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2230, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 281, 0, 373, - 242, 0, 0, 0, 0, 516, 0, 0, 0, 0, - 0, 0, 0, 339, 0, 308, 192, 213, 0, 0, - 383, 426, 436, 0, 0, 0, 240, 0, 434, 397, - 499, 221, 269, 423, 403, 432, 410, 272, 0, 0, - 433, 345, 485, 417, 496, 517, 518, 248, 377, 507, - 473, 513, 531, 214, 245, 391, 466, 502, 456, 369, - 481, 482, 307, 455, 279, 195, 343, 523, 212, 442, - 230, 219, 487, 505, 274, 421, 204, 468, 494, 227, - 446, 0, 0, 533, 206, 492, 465, 365, 304, 305, - 205, 0, 422, 253, 277, 243, 386, 489, 490, 241, - 534, 216, 512, 208, 0, 511, 379, 484, 493, 366, - 355, 207, 491, 364, 354, 310, 329, 330, 265, 288, - 415, 348, 416, 289, 375, 374, 376, 199, 503, 0, - 200, 0, 461, 504, 535, 222, 223, 225, 0, 264, - 268, 276, 278, 284, 285, 293, 341, 390, 414, 412, - 418, 0, 479, 497, 508, 515, 521, 522, 524, 525, - 526, 527, 528, 530, 529, 378, 291, 457, 309, 346, - 0, 0, 396, 435, 228, 501, 458, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 536, 537, - 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 552, 553, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 554, 356, 448, 498, 311, - 323, 326, 316, 335, 0, 336, 312, 313, 318, 320, - 321, 322, 327, 328, 332, 338, 236, 202, 362, 370, - 478, 292, 427, 428, 429, 430, 0, 191, 209, 342, - 0, 419, 273, 532, 510, 506, 198, 211, 0, 247, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 193, 194, 201, 210, 220, 224, 231, 246, 261, - 263, 270, 282, 287, 290, 296, 297, 300, 306, 352, - 358, 359, 360, 361, 380, 381, 382, 385, 388, 389, - 392, 394, 395, 398, 402, 406, 407, 408, 409, 411, - 413, 420, 425, 437, 438, 439, 440, 441, 444, 445, - 450, 451, 452, 453, 454, 462, 463, 467, 486, 488, - 500, 514, 519, 443, 283, 495, 520, 0, 351, 0, - 0, 353, 266, 286, 298, 0, 509, 464, 215, 431, - 275, 238, 0, 0, 203, 234, 218, 244, 259, 262, - 302, 363, 371, 400, 405, 280, 256, 232, 424, 229, - 447, 470, 471, 472, 474, 367, 251, 404, 0, 368, - 349, 476, 477, 294, 475, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 387, 0, 0, 0, - 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, - 340, 252, 0, 0, 401, 0, 197, 0, 449, 239, - 350, 347, 483, 267, 258, 254, 237, 295, 357, 399, - 469, 393, 0, 344, 0, 0, 459, 372, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 301, 235, 303, 196, 384, 460, 271, + 194, 201, 213, 223, 227, 234, 249, 264, 266, 273, + 285, 290, 293, 299, 300, 303, 309, 355, 361, 362, + 363, 364, 383, 384, 385, 388, 391, 392, 395, 397, + 398, 401, 405, 409, 410, 411, 412, 414, 416, 423, + 428, 440, 441, 442, 443, 444, 447, 448, 453, 454, + 455, 456, 457, 465, 466, 470, 493, 495, 507, 524, + 529, 446, 286, 502, 530, 0, 354, 0, 0, 356, + 269, 289, 301, 0, 516, 467, 218, 434, 278, 241, + 0, 0, 203, 237, 221, 247, 262, 265, 305, 366, + 374, 403, 408, 283, 259, 235, 427, 232, 450, 473, + 474, 475, 477, 370, 254, 407, 0, 371, 352, 483, + 484, 297, 482, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 390, 0, 0, 0, 0, 0, + 0, 0, 0, 258, 0, 0, 0, 0, 343, 255, + 0, 0, 404, 0, 197, 0, 452, 242, 353, 350, + 490, 270, 261, 257, 240, 298, 360, 402, 472, 396, + 0, 347, 0, 0, 462, 375, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 304, 238, 306, 196, 387, 463, 274, 0, 0, + 0, 0, 188, 189, 190, 0, 1765, 0, 0, 0, + 0, 0, 0, 0, 0, 229, 0, 236, 328, 337, + 336, 317, 318, 320, 322, 327, 334, 340, 0, 0, + 0, 0, 0, 253, 302, 260, 252, 487, 0, 0, + 0, 0, 0, 0, 0, 220, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1766, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 284, 0, 376, 245, 0, 0, 0, 0, 526, + 0, 0, 0, 0, 0, 0, 0, 342, 0, 311, + 192, 216, 0, 0, 386, 429, 439, 0, 0, 0, + 243, 0, 437, 400, 506, 224, 272, 426, 406, 435, + 413, 275, 0, 0, 436, 348, 492, 420, 503, 527, + 528, 251, 380, 514, 476, 522, 541, 217, 248, 394, + 469, 509, 459, 372, 488, 489, 310, 458, 282, 195, + 346, 533, 215, 445, 233, 222, 494, 512, 277, 424, + 204, 471, 501, 230, 449, 0, 0, 543, 206, 499, + 468, 368, 307, 308, 205, 0, 425, 256, 280, 246, + 389, 496, 497, 244, 544, 219, 521, 211, 0, 520, + 382, 491, 500, 369, 358, 210, 498, 367, 357, 313, + 332, 333, 268, 291, 418, 351, 419, 292, 378, 377, + 379, 199, 510, 0, 200, 0, 464, 511, 545, 225, + 226, 228, 0, 267, 271, 279, 281, 287, 288, 296, + 344, 393, 417, 415, 421, 0, 486, 504, 515, 525, + 531, 532, 534, 535, 536, 537, 538, 540, 539, 381, + 294, 460, 312, 349, 0, 0, 399, 438, 231, 508, + 461, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 546, 547, 548, 549, 550, 551, 552, 553, + 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 564, + 359, 451, 505, 314, 326, 329, 319, 338, 0, 339, + 315, 316, 321, 323, 324, 325, 330, 331, 335, 341, + 239, 202, 365, 373, 485, 295, 207, 208, 209, 478, + 479, 480, 481, 518, 519, 523, 430, 431, 432, 433, + 0, 191, 212, 345, 0, 422, 276, 542, 517, 513, + 198, 214, 0, 250, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 193, 194, 201, 213, 223, + 227, 234, 249, 264, 266, 273, 285, 290, 293, 299, + 300, 303, 309, 355, 361, 362, 363, 364, 383, 384, + 385, 388, 391, 392, 395, 397, 398, 401, 405, 409, + 410, 411, 412, 414, 416, 423, 428, 440, 441, 442, + 443, 444, 447, 448, 453, 454, 455, 456, 457, 465, + 466, 470, 493, 495, 507, 524, 529, 446, 286, 502, + 530, 0, 354, 0, 0, 356, 269, 289, 301, 0, + 516, 467, 218, 434, 278, 241, 0, 0, 203, 237, + 221, 247, 262, 265, 305, 366, 374, 403, 408, 283, + 259, 235, 427, 232, 450, 473, 474, 475, 477, 370, + 254, 407, 0, 371, 352, 483, 484, 297, 482, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 390, 0, 0, 0, 0, 0, 0, 0, 0, 258, + 0, 0, 0, 0, 343, 255, 0, 0, 404, 0, + 197, 0, 452, 242, 353, 350, 490, 270, 261, 257, + 240, 298, 360, 402, 472, 396, 0, 347, 0, 0, + 462, 375, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 304, 238, 306, + 196, 387, 463, 274, 0, 0, 0, 0, 188, 189, + 190, 0, 2279, 0, 0, 0, 0, 0, 0, 0, + 0, 229, 0, 236, 328, 337, 336, 317, 318, 320, + 322, 327, 334, 340, 0, 0, 0, 0, 0, 253, + 302, 260, 252, 487, 0, 0, 0, 0, 0, 0, + 0, 220, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2280, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 284, 0, 376, + 245, 0, 0, 0, 0, 526, 0, 0, 0, 0, + 0, 0, 0, 342, 0, 311, 192, 216, 0, 0, + 386, 429, 439, 0, 0, 0, 243, 0, 437, 400, + 506, 224, 272, 426, 406, 435, 413, 275, 0, 0, + 436, 348, 492, 420, 503, 527, 528, 251, 380, 514, + 476, 522, 541, 217, 248, 394, 469, 509, 459, 372, + 488, 489, 310, 458, 282, 195, 346, 533, 215, 445, + 233, 222, 494, 512, 277, 424, 204, 471, 501, 230, + 449, 0, 0, 543, 206, 499, 468, 368, 307, 308, + 205, 0, 425, 256, 280, 246, 389, 496, 497, 244, + 544, 219, 521, 211, 0, 520, 382, 491, 500, 369, + 358, 210, 498, 367, 357, 313, 332, 333, 268, 291, + 418, 351, 419, 292, 378, 377, 379, 199, 510, 0, + 200, 0, 464, 511, 545, 225, 226, 228, 0, 267, + 271, 279, 281, 287, 288, 296, 344, 393, 417, 415, + 421, 0, 486, 504, 515, 525, 531, 532, 534, 535, + 536, 537, 538, 540, 539, 381, 294, 460, 312, 349, + 0, 0, 399, 438, 231, 508, 461, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 546, 547, + 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, + 558, 559, 560, 561, 562, 563, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 564, 359, 451, 505, 314, + 326, 329, 319, 338, 0, 339, 315, 316, 321, 323, + 324, 325, 330, 331, 335, 341, 239, 202, 365, 373, + 485, 295, 207, 208, 209, 478, 479, 480, 481, 518, + 519, 523, 430, 431, 432, 433, 0, 191, 212, 345, + 0, 422, 276, 542, 517, 513, 198, 214, 0, 250, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 193, 194, 201, 213, 223, 227, 234, 249, 264, + 266, 273, 285, 290, 293, 299, 300, 303, 309, 355, + 361, 362, 363, 364, 383, 384, 385, 388, 391, 392, + 395, 397, 398, 401, 405, 409, 410, 411, 412, 414, + 416, 423, 428, 440, 441, 442, 443, 444, 447, 448, + 453, 454, 455, 456, 457, 465, 466, 470, 493, 495, + 507, 524, 529, 446, 286, 502, 530, 0, 354, 0, + 0, 356, 269, 289, 301, 0, 516, 467, 218, 434, + 278, 241, 0, 0, 203, 237, 221, 247, 262, 265, + 305, 366, 374, 403, 408, 283, 259, 235, 427, 232, + 450, 473, 474, 475, 477, 370, 254, 407, 0, 371, + 352, 483, 484, 297, 482, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 390, 0, 0, 0, + 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, + 343, 255, 0, 0, 404, 0, 197, 0, 452, 242, + 353, 350, 490, 270, 261, 257, 240, 298, 360, 402, + 472, 396, 0, 347, 0, 0, 462, 375, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 304, 238, 306, 196, 387, 463, 274, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, - 2214, 0, 0, 0, 2215, 0, 0, 226, 0, 233, - 325, 334, 333, 314, 315, 317, 319, 324, 331, 337, - 0, 0, 0, 0, 0, 250, 299, 257, 249, 480, - 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 260, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 281, 0, 373, 242, 0, 0, 0, - 0, 516, 0, 0, 0, 0, 0, 0, 0, 339, - 0, 308, 192, 213, 0, 0, 383, 426, 436, 0, - 0, 0, 240, 0, 434, 397, 499, 221, 269, 423, - 403, 432, 410, 272, 0, 0, 433, 345, 485, 417, - 496, 517, 518, 248, 377, 507, 473, 513, 531, 214, - 245, 391, 466, 502, 456, 369, 481, 482, 307, 455, - 279, 195, 343, 523, 212, 442, 230, 219, 487, 505, - 274, 421, 204, 468, 494, 227, 446, 0, 0, 533, - 206, 492, 465, 365, 304, 305, 205, 0, 422, 253, - 277, 243, 386, 489, 490, 241, 534, 216, 512, 208, - 0, 511, 379, 484, 493, 366, 355, 207, 491, 364, - 354, 310, 329, 330, 265, 288, 415, 348, 416, 289, - 375, 374, 376, 199, 503, 0, 200, 0, 461, 504, - 535, 222, 223, 225, 0, 264, 268, 276, 278, 284, - 285, 293, 341, 390, 414, 412, 418, 0, 479, 497, - 508, 515, 521, 522, 524, 525, 526, 527, 528, 530, - 529, 378, 291, 457, 309, 346, 0, 0, 396, 435, - 228, 501, 458, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 536, 537, 538, 539, 540, 541, - 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, - 552, 553, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 554, 356, 448, 498, 311, 323, 326, 316, 335, - 0, 336, 312, 313, 318, 320, 321, 322, 327, 328, - 332, 338, 236, 202, 362, 370, 478, 292, 427, 428, - 429, 430, 0, 191, 209, 342, 0, 419, 273, 532, - 510, 506, 198, 211, 0, 247, 0, 0, 0, 0, + 2264, 0, 0, 0, 2265, 0, 0, 229, 0, 236, + 328, 337, 336, 317, 318, 320, 322, 327, 334, 340, + 0, 0, 0, 0, 0, 253, 302, 260, 252, 487, + 0, 0, 0, 0, 0, 0, 0, 220, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 284, 0, 376, 245, 0, 0, 0, + 0, 526, 0, 0, 0, 0, 0, 0, 0, 342, + 0, 311, 192, 216, 0, 0, 386, 429, 439, 0, + 0, 0, 243, 0, 437, 400, 506, 224, 272, 426, + 406, 435, 413, 275, 0, 0, 436, 348, 492, 420, + 503, 527, 528, 251, 380, 514, 476, 522, 541, 217, + 248, 394, 469, 509, 459, 372, 488, 489, 310, 458, + 282, 195, 346, 533, 215, 445, 233, 222, 494, 512, + 277, 424, 204, 471, 501, 230, 449, 0, 0, 543, + 206, 499, 468, 368, 307, 308, 205, 0, 425, 256, + 280, 246, 389, 496, 497, 244, 544, 219, 521, 211, + 0, 520, 382, 491, 500, 369, 358, 210, 498, 367, + 357, 313, 332, 333, 268, 291, 418, 351, 419, 292, + 378, 377, 379, 199, 510, 0, 200, 0, 464, 511, + 545, 225, 226, 228, 0, 267, 271, 279, 281, 287, + 288, 296, 344, 393, 417, 415, 421, 0, 486, 504, + 515, 525, 531, 532, 534, 535, 536, 537, 538, 540, + 539, 381, 294, 460, 312, 349, 0, 0, 399, 438, + 231, 508, 461, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 546, 547, 548, 549, 550, 551, + 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, + 562, 563, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 564, 359, 451, 505, 314, 326, 329, 319, 338, + 0, 339, 315, 316, 321, 323, 324, 325, 330, 331, + 335, 341, 239, 202, 365, 373, 485, 295, 207, 208, + 209, 478, 479, 480, 481, 518, 519, 523, 430, 431, + 432, 433, 0, 191, 212, 345, 0, 422, 276, 542, + 517, 513, 198, 214, 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, - 210, 220, 224, 231, 246, 261, 263, 270, 282, 287, - 290, 296, 297, 300, 306, 352, 358, 359, 360, 361, - 380, 381, 382, 385, 388, 389, 392, 394, 395, 398, - 402, 406, 407, 408, 409, 411, 413, 420, 425, 437, - 438, 439, 440, 441, 444, 445, 450, 451, 452, 453, - 454, 462, 463, 467, 486, 488, 500, 514, 519, 443, - 283, 495, 520, 0, 351, 0, 0, 353, 266, 286, - 298, 0, 509, 464, 215, 431, 275, 238, 0, 0, - 203, 234, 218, 244, 259, 262, 302, 363, 371, 400, - 405, 280, 256, 232, 424, 229, 447, 470, 471, 472, - 474, 367, 251, 404, 0, 368, 349, 476, 477, 294, - 475, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 387, 0, 0, 0, 0, 0, 0, 0, - 0, 255, 1435, 0, 0, 0, 340, 252, 0, 0, - 401, 0, 197, 0, 449, 239, 350, 347, 483, 267, - 258, 254, 237, 295, 357, 399, 469, 393, 0, 344, - 0, 0, 459, 372, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, - 235, 303, 196, 384, 460, 271, 0, 0, 0, 0, - 188, 189, 190, 0, 1434, 0, 0, 0, 0, 0, - 0, 0, 0, 226, 0, 233, 325, 334, 333, 314, - 315, 317, 319, 324, 331, 337, 0, 0, 0, 0, - 0, 250, 299, 257, 249, 480, 0, 0, 0, 0, - 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 260, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 281, - 0, 373, 242, 0, 0, 0, 0, 516, 0, 0, - 0, 0, 0, 0, 0, 339, 0, 308, 192, 213, - 0, 0, 383, 426, 436, 0, 0, 0, 240, 0, - 434, 397, 499, 221, 269, 423, 403, 432, 410, 272, - 0, 0, 433, 345, 485, 417, 496, 517, 518, 248, - 377, 507, 473, 513, 531, 214, 245, 391, 466, 502, - 456, 369, 481, 482, 307, 455, 279, 195, 343, 523, - 212, 442, 230, 219, 487, 505, 274, 421, 204, 468, - 494, 227, 446, 0, 0, 533, 206, 492, 465, 365, - 304, 305, 205, 0, 422, 253, 277, 243, 386, 489, - 490, 241, 534, 216, 512, 208, 0, 511, 379, 484, - 493, 366, 355, 207, 491, 364, 354, 310, 329, 330, - 265, 288, 415, 348, 416, 289, 375, 374, 376, 199, - 503, 0, 200, 0, 461, 504, 535, 222, 223, 225, - 0, 264, 268, 276, 278, 284, 285, 293, 341, 390, - 414, 412, 418, 0, 479, 497, 508, 515, 521, 522, - 524, 525, 526, 527, 528, 530, 529, 378, 291, 457, - 309, 346, 0, 0, 396, 435, 228, 501, 458, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, - 546, 547, 548, 549, 550, 551, 552, 553, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 554, 356, 448, - 498, 311, 323, 326, 316, 335, 0, 336, 312, 313, - 318, 320, 321, 322, 327, 328, 332, 338, 236, 202, - 362, 370, 478, 292, 427, 428, 429, 430, 0, 191, - 209, 342, 0, 419, 273, 532, 510, 506, 198, 211, - 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, - 246, 261, 263, 270, 282, 287, 290, 296, 297, 300, - 306, 352, 358, 359, 360, 361, 380, 381, 382, 385, - 388, 389, 392, 394, 395, 398, 402, 406, 407, 408, - 409, 411, 413, 420, 425, 437, 438, 439, 440, 441, - 444, 445, 450, 451, 452, 453, 454, 462, 463, 467, - 486, 488, 500, 514, 519, 443, 283, 495, 520, 0, - 351, 0, 0, 353, 266, 286, 298, 0, 509, 464, - 215, 431, 275, 238, 0, 0, 203, 234, 218, 244, - 259, 262, 302, 363, 371, 400, 405, 280, 256, 232, - 424, 229, 447, 470, 471, 472, 474, 367, 251, 404, - 0, 368, 349, 476, 477, 294, 475, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 387, 0, - 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, - 0, 0, 340, 252, 0, 0, 401, 0, 197, 0, - 449, 239, 350, 347, 483, 267, 258, 254, 237, 295, - 357, 399, 469, 393, 0, 344, 0, 0, 459, 372, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 301, 235, 303, 196, 384, - 460, 271, 0, 0, 0, 0, 188, 189, 190, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, - 0, 233, 325, 334, 333, 314, 315, 317, 319, 324, - 331, 337, 0, 0, 0, 0, 0, 250, 299, 257, - 249, 480, 0, 0, 0, 0, 0, 0, 0, 217, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 260, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 281, 0, 373, 242, 0, - 0, 0, 0, 516, 0, 0, 0, 3177, 0, 0, - 0, 339, 0, 308, 192, 213, 0, 0, 383, 426, - 436, 0, 0, 0, 240, 0, 434, 397, 499, 221, - 269, 423, 403, 432, 410, 272, 0, 0, 433, 345, - 485, 417, 496, 517, 518, 248, 377, 507, 473, 513, - 531, 214, 245, 391, 466, 502, 456, 369, 481, 482, - 307, 455, 279, 195, 343, 523, 212, 442, 230, 219, - 487, 505, 274, 421, 204, 468, 494, 227, 446, 0, - 0, 533, 206, 492, 465, 365, 304, 305, 205, 0, - 422, 253, 277, 243, 386, 489, 490, 241, 534, 216, - 512, 208, 0, 511, 379, 484, 493, 366, 355, 207, - 491, 364, 354, 310, 329, 330, 265, 288, 415, 348, - 416, 289, 375, 374, 376, 199, 503, 0, 200, 0, - 461, 504, 535, 222, 223, 225, 0, 264, 268, 276, - 278, 284, 285, 293, 341, 390, 414, 412, 418, 0, - 479, 497, 508, 515, 521, 522, 524, 525, 526, 527, - 528, 530, 529, 378, 291, 457, 309, 346, 0, 0, - 396, 435, 228, 501, 458, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, - 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 554, 356, 448, 498, 311, 323, 326, - 316, 335, 0, 336, 312, 313, 318, 320, 321, 322, - 327, 328, 332, 338, 236, 202, 362, 370, 478, 292, - 427, 428, 429, 430, 0, 191, 209, 342, 0, 419, - 273, 532, 510, 506, 198, 211, 0, 247, 0, 0, + 213, 223, 227, 234, 249, 264, 266, 273, 285, 290, + 293, 299, 300, 303, 309, 355, 361, 362, 363, 364, + 383, 384, 385, 388, 391, 392, 395, 397, 398, 401, + 405, 409, 410, 411, 412, 414, 416, 423, 428, 440, + 441, 442, 443, 444, 447, 448, 453, 454, 455, 456, + 457, 465, 466, 470, 493, 495, 507, 524, 529, 446, + 286, 502, 530, 0, 354, 0, 0, 356, 269, 289, + 301, 0, 516, 467, 218, 434, 278, 241, 0, 0, + 203, 237, 221, 247, 262, 265, 305, 366, 374, 403, + 408, 283, 259, 235, 427, 232, 450, 473, 474, 475, + 477, 370, 254, 407, 0, 371, 352, 483, 484, 297, + 482, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 390, 0, 0, 0, 0, 0, 0, 0, + 0, 258, 1465, 0, 0, 0, 343, 255, 0, 0, + 404, 0, 197, 0, 452, 242, 353, 350, 490, 270, + 261, 257, 240, 298, 360, 402, 472, 396, 0, 347, + 0, 0, 462, 375, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, + 238, 306, 196, 387, 463, 274, 0, 0, 0, 0, + 188, 189, 190, 0, 1464, 0, 0, 0, 0, 0, + 0, 0, 0, 229, 0, 236, 328, 337, 336, 317, + 318, 320, 322, 327, 334, 340, 0, 0, 0, 0, + 0, 253, 302, 260, 252, 487, 0, 0, 0, 0, + 0, 0, 0, 220, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 284, + 0, 376, 245, 0, 0, 0, 0, 526, 0, 0, + 0, 0, 0, 0, 0, 342, 0, 311, 192, 216, + 0, 0, 386, 429, 439, 0, 0, 0, 243, 0, + 437, 400, 506, 224, 272, 426, 406, 435, 413, 275, + 0, 0, 436, 348, 492, 420, 503, 527, 528, 251, + 380, 514, 476, 522, 541, 217, 248, 394, 469, 509, + 459, 372, 488, 489, 310, 458, 282, 195, 346, 533, + 215, 445, 233, 222, 494, 512, 277, 424, 204, 471, + 501, 230, 449, 0, 0, 543, 206, 499, 468, 368, + 307, 308, 205, 0, 425, 256, 280, 246, 389, 496, + 497, 244, 544, 219, 521, 211, 0, 520, 382, 491, + 500, 369, 358, 210, 498, 367, 357, 313, 332, 333, + 268, 291, 418, 351, 419, 292, 378, 377, 379, 199, + 510, 0, 200, 0, 464, 511, 545, 225, 226, 228, + 0, 267, 271, 279, 281, 287, 288, 296, 344, 393, + 417, 415, 421, 0, 486, 504, 515, 525, 531, 532, + 534, 535, 536, 537, 538, 540, 539, 381, 294, 460, + 312, 349, 0, 0, 399, 438, 231, 508, 461, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, + 556, 557, 558, 559, 560, 561, 562, 563, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 564, 359, 451, + 505, 314, 326, 329, 319, 338, 0, 339, 315, 316, + 321, 323, 324, 325, 330, 331, 335, 341, 239, 202, + 365, 373, 485, 295, 207, 208, 209, 478, 479, 480, + 481, 518, 519, 523, 430, 431, 432, 433, 0, 191, + 212, 345, 0, 422, 276, 542, 517, 513, 198, 214, + 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 193, 194, 201, 213, 223, 227, 234, + 249, 264, 266, 273, 285, 290, 293, 299, 300, 303, + 309, 355, 361, 362, 363, 364, 383, 384, 385, 388, + 391, 392, 395, 397, 398, 401, 405, 409, 410, 411, + 412, 414, 416, 423, 428, 440, 441, 442, 443, 444, + 447, 448, 453, 454, 455, 456, 457, 465, 466, 470, + 493, 495, 507, 524, 529, 446, 286, 502, 530, 0, + 354, 0, 0, 356, 269, 289, 301, 0, 516, 467, + 218, 434, 278, 241, 0, 0, 203, 237, 221, 247, + 262, 265, 305, 366, 374, 403, 408, 283, 259, 235, + 427, 232, 450, 473, 474, 475, 477, 370, 254, 407, + 0, 371, 352, 483, 484, 297, 482, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, + 0, 0, 343, 255, 0, 0, 404, 0, 197, 0, + 452, 242, 353, 350, 490, 270, 261, 257, 240, 298, + 360, 402, 472, 396, 0, 347, 0, 0, 462, 375, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 304, 238, 306, 196, 387, + 463, 274, 0, 0, 0, 0, 188, 189, 190, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 229, + 0, 236, 328, 337, 336, 317, 318, 320, 322, 327, + 334, 340, 0, 0, 0, 0, 0, 253, 302, 260, + 252, 487, 0, 0, 0, 0, 0, 0, 0, 220, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 284, 0, 376, 245, 0, + 0, 0, 0, 526, 0, 0, 0, 3237, 0, 0, + 0, 342, 0, 311, 192, 216, 0, 0, 386, 429, + 439, 0, 0, 0, 243, 0, 437, 400, 506, 224, + 272, 426, 406, 435, 413, 275, 0, 0, 436, 348, + 492, 420, 503, 527, 528, 251, 380, 514, 476, 522, + 541, 217, 248, 394, 469, 509, 459, 372, 488, 489, + 310, 458, 282, 195, 346, 533, 215, 445, 233, 222, + 494, 512, 277, 424, 204, 471, 501, 230, 449, 0, + 0, 543, 206, 499, 468, 368, 307, 308, 205, 0, + 425, 256, 280, 246, 389, 496, 497, 244, 544, 219, + 521, 211, 0, 520, 382, 491, 500, 369, 358, 210, + 498, 367, 357, 313, 332, 333, 268, 291, 418, 351, + 419, 292, 378, 377, 379, 199, 510, 0, 200, 0, + 464, 511, 545, 225, 226, 228, 0, 267, 271, 279, + 281, 287, 288, 296, 344, 393, 417, 415, 421, 0, + 486, 504, 515, 525, 531, 532, 534, 535, 536, 537, + 538, 540, 539, 381, 294, 460, 312, 349, 0, 0, + 399, 438, 231, 508, 461, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 546, 547, 548, 549, + 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, + 560, 561, 562, 563, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 564, 359, 451, 505, 314, 326, 329, + 319, 338, 0, 339, 315, 316, 321, 323, 324, 325, + 330, 331, 335, 341, 239, 202, 365, 373, 485, 295, + 207, 208, 209, 478, 479, 480, 481, 518, 519, 523, + 430, 431, 432, 433, 0, 191, 212, 345, 0, 422, + 276, 542, 517, 513, 198, 214, 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 194, 201, 210, 220, 224, 231, 246, 261, 263, 270, - 282, 287, 290, 296, 297, 300, 306, 352, 358, 359, - 360, 361, 380, 381, 382, 385, 388, 389, 392, 394, - 395, 398, 402, 406, 407, 408, 409, 411, 413, 420, - 425, 437, 438, 439, 440, 441, 444, 445, 450, 451, - 452, 453, 454, 462, 463, 467, 486, 488, 500, 514, - 519, 443, 283, 495, 520, 0, 351, 0, 0, 353, - 266, 286, 298, 0, 509, 464, 215, 431, 275, 238, - 0, 0, 203, 234, 218, 244, 259, 262, 302, 363, - 371, 400, 405, 280, 256, 232, 424, 229, 447, 470, - 471, 472, 474, 367, 251, 404, 0, 368, 349, 476, - 477, 294, 475, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 387, 0, 0, 0, 0, 0, - 0, 0, 0, 255, 0, 0, 0, 0, 340, 252, - 0, 0, 401, 0, 197, 0, 449, 239, 350, 347, - 483, 267, 258, 254, 237, 295, 357, 399, 469, 393, - 0, 344, 0, 0, 459, 372, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 301, 235, 303, 196, 384, 460, 271, 0, 0, - 0, 0, 188, 189, 190, 0, 1592, 0, 0, 0, - 0, 0, 0, 0, 0, 226, 0, 233, 325, 334, - 333, 314, 315, 317, 319, 324, 331, 337, 0, 0, - 0, 0, 0, 250, 299, 257, 249, 480, 0, 0, - 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 281, 0, 373, 242, 0, 0, 0, 0, 516, - 0, 0, 0, 0, 0, 0, 0, 339, 0, 308, - 192, 213, 0, 0, 383, 426, 436, 0, 0, 0, - 240, 0, 434, 397, 499, 221, 269, 423, 403, 432, - 410, 272, 0, 0, 433, 345, 485, 417, 496, 517, - 518, 248, 377, 507, 473, 513, 531, 214, 245, 391, - 466, 502, 456, 369, 481, 482, 307, 455, 279, 195, - 343, 523, 212, 442, 230, 219, 487, 505, 274, 421, - 204, 468, 494, 227, 446, 0, 0, 533, 206, 492, - 465, 365, 304, 305, 205, 0, 422, 253, 277, 243, - 386, 489, 490, 241, 534, 216, 512, 208, 0, 511, - 379, 484, 493, 366, 355, 207, 491, 364, 354, 310, - 329, 330, 265, 288, 415, 348, 416, 289, 375, 374, - 376, 199, 503, 0, 200, 0, 461, 504, 535, 222, - 223, 225, 0, 264, 268, 276, 278, 284, 285, 293, - 341, 390, 414, 412, 418, 0, 479, 497, 508, 515, - 521, 522, 524, 525, 526, 527, 528, 530, 529, 378, - 291, 457, 309, 346, 0, 0, 396, 435, 228, 501, - 458, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 536, 537, 538, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 554, - 356, 448, 498, 311, 323, 326, 316, 335, 0, 336, - 312, 313, 318, 320, 321, 322, 327, 328, 332, 338, - 236, 202, 362, 370, 478, 292, 427, 428, 429, 430, - 0, 191, 209, 342, 0, 419, 273, 532, 510, 506, - 198, 211, 0, 247, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, - 224, 231, 246, 261, 263, 270, 282, 287, 290, 296, - 297, 300, 306, 352, 358, 359, 360, 361, 380, 381, - 382, 385, 388, 389, 392, 394, 395, 398, 402, 406, - 407, 408, 409, 411, 413, 420, 425, 437, 438, 439, - 440, 441, 444, 445, 450, 451, 452, 453, 454, 462, - 463, 467, 486, 488, 500, 514, 519, 443, 283, 495, - 520, 0, 351, 0, 0, 353, 266, 286, 298, 0, - 509, 464, 215, 431, 275, 238, 0, 0, 203, 234, - 218, 244, 259, 262, 302, 363, 371, 400, 405, 280, - 256, 232, 424, 229, 447, 470, 471, 472, 474, 367, - 251, 404, 0, 368, 349, 476, 477, 294, 475, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 387, 0, 0, 0, 0, 0, 0, 0, 0, 255, - 0, 0, 0, 0, 340, 252, 0, 0, 401, 0, - 197, 0, 449, 239, 350, 347, 483, 267, 258, 254, - 237, 295, 357, 399, 469, 393, 0, 344, 0, 0, - 459, 372, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 301, 235, 303, - 196, 384, 460, 271, 0, 0, 0, 0, 188, 189, + 194, 201, 213, 223, 227, 234, 249, 264, 266, 273, + 285, 290, 293, 299, 300, 303, 309, 355, 361, 362, + 363, 364, 383, 384, 385, 388, 391, 392, 395, 397, + 398, 401, 405, 409, 410, 411, 412, 414, 416, 423, + 428, 440, 441, 442, 443, 444, 447, 448, 453, 454, + 455, 456, 457, 465, 466, 470, 493, 495, 507, 524, + 529, 446, 286, 502, 530, 0, 354, 0, 0, 356, + 269, 289, 301, 0, 516, 467, 218, 434, 278, 241, + 0, 0, 203, 237, 221, 247, 262, 265, 305, 366, + 374, 403, 408, 283, 259, 235, 427, 232, 450, 473, + 474, 475, 477, 370, 254, 407, 0, 371, 352, 483, + 484, 297, 482, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 390, 0, 0, 0, 0, 0, + 0, 0, 0, 258, 0, 0, 0, 0, 343, 255, + 0, 0, 404, 0, 197, 0, 452, 242, 353, 350, + 490, 270, 261, 257, 240, 298, 360, 402, 472, 396, + 0, 347, 0, 0, 462, 375, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 304, 238, 306, 196, 387, 463, 274, 0, 0, + 0, 0, 188, 189, 190, 0, 1622, 0, 0, 0, + 0, 0, 0, 0, 0, 229, 0, 236, 328, 337, + 336, 317, 318, 320, 322, 327, 334, 340, 0, 0, + 0, 0, 0, 253, 302, 260, 252, 487, 0, 0, + 0, 0, 0, 0, 0, 220, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 284, 0, 376, 245, 0, 0, 0, 0, 526, + 0, 0, 0, 0, 0, 0, 0, 342, 0, 311, + 192, 216, 0, 0, 386, 429, 439, 0, 0, 0, + 243, 0, 437, 400, 506, 224, 272, 426, 406, 435, + 413, 275, 0, 0, 436, 348, 492, 420, 503, 527, + 528, 251, 380, 514, 476, 522, 541, 217, 248, 394, + 469, 509, 459, 372, 488, 489, 310, 458, 282, 195, + 346, 533, 215, 445, 233, 222, 494, 512, 277, 424, + 204, 471, 501, 230, 449, 0, 0, 543, 206, 499, + 468, 368, 307, 308, 205, 0, 425, 256, 280, 246, + 389, 496, 497, 244, 544, 219, 521, 211, 0, 520, + 382, 491, 500, 369, 358, 210, 498, 367, 357, 313, + 332, 333, 268, 291, 418, 351, 419, 292, 378, 377, + 379, 199, 510, 0, 200, 0, 464, 511, 545, 225, + 226, 228, 0, 267, 271, 279, 281, 287, 288, 296, + 344, 393, 417, 415, 421, 0, 486, 504, 515, 525, + 531, 532, 534, 535, 536, 537, 538, 540, 539, 381, + 294, 460, 312, 349, 0, 0, 399, 438, 231, 508, + 461, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 546, 547, 548, 549, 550, 551, 552, 553, + 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 564, + 359, 451, 505, 314, 326, 329, 319, 338, 0, 339, + 315, 316, 321, 323, 324, 325, 330, 331, 335, 341, + 239, 202, 365, 373, 485, 295, 207, 208, 209, 478, + 479, 480, 481, 518, 519, 523, 430, 431, 432, 433, + 0, 191, 212, 345, 0, 422, 276, 542, 517, 513, + 198, 214, 0, 250, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 193, 194, 201, 213, 223, + 227, 234, 249, 264, 266, 273, 285, 290, 293, 299, + 300, 303, 309, 355, 361, 362, 363, 364, 383, 384, + 385, 388, 391, 392, 395, 397, 398, 401, 405, 409, + 410, 411, 412, 414, 416, 423, 428, 440, 441, 442, + 443, 444, 447, 448, 453, 454, 455, 456, 457, 465, + 466, 470, 493, 495, 507, 524, 529, 446, 286, 502, + 530, 0, 354, 0, 0, 356, 269, 289, 301, 0, + 516, 467, 218, 434, 278, 241, 0, 0, 203, 237, + 221, 247, 262, 265, 305, 366, 374, 403, 408, 283, + 259, 235, 427, 232, 450, 473, 474, 475, 477, 370, + 254, 407, 0, 371, 352, 483, 484, 297, 482, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 390, 0, 0, 0, 0, 0, 0, 0, 0, 258, + 0, 0, 0, 0, 343, 255, 0, 0, 404, 0, + 197, 0, 452, 242, 353, 350, 490, 270, 261, 257, + 240, 298, 360, 402, 472, 396, 0, 347, 0, 0, + 462, 375, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 304, 238, 306, + 196, 387, 463, 274, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 226, 0, 233, 325, 334, 333, 314, 315, 317, - 319, 324, 331, 337, 0, 0, 0, 0, 0, 250, - 299, 257, 249, 480, 0, 0, 0, 0, 0, 0, - 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 260, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 281, 0, 373, - 242, 0, 0, 0, 0, 516, 0, 0, 0, 3051, - 0, 0, 0, 339, 0, 308, 192, 213, 0, 0, - 383, 426, 436, 0, 0, 0, 240, 0, 434, 397, - 499, 221, 269, 423, 403, 432, 410, 272, 0, 0, - 433, 345, 485, 417, 496, 517, 518, 248, 377, 507, - 473, 513, 531, 214, 245, 391, 466, 502, 456, 369, - 481, 482, 307, 455, 279, 195, 343, 523, 212, 442, - 230, 219, 487, 505, 274, 421, 204, 468, 494, 227, - 446, 0, 0, 533, 206, 492, 465, 365, 304, 305, - 205, 0, 422, 253, 277, 243, 386, 489, 490, 241, - 534, 216, 512, 208, 0, 511, 379, 484, 493, 366, - 355, 207, 491, 364, 354, 310, 329, 330, 265, 288, - 415, 348, 416, 289, 375, 374, 376, 199, 503, 0, - 200, 0, 461, 504, 535, 222, 223, 225, 0, 264, - 268, 276, 278, 284, 285, 293, 341, 390, 414, 412, - 418, 0, 479, 497, 508, 515, 521, 522, 524, 525, - 526, 527, 528, 530, 529, 378, 291, 457, 309, 346, - 0, 0, 396, 435, 228, 501, 458, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 536, 537, - 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 552, 553, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 554, 356, 448, 498, 311, - 323, 326, 316, 335, 0, 336, 312, 313, 318, 320, - 321, 322, 327, 328, 332, 338, 236, 202, 362, 370, - 478, 292, 427, 428, 429, 430, 0, 191, 209, 342, - 0, 419, 273, 532, 510, 506, 198, 211, 0, 247, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 193, 194, 201, 210, 220, 224, 231, 246, 261, - 263, 270, 282, 287, 290, 296, 297, 300, 306, 352, - 358, 359, 360, 361, 380, 381, 382, 385, 388, 389, - 392, 394, 395, 398, 402, 406, 407, 408, 409, 411, - 413, 420, 425, 437, 438, 439, 440, 441, 444, 445, - 450, 451, 452, 453, 454, 462, 463, 467, 486, 488, - 500, 514, 519, 443, 283, 495, 520, 0, 351, 0, - 0, 353, 266, 286, 298, 0, 509, 464, 215, 431, - 275, 238, 0, 0, 203, 234, 218, 244, 259, 262, - 302, 363, 371, 400, 405, 280, 256, 232, 424, 229, - 447, 470, 471, 472, 474, 367, 251, 404, 0, 368, - 349, 476, 477, 294, 475, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 387, 0, 0, 0, - 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, - 340, 252, 0, 0, 401, 0, 197, 0, 449, 239, - 350, 347, 483, 267, 258, 254, 237, 295, 357, 399, - 469, 393, 0, 344, 0, 0, 459, 372, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 301, 235, 303, 196, 384, 460, 271, + 0, 229, 0, 236, 328, 337, 336, 317, 318, 320, + 322, 327, 334, 340, 0, 0, 0, 0, 0, 253, + 302, 260, 252, 487, 0, 0, 0, 0, 0, 0, + 0, 220, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 284, 0, 376, + 245, 0, 0, 0, 0, 526, 0, 0, 0, 3111, + 0, 0, 0, 342, 0, 311, 192, 216, 0, 0, + 386, 429, 439, 0, 0, 0, 243, 0, 437, 400, + 506, 224, 272, 426, 406, 435, 413, 275, 0, 0, + 436, 348, 492, 420, 503, 527, 528, 251, 380, 514, + 476, 522, 541, 217, 248, 394, 469, 509, 459, 372, + 488, 489, 310, 458, 282, 195, 346, 533, 215, 445, + 233, 222, 494, 512, 277, 424, 204, 471, 501, 230, + 449, 0, 0, 543, 206, 499, 468, 368, 307, 308, + 205, 0, 425, 256, 280, 246, 389, 496, 497, 244, + 544, 219, 521, 211, 0, 520, 382, 491, 500, 369, + 358, 210, 498, 367, 357, 313, 332, 333, 268, 291, + 418, 351, 419, 292, 378, 377, 379, 199, 510, 0, + 200, 0, 464, 511, 545, 225, 226, 228, 0, 267, + 271, 279, 281, 287, 288, 296, 344, 393, 417, 415, + 421, 0, 486, 504, 515, 525, 531, 532, 534, 535, + 536, 537, 538, 540, 539, 381, 294, 460, 312, 349, + 0, 0, 399, 438, 231, 508, 461, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 546, 547, + 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, + 558, 559, 560, 561, 562, 563, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 564, 359, 451, 505, 314, + 326, 329, 319, 338, 0, 339, 315, 316, 321, 323, + 324, 325, 330, 331, 335, 341, 239, 202, 365, 373, + 485, 295, 207, 208, 209, 478, 479, 480, 481, 518, + 519, 523, 430, 431, 432, 433, 0, 191, 212, 345, + 0, 422, 276, 542, 517, 513, 198, 214, 0, 250, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 193, 194, 201, 213, 223, 227, 234, 249, 264, + 266, 273, 285, 290, 293, 299, 300, 303, 309, 355, + 361, 362, 363, 364, 383, 384, 385, 388, 391, 392, + 395, 397, 398, 401, 405, 409, 410, 411, 412, 414, + 416, 423, 428, 440, 441, 442, 443, 444, 447, 448, + 453, 454, 455, 456, 457, 465, 466, 470, 493, 495, + 507, 524, 529, 446, 286, 502, 530, 0, 354, 0, + 0, 356, 269, 289, 301, 0, 516, 467, 218, 434, + 278, 241, 0, 0, 203, 237, 221, 247, 262, 265, + 305, 366, 374, 403, 408, 283, 259, 235, 427, 232, + 450, 473, 474, 475, 477, 370, 254, 407, 0, 371, + 352, 483, 484, 297, 482, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 390, 0, 0, 0, + 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, + 343, 255, 0, 0, 404, 0, 197, 0, 452, 242, + 353, 350, 490, 270, 261, 257, 240, 298, 360, 402, + 472, 396, 0, 347, 0, 0, 462, 375, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 304, 238, 306, 196, 387, 463, 274, 0, 87, 0, 0, 188, 189, 190, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 226, 0, 233, - 325, 334, 333, 314, 315, 317, 319, 324, 331, 337, - 0, 0, 0, 0, 0, 250, 299, 257, 249, 480, - 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 260, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 281, 0, 373, 242, 0, 0, 0, - 0, 516, 0, 0, 0, 0, 0, 0, 0, 339, - 0, 308, 192, 213, 0, 0, 383, 426, 436, 0, - 0, 0, 240, 0, 434, 397, 499, 221, 269, 423, - 403, 432, 410, 272, 0, 0, 433, 345, 485, 417, - 496, 517, 518, 248, 377, 507, 473, 513, 531, 214, - 245, 391, 466, 502, 456, 369, 481, 482, 307, 455, - 279, 195, 343, 523, 212, 442, 230, 219, 487, 505, - 274, 421, 204, 468, 494, 227, 446, 0, 0, 533, - 206, 492, 465, 365, 304, 305, 205, 0, 422, 253, - 277, 243, 386, 489, 490, 241, 534, 216, 512, 208, - 0, 511, 379, 484, 493, 366, 355, 207, 491, 364, - 354, 310, 329, 330, 265, 288, 415, 348, 416, 289, - 375, 374, 376, 199, 503, 0, 200, 0, 461, 504, - 535, 222, 223, 225, 0, 264, 268, 276, 278, 284, - 285, 293, 341, 390, 414, 412, 418, 0, 479, 497, - 508, 515, 521, 522, 524, 525, 526, 527, 528, 530, - 529, 378, 291, 457, 309, 346, 0, 0, 396, 435, - 228, 501, 458, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 536, 537, 538, 539, 540, 541, - 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, - 552, 553, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 554, 356, 448, 498, 311, 323, 326, 316, 335, - 0, 336, 312, 313, 318, 320, 321, 322, 327, 328, - 332, 338, 236, 202, 362, 370, 478, 292, 427, 428, - 429, 430, 0, 191, 209, 342, 0, 419, 273, 532, - 510, 506, 198, 211, 0, 247, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 229, 0, 236, + 328, 337, 336, 317, 318, 320, 322, 327, 334, 340, + 0, 0, 0, 0, 0, 253, 302, 260, 252, 487, + 0, 0, 0, 0, 0, 0, 0, 220, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 284, 0, 376, 245, 0, 0, 0, + 0, 526, 0, 0, 0, 0, 0, 0, 0, 342, + 0, 311, 192, 216, 0, 0, 386, 429, 439, 0, + 0, 0, 243, 0, 437, 400, 506, 224, 272, 426, + 406, 435, 413, 275, 0, 0, 436, 348, 492, 420, + 503, 527, 528, 251, 380, 514, 476, 522, 541, 217, + 248, 394, 469, 509, 459, 372, 488, 489, 310, 458, + 282, 195, 346, 533, 215, 445, 233, 222, 494, 512, + 277, 424, 204, 471, 501, 230, 449, 0, 0, 543, + 206, 499, 468, 368, 307, 308, 205, 0, 425, 256, + 280, 246, 389, 496, 497, 244, 544, 219, 521, 211, + 0, 520, 382, 491, 500, 369, 358, 210, 498, 367, + 357, 313, 332, 333, 268, 291, 418, 351, 419, 292, + 378, 377, 379, 199, 510, 0, 200, 0, 464, 511, + 545, 225, 226, 228, 0, 267, 271, 279, 281, 287, + 288, 296, 344, 393, 417, 415, 421, 0, 486, 504, + 515, 525, 531, 532, 534, 535, 536, 537, 538, 540, + 539, 381, 294, 460, 312, 349, 0, 0, 399, 438, + 231, 508, 461, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 546, 547, 548, 549, 550, 551, + 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, + 562, 563, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 564, 359, 451, 505, 314, 326, 329, 319, 338, + 0, 339, 315, 316, 321, 323, 324, 325, 330, 331, + 335, 341, 239, 202, 365, 373, 485, 295, 207, 208, + 209, 478, 479, 480, 481, 518, 519, 523, 430, 431, + 432, 433, 0, 191, 212, 345, 0, 422, 276, 542, + 517, 513, 198, 214, 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, - 210, 220, 224, 231, 246, 261, 263, 270, 282, 287, - 290, 296, 297, 300, 306, 352, 358, 359, 360, 361, - 380, 381, 382, 385, 388, 389, 392, 394, 395, 398, - 402, 406, 407, 408, 409, 411, 413, 420, 425, 437, - 438, 439, 440, 441, 444, 445, 450, 451, 452, 453, - 454, 462, 463, 467, 486, 488, 500, 514, 519, 443, - 283, 495, 520, 0, 351, 0, 0, 353, 266, 286, - 298, 0, 509, 464, 215, 431, 275, 238, 0, 0, - 203, 234, 218, 244, 259, 262, 302, 363, 371, 400, - 405, 280, 256, 232, 424, 229, 447, 470, 471, 472, - 474, 367, 251, 404, 0, 368, 349, 476, 477, 294, - 475, 0, 0, 0, 0, 1919, 0, 0, 0, 0, - 0, 0, 387, 0, 0, 0, 0, 0, 0, 0, - 0, 255, 0, 0, 0, 0, 340, 252, 0, 0, - 401, 0, 197, 0, 449, 239, 350, 347, 483, 267, - 258, 254, 237, 295, 357, 399, 469, 393, 0, 344, - 0, 0, 459, 372, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, - 235, 303, 196, 384, 460, 271, 0, 0, 0, 0, + 213, 223, 227, 234, 249, 264, 266, 273, 285, 290, + 293, 299, 300, 303, 309, 355, 361, 362, 363, 364, + 383, 384, 385, 388, 391, 392, 395, 397, 398, 401, + 405, 409, 410, 411, 412, 414, 416, 423, 428, 440, + 441, 442, 443, 444, 447, 448, 453, 454, 455, 456, + 457, 465, 466, 470, 493, 495, 507, 524, 529, 446, + 286, 502, 530, 0, 354, 0, 0, 356, 269, 289, + 301, 0, 516, 467, 218, 434, 278, 241, 0, 0, + 203, 237, 221, 247, 262, 265, 305, 366, 374, 403, + 408, 283, 259, 235, 427, 232, 450, 473, 474, 475, + 477, 370, 254, 407, 0, 371, 352, 483, 484, 297, + 482, 0, 0, 0, 0, 1959, 0, 0, 0, 0, + 0, 0, 390, 0, 0, 0, 0, 0, 0, 0, + 0, 258, 0, 0, 0, 0, 343, 255, 0, 0, + 404, 0, 197, 0, 452, 242, 353, 350, 490, 270, + 261, 257, 240, 298, 360, 402, 472, 396, 0, 347, + 0, 0, 462, 375, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, + 238, 306, 196, 387, 463, 274, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 226, 0, 233, 325, 334, 333, 314, - 315, 317, 319, 324, 331, 337, 0, 0, 0, 0, - 0, 250, 299, 257, 249, 480, 0, 0, 0, 0, - 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 260, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 281, - 0, 373, 242, 0, 0, 0, 0, 516, 0, 0, - 0, 0, 0, 0, 0, 339, 0, 308, 192, 213, - 0, 0, 383, 426, 436, 0, 0, 0, 240, 0, - 434, 397, 499, 221, 269, 423, 403, 432, 410, 272, - 0, 0, 433, 345, 485, 417, 496, 517, 518, 248, - 377, 507, 473, 513, 531, 214, 245, 391, 466, 502, - 456, 369, 481, 482, 307, 455, 279, 195, 343, 523, - 212, 442, 230, 219, 487, 505, 274, 421, 204, 468, - 494, 227, 446, 0, 0, 533, 206, 492, 465, 365, - 304, 305, 205, 0, 422, 253, 277, 243, 386, 489, - 490, 241, 534, 216, 512, 208, 0, 511, 379, 484, - 493, 366, 355, 207, 491, 364, 354, 310, 329, 330, - 265, 288, 415, 348, 416, 289, 375, 374, 376, 199, - 503, 0, 200, 0, 461, 504, 535, 222, 223, 225, - 0, 264, 268, 276, 278, 284, 285, 293, 341, 390, - 414, 412, 418, 0, 479, 497, 508, 515, 521, 522, - 524, 525, 526, 527, 528, 530, 529, 378, 291, 457, - 309, 346, 0, 0, 396, 435, 228, 501, 458, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, - 546, 547, 548, 549, 550, 551, 552, 553, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 554, 356, 448, - 498, 311, 323, 326, 316, 335, 0, 336, 312, 313, - 318, 320, 321, 322, 327, 328, 332, 338, 236, 202, - 362, 370, 478, 292, 427, 428, 429, 430, 0, 191, - 209, 342, 0, 419, 273, 532, 510, 506, 198, 211, - 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, - 246, 261, 263, 270, 282, 287, 290, 296, 297, 300, - 306, 352, 358, 359, 360, 361, 380, 381, 382, 385, - 388, 389, 392, 394, 395, 398, 402, 406, 407, 408, - 409, 411, 413, 420, 425, 437, 438, 439, 440, 441, - 444, 445, 450, 451, 452, 453, 454, 462, 463, 467, - 486, 488, 500, 514, 519, 443, 283, 495, 520, 0, - 351, 0, 0, 353, 266, 286, 298, 0, 509, 464, - 215, 431, 275, 238, 0, 0, 203, 234, 218, 244, - 259, 262, 302, 363, 371, 400, 405, 280, 256, 232, - 424, 229, 447, 470, 471, 472, 474, 367, 251, 404, - 0, 368, 349, 476, 477, 294, 475, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 387, 0, - 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, - 0, 0, 340, 252, 0, 0, 401, 0, 197, 0, - 449, 239, 350, 347, 483, 267, 258, 254, 237, 295, - 357, 399, 469, 393, 0, 344, 0, 0, 459, 372, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 301, 235, 303, 196, 384, - 460, 271, 0, 0, 0, 0, 188, 189, 190, 0, - 1414, 0, 0, 0, 0, 0, 0, 0, 0, 226, - 0, 233, 325, 334, 333, 314, 315, 317, 319, 324, - 331, 337, 0, 0, 0, 0, 0, 250, 299, 257, - 249, 480, 0, 0, 0, 0, 0, 0, 0, 217, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 260, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 281, 0, 373, 242, 0, - 0, 0, 0, 516, 0, 0, 0, 0, 0, 0, - 0, 339, 0, 308, 192, 213, 0, 0, 383, 426, - 436, 0, 0, 0, 240, 0, 434, 397, 499, 221, - 269, 423, 403, 432, 410, 272, 0, 0, 433, 345, - 485, 417, 496, 517, 518, 248, 377, 507, 473, 513, - 531, 214, 245, 391, 466, 502, 456, 369, 481, 482, - 307, 455, 279, 195, 343, 523, 212, 442, 230, 219, - 487, 505, 274, 421, 204, 468, 494, 227, 446, 0, - 0, 533, 206, 492, 465, 365, 304, 305, 205, 0, - 422, 253, 277, 243, 386, 489, 490, 241, 534, 216, - 512, 208, 0, 511, 379, 484, 493, 366, 355, 207, - 491, 364, 354, 310, 329, 330, 265, 288, 415, 348, - 416, 289, 375, 374, 376, 199, 503, 0, 200, 0, - 461, 504, 535, 222, 223, 225, 0, 264, 268, 276, - 278, 284, 285, 293, 341, 390, 414, 412, 418, 0, - 479, 497, 508, 515, 521, 522, 524, 525, 526, 527, - 528, 530, 529, 378, 291, 457, 309, 346, 0, 0, - 396, 435, 228, 501, 458, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, - 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 554, 356, 448, 498, 311, 323, 326, - 316, 335, 0, 336, 312, 313, 318, 320, 321, 322, - 327, 328, 332, 338, 236, 202, 362, 370, 478, 292, - 427, 428, 429, 430, 0, 191, 209, 342, 0, 419, - 273, 532, 510, 506, 198, 211, 0, 247, 0, 0, + 0, 0, 0, 229, 0, 236, 328, 337, 336, 317, + 318, 320, 322, 327, 334, 340, 0, 0, 0, 0, + 0, 253, 302, 260, 252, 487, 0, 0, 0, 0, + 0, 0, 0, 220, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 284, + 0, 376, 245, 0, 0, 0, 0, 526, 0, 0, + 0, 0, 0, 0, 0, 342, 0, 311, 192, 216, + 0, 0, 386, 429, 439, 0, 0, 0, 243, 0, + 437, 400, 506, 224, 272, 426, 406, 435, 413, 275, + 0, 0, 436, 348, 492, 420, 503, 527, 528, 251, + 380, 514, 476, 522, 541, 217, 248, 394, 469, 509, + 459, 372, 488, 489, 310, 458, 282, 195, 346, 533, + 215, 445, 233, 222, 494, 512, 277, 424, 204, 471, + 501, 230, 449, 0, 0, 543, 206, 499, 468, 368, + 307, 308, 205, 0, 425, 256, 280, 246, 389, 496, + 497, 244, 544, 219, 521, 211, 0, 520, 382, 491, + 500, 369, 358, 210, 498, 367, 357, 313, 332, 333, + 268, 291, 418, 351, 419, 292, 378, 377, 379, 199, + 510, 0, 200, 0, 464, 511, 545, 225, 226, 228, + 0, 267, 271, 279, 281, 287, 288, 296, 344, 393, + 417, 415, 421, 0, 486, 504, 515, 525, 531, 532, + 534, 535, 536, 537, 538, 540, 539, 381, 294, 460, + 312, 349, 0, 0, 399, 438, 231, 508, 461, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, + 556, 557, 558, 559, 560, 561, 562, 563, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 564, 359, 451, + 505, 314, 326, 329, 319, 338, 0, 339, 315, 316, + 321, 323, 324, 325, 330, 331, 335, 341, 239, 202, + 365, 373, 485, 295, 207, 208, 209, 478, 479, 480, + 481, 518, 519, 523, 430, 431, 432, 433, 0, 191, + 212, 345, 0, 422, 276, 542, 517, 513, 198, 214, + 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 193, 194, 201, 213, 223, 227, 234, + 249, 264, 266, 273, 285, 290, 293, 299, 300, 303, + 309, 355, 361, 362, 363, 364, 383, 384, 385, 388, + 391, 392, 395, 397, 398, 401, 405, 409, 410, 411, + 412, 414, 416, 423, 428, 440, 441, 442, 443, 444, + 447, 448, 453, 454, 455, 456, 457, 465, 466, 470, + 493, 495, 507, 524, 529, 446, 286, 502, 530, 0, + 354, 0, 0, 356, 269, 289, 301, 0, 516, 467, + 218, 434, 278, 241, 0, 0, 203, 237, 221, 247, + 262, 265, 305, 366, 374, 403, 408, 283, 259, 235, + 427, 232, 450, 473, 474, 475, 477, 370, 254, 407, + 0, 371, 352, 483, 484, 297, 482, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, + 0, 0, 343, 255, 0, 0, 404, 0, 197, 0, + 452, 242, 353, 350, 490, 270, 261, 257, 240, 298, + 360, 402, 472, 396, 0, 347, 0, 0, 462, 375, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 304, 238, 306, 196, 387, + 463, 274, 0, 0, 0, 0, 188, 189, 190, 0, + 1444, 0, 0, 0, 0, 0, 0, 0, 0, 229, + 0, 236, 328, 337, 336, 317, 318, 320, 322, 327, + 334, 340, 0, 0, 0, 0, 0, 253, 302, 260, + 252, 487, 0, 0, 0, 0, 0, 0, 0, 220, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 284, 0, 376, 245, 0, + 0, 0, 0, 526, 0, 0, 0, 0, 0, 0, + 0, 342, 0, 311, 192, 216, 0, 0, 386, 429, + 439, 0, 0, 0, 243, 0, 437, 400, 506, 224, + 272, 426, 406, 435, 413, 275, 0, 0, 436, 348, + 492, 420, 503, 527, 528, 251, 380, 514, 476, 522, + 541, 217, 248, 394, 469, 509, 459, 372, 488, 489, + 310, 458, 282, 195, 346, 533, 215, 445, 233, 222, + 494, 512, 277, 424, 204, 471, 501, 230, 449, 0, + 0, 543, 206, 499, 468, 368, 307, 308, 205, 0, + 425, 256, 280, 246, 389, 496, 497, 244, 544, 219, + 521, 211, 0, 520, 382, 491, 500, 369, 358, 210, + 498, 367, 357, 313, 332, 333, 268, 291, 418, 351, + 419, 292, 378, 377, 379, 199, 510, 0, 200, 0, + 464, 511, 545, 225, 226, 228, 0, 267, 271, 279, + 281, 287, 288, 296, 344, 393, 417, 415, 421, 0, + 486, 504, 515, 525, 531, 532, 534, 535, 536, 537, + 538, 540, 539, 381, 294, 460, 312, 349, 0, 0, + 399, 438, 231, 508, 461, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 546, 547, 548, 549, + 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, + 560, 561, 562, 563, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 564, 359, 451, 505, 314, 326, 329, + 319, 338, 0, 339, 315, 316, 321, 323, 324, 325, + 330, 331, 335, 341, 239, 202, 365, 373, 485, 295, + 207, 208, 209, 478, 479, 480, 481, 518, 519, 523, + 430, 431, 432, 433, 0, 191, 212, 345, 0, 422, + 276, 542, 517, 513, 198, 214, 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 194, 201, 210, 220, 224, 231, 246, 261, 263, 270, - 282, 287, 290, 296, 297, 300, 306, 352, 358, 359, - 360, 361, 380, 381, 382, 385, 388, 389, 392, 394, - 395, 398, 402, 406, 407, 408, 409, 411, 413, 420, - 425, 437, 438, 439, 440, 441, 444, 445, 450, 451, - 452, 453, 454, 462, 463, 467, 486, 488, 500, 514, - 519, 443, 283, 495, 520, 0, 351, 0, 0, 353, - 266, 286, 298, 0, 509, 464, 215, 431, 275, 238, - 0, 0, 203, 234, 218, 244, 259, 262, 302, 363, - 371, 400, 405, 280, 256, 232, 424, 229, 447, 470, - 471, 472, 474, 367, 251, 404, 0, 368, 349, 476, - 477, 294, 475, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 387, 0, 0, 0, 0, 0, - 0, 0, 0, 255, 0, 0, 0, 0, 340, 252, - 0, 0, 401, 0, 197, 0, 449, 239, 350, 347, - 483, 267, 258, 254, 237, 295, 357, 399, 469, 393, - 0, 344, 0, 0, 459, 372, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 301, 235, 303, 196, 384, 460, 271, 0, 0, + 194, 201, 213, 223, 227, 234, 249, 264, 266, 273, + 285, 290, 293, 299, 300, 303, 309, 355, 361, 362, + 363, 364, 383, 384, 385, 388, 391, 392, 395, 397, + 398, 401, 405, 409, 410, 411, 412, 414, 416, 423, + 428, 440, 441, 442, 443, 444, 447, 448, 453, 454, + 455, 456, 457, 465, 466, 470, 493, 495, 507, 524, + 529, 446, 286, 502, 530, 0, 354, 0, 0, 356, + 269, 289, 301, 0, 516, 467, 218, 434, 278, 241, + 0, 0, 203, 237, 221, 247, 262, 265, 305, 366, + 374, 403, 408, 283, 259, 235, 427, 232, 450, 473, + 474, 475, 477, 370, 254, 407, 0, 371, 352, 483, + 484, 297, 482, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 390, 0, 0, 0, 0, 0, + 0, 0, 0, 258, 0, 0, 0, 0, 343, 255, + 0, 0, 404, 0, 197, 0, 452, 242, 353, 350, + 490, 270, 261, 257, 240, 298, 360, 402, 472, 396, + 0, 347, 0, 0, 462, 375, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 304, 238, 306, 196, 387, 463, 274, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 226, 0, 233, 325, 334, - 333, 314, 315, 317, 319, 324, 331, 337, 0, 0, - 0, 0, 0, 250, 299, 257, 249, 480, 0, 0, - 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1259, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 281, 0, 373, 242, 0, 0, 0, 0, 516, - 0, 0, 0, 0, 0, 0, 0, 339, 0, 308, - 192, 213, 0, 0, 383, 426, 436, 0, 0, 0, - 240, 0, 434, 397, 499, 221, 269, 423, 403, 432, - 410, 272, 0, 0, 433, 345, 485, 417, 496, 517, - 518, 248, 377, 507, 473, 513, 531, 214, 245, 391, - 466, 502, 456, 369, 481, 482, 307, 455, 279, 195, - 343, 523, 212, 442, 230, 219, 487, 505, 274, 421, - 204, 468, 494, 227, 446, 0, 0, 533, 206, 492, - 465, 365, 304, 305, 205, 0, 422, 253, 277, 243, - 386, 489, 490, 241, 534, 216, 512, 208, 0, 511, - 379, 484, 493, 366, 355, 207, 491, 364, 354, 310, - 329, 330, 265, 288, 415, 348, 416, 289, 375, 374, - 376, 199, 503, 0, 200, 0, 461, 504, 535, 222, - 223, 225, 0, 264, 268, 276, 278, 284, 285, 293, - 341, 390, 414, 412, 418, 0, 479, 497, 508, 515, - 521, 522, 524, 525, 526, 527, 528, 530, 529, 378, - 291, 457, 309, 346, 0, 0, 396, 435, 228, 501, - 458, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 536, 537, 538, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 554, - 356, 448, 498, 311, 323, 326, 316, 335, 0, 336, - 312, 313, 318, 320, 321, 322, 327, 328, 332, 338, - 236, 202, 362, 370, 478, 292, 427, 428, 429, 430, - 0, 191, 209, 342, 0, 419, 273, 532, 510, 506, - 198, 211, 0, 247, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, - 224, 231, 246, 261, 263, 270, 282, 287, 290, 296, - 297, 300, 306, 352, 358, 359, 360, 361, 380, 381, - 382, 385, 388, 389, 392, 394, 395, 398, 402, 406, - 407, 408, 409, 411, 413, 420, 425, 437, 438, 439, - 440, 441, 444, 445, 450, 451, 452, 453, 454, 462, - 463, 467, 486, 488, 500, 514, 519, 443, 283, 495, - 520, 0, 351, 0, 0, 353, 266, 286, 298, 0, - 509, 464, 215, 431, 275, 238, 0, 0, 203, 234, - 218, 244, 259, 262, 302, 363, 371, 400, 405, 280, - 256, 232, 424, 229, 447, 470, 471, 472, 474, 367, - 251, 404, 0, 368, 349, 476, 477, 294, 475, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 387, 0, 0, 0, 0, 0, 0, 0, 0, 255, - 0, 0, 0, 0, 340, 252, 0, 0, 401, 0, - 197, 0, 449, 239, 350, 347, 483, 267, 258, 254, - 237, 295, 357, 399, 469, 393, 0, 344, 0, 0, - 459, 372, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 301, 235, 303, - 196, 384, 460, 271, 0, 0, 0, 0, 188, 189, + 0, 0, 0, 0, 0, 229, 0, 236, 328, 337, + 336, 317, 318, 320, 322, 327, 334, 340, 0, 0, + 0, 0, 0, 253, 302, 260, 252, 487, 0, 0, + 0, 0, 0, 0, 0, 220, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1279, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 284, 0, 376, 245, 0, 0, 0, 0, 526, + 0, 0, 0, 0, 0, 0, 0, 342, 0, 311, + 192, 216, 0, 0, 386, 429, 439, 0, 0, 0, + 243, 0, 437, 400, 506, 224, 272, 426, 406, 435, + 413, 275, 0, 0, 436, 348, 492, 420, 503, 527, + 528, 251, 380, 514, 476, 522, 541, 217, 248, 394, + 469, 509, 459, 372, 488, 489, 310, 458, 282, 195, + 346, 533, 215, 445, 233, 222, 494, 512, 277, 424, + 204, 471, 501, 230, 449, 0, 0, 543, 206, 499, + 468, 368, 307, 308, 205, 0, 425, 256, 280, 246, + 389, 496, 497, 244, 544, 219, 521, 211, 0, 520, + 382, 491, 500, 369, 358, 210, 498, 367, 357, 313, + 332, 333, 268, 291, 418, 351, 419, 292, 378, 377, + 379, 199, 510, 0, 200, 0, 464, 511, 545, 225, + 226, 228, 0, 267, 271, 279, 281, 287, 288, 296, + 344, 393, 417, 415, 421, 0, 486, 504, 515, 525, + 531, 532, 534, 535, 536, 537, 538, 540, 539, 381, + 294, 460, 312, 349, 0, 0, 399, 438, 231, 508, + 461, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 546, 547, 548, 549, 550, 551, 552, 553, + 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 564, + 359, 451, 505, 314, 326, 329, 319, 338, 0, 339, + 315, 316, 321, 323, 324, 325, 330, 331, 335, 341, + 239, 202, 365, 373, 485, 295, 207, 208, 209, 478, + 479, 480, 481, 518, 519, 523, 430, 431, 432, 433, + 0, 191, 212, 345, 0, 422, 276, 542, 517, 513, + 198, 214, 0, 250, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 193, 194, 201, 213, 223, + 227, 234, 249, 264, 266, 273, 285, 290, 293, 299, + 300, 303, 309, 355, 361, 362, 363, 364, 383, 384, + 385, 388, 391, 392, 395, 397, 398, 401, 405, 409, + 410, 411, 412, 414, 416, 423, 428, 440, 441, 442, + 443, 444, 447, 448, 453, 454, 455, 456, 457, 465, + 466, 470, 493, 495, 507, 524, 529, 446, 286, 502, + 530, 0, 354, 0, 0, 356, 269, 289, 301, 0, + 516, 467, 218, 434, 278, 241, 0, 0, 203, 237, + 221, 247, 262, 265, 305, 366, 374, 403, 408, 283, + 259, 235, 427, 232, 450, 473, 474, 475, 477, 370, + 254, 407, 0, 371, 352, 483, 484, 297, 482, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 390, 0, 0, 0, 0, 0, 0, 0, 0, 258, + 0, 0, 0, 0, 343, 255, 0, 0, 404, 0, + 197, 0, 452, 242, 353, 350, 490, 270, 261, 257, + 240, 298, 360, 402, 472, 396, 0, 347, 0, 0, + 462, 375, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 304, 238, 306, + 196, 387, 463, 274, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 226, 0, 233, 325, 334, 333, 314, 315, 317, - 319, 324, 331, 337, 0, 0, 0, 0, 0, 250, - 299, 257, 249, 480, 0, 0, 0, 0, 0, 0, - 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 260, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 281, 0, 373, - 242, 0, 0, 0, 0, 516, 0, 0, 0, 0, - 0, 0, 0, 339, 0, 308, 192, 213, 0, 0, - 383, 426, 436, 0, 0, 0, 240, 0, 434, 397, - 499, 221, 269, 423, 403, 432, 410, 272, 0, 0, - 433, 345, 485, 417, 496, 517, 518, 248, 377, 507, - 473, 513, 531, 214, 245, 391, 466, 502, 456, 369, - 481, 482, 307, 455, 279, 195, 343, 523, 212, 442, - 230, 219, 487, 505, 274, 421, 204, 468, 494, 227, - 446, 0, 0, 533, 206, 492, 465, 365, 304, 305, - 205, 0, 422, 253, 277, 243, 386, 489, 490, 241, - 534, 216, 512, 208, 0, 511, 379, 484, 493, 366, - 355, 207, 491, 364, 354, 310, 329, 330, 265, 288, - 415, 348, 416, 289, 375, 374, 376, 199, 503, 0, - 200, 0, 461, 504, 535, 222, 223, 225, 0, 264, - 268, 276, 278, 284, 285, 293, 341, 390, 414, 412, - 418, 0, 479, 497, 508, 515, 521, 522, 524, 525, - 526, 527, 528, 530, 529, 378, 291, 457, 309, 346, - 0, 0, 396, 435, 228, 501, 458, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 536, 537, - 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 552, 553, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 554, 356, 448, 498, 311, - 323, 326, 316, 335, 0, 336, 312, 313, 318, 320, - 321, 322, 327, 328, 332, 338, 236, 202, 362, 370, - 478, 292, 427, 428, 429, 430, 0, 191, 209, 342, - 1690, 419, 273, 532, 510, 506, 198, 211, 0, 247, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 193, 194, 201, 210, 220, 224, 231, 246, 261, - 263, 270, 282, 287, 290, 296, 297, 300, 306, 352, - 358, 359, 360, 361, 380, 381, 382, 385, 388, 389, - 392, 394, 395, 398, 402, 406, 407, 408, 409, 411, - 413, 420, 425, 437, 438, 439, 440, 441, 444, 445, - 450, 451, 452, 453, 454, 462, 463, 467, 486, 488, - 500, 514, 519, 443, 283, 495, 520, 0, 351, 0, - 0, 353, 266, 286, 298, 0, 509, 464, 215, 431, - 275, 238, 0, 0, 203, 234, 218, 244, 259, 262, - 302, 363, 371, 400, 405, 280, 256, 232, 424, 229, - 447, 470, 471, 472, 474, 367, 251, 404, 0, 368, - 349, 476, 477, 294, 475, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 387, 0, 1560, 0, - 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, - 340, 252, 0, 0, 401, 0, 197, 0, 449, 239, - 350, 347, 483, 267, 258, 254, 237, 295, 357, 399, - 469, 393, 0, 344, 0, 0, 459, 372, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 301, 235, 303, 196, 384, 460, 271, + 0, 229, 0, 236, 328, 337, 336, 317, 318, 320, + 322, 327, 334, 340, 0, 0, 0, 0, 0, 253, + 302, 260, 252, 487, 0, 0, 0, 0, 0, 0, + 0, 220, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 284, 0, 376, + 245, 0, 0, 0, 0, 526, 0, 0, 0, 0, + 0, 0, 0, 342, 0, 311, 192, 216, 0, 0, + 386, 429, 439, 0, 0, 0, 243, 0, 437, 400, + 506, 224, 272, 426, 406, 435, 413, 275, 0, 0, + 436, 348, 492, 420, 503, 527, 528, 251, 380, 514, + 476, 522, 541, 217, 248, 394, 469, 509, 459, 372, + 488, 489, 310, 458, 282, 195, 346, 533, 215, 445, + 233, 222, 494, 512, 277, 424, 204, 471, 501, 230, + 449, 0, 0, 543, 206, 499, 468, 368, 307, 308, + 205, 0, 425, 256, 280, 246, 389, 496, 497, 244, + 544, 219, 521, 211, 0, 520, 382, 491, 500, 369, + 358, 210, 498, 367, 357, 313, 332, 333, 268, 291, + 418, 351, 419, 292, 378, 377, 379, 199, 510, 0, + 200, 0, 464, 511, 545, 225, 226, 228, 0, 267, + 271, 279, 281, 287, 288, 296, 344, 393, 417, 415, + 421, 0, 486, 504, 515, 525, 531, 532, 534, 535, + 536, 537, 538, 540, 539, 381, 294, 460, 312, 349, + 0, 0, 399, 438, 231, 508, 461, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 546, 547, + 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, + 558, 559, 560, 561, 562, 563, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 564, 359, 451, 505, 314, + 326, 329, 319, 338, 0, 339, 315, 316, 321, 323, + 324, 325, 330, 331, 335, 341, 239, 202, 365, 373, + 485, 295, 207, 208, 209, 478, 479, 480, 481, 518, + 519, 523, 430, 431, 432, 433, 0, 191, 212, 345, + 1720, 422, 276, 542, 517, 513, 198, 214, 0, 250, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 193, 194, 201, 213, 223, 227, 234, 249, 264, + 266, 273, 285, 290, 293, 299, 300, 303, 309, 355, + 361, 362, 363, 364, 383, 384, 385, 388, 391, 392, + 395, 397, 398, 401, 405, 409, 410, 411, 412, 414, + 416, 423, 428, 440, 441, 442, 443, 444, 447, 448, + 453, 454, 455, 456, 457, 465, 466, 470, 493, 495, + 507, 524, 529, 446, 286, 502, 530, 0, 354, 0, + 0, 356, 269, 289, 301, 0, 516, 467, 218, 434, + 278, 241, 0, 0, 203, 237, 221, 247, 262, 265, + 305, 366, 374, 403, 408, 283, 259, 235, 427, 232, + 450, 473, 474, 475, 477, 370, 254, 407, 0, 371, + 352, 483, 484, 297, 482, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 390, 0, 1590, 0, + 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, + 343, 255, 0, 0, 404, 0, 197, 0, 452, 242, + 353, 350, 490, 270, 261, 257, 240, 298, 360, 402, + 472, 396, 0, 347, 0, 0, 462, 375, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 304, 238, 306, 196, 387, 463, 274, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 226, 0, 233, - 325, 334, 333, 314, 315, 317, 319, 324, 331, 337, - 0, 0, 0, 0, 0, 250, 299, 257, 249, 480, - 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 260, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 281, 0, 373, 242, 0, 0, 0, - 0, 516, 0, 0, 0, 0, 0, 0, 0, 339, - 0, 308, 192, 213, 0, 0, 383, 426, 436, 0, - 0, 0, 240, 0, 434, 397, 499, 221, 269, 423, - 403, 432, 410, 272, 0, 0, 433, 345, 485, 417, - 496, 517, 518, 248, 377, 507, 473, 513, 531, 214, - 245, 391, 466, 502, 456, 369, 481, 482, 307, 455, - 279, 195, 343, 523, 212, 442, 230, 219, 487, 505, - 274, 421, 204, 468, 494, 227, 446, 0, 0, 533, - 206, 492, 465, 365, 304, 305, 205, 0, 422, 253, - 277, 243, 386, 489, 490, 241, 534, 216, 512, 208, - 0, 511, 379, 484, 493, 366, 355, 207, 491, 364, - 354, 310, 329, 330, 265, 288, 415, 348, 416, 289, - 375, 374, 376, 199, 503, 0, 200, 0, 461, 504, - 535, 222, 223, 225, 0, 264, 268, 276, 278, 284, - 285, 293, 341, 390, 414, 412, 418, 0, 479, 497, - 508, 515, 521, 522, 524, 525, 526, 527, 528, 530, - 529, 378, 291, 457, 309, 346, 0, 0, 396, 435, - 228, 501, 458, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 536, 537, 538, 539, 540, 541, - 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, - 552, 553, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 554, 356, 448, 498, 311, 323, 326, 316, 335, - 0, 336, 312, 313, 318, 320, 321, 322, 327, 328, - 332, 338, 236, 202, 362, 370, 478, 292, 427, 428, - 429, 430, 0, 191, 209, 342, 0, 419, 273, 532, - 510, 506, 198, 211, 0, 247, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 229, 0, 236, + 328, 337, 336, 317, 318, 320, 322, 327, 334, 340, + 0, 0, 0, 0, 0, 253, 302, 260, 252, 487, + 0, 0, 0, 0, 0, 0, 0, 220, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 284, 0, 376, 245, 0, 0, 0, + 0, 526, 0, 0, 0, 0, 0, 0, 0, 342, + 0, 311, 192, 216, 0, 0, 386, 429, 439, 0, + 0, 0, 243, 0, 437, 400, 506, 224, 272, 426, + 406, 435, 413, 275, 0, 0, 436, 348, 492, 420, + 503, 527, 528, 251, 380, 514, 476, 522, 541, 217, + 248, 394, 469, 509, 459, 372, 488, 489, 310, 458, + 282, 195, 346, 533, 215, 445, 233, 222, 494, 512, + 277, 424, 204, 471, 501, 230, 449, 0, 0, 543, + 206, 499, 468, 368, 307, 308, 205, 0, 425, 256, + 280, 246, 389, 496, 497, 244, 544, 219, 521, 211, + 0, 520, 382, 491, 500, 369, 358, 210, 498, 367, + 357, 313, 332, 333, 268, 291, 418, 351, 419, 292, + 378, 377, 379, 199, 510, 0, 200, 0, 464, 511, + 545, 225, 226, 228, 0, 267, 271, 279, 281, 287, + 288, 296, 344, 393, 417, 415, 421, 0, 486, 504, + 515, 525, 531, 532, 534, 535, 536, 537, 538, 540, + 539, 381, 294, 460, 312, 349, 0, 0, 399, 438, + 231, 508, 461, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 546, 547, 548, 549, 550, 551, + 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, + 562, 563, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 564, 359, 451, 505, 314, 326, 329, 319, 338, + 0, 339, 315, 316, 321, 323, 324, 325, 330, 331, + 335, 341, 239, 202, 365, 373, 485, 295, 207, 208, + 209, 478, 479, 480, 481, 518, 519, 523, 430, 431, + 432, 433, 0, 191, 212, 345, 0, 422, 276, 542, + 517, 513, 198, 214, 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, - 210, 220, 224, 231, 246, 261, 263, 270, 282, 287, - 290, 296, 297, 300, 306, 352, 358, 359, 360, 361, - 380, 381, 382, 385, 388, 389, 392, 394, 395, 398, - 402, 406, 407, 408, 409, 411, 413, 420, 425, 437, - 438, 439, 440, 441, 444, 445, 450, 451, 452, 453, - 454, 462, 463, 467, 486, 488, 500, 514, 519, 443, - 283, 495, 520, 0, 351, 0, 0, 353, 266, 286, - 298, 0, 509, 464, 215, 431, 275, 238, 0, 0, - 203, 234, 218, 244, 259, 262, 302, 363, 371, 400, - 405, 280, 256, 232, 424, 229, 447, 470, 471, 472, - 474, 367, 251, 404, 0, 368, 349, 476, 477, 294, - 475, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 387, 0, 1558, 0, 0, 0, 0, 0, - 0, 255, 0, 0, 0, 0, 340, 252, 0, 0, - 401, 0, 197, 0, 449, 239, 350, 347, 483, 267, - 258, 254, 237, 295, 357, 399, 469, 393, 0, 344, - 0, 0, 459, 372, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, - 235, 303, 196, 384, 460, 271, 0, 0, 0, 0, + 213, 223, 227, 234, 249, 264, 266, 273, 285, 290, + 293, 299, 300, 303, 309, 355, 361, 362, 363, 364, + 383, 384, 385, 388, 391, 392, 395, 397, 398, 401, + 405, 409, 410, 411, 412, 414, 416, 423, 428, 440, + 441, 442, 443, 444, 447, 448, 453, 454, 455, 456, + 457, 465, 466, 470, 493, 495, 507, 524, 529, 446, + 286, 502, 530, 0, 354, 0, 0, 356, 269, 289, + 301, 0, 516, 467, 218, 434, 278, 241, 0, 0, + 203, 237, 221, 247, 262, 265, 305, 366, 374, 403, + 408, 283, 259, 235, 427, 232, 450, 473, 474, 475, + 477, 370, 254, 407, 0, 371, 352, 483, 484, 297, + 482, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 390, 0, 1588, 0, 0, 0, 0, 0, + 0, 258, 0, 0, 0, 0, 343, 255, 0, 0, + 404, 0, 197, 0, 452, 242, 353, 350, 490, 270, + 261, 257, 240, 298, 360, 402, 472, 396, 0, 347, + 0, 0, 462, 375, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, + 238, 306, 196, 387, 463, 274, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 226, 0, 233, 325, 334, 333, 314, - 315, 317, 319, 324, 331, 337, 0, 0, 0, 0, - 0, 250, 299, 257, 249, 480, 0, 0, 0, 0, - 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 260, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 281, - 0, 373, 242, 0, 0, 0, 0, 516, 0, 0, - 0, 0, 0, 0, 0, 339, 0, 308, 192, 213, - 0, 0, 383, 426, 436, 0, 0, 0, 240, 0, - 434, 397, 499, 221, 269, 423, 403, 432, 410, 272, - 0, 0, 433, 345, 485, 417, 496, 517, 518, 248, - 377, 507, 473, 513, 531, 214, 245, 391, 466, 502, - 456, 369, 481, 482, 307, 455, 279, 195, 343, 523, - 212, 442, 230, 219, 487, 505, 274, 421, 204, 468, - 494, 227, 446, 0, 0, 533, 206, 492, 465, 365, - 304, 305, 205, 0, 422, 253, 277, 243, 386, 489, - 490, 241, 534, 216, 512, 208, 0, 511, 379, 484, - 493, 366, 355, 207, 491, 364, 354, 310, 329, 330, - 265, 288, 415, 348, 416, 289, 375, 374, 376, 199, - 503, 0, 200, 0, 461, 504, 535, 222, 223, 225, - 0, 264, 268, 276, 278, 284, 285, 293, 341, 390, - 414, 412, 418, 0, 479, 497, 508, 515, 521, 522, - 524, 525, 526, 527, 528, 530, 529, 378, 291, 457, - 309, 346, 0, 0, 396, 435, 228, 501, 458, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, - 546, 547, 548, 549, 550, 551, 552, 553, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 554, 356, 448, - 498, 311, 323, 326, 316, 335, 0, 336, 312, 313, - 318, 320, 321, 322, 327, 328, 332, 338, 236, 202, - 362, 370, 478, 292, 427, 428, 429, 430, 0, 191, - 209, 342, 0, 419, 273, 532, 510, 506, 198, 211, - 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, - 246, 261, 263, 270, 282, 287, 290, 296, 297, 300, - 306, 352, 358, 359, 360, 361, 380, 381, 382, 385, - 388, 389, 392, 394, 395, 398, 402, 406, 407, 408, - 409, 411, 413, 420, 425, 437, 438, 439, 440, 441, - 444, 445, 450, 451, 452, 453, 454, 462, 463, 467, - 486, 488, 500, 514, 519, 443, 283, 495, 520, 0, - 351, 0, 0, 353, 266, 286, 298, 0, 509, 464, - 215, 431, 275, 238, 0, 0, 203, 234, 218, 244, - 259, 262, 302, 363, 371, 400, 405, 280, 256, 232, - 424, 229, 447, 470, 471, 472, 474, 367, 251, 404, - 0, 368, 349, 476, 477, 294, 475, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 387, 0, - 1556, 0, 0, 0, 0, 0, 0, 255, 0, 0, - 0, 0, 340, 252, 0, 0, 401, 0, 197, 0, - 449, 239, 350, 347, 483, 267, 258, 254, 237, 295, - 357, 399, 469, 393, 0, 344, 0, 0, 459, 372, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 301, 235, 303, 196, 384, - 460, 271, 0, 0, 0, 0, 188, 189, 190, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, - 0, 233, 325, 334, 333, 314, 315, 317, 319, 324, - 331, 337, 0, 0, 0, 0, 0, 250, 299, 257, - 249, 480, 0, 0, 0, 0, 0, 0, 0, 217, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 260, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 281, 0, 373, 242, 0, - 0, 0, 0, 516, 0, 0, 0, 0, 0, 0, - 0, 339, 0, 308, 192, 213, 0, 0, 383, 426, - 436, 0, 0, 0, 240, 0, 434, 397, 499, 221, - 269, 423, 403, 432, 410, 272, 0, 0, 433, 345, - 485, 417, 496, 517, 518, 248, 377, 507, 473, 513, - 531, 214, 245, 391, 466, 502, 456, 369, 481, 482, - 307, 455, 279, 195, 343, 523, 212, 442, 230, 219, - 487, 505, 274, 421, 204, 468, 494, 227, 446, 0, - 0, 533, 206, 492, 465, 365, 304, 305, 205, 0, - 422, 253, 277, 243, 386, 489, 490, 241, 534, 216, - 512, 208, 0, 511, 379, 484, 493, 366, 355, 207, - 491, 364, 354, 310, 329, 330, 265, 288, 415, 348, - 416, 289, 375, 374, 376, 199, 503, 0, 200, 0, - 461, 504, 535, 222, 223, 225, 0, 264, 268, 276, - 278, 284, 285, 293, 341, 390, 414, 412, 418, 0, - 479, 497, 508, 515, 521, 522, 524, 525, 526, 527, - 528, 530, 529, 378, 291, 457, 309, 346, 0, 0, - 396, 435, 228, 501, 458, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, - 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 554, 356, 448, 498, 311, 323, 326, - 316, 335, 0, 336, 312, 313, 318, 320, 321, 322, - 327, 328, 332, 338, 236, 202, 362, 370, 478, 292, - 427, 428, 429, 430, 0, 191, 209, 342, 0, 419, - 273, 532, 510, 506, 198, 211, 0, 247, 0, 0, + 0, 0, 0, 229, 0, 236, 328, 337, 336, 317, + 318, 320, 322, 327, 334, 340, 0, 0, 0, 0, + 0, 253, 302, 260, 252, 487, 0, 0, 0, 0, + 0, 0, 0, 220, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 284, + 0, 376, 245, 0, 0, 0, 0, 526, 0, 0, + 0, 0, 0, 0, 0, 342, 0, 311, 192, 216, + 0, 0, 386, 429, 439, 0, 0, 0, 243, 0, + 437, 400, 506, 224, 272, 426, 406, 435, 413, 275, + 0, 0, 436, 348, 492, 420, 503, 527, 528, 251, + 380, 514, 476, 522, 541, 217, 248, 394, 469, 509, + 459, 372, 488, 489, 310, 458, 282, 195, 346, 533, + 215, 445, 233, 222, 494, 512, 277, 424, 204, 471, + 501, 230, 449, 0, 0, 543, 206, 499, 468, 368, + 307, 308, 205, 0, 425, 256, 280, 246, 389, 496, + 497, 244, 544, 219, 521, 211, 0, 520, 382, 491, + 500, 369, 358, 210, 498, 367, 357, 313, 332, 333, + 268, 291, 418, 351, 419, 292, 378, 377, 379, 199, + 510, 0, 200, 0, 464, 511, 545, 225, 226, 228, + 0, 267, 271, 279, 281, 287, 288, 296, 344, 393, + 417, 415, 421, 0, 486, 504, 515, 525, 531, 532, + 534, 535, 536, 537, 538, 540, 539, 381, 294, 460, + 312, 349, 0, 0, 399, 438, 231, 508, 461, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, + 556, 557, 558, 559, 560, 561, 562, 563, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 564, 359, 451, + 505, 314, 326, 329, 319, 338, 0, 339, 315, 316, + 321, 323, 324, 325, 330, 331, 335, 341, 239, 202, + 365, 373, 485, 295, 207, 208, 209, 478, 479, 480, + 481, 518, 519, 523, 430, 431, 432, 433, 0, 191, + 212, 345, 0, 422, 276, 542, 517, 513, 198, 214, + 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 193, 194, 201, 213, 223, 227, 234, + 249, 264, 266, 273, 285, 290, 293, 299, 300, 303, + 309, 355, 361, 362, 363, 364, 383, 384, 385, 388, + 391, 392, 395, 397, 398, 401, 405, 409, 410, 411, + 412, 414, 416, 423, 428, 440, 441, 442, 443, 444, + 447, 448, 453, 454, 455, 456, 457, 465, 466, 470, + 493, 495, 507, 524, 529, 446, 286, 502, 530, 0, + 354, 0, 0, 356, 269, 289, 301, 0, 516, 467, + 218, 434, 278, 241, 0, 0, 203, 237, 221, 247, + 262, 265, 305, 366, 374, 403, 408, 283, 259, 235, + 427, 232, 450, 473, 474, 475, 477, 370, 254, 407, + 0, 371, 352, 483, 484, 297, 482, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 1586, 0, 0, 0, 0, 0, 0, 258, 0, 0, + 0, 0, 343, 255, 0, 0, 404, 0, 197, 0, + 452, 242, 353, 350, 490, 270, 261, 257, 240, 298, + 360, 402, 472, 396, 0, 347, 0, 0, 462, 375, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 304, 238, 306, 196, 387, + 463, 274, 0, 0, 0, 0, 188, 189, 190, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 229, + 0, 236, 328, 337, 336, 317, 318, 320, 322, 327, + 334, 340, 0, 0, 0, 0, 0, 253, 302, 260, + 252, 487, 0, 0, 0, 0, 0, 0, 0, 220, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 284, 0, 376, 245, 0, + 0, 0, 0, 526, 0, 0, 0, 0, 0, 0, + 0, 342, 0, 311, 192, 216, 0, 0, 386, 429, + 439, 0, 0, 0, 243, 0, 437, 400, 506, 224, + 272, 426, 406, 435, 413, 275, 0, 0, 436, 348, + 492, 420, 503, 527, 528, 251, 380, 514, 476, 522, + 541, 217, 248, 394, 469, 509, 459, 372, 488, 489, + 310, 458, 282, 195, 346, 533, 215, 445, 233, 222, + 494, 512, 277, 424, 204, 471, 501, 230, 449, 0, + 0, 543, 206, 499, 468, 368, 307, 308, 205, 0, + 425, 256, 280, 246, 389, 496, 497, 244, 544, 219, + 521, 211, 0, 520, 382, 491, 500, 369, 358, 210, + 498, 367, 357, 313, 332, 333, 268, 291, 418, 351, + 419, 292, 378, 377, 379, 199, 510, 0, 200, 0, + 464, 511, 545, 225, 226, 228, 0, 267, 271, 279, + 281, 287, 288, 296, 344, 393, 417, 415, 421, 0, + 486, 504, 515, 525, 531, 532, 534, 535, 536, 537, + 538, 540, 539, 381, 294, 460, 312, 349, 0, 0, + 399, 438, 231, 508, 461, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 546, 547, 548, 549, + 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, + 560, 561, 562, 563, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 564, 359, 451, 505, 314, 326, 329, + 319, 338, 0, 339, 315, 316, 321, 323, 324, 325, + 330, 331, 335, 341, 239, 202, 365, 373, 485, 295, + 207, 208, 209, 478, 479, 480, 481, 518, 519, 523, + 430, 431, 432, 433, 0, 191, 212, 345, 0, 422, + 276, 542, 517, 513, 198, 214, 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 194, 201, 210, 220, 224, 231, 246, 261, 263, 270, - 282, 287, 290, 296, 297, 300, 306, 352, 358, 359, - 360, 361, 380, 381, 382, 385, 388, 389, 392, 394, - 395, 398, 402, 406, 407, 408, 409, 411, 413, 420, - 425, 437, 438, 439, 440, 441, 444, 445, 450, 451, - 452, 453, 454, 462, 463, 467, 486, 488, 500, 514, - 519, 443, 283, 495, 520, 0, 351, 0, 0, 353, - 266, 286, 298, 0, 509, 464, 215, 431, 275, 238, - 0, 0, 203, 234, 218, 244, 259, 262, 302, 363, - 371, 400, 405, 280, 256, 232, 424, 229, 447, 470, - 471, 472, 474, 367, 251, 404, 0, 368, 349, 476, - 477, 294, 475, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 387, 0, 1554, 0, 0, 0, - 0, 0, 0, 255, 0, 0, 0, 0, 340, 252, - 0, 0, 401, 0, 197, 0, 449, 239, 350, 347, - 483, 267, 258, 254, 237, 295, 357, 399, 469, 393, - 0, 344, 0, 0, 459, 372, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 301, 235, 303, 196, 384, 460, 271, 0, 0, + 194, 201, 213, 223, 227, 234, 249, 264, 266, 273, + 285, 290, 293, 299, 300, 303, 309, 355, 361, 362, + 363, 364, 383, 384, 385, 388, 391, 392, 395, 397, + 398, 401, 405, 409, 410, 411, 412, 414, 416, 423, + 428, 440, 441, 442, 443, 444, 447, 448, 453, 454, + 455, 456, 457, 465, 466, 470, 493, 495, 507, 524, + 529, 446, 286, 502, 530, 0, 354, 0, 0, 356, + 269, 289, 301, 0, 516, 467, 218, 434, 278, 241, + 0, 0, 203, 237, 221, 247, 262, 265, 305, 366, + 374, 403, 408, 283, 259, 235, 427, 232, 450, 473, + 474, 475, 477, 370, 254, 407, 0, 371, 352, 483, + 484, 297, 482, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 390, 0, 1584, 0, 0, 0, + 0, 0, 0, 258, 0, 0, 0, 0, 343, 255, + 0, 0, 404, 0, 197, 0, 452, 242, 353, 350, + 490, 270, 261, 257, 240, 298, 360, 402, 472, 396, + 0, 347, 0, 0, 462, 375, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 304, 238, 306, 196, 387, 463, 274, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 226, 0, 233, 325, 334, - 333, 314, 315, 317, 319, 324, 331, 337, 0, 0, - 0, 0, 0, 250, 299, 257, 249, 480, 0, 0, - 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 281, 0, 373, 242, 0, 0, 0, 0, 516, - 0, 0, 0, 0, 0, 0, 0, 339, 0, 308, - 192, 213, 0, 0, 383, 426, 436, 0, 0, 0, - 240, 0, 434, 397, 499, 221, 269, 423, 403, 432, - 410, 272, 0, 0, 433, 345, 485, 417, 496, 517, - 518, 248, 377, 507, 473, 513, 531, 214, 245, 391, - 466, 502, 456, 369, 481, 482, 307, 455, 279, 195, - 343, 523, 212, 442, 230, 219, 487, 505, 274, 421, - 204, 468, 494, 227, 446, 0, 0, 533, 206, 492, - 465, 365, 304, 305, 205, 0, 422, 253, 277, 243, - 386, 489, 490, 241, 534, 216, 512, 208, 0, 511, - 379, 484, 493, 366, 355, 207, 491, 364, 354, 310, - 329, 330, 265, 288, 415, 348, 416, 289, 375, 374, - 376, 199, 503, 0, 200, 0, 461, 504, 535, 222, - 223, 225, 0, 264, 268, 276, 278, 284, 285, 293, - 341, 390, 414, 412, 418, 0, 479, 497, 508, 515, - 521, 522, 524, 525, 526, 527, 528, 530, 529, 378, - 291, 457, 309, 346, 0, 0, 396, 435, 228, 501, - 458, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 536, 537, 538, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 554, - 356, 448, 498, 311, 323, 326, 316, 335, 0, 336, - 312, 313, 318, 320, 321, 322, 327, 328, 332, 338, - 236, 202, 362, 370, 478, 292, 427, 428, 429, 430, - 0, 191, 209, 342, 0, 419, 273, 532, 510, 506, - 198, 211, 0, 247, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, - 224, 231, 246, 261, 263, 270, 282, 287, 290, 296, - 297, 300, 306, 352, 358, 359, 360, 361, 380, 381, - 382, 385, 388, 389, 392, 394, 395, 398, 402, 406, - 407, 408, 409, 411, 413, 420, 425, 437, 438, 439, - 440, 441, 444, 445, 450, 451, 452, 453, 454, 462, - 463, 467, 486, 488, 500, 514, 519, 443, 283, 495, - 520, 0, 351, 0, 0, 353, 266, 286, 298, 0, - 509, 464, 215, 431, 275, 238, 0, 0, 203, 234, - 218, 244, 259, 262, 302, 363, 371, 400, 405, 280, - 256, 232, 424, 229, 447, 470, 471, 472, 474, 367, - 251, 404, 0, 368, 349, 476, 477, 294, 475, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 387, 0, 1552, 0, 0, 0, 0, 0, 0, 255, - 0, 0, 0, 0, 340, 252, 0, 0, 401, 0, - 197, 0, 449, 239, 350, 347, 483, 267, 258, 254, - 237, 295, 357, 399, 469, 393, 0, 344, 0, 0, - 459, 372, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 301, 235, 303, - 196, 384, 460, 271, 0, 0, 0, 0, 188, 189, + 0, 0, 0, 0, 0, 229, 0, 236, 328, 337, + 336, 317, 318, 320, 322, 327, 334, 340, 0, 0, + 0, 0, 0, 253, 302, 260, 252, 487, 0, 0, + 0, 0, 0, 0, 0, 220, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 284, 0, 376, 245, 0, 0, 0, 0, 526, + 0, 0, 0, 0, 0, 0, 0, 342, 0, 311, + 192, 216, 0, 0, 386, 429, 439, 0, 0, 0, + 243, 0, 437, 400, 506, 224, 272, 426, 406, 435, + 413, 275, 0, 0, 436, 348, 492, 420, 503, 527, + 528, 251, 380, 514, 476, 522, 541, 217, 248, 394, + 469, 509, 459, 372, 488, 489, 310, 458, 282, 195, + 346, 533, 215, 445, 233, 222, 494, 512, 277, 424, + 204, 471, 501, 230, 449, 0, 0, 543, 206, 499, + 468, 368, 307, 308, 205, 0, 425, 256, 280, 246, + 389, 496, 497, 244, 544, 219, 521, 211, 0, 520, + 382, 491, 500, 369, 358, 210, 498, 367, 357, 313, + 332, 333, 268, 291, 418, 351, 419, 292, 378, 377, + 379, 199, 510, 0, 200, 0, 464, 511, 545, 225, + 226, 228, 0, 267, 271, 279, 281, 287, 288, 296, + 344, 393, 417, 415, 421, 0, 486, 504, 515, 525, + 531, 532, 534, 535, 536, 537, 538, 540, 539, 381, + 294, 460, 312, 349, 0, 0, 399, 438, 231, 508, + 461, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 546, 547, 548, 549, 550, 551, 552, 553, + 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 564, + 359, 451, 505, 314, 326, 329, 319, 338, 0, 339, + 315, 316, 321, 323, 324, 325, 330, 331, 335, 341, + 239, 202, 365, 373, 485, 295, 207, 208, 209, 478, + 479, 480, 481, 518, 519, 523, 430, 431, 432, 433, + 0, 191, 212, 345, 0, 422, 276, 542, 517, 513, + 198, 214, 0, 250, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 193, 194, 201, 213, 223, + 227, 234, 249, 264, 266, 273, 285, 290, 293, 299, + 300, 303, 309, 355, 361, 362, 363, 364, 383, 384, + 385, 388, 391, 392, 395, 397, 398, 401, 405, 409, + 410, 411, 412, 414, 416, 423, 428, 440, 441, 442, + 443, 444, 447, 448, 453, 454, 455, 456, 457, 465, + 466, 470, 493, 495, 507, 524, 529, 446, 286, 502, + 530, 0, 354, 0, 0, 356, 269, 289, 301, 0, + 516, 467, 218, 434, 278, 241, 0, 0, 203, 237, + 221, 247, 262, 265, 305, 366, 374, 403, 408, 283, + 259, 235, 427, 232, 450, 473, 474, 475, 477, 370, + 254, 407, 0, 371, 352, 483, 484, 297, 482, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 390, 0, 1582, 0, 0, 0, 0, 0, 0, 258, + 0, 0, 0, 0, 343, 255, 0, 0, 404, 0, + 197, 0, 452, 242, 353, 350, 490, 270, 261, 257, + 240, 298, 360, 402, 472, 396, 0, 347, 0, 0, + 462, 375, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 304, 238, 306, + 196, 387, 463, 274, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 226, 0, 233, 325, 334, 333, 314, 315, 317, - 319, 324, 331, 337, 0, 0, 0, 0, 0, 250, - 299, 257, 249, 480, 0, 0, 0, 0, 0, 0, - 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 260, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 281, 0, 373, - 242, 0, 0, 0, 0, 516, 0, 0, 0, 0, - 0, 0, 0, 339, 0, 308, 192, 213, 0, 0, - 383, 426, 436, 0, 0, 0, 240, 0, 434, 397, - 499, 221, 269, 423, 403, 432, 410, 272, 0, 0, - 433, 345, 485, 417, 496, 517, 518, 248, 377, 507, - 473, 513, 531, 214, 245, 391, 466, 502, 456, 369, - 481, 482, 307, 455, 279, 195, 343, 523, 212, 442, - 230, 219, 487, 505, 274, 421, 204, 468, 494, 227, - 446, 0, 0, 533, 206, 492, 465, 365, 304, 305, - 205, 0, 422, 253, 277, 243, 386, 489, 490, 241, - 534, 216, 512, 208, 0, 511, 379, 484, 493, 366, - 355, 207, 491, 364, 354, 310, 329, 330, 265, 288, - 415, 348, 416, 289, 375, 374, 376, 199, 503, 0, - 200, 0, 461, 504, 535, 222, 223, 225, 0, 264, - 268, 276, 278, 284, 285, 293, 341, 390, 414, 412, - 418, 0, 479, 497, 508, 515, 521, 522, 524, 525, - 526, 527, 528, 530, 529, 378, 291, 457, 309, 346, - 0, 0, 396, 435, 228, 501, 458, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 536, 537, - 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 552, 553, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 554, 356, 448, 498, 311, - 323, 326, 316, 335, 0, 336, 312, 313, 318, 320, - 321, 322, 327, 328, 332, 338, 236, 202, 362, 370, - 478, 292, 427, 428, 429, 430, 0, 191, 209, 342, - 0, 419, 273, 532, 510, 506, 198, 211, 0, 247, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 193, 194, 201, 210, 220, 224, 231, 246, 261, - 263, 270, 282, 287, 290, 296, 297, 300, 306, 352, - 358, 359, 360, 361, 380, 381, 382, 385, 388, 389, - 392, 394, 395, 398, 402, 406, 407, 408, 409, 411, - 413, 420, 425, 437, 438, 439, 440, 441, 444, 445, - 450, 451, 452, 453, 454, 462, 463, 467, 486, 488, - 500, 514, 519, 443, 283, 495, 520, 0, 351, 0, - 0, 353, 266, 286, 298, 0, 509, 464, 215, 431, - 275, 238, 0, 0, 203, 234, 218, 244, 259, 262, - 302, 363, 371, 400, 405, 280, 256, 232, 424, 229, - 447, 470, 471, 472, 474, 367, 251, 404, 0, 368, - 349, 476, 477, 294, 475, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 387, 0, 1548, 0, - 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, - 340, 252, 0, 0, 401, 0, 197, 0, 449, 239, - 350, 347, 483, 267, 258, 254, 237, 295, 357, 399, - 469, 393, 0, 344, 0, 0, 459, 372, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 301, 235, 303, 196, 384, 460, 271, + 0, 229, 0, 236, 328, 337, 336, 317, 318, 320, + 322, 327, 334, 340, 0, 0, 0, 0, 0, 253, + 302, 260, 252, 487, 0, 0, 0, 0, 0, 0, + 0, 220, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 284, 0, 376, + 245, 0, 0, 0, 0, 526, 0, 0, 0, 0, + 0, 0, 0, 342, 0, 311, 192, 216, 0, 0, + 386, 429, 439, 0, 0, 0, 243, 0, 437, 400, + 506, 224, 272, 426, 406, 435, 413, 275, 0, 0, + 436, 348, 492, 420, 503, 527, 528, 251, 380, 514, + 476, 522, 541, 217, 248, 394, 469, 509, 459, 372, + 488, 489, 310, 458, 282, 195, 346, 533, 215, 445, + 233, 222, 494, 512, 277, 424, 204, 471, 501, 230, + 449, 0, 0, 543, 206, 499, 468, 368, 307, 308, + 205, 0, 425, 256, 280, 246, 389, 496, 497, 244, + 544, 219, 521, 211, 0, 520, 382, 491, 500, 369, + 358, 210, 498, 367, 357, 313, 332, 333, 268, 291, + 418, 351, 419, 292, 378, 377, 379, 199, 510, 0, + 200, 0, 464, 511, 545, 225, 226, 228, 0, 267, + 271, 279, 281, 287, 288, 296, 344, 393, 417, 415, + 421, 0, 486, 504, 515, 525, 531, 532, 534, 535, + 536, 537, 538, 540, 539, 381, 294, 460, 312, 349, + 0, 0, 399, 438, 231, 508, 461, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 546, 547, + 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, + 558, 559, 560, 561, 562, 563, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 564, 359, 451, 505, 314, + 326, 329, 319, 338, 0, 339, 315, 316, 321, 323, + 324, 325, 330, 331, 335, 341, 239, 202, 365, 373, + 485, 295, 207, 208, 209, 478, 479, 480, 481, 518, + 519, 523, 430, 431, 432, 433, 0, 191, 212, 345, + 0, 422, 276, 542, 517, 513, 198, 214, 0, 250, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 193, 194, 201, 213, 223, 227, 234, 249, 264, + 266, 273, 285, 290, 293, 299, 300, 303, 309, 355, + 361, 362, 363, 364, 383, 384, 385, 388, 391, 392, + 395, 397, 398, 401, 405, 409, 410, 411, 412, 414, + 416, 423, 428, 440, 441, 442, 443, 444, 447, 448, + 453, 454, 455, 456, 457, 465, 466, 470, 493, 495, + 507, 524, 529, 446, 286, 502, 530, 0, 354, 0, + 0, 356, 269, 289, 301, 0, 516, 467, 218, 434, + 278, 241, 0, 0, 203, 237, 221, 247, 262, 265, + 305, 366, 374, 403, 408, 283, 259, 235, 427, 232, + 450, 473, 474, 475, 477, 370, 254, 407, 0, 371, + 352, 483, 484, 297, 482, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 390, 0, 1578, 0, + 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, + 343, 255, 0, 0, 404, 0, 197, 0, 452, 242, + 353, 350, 490, 270, 261, 257, 240, 298, 360, 402, + 472, 396, 0, 347, 0, 0, 462, 375, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 304, 238, 306, 196, 387, 463, 274, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 226, 0, 233, - 325, 334, 333, 314, 315, 317, 319, 324, 331, 337, - 0, 0, 0, 0, 0, 250, 299, 257, 249, 480, - 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 260, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 281, 0, 373, 242, 0, 0, 0, - 0, 516, 0, 0, 0, 0, 0, 0, 0, 339, - 0, 308, 192, 213, 0, 0, 383, 426, 436, 0, - 0, 0, 240, 0, 434, 397, 499, 221, 269, 423, - 403, 432, 410, 272, 0, 0, 433, 345, 485, 417, - 496, 517, 518, 248, 377, 507, 473, 513, 531, 214, - 245, 391, 466, 502, 456, 369, 481, 482, 307, 455, - 279, 195, 343, 523, 212, 442, 230, 219, 487, 505, - 274, 421, 204, 468, 494, 227, 446, 0, 0, 533, - 206, 492, 465, 365, 304, 305, 205, 0, 422, 253, - 277, 243, 386, 489, 490, 241, 534, 216, 512, 208, - 0, 511, 379, 484, 493, 366, 355, 207, 491, 364, - 354, 310, 329, 330, 265, 288, 415, 348, 416, 289, - 375, 374, 376, 199, 503, 0, 200, 0, 461, 504, - 535, 222, 223, 225, 0, 264, 268, 276, 278, 284, - 285, 293, 341, 390, 414, 412, 418, 0, 479, 497, - 508, 515, 521, 522, 524, 525, 526, 527, 528, 530, - 529, 378, 291, 457, 309, 346, 0, 0, 396, 435, - 228, 501, 458, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 536, 537, 538, 539, 540, 541, - 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, - 552, 553, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 554, 356, 448, 498, 311, 323, 326, 316, 335, - 0, 336, 312, 313, 318, 320, 321, 322, 327, 328, - 332, 338, 236, 202, 362, 370, 478, 292, 427, 428, - 429, 430, 0, 191, 209, 342, 0, 419, 273, 532, - 510, 506, 198, 211, 0, 247, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 229, 0, 236, + 328, 337, 336, 317, 318, 320, 322, 327, 334, 340, + 0, 0, 0, 0, 0, 253, 302, 260, 252, 487, + 0, 0, 0, 0, 0, 0, 0, 220, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 284, 0, 376, 245, 0, 0, 0, + 0, 526, 0, 0, 0, 0, 0, 0, 0, 342, + 0, 311, 192, 216, 0, 0, 386, 429, 439, 0, + 0, 0, 243, 0, 437, 400, 506, 224, 272, 426, + 406, 435, 413, 275, 0, 0, 436, 348, 492, 420, + 503, 527, 528, 251, 380, 514, 476, 522, 541, 217, + 248, 394, 469, 509, 459, 372, 488, 489, 310, 458, + 282, 195, 346, 533, 215, 445, 233, 222, 494, 512, + 277, 424, 204, 471, 501, 230, 449, 0, 0, 543, + 206, 499, 468, 368, 307, 308, 205, 0, 425, 256, + 280, 246, 389, 496, 497, 244, 544, 219, 521, 211, + 0, 520, 382, 491, 500, 369, 358, 210, 498, 367, + 357, 313, 332, 333, 268, 291, 418, 351, 419, 292, + 378, 377, 379, 199, 510, 0, 200, 0, 464, 511, + 545, 225, 226, 228, 0, 267, 271, 279, 281, 287, + 288, 296, 344, 393, 417, 415, 421, 0, 486, 504, + 515, 525, 531, 532, 534, 535, 536, 537, 538, 540, + 539, 381, 294, 460, 312, 349, 0, 0, 399, 438, + 231, 508, 461, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 546, 547, 548, 549, 550, 551, + 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, + 562, 563, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 564, 359, 451, 505, 314, 326, 329, 319, 338, + 0, 339, 315, 316, 321, 323, 324, 325, 330, 331, + 335, 341, 239, 202, 365, 373, 485, 295, 207, 208, + 209, 478, 479, 480, 481, 518, 519, 523, 430, 431, + 432, 433, 0, 191, 212, 345, 0, 422, 276, 542, + 517, 513, 198, 214, 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, - 210, 220, 224, 231, 246, 261, 263, 270, 282, 287, - 290, 296, 297, 300, 306, 352, 358, 359, 360, 361, - 380, 381, 382, 385, 388, 389, 392, 394, 395, 398, - 402, 406, 407, 408, 409, 411, 413, 420, 425, 437, - 438, 439, 440, 441, 444, 445, 450, 451, 452, 453, - 454, 462, 463, 467, 486, 488, 500, 514, 519, 443, - 283, 495, 520, 0, 351, 0, 0, 353, 266, 286, - 298, 0, 509, 464, 215, 431, 275, 238, 0, 0, - 203, 234, 218, 244, 259, 262, 302, 363, 371, 400, - 405, 280, 256, 232, 424, 229, 447, 470, 471, 472, - 474, 367, 251, 404, 0, 368, 349, 476, 477, 294, - 475, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 387, 0, 1546, 0, 0, 0, 0, 0, - 0, 255, 0, 0, 0, 0, 340, 252, 0, 0, - 401, 0, 197, 0, 449, 239, 350, 347, 483, 267, - 258, 254, 237, 295, 357, 399, 469, 393, 0, 344, - 0, 0, 459, 372, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, - 235, 303, 196, 384, 460, 271, 0, 0, 0, 0, + 213, 223, 227, 234, 249, 264, 266, 273, 285, 290, + 293, 299, 300, 303, 309, 355, 361, 362, 363, 364, + 383, 384, 385, 388, 391, 392, 395, 397, 398, 401, + 405, 409, 410, 411, 412, 414, 416, 423, 428, 440, + 441, 442, 443, 444, 447, 448, 453, 454, 455, 456, + 457, 465, 466, 470, 493, 495, 507, 524, 529, 446, + 286, 502, 530, 0, 354, 0, 0, 356, 269, 289, + 301, 0, 516, 467, 218, 434, 278, 241, 0, 0, + 203, 237, 221, 247, 262, 265, 305, 366, 374, 403, + 408, 283, 259, 235, 427, 232, 450, 473, 474, 475, + 477, 370, 254, 407, 0, 371, 352, 483, 484, 297, + 482, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 390, 0, 1576, 0, 0, 0, 0, 0, + 0, 258, 0, 0, 0, 0, 343, 255, 0, 0, + 404, 0, 197, 0, 452, 242, 353, 350, 490, 270, + 261, 257, 240, 298, 360, 402, 472, 396, 0, 347, + 0, 0, 462, 375, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, + 238, 306, 196, 387, 463, 274, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 226, 0, 233, 325, 334, 333, 314, - 315, 317, 319, 324, 331, 337, 0, 0, 0, 0, - 0, 250, 299, 257, 249, 480, 0, 0, 0, 0, - 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 260, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 281, - 0, 373, 242, 0, 0, 0, 0, 516, 0, 0, - 0, 0, 0, 0, 0, 339, 0, 308, 192, 213, - 0, 0, 383, 426, 436, 0, 0, 0, 240, 0, - 434, 397, 499, 221, 269, 423, 403, 432, 410, 272, - 0, 0, 433, 345, 485, 417, 496, 517, 518, 248, - 377, 507, 473, 513, 531, 214, 245, 391, 466, 502, - 456, 369, 481, 482, 307, 455, 279, 195, 343, 523, - 212, 442, 230, 219, 487, 505, 274, 421, 204, 468, - 494, 227, 446, 0, 0, 533, 206, 492, 465, 365, - 304, 305, 205, 0, 422, 253, 277, 243, 386, 489, - 490, 241, 534, 216, 512, 208, 0, 511, 379, 484, - 493, 366, 355, 207, 491, 364, 354, 310, 329, 330, - 265, 288, 415, 348, 416, 289, 375, 374, 376, 199, - 503, 0, 200, 0, 461, 504, 535, 222, 223, 225, - 0, 264, 268, 276, 278, 284, 285, 293, 341, 390, - 414, 412, 418, 0, 479, 497, 508, 515, 521, 522, - 524, 525, 526, 527, 528, 530, 529, 378, 291, 457, - 309, 346, 0, 0, 396, 435, 228, 501, 458, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, - 546, 547, 548, 549, 550, 551, 552, 553, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 554, 356, 448, - 498, 311, 323, 326, 316, 335, 0, 336, 312, 313, - 318, 320, 321, 322, 327, 328, 332, 338, 236, 202, - 362, 370, 478, 292, 427, 428, 429, 430, 0, 191, - 209, 342, 0, 419, 273, 532, 510, 506, 198, 211, - 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, - 246, 261, 263, 270, 282, 287, 290, 296, 297, 300, - 306, 352, 358, 359, 360, 361, 380, 381, 382, 385, - 388, 389, 392, 394, 395, 398, 402, 406, 407, 408, - 409, 411, 413, 420, 425, 437, 438, 439, 440, 441, - 444, 445, 450, 451, 452, 453, 454, 462, 463, 467, - 486, 488, 500, 514, 519, 443, 283, 495, 520, 0, - 351, 0, 0, 353, 266, 286, 298, 0, 509, 464, - 215, 431, 275, 238, 0, 0, 203, 234, 218, 244, - 259, 262, 302, 363, 371, 400, 405, 280, 256, 232, - 424, 229, 447, 470, 471, 472, 474, 367, 251, 404, - 0, 368, 349, 476, 477, 294, 475, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 387, 0, - 1544, 0, 0, 0, 0, 0, 0, 255, 0, 0, - 0, 0, 340, 252, 0, 0, 401, 0, 197, 0, - 449, 239, 350, 347, 483, 267, 258, 254, 237, 295, - 357, 399, 469, 393, 0, 344, 0, 0, 459, 372, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 301, 235, 303, 196, 384, - 460, 271, 0, 0, 0, 0, 188, 189, 190, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, - 0, 233, 325, 334, 333, 314, 315, 317, 319, 324, - 331, 337, 0, 0, 0, 0, 0, 250, 299, 257, - 249, 480, 0, 0, 0, 0, 0, 0, 0, 217, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 260, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 281, 0, 373, 242, 0, - 0, 0, 0, 516, 0, 0, 0, 0, 0, 0, - 0, 339, 0, 308, 192, 213, 0, 0, 383, 426, - 436, 0, 0, 0, 240, 0, 434, 397, 499, 221, - 269, 423, 403, 432, 410, 272, 0, 0, 433, 345, - 485, 417, 496, 517, 518, 248, 377, 507, 473, 513, - 531, 214, 245, 391, 466, 502, 456, 369, 481, 482, - 307, 455, 279, 195, 343, 523, 212, 442, 230, 219, - 487, 505, 274, 421, 204, 468, 494, 227, 446, 0, - 0, 533, 206, 492, 465, 365, 304, 305, 205, 0, - 422, 253, 277, 243, 386, 489, 490, 241, 534, 216, - 512, 208, 0, 511, 379, 484, 493, 366, 355, 207, - 491, 364, 354, 310, 329, 330, 265, 288, 415, 348, - 416, 289, 375, 374, 376, 199, 503, 0, 200, 0, - 461, 504, 535, 222, 223, 225, 0, 264, 268, 276, - 278, 284, 285, 293, 341, 390, 414, 412, 418, 0, - 479, 497, 508, 515, 521, 522, 524, 525, 526, 527, - 528, 530, 529, 378, 291, 457, 309, 346, 0, 0, - 396, 435, 228, 501, 458, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, - 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 554, 356, 448, 498, 311, 323, 326, - 316, 335, 0, 336, 312, 313, 318, 320, 321, 322, - 327, 328, 332, 338, 236, 202, 362, 370, 478, 292, - 427, 428, 429, 430, 0, 191, 209, 342, 0, 419, - 273, 532, 510, 506, 198, 211, 0, 247, 0, 0, + 0, 0, 0, 229, 0, 236, 328, 337, 336, 317, + 318, 320, 322, 327, 334, 340, 0, 0, 0, 0, + 0, 253, 302, 260, 252, 487, 0, 0, 0, 0, + 0, 0, 0, 220, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 284, + 0, 376, 245, 0, 0, 0, 0, 526, 0, 0, + 0, 0, 0, 0, 0, 342, 0, 311, 192, 216, + 0, 0, 386, 429, 439, 0, 0, 0, 243, 0, + 437, 400, 506, 224, 272, 426, 406, 435, 413, 275, + 0, 0, 436, 348, 492, 420, 503, 527, 528, 251, + 380, 514, 476, 522, 541, 217, 248, 394, 469, 509, + 459, 372, 488, 489, 310, 458, 282, 195, 346, 533, + 215, 445, 233, 222, 494, 512, 277, 424, 204, 471, + 501, 230, 449, 0, 0, 543, 206, 499, 468, 368, + 307, 308, 205, 0, 425, 256, 280, 246, 389, 496, + 497, 244, 544, 219, 521, 211, 0, 520, 382, 491, + 500, 369, 358, 210, 498, 367, 357, 313, 332, 333, + 268, 291, 418, 351, 419, 292, 378, 377, 379, 199, + 510, 0, 200, 0, 464, 511, 545, 225, 226, 228, + 0, 267, 271, 279, 281, 287, 288, 296, 344, 393, + 417, 415, 421, 0, 486, 504, 515, 525, 531, 532, + 534, 535, 536, 537, 538, 540, 539, 381, 294, 460, + 312, 349, 0, 0, 399, 438, 231, 508, 461, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, + 556, 557, 558, 559, 560, 561, 562, 563, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 564, 359, 451, + 505, 314, 326, 329, 319, 338, 0, 339, 315, 316, + 321, 323, 324, 325, 330, 331, 335, 341, 239, 202, + 365, 373, 485, 295, 207, 208, 209, 478, 479, 480, + 481, 518, 519, 523, 430, 431, 432, 433, 0, 191, + 212, 345, 0, 422, 276, 542, 517, 513, 198, 214, + 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 193, 194, 201, 213, 223, 227, 234, + 249, 264, 266, 273, 285, 290, 293, 299, 300, 303, + 309, 355, 361, 362, 363, 364, 383, 384, 385, 388, + 391, 392, 395, 397, 398, 401, 405, 409, 410, 411, + 412, 414, 416, 423, 428, 440, 441, 442, 443, 444, + 447, 448, 453, 454, 455, 456, 457, 465, 466, 470, + 493, 495, 507, 524, 529, 446, 286, 502, 530, 0, + 354, 0, 0, 356, 269, 289, 301, 0, 516, 467, + 218, 434, 278, 241, 0, 0, 203, 237, 221, 247, + 262, 265, 305, 366, 374, 403, 408, 283, 259, 235, + 427, 232, 450, 473, 474, 475, 477, 370, 254, 407, + 0, 371, 352, 483, 484, 297, 482, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 1574, 0, 0, 0, 0, 0, 0, 258, 0, 0, + 0, 0, 343, 255, 0, 0, 404, 0, 197, 0, + 452, 242, 353, 350, 490, 270, 261, 257, 240, 298, + 360, 402, 472, 396, 0, 347, 0, 0, 462, 375, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 304, 238, 306, 196, 387, + 463, 274, 0, 0, 0, 0, 188, 189, 190, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 229, + 0, 236, 328, 337, 336, 317, 318, 320, 322, 327, + 334, 340, 0, 0, 0, 0, 0, 253, 302, 260, + 252, 487, 0, 0, 0, 0, 0, 0, 0, 220, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 284, 0, 376, 245, 0, + 0, 0, 0, 526, 0, 0, 0, 0, 0, 0, + 0, 342, 0, 311, 192, 216, 0, 0, 386, 429, + 439, 0, 0, 0, 243, 0, 437, 400, 506, 224, + 272, 426, 406, 435, 413, 275, 0, 0, 436, 348, + 492, 420, 503, 527, 528, 251, 380, 514, 476, 522, + 541, 217, 248, 394, 469, 509, 459, 372, 488, 489, + 310, 458, 282, 195, 346, 533, 215, 445, 233, 222, + 494, 512, 277, 424, 204, 471, 501, 230, 449, 0, + 0, 543, 206, 499, 468, 368, 307, 308, 205, 0, + 425, 256, 280, 246, 389, 496, 497, 244, 544, 219, + 521, 211, 0, 520, 382, 491, 500, 369, 358, 210, + 498, 367, 357, 313, 332, 333, 268, 291, 418, 351, + 419, 292, 378, 377, 379, 199, 510, 0, 200, 0, + 464, 511, 545, 225, 226, 228, 0, 267, 271, 279, + 281, 287, 288, 296, 344, 393, 417, 415, 421, 0, + 486, 504, 515, 525, 531, 532, 534, 535, 536, 537, + 538, 540, 539, 381, 294, 460, 312, 349, 0, 0, + 399, 438, 231, 508, 461, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 546, 547, 548, 549, + 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, + 560, 561, 562, 563, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 564, 359, 451, 505, 314, 326, 329, + 319, 338, 0, 339, 315, 316, 321, 323, 324, 325, + 330, 331, 335, 341, 239, 202, 365, 373, 485, 295, + 207, 208, 209, 478, 479, 480, 481, 518, 519, 523, + 430, 431, 432, 433, 0, 191, 212, 345, 0, 422, + 276, 542, 517, 513, 198, 214, 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 194, 201, 210, 220, 224, 231, 246, 261, 263, 270, - 282, 287, 290, 296, 297, 300, 306, 352, 358, 359, - 360, 361, 380, 381, 382, 385, 388, 389, 392, 394, - 395, 398, 402, 406, 407, 408, 409, 411, 413, 420, - 425, 437, 438, 439, 440, 441, 444, 445, 450, 451, - 452, 453, 454, 462, 463, 467, 486, 488, 500, 514, - 519, 443, 283, 495, 520, 0, 351, 0, 0, 353, - 266, 286, 298, 0, 509, 464, 215, 431, 275, 238, - 0, 0, 203, 234, 218, 244, 259, 262, 302, 363, - 371, 400, 405, 280, 256, 232, 424, 229, 447, 470, - 471, 472, 474, 367, 251, 404, 0, 368, 349, 476, - 477, 294, 475, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 387, 0, 0, 0, 0, 0, - 0, 0, 0, 255, 0, 0, 0, 0, 340, 252, - 0, 0, 401, 0, 197, 0, 449, 239, 350, 347, - 483, 267, 258, 254, 237, 295, 357, 399, 469, 393, - 0, 344, 0, 0, 459, 372, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 301, 235, 303, 196, 384, 460, 271, 0, 1519, + 194, 201, 213, 223, 227, 234, 249, 264, 266, 273, + 285, 290, 293, 299, 300, 303, 309, 355, 361, 362, + 363, 364, 383, 384, 385, 388, 391, 392, 395, 397, + 398, 401, 405, 409, 410, 411, 412, 414, 416, 423, + 428, 440, 441, 442, 443, 444, 447, 448, 453, 454, + 455, 456, 457, 465, 466, 470, 493, 495, 507, 524, + 529, 446, 286, 502, 530, 0, 354, 0, 0, 356, + 269, 289, 301, 0, 516, 467, 218, 434, 278, 241, + 0, 0, 203, 237, 221, 247, 262, 265, 305, 366, + 374, 403, 408, 283, 259, 235, 427, 232, 450, 473, + 474, 475, 477, 370, 254, 407, 0, 371, 352, 483, + 484, 297, 482, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 390, 0, 0, 0, 0, 0, + 0, 0, 0, 258, 0, 0, 0, 0, 343, 255, + 0, 0, 404, 0, 197, 0, 452, 242, 353, 350, + 490, 270, 261, 257, 240, 298, 360, 402, 472, 396, + 0, 347, 0, 0, 462, 375, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 304, 238, 306, 196, 387, 463, 274, 0, 1549, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 226, 0, 233, 325, 334, - 333, 314, 315, 317, 319, 324, 331, 337, 0, 0, - 0, 0, 0, 250, 299, 257, 249, 480, 0, 0, - 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 281, 0, 373, 242, 0, 0, 0, 0, 516, - 0, 0, 0, 0, 0, 0, 0, 339, 0, 308, - 192, 213, 0, 0, 383, 426, 436, 0, 0, 0, - 240, 0, 434, 397, 499, 221, 269, 423, 403, 432, - 410, 272, 0, 0, 433, 345, 485, 417, 496, 517, - 518, 248, 377, 507, 473, 513, 531, 214, 245, 391, - 466, 502, 456, 369, 481, 482, 307, 455, 279, 195, - 343, 523, 212, 442, 230, 219, 487, 505, 274, 421, - 204, 468, 494, 227, 446, 0, 0, 533, 206, 492, - 465, 365, 304, 305, 205, 0, 422, 253, 277, 243, - 386, 489, 490, 241, 534, 216, 512, 208, 0, 511, - 379, 484, 493, 366, 355, 207, 491, 364, 354, 310, - 329, 330, 265, 288, 415, 348, 416, 289, 375, 374, - 376, 199, 503, 0, 200, 0, 461, 504, 535, 222, - 223, 225, 0, 264, 268, 276, 278, 284, 285, 293, - 341, 390, 414, 412, 418, 0, 479, 497, 508, 515, - 521, 522, 524, 525, 526, 527, 528, 530, 529, 378, - 291, 457, 309, 346, 0, 0, 396, 435, 228, 501, - 458, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 536, 537, 538, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 554, - 356, 448, 498, 311, 323, 326, 316, 335, 0, 336, - 312, 313, 318, 320, 321, 322, 327, 328, 332, 338, - 236, 202, 362, 370, 478, 292, 427, 428, 429, 430, - 0, 191, 209, 342, 0, 419, 273, 532, 510, 506, - 198, 211, 0, 247, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, - 224, 231, 246, 261, 263, 270, 282, 287, 290, 296, - 297, 300, 306, 352, 358, 359, 360, 361, 380, 381, - 382, 385, 388, 389, 392, 394, 395, 398, 402, 406, - 407, 408, 409, 411, 413, 420, 425, 437, 438, 439, - 440, 441, 444, 445, 450, 451, 452, 453, 454, 462, - 463, 467, 486, 488, 500, 514, 519, 443, 283, 495, - 520, 0, 351, 0, 0, 353, 266, 286, 298, 0, - 509, 464, 215, 431, 275, 238, 0, 0, 203, 234, - 218, 244, 259, 262, 302, 363, 371, 400, 405, 280, - 256, 232, 424, 229, 447, 470, 471, 472, 474, 367, - 251, 404, 0, 368, 349, 476, 477, 294, 475, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 387, 0, 0, 0, 0, 0, 0, 0, 1419, 255, - 0, 0, 0, 0, 340, 252, 0, 0, 401, 0, - 197, 0, 449, 239, 350, 347, 483, 267, 258, 254, - 237, 295, 357, 399, 469, 393, 0, 344, 0, 0, - 459, 372, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 301, 235, 303, - 196, 384, 460, 271, 0, 0, 0, 0, 188, 189, + 0, 0, 0, 0, 0, 229, 0, 236, 328, 337, + 336, 317, 318, 320, 322, 327, 334, 340, 0, 0, + 0, 0, 0, 253, 302, 260, 252, 487, 0, 0, + 0, 0, 0, 0, 0, 220, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 284, 0, 376, 245, 0, 0, 0, 0, 526, + 0, 0, 0, 0, 0, 0, 0, 342, 0, 311, + 192, 216, 0, 0, 386, 429, 439, 0, 0, 0, + 243, 0, 437, 400, 506, 224, 272, 426, 406, 435, + 413, 275, 0, 0, 436, 348, 492, 420, 503, 527, + 528, 251, 380, 514, 476, 522, 541, 217, 248, 394, + 469, 509, 459, 372, 488, 489, 310, 458, 282, 195, + 346, 533, 215, 445, 233, 222, 494, 512, 277, 424, + 204, 471, 501, 230, 449, 0, 0, 543, 206, 499, + 468, 368, 307, 308, 205, 0, 425, 256, 280, 246, + 389, 496, 497, 244, 544, 219, 521, 211, 0, 520, + 382, 491, 500, 369, 358, 210, 498, 367, 357, 313, + 332, 333, 268, 291, 418, 351, 419, 292, 378, 377, + 379, 199, 510, 0, 200, 0, 464, 511, 545, 225, + 226, 228, 0, 267, 271, 279, 281, 287, 288, 296, + 344, 393, 417, 415, 421, 0, 486, 504, 515, 525, + 531, 532, 534, 535, 536, 537, 538, 540, 539, 381, + 294, 460, 312, 349, 0, 0, 399, 438, 231, 508, + 461, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 546, 547, 548, 549, 550, 551, 552, 553, + 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 564, + 359, 451, 505, 314, 326, 329, 319, 338, 0, 339, + 315, 316, 321, 323, 324, 325, 330, 331, 335, 341, + 239, 202, 365, 373, 485, 295, 207, 208, 209, 478, + 479, 480, 481, 518, 519, 523, 430, 431, 432, 433, + 0, 191, 212, 345, 0, 422, 276, 542, 517, 513, + 198, 214, 0, 250, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 193, 194, 201, 213, 223, + 227, 234, 249, 264, 266, 273, 285, 290, 293, 299, + 300, 303, 309, 355, 361, 362, 363, 364, 383, 384, + 385, 388, 391, 392, 395, 397, 398, 401, 405, 409, + 410, 411, 412, 414, 416, 423, 428, 440, 441, 442, + 443, 444, 447, 448, 453, 454, 455, 456, 457, 465, + 466, 470, 493, 495, 507, 524, 529, 446, 286, 502, + 530, 0, 354, 0, 0, 356, 269, 289, 301, 0, + 516, 467, 218, 434, 278, 241, 0, 0, 203, 237, + 221, 247, 262, 265, 305, 366, 374, 403, 408, 283, + 259, 235, 427, 232, 450, 473, 474, 475, 477, 370, + 254, 407, 0, 371, 352, 483, 484, 297, 482, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 390, 0, 0, 0, 0, 0, 0, 0, 1449, 258, + 0, 0, 0, 0, 343, 255, 0, 0, 404, 0, + 197, 0, 452, 242, 353, 350, 490, 270, 261, 257, + 240, 298, 360, 402, 472, 396, 0, 347, 0, 0, + 462, 375, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 304, 238, 306, + 196, 387, 463, 274, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 226, 0, 233, 325, 334, 333, 314, 315, 317, - 319, 324, 331, 337, 0, 0, 0, 0, 0, 250, - 299, 257, 249, 480, 0, 0, 0, 0, 0, 0, - 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 260, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 281, 0, 373, - 242, 0, 0, 0, 0, 516, 0, 0, 0, 0, - 0, 0, 0, 339, 0, 308, 192, 213, 0, 0, - 383, 426, 436, 0, 0, 0, 240, 0, 434, 397, - 499, 221, 269, 423, 403, 432, 410, 272, 0, 0, - 433, 345, 485, 417, 496, 517, 518, 248, 377, 507, - 473, 513, 531, 214, 245, 391, 466, 502, 456, 369, - 481, 482, 307, 455, 279, 195, 343, 523, 212, 442, - 230, 219, 487, 505, 274, 421, 204, 468, 494, 227, - 446, 0, 0, 533, 206, 492, 465, 365, 304, 305, - 205, 0, 422, 253, 277, 243, 386, 489, 490, 241, - 534, 216, 512, 208, 0, 511, 379, 484, 493, 366, - 355, 207, 491, 364, 354, 310, 329, 330, 265, 288, - 415, 348, 416, 289, 375, 374, 376, 199, 503, 0, - 200, 0, 461, 504, 535, 222, 223, 225, 0, 264, - 268, 276, 278, 284, 285, 293, 341, 390, 414, 412, - 418, 0, 479, 497, 508, 515, 521, 522, 524, 525, - 526, 527, 528, 530, 529, 378, 291, 457, 309, 346, - 0, 0, 396, 435, 228, 501, 458, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 536, 537, - 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 552, 553, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 554, 356, 448, 498, 311, - 323, 326, 316, 335, 0, 336, 312, 313, 318, 320, - 321, 322, 327, 328, 332, 338, 236, 202, 362, 370, - 478, 292, 427, 428, 429, 430, 0, 191, 209, 342, - 0, 419, 273, 532, 510, 506, 198, 211, 0, 247, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 193, 194, 201, 210, 220, 224, 231, 246, 261, - 263, 270, 282, 287, 290, 296, 297, 300, 306, 352, - 358, 359, 360, 361, 380, 381, 382, 385, 388, 389, - 392, 394, 395, 398, 402, 406, 407, 408, 409, 411, - 413, 420, 425, 437, 438, 439, 440, 441, 444, 445, - 450, 451, 452, 453, 454, 462, 463, 467, 486, 488, - 500, 514, 519, 443, 283, 495, 520, 0, 351, 0, - 0, 353, 266, 286, 298, 0, 509, 464, 215, 431, - 275, 238, 0, 0, 203, 234, 218, 244, 259, 262, - 302, 363, 371, 400, 405, 280, 256, 232, 424, 229, - 447, 470, 471, 472, 474, 367, 251, 404, 0, 368, - 349, 476, 477, 294, 475, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 387, 0, 0, 0, - 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, - 340, 252, 0, 0, 401, 0, 197, 0, 449, 239, - 350, 347, 483, 267, 258, 254, 237, 295, 357, 399, - 469, 393, 0, 344, 0, 0, 459, 372, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 301, 235, 303, 196, 384, 460, 271, - 0, 0, 0, 0, 188, 189, 190, 0, 1203, 0, - 0, 0, 0, 0, 0, 0, 0, 226, 0, 233, - 325, 334, 333, 314, 315, 317, 319, 324, 331, 337, - 0, 0, 0, 0, 0, 250, 299, 257, 249, 480, - 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 260, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 281, 0, 373, 242, 0, 0, 0, - 0, 516, 0, 0, 0, 0, 0, 0, 0, 339, - 0, 308, 192, 213, 0, 0, 383, 426, 436, 0, - 0, 0, 240, 0, 434, 397, 499, 221, 269, 423, - 403, 432, 410, 272, 0, 0, 433, 345, 485, 417, - 496, 517, 518, 248, 377, 507, 473, 513, 531, 214, - 245, 391, 466, 502, 456, 369, 481, 482, 307, 455, - 279, 195, 343, 523, 212, 442, 230, 219, 487, 505, - 274, 421, 204, 468, 494, 227, 446, 0, 0, 533, - 206, 492, 465, 365, 304, 305, 205, 0, 422, 253, - 277, 243, 386, 489, 490, 241, 534, 216, 512, 208, - 0, 511, 379, 484, 493, 366, 355, 207, 491, 364, - 354, 310, 329, 330, 265, 288, 415, 348, 416, 289, - 375, 374, 376, 199, 503, 0, 200, 0, 461, 504, - 535, 222, 223, 225, 0, 264, 268, 276, 278, 284, - 285, 293, 341, 390, 414, 412, 418, 0, 479, 497, - 508, 515, 521, 522, 524, 525, 526, 527, 528, 530, - 529, 378, 291, 457, 309, 346, 0, 0, 396, 435, - 228, 501, 458, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 536, 537, 538, 539, 540, 541, - 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, - 552, 553, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 554, 356, 448, 498, 311, 323, 326, 316, 335, - 0, 336, 312, 313, 318, 320, 321, 322, 327, 328, - 332, 338, 236, 202, 362, 370, 478, 292, 427, 428, - 429, 430, 0, 191, 209, 342, 0, 419, 273, 532, - 510, 506, 198, 211, 0, 247, 0, 0, 0, 0, + 0, 229, 0, 236, 328, 337, 336, 317, 318, 320, + 322, 327, 334, 340, 0, 0, 0, 0, 0, 253, + 302, 260, 252, 487, 0, 0, 0, 0, 0, 0, + 0, 220, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 284, 0, 376, + 245, 0, 0, 0, 0, 526, 0, 0, 0, 0, + 0, 0, 0, 342, 0, 311, 192, 216, 0, 0, + 386, 429, 439, 0, 0, 0, 243, 0, 437, 400, + 506, 224, 272, 426, 406, 435, 413, 275, 0, 0, + 436, 348, 492, 420, 503, 527, 528, 251, 380, 514, + 476, 522, 541, 217, 248, 394, 469, 509, 459, 372, + 488, 489, 310, 458, 282, 195, 346, 533, 215, 445, + 233, 222, 494, 512, 277, 424, 204, 471, 501, 230, + 449, 0, 0, 543, 206, 499, 468, 368, 307, 308, + 205, 0, 425, 256, 280, 246, 389, 496, 497, 244, + 544, 219, 521, 211, 0, 520, 382, 491, 500, 369, + 358, 210, 498, 367, 357, 313, 332, 333, 268, 291, + 418, 351, 419, 292, 378, 377, 379, 199, 510, 0, + 200, 0, 464, 511, 545, 225, 226, 228, 0, 267, + 271, 279, 281, 287, 288, 296, 344, 393, 417, 415, + 421, 0, 486, 504, 515, 525, 531, 532, 534, 535, + 536, 537, 538, 540, 539, 381, 294, 460, 312, 349, + 0, 0, 399, 438, 231, 508, 461, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 546, 547, + 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, + 558, 559, 560, 561, 562, 563, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 564, 359, 451, 505, 314, + 326, 329, 319, 338, 0, 339, 315, 316, 321, 323, + 324, 325, 330, 331, 335, 341, 239, 202, 365, 373, + 485, 295, 207, 208, 209, 478, 479, 480, 481, 518, + 519, 523, 430, 431, 432, 433, 0, 191, 212, 345, + 0, 422, 276, 542, 517, 513, 198, 214, 0, 250, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 193, 194, 201, 213, 223, 227, 234, 249, 264, + 266, 273, 285, 290, 293, 299, 300, 303, 309, 355, + 361, 362, 363, 364, 383, 384, 385, 388, 391, 392, + 395, 397, 398, 401, 405, 409, 410, 411, 412, 414, + 416, 423, 428, 440, 441, 442, 443, 444, 447, 448, + 453, 454, 455, 456, 457, 465, 466, 470, 493, 495, + 507, 524, 529, 446, 286, 502, 530, 0, 354, 0, + 0, 356, 269, 289, 301, 0, 516, 467, 218, 434, + 278, 241, 0, 0, 203, 237, 221, 247, 262, 265, + 305, 366, 374, 403, 408, 283, 259, 235, 427, 232, + 450, 473, 474, 475, 477, 370, 254, 407, 0, 371, + 352, 483, 484, 297, 482, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 390, 0, 0, 0, + 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, + 343, 255, 0, 0, 404, 0, 197, 0, 452, 242, + 353, 350, 490, 270, 261, 257, 240, 298, 360, 402, + 472, 396, 0, 347, 0, 0, 462, 375, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 304, 238, 306, 196, 387, 463, 274, + 0, 0, 0, 0, 188, 189, 190, 0, 1223, 0, + 0, 0, 0, 0, 0, 0, 0, 229, 0, 236, + 328, 337, 336, 317, 318, 320, 322, 327, 334, 340, + 0, 0, 0, 0, 0, 253, 302, 260, 252, 487, + 0, 0, 0, 0, 0, 0, 0, 220, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 284, 0, 376, 245, 0, 0, 0, + 0, 526, 0, 0, 0, 0, 0, 0, 0, 342, + 0, 311, 192, 216, 0, 0, 386, 429, 439, 0, + 0, 0, 243, 0, 437, 400, 506, 224, 272, 426, + 406, 435, 413, 275, 0, 0, 436, 348, 492, 420, + 503, 527, 528, 251, 380, 514, 476, 522, 541, 217, + 248, 394, 469, 509, 459, 372, 488, 489, 310, 458, + 282, 195, 346, 533, 215, 445, 233, 222, 494, 512, + 277, 424, 204, 471, 501, 230, 449, 0, 0, 543, + 206, 499, 468, 368, 307, 308, 205, 0, 425, 256, + 280, 246, 389, 496, 497, 244, 544, 219, 521, 211, + 0, 520, 382, 491, 500, 369, 358, 210, 498, 367, + 357, 313, 332, 333, 268, 291, 418, 351, 419, 292, + 378, 377, 379, 199, 510, 0, 200, 0, 464, 511, + 545, 225, 226, 228, 0, 267, 271, 279, 281, 287, + 288, 296, 344, 393, 417, 415, 421, 0, 486, 504, + 515, 525, 531, 532, 534, 535, 536, 537, 538, 540, + 539, 381, 294, 460, 312, 349, 0, 0, 399, 438, + 231, 508, 461, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 546, 547, 548, 549, 550, 551, + 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, + 562, 563, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 564, 359, 451, 505, 314, 326, 329, 319, 338, + 0, 339, 315, 316, 321, 323, 324, 325, 330, 331, + 335, 341, 239, 202, 365, 373, 485, 295, 207, 208, + 209, 478, 479, 480, 481, 518, 519, 523, 430, 431, + 432, 433, 0, 191, 212, 345, 0, 422, 276, 542, + 517, 513, 198, 214, 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, - 210, 220, 224, 231, 246, 261, 263, 270, 282, 287, - 290, 296, 297, 300, 306, 352, 358, 359, 360, 361, - 380, 381, 382, 385, 388, 389, 392, 394, 395, 398, - 402, 406, 407, 408, 409, 411, 413, 420, 425, 437, - 438, 439, 440, 441, 444, 445, 450, 451, 452, 453, - 454, 462, 463, 467, 486, 488, 500, 514, 519, 443, - 283, 495, 520, 0, 351, 0, 0, 353, 266, 286, - 298, 0, 509, 464, 215, 431, 275, 238, 0, 0, - 203, 234, 218, 244, 259, 262, 302, 363, 371, 400, - 405, 280, 256, 232, 424, 229, 447, 470, 471, 472, - 474, 367, 251, 404, 0, 368, 349, 476, 477, 294, - 475, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 387, 0, 0, 0, 0, 0, 0, 0, - 0, 255, 0, 0, 0, 0, 340, 252, 0, 0, - 401, 0, 197, 0, 449, 239, 350, 347, 483, 267, - 258, 254, 237, 295, 357, 399, 469, 393, 0, 344, - 0, 0, 459, 372, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, - 235, 303, 196, 384, 460, 271, 0, 0, 0, 0, + 213, 223, 227, 234, 249, 264, 266, 273, 285, 290, + 293, 299, 300, 303, 309, 355, 361, 362, 363, 364, + 383, 384, 385, 388, 391, 392, 395, 397, 398, 401, + 405, 409, 410, 411, 412, 414, 416, 423, 428, 440, + 441, 442, 443, 444, 447, 448, 453, 454, 455, 456, + 457, 465, 466, 470, 493, 495, 507, 524, 529, 446, + 286, 502, 530, 0, 354, 0, 0, 356, 269, 289, + 301, 0, 516, 467, 218, 434, 278, 241, 0, 0, + 203, 237, 221, 247, 262, 265, 305, 366, 374, 403, + 408, 283, 259, 235, 427, 232, 450, 473, 474, 475, + 477, 370, 254, 407, 0, 371, 352, 483, 484, 297, + 482, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 390, 0, 0, 0, 0, 0, 0, 0, + 0, 258, 0, 0, 0, 0, 343, 255, 0, 0, + 404, 0, 197, 0, 452, 242, 353, 350, 490, 270, + 261, 257, 240, 298, 360, 402, 472, 396, 0, 347, + 0, 0, 462, 375, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, + 238, 306, 196, 387, 463, 274, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 226, 0, 233, 325, 334, 333, 314, - 315, 317, 319, 324, 331, 337, 0, 0, 0, 0, - 0, 250, 299, 257, 249, 480, 0, 0, 0, 0, - 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 260, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 281, - 0, 373, 242, 0, 0, 0, 0, 516, 0, 0, - 0, 0, 0, 0, 0, 339, 0, 308, 192, 213, - 0, 0, 383, 426, 436, 0, 0, 0, 240, 0, - 434, 397, 499, 221, 269, 423, 403, 432, 410, 272, - 0, 0, 433, 345, 485, 417, 496, 517, 518, 248, - 377, 507, 473, 513, 531, 214, 245, 391, 466, 502, - 456, 369, 481, 482, 307, 455, 279, 195, 343, 523, - 212, 442, 230, 219, 487, 505, 274, 421, 204, 468, - 494, 227, 446, 0, 0, 533, 206, 492, 465, 365, - 304, 305, 205, 0, 422, 253, 277, 243, 386, 489, - 490, 241, 534, 216, 512, 208, 0, 511, 379, 484, - 493, 366, 355, 207, 491, 364, 354, 310, 329, 330, - 265, 288, 415, 348, 416, 289, 375, 374, 376, 199, - 503, 0, 200, 0, 461, 504, 535, 222, 223, 225, - 0, 264, 268, 276, 278, 284, 285, 293, 341, 390, - 414, 412, 418, 0, 479, 497, 508, 515, 521, 522, - 524, 525, 526, 527, 528, 530, 529, 378, 291, 457, - 309, 346, 0, 0, 396, 435, 228, 501, 458, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, - 546, 547, 548, 549, 550, 551, 552, 553, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 554, 356, 448, - 498, 311, 323, 326, 316, 335, 0, 336, 312, 313, - 318, 320, 321, 322, 327, 328, 332, 338, 236, 202, - 362, 370, 478, 292, 427, 428, 429, 430, 0, 191, - 209, 342, 0, 419, 273, 532, 510, 506, 198, 211, - 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 815, - 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, - 246, 261, 263, 270, 282, 287, 290, 296, 297, 300, - 306, 352, 358, 359, 360, 361, 380, 381, 382, 385, - 388, 389, 392, 394, 395, 398, 402, 406, 407, 408, - 409, 411, 413, 420, 425, 437, 438, 439, 440, 441, - 444, 445, 450, 451, 452, 453, 454, 462, 463, 467, - 486, 488, 500, 514, 519, 443, 283, 495, 520, 0, - 351, 0, 0, 353, 266, 286, 298, 0, 509, 464, - 215, 431, 275, 238, 0, 0, 203, 234, 218, 244, - 259, 262, 302, 363, 371, 400, 405, 280, 256, 232, - 424, 229, 447, 470, 471, 472, 474, 367, 251, 404, - 0, 368, 349, 476, 477, 294, 475, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 387, 0, - 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, - 0, 0, 340, 252, 0, 0, 401, 0, 197, 0, - 449, 239, 350, 347, 483, 267, 258, 254, 237, 295, - 357, 399, 469, 393, 0, 344, 0, 0, 459, 372, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 301, 235, 303, 196, 384, - 460, 271, 0, 0, 0, 0, 188, 189, 190, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, - 0, 233, 325, 334, 333, 314, 315, 317, 319, 324, - 331, 337, 0, 0, 0, 0, 0, 250, 299, 257, - 249, 480, 0, 0, 0, 0, 0, 0, 0, 217, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 260, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 611, 0, 281, 0, 373, 242, 0, - 0, 0, 0, 516, 0, 0, 0, 0, 0, 0, - 0, 339, 0, 308, 192, 213, 0, 0, 383, 426, - 436, 0, 0, 0, 240, 0, 434, 397, 499, 221, - 269, 423, 403, 432, 410, 272, 0, 0, 433, 345, - 485, 417, 496, 517, 518, 248, 377, 507, 473, 513, - 531, 214, 245, 391, 466, 502, 456, 369, 481, 482, - 307, 455, 279, 195, 343, 523, 212, 442, 230, 219, - 487, 505, 274, 421, 204, 468, 494, 227, 446, 0, - 0, 533, 206, 492, 465, 365, 304, 305, 205, 0, - 422, 253, 277, 243, 386, 489, 490, 241, 534, 216, - 512, 208, 0, 511, 379, 484, 493, 366, 355, 207, - 491, 364, 354, 310, 329, 330, 265, 288, 415, 348, - 416, 289, 375, 374, 376, 199, 503, 0, 200, 0, - 461, 504, 535, 222, 223, 225, 0, 264, 268, 276, - 278, 284, 285, 293, 341, 390, 414, 412, 418, 0, - 479, 497, 508, 515, 521, 522, 524, 525, 526, 527, - 528, 530, 529, 378, 291, 457, 309, 346, 0, 0, - 396, 435, 228, 501, 458, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, - 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 554, 356, 448, 498, 311, 323, 326, - 316, 335, 0, 336, 312, 313, 318, 320, 321, 322, - 327, 328, 332, 338, 236, 202, 362, 370, 478, 292, - 427, 428, 429, 430, 0, 191, 209, 342, 0, 419, - 273, 532, 510, 506, 198, 211, 0, 247, 0, 0, + 0, 0, 0, 229, 0, 236, 328, 337, 336, 317, + 318, 320, 322, 327, 334, 340, 0, 0, 0, 0, + 0, 253, 302, 260, 252, 487, 0, 0, 0, 0, + 0, 0, 0, 220, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 284, + 0, 376, 245, 0, 0, 0, 0, 526, 0, 0, + 0, 0, 0, 0, 0, 342, 0, 311, 192, 216, + 0, 0, 386, 429, 439, 0, 0, 0, 243, 0, + 437, 400, 506, 224, 272, 426, 406, 435, 413, 275, + 0, 0, 436, 348, 492, 420, 503, 527, 528, 251, + 380, 514, 476, 522, 541, 217, 248, 394, 469, 509, + 459, 372, 488, 489, 310, 458, 282, 195, 346, 533, + 215, 445, 233, 222, 494, 512, 277, 424, 204, 471, + 501, 230, 449, 0, 0, 543, 206, 499, 468, 368, + 307, 308, 205, 0, 425, 256, 280, 246, 389, 496, + 497, 244, 544, 219, 521, 211, 0, 520, 382, 491, + 500, 369, 358, 210, 498, 367, 357, 313, 332, 333, + 268, 291, 418, 351, 419, 292, 378, 377, 379, 199, + 510, 0, 200, 0, 464, 511, 545, 225, 226, 228, + 0, 267, 271, 279, 281, 287, 288, 296, 344, 393, + 417, 415, 421, 0, 486, 504, 515, 525, 531, 532, + 534, 535, 536, 537, 538, 540, 539, 381, 294, 460, + 312, 349, 0, 0, 399, 438, 231, 508, 461, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, + 556, 557, 558, 559, 560, 561, 562, 563, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 564, 359, 451, + 505, 314, 326, 329, 319, 338, 0, 339, 315, 316, + 321, 323, 324, 325, 330, 331, 335, 341, 239, 202, + 365, 373, 485, 295, 207, 208, 209, 478, 479, 480, + 481, 518, 519, 523, 430, 431, 432, 433, 0, 191, + 212, 345, 0, 422, 276, 542, 517, 513, 198, 214, + 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 835, + 0, 0, 0, 193, 194, 201, 213, 223, 227, 234, + 249, 264, 266, 273, 285, 290, 293, 299, 300, 303, + 309, 355, 361, 362, 363, 364, 383, 384, 385, 388, + 391, 392, 395, 397, 398, 401, 405, 409, 410, 411, + 412, 414, 416, 423, 428, 440, 441, 442, 443, 444, + 447, 448, 453, 454, 455, 456, 457, 465, 466, 470, + 493, 495, 507, 524, 529, 446, 286, 502, 530, 0, + 354, 0, 0, 356, 269, 289, 301, 0, 516, 467, + 218, 434, 278, 241, 0, 0, 203, 237, 221, 247, + 262, 265, 305, 366, 374, 403, 408, 283, 259, 235, + 427, 232, 450, 473, 474, 475, 477, 370, 254, 407, + 0, 371, 352, 483, 484, 297, 482, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, + 0, 0, 343, 255, 0, 0, 404, 0, 197, 0, + 452, 242, 353, 350, 490, 270, 261, 257, 240, 298, + 360, 402, 472, 396, 0, 347, 0, 0, 462, 375, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 304, 238, 306, 196, 387, + 463, 274, 0, 0, 0, 0, 188, 189, 190, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 229, + 0, 236, 328, 337, 336, 317, 318, 320, 322, 327, + 334, 340, 0, 0, 0, 0, 0, 253, 302, 260, + 252, 487, 0, 0, 0, 0, 0, 0, 0, 220, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 621, 0, 284, 0, 376, 245, 0, + 0, 0, 0, 526, 0, 0, 0, 0, 0, 0, + 0, 342, 0, 311, 192, 216, 0, 0, 386, 429, + 439, 0, 0, 0, 243, 0, 437, 400, 506, 224, + 272, 426, 406, 435, 413, 275, 0, 0, 436, 348, + 492, 420, 503, 527, 528, 251, 380, 514, 476, 522, + 541, 217, 248, 394, 469, 509, 459, 372, 488, 489, + 310, 458, 282, 195, 346, 533, 215, 445, 233, 222, + 494, 512, 277, 424, 204, 471, 501, 230, 449, 0, + 0, 543, 206, 499, 468, 368, 307, 308, 205, 0, + 425, 256, 280, 246, 389, 496, 497, 244, 544, 219, + 521, 211, 0, 520, 382, 491, 500, 369, 358, 210, + 498, 367, 357, 313, 332, 333, 268, 291, 418, 351, + 419, 292, 378, 377, 379, 199, 510, 0, 200, 0, + 464, 511, 545, 225, 226, 228, 0, 267, 271, 279, + 281, 287, 288, 296, 344, 393, 417, 415, 421, 0, + 486, 504, 515, 525, 531, 532, 534, 535, 536, 537, + 538, 540, 539, 381, 294, 460, 312, 349, 0, 0, + 399, 438, 231, 508, 461, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 546, 547, 548, 549, + 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, + 560, 561, 562, 563, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 564, 359, 451, 505, 314, 326, 329, + 319, 338, 0, 339, 315, 316, 321, 323, 324, 325, + 330, 331, 335, 341, 239, 202, 365, 373, 485, 295, + 207, 208, 209, 478, 479, 480, 481, 518, 519, 523, + 430, 431, 432, 433, 0, 191, 212, 345, 0, 422, + 276, 542, 517, 513, 198, 214, 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 194, 201, 210, 220, 224, 231, 246, 261, 263, 270, - 282, 287, 290, 296, 297, 300, 306, 352, 358, 359, - 360, 361, 380, 381, 382, 385, 388, 389, 392, 394, - 395, 398, 402, 406, 407, 408, 409, 411, 413, 420, - 425, 437, 438, 439, 440, 441, 444, 445, 450, 451, - 452, 453, 454, 462, 463, 467, 486, 488, 500, 514, - 519, 443, 610, 495, 520, 0, 351, 0, 0, 353, - 266, 286, 298, 0, 509, 464, 215, 431, 275, 238, - 0, 0, 203, 234, 218, 244, 259, 262, 302, 363, - 371, 400, 405, 280, 256, 232, 424, 229, 447, 470, - 471, 472, 474, 367, 251, 404, 0, 368, 349, 476, - 477, 294, 475, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 387, 0, 0, 0, 0, 0, - 0, 0, 0, 255, 0, 0, 0, 0, 340, 252, - 0, 0, 401, 0, 197, 0, 449, 239, 350, 347, - 483, 267, 258, 254, 237, 295, 357, 399, 469, 393, - 0, 344, 0, 0, 459, 372, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 301, 235, 303, 196, 384, 460, 271, 0, 0, + 194, 201, 213, 223, 227, 234, 249, 264, 266, 273, + 285, 290, 293, 299, 300, 303, 309, 355, 361, 362, + 363, 364, 383, 384, 385, 388, 391, 392, 395, 397, + 398, 401, 405, 409, 410, 411, 412, 414, 416, 423, + 428, 440, 441, 442, 443, 444, 447, 448, 453, 454, + 455, 456, 457, 465, 466, 470, 493, 495, 507, 524, + 529, 446, 620, 502, 530, 0, 354, 0, 0, 356, + 269, 289, 301, 0, 516, 467, 218, 434, 278, 241, + 0, 0, 203, 237, 221, 247, 262, 265, 305, 366, + 374, 403, 408, 283, 259, 235, 427, 232, 450, 473, + 474, 475, 477, 370, 254, 407, 0, 371, 352, 483, + 484, 297, 482, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 390, 0, 0, 0, 0, 0, + 0, 0, 0, 258, 0, 0, 0, 0, 343, 255, + 0, 0, 404, 0, 197, 0, 452, 242, 353, 350, + 490, 270, 261, 257, 240, 298, 360, 402, 472, 396, + 0, 347, 0, 0, 462, 375, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 304, 238, 306, 196, 387, 463, 274, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 226, 0, 233, 325, 334, - 333, 314, 315, 317, 319, 324, 331, 337, 0, 0, - 0, 0, 0, 250, 299, 257, 249, 480, 0, 0, - 0, 0, 0, 0, 0, 217, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 281, 0, 373, 242, 0, 0, 557, 0, 516, - 0, 0, 0, 0, 0, 0, 0, 339, 0, 308, - 192, 213, 0, 0, 383, 426, 436, 0, 0, 0, - 240, 0, 434, 397, 499, 221, 269, 423, 403, 432, - 410, 272, 0, 0, 433, 345, 485, 417, 496, 517, - 518, 248, 377, 507, 473, 513, 531, 214, 245, 391, - 466, 502, 456, 369, 481, 482, 307, 455, 279, 195, - 343, 523, 212, 442, 230, 219, 487, 505, 274, 421, - 204, 468, 494, 227, 446, 0, 0, 533, 206, 492, - 465, 365, 304, 305, 205, 0, 422, 253, 277, 243, - 386, 489, 490, 241, 534, 216, 512, 208, 0, 511, - 379, 484, 493, 366, 355, 207, 491, 364, 354, 310, - 329, 330, 265, 288, 415, 348, 416, 289, 375, 374, - 376, 199, 503, 0, 200, 0, 461, 504, 535, 222, - 223, 225, 0, 264, 268, 276, 278, 284, 285, 293, - 341, 390, 414, 412, 418, 0, 479, 497, 508, 515, - 521, 522, 524, 525, 526, 527, 528, 530, 529, 378, - 291, 457, 309, 346, 0, 0, 396, 435, 228, 501, - 458, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 536, 537, 538, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 554, - 356, 448, 498, 311, 323, 326, 316, 335, 0, 336, - 312, 313, 318, 320, 321, 322, 327, 328, 332, 338, - 236, 202, 362, 370, 478, 292, 427, 428, 429, 430, - 0, 191, 209, 342, 0, 419, 273, 532, 510, 506, - 198, 211, 0, 247, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 193, 194, 201, 210, 220, - 224, 231, 246, 261, 263, 270, 282, 287, 290, 296, - 297, 300, 306, 352, 358, 359, 360, 361, 380, 381, - 382, 385, 388, 389, 392, 394, 395, 398, 402, 406, - 407, 408, 409, 411, 413, 420, 425, 437, 438, 439, - 440, 441, 444, 445, 450, 451, 452, 453, 454, 462, - 463, 467, 486, 488, 500, 514, 519, 443, 283, 495, - 520, 0, 351, 0, 0, 353, 266, 286, 298, 0, - 509, 464, 215, 431, 275, 238, 0, 0, 203, 234, - 218, 244, 259, 262, 302, 363, 371, 400, 405, 280, - 256, 232, 424, 229, 447, 470, 471, 472, 474, 367, - 251, 404, 0, 368, 349, 476, 477, 294, 475, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 387, 0, 0, 0, 0, 0, 0, 0, 0, 255, - 0, 0, 0, 0, 340, 252, 0, 0, 401, 0, - 197, 0, 449, 239, 350, 347, 483, 267, 258, 254, - 237, 295, 357, 399, 469, 393, 0, 344, 0, 0, - 459, 372, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 301, 235, 303, - 196, 384, 460, 271, 0, 0, 0, 0, 188, 189, + 0, 0, 0, 0, 0, 229, 0, 236, 328, 337, + 336, 317, 318, 320, 322, 327, 334, 340, 0, 0, + 0, 0, 0, 253, 302, 260, 252, 487, 0, 0, + 0, 0, 0, 0, 0, 220, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 284, 0, 376, 245, 0, 0, 567, 0, 526, + 0, 0, 0, 0, 0, 0, 0, 342, 0, 311, + 192, 216, 0, 0, 386, 429, 439, 0, 0, 0, + 243, 0, 437, 400, 506, 224, 272, 426, 406, 435, + 413, 275, 0, 0, 436, 348, 492, 420, 503, 527, + 528, 251, 380, 514, 476, 522, 541, 217, 248, 394, + 469, 509, 459, 372, 488, 489, 310, 458, 282, 195, + 346, 533, 215, 445, 233, 222, 494, 512, 277, 424, + 204, 471, 501, 230, 449, 0, 0, 543, 206, 499, + 468, 368, 307, 308, 205, 0, 425, 256, 280, 246, + 389, 496, 497, 244, 544, 219, 521, 211, 0, 520, + 382, 491, 500, 369, 358, 210, 498, 367, 357, 313, + 332, 333, 268, 291, 418, 351, 419, 292, 378, 377, + 379, 199, 510, 0, 200, 0, 464, 511, 545, 225, + 226, 228, 0, 267, 271, 279, 281, 287, 288, 296, + 344, 393, 417, 415, 421, 0, 486, 504, 515, 525, + 531, 532, 534, 535, 536, 537, 538, 540, 539, 381, + 294, 460, 312, 349, 0, 0, 399, 438, 231, 508, + 461, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 546, 547, 548, 549, 550, 551, 552, 553, + 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 564, + 359, 451, 505, 314, 326, 329, 319, 338, 0, 339, + 315, 316, 321, 323, 324, 325, 330, 331, 335, 341, + 239, 202, 365, 373, 485, 295, 207, 208, 209, 478, + 479, 480, 481, 518, 519, 523, 430, 431, 432, 433, + 0, 191, 212, 345, 0, 422, 276, 542, 517, 513, + 198, 214, 0, 250, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 193, 194, 201, 213, 223, + 227, 234, 249, 264, 266, 273, 285, 290, 293, 299, + 300, 303, 309, 355, 361, 362, 363, 364, 383, 384, + 385, 388, 391, 392, 395, 397, 398, 401, 405, 409, + 410, 411, 412, 414, 416, 423, 428, 440, 441, 442, + 443, 444, 447, 448, 453, 454, 455, 456, 457, 465, + 466, 470, 493, 495, 507, 524, 529, 446, 286, 502, + 530, 0, 354, 0, 0, 356, 269, 289, 301, 0, + 516, 467, 218, 434, 278, 241, 0, 0, 203, 237, + 221, 247, 262, 265, 305, 366, 374, 403, 408, 283, + 259, 235, 427, 232, 450, 473, 474, 475, 477, 370, + 254, 407, 0, 371, 352, 483, 484, 297, 482, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 390, 0, 0, 0, 0, 0, 0, 0, 0, 258, + 0, 0, 0, 0, 343, 255, 0, 0, 404, 0, + 197, 0, 452, 242, 353, 350, 490, 270, 261, 257, + 240, 298, 360, 402, 472, 396, 0, 347, 0, 0, + 462, 375, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 304, 238, 306, + 196, 387, 463, 274, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 226, 0, 233, 325, 334, 333, 314, 315, 317, - 319, 324, 331, 337, 0, 0, 0, 0, 0, 250, - 299, 257, 249, 480, 0, 0, 0, 0, 0, 0, - 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 260, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 281, 0, 373, - 242, 0, 0, 0, 0, 516, 0, 0, 0, 0, - 0, 0, 0, 339, 0, 308, 192, 213, 0, 0, - 383, 426, 436, 0, 0, 0, 240, 0, 434, 397, - 499, 221, 269, 423, 403, 432, 410, 272, 0, 0, - 433, 345, 485, 417, 496, 517, 518, 248, 377, 507, - 473, 513, 531, 214, 245, 391, 466, 502, 456, 369, - 481, 482, 307, 455, 279, 195, 343, 523, 212, 442, - 230, 219, 487, 505, 274, 421, 204, 468, 494, 227, - 446, 0, 0, 533, 206, 492, 465, 365, 304, 305, - 205, 0, 422, 253, 277, 243, 386, 489, 490, 241, - 534, 216, 512, 208, 0, 511, 379, 484, 493, 366, - 355, 207, 491, 364, 354, 310, 329, 330, 265, 288, - 415, 348, 416, 289, 375, 374, 376, 199, 503, 0, - 200, 0, 461, 504, 535, 222, 223, 225, 0, 264, - 268, 276, 278, 284, 285, 293, 341, 390, 414, 412, - 418, 0, 479, 497, 508, 515, 521, 522, 524, 525, - 526, 527, 528, 530, 529, 378, 291, 457, 309, 346, - 0, 0, 396, 435, 228, 501, 458, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 536, 537, - 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 552, 553, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 554, 356, 448, 498, 311, - 323, 326, 316, 335, 0, 336, 312, 313, 318, 320, - 321, 322, 327, 328, 332, 338, 236, 202, 362, 370, - 478, 292, 427, 428, 429, 430, 0, 191, 209, 342, - 0, 419, 273, 532, 510, 506, 198, 211, 0, 247, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 193, 194, 201, 210, 220, 224, 231, 246, 261, - 263, 270, 282, 287, 290, 296, 297, 300, 306, 352, - 358, 359, 360, 361, 3185, 381, 382, 385, 388, 389, - 392, 394, 395, 398, 402, 406, 407, 408, 409, 411, - 413, 420, 425, 437, 438, 439, 440, 441, 444, 445, - 450, 451, 452, 453, 454, 462, 463, 467, 486, 488, - 500, 514, 519, 443, 283, 495, 520, 0, 351, 0, - 0, 353, 266, 286, 298, 0, 509, 464, 215, 431, - 275, 238, 0, 0, 203, 234, 218, 244, 259, 262, - 302, 363, 371, 400, 405, 280, 256, 232, 424, 229, - 447, 470, 471, 472, 474, 367, 251, 404, 0, 368, - 349, 476, 477, 294, 475, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 387, 0, 0, 0, - 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, - 340, 252, 0, 0, 401, 0, 197, 0, 449, 239, - 350, 347, 483, 267, 258, 254, 237, 295, 357, 399, - 469, 393, 0, 344, 0, 0, 459, 372, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 301, 235, 303, 196, 384, 460, 271, + 0, 229, 0, 236, 328, 337, 336, 317, 318, 320, + 322, 327, 334, 340, 0, 0, 0, 0, 0, 253, + 302, 260, 252, 487, 0, 0, 0, 0, 0, 0, + 0, 220, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 284, 0, 376, + 245, 0, 0, 0, 0, 526, 0, 0, 0, 0, + 0, 0, 0, 342, 0, 311, 192, 216, 0, 0, + 386, 429, 439, 0, 0, 0, 243, 0, 437, 400, + 506, 224, 272, 426, 406, 435, 413, 275, 0, 0, + 436, 348, 492, 420, 503, 527, 528, 251, 380, 514, + 476, 522, 541, 217, 248, 394, 469, 509, 459, 372, + 488, 489, 310, 458, 282, 195, 346, 533, 215, 445, + 233, 222, 494, 512, 277, 424, 204, 471, 501, 230, + 449, 0, 0, 543, 206, 499, 468, 368, 307, 308, + 205, 0, 425, 256, 280, 246, 389, 496, 497, 244, + 544, 219, 521, 211, 0, 520, 382, 491, 500, 369, + 358, 210, 498, 367, 357, 313, 332, 333, 268, 291, + 418, 351, 419, 292, 378, 377, 379, 199, 510, 0, + 200, 0, 464, 511, 545, 225, 226, 228, 0, 267, + 271, 279, 281, 287, 288, 296, 344, 393, 417, 415, + 421, 0, 486, 504, 515, 525, 531, 532, 534, 535, + 536, 537, 538, 540, 539, 381, 294, 460, 312, 349, + 0, 0, 399, 438, 231, 508, 461, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 546, 547, + 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, + 558, 559, 560, 561, 562, 563, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 564, 359, 451, 505, 314, + 326, 329, 319, 338, 0, 339, 315, 316, 321, 323, + 324, 325, 330, 331, 335, 341, 239, 202, 365, 373, + 485, 295, 207, 208, 209, 478, 479, 480, 481, 518, + 519, 523, 430, 431, 432, 433, 0, 191, 212, 345, + 0, 422, 276, 542, 517, 513, 198, 214, 0, 250, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 193, 194, 201, 213, 223, 227, 234, 249, 264, + 266, 273, 285, 290, 293, 299, 300, 303, 309, 355, + 361, 362, 363, 364, 3245, 384, 385, 388, 391, 392, + 395, 397, 398, 401, 405, 409, 410, 411, 412, 414, + 416, 423, 428, 440, 441, 442, 443, 444, 447, 448, + 453, 454, 455, 456, 457, 465, 466, 470, 493, 495, + 507, 524, 529, 446, 286, 502, 530, 0, 354, 0, + 0, 356, 269, 289, 301, 0, 516, 467, 218, 434, + 278, 241, 0, 0, 203, 237, 221, 247, 262, 265, + 305, 366, 374, 403, 408, 283, 259, 235, 427, 232, + 450, 473, 474, 475, 477, 370, 254, 407, 0, 371, + 352, 483, 484, 297, 482, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 390, 0, 0, 0, + 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, + 343, 255, 0, 0, 404, 0, 197, 0, 452, 242, + 353, 350, 490, 270, 261, 257, 240, 298, 360, 402, + 472, 396, 0, 347, 0, 0, 462, 375, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 304, 238, 306, 196, 387, 463, 274, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 226, 0, 233, - 325, 334, 333, 314, 315, 317, 319, 324, 331, 337, - 0, 0, 0, 0, 0, 250, 299, 257, 249, 480, - 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 260, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 281, 0, 373, 242, 0, 0, 0, - 0, 516, 0, 0, 0, 0, 0, 0, 0, 339, - 0, 308, 192, 213, 0, 0, 383, 426, 436, 0, - 0, 0, 240, 0, 434, 397, 499, 221, 269, 423, - 403, 432, 410, 272, 0, 0, 433, 345, 485, 417, - 496, 517, 518, 248, 377, 507, 473, 513, 531, 214, - 245, 391, 466, 502, 456, 369, 481, 482, 307, 455, - 279, 195, 343, 523, 212, 442, 230, 219, 487, 505, - 274, 421, 204, 468, 494, 227, 446, 0, 0, 533, - 206, 492, 465, 365, 304, 305, 205, 0, 422, 253, - 277, 243, 386, 489, 490, 241, 534, 216, 512, 208, - 0, 511, 379, 484, 493, 366, 355, 207, 491, 364, - 354, 310, 329, 330, 265, 288, 415, 348, 416, 289, - 375, 374, 376, 199, 503, 0, 200, 0, 461, 504, - 535, 222, 223, 225, 0, 264, 268, 276, 278, 284, - 285, 293, 341, 390, 414, 412, 418, 0, 479, 497, - 508, 515, 521, 522, 524, 525, 526, 527, 528, 530, - 529, 378, 291, 457, 309, 346, 0, 0, 396, 435, - 228, 501, 458, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 536, 537, 538, 539, 540, 541, - 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, - 552, 553, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 554, 356, 448, 498, 311, 323, 326, 316, 335, - 0, 336, 312, 313, 318, 320, 321, 322, 327, 328, - 332, 338, 236, 202, 362, 370, 478, 292, 427, 428, - 429, 430, 0, 191, 209, 342, 0, 419, 273, 532, - 510, 506, 198, 211, 0, 247, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 229, 0, 236, + 328, 337, 336, 317, 318, 320, 322, 327, 334, 340, + 0, 0, 0, 0, 0, 253, 302, 260, 252, 487, + 0, 0, 0, 0, 0, 0, 0, 220, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 284, 0, 376, 245, 0, 0, 0, + 0, 526, 0, 0, 0, 0, 0, 0, 0, 342, + 0, 311, 192, 216, 0, 0, 386, 429, 439, 0, + 0, 0, 243, 0, 437, 400, 506, 224, 272, 426, + 406, 435, 413, 275, 0, 0, 436, 348, 492, 420, + 503, 527, 528, 251, 380, 514, 476, 522, 541, 217, + 248, 394, 469, 509, 459, 372, 488, 489, 310, 458, + 282, 195, 346, 533, 215, 445, 233, 222, 494, 512, + 277, 424, 204, 471, 501, 230, 449, 0, 0, 543, + 206, 499, 468, 368, 307, 308, 205, 0, 425, 256, + 280, 246, 389, 496, 497, 244, 544, 219, 521, 211, + 0, 520, 382, 491, 500, 369, 358, 210, 498, 367, + 357, 313, 332, 333, 268, 291, 418, 351, 419, 292, + 378, 377, 379, 199, 510, 0, 200, 0, 464, 511, + 545, 225, 226, 228, 0, 267, 271, 279, 281, 287, + 288, 296, 344, 393, 417, 415, 421, 0, 486, 504, + 515, 525, 531, 532, 534, 535, 536, 537, 538, 540, + 539, 381, 294, 460, 312, 349, 0, 0, 399, 438, + 231, 508, 461, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 546, 547, 548, 549, 550, 551, + 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, + 562, 563, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 564, 359, 451, 505, 314, 326, 329, 319, 338, + 0, 339, 315, 316, 321, 323, 324, 325, 330, 331, + 335, 341, 239, 202, 365, 373, 485, 295, 207, 208, + 209, 478, 479, 480, 481, 518, 519, 523, 430, 431, + 432, 433, 0, 191, 212, 345, 0, 422, 276, 542, + 517, 513, 198, 214, 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, - 210, 220, 224, 231, 246, 261, 263, 270, 282, 287, - 290, 296, 297, 300, 306, 352, 358, 359, 360, 361, - 380, 381, 382, 385, 388, 389, 392, 394, 395, 398, - 402, 406, 407, 408, 409, 411, 413, 420, 425, 437, - 438, 439, 440, 441, 444, 445, 450, 451, 452, 453, - 454, 462, 463, 467, 486, 488, 500, 514, 519, 443, - 283, 495, 520, 0, 351, 0, 0, 353, 266, 286, - 298, 0, 509, 464, 215, 431, 275, 238, 0, 0, - 203, 234, 218, 244, 259, 262, 302, 363, 371, 400, - 405, 280, 256, 232, 424, 229, 447, 470, 471, 472, - 474, 367, 251, 404, 0, 368, 349, 476, 477, 294, - 475, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 387, 0, 0, 0, 0, 0, 0, 0, - 0, 255, 0, 0, 0, 0, 340, 252, 0, 0, - 401, 0, 197, 0, 449, 239, 350, 347, 483, 267, - 258, 254, 237, 295, 357, 399, 469, 393, 0, 344, - 0, 0, 459, 372, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, - 235, 303, 196, 384, 460, 271, 0, 0, 0, 0, - 188, 2735, 190, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 226, 0, 233, 325, 334, 333, 314, - 315, 317, 319, 324, 331, 337, 0, 0, 0, 0, - 0, 250, 299, 257, 249, 480, 0, 0, 0, 0, - 0, 0, 0, 217, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 260, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 281, - 0, 373, 242, 0, 0, 0, 0, 516, 0, 0, - 0, 0, 0, 0, 0, 339, 0, 308, 192, 213, - 0, 0, 383, 426, 436, 0, 0, 0, 240, 0, - 434, 397, 499, 221, 269, 423, 403, 432, 410, 272, - 0, 0, 433, 345, 485, 417, 496, 517, 518, 248, - 377, 507, 473, 513, 531, 214, 245, 391, 466, 502, - 456, 369, 481, 482, 307, 455, 279, 195, 343, 523, - 212, 442, 230, 219, 487, 505, 274, 421, 204, 468, - 494, 227, 446, 0, 0, 533, 206, 492, 465, 365, - 304, 305, 205, 0, 422, 253, 277, 243, 386, 489, - 490, 241, 534, 216, 512, 208, 0, 511, 379, 484, - 493, 366, 355, 207, 491, 364, 354, 310, 329, 330, - 265, 288, 415, 348, 416, 289, 375, 374, 376, 199, - 503, 0, 200, 0, 461, 504, 535, 222, 223, 225, - 0, 264, 268, 276, 278, 284, 285, 293, 341, 390, - 414, 412, 418, 0, 479, 497, 508, 515, 521, 522, - 524, 525, 526, 527, 528, 530, 529, 378, 291, 457, - 309, 346, 0, 0, 396, 435, 228, 501, 458, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, - 546, 547, 548, 549, 550, 551, 552, 553, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 554, 356, 448, - 498, 311, 323, 326, 316, 335, 0, 336, 312, 313, - 318, 320, 321, 322, 327, 328, 332, 338, 236, 202, - 362, 370, 478, 292, 427, 428, 429, 430, 0, 191, - 209, 342, 0, 419, 273, 532, 510, 506, 198, 211, - 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 193, 194, 201, 210, 220, 224, 231, - 246, 261, 263, 270, 282, 287, 290, 296, 297, 300, - 306, 352, 358, 359, 360, 361, 380, 381, 382, 385, - 388, 389, 392, 394, 395, 398, 402, 406, 407, 408, - 409, 411, 413, 420, 425, 437, 438, 439, 440, 441, - 444, 445, 450, 451, 452, 453, 454, 462, 463, 467, - 486, 488, 500, 514, 519, 443, 283, 495, 520, 0, - 351, 0, 0, 353, 266, 286, 298, 0, 509, 464, - 215, 431, 275, 238, 0, 0, 203, 234, 218, 244, - 259, 262, 302, 363, 371, 400, 405, 280, 256, 232, - 424, 229, 447, 470, 471, 472, 474, 367, 251, 404, - 0, 368, 349, 476, 477, 294, 475, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 387, 0, - 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, - 0, 0, 340, 252, 0, 0, 401, 0, 197, 0, - 449, 239, 350, 347, 483, 267, 258, 254, 237, 295, - 357, 399, 469, 393, 0, 344, 0, 0, 459, 372, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 301, 235, 303, 196, 384, - 460, 271, 0, 0, 0, 0, 188, 2210, 190, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, - 0, 233, 325, 334, 333, 314, 315, 317, 319, 324, - 331, 337, 0, 0, 0, 0, 0, 250, 299, 257, - 249, 480, 0, 0, 0, 0, 0, 0, 0, 217, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 260, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 281, 0, 373, 242, 0, - 0, 0, 0, 516, 0, 0, 0, 0, 0, 0, - 0, 339, 0, 308, 192, 213, 0, 0, 383, 426, - 436, 0, 0, 0, 240, 0, 434, 397, 499, 221, - 269, 423, 403, 432, 410, 272, 0, 0, 433, 345, - 485, 417, 496, 517, 518, 248, 377, 507, 473, 513, - 531, 214, 245, 391, 466, 502, 456, 369, 481, 482, - 307, 455, 279, 195, 343, 523, 212, 442, 230, 219, - 487, 505, 274, 421, 204, 468, 494, 227, 446, 0, - 0, 533, 206, 492, 465, 365, 304, 305, 205, 0, - 422, 253, 277, 243, 386, 489, 490, 241, 534, 216, - 512, 208, 0, 511, 379, 484, 493, 366, 355, 207, - 491, 364, 354, 310, 329, 330, 265, 288, 415, 348, - 416, 289, 375, 374, 376, 199, 503, 0, 200, 0, - 461, 504, 535, 222, 223, 225, 0, 264, 268, 276, - 278, 284, 285, 293, 341, 390, 414, 412, 418, 0, - 479, 497, 508, 515, 521, 522, 524, 525, 526, 527, - 528, 530, 529, 378, 291, 457, 309, 346, 0, 0, - 396, 435, 228, 501, 458, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 536, 537, 538, 539, - 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, - 550, 551, 552, 553, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 554, 356, 448, 498, 311, 323, 326, - 316, 335, 0, 336, 312, 313, 318, 320, 321, 322, - 327, 328, 332, 338, 236, 202, 362, 370, 478, 292, - 427, 428, 429, 430, 0, 191, 209, 342, 0, 419, - 273, 532, 510, 506, 198, 211, 0, 247, 0, 0, + 213, 223, 227, 234, 249, 264, 266, 273, 285, 290, + 293, 299, 300, 303, 309, 355, 361, 362, 363, 364, + 383, 384, 385, 388, 391, 392, 395, 397, 398, 401, + 405, 409, 410, 411, 412, 414, 416, 423, 428, 440, + 441, 442, 443, 444, 447, 448, 453, 454, 455, 456, + 457, 465, 466, 470, 493, 495, 507, 524, 529, 446, + 286, 502, 530, 0, 354, 0, 0, 356, 269, 289, + 301, 0, 516, 467, 218, 434, 278, 241, 0, 0, + 203, 237, 221, 247, 262, 265, 305, 366, 374, 403, + 408, 283, 259, 235, 427, 232, 450, 473, 474, 475, + 477, 370, 254, 407, 0, 371, 352, 483, 484, 297, + 482, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 390, 0, 0, 0, 0, 0, 0, 0, + 0, 258, 0, 0, 0, 0, 343, 255, 0, 0, + 404, 0, 197, 0, 452, 242, 353, 350, 490, 270, + 261, 257, 240, 298, 360, 402, 472, 396, 0, 347, + 0, 0, 462, 375, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, + 238, 306, 196, 387, 463, 274, 0, 0, 0, 0, + 188, 2785, 190, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 229, 0, 236, 328, 337, 336, 317, + 318, 320, 322, 327, 334, 340, 0, 0, 0, 0, + 0, 253, 302, 260, 252, 487, 0, 0, 0, 0, + 0, 0, 0, 220, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 284, + 0, 376, 245, 0, 0, 0, 0, 526, 0, 0, + 0, 0, 0, 0, 0, 342, 0, 311, 192, 216, + 0, 0, 386, 429, 439, 0, 0, 0, 243, 0, + 437, 400, 506, 224, 272, 426, 406, 435, 413, 275, + 0, 0, 436, 348, 492, 420, 503, 527, 528, 251, + 380, 514, 476, 522, 541, 217, 248, 394, 469, 509, + 459, 372, 488, 489, 310, 458, 282, 195, 346, 533, + 215, 445, 233, 222, 494, 512, 277, 424, 204, 471, + 501, 230, 449, 0, 0, 543, 206, 499, 468, 368, + 307, 308, 205, 0, 425, 256, 280, 246, 389, 496, + 497, 244, 544, 219, 521, 211, 0, 520, 382, 491, + 500, 369, 358, 210, 498, 367, 357, 313, 332, 333, + 268, 291, 418, 351, 419, 292, 378, 377, 379, 199, + 510, 0, 200, 0, 464, 511, 545, 225, 226, 228, + 0, 267, 271, 279, 281, 287, 288, 296, 344, 393, + 417, 415, 421, 0, 486, 504, 515, 525, 531, 532, + 534, 535, 536, 537, 538, 540, 539, 381, 294, 460, + 312, 349, 0, 0, 399, 438, 231, 508, 461, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, + 556, 557, 558, 559, 560, 561, 562, 563, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 564, 359, 451, + 505, 314, 326, 329, 319, 338, 0, 339, 315, 316, + 321, 323, 324, 325, 330, 331, 335, 341, 239, 202, + 365, 373, 485, 295, 207, 208, 209, 478, 479, 480, + 481, 518, 519, 523, 430, 431, 432, 433, 0, 191, + 212, 345, 0, 422, 276, 542, 517, 513, 198, 214, + 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 193, 194, 201, 213, 223, 227, 234, + 249, 264, 266, 273, 285, 290, 293, 299, 300, 303, + 309, 355, 361, 362, 363, 364, 383, 384, 385, 388, + 391, 392, 395, 397, 398, 401, 405, 409, 410, 411, + 412, 414, 416, 423, 428, 440, 441, 442, 443, 444, + 447, 448, 453, 454, 455, 456, 457, 465, 466, 470, + 493, 495, 507, 524, 529, 446, 286, 502, 530, 0, + 354, 0, 0, 356, 269, 289, 301, 0, 516, 467, + 218, 434, 278, 241, 0, 0, 203, 237, 221, 247, + 262, 265, 305, 366, 374, 403, 408, 283, 259, 235, + 427, 232, 450, 473, 474, 475, 477, 370, 254, 407, + 0, 371, 352, 483, 484, 297, 482, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, + 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, + 0, 0, 343, 255, 0, 0, 404, 0, 197, 0, + 452, 242, 353, 350, 490, 270, 261, 257, 240, 298, + 360, 402, 472, 396, 0, 347, 0, 0, 462, 375, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 304, 238, 306, 196, 387, + 463, 274, 0, 0, 0, 0, 188, 2260, 190, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 229, + 0, 236, 328, 337, 336, 317, 318, 320, 322, 327, + 334, 340, 0, 0, 0, 0, 0, 253, 302, 260, + 252, 487, 0, 0, 0, 0, 0, 0, 0, 220, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 284, 0, 376, 245, 0, + 0, 0, 0, 526, 0, 0, 0, 0, 0, 0, + 0, 342, 0, 311, 192, 216, 0, 0, 386, 429, + 439, 0, 0, 0, 243, 0, 437, 400, 506, 224, + 272, 426, 406, 435, 413, 275, 0, 0, 436, 348, + 492, 420, 503, 527, 528, 251, 380, 514, 476, 522, + 541, 217, 248, 394, 469, 509, 459, 372, 488, 489, + 310, 458, 282, 195, 346, 533, 215, 445, 233, 222, + 494, 512, 277, 424, 204, 471, 501, 230, 449, 0, + 0, 543, 206, 499, 468, 368, 307, 308, 205, 0, + 425, 256, 280, 246, 389, 496, 497, 244, 544, 219, + 521, 211, 0, 520, 382, 491, 500, 369, 358, 210, + 498, 367, 357, 313, 332, 333, 268, 291, 418, 351, + 419, 292, 378, 377, 379, 199, 510, 0, 200, 0, + 464, 511, 545, 225, 226, 228, 0, 267, 271, 279, + 281, 287, 288, 296, 344, 393, 417, 415, 421, 0, + 486, 504, 515, 525, 531, 532, 534, 535, 536, 537, + 538, 540, 539, 381, 294, 460, 312, 349, 0, 0, + 399, 438, 231, 508, 461, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 546, 547, 548, 549, + 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, + 560, 561, 562, 563, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 564, 359, 451, 505, 314, 326, 329, + 319, 338, 0, 339, 315, 316, 321, 323, 324, 325, + 330, 331, 335, 341, 239, 202, 365, 373, 485, 295, + 207, 208, 209, 478, 479, 480, 481, 518, 519, 523, + 430, 431, 432, 433, 0, 191, 212, 345, 0, 422, + 276, 542, 517, 513, 198, 214, 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 194, 201, 210, 220, 224, 231, 246, 261, 263, 270, - 282, 287, 290, 296, 297, 300, 306, 352, 358, 359, - 360, 361, 380, 381, 382, 385, 388, 389, 392, 394, - 395, 398, 402, 406, 407, 408, 409, 411, 413, 420, - 425, 437, 438, 439, 440, 441, 444, 445, 450, 451, - 452, 453, 454, 462, 463, 467, 486, 488, 500, 514, - 519, 443, 283, 495, 520, 0, 351, 0, 0, 353, - 266, 286, 298, 0, 509, 464, 215, 431, 275, 238, - 0, 0, 203, 234, 218, 244, 259, 262, 302, 363, - 371, 400, 405, 280, 256, 232, 424, 229, 447, 470, - 471, 472, 474, 367, 251, 404, 0, 0, 349, 476, - 477, 294, + 194, 201, 213, 223, 227, 234, 249, 264, 266, 273, + 285, 290, 293, 299, 300, 303, 309, 355, 361, 362, + 363, 364, 383, 384, 385, 388, 391, 392, 395, 397, + 398, 401, 405, 409, 410, 411, 412, 414, 416, 423, + 428, 440, 441, 442, 443, 444, 447, 448, 453, 454, + 455, 456, 457, 465, 466, 470, 493, 495, 507, 524, + 529, 446, 286, 502, 530, 0, 354, 0, 0, 356, + 269, 289, 301, 0, 516, 467, 218, 434, 278, 241, + 0, 0, 203, 237, 221, 247, 262, 265, 305, 366, + 374, 403, 408, 283, 259, 235, 427, 232, 450, 473, + 474, 475, 477, 370, 254, 407, 0, 0, 352, 483, + 484, 297, } var yyPact = [...]int{ - 3815, -1000, -415, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 5734, -1000, -424, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 2108, 2301, -1000, -1000, - -1000, -1000, 2329, -1000, 796, 1847, -1000, 2136, 305, -1000, - 43795, 563, -1000, 42563, 561, 3094, 43795, -1000, 180, -1000, - 170, 43795, 190, 41947, -1000, -1000, -255, 19145, 2054, 63, - 56, 43795, -1000, -1000, -1000, -1000, 2298, 1826, -1000, 373, - -1000, -1000, -1000, -1000, -1000, -1000, 41331, -1000, -1000, -1000, - 2147, 2118, 2340, 721, 2062, -1000, 2208, 1826, -1000, 19145, - 2272, 2190, 17913, -1000, 17913, 482, -1000, -1000, 13591, -1000, - -1000, 25315, 43795, 31475, 268, -1000, 2136, -1000, -1000, -1000, - 140, -1000, 346, 1721, -1000, 1719, -1000, 786, 714, 381, - 511, 494, 380, 376, 374, 372, 368, 351, 350, 347, - 387, -1000, 767, 767, -115, -119, 1126, 489, 431, 431, - 506, 2093, 2080, -1000, 759, -1000, 767, 767, 767, 344, - 767, 767, 767, 767, 308, 306, 767, 767, 767, 767, + -1000, -1000, -1000, -1000, -1000, -1000, 2168, 2186, -1000, -1000, + -1000, -1000, 2336, -1000, 826, 1808, -1000, 2107, 5204, -1000, + 45375, 571, -1000, 44123, 570, 289, 45375, -1000, 223, -1000, + 196, 45375, 221, 43497, -1000, -1000, -318, 20325, 2025, 73, + 71, 45375, -1000, -1000, -1000, -1000, 2290, 1781, -1000, 415, + -1000, -1000, -1000, -1000, -1000, -1000, 42871, -1000, -1000, -1000, + 2117, 2089, 2331, 744, 2032, -1000, 2220, 1781, -1000, 20325, + 2259, 2189, 19073, -1000, 19073, 457, -1000, -1000, 14681, -1000, + -1000, 26595, 45375, 32855, 478, -1000, 2107, -1000, -1000, -1000, + 109, -1000, 347, 1710, -1000, 1708, -1000, 675, 538, 383, + 507, 491, 379, 374, 373, 371, 370, 369, 367, 365, + 387, -1000, 767, 767, -113, -120, 3125, 539, 433, 433, + 545, 2064, 2058, -1000, 760, -1000, 767, 767, 767, 377, + 767, 767, 767, 767, 320, 317, 767, 767, 767, 767, 767, 767, 767, 767, 767, 767, 767, 767, 767, 767, - 767, 767, 767, 362, 2136, 259, -1000, -1000, -1000, -1000, + 767, 767, 767, 372, 2107, 305, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, @@ -6088,38 +6270,39 @@ var yyPact = [...]int{ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 43795, 202, 43795, -1000, 637, - 43795, 896, 896, 100, 896, 896, 896, 896, 205, 641, - 51, -1000, 204, 266, 176, 261, 874, 166, -1000, -1000, - 243, 874, 1347, -1000, 738, 171, -1000, 896, 896, -1000, - 11107, 192, 11107, 11107, -1000, 2120, -1000, -1000, -1000, -1000, - 1200, -1000, 504, -1000, -1000, -1000, -1000, 43795, 40715, 377, - 799, -1000, -1000, -1000, 71, -1000, -1000, 1424, 1028, 19145, - 1113, -1000, 1679, 696, -1000, -1000, -1000, -1000, -1000, 597, - 19761, 19761, 19761, 19761, -1000, -1000, 1675, 1675, 1675, 1675, - 19761, 1675, -1000, 1675, 1675, 1675, 19145, 1675, 1675, 1675, - -1000, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, - 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, - 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, - 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, - 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, - 1675, -1000, 1675, 620, 1675, 1675, 1675, 1675, 1675, -1000, - -1000, -1000, -1000, 19761, 1675, 1675, 1675, 1675, 1675, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1675, 1675, - 1675, 1675, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 22846, -1000, 16065, 1675, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 45375, 306, 45375, -1000, 642, + 45375, 889, 889, 84, 889, 889, 889, 889, 190, 663, + 65, -1000, 183, 302, 178, 300, 882, 241, -1000, -1000, + 293, 882, 1277, -1000, 751, 191, -1000, 889, 889, -1000, + 12157, 168, 12157, 12157, -1000, 2103, -1000, -1000, -1000, -1000, + 1284, -1000, 535, -1000, -1000, -1000, -1000, 45375, 42245, 409, + 786, -1000, -1000, -1000, 154, -1000, -1000, 1377, 1294, 20325, + 1269, -1000, 1107, 710, -1000, -1000, -1000, -1000, -1000, 620, + 20951, 20951, 20951, 20951, -1000, -1000, 1527, 1527, 1527, 1527, + 20951, 1527, -1000, 1527, 1527, 1527, 20325, 1527, 1527, 1527, + -1000, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, + 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, + 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, + 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, + 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, + 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, + 1527, -1000, 1527, 640, 1527, 1527, 1527, 1527, 1527, -1000, + -1000, -1000, -1000, 20951, 1527, 1527, 1527, 1527, 1527, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1527, 1527, + 1527, 1527, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 24086, -1000, 17195, 1527, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 43795, -1000, 1675, 209, 43795, - 43795, 378, 2208, 1826, -1000, 2298, 2236, 373, -1000, 2629, - 1950, 1541, 1013, 1826, 1701, 43795, -1000, 1741, -1000, -1000, - -1000, 1955, 1231, 1346, -1000, -1000, -1000, -1000, 1148, 19145, - -1000, -1000, 2326, -1000, 22230, 619, 929, 2323, 40099, -1000, - 482, 482, 1717, 12970, 4, -1000, -1000, -1000, 793, 29011, + -1000, -1000, -1000, -1000, -1000, 45375, -1000, 1527, 242, 45375, + 45375, 378, 2220, 1781, -1000, 2290, 2230, 415, -1000, 2666, + 1954, 1526, 1300, 1781, 1648, 45375, -1000, 1731, -1000, -1000, + -1000, 1936, 1186, 1274, -1000, -1000, -1000, -1000, 1298, 20325, + -1000, -1000, 2320, -1000, 23460, 636, 941, 2314, 41619, -1000, + 457, 457, 1699, 14050, 48, -1000, -1000, -1000, 784, 30351, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 2120, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 2103, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, @@ -6133,282 +6316,286 @@ var yyPact = [...]int{ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 1712, 43795, -1000, -1000, 4497, 1291, - -1000, 1846, -1000, 1695, -1000, 1781, 19145, 1861, 560, 1291, - 537, 535, 530, -1000, -39, -1000, -1000, -1000, -1000, -1000, - -1000, 767, 767, 767, -1000, 382, 2270, 305, 3538, -1000, - -1000, -1000, 39483, 1841, 1291, -1000, 1840, -1000, 869, 609, - 635, 635, 1291, -1000, -1000, 43795, 1291, 867, 864, 1291, - 1291, 43795, 43795, -1000, 38867, -1000, 38251, 37635, 1177, 43795, - 37019, 36403, 35787, 35171, 34555, -1000, 1994, -1000, 1877, -1000, - -1000, -1000, 43795, 1291, 1291, 43795, 43795, 339, -1000, -1000, - 43795, 1291, -1000, -1000, 1174, 1164, 1152, 767, 767, 1145, - 1343, 1340, 1339, 767, 767, 1139, 1337, 30243, 1322, 258, - 1129, 1121, 1120, 1137, 1319, 221, 1317, 1065, 1059, 1115, - 43795, 1835, 43795, -1000, 253, 734, 415, 787, 2136, 2051, - 1716, 501, 557, 1291, 439, 439, 43795, -1000, 11728, -1000, - -1000, 1314, 19145, -1000, 900, 874, 874, -1000, -1000, -1000, - -1000, -1000, -1000, 896, 43795, 900, -1000, -1000, -1000, 874, - 896, 43795, 896, 896, 896, 896, 874, 874, 874, 896, - 43795, 43795, 43795, 43795, 43795, 43795, 43795, 43795, 43795, 11107, - 738, 896, -280, -1000, 1313, -1000, 1961, -1000, -1000, -1000, - -1000, -1000, -1000, 11107, 11107, -1000, -1000, -1000, -1000, 182, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -32, - 1710, 33939, -1000, -282, -286, -288, -298, -1000, -1000, -1000, - -307, -308, -1000, -1000, -1000, 19145, 19145, 19145, 19145, -156, - -1000, 987, 19761, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 165, 883, 19761, 19761, 19761, 19761, 19761, 19761, 19761, 19761, - 19761, 19761, 19761, 19761, 19761, 19761, 19761, -1000, -1000, 27163, - 5493, 5493, 696, 696, 696, 696, -1000, 17913, 19145, 19145, - 696, -1000, 1291, 17913, 17913, 19145, 790, 1028, 43795, -1000, - 1013, -1000, -1000, -1000, 1197, -1000, 2100, 2100, 2100, 2100, - 2100, 2100, 43795, 43795, 1323, 19145, 19145, 19145, 19145, 19145, - 19145, 14828, 19145, 19145, 19145, 19145, 19145, 19145, 19145, 19145, - 19145, 19145, 19145, 19145, 19145, 19145, 19145, 19145, 19145, 19145, - 19145, 19145, 19145, 19145, 19145, 19145, 19145, 19145, 1013, 19145, - 2044, 19145, 19145, 14212, 11728, 17913, 17913, 17913, 17913, 17913, - 33323, -1000, -1000, -1000, -1000, -1000, 19145, 19145, 19145, 19145, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 616, 1478, 1440, - 1616, 19145, -1000, 1708, -1000, -110, 24699, 19145, 1309, 2321, - 1878, 43795, -1000, -1000, -1000, 2208, -1000, 2208, 1478, 2126, - 2001, 17913, -1000, -1000, 2126, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 1463, -1000, 43795, 1701, 2185, 43795, 1991, - 1308, 330, -1000, 19145, 19145, 1698, -1000, 1674, 43795, -1000, - -156, -1000, 32707, -1000, -1000, 10486, -1000, 43795, 337, 43795, - -1000, 24083, 32091, 12349, 4, -1000, 12349, 1577, -1000, 33, - 19, 15444, 694, -1000, -1000, -1000, 1126, 20993, 1411, 694, - 103, -1000, -1000, -1000, 1781, -1000, 1781, 1781, 1781, 1781, - 330, 330, 330, 330, -1000, -1000, -1000, -1000, -1000, 1833, - 1831, -1000, 1781, 1781, 1781, 1781, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 1721, 45375, -1000, -1000, 4756, 1231, + -1000, 1805, -1000, 1717, -1000, 1757, 20325, 1817, 569, 1231, + 563, 562, 473, -1000, -16, -1000, -1000, -1000, -1000, -1000, + -1000, 767, 767, 767, -1000, 386, 2254, 5204, 5530, -1000, + -1000, -1000, 40993, 1804, 1231, -1000, 1803, -1000, 847, 552, + 662, 662, 1231, -1000, -1000, 45375, 1231, 846, 844, 1231, + 1231, 45375, 45375, -1000, 40367, -1000, 39741, 39115, 1093, 45375, + 38489, 37863, 37237, 36611, 35985, -1000, 1935, -1000, 1857, -1000, + -1000, -1000, 45375, 1231, 1231, 45375, 45375, 381, -1000, -1000, + 45375, 1231, -1000, -1000, 1092, 1088, 1079, 767, 767, 1077, + 1271, 1270, 1267, 767, 767, 1076, 1266, 31603, 1246, 295, + 1063, 1056, 1051, 1055, 1234, 206, 1233, 1053, 1041, 1050, + 45375, 1798, 45375, -1000, 282, 734, 472, 782, 2107, 2008, + 1696, 528, 566, 1231, 458, 458, 45375, -1000, 12788, -1000, + -1000, 1223, 20325, -1000, 888, 882, 882, -1000, -1000, -1000, + -1000, -1000, -1000, 889, 45375, 888, -1000, -1000, -1000, 882, + 889, 45375, 889, 889, 889, 889, 882, 882, 882, 889, + 45375, 45375, 45375, 45375, 45375, 45375, 45375, 45375, 45375, 12157, + 751, 889, -324, -1000, 1216, -1000, 1904, -1000, -1000, -1000, + -1000, -1000, -1000, 12157, 12157, -1000, -1000, -1000, -1000, 219, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -26, + 1661, 35359, -1000, -325, -326, -327, -332, -1000, -1000, -1000, + -337, -341, -1000, -1000, -1000, 20325, 20325, 20325, 20325, -150, + -1000, 899, 20951, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 153, 806, 20951, 20951, 20951, 20951, 20951, 20951, 20951, 20951, + 20951, 20951, 20951, 20951, 20951, 20951, 20951, -1000, -1000, 28473, + 7642, 7642, 710, 710, 710, 710, -1000, 19073, 20325, 20325, + 710, -1000, 1231, 19073, 19073, 20325, 797, 1294, 45375, -1000, + 1300, -1000, -1000, -1000, 1026, -1000, 2085, 2085, 2085, 2085, + 2085, 20325, 20325, 20325, 20325, 20325, 20325, 20325, 20325, 20325, + 20325, 2085, 45375, 45375, 1331, 20325, 20325, 20325, 20325, 20325, + 20325, 15938, 20325, 20325, 20325, 20325, 20325, 20325, 20325, 20325, + 20325, 20325, 20325, 20325, 20325, 20325, 20325, 20325, 20325, 20325, + 20325, 20325, 20325, 20325, 20325, 20325, 20325, 20325, 1300, 20325, + 2066, 20325, 20325, 15312, 12788, 19073, 19073, 19073, 19073, 19073, + 34733, -1000, -1000, -1000, -1000, -1000, 20325, 20325, 20325, 20325, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 635, 1533, 1436, + 1560, 20325, -1000, 1656, -1000, -139, 25969, 20325, 1211, 2313, + 1831, 45375, -1000, -1000, -1000, 2220, -1000, 2220, 1533, 2566, + 1945, 19073, -1000, -1000, 2566, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 1441, -1000, 45375, 1648, 2180, 45375, 1941, + 1210, 364, -1000, 20325, 20325, 1636, -1000, 940, 45375, -1000, + -150, -1000, 34107, -1000, -1000, 11526, -1000, 45375, 350, 45375, + -1000, 25343, 33481, 13419, 48, -1000, 13419, 1553, -1000, 34, + 43, 16564, 709, -1000, -1000, -1000, 3125, 22203, 1368, 709, + 140, -1000, -1000, -1000, 1757, -1000, 1757, 1757, 1757, 1757, + 364, 364, 364, 364, -1000, -1000, -1000, -1000, -1000, 1791, + 1782, -1000, 1757, 1757, 1757, 1757, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 1828, 1828, 1828, 1790, 1790, 419, -1000, - 19145, 370, 31475, 2158, 1112, 1653, 253, 476, 1872, 1291, - 1291, 1291, 476, -1000, 1284, 1239, 1153, -1000, -404, 1682, - -1000, -1000, 2266, -1000, -1000, 750, 890, 888, 848, 43795, - 220, 320, -1000, 418, -1000, 31475, 1291, 863, 635, 1291, - -1000, 1291, -1000, -1000, -1000, -1000, -1000, 1291, -1000, -1000, - 1627, -1000, 1594, 924, 881, 920, 880, 1627, -1000, -1000, - -91, 1627, -1000, 1627, -1000, 1627, -1000, 1627, -1000, 1627, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 766, - 211, -199, 43795, 220, 27163, -1000, 492, -1000, -1000, -1000, - 27163, 27163, -1000, -1000, -1000, -1000, 1305, 1283, -1000, -1000, + -1000, -1000, -1000, 1779, 1779, 1779, 1760, 1760, 417, -1000, + 20325, 338, 32855, 2116, 1047, 1230, 282, 468, 1830, 1231, + 1231, 1231, 468, -1000, 1540, 1387, 1302, -1000, -412, 1629, + -1000, -1000, 2252, -1000, -1000, 742, 866, 865, 803, 45375, + 252, 339, -1000, 489, -1000, 32855, 1231, 842, 662, 1231, + -1000, 1231, -1000, -1000, -1000, -1000, -1000, 1231, -1000, -1000, + 1619, -1000, 1462, 927, 864, 907, 862, 1619, -1000, -1000, + -89, 1619, -1000, 1619, -1000, 1619, -1000, 1619, -1000, 1619, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 774, + 212, -210, 45375, 252, 28473, -1000, 504, -1000, -1000, -1000, + 28473, 28473, -1000, -1000, -1000, -1000, 1207, 1206, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -388, 43795, -1000, - 249, 776, 311, 363, 299, 43795, 279, 2199, 2198, 2192, - 232, 296, 43795, 43795, 439, 1932, 43795, 2162, 43795, -1000, - -1000, -1000, -1000, -1000, 1028, 43795, -1000, -1000, 896, 896, - -1000, -1000, 43795, 896, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 896, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 43795, -1000, - -1000, -1000, -1000, 43795, -1000, -1000, -1000, -1000, -1000, 163, - 23, 355, -1000, -1000, -1000, -1000, -1000, 2205, -1000, 1028, - 827, 828, -1000, 1675, -1000, -1000, 1008, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 165, 19761, 19761, 19761, 1837, 510, - 949, 1036, 1223, 1088, 1088, 911, 911, 708, 708, 708, - 708, 708, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 1276, -1000, 1678, -1000, 2119, 1054, 1013, 1678, 1678, 1558, - 816, -1000, 19145, 1013, -1000, -1000, 1013, 1013, 18529, -1000, - -1000, 19145, 19145, 19145, 19145, 19145, 1624, 1618, 2315, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -398, 45375, -1000, + 270, 780, 324, 362, 318, 45375, 428, 2207, 2197, 2195, + 288, 313, 45375, 45375, 458, 1887, 45375, 2137, 45375, -1000, + -1000, -1000, -1000, -1000, 1294, 45375, -1000, -1000, 889, 889, + -1000, -1000, 45375, 889, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 889, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 45375, -1000, + -1000, -1000, -1000, 45375, -1000, -1000, -1000, -1000, -1000, 96, + 42, 382, -1000, -1000, -1000, -1000, -1000, 2216, -1000, 1294, + 821, 818, -1000, 1527, -1000, -1000, 884, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 153, 20951, 20951, 20951, 1351, 461, + 1609, 1058, 1242, 933, 933, 901, 901, 721, 721, 721, + 721, 721, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 1204, -1000, 1593, -1000, 2040, 1806, 1300, 1593, 1593, 1812, + 794, -1000, 20325, 1300, -1000, -1000, 1300, 1300, 19699, -1000, + -1000, 20325, 20325, 20325, 20325, 1560, 1560, 1560, 1560, 1560, + 1560, 1560, 1560, 1560, 1560, 20325, 1615, 1598, 2312, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 1967, 1653, 1653, 1653, 1653, 1653, 19145, 1227, -1000, -1000, - -1000, 2592, 2587, 1013, 1424, 1013, 1608, -1000, 2583, 1653, - 2579, 2572, 2551, 1020, 2539, 2498, 2480, 1653, 1653, 1653, - 1852, 2475, 2470, 2422, 2372, 2351, 2322, 2316, 2311, 2303, - 1653, -158, 1653, 1013, -1000, -1000, -1000, -1000, 2263, 1771, - 1013, 17913, 17913, 1579, 1675, 614, -1000, 1678, 1013, 1013, - 1678, 1678, -1000, 2207, 2142, 2125, 2009, 11728, 1013, -1000, - 1616, 43795, -1000, -276, -1000, 9, 701, 1675, -1000, 30243, - 1013, -1000, 5194, -1000, 45027, -1000, -1000, -1000, -1000, -1000, - 28395, 1589, 2126, -1000, -1000, 1675, 1693, -1000, -1000, 330, - 87, 27779, 629, 629, 133, 1028, 1028, 19145, -1000, -1000, - -1000, -1000, -1000, -1000, 607, 2282, 359, 1675, -1000, 1603, - 2344, -1000, -1000, -1000, 2184, 21614, -1000, 1675, 1675, 43795, - 1472, 1442, -1000, 606, -1000, 1577, 4, 16, -1000, -1000, - -1000, -1000, 1028, -1000, 1136, 345, 3143, -1000, 424, -1000, - -1000, -1000, -1000, 2069, 96, -1000, -1000, -1000, 278, 330, - -1000, -1000, -1000, -1000, -1000, -1000, 1269, 1269, -1000, -1000, - -1000, -1000, -1000, 1093, -1000, -1000, -1000, 1058, -1000, -1000, - 1942, 1855, 370, -1000, -1000, 767, 1267, -1000, -1000, 2074, - 767, 767, 43795, -1000, -1000, 1409, 2158, 249, 43795, 804, - 1919, -1000, 1872, 1872, 1872, 43795, -1000, -1000, -1000, -1000, - -1000, -1000, -390, 89, 394, -1000, -1000, -1000, 375, 43795, - 1691, -1000, 217, -1000, 1407, -1000, 43795, -1000, 1689, 1804, - 1291, 1291, -1000, -1000, -1000, 43795, 1675, -1000, -1000, -1000, - -1000, 556, 2134, 284, -1000, -1000, -175, -1000, -1000, 220, - 217, 694, 1291, -1000, -1000, -1000, -1000, -1000, -391, 1686, - 523, 225, 325, 43795, 43795, 43795, 43795, 43795, 585, -1000, - -1000, -1000, -1000, 201, -1000, -1000, 201, -1000, -1000, -1000, - -1000, 281, 485, -1000, 43795, 43795, 700, -1000, -1000, -1000, - 874, -1000, -1000, 874, -1000, -1000, -1000, -1000, -1000, 2129, - 43795, 14, -331, -1000, -323, 19145, -1000, -1000, -1000, -1000, - 1735, 502, 949, 19761, 19761, 17913, -84, 549, 549, 27163, - -1000, -1000, -1000, 19145, 19145, 751, -1000, 19145, 1004, -1000, - -1000, -1000, 1013, 1616, 1616, 1616, 1616, 1616, 1458, 19145, - 19145, 19145, 1013, 290, -1000, -1000, -1000, -1000, -1000, 2314, - -1000, 19145, 19145, 19145, -1000, -1000, 19145, 19145, -1000, 19145, - 19145, 20377, 1013, 20377, 19145, 19145, 20377, -1000, -1000, -1000, - -1000, 20377, 19145, 19145, 19145, 19145, 19145, 19145, 19145, 19145, - 19145, -1000, -1000, 31475, 93, -158, 2044, 93, 2044, -1000, - 1678, 1678, 17913, 11728, -1000, -1000, -1000, -1000, -1000, 19145, - 19145, 19145, 19145, -1000, -1000, -1000, -1000, -1000, -1000, 701, - -1000, 635, 635, 635, 43795, -1000, -1000, -1000, -1000, -1000, - -1000, 1568, 2204, -1000, 2014, 2010, 2313, 2282, -1000, 24083, - 2126, -1000, -1000, 43795, -271, -1000, 2043, 2038, 629, 629, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 9865, 2208, 19145, - 1918, 43795, 164, -1000, 23467, 43795, 43795, 24083, 24083, 24083, - 24083, 24083, -1000, 1980, 1973, -1000, 1949, 1943, 1979, 43795, - -1000, 1676, 1013, 2236, 21614, 373, 19145, 25931, 1454, 24083, - -1000, -1000, 24083, 43795, 9244, -1000, -1000, 12, 26, -1000, - -1000, -1000, -1000, 1126, -1000, -1000, 2812, 2177, 2066, -1000, - -1000, -1000, -1000, -1000, 1645, -1000, 1629, 1557, 1622, 211, - -1000, 1853, 2123, 767, 767, -1000, 1043, -1000, 1291, 1266, - 1250, -1000, -1000, -1000, 519, -1000, 2156, 43795, 1917, 1905, - 1904, -1000, -402, 1041, 1803, 1776, 19145, 1797, 2265, 1509, - 43795, -1000, -1000, 43795, -1000, 177, -1000, 370, 43795, -1000, - -1000, -1000, 320, 43795, -1000, 6813, -1000, -1000, -1000, 217, - -1000, -1000, -1000, -1000, -1000, -1000, 43795, 233, -1000, 1791, - 1118, -1000, -1000, 1801, -1000, -1000, -1000, -1000, 212, 301, - 199, 1247, 199, -1000, 43795, 698, 1855, 43795, -1000, -1000, - -1000, 896, 896, -1000, -1000, 2099, -1000, 1291, 1653, 19761, - 19761, -1000, 696, -1000, 1675, -134, 1781, 1781, -1000, 1781, - 1790, -1000, 1781, 167, 1781, 162, 1781, -1000, -1000, -134, - 1013, 1714, 1312, -1000, 1028, 19145, -1000, -1000, -1000, -1000, - -1000, -1000, -46, 1983, 1978, 1653, -1000, 1779, 1778, 19145, - 1653, 1653, 1653, -1000, 1028, 1020, 1963, 1524, -1000, -1000, - -1000, -1000, 1551, 1653, 1954, -249, 1013, 1620, 1620, 1620, - 1620, 1620, 1616, 1616, 1616, 1616, 43795, -1000, -158, -1000, - -1000, -194, -195, -1000, 1013, -158, 1543, -1000, -1000, 1013, - -1000, 1648, 1632, 1925, 1544, -1000, 2203, 2203, 2203, 1598, - 44411, 43795, -1000, -1000, -1000, -1000, 2282, 2280, 1538, -1000, - -1000, 87, 423, -1000, 2053, 2038, -1000, 2253, 2039, 2252, - -1000, -1000, -1000, -1000, -1000, 1028, -1000, 2139, 1533, -1000, - 775, 1436, -1000, -1000, 17297, 1611, 2005, 589, 1598, 1571, - 2344, 1876, 1902, 2448, -1000, -1000, -1000, -1000, 1968, -1000, - 1953, -1000, -1000, 1741, -1000, -1000, 1440, 1013, 1786, 337, - 24083, 1528, 1528, -1000, 581, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 903, 5152, 2336, -1000, 1246, -1000, 1094, 198, - 1040, -1000, -1000, 767, 767, -1000, 849, 847, -1000, 43795, - 1777, -1000, 330, 1244, 330, 1035, -1000, 1033, -1000, -1000, - -1000, -1000, 1802, 1906, -1000, -1000, -1000, -1000, 43795, -1000, - -1000, 43795, 43795, 43795, 1775, 2250, -1000, 19145, 1774, 773, - 1805, 43795, 43795, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 398, 767, -361, 294, 285, 767, - 767, 767, -403, -1000, -1000, 1586, 1584, -1000, -116, -1000, - 19145, -1000, -1000, -1000, 1049, 1049, -1000, 1741, -1000, -1000, - -1000, 1373, -1000, -1000, -97, 43795, 43795, 43795, 43795, -1000, - 969, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 696, 19761, 1013, -1000, -1000, 330, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 1013, -1000, 19145, -1000, - 19145, -1000, 1028, 2208, 1243, 19145, 19145, -1000, 1025, 1011, - 1653, -1000, -1000, -1000, 1013, 20377, -1000, 20377, -1000, 19145, - 239, 549, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 1013, 336, -1000, -1000, -1000, -1000, 2287, -1000, - 1013, 19145, -1000, -1000, 19145, -1000, 19145, 19145, -1000, 19145, - 1675, 2102, 1675, 1675, 25931, -1000, -1000, 2280, 2275, 2247, - 2029, 2031, 2031, 2053, -1000, 2243, 2240, -1000, 1234, 2234, - 1230, 834, -1000, 43795, 19145, 164, -1000, 379, 43795, 164, - 43795, -1000, 2264, -1000, -1000, 19145, 1768, -1000, 19145, -1000, - -1000, -1000, -1000, -1000, -1000, 5493, 2282, 1528, -1000, -1000, - 706, -1000, 19145, -1000, -1000, -1000, 5420, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 1226, 1220, -1000, -1000, 1765, - 19145, -1000, -1000, -1000, 1370, 1361, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 1741, -1000, -1000, -1000, -1000, 320, - -395, 1792, 43795, 1000, -1000, 1581, 1509, 316, 164, 1219, - 767, 767, 767, 960, 955, 30243, 1554, -1000, 43795, 388, - -1000, 320, -1000, -124, -128, 1653, -1000, -1000, 2172, -1000, - -1000, 11728, -1000, -1000, 1740, 1870, -1000, -1000, -1000, 464, - -1000, -1000, -1000, 1653, 1653, 1013, -1000, 1653, 1653, 1359, - 1354, -1000, -1000, 1524, -1000, 1512, -1000, 239, 1013, 1901, - -1000, -1000, 5493, -1000, -1000, 2264, 2225, 93, -1000, -1000, - 219, 93, 1028, 1459, 1653, 1422, 1401, 26547, -1000, 2221, - 2212, 30859, 30859, 701, 2275, -165, 19145, 19145, 2012, 975, - -1000, -1000, -1000, -1000, 1208, 1198, -1000, 1196, -1000, 2335, - -1000, 1028, -1000, 164, -1000, 565, 1436, -1000, 2208, 1028, - 43795, 1028, 81, 2264, -1000, 1653, -1000, 1675, 1675, 1675, - 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, - 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, - 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, - 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, 1675, -1000, - -1000, 43795, 1730, -1000, -1000, 2170, 1514, 84, -1000, 1492, - -1000, -1000, 161, -1000, 19145, -1000, 30243, 1190, 1184, -1000, - -1000, -1000, -1000, -403, -1000, -1000, -1000, -1000, -1000, -1000, - 373, 1497, -1000, 749, 43795, 43795, 1013, 323, -103, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 19145, -1000, - 1013, 1897, -1000, -224, -1000, -372, 19145, -158, -1000, -1000, - -158, -1000, 19145, -1000, -1000, 19145, -1000, 19145, 1481, -1000, - -1000, -1000, -1000, -1000, 1481, 1481, -1000, -165, -1000, 1490, - -1000, 43795, 1028, 1424, -1000, 950, -1000, -1000, -1000, -1000, - -1000, 43795, 1436, 43795, -1000, 1477, 1013, 1675, 2208, -1000, - 1466, -1000, 373, -1000, 1738, 1776, -1000, -1000, -1000, 16681, - -1000, -1000, -1000, -1000, -1000, 218, -92, 11728, 8623, 1430, - -1000, -1000, 1989, -88, -108, 1020, -1000, -314, -1000, -1000, - -1000, -1000, 181, -1000, -1000, 1424, -1000, -1000, 1329, 1316, - 1307, 29627, -1000, -1000, -1000, -1000, -165, -1000, -1000, 2169, - -1000, -1000, 1416, -1000, -1000, 25931, 43179, -1000, -82, 238, - -92, 19145, 1728, 1013, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 24, -1000, -1000, -1000, -1000, -1000, 1801, -1000, - 1987, -1000, 1013, -1000, 145, -340, -189, -191, -1000, -1000, - -1000, 19145, -1000, 19145, -1000, 19145, -1000, -1000, -1000, 43795, - 1675, -1000, 1427, -1000, 4449, -207, 1893, -1000, -45, -1000, - -1000, -1000, 899, 989, -1000, -1000, -1000, -1000, -1000, -1000, - 1684, 43795, -1000, 417, -1000, -1000, -97, -98, -1000, 811, - -1000, -1000, -1000, -1000, -1000, 1161, 1012, 1653, -1000, 43795, - -1000, 43179, -201, 694, 5493, -1000, 1887, 1886, 2312, -1000, - -1000, -1000, -1000, -1000, -1000, -412, 1403, 241, -1000, -106, - 145, -1000, 19145, -1000, 19145, -1000, 1013, -1000, -1000, 2152, - 81, -1000, 2324, -1000, 2304, 689, 689, -1000, 954, -412, - -1000, -114, -1000, 1653, 1653, -1000, -211, -1000, -1000, -1000, - -1000, -1000, 396, 1006, -1000, -1000, -1000, -1000, -1000, -1000, - 5493, -1000, -1000, -1000, 240, 240, -1000, -1000, + 2028, 1230, 1230, 1230, 1230, 1230, 20325, 1786, -1000, -1000, + -1000, 2549, 2512, 1300, 1377, 1300, 1581, -1000, 2489, 1230, + 2479, 2467, 2456, 1743, 2436, 2365, 2315, 1230, 1230, 1230, + 1737, 2310, 2260, 2248, 2206, 2173, 2167, 2060, 2045, 2013, + 1230, -152, 1230, 1300, -1000, -1000, -1000, -1000, 2003, 1725, + 1300, 19073, 19073, 1579, 1527, 631, -1000, 1593, 1300, 1300, + 1593, 1593, -1000, 1998, 1991, 1981, 1969, 12788, 1300, -1000, + 1560, 45375, -1000, -315, -1000, 10, 693, 1527, -1000, 31603, + 1300, -1000, 5657, -1000, 46627, -1000, -1000, -1000, -1000, -1000, + 29725, 1587, 2566, -1000, -1000, 1527, 1624, -1000, -1000, 364, + 124, 29099, 694, 694, 147, 1294, 1294, 20325, -1000, -1000, + -1000, -1000, -1000, -1000, 628, 2279, 442, 1527, -1000, 1495, + 2119, -1000, -1000, -1000, 2177, 22834, -1000, 1527, 1527, 45375, + 1641, 1385, -1000, 612, -1000, 1553, 48, 29, -1000, -1000, + -1000, -1000, 1294, -1000, 1241, 359, 3022, -1000, 513, -1000, + -1000, -1000, -1000, 2035, 128, -1000, -1000, -1000, 235, 364, + -1000, -1000, -1000, -1000, -1000, -1000, 1202, 1202, -1000, -1000, + -1000, -1000, -1000, 1040, -1000, -1000, -1000, 1037, -1000, -1000, + 1888, 1845, 338, -1000, -1000, 767, 1192, -1000, -1000, 2053, + 767, 767, 45375, -1000, -1000, 1354, 2116, 270, 45375, 802, + 1881, -1000, 1830, 1830, 1830, 45375, -1000, -1000, -1000, -1000, + -1000, -1000, -402, 76, 376, -1000, -1000, -1000, 398, 45375, + 1612, -1000, 247, -1000, 1352, -1000, 45375, -1000, 1608, 1776, + 1231, 1231, -1000, -1000, -1000, 45375, 1527, -1000, -1000, -1000, + -1000, 565, 2090, 256, -1000, -1000, -177, -1000, -1000, 252, + 247, 709, 1231, -1000, -1000, -1000, -1000, -1000, -403, 1601, + 557, 254, 348, 45375, 45375, 45375, 45375, 45375, 587, -1000, + -1000, -1000, -1000, 239, -1000, -1000, 239, -1000, -1000, -1000, + -1000, 307, 477, -1000, 45375, 45375, 637, -1000, -1000, -1000, + 882, -1000, -1000, 882, -1000, -1000, -1000, -1000, -1000, 2073, + 45375, 27, -361, -1000, -355, 20325, -1000, -1000, -1000, -1000, + 1000, 459, 1609, 20951, 20951, 19073, -78, 792, 792, 28473, + -1000, -1000, -1000, 20325, 20325, 789, -1000, 20325, 995, -1000, + -1000, -1000, 1300, 1560, 1560, 1560, 1560, 1560, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1643, 20325, + 20325, 20325, 1300, 343, -1000, -1000, -1000, -1000, -1000, 2302, + -1000, 20325, 20325, 20325, -1000, -1000, 20325, 20325, -1000, 20325, + 20325, 21577, 1300, 21577, 20325, 20325, 21577, -1000, -1000, -1000, + -1000, 21577, 20325, 20325, 20325, 20325, 20325, 20325, 20325, 20325, + 20325, -1000, -1000, 32855, 94, -152, 2066, 94, 2066, -1000, + 1593, 1593, 19073, 12788, -1000, -1000, -1000, -1000, -1000, 20325, + 20325, 20325, 20325, -1000, -1000, -1000, -1000, -1000, -1000, 693, + -1000, 662, 662, 662, 45375, -1000, -1000, -1000, -1000, -1000, + -1000, 1545, 2203, -1000, 1961, 1959, 2299, 2279, -1000, 25343, + 2566, -1000, -1000, 45375, -305, -1000, 2005, 2077, 694, 694, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 10895, 2220, 20325, + 1876, 45375, 152, -1000, 24717, 45375, 45375, 25343, 25343, 25343, + 25343, 25343, -1000, 1921, 1920, -1000, 1911, 1898, 2011, 45375, + -1000, 1585, 1300, 2230, 22834, 415, 20325, 27221, 1551, 25343, + -1000, -1000, 25343, 45375, 10264, -1000, -1000, 23, 33, -1000, + -1000, -1000, -1000, 3125, -1000, -1000, 396, 2175, 2029, -1000, + -1000, -1000, -1000, -1000, 1583, -1000, 1571, 1522, 1566, 212, + -1000, 1816, 2071, 767, 767, -1000, 1032, -1000, 1231, 1188, + 1185, -1000, -1000, -1000, 550, -1000, 2136, 45375, 1871, 1870, + 1858, -1000, -411, 1031, 1774, 1814, 20325, 1773, 2249, 1471, + 45375, -1000, -1000, 45375, -1000, 231, -1000, 338, 45375, -1000, + -1000, -1000, 339, 45375, -1000, 7358, -1000, -1000, -1000, 247, + -1000, -1000, -1000, -1000, -1000, -1000, 45375, 266, -1000, 1762, + 1283, -1000, -1000, 1824, -1000, -1000, -1000, -1000, 218, 323, + 229, 1167, 229, -1000, 45375, 614, 1845, 45375, -1000, -1000, + -1000, 889, 889, -1000, -1000, 2069, -1000, 1231, 1230, 20951, + 20951, -1000, 710, -1000, 1527, -128, 1757, 1757, -1000, 1757, + 1760, -1000, 1757, 207, 1757, 188, 1757, -1000, -1000, -128, + 1300, 1715, 1042, -1000, 1294, 20325, -1000, -1000, -1000, -1000, + -1000, -1000, -30, 1950, 1907, 1230, -1000, 1754, 1751, 20325, + 1230, 1230, 1230, -1000, 1294, 1743, 1902, 1488, -1000, -1000, + -1000, -1000, 1517, 1230, 1892, -301, 1300, 1564, 1564, 1564, + 1564, 1564, 1560, 1560, 1560, 1560, 45375, -1000, -152, -1000, + -1000, -197, -198, -1000, 1300, -152, 1490, -1000, -1000, 1300, + -1000, 1711, 1706, 1883, 1700, -1000, 2213, 2213, 2213, 1537, + 46001, 45375, -1000, -1000, -1000, -1000, 2279, 2275, 1474, -1000, + -1000, 124, 456, -1000, 1978, 2077, -1000, 2247, 1999, 2246, + -1000, -1000, -1000, -1000, -1000, 1294, -1000, 2110, 1645, -1000, + 778, 1392, -1000, -1000, 18447, 1556, 1951, 609, 1537, 1519, + 2119, 1827, 1853, 2646, -1000, -1000, -1000, -1000, 1912, -1000, + 1905, -1000, -1000, 1731, -1000, -1000, 1436, 1300, 1862, 350, + 25343, 1507, 1507, -1000, 599, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 916, 6565, 2329, -1000, 1166, -1000, 1201, 202, + 1028, -1000, -1000, 767, 767, -1000, 841, 839, -1000, 45375, + 1749, -1000, 364, 1162, 364, 1024, -1000, 1018, -1000, -1000, + -1000, -1000, 1788, 1931, -1000, -1000, -1000, -1000, 45375, -1000, + -1000, 45375, 45375, 45375, 1742, 2243, -1000, 20325, 1741, 771, + 1829, 45375, 45375, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 471, 767, -376, 311, 310, 767, + 767, 767, -417, -1000, -1000, 1531, 1512, -1000, -110, -1000, + 20325, -1000, -1000, -1000, 959, 959, -1000, 1731, -1000, -1000, + -1000, 1347, -1000, -1000, -93, 45375, 45375, 45375, 45375, -1000, + 965, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 710, 20951, 1300, -1000, -1000, 364, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 1300, -1000, 20325, -1000, + 20325, -1000, 1294, 2220, 1155, 20325, 20325, -1000, 1014, 1013, + 1230, -1000, -1000, -1000, 1300, 21577, -1000, 21577, -1000, 20325, + 238, 792, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 1300, 340, -1000, -1000, -1000, -1000, 2293, -1000, + 1300, 20325, -1000, -1000, 20325, -1000, 20325, 20325, -1000, 20325, + 1527, 2094, 1527, 1527, 27221, -1000, -1000, 2275, 2262, 2242, + 1986, 1982, 1982, 1978, -1000, 2240, 2237, -1000, 1153, 2234, + 1152, 836, -1000, 45375, 20325, 152, -1000, 375, 45375, 152, + 45375, -1000, 2231, -1000, -1000, 20325, 1736, -1000, 20325, -1000, + -1000, -1000, -1000, -1000, -1000, 7642, 2279, 1507, -1000, -1000, + 730, -1000, 20325, -1000, -1000, -1000, 8024, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 1150, 1149, -1000, -1000, 1732, + 20325, -1000, -1000, -1000, 1343, 1337, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 1731, -1000, -1000, -1000, -1000, 339, + -407, 1797, 45375, 980, -1000, 1505, 1471, 335, 152, 1144, + 767, 767, 767, 979, 962, 31603, 1493, -1000, 45375, 394, + -1000, 339, -1000, -123, -125, 1230, -1000, -1000, 2170, -1000, + -1000, 12788, -1000, -1000, 1729, 1828, -1000, -1000, -1000, 321, + -1000, -1000, -1000, 1230, 1230, 1300, -1000, 1230, 1230, 1327, + 1308, -1000, -1000, 1488, -1000, 1693, -1000, 238, 1300, 1847, + -1000, -1000, 7642, -1000, -1000, 2231, 2228, 94, -1000, -1000, + 258, 94, 1294, 1646, 1230, 1606, 1548, 27847, -1000, 2225, + 2224, 32229, 32229, 693, 2262, -160, 20325, 20325, 1966, 942, + -1000, -1000, -1000, -1000, 1138, 1123, -1000, 1115, -1000, 2325, + -1000, 1294, -1000, 152, -1000, 597, 1392, -1000, 2220, 1294, + 45375, 1294, 102, 2231, -1000, 1230, -1000, 1527, 1527, 1527, + 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, + 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, + 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, + 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, + 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, -1000, + -1000, 45375, 1792, -1000, -1000, 2147, 1457, 75, -1000, 1422, + -1000, -1000, 150, -1000, 20325, -1000, 31603, 1114, 1109, -1000, + -1000, -1000, -1000, -417, -1000, -1000, -1000, -1000, -1000, -1000, + 415, 1467, -1000, 765, 45375, 45375, 1300, 345, -97, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 20325, -1000, + 1300, 1843, -1000, -254, -1000, -384, 20325, -152, -1000, -1000, + -152, -1000, 20325, -1000, -1000, 20325, -1000, 20325, 1416, -1000, + -1000, -1000, -1000, -1000, 1416, 1416, -1000, -160, -1000, 1400, + -1000, 45375, 1294, 1377, -1000, 917, -1000, -1000, -1000, -1000, + -1000, 45375, 1392, 45375, -1000, 1397, 1300, 1527, 2220, -1000, + 1394, -1000, 415, -1000, 1728, 1814, -1000, -1000, -1000, 17821, + -1000, -1000, -1000, -1000, -1000, 220, -90, 12788, 9633, 1358, + -1000, -1000, 1937, -87, -106, 1743, -1000, -343, -1000, -1000, + -1000, -1000, 189, -1000, -1000, 1377, -1000, -1000, 1539, 1503, + 1459, 30977, -1000, -1000, -1000, -1000, -160, -1000, -1000, 2144, + -1000, -1000, 1303, -1000, -1000, 27221, 44749, -1000, -76, 274, + -90, 20325, 1534, 1300, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -12, -1000, -1000, -1000, -1000, -1000, 1824, -1000, + 1930, -1000, 1300, -1000, 261, -368, -185, -193, -1000, -1000, + -1000, 20325, -1000, 20325, -1000, 20325, -1000, -1000, -1000, 45375, + 1527, -1000, 1340, -1000, 3778, -209, 1840, -1000, -31, -1000, + -1000, -1000, 913, 1060, -1000, -1000, -1000, -1000, -1000, -1000, + 1569, 45375, -1000, 410, -1000, -1000, -93, -95, -1000, 810, + -1000, -1000, -1000, -1000, -1000, 1148, 1102, 1230, -1000, 45375, + -1000, 44749, -203, 709, 7642, -1000, 1837, 1836, 2309, -1000, + -1000, -1000, -1000, -1000, -1000, -419, 1326, 272, -1000, -104, + 261, -1000, 20325, -1000, 20325, -1000, 1300, -1000, -1000, 2132, + 102, -1000, 2317, -1000, 2291, 633, 633, -1000, 955, -419, + -1000, -107, -1000, 1230, 1230, -1000, -214, -1000, -1000, -1000, + -1000, -1000, 400, 994, -1000, -1000, -1000, -1000, -1000, -1000, + 7642, -1000, -1000, -1000, 214, 214, -1000, -1000, } var yyPgo = [...]int{ - 0, 2845, 2844, 49, 3, 37, 36, 2841, 38, 117, - 208, 31, 209, 120, 2840, 2838, 2837, 2835, 2834, 2833, - 2832, 235, 233, 231, 2831, 2830, 2826, 2825, 2822, 2820, - 2819, 2818, 2817, 2815, 237, 180, 201, 2814, 2812, 2811, - 150, 195, 103, 105, 199, 2810, 2809, 92, 2806, 2805, - 2802, 193, 192, 189, 853, 2801, 188, 141, 60, 2799, - 2798, 2797, 2793, 2792, 2791, 2788, 2787, 2786, 2782, 2778, - 2774, 2773, 2771, 2769, 2768, 2767, 214, 2765, 2763, 21, - 2760, 95, 2758, 2757, 2755, 2754, 11, 2752, 2750, 22, - 41, 2749, 2748, 61, 2747, 2746, 2745, 2741, 2740, 20, - 2739, 26, 2738, 42, 2737, 2736, 151, 2734, 2733, 2732, - 43, 2727, 2720, 2713, 2712, 2706, 2704, 2703, 165, 2702, - 2701, 2700, 191, 203, 2699, 2697, 185, 140, 127, 2695, - 2691, 128, 204, 2688, 143, 2686, 2685, 2684, 173, 2683, - 3318, 2682, 2681, 79, 100, 2680, 99, 2676, 10, 94, - 77, 7, 18, 14, 2673, 2672, 78, 102, 2671, 123, - 121, 86, 2669, 126, 119, 2668, 2665, 15, 6, 2664, - 1, 4, 2, 83, 2663, 2662, 148, 2661, 2660, 2658, - 111, 2656, 2645, 5524, 2644, 110, 161, 122, 93, 2641, - 52, 81, 2640, 2639, 2635, 2630, 2629, 67, 2628, 2625, - 2615, 164, 66, 182, 2612, 44, 47, 68, 156, 2610, - 46, 101, 2604, 160, 159, 2600, 2599, 70, 50, 58, - 2598, 125, 154, 149, 59, 115, 158, 2595, 2590, 73, - 89, 2588, 2586, 2584, 2582, 183, 2579, 2578, 84, 2577, - 69, 2575, 206, 2574, 19, 2573, 71, 45, 2566, 80, - 146, 88, 40, 2565, 190, 2564, 75, 186, 152, 179, - 2563, 2556, 2554, 2553, 205, 319, 2550, 2548, 144, 187, - 170, 172, 108, 2546, 333, 2544, 2538, 106, 1357, 5212, - 2523, 48, 181, 2522, 2513, 5552, 177, 53, 27, 2506, - 135, 2503, 2498, 2497, 207, 184, 131, 1054, 74, 2495, - 2493, 91, 12, 2488, 2486, 2483, 2477, 2476, 2475, 142, - 35, 34, 33, 212, 82, 17, 124, 176, 90, 2473, - 2472, 2468, 139, 104, 2467, 178, 175, 145, 130, 2466, - 202, 171, 133, 2463, 523, 32, 2462, 2456, 2453, 2445, - 107, 2443, 2440, 2437, 2433, 174, 166, 138, 96, 2421, - 98, 132, 169, 167, 65, 2418, 63, 2415, 2405, 30, - 198, 29, 2404, 16, 85, 76, 28, 129, 147, 2397, - 0, 2396, 23, 194, 328, 168, 2395, 2394, 5, 8, - 13, 2393, 2387, 2386, 2385, 162, 2373, 2372, 2367, 2366, - 25, 55, 24, 9, 137, 97, 2364, 2361, 4325, 2036, - 155, 2360, 213, + 0, 2788, 2787, 32, 2, 44, 43, 2786, 37, 111, + 199, 34, 200, 122, 2783, 2782, 2781, 2780, 2779, 2778, + 2777, 232, 231, 230, 2776, 2775, 2774, 2773, 2771, 2769, + 2768, 2767, 2766, 2765, 228, 182, 198, 2764, 2763, 2762, + 145, 194, 103, 106, 196, 2761, 2760, 95, 2759, 2757, + 2756, 208, 207, 206, 838, 2754, 204, 136, 67, 2752, + 2751, 2750, 2748, 2745, 2744, 2743, 2742, 2741, 2740, 2739, + 2738, 2737, 2736, 2735, 2734, 2732, 318, 2728, 2727, 21, + 2726, 98, 2725, 2724, 2721, 2720, 9, 2717, 2709, 15, + 41, 2706, 2701, 58, 2700, 2695, 2694, 2693, 2692, 18, + 2691, 27, 2686, 45, 2684, 2680, 150, 2679, 2678, 2677, + 40, 2674, 2671, 2670, 2669, 2668, 2666, 2665, 166, 2664, + 2661, 2659, 184, 201, 2658, 2657, 172, 130, 144, 2656, + 2655, 124, 192, 2654, 142, 2649, 2646, 2641, 174, 2638, + 4166, 2637, 2634, 79, 104, 2626, 75, 2624, 10, 94, + 77, 17, 24, 1, 2623, 2616, 78, 101, 2614, 128, + 123, 81, 2613, 133, 121, 2612, 2611, 12, 6, 2610, + 4, 8, 5, 86, 2608, 2600, 143, 2598, 2597, 2596, + 120, 2593, 2588, 3025, 2577, 108, 156, 125, 93, 2573, + 52, 70, 2571, 2570, 2568, 2567, 2565, 66, 2564, 2563, + 2561, 164, 63, 181, 2558, 48, 46, 68, 155, 2556, + 73, 99, 2555, 162, 159, 2552, 2538, 76, 47, 53, + 2537, 119, 153, 141, 65, 116, 165, 2536, 2534, 74, + 90, 2533, 2529, 2527, 2526, 185, 2525, 2521, 89, 2520, + 69, 2518, 205, 2517, 23, 2513, 61, 55, 2512, 83, + 118, 88, 33, 2511, 225, 2510, 71, 183, 151, 179, + 2509, 2508, 2506, 2505, 197, 327, 2502, 2497, 127, 188, + 169, 170, 105, 2496, 338, 2495, 2492, 137, 1387, 5115, + 2489, 29, 180, 2485, 2484, 6502, 161, 49, 22, 2476, + 148, 2468, 2467, 2466, 213, 186, 126, 1035, 84, 2465, + 2464, 91, 16, 2463, 2461, 2459, 2447, 2445, 2439, 92, + 42, 39, 36, 216, 82, 19, 129, 176, 97, 2437, + 2436, 2435, 147, 110, 2424, 178, 177, 149, 190, 2422, + 189, 167, 160, 2419, 132, 35, 2418, 2416, 2415, 2411, + 107, 2410, 2405, 2403, 2400, 175, 168, 146, 100, 2393, + 102, 140, 173, 171, 60, 2392, 50, 2391, 2388, 30, + 195, 31, 2385, 14, 80, 85, 28, 139, 163, 2383, + 0, 2382, 20, 193, 341, 187, 2374, 2372, 3, 11, + 13, 2371, 2367, 2366, 2364, 158, 2362, 2361, 2360, 2358, + 26, 59, 25, 7, 134, 96, 2356, 2350, 4208, 2076, + 152, 2346, 212, } -//line sql.y:7569 +//line sql.y:7619 type yySymType struct { union any empty struct{} @@ -7193,6 +7380,7 @@ var yyR1 = [...]int{ 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 159, 159, 159, 159, 216, 216, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 299, 299, @@ -7270,6 +7458,7 @@ var yyR1 = [...]int{ 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, + 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 398, 399, 294, 295, 295, 295, } @@ -7384,7 +7573,8 @@ var yyR2 = [...]int{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 4, 5, 5, 6, 4, 4, 8, 6, 8, 6, 5, 4, 2, 2, 1, 2, 2, 2, - 5, 5, 5, 5, 5, 5, 8, 8, 8, 6, + 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 8, 8, 8, 6, 5, 4, 4, 4, 4, 4, 7, 4, 6, 6, 6, 4, 4, 4, 7, 8, 6, 5, 6, 8, 11, 7, 8, 8, 9, 4, 4, 4, 4, 6, @@ -7467,6 +7657,7 @@ var yyR2 = [...]int{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, } @@ -7479,107 +7670,109 @@ var yyChk = [...]int{ -50, 225, 224, 261, 226, 254, 74, 307, 308, 310, 311, 312, 313, -105, 259, 260, 228, 36, 45, 33, 34, 37, 232, 267, 268, 231, -10, -34, 8, -398, - 11, 438, 256, 255, 28, -12, 481, 86, -397, 625, + 11, 438, 256, 255, 28, -12, 491, 86, -397, 635, -242, -226, 22, 33, 29, -225, -221, -123, -226, 20, 18, 7, -76, -401, -76, -76, 12, 13, -76, -336, -338, 86, 156, 86, -76, -55, -54, -52, -51, -53, -56, 31, -45, -46, -360, -44, -41, 227, 224, 271, 120, 121, 261, 262, 263, 226, 245, 260, 264, 259, - 280, -40, 81, 33, 481, 484, -343, 223, 229, 230, - 439, 123, 122, 75, 225, -340, 361, 514, 595, -56, - 597, 102, 104, 596, 44, 235, 598, 599, 600, 521, - 601, 244, 602, 603, 604, 605, 611, 563, 612, 613, - 614, 124, 7, -76, -289, -285, -370, -278, 89, 90, - 91, 478, 247, 512, 513, 296, 81, 41, 487, 358, - 361, 514, 468, 595, 307, 321, 315, 342, 334, 479, - 515, 488, 299, 248, 284, 589, 332, 132, 597, 302, - 516, 262, 366, 367, 517, 368, 102, 310, 405, 610, - 301, 518, 608, 104, 596, 79, 467, 51, 592, 44, - 257, 330, 231, 326, 598, 285, 519, 490, 278, 123, - 120, 617, 36, 324, 50, 30, 607, 122, 49, 599, - 147, 520, 600, 521, 370, 349, 583, 48, 371, 263, - 522, 84, 268, 483, 305, 591, 372, 325, 373, 295, - 606, 228, 523, 575, 374, 375, 584, 524, 350, 354, - 525, 397, 472, 376, 624, 52, 526, 527, 585, 121, - 528, 78, 601, 80, 319, 320, 529, 293, 246, 399, - 346, 450, 457, 458, 108, 109, 453, 110, 459, 111, - 460, 461, 462, 451, 112, 105, 452, 463, 464, 347, - 348, 113, 465, 107, 106, 454, 456, 114, 466, 244, - 35, 377, 480, 297, 58, 272, 400, 46, 352, 621, - 45, 579, 530, 582, 345, 341, 447, 53, 531, 532, - 533, 534, 469, 602, 344, 318, 340, 616, 4, 290, - 470, 603, 62, 230, 356, 355, 357, 279, 396, 337, - 535, 536, 537, 251, 82, 538, 327, 21, 539, 540, - 378, 286, 541, 56, 542, 543, 403, 260, 544, 54, - 604, 39, 545, 265, 618, 605, 546, 547, 548, 549, - 267, 550, 380, 551, 379, 351, 353, 274, 381, 482, - 552, 306, 323, 264, 609, 553, 252, 473, 474, 475, - 476, 590, 266, 271, 259, 404, 253, 554, 555, 556, - 557, 558, 300, 574, 559, 560, 311, 611, 448, 43, - 561, 562, 563, 564, 565, 294, 289, 398, 407, 61, - 83, 363, 566, 567, 588, 317, 287, 568, 308, 55, - 612, 613, 614, 281, 615, 9, 622, 623, 471, 383, - 124, 291, 292, 47, 338, 273, 569, 303, 570, 328, - 329, 343, 316, 339, 309, 576, 275, 384, 449, 261, - 571, 406, 288, 359, 364, 304, 486, 280, 385, 587, - 485, 336, 333, 282, 572, 386, 236, 276, 277, 573, - 577, 387, 388, 298, 389, 390, 391, 392, 393, 395, - 394, 283, 484, 314, 331, 365, 419, 420, 421, 422, + 280, -40, 81, 33, 491, 494, -343, 223, 229, 230, + 439, 123, 122, 75, 225, -340, 361, 524, 605, -56, + 607, 102, 104, 606, 44, 235, 608, 609, 610, 531, + 611, 244, 612, 613, 614, 615, 621, 573, 622, 623, + 624, 124, 7, -76, -289, -285, -370, -278, 89, 90, + 91, 488, 247, 522, 523, 296, 81, 41, 497, 358, + 361, 524, 468, 605, 307, 321, 315, 473, 474, 475, + 342, 334, 489, 525, 498, 299, 248, 284, 599, 332, + 132, 607, 302, 526, 262, 366, 367, 527, 368, 102, + 310, 405, 620, 301, 528, 618, 104, 606, 79, 467, + 51, 602, 44, 257, 330, 231, 326, 608, 285, 529, + 500, 278, 123, 120, 627, 36, 324, 50, 30, 617, + 122, 49, 609, 147, 530, 610, 531, 370, 349, 593, + 48, 371, 263, 532, 84, 268, 493, 305, 601, 372, + 325, 373, 295, 616, 228, 533, 585, 374, 375, 594, + 534, 350, 354, 535, 397, 472, 376, 634, 52, 536, + 537, 595, 121, 538, 78, 611, 80, 319, 320, 539, + 293, 246, 399, 346, 450, 457, 458, 108, 109, 453, + 110, 459, 111, 460, 461, 462, 451, 112, 105, 452, + 463, 464, 347, 348, 113, 465, 107, 106, 454, 456, + 114, 466, 244, 35, 377, 490, 297, 58, 272, 400, + 46, 352, 631, 45, 589, 540, 592, 345, 341, 447, + 53, 541, 542, 543, 544, 469, 612, 344, 318, 340, + 626, 4, 290, 470, 613, 62, 230, 356, 355, 357, + 279, 396, 337, 545, 546, 547, 251, 82, 548, 327, + 21, 549, 550, 378, 286, 551, 56, 552, 553, 403, + 260, 554, 54, 614, 39, 555, 265, 628, 615, 556, + 557, 558, 559, 267, 560, 380, 561, 379, 351, 353, + 274, 381, 492, 562, 306, 323, 264, 619, 563, 252, + 483, 484, 485, 486, 600, 266, 271, 259, 404, 253, + 564, 565, 566, 567, 568, 300, 584, 569, 570, 311, + 621, 448, 43, 571, 572, 573, 574, 575, 294, 289, + 398, 407, 61, 83, 363, 576, 577, 598, 317, 287, + 578, 308, 55, 622, 623, 624, 281, 625, 476, 477, + 478, 479, 9, 632, 633, 471, 383, 124, 291, 292, + 47, 338, 273, 579, 303, 580, 328, 329, 343, 316, + 339, 309, 586, 275, 384, 449, 261, 581, 406, 288, + 359, 364, 304, 496, 280, 385, 597, 495, 480, 481, + 336, 333, 282, 482, 582, 386, 236, 276, 277, 583, + 587, 387, 388, 298, 389, 390, 391, 392, 393, 395, + 394, 283, 494, 314, 331, 365, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 446, 234, -76, 234, -183, -285, 234, -254, 367, -275, 369, 382, 377, 387, 375, -266, 378, 380, 274, -387, 397, 234, 384, 222, 370, 379, 388, 389, 298, 395, 390, 394, 283, 391, 392, 393, - -370, 174, 600, 615, 132, 335, 374, 372, 398, 579, + -370, 174, 610, 625, 132, 335, 374, 372, 398, 589, -285, 309, -292, 314, -279, -370, -278, 312, -183, -82, - 575, 226, -294, -294, -125, 579, 581, -202, -140, 140, + 585, 226, -294, -294, -125, 589, 591, -202, -140, 140, -154, -157, -146, -149, -196, -197, -198, -199, -155, -210, - 163, 164, 171, 141, -208, -158, 26, 477, 440, 439, + 163, 164, 171, 141, -208, -158, 26, 487, 440, 439, 174, 31, -148, 68, 69, 442, 143, 57, 415, 416, - -156, 410, 417, 412, 467, 469, 470, 471, 468, 472, + -156, 410, 417, 412, 467, 469, 470, 471, 468, 473, + 474, 475, 476, 477, 478, 479, 480, 481, 482, 472, 444, 445, 115, 446, 105, 107, 106, 447, 448, 449, 347, 348, 450, 451, 452, 108, 109, 110, 111, 112, 113, 114, 453, 456, 454, 455, 457, 458, 459, 464, - 465, 460, 461, 462, 463, 466, -85, -97, 503, 502, + 465, 460, 461, 462, 463, 466, -85, -97, 513, 512, -98, -147, -279, -285, 239, 409, 233, 169, 438, -150, - -144, -8, -206, 217, 408, 413, 414, 418, 411, 489, - 491, 506, 507, 509, 494, 499, 498, 501, 473, 474, - 475, 476, -370, -278, -152, -151, -192, 92, 98, 103, - 99, -393, 116, -398, 593, 93, 94, 95, 96, 97, + -144, -8, -206, 217, 408, 413, 414, 418, 411, 499, + 501, 516, 517, 519, 504, 509, 508, 511, 483, 484, + 485, 486, -370, -278, -152, -151, -192, 92, 98, 103, + 99, -393, 116, -398, 603, 93, 94, 95, 96, 97, 117, 118, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 44, 383, 383, -183, -76, -76, -76, -76, -219, -123, -221, -10, -8, -398, 8, -76, - -8, -9, -13, -34, -36, 508, -35, -285, -226, -242, + -8, -9, -13, -34, -36, 518, -35, -285, -226, -242, 12, 159, 42, 50, -224, -225, -12, -8, -140, 19, 23, 24, -128, 165, -140, -285, -77, -128, -264, 238, -76, -76, -253, -297, 309, -257, 398, 397, -281, -255, -279, -277, -254, 396, 227, 23, 139, 25, 27, 142, 174, 127, 19, 143, 37, 229, 335, 245, 173, 241, - 439, 222, 72, 489, 410, 412, 408, 415, 441, 442, - 409, 369, 31, 13, 491, 28, 255, 24, 38, 167, - 224, 146, 492, 258, 26, 256, 115, 118, 494, 22, - 75, 250, 14, 243, 40, 16, 495, 496, 17, 239, - 238, 159, 235, 70, 11, 217, 29, 155, 66, 497, - 134, 498, 499, 500, 501, 128, 68, 156, 20, 619, - 413, 414, 33, 580, 477, 269, 169, 73, 59, 581, - 140, 411, 502, 503, 116, 504, 119, 76, 586, 136, - 18, 71, 42, 505, 270, 506, 240, 620, 507, 401, - 508, 157, 225, 438, 69, 158, 593, 509, 594, 233, - 382, 8, 443, 32, 254, 242, 126, 67, 510, 234, + 439, 222, 72, 499, 410, 412, 408, 415, 441, 442, + 409, 369, 31, 13, 501, 28, 255, 24, 38, 167, + 224, 146, 502, 258, 26, 256, 115, 118, 504, 22, + 75, 250, 14, 243, 40, 16, 505, 506, 17, 239, + 238, 159, 235, 70, 11, 217, 29, 155, 66, 507, + 134, 508, 509, 510, 511, 128, 68, 156, 20, 629, + 413, 414, 33, 590, 487, 269, 169, 73, 59, 591, + 140, 411, 512, 513, 116, 514, 119, 76, 596, 136, + 18, 71, 42, 515, 270, 516, 240, 630, 517, 401, + 518, 157, 225, 438, 69, 158, 603, 519, 604, 233, + 382, 8, 443, 32, 254, 242, 126, 67, 520, 234, 145, 444, 445, 237, 129, 117, 7, 133, 34, 12, - 74, 77, 416, 417, 418, 57, 125, 481, 144, 15, - 511, 402, 138, 132, -337, 156, -323, -327, -279, 249, + 74, 77, 416, 417, 418, 57, 125, 491, 144, 15, + 521, 402, 138, 132, -337, 156, -323, -327, -279, 249, -353, 245, -183, -346, -345, -279, -398, -124, -274, 235, 243, 242, 133, -374, 136, 291, 409, 233, -51, -52, - -53, -254, 173, 599, -106, 266, 270, 87, 87, -327, + -53, -254, 173, 609, -106, 266, 270, 87, 87, -327, -326, -325, -375, 270, 249, -352, -344, 241, 250, -333, 242, 243, -328, 235, 134, -375, -328, 240, 250, 245, 249, 270, 270, 124, 270, 124, 270, 270, 270, 270, - 270, 270, 270, 270, 270, 265, -334, 148, -334, 485, - 485, -340, -375, 245, 235, -375, -375, 237, 35, 35, + 270, 270, 270, 270, 270, 265, -334, 148, -334, 495, + 495, -340, -375, 245, 235, -375, -375, 237, 35, 35, -276, -328, 237, 25, -334, -334, -334, -254, 173, -334, -334, -334, -334, 278, 278, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, -334, @@ -7590,10 +7783,10 @@ var yyChk = [...]int{ 281, 366, 281, 282, 281, 282, 376, 386, 281, -290, 14, 159, 409, 371, 375, 274, 234, 275, 236, 385, 282, -290, 93, -269, 156, 383, 277, -268, -268, -295, - -398, -281, 335, -370, 582, -295, -295, 32, 90, 237, + -398, -281, 335, -370, 592, -295, -295, 32, 90, 237, -279, -78, -279, 93, -15, -11, -22, -21, -23, 148, - -130, 383, -118, 174, 600, 583, 584, 585, 582, 380, - 590, 588, 586, 281, 587, 87, 136, 138, 139, 4, + -130, 383, -118, 174, 610, 593, 594, 595, 592, 380, + 600, 598, 596, 281, 597, 87, 136, 138, 139, 4, -140, 155, -193, 148, 149, 150, 151, 152, 153, 154, 159, 140, 142, 156, -235, 137, 160, 161, 162, 163, 164, 165, 166, 168, 167, 169, 170, 157, 158, 173, @@ -7604,6 +7797,7 @@ var yyChk = [...]int{ -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, + -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, -398, 218, -398, -398, -398, -398, -398, -149, -313, -313, -313, -313, -313, -398, -398, -398, -398, 103, 98, 92, -210, 99, 93, -279, -285, -8, -9, @@ -7618,7 +7812,7 @@ var yyChk = [...]int{ -305, -307, -306, -308, -303, -304, 332, 333, 174, 336, 338, 339, 340, 341, 342, 343, 344, 345, 346, 349, 32, 257, 328, 329, 330, 331, 350, 351, 352, 353, - 354, 355, 356, 357, 315, 334, 479, 316, 317, 318, + 354, 355, 356, 357, 315, 334, 489, 316, 317, 318, 319, 320, 321, 323, 324, 325, 326, 327, -373, -370, 86, 88, 87, -309, 86, -140, -132, 234, -370, 235, 235, 235, -76, 438, -334, -334, -334, 265, 19, -44, @@ -7631,23 +7825,24 @@ var yyChk = [...]int{ -370, -370, -210, -323, -254, -183, -370, 95, 95, 95, -334, -334, 95, 93, 93, 93, -334, -334, 95, 93, -287, -285, 93, 93, -376, 251, 295, 297, 95, 95, - 95, 95, 31, 93, -377, 31, 607, 606, 608, 609, - 610, 93, 95, 31, 95, 31, 95, -279, 86, -183, + 95, 95, 31, 93, -377, 31, 617, 616, 618, 619, + 620, 93, 95, 31, 95, 31, 95, -279, 86, -183, -138, 285, 222, 224, 227, 76, 93, 299, 303, 304, 148, 44, 87, 237, 234, -370, -270, 239, -270, -279, -286, -285, -277, 93, -140, -330, 14, 159, -290, -290, -268, -183, -330, -290, -268, -183, -268, -268, -268, -268, -290, -290, -290, -268, -285, -285, -183, -183, -183, -183, - -183, -183, -183, -295, -269, -268, 582, 93, -262, 14, - 76, -295, -295, -293, 312, 346, 576, 577, 578, 87, - 481, -176, -183, 582, 582, 582, 582, 582, 582, -140, - -140, -140, -140, 504, -200, 116, 140, 117, 118, -157, + -183, -183, -183, -295, -269, -268, 592, 93, -262, 14, + 76, -295, -295, -293, 312, 346, 586, 587, 588, 87, + 491, -176, -183, 592, 592, 592, 592, 592, 592, -140, + -140, -140, -140, 514, -200, 116, 140, 117, 118, -157, -201, -206, -208, 100, 159, 142, 156, -235, -146, -149, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -296, -279, 93, 174, -153, -152, 99, -393, -153, -126, -128, -140, -140, -370, -126, -126, -140, -212, -213, 144, -210, -399, -399, 95, 99, -122, 24, - 38, -122, -122, -122, -122, -122, -279, -279, -115, -114, + 38, -122, -122, -122, -122, -202, -202, -202, -202, -202, + -202, -202, -202, -202, -202, -122, -279, -279, -115, -114, 420, 421, 422, 423, 425, 426, 427, 430, 431, 435, 436, 419, 437, 424, 429, 432, 433, 434, 428, 331, -140, -140, -140, -140, -140, -140, -83, -140, 127, 128, @@ -7657,40 +7852,41 @@ var yyChk = [...]int{ -140, -399, -140, -159, -144, 95, -370, 99, -140, -140, -127, 24, 38, -126, -281, -286, -277, -126, -127, -127, -126, -126, -279, -140, -140, -140, -140, 218, -242, -399, - -202, 87, -386, 401, 402, 580, -288, 270, -287, 25, + -202, 87, -386, 401, 402, 590, -288, 270, -287, 25, -203, 93, 14, -248, 77, -279, -224, -224, 63, 64, 59, -126, -131, -399, -35, 25, -244, -279, 62, 93, -314, -254, 358, 359, 174, -140, -140, 87, -223, 27, 28, -183, -282, 165, -286, -183, -249, 270, -183, -161, - -163, -164, -165, -186, -209, -398, -166, 500, 497, 14, + -163, -164, -165, -186, -209, -398, -166, 510, 507, 14, -176, -177, -185, -285, -257, -259, 87, 400, 402, 403, 76, 119, -140, -315, 173, -342, -341, -340, -323, -325, -326, -327, 88, -315, -319, 364, 363, -309, -309, -309, -309, -309, -314, -314, -314, -314, 86, 86, -309, -309, -309, -309, -317, 86, -317, -317, -318, 86, -318, -353, - -140, -350, -349, -347, -348, 244, 102, 573, 529, 481, - 521, 563, 77, -345, -223, 95, -399, -138, -271, 239, + -140, -350, -349, -347, -348, 244, 102, 583, 539, 491, + 531, 573, 77, -345, -223, 95, -399, -138, -271, 239, -351, -348, -370, -370, -370, -271, -370, 93, -370, 93, - -370, 93, -107, -58, -1, 619, 620, 621, 87, 19, + -370, 93, -107, -58, -1, 629, 630, 631, 87, 19, -324, -323, -57, 295, -356, -357, 270, -352, -346, -332, 134, -331, -332, -332, -370, 87, 29, 124, 124, 124, - 124, 481, 224, 32, -272, 520, 140, 573, 529, -323, - -57, -296, 237, -296, -296, 93, 93, -267, 615, -176, + 124, 491, 224, 32, -272, 530, 140, 583, 539, -323, + -57, -296, 237, -296, -296, 93, 93, -267, 625, -176, -134, 287, 148, 276, 276, 234, 234, 289, -183, 300, 302, 301, 299, 303, 304, 23, 23, 23, 288, 290, 292, 278, -183, -183, -270, 76, -178, -183, 26, -285, -183, -268, -268, -183, -268, -268, -183, -279, -118, 401, - 87, 481, 22, -119, 22, -398, 116, 117, 118, -201, + 87, 491, 22, -119, 22, -398, 116, 117, 118, -201, -146, -149, -146, 139, 258, 87, -399, 25, 87, 77, -399, -399, -399, 87, 14, -215, -213, 146, -140, -399, - -399, -399, 165, -202, -202, -202, -202, -202, -202, 87, + -399, -399, 165, -202, -202, -202, -202, -202, -399, -399, + -399, -399, -399, -399, -399, -399, -399, -399, -202, 87, 87, 14, -300, 25, -399, -399, -399, -399, -399, -214, -399, 14, 87, 87, -399, -399, 87, 87, -399, 87, 87, 87, -366, 87, 87, 87, 87, -399, -399, -399, -399, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, -399, -90, 505, -399, -399, 87, -399, 87, -399, + 87, -399, -90, 515, -399, -399, 87, -399, 87, -399, -126, -126, -398, 218, -399, -399, -399, -399, -399, 87, - 87, 87, 87, -281, -399, -385, 579, 402, -190, -189, + 87, 87, 87, -281, -399, -385, 589, 402, -190, -189, -187, 74, 238, 75, -398, -287, -399, -153, 90, -245, 90, -244, -195, -279, 95, 99, -226, -160, -162, 14, -131, -208, 88, 87, -314, -230, -236, -265, -279, 93, @@ -7700,49 +7896,49 @@ var yyChk = [...]int{ 25, -161, -9, -8, -398, -398, -398, -183, -176, -400, 14, 77, -400, 87, 218, -258, -260, 404, 401, 407, -370, 93, -106, 87, -340, -327, -227, -135, 40, -320, - 365, -314, 488, -314, -322, 93, -322, 95, 95, 88, + 365, -314, 498, -314, -322, 93, -322, 95, 95, 88, -47, -42, -43, 33, 81, -347, -334, 93, 39, -334, -334, -279, 88, -223, -134, -183, 140, 76, -351, -351, - -351, -285, -2, 618, 624, 134, 86, 368, 18, -244, + -351, -285, -2, 628, 634, 134, 86, 368, 18, -244, 87, 88, -211, 296, 88, -108, -279, 88, 86, -332, - -332, -279, -398, 234, 31, 31, 573, 529, 520, -57, - -211, -315, -370, 617, 616, 88, 236, 294, -139, 415, + -332, -279, -398, 234, 31, 31, 583, 539, 530, -57, + -211, -315, -370, 627, 626, 88, 236, 294, -139, 415, -136, 93, 89, -183, -183, -183, -183, -183, 227, 224, -394, 305, -394, 279, 237, -176, -183, 87, -81, 253, - 248, -290, -290, 33, -183, 401, 591, 589, -140, 139, - 258, -157, -149, -128, 478, -298, 174, 332, 257, 330, + 248, -290, -290, 33, -183, 401, 601, 599, -140, 139, + 258, -157, -149, -128, 488, -298, 174, 332, 257, 330, 326, 346, 337, 363, 328, 364, 325, 324, 323, -298, -296, -140, -140, 147, -140, 145, -399, -399, -399, -399, -399, -399, -219, -140, -140, -140, -399, 174, 332, 14, -140, -140, -140, -367, -140, -140, -140, -365, -364, -153, -210, -399, -365, -140, -140, -364, -364, -368, -368, -368, -368, -368, -202, -202, -202, -202, -398, -279, -93, -92, - -91, 556, 238, -90, -159, -93, -159, -399, -399, -127, + -91, 566, 238, -90, -159, -93, -159, -399, -399, -127, -281, -140, -140, -140, -140, -187, -328, -328, -328, -250, 87, -261, 22, 14, 57, 57, -160, -191, -161, -131, - -279, -233, 575, -239, 46, -237, -238, 47, -234, 48, + -279, -233, 585, -239, 46, -237, -238, 47, -234, 48, 56, -316, -316, 165, -224, -140, -251, 76, -252, -256, -210, -205, -207, -206, -398, -243, -399, -279, -250, -252, -163, -164, -164, -163, -164, 66, 66, 66, 71, 66, 71, 66, -180, -285, -399, -399, -9, -9, -140, -288, 77, -161, -161, -185, -285, 165, 401, 405, 406, -340, - -392, 116, 140, 31, 76, 361, 102, -390, 173, 517, - 568, 573, 529, 521, 563, -391, 240, 133, 134, 252, + -392, 116, 140, 31, 76, 361, 102, -390, 173, 527, + 578, 583, 539, 531, 573, -391, 240, 133, 134, 252, 25, 41, 88, 87, 88, 87, 88, 87, -273, -272, -43, -42, -334, -334, 95, -370, 93, 93, 236, 26, - -183, 76, 76, 76, -109, 622, 95, 86, -3, 81, + -183, 76, 76, 76, -109, 632, 95, 86, -3, 81, -140, 86, 19, -323, -210, -358, -310, -359, -311, -312, - -5, -6, -335, -112, 57, 102, -61, 44, 235, 602, - 603, 124, -398, 615, -350, -244, -354, -356, -183, -143, + -5, -6, -335, -112, 57, 102, -61, 44, 235, 612, + 613, 124, -398, 625, -350, -244, -354, -356, -183, -143, -398, -142, -144, -150, 163, 164, -211, -183, -133, 285, 293, 86, -137, 90, -372, 77, 276, 361, 276, -395, 306, 93, -395, -183, -81, -47, -183, -268, -268, 33, - -370, -399, -157, -149, -398, -301, 487, -309, -309, -309, + -370, -399, -157, -149, -398, -301, 497, -309, -309, -309, -318, -309, 320, -309, 320, -309, -301, -399, 87, -399, 22, -399, -140, -117, 443, 87, 87, -399, 86, 86, -140, -399, -399, -399, -366, 87, -399, 87, -399, 87, - -299, 574, -399, -399, -399, -399, -399, -399, -399, -399, - -399, -399, -89, -280, -279, -90, 538, 538, -399, -90, + -299, 584, -399, -399, -399, -399, -399, -399, -399, -399, + -399, -399, -89, -280, -279, -90, 548, 548, -399, -90, -216, 87, -399, -399, 87, -399, 87, 87, -399, 87, -188, 22, -188, -188, -399, 90, -183, -191, -217, 16, -230, 51, 338, -241, -240, 55, 47, -238, 19, 49, @@ -7750,56 +7946,57 @@ var yyChk = [...]int{ 218, -399, -191, -174, -173, 76, 77, -175, 76, -173, 66, 66, -246, -399, -399, 87, -249, -161, -191, -191, 218, 116, -398, -145, -156, -143, 12, 93, 93, -370, - -389, 606, 607, 31, 95, -334, -334, 134, 134, -183, + -389, 616, 617, 31, 95, -334, -334, 134, 134, -183, 86, -314, 93, -314, 95, 95, 31, 82, 83, 84, 31, 78, 79, 80, -183, -183, -183, -183, -355, 86, 19, -140, 86, 148, 88, -244, -244, 272, 159, -334, - 600, 278, 278, -334, -334, -334, -111, -110, 622, 88, - -399, 87, -321, 481, 484, -140, -151, -151, -246, 88, - -363, 481, -371, -279, -279, -279, -279, 95, 97, -146, + 610, 278, 278, -334, -334, -334, -111, -110, 632, 88, + -399, 87, -321, 491, 494, -140, -151, -151, -246, 88, + -363, 491, -371, -279, -279, -279, -279, 95, 97, -146, -399, -314, -399, -140, -140, -224, 93, -140, -140, 95, 95, -399, -399, -365, -364, -140, -399, -171, -170, -172, - 583, 116, 31, -298, -399, -204, 270, -96, -95, -94, + 593, 116, 31, -298, -399, -204, 270, -96, -95, -94, 14, -399, -140, -140, -140, -140, -140, -398, 66, 18, 16, -398, -398, -288, -217, -218, 17, 19, -231, 53, -229, 52, -229, -240, 19, 19, 93, 19, 93, 134, -256, -140, -207, 57, -11, -279, -205, -279, -219, -140, 86, -140, -153, -191, -191, -140, -197, 467, 469, 470, - 471, 468, 472, 446, 105, 107, 106, 447, 448, 449, + 471, 468, 473, 474, 475, 476, 477, 478, 479, 480, + 481, 482, 472, 446, 105, 107, 106, 447, 448, 449, 347, 348, 450, 451, 452, 108, 109, 110, 111, 112, 113, 114, 453, 456, 454, 457, 458, 459, 464, 465, - 460, 461, 462, 463, 466, 473, 474, 475, 476, 93, + 460, 461, 462, 463, 466, 483, 484, 485, 486, 93, 93, 86, -140, 88, 88, -246, -354, -58, 88, -244, 95, 88, 273, -206, -398, 93, -334, -334, -334, 95, - 95, -287, -399, 87, -279, -391, -356, 485, 485, -399, - 25, -362, -361, -281, 86, 77, -121, 159, 481, -399, + 95, -287, -399, 87, -279, -391, -356, 495, 495, -399, + 25, -362, -361, -281, 86, 77, -121, 159, 491, -399, -399, -399, -399, -399, 88, 88, -399, -399, 87, -399, -170, -172, -399, 76, -153, -219, 19, -93, 295, 297, -93, -399, 87, -399, -399, 87, -399, 87, -247, -399, -279, 240, 19, 19, -247, -247, -190, -218, -103, -102, - -101, 511, -140, -202, -232, 54, 76, 119, 93, 93, + -101, 521, -140, -202, -232, 54, 76, 119, 93, 93, 93, 12, -205, 218, -224, -244, -168, 368, -219, -399, - -244, 88, 25, 88, 624, 134, 88, -206, -120, -398, + -244, 88, 25, 88, 634, 134, 88, -206, -120, -398, 269, -287, 93, 93, -110, -113, -11, 87, 148, -244, - -183, -399, 479, 73, 482, -140, -399, 76, 492, 583, - -88, -87, -84, 594, 620, -202, -90, -90, -140, -140, + -183, -399, 489, 73, 492, -140, -399, 76, 502, 593, + -88, -87, -84, 604, 630, -202, -90, -90, -140, -140, -140, 87, -399, -399, -399, -103, 87, -100, -99, -279, 76, 119, -252, -279, 88, -399, -398, -224, 88, -228, -11, 86, -3, 269, -310, -359, -311, -312, -5, -6, - -335, -79, 481, -361, -339, -281, 93, 95, 88, 62, - 480, 483, -366, -86, 142, 592, 571, -141, -151, -148, + -335, -79, 491, -361, -339, -281, 93, 95, 88, 62, + 490, 493, -366, -86, 142, 602, 581, -141, -151, -148, -399, 87, -399, 87, -399, 87, -279, 240, -101, 87, - 25, -288, -169, -167, -279, 535, -382, -381, 477, -392, - -388, 116, 140, 102, -390, 573, 529, 125, 126, -79, - -140, 86, -399, -80, 284, 579, -372, 62, -399, -86, - 593, 549, 523, 549, 523, -140, -140, -140, -99, -398, - -399, 87, 22, -302, -60, 546, -379, -380, 76, -383, - 374, 545, 566, 116, 93, 88, -244, 245, -363, 481, - 139, -399, 87, -399, 87, -399, -89, -167, 542, -315, - -153, -380, 76, -379, 76, 13, 12, -4, 623, 88, - 286, 482, -86, -140, -140, -399, -59, 26, -168, -378, - 253, 248, 251, 32, -378, 95, -4, 483, -399, -399, - 546, 247, 31, 116, -153, -171, -170, -170, + 25, -288, -169, -167, -279, 545, -382, -381, 487, -392, + -388, 116, 140, 102, -390, 583, 539, 125, 126, -79, + -140, 86, -399, -80, 284, 589, -372, 62, -399, -86, + 603, 559, 533, 559, 533, -140, -140, -140, -99, -398, + -399, 87, 22, -302, -60, 556, -379, -380, 76, -383, + 374, 555, 576, 116, 93, 88, -244, 245, -363, 491, + 139, -399, 87, -399, 87, -399, -89, -167, 552, -315, + -153, -380, 76, -379, 76, 13, 12, -4, 633, 88, + 286, 492, -86, -140, -140, -399, -59, 26, -168, -378, + 253, 248, 251, 32, -378, 95, -4, 493, -399, -399, + 556, 247, 31, 116, -153, -171, -170, -170, } var yyDef = [...]int{ @@ -7808,22 +8005,21 @@ var yyDef = [...]int{ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 68, 70, 71, 827, 827, 827, 0, 827, 0, 0, 827, -2, -2, 827, - 1401, 0, 827, 0, 0, -2, 759, 761, 0, 763, - -2, 0, 0, 772, 1920, 1920, 822, 0, 0, 0, - 0, 0, 827, 827, 827, 827, 1260, 48, 827, 0, - 83, 84, 778, 779, 780, 63, 0, 1918, 1, 3, - 69, 73, 0, 0, 0, 56, 1269, 0, 76, 0, - 0, 831, 0, 829, 0, 1384, 827, 827, 0, 114, + 1411, 0, 827, 0, 0, -2, 759, 761, 0, 763, + -2, 0, 0, 772, 1940, 1940, 822, 0, 0, 0, + 0, 0, 827, 827, 827, 827, 1270, 48, 827, 0, + 83, 84, 778, 779, 780, 63, 0, 1938, 1, 3, + 69, 73, 0, 0, 0, 56, 1279, 0, 76, 0, + 0, 831, 0, 829, 0, 1394, 827, 827, 0, 114, 115, 0, 0, 0, -2, 118, -2, 147, 148, 149, 0, 154, 573, 501, 552, 499, 537, -2, 487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 504, 377, 377, 0, 0, -2, 487, 487, 487, - 0, 0, 0, 534, 1386, 439, 377, 377, 377, 0, + 0, 0, 0, 534, 1396, 439, 377, 377, 377, 0, 377, 377, 377, 377, 0, 0, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, - 377, 377, 377, 1287, 153, 1402, 1399, 1400, 38, 39, - 40, 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562, - 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, + 377, 377, 377, 1297, 153, 1412, 1409, 1410, 38, 39, + 40, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, @@ -7858,38 +8054,40 @@ var yyDef = [...]int{ 1883, 1884, 1885, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1896, 1897, 1898, 1899, 1900, 1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910, 1911, 1912, - 1913, 1914, 1915, 1916, 1917, 0, 1378, 0, 686, 928, + 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920, 1921, 1922, + 1923, 1924, 1925, 1926, 1927, 1928, 1929, 1930, 1931, 1932, + 1933, 1934, 1935, 1936, 1937, 0, 1388, 0, 686, 928, 0, 748, 748, 0, 748, 748, 748, 748, 0, 0, 0, 698, 0, 0, 0, 0, 745, 0, 714, 715, 0, 745, 0, 721, 751, 0, 726, 748, 748, 729, - 1921, 0, 1921, 1921, 1369, 0, 742, 740, 754, 755, - 758, 762, 0, 767, 770, 1395, 1396, 0, 785, 47, - 1646, 777, 790, 791, 0, 823, 824, 43, 1070, 0, + 1941, 0, 1941, 1941, 1379, 0, 742, 740, 754, 755, + 758, 762, 0, 767, 770, 1405, 1406, 0, 785, 47, + 1659, 777, 790, 791, 0, 823, 824, 43, 1070, 0, 950, 955, 966, 981, 982, 983, 984, 985, 987, 988, 0, 0, 0, 0, 993, 994, 0, 0, 0, 0, - 0, 1051, 1002, 0, 0, 0, 1236, 0, 1197, 1197, - 1086, 1197, 1199, 1199, 1599, 1725, 1733, 1841, 1565, 1655, - 0, 0, 0, 1917, 1688, 1696, 1697, 1719, 1811, 1861, - 1692, 1693, 1674, 1686, 1689, 1677, 1678, 1680, 1682, 1687, - 1694, 1700, 1679, 1699, 1698, 0, 1675, 1676, 1681, 1691, - 1695, 1683, 1684, 1685, 1690, 1701, 0, 0, 0, 0, - 0, 1146, 1245, 0, 0, 0, 0, 0, 0, 273, - 274, 1069, 1358, 0, 1199, 1199, 1199, 1199, 1199, 1011, - 1012, 1013, 1014, 1015, 1039, 1040, 1046, 1047, 1790, 1791, - 1792, 1793, -2, -2, 219, 220, 221, 222, 223, 224, + 0, 1051, 1002, 0, 0, 0, 1246, 0, 1207, 1207, + 1086, 1207, 1209, 1209, 1612, 1738, 1746, 1858, 1575, 1580, + 1581, 1582, 1851, 1852, 1853, 1854, 1891, 1892, 1896, 1668, + 0, 0, 0, 1937, 1701, 1709, 1710, 1732, 1824, 1878, + 1705, 1706, 1687, 1699, 1702, 1690, 1691, 1693, 1695, 1700, + 1707, 1713, 1692, 1712, 1711, 0, 1688, 1689, 1694, 1704, + 1708, 1696, 1697, 1698, 1703, 1714, 0, 0, 0, 0, + 0, 1156, 1255, 0, 0, 0, 0, 0, 0, 273, + 274, 1069, 1368, 0, 1209, 1209, 1209, 1209, 1209, 1011, + 1012, 1013, 1014, 1015, 1039, 1040, 1046, 1047, 1803, 1804, + 1805, 1806, -2, -2, 219, 220, 221, 222, 223, 224, 225, 0, 215, 0, 0, 278, 279, 275, 276, 277, 1053, 1054, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, 1920, 0, 800, 0, 0, 0, - 0, 0, 1269, 0, 1261, 1260, 61, 0, 827, -2, + 269, 270, 271, 272, 1940, 0, 800, 0, 0, 0, + 0, 0, 1279, 0, 1271, 1270, 61, 0, 827, -2, 0, 0, 0, 0, 45, 0, 50, 887, 75, 74, - 1309, 0, 0, 0, 57, 1270, 65, 67, 1271, 0, - 832, 833, 0, 863, 867, 0, 828, 0, 0, 1385, - 1384, 1384, 100, 0, 1857, 1362, -2, -2, 0, 0, - 1397, 1398, 1371, -2, 1405, 1406, 1407, 1408, 1409, 1410, - 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, + 1319, 0, 0, 0, 57, 1280, 65, 67, 1281, 0, + 832, 833, 0, 863, 867, 0, 828, 0, 0, 1395, + 1394, 1394, 100, 0, 1874, 1372, -2, -2, 0, 0, + 1407, 1408, 1381, -2, 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, @@ -7903,26 +8101,27 @@ var yyDef = [...]int{ 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550, - 1551, 1552, 1553, -2, 0, 0, 165, 166, 0, 41, - 404, 0, 161, 0, 397, 338, 0, 1287, 0, 0, - 0, 0, 0, 827, 0, 1379, 142, 143, 150, 151, + 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560, + 1561, 1562, 1563, -2, 0, 0, 165, 166, 0, 41, + 404, 0, 161, 0, 397, 338, 0, 1297, 0, 0, + 0, 0, 0, 827, 0, 1389, 142, 143, 150, 151, 152, 377, 377, 377, 549, 0, 0, 153, 153, 508, 509, 510, 0, 0, -2, 402, 0, 488, 0, 0, 391, 391, 395, 393, 394, 0, 0, 0, 0, 0, 0, 0, 0, 526, 0, 527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 634, 0, 378, 0, 547, 548, 440, 0, 0, 0, 0, 0, 0, 524, 525, - 0, 0, 1387, 1388, 0, 0, 0, 377, 377, 0, + 0, 0, 1397, 1398, 0, 0, 0, 377, 377, 0, 0, 0, 0, 377, 377, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 141, 1300, 0, 0, 0, -2, 0, - 678, 0, 0, 0, 1380, 1380, 0, 685, 0, 687, + 0, 0, 0, 141, 1310, 0, 0, 0, -2, 0, + 678, 0, 0, 0, 1390, 1390, 0, 685, 0, 687, 688, 0, 0, 689, 0, 745, 745, 743, 744, 691, 692, 693, 694, 748, 0, 0, 386, 387, 388, 745, 748, 0, 748, 748, 748, 748, 745, 745, 745, 748, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1921, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1941, 751, 748, 0, 722, 0, 723, 724, 727, 728, 730, - 1922, 1923, 1417, 1921, 1921, 734, 738, 1370, 760, 768, + 1942, 1943, 1427, 1941, 1941, 734, 738, 1380, 760, 768, 771, 788, 786, 787, 789, 781, 782, 783, 784, 0, 802, 803, 808, 0, 0, 0, 0, 814, 815, 816, 0, 0, 819, 820, 821, 0, 0, 0, 0, 0, @@ -7930,30 +8129,31 @@ var yyDef = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 967, 968, 0, 0, 0, 989, 990, 991, 992, 995, 0, 0, 0, - 1000, 1001, 0, 0, 0, 0, 0, 1237, 0, 1084, + 1000, 1001, 0, 0, 0, 0, 0, 1247, 0, 1084, 0, 1085, 1087, 1088, 0, 1089, 837, 837, 837, 837, - 837, 837, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1390, 129, 0, 0, 0, 0, + 837, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 837, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1400, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 847, 0, 0, 847, 847, 0, 0, 0, 208, 209, 210, 211, 212, 0, 0, 0, 0, - 226, 227, 228, 229, 230, 280, 1245, 0, 1069, 0, - 0, 0, 44, 792, 793, 0, 911, 1390, 0, 0, - 843, 0, 55, 64, 66, 1269, 59, 1269, 0, 849, + 226, 227, 228, 229, 230, 280, 1255, 0, 1069, 0, + 0, 0, 44, 792, 793, 0, 911, 1400, 0, 0, + 843, 0, 55, 64, 66, 1279, 59, 1279, 0, 849, 0, 0, -2, -2, 850, 856, 857, 858, 859, 860, - 52, 1919, 53, 0, 72, 0, 46, 0, 0, 0, - 0, 350, 1312, 0, 0, 1262, 1263, 1266, 0, 864, - 1731, 868, 0, 870, 871, 0, 830, 0, 98, 0, - 927, 0, 0, 0, 1857, 1368, 0, 102, 103, 0, - 0, 0, 361, 1373, 1374, 1375, -2, 384, 0, 361, + 52, 1939, 53, 0, 72, 0, 46, 0, 0, 0, + 0, 350, 1322, 0, 0, 1272, 1273, 1276, 0, 864, + 1744, 868, 0, 870, 871, 0, 830, 0, 98, 0, + 927, 0, 0, 0, 1874, 1378, 0, 102, 103, 0, + 0, 0, 361, 1383, 1384, 1385, -2, 384, 0, 361, 345, 288, 289, 290, 338, 292, 338, 338, 338, 338, 350, 350, 350, 350, 321, 322, 323, 324, 325, 0, 0, 307, 338, 338, 338, 338, 328, 329, 330, 331, 332, 333, 334, 335, 293, 294, 295, 296, 297, 298, 299, 300, 301, 340, 340, 340, 342, 342, 0, 42, - 0, 365, 0, 1266, 0, 0, 1300, 1382, 1392, 0, - 0, 0, 1382, 120, 0, 0, 0, 550, 584, 502, + 0, 365, 0, 1276, 0, 0, 1310, 1392, 1402, 0, + 0, 0, 1392, 120, 0, 0, 0, 550, 584, 502, 538, 551, 0, 505, 506, -2, 0, 0, 487, 0, 489, 0, 385, 0, -2, 0, 395, 0, 391, 395, 392, 395, 383, 396, 528, 529, 530, 0, 532, 533, @@ -7965,9 +8165,9 @@ var yyDef = [...]int{ 454, 914, 915, 455, 456, 481, 482, 483, 457, 458, 459, 460, 461, 462, 463, 475, 476, 477, 478, 479, 480, 464, 465, 466, 467, 468, 469, 472, 0, 135, - 1291, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1380, 0, 0, 0, 0, 846, - 929, 1403, 1404, 749, 750, 0, 389, 390, 748, 748, + 1301, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1390, 0, 0, 0, 0, 846, + 929, 1413, 1414, 749, 750, 0, 389, 390, 748, 748, 695, 735, 0, 748, 699, 736, 700, 702, 701, 703, 716, 717, 748, 706, 746, 747, 707, 708, 709, 710, 711, 712, 713, 731, 718, 719, 720, 752, 0, 756, @@ -7976,127 +8176,130 @@ var yyDef = [...]int{ 945, 946, 947, 0, 949, 952, 0, 1055, 1057, 954, 956, 1066, 1067, 1068, 0, 0, 0, 0, 0, 960, 964, 969, 970, 971, 972, 973, 974, 975, 976, 977, - 978, 979, 980, 986, 1213, 1214, 1215, 1003, 281, 282, + 978, 979, 980, 986, 1223, 1224, 1225, 1003, 281, 282, 0, 1004, 0, 861, 0, 0, 0, 0, 0, 0, - 1243, 1240, 0, 0, 1198, 1200, 0, 0, 0, 838, - 839, 0, 0, 0, 0, 0, 0, 0, 0, 1176, - 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, + 1253, 1250, 0, 0, 1208, 1210, 0, 0, 0, 838, + 839, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, - 1216, 0, 0, 0, 0, 0, 1236, 0, 1006, 1007, - 1008, 0, 0, 0, 1391, 0, 130, 131, 0, 0, - 0, 0, 0, 1170, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1147, 1148, 1149, 1150, 0, 0, - 0, 0, 0, 848, 1246, 0, -2, 0, 0, 0, - 0, 0, 1005, 0, 0, 0, 0, 0, 0, 1356, + 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, + 1226, 0, 0, 0, 0, 0, 1246, 0, 1006, 1007, + 1008, 0, 0, 0, 1401, 0, 130, 131, 0, 0, + 0, 0, 0, 1180, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1157, 1158, 1159, 1160, 0, 0, + 0, 0, 0, 848, 1256, 0, -2, 0, 0, 0, + 0, 0, 1005, 0, 0, 0, 0, 0, 0, 1366, 0, 0, 795, 796, 798, 0, 931, 0, 912, 0, 0, 801, 0, 842, 0, 845, 58, 60, 854, 855, - 0, 872, 851, 54, 49, 0, 0, 889, 1310, 350, - 1332, 0, 359, 359, 356, 1272, 1273, 0, 1265, 1267, - 1268, 77, 869, 865, 0, 943, 0, 0, 926, 0, + 0, 872, 851, 54, 49, 0, 0, 889, 1320, 350, + 1342, 0, 359, 359, 356, 1282, 1283, 0, 1275, 1277, + 1278, 77, 869, 865, 0, 943, 0, 0, 926, 0, 875, 877, 878, 879, 909, 0, 882, 0, 0, 0, - 0, 0, 96, 928, 1363, 101, 0, 0, 106, 107, - 1364, 1365, 1366, 1367, 0, 573, -2, 436, 167, 169, + 0, 0, 96, 928, 1373, 101, 0, 0, 106, 107, + 1374, 1375, 1376, 1377, 0, 573, -2, 436, 167, 169, 170, 171, 162, -2, 348, 346, 347, 291, 350, 350, 315, 316, 317, 318, 319, 320, 0, 0, 308, 309, 310, 311, 302, 0, 303, 304, 305, 0, 306, 403, - 0, 1274, 366, 367, 369, 377, 0, 372, 373, 0, - 377, 377, 0, 398, 399, 0, 1266, 1291, 0, 0, - 0, 1393, 1392, 1392, 1392, 0, 155, 156, 157, 158, + 0, 1284, 366, 367, 369, 377, 0, 372, 373, 0, + 377, 377, 0, 398, 399, 0, 1276, 1301, 0, 0, + 0, 1403, 1402, 1402, 1402, 0, 155, 156, 157, 158, 159, 160, 609, 0, 0, 585, 607, 608, 153, 0, 0, 163, 491, 490, 0, 641, 0, 401, 0, 0, 395, 395, 380, 381, 531, 0, 0, 616, 617, 618, 619, 0, 0, 0, 518, 430, 0, 519, 520, 489, 491, 361, 0, 444, 445, 450, 451, 470, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 564, - 565, 566, 567, 493, 571, 568, 493, 572, 1288, 1289, - 1290, 0, 0, 679, 0, 0, 427, 92, 1381, 684, + 565, 566, 567, 493, 571, 568, 493, 572, 1298, 1299, + 1300, 0, 0, 679, 0, 0, 427, 92, 1391, 684, 745, 705, 737, 745, 697, 704, 725, 765, 809, 0, 0, 0, 0, 817, 0, 0, 953, 1056, 1058, 957, 0, 961, 965, 0, 0, 0, 0, 0, 0, 0, - 1052, 1076, 1077, 0, 0, 0, 1241, 0, 0, 1083, - 1201, 1202, 0, 0, 0, 0, 0, 0, 1260, 0, - 0, 0, 0, 0, 1101, 1102, 1103, 1104, 1105, 0, - 1107, 0, 0, 0, 1111, 1112, 0, 0, 1113, 0, - 0, 0, 0, 0, 0, 0, 0, 1125, 1126, 1127, - 1128, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1139, 1140, 0, 1034, 0, 0, 1034, 0, 1072, - 0, 0, 847, 0, 1203, 1204, 1205, 1206, 1207, 0, - 0, 0, 0, 1246, 1357, 794, 797, 799, 885, 932, - 933, 0, 0, 0, 0, 913, 1389, 840, 841, 844, - -2, 0, 0, 1248, 0, 0, 872, 943, 873, 0, - 852, 51, 888, 0, 1314, 1313, 1326, 1339, 359, 359, - 353, 354, 360, 355, 357, 358, 1264, 0, 1269, 0, - 1350, 0, 0, 1342, 0, 0, 0, 0, 0, 0, + 1052, 1076, 1077, 0, 0, 0, 1251, 0, 0, 1083, + 1211, 1212, 0, 0, 0, 0, 0, 0, 1096, 1097, + 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1270, 0, + 0, 0, 0, 0, 1111, 1112, 1113, 1114, 1115, 0, + 1117, 0, 0, 0, 1121, 1122, 0, 0, 1123, 0, + 0, 0, 0, 0, 0, 0, 0, 1135, 1136, 1137, + 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1149, 1150, 0, 1034, 0, 0, 1034, 0, 1072, + 0, 0, 847, 0, 1213, 1214, 1215, 1216, 1217, 0, + 0, 0, 0, 1256, 1367, 794, 797, 799, 885, 932, + 933, 0, 0, 0, 0, 913, 1399, 840, 841, 844, + -2, 0, 0, 1258, 0, 0, 872, 943, 873, 0, + 852, 51, 888, 0, 1324, 1323, 1336, 1349, 359, 359, + 353, 354, 360, 355, 357, 358, 1274, 0, 1279, 0, + 1360, 0, 0, 1352, 0, 0, 0, 0, 0, 0, 0, 0, 916, 0, 0, 919, 0, 0, 0, 0, 910, 0, 0, 0, 0, 0, 0, -2, 0, 0, 90, 91, 0, 0, 0, 104, 105, 0, 0, 111, 362, 363, 144, 153, 438, 168, 411, 0, 0, 287, 349, 312, 313, 314, 0, 336, 0, 0, 0, 432, - 116, 1278, 1277, 377, 377, 368, 0, 371, 0, 0, - 0, 1394, 339, 400, 0, 134, 0, 0, 0, 0, + 116, 1288, 1287, 377, 377, 368, 0, 371, 0, 0, + 0, 1404, 339, 400, 0, 134, 0, 0, 0, 0, 0, 140, 579, 0, 0, 586, 0, 0, 0, 500, 0, 511, 512, 0, 613, -2, 675, 365, 0, 379, 382, 898, 0, 0, 513, 0, 516, 517, 431, 491, - 522, 523, 536, 473, 474, 471, 0, 0, 1301, 1302, - 1307, 1305, 1306, 121, 557, 559, 558, 562, 0, 0, - 495, 0, 495, 555, 0, 427, 1274, 0, 683, 428, + 522, 523, 536, 473, 474, 471, 0, 0, 1311, 1312, + 1317, 1315, 1316, 121, 557, 559, 558, 562, 0, 0, + 495, 0, 495, 555, 0, 427, 1284, 0, 683, 428, 429, 748, 748, 804, 95, 0, 807, 0, 0, 0, - 0, 958, 962, 862, 0, 1234, 338, 338, 1221, 338, - 342, 1224, 338, 1226, 338, 1229, 338, 1232, 1233, 1234, - 0, 0, 0, 1082, 1244, 0, 1090, 1091, 1092, 1093, - 1094, 1095, 1238, 0, 0, 0, 1100, 0, 0, 0, - 0, 0, 0, 132, 133, 1170, 0, 0, 1172, 1174, - 1175, 1117, 1171, 0, 0, 1168, 0, 0, 0, 0, + 0, 958, 962, 862, 0, 1244, 338, 338, 1231, 338, + 342, 1234, 338, 1236, 338, 1239, 338, 1242, 1243, 1244, + 0, 0, 0, 1082, 1254, 0, 1090, 1091, 1092, 1093, + 1094, 1095, 1248, 0, 0, 0, 1110, 0, 0, 0, + 0, 0, 0, 132, 133, 1180, 0, 0, 1182, 1184, + 1185, 1127, 1181, 0, 0, 1178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1029, 1033, 0, 1035, - 1036, 0, 0, 1142, 0, 0, 1151, 1073, 1074, 0, - 1247, 0, 0, 0, 0, 934, 939, 939, 939, 0, - 0, 0, 1376, 1377, 1249, 1250, 943, 1251, 874, 853, - 890, 1332, 0, 1325, 0, -2, 1334, 0, 0, 0, - 1340, 351, 352, 866, 78, 944, 81, 0, 1350, 1359, - 0, 1341, 1352, 1354, 0, 0, 0, 1346, 0, 943, + 1036, 0, 0, 1152, 0, 0, 1161, 1073, 1074, 0, + 1257, 0, 0, 0, 0, 934, 939, 939, 939, 0, + 0, 0, 1386, 1387, 1259, 1260, 943, 1261, 874, 853, + 890, 1342, 0, 1335, 0, -2, 1344, 0, 0, 0, + 1350, 351, 352, 866, 78, 944, 81, 0, 1360, 1369, + 0, 1351, 1362, 1364, 0, 0, 0, 1356, 0, 943, 876, 905, 907, 0, 902, 917, 918, 920, 0, 922, 0, 924, 925, 887, 881, 883, 0, 0, 0, 98, 0, 943, 943, 97, 0, 930, 108, 109, 110, 437, 172, 177, 0, 0, 0, 182, 0, 184, 0, 0, 0, 189, 190, 377, 377, 412, 0, 284, 286, 0, 0, 175, 350, 0, 350, 0, 343, 0, 413, 433, - 1275, 1276, 0, 0, 370, 374, 375, 376, 0, 1383, + 1285, 1286, 0, 0, 370, 374, 375, 376, 0, 1393, 136, 0, 0, 0, 582, 0, 610, 0, 0, 0, 0, 0, 0, 164, 492, 642, 643, 644, 645, 646, 647, 648, 649, 650, 0, 377, 0, 0, 0, 377, 377, 377, 0, 667, 364, 0, 0, 638, 635, 514, - 0, 213, 214, 216, 0, 0, 521, 887, 1292, 1293, - 1294, 0, 1304, 1308, 124, 0, 0, 0, 0, 569, + 0, 213, 214, 216, 0, 0, 521, 887, 1302, 1303, + 1304, 0, 1314, 1318, 124, 0, 0, 0, 0, 569, 0, 494, 570, 680, 681, 682, 93, 690, 696, 806, - 826, 951, 959, 963, 0, 0, 1235, 1219, 350, 1222, - 1223, 1225, 1227, 1228, 1230, 1231, 0, 999, 0, 1079, - 0, 1081, 1242, 1269, 0, 0, 0, 1099, 0, 0, - 0, 1108, 1109, 1110, 0, 0, 1116, 0, 1118, 0, - 0, 0, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, - 1137, 1138, 0, 1027, 1030, 1141, 1037, 1038, 1043, 1144, - 0, 0, 1075, 1153, 0, 1158, 0, 0, 1164, 0, - 0, 0, 0, 0, 911, -2, 62, 1251, 1253, 0, - 1319, 1317, 1317, 1327, 1328, 0, 0, 1335, 0, 0, - 0, 0, 82, 0, 0, 0, 1355, 0, 0, 0, - 0, 99, 1260, 899, 906, 0, 0, 900, 0, 901, + 826, 951, 959, 963, 0, 0, 1245, 1229, 350, 1232, + 1233, 1235, 1237, 1238, 1240, 1241, 0, 999, 0, 1079, + 0, 1081, 1252, 1279, 0, 0, 0, 1109, 0, 0, + 0, 1118, 1119, 1120, 0, 0, 1126, 0, 1128, 0, + 0, 0, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, + 1147, 1148, 0, 1027, 1030, 1151, 1037, 1038, 1043, 1154, + 0, 0, 1075, 1163, 0, 1168, 0, 0, 1174, 0, + 0, 0, 0, 0, 911, -2, 62, 1261, 1263, 0, + 1329, 1327, 1327, 1337, 1338, 0, 0, 1345, 0, 0, + 0, 0, 82, 0, 0, 0, 1365, 0, 0, 0, + 0, 99, 1270, 899, 906, 0, 0, 900, 0, 901, 921, 923, 880, -2, 884, 0, 943, 943, 88, 89, 0, 178, 0, 180, 206, 207, 0, 183, 185, 186, 187, 193, 194, 195, 188, 0, 0, 283, 285, 0, - 0, 326, 337, 327, 0, 0, 1279, 1280, 1281, 1282, - 1283, 1284, 1285, 1286, 887, 137, 138, 139, 574, 0, + 0, 326, 337, 327, 0, 0, 1289, 1290, 1291, 1292, + 1293, 1294, 1295, 1296, 887, 137, 138, 139, 574, 0, 584, 0, 0, 0, 577, 0, 503, 0, 0, 0, 377, 377, 377, 0, 0, 0, 0, 652, 0, 0, - 615, 0, 623, 0, 0, 0, 217, 218, 0, 1303, - 556, 0, 122, 123, 0, 0, 561, 496, 497, 1208, - 997, 1220, 998, 0, 0, 0, 1239, 0, 0, 0, - 0, 1106, 1114, 0, 1173, 0, 1121, 0, 0, 0, - 604, 605, 0, 1169, 1032, 1260, 0, 1034, 1044, 1045, - 0, 1034, 1152, 0, 0, 0, 0, 0, 940, 0, - 0, 0, 0, 931, 1253, 1258, 0, 0, 1322, 0, - 1315, 1318, 1316, 1329, 0, 0, 1336, 0, 1338, 0, - 1360, 1361, 1353, 0, 1345, 1348, 1344, 1347, 1269, 903, - 0, 908, 0, 1260, 87, 0, 181, 0, 0, 0, + 615, 0, 623, 0, 0, 0, 217, 218, 0, 1313, + 556, 0, 122, 123, 0, 0, 561, 496, 497, 1218, + 997, 1230, 998, 0, 0, 0, 1249, 0, 0, 0, + 0, 1116, 1124, 0, 1183, 0, 1131, 0, 0, 0, + 604, 605, 0, 1179, 1032, 1270, 0, 1034, 1044, 1045, + 0, 1034, 1162, 0, 0, 0, 0, 0, 940, 0, + 0, 0, 0, 931, 1263, 1268, 0, 0, 1332, 0, + 1325, 1328, 1326, 1339, 0, 0, 1346, 0, 1348, 0, + 1370, 1371, 1363, 0, 1355, 1358, 1354, 1357, 1279, 903, + 0, 908, 0, 1270, 87, 0, 181, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -8105,32 +8308,32 @@ var yyDef = [...]int{ 587, 578, 0, 665, 0, 669, 0, 0, 0, 672, 673, 674, 651, 0, 655, 405, 639, 636, 637, 515, 0, 125, 126, 0, 0, 0, 0, 0, 0, 1078, - 1080, 1096, 1097, 1098, 1217, 1218, 1115, 1119, 0, 1122, - 0, 0, 1123, 0, 606, 1023, 0, 0, 1041, 1042, - 0, 1154, 0, 1159, 1160, 0, 1165, 0, 0, 936, - 893, 894, 941, 942, 0, 0, 886, 1258, 80, 1259, - 1256, 0, 1254, 1252, 1311, 0, 1320, 1321, 1330, 1331, - 1337, 0, 1343, 0, 85, 0, 0, 0, 1269, 179, + 1080, 1106, 1107, 1108, 1227, 1228, 1125, 1129, 0, 1132, + 0, 0, 1133, 0, 606, 1023, 0, 0, 1041, 1042, + 0, 1164, 0, 1169, 1170, 0, 1175, 0, 0, 936, + 893, 894, 941, 942, 0, 0, 886, 1268, 80, 1269, + 1266, 0, 1264, 1262, 1321, 0, 1330, 1331, 1340, 1341, + 1347, 0, 1353, 0, 85, 0, 0, 0, 1279, 179, 0, 198, 0, 583, 0, 586, 576, 663, 664, 0, - 676, 668, 670, 671, 653, -2, 1295, 0, 0, 0, - 563, 996, 0, 0, 0, 1170, 1124, 0, 602, 603, - 1031, 1024, 0, 1009, 1010, 1028, 1143, 1145, 0, 0, - 0, 0, 935, 937, 938, 79, 0, 1255, 1049, 0, - 1323, 1324, 1351, 1349, 904, 911, 0, 86, 418, 411, - 1295, 0, 0, 0, 656, 657, 658, 659, 660, 661, - 662, 553, 1297, 127, 128, 484, 485, 486, 121, 1209, - 0, 1212, 0, 1025, 0, 0, 0, 0, 1021, 1022, - 1155, 0, 1161, 0, 1166, 0, 895, 896, 1257, 0, + 676, 668, 670, 671, 653, -2, 1305, 0, 0, 0, + 563, 996, 0, 0, 0, 1180, 1134, 0, 602, 603, + 1031, 1024, 0, 1009, 1010, 1028, 1153, 1155, 0, 0, + 0, 0, 935, 937, 938, 79, 0, 1265, 1049, 0, + 1333, 1334, 1361, 1359, 904, 911, 0, 86, 418, 411, + 1305, 0, 0, 0, 656, 657, 658, 659, 660, 661, + 662, 553, 1307, 127, 128, 484, 485, 486, 121, 1219, + 0, 1222, 0, 1025, 0, 0, 0, 0, 1021, 1022, + 1165, 0, 1171, 0, 1176, 0, 895, 896, 1267, 0, 0, 588, 0, 590, 0, -2, 406, 419, 0, 173, 199, 200, 0, 0, 203, 204, 205, 196, 197, 117, - 0, 0, 677, 0, 1298, 1299, 124, 1210, 1120, 0, + 0, 0, 677, 0, 1308, 1309, 124, 1220, 1130, 0, 1016, 1017, 1018, 1019, 1020, 0, 0, 0, 1050, 1029, 589, 0, 0, 361, 0, 599, 407, 408, 0, 414, 415, 416, 417, 201, 202, 611, 0, 0, 560, 0, - 0, 1156, 0, 1162, 0, 1167, 0, 591, 592, 600, + 0, 1166, 0, 1172, 0, 1177, 0, 591, 592, 600, 0, 409, 0, 410, 0, 0, 0, 580, 0, 611, - 1296, 0, 1026, 0, 0, 1048, 0, 601, 597, 420, - 422, 423, 0, 0, 421, 612, 581, 1211, 1157, 1163, + 1306, 0, 1026, 0, 0, 1048, 0, 601, 597, 420, + 422, 423, 0, 0, 421, 612, 581, 1221, 1167, 1173, 0, 424, 425, 426, 593, 594, 595, 596, } @@ -8140,7 +8343,7 @@ var yyTok1 = [...]int{ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 141, 3, 3, 3, 168, 160, 3, 86, 88, 165, 163, 87, 164, 218, 166, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 625, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 635, 149, 148, 150, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, @@ -8250,6 +8453,8 @@ var yyTok3 = [...]int{ 57935, 610, 57936, 611, 57937, 612, 57938, 613, 57939, 614, 57940, 615, 57941, 616, 57942, 617, 57943, 618, 57944, 619, 57945, 620, 57946, 621, 57947, 622, 57948, 623, 57949, 624, + 57950, 625, 57951, 626, 57952, 627, 57953, 628, 57954, 629, + 57955, 630, 57956, 631, 57957, 632, 57958, 633, 57959, 634, 0, } @@ -16638,43 +16843,43 @@ yydefault: } yyVAL.union = yyLOCAL case 1096: - yyDollar = yyS[yypt-8 : yypt+1] + yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr //line sql.y:5639 { - yyLOCAL = &GroupConcatExpr{Name: yyDollar[1].str, Distinct: yyDollar[3].booleanUnion(), Exprs: yyDollar[4].exprsUnion(), OrderBy: yyDollar[5].orderByUnion(), Separator: yyDollar[6].str, Limit: yyDollar[7].limitUnion()} + yyLOCAL = &BitAnd{Name: yyDollar[1].str, Args: yyDollar[3].exprsUnion()} } yyVAL.union = yyLOCAL case 1097: - yyDollar = yyS[yypt-8 : yypt+1] + yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr //line sql.y:5643 { - yyLOCAL = &TimestampFuncExpr{Name: string("timestampadd"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].exprUnion(), Expr2: yyDollar[7].exprUnion()} + yyLOCAL = &BitOr{Name: yyDollar[1].str, Args: yyDollar[3].exprsUnion()} } yyVAL.union = yyLOCAL case 1098: - yyDollar = yyS[yypt-8 : yypt+1] + yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr //line sql.y:5647 { - yyLOCAL = &TimestampFuncExpr{Name: string("timestampdiff"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].exprUnion(), Expr2: yyDollar[7].exprUnion()} + yyLOCAL = &BitXor{Name: yyDollar[1].str, Args: yyDollar[3].exprsUnion()} } yyVAL.union = yyLOCAL case 1099: - yyDollar = yyS[yypt-6 : yypt+1] + yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr //line sql.y:5651 { - yyLOCAL = &ExtractFuncExpr{IntervalTypes: yyDollar[3].intervalTypeUnion(), Expr: yyDollar[5].exprUnion()} + yyLOCAL = &Std{Name: yyDollar[1].str, Args: yyDollar[3].exprsUnion()} } yyVAL.union = yyLOCAL case 1100: - yyDollar = yyS[yypt-5 : yypt+1] + yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr //line sql.y:5655 { - yyLOCAL = &WeightStringFuncExpr{Expr: yyDollar[3].exprUnion(), As: yyDollar[4].convertTypeUnion()} + yyLOCAL = &StdDev{Name: yyDollar[1].str, Args: yyDollar[3].exprsUnion()} } yyVAL.union = yyLOCAL case 1101: @@ -16682,7 +16887,7 @@ yydefault: var yyLOCAL Expr //line sql.y:5659 { - yyLOCAL = &JSONPrettyExpr{JSONVal: yyDollar[3].exprUnion()} + yyLOCAL = &StdPop{Name: yyDollar[1].str, Args: yyDollar[3].exprsUnion()} } yyVAL.union = yyLOCAL case 1102: @@ -16690,7 +16895,7 @@ yydefault: var yyLOCAL Expr //line sql.y:5663 { - yyLOCAL = &JSONStorageFreeExpr{JSONVal: yyDollar[3].exprUnion()} + yyLOCAL = &StdSamp{Name: yyDollar[1].str, Args: yyDollar[3].exprsUnion()} } yyVAL.union = yyLOCAL case 1103: @@ -16698,7 +16903,7 @@ yydefault: var yyLOCAL Expr //line sql.y:5667 { - yyLOCAL = &JSONStorageSizeExpr{JSONVal: yyDollar[3].exprUnion()} + yyLOCAL = &VarPop{Name: yyDollar[1].str, Args: yyDollar[3].exprsUnion()} } yyVAL.union = yyLOCAL case 1104: @@ -16706,7 +16911,7 @@ yydefault: var yyLOCAL Expr //line sql.y:5671 { - yyLOCAL = &TrimFuncExpr{TrimFuncType: LTrimType, StringArg: yyDollar[3].exprUnion()} + yyLOCAL = &VarSamp{Name: yyDollar[1].str, Args: yyDollar[3].exprsUnion()} } yyVAL.union = yyLOCAL case 1105: @@ -16714,31 +16919,31 @@ yydefault: var yyLOCAL Expr //line sql.y:5675 { - yyLOCAL = &TrimFuncExpr{TrimFuncType: RTrimType, StringArg: yyDollar[3].exprUnion()} + yyLOCAL = &Variance{Name: yyDollar[1].str, Args: yyDollar[3].exprsUnion()} } yyVAL.union = yyLOCAL case 1106: - yyDollar = yyS[yypt-7 : yypt+1] + yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr //line sql.y:5679 { - yyLOCAL = &TrimFuncExpr{Type: yyDollar[3].trimTypeUnion(), TrimArg: yyDollar[4].exprUnion(), StringArg: yyDollar[6].exprUnion()} + yyLOCAL = &GroupConcatExpr{Name: yyDollar[1].str, Distinct: yyDollar[3].booleanUnion(), Exprs: yyDollar[4].exprsUnion(), OrderBy: yyDollar[5].orderByUnion(), Separator: yyDollar[6].str, Limit: yyDollar[7].limitUnion()} } yyVAL.union = yyLOCAL case 1107: - yyDollar = yyS[yypt-4 : yypt+1] + yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr //line sql.y:5683 { - yyLOCAL = &TrimFuncExpr{StringArg: yyDollar[3].exprUnion()} + yyLOCAL = &TimestampFuncExpr{Name: string("timestampadd"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].exprUnion(), Expr2: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL case 1108: - yyDollar = yyS[yypt-6 : yypt+1] + yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr //line sql.y:5687 { - yyLOCAL = &TrimFuncExpr{TrimArg: yyDollar[3].exprUnion(), StringArg: yyDollar[5].exprUnion()} + yyLOCAL = &TimestampFuncExpr{Name: string("timestampdiff"), Unit: yyDollar[3].colIdent.String(), Expr1: yyDollar[5].exprUnion(), Expr2: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL case 1109: @@ -16746,15 +16951,15 @@ yydefault: var yyLOCAL Expr //line sql.y:5691 { - yyLOCAL = &JSONSchemaValidFuncExpr{Schema: yyDollar[3].exprUnion(), Document: yyDollar[5].exprUnion()} + yyLOCAL = &ExtractFuncExpr{IntervalTypes: yyDollar[3].intervalTypeUnion(), Expr: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL case 1110: - yyDollar = yyS[yypt-6 : yypt+1] + yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr //line sql.y:5695 { - yyLOCAL = &JSONSchemaValidationReportFuncExpr{Schema: yyDollar[3].exprUnion(), Document: yyDollar[5].exprUnion()} + yyLOCAL = &WeightStringFuncExpr{Expr: yyDollar[3].exprUnion(), As: yyDollar[4].convertTypeUnion()} } yyVAL.union = yyLOCAL case 1111: @@ -16762,7 +16967,7 @@ yydefault: var yyLOCAL Expr //line sql.y:5699 { - yyLOCAL = &JSONArrayExpr{Params: yyDollar[3].exprsUnion()} + yyLOCAL = &JSONPrettyExpr{JSONVal: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL case 1112: @@ -16770,7 +16975,7 @@ yydefault: var yyLOCAL Expr //line sql.y:5703 { - yyLOCAL = &JSONObjectExpr{Params: yyDollar[3].jsonObjectParamsUnion()} + yyLOCAL = &JSONStorageFreeExpr{JSONVal: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL case 1113: @@ -16778,39 +16983,39 @@ yydefault: var yyLOCAL Expr //line sql.y:5707 { - yyLOCAL = &JSONQuoteExpr{StringArg: yyDollar[3].exprUnion()} + yyLOCAL = &JSONStorageSizeExpr{JSONVal: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL case 1114: - yyDollar = yyS[yypt-7 : yypt+1] + yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr //line sql.y:5711 { - yyLOCAL = &JSONContainsExpr{Target: yyDollar[3].exprUnion(), Candidate: yyDollar[5].exprUnion(), PathList: yyDollar[6].jsonPathParamsUnion()} + yyLOCAL = &TrimFuncExpr{TrimFuncType: LTrimType, StringArg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL case 1115: - yyDollar = yyS[yypt-8 : yypt+1] + yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr //line sql.y:5715 { - yyLOCAL = &JSONContainsPathExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), PathList: yyDollar[7].jsonPathParamsUnion()} + yyLOCAL = &TrimFuncExpr{TrimFuncType: RTrimType, StringArg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL case 1116: - yyDollar = yyS[yypt-6 : yypt+1] + yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Expr //line sql.y:5719 { - yyLOCAL = &JSONExtractExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[5].jsonPathParamsUnion()} + yyLOCAL = &TrimFuncExpr{Type: yyDollar[3].trimTypeUnion(), TrimArg: yyDollar[4].exprUnion(), StringArg: yyDollar[6].exprUnion()} } yyVAL.union = yyLOCAL case 1117: - yyDollar = yyS[yypt-5 : yypt+1] + yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr //line sql.y:5723 { - yyLOCAL = &JSONKeysExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[4].jsonPathParamsUnion()} + yyLOCAL = &TrimFuncExpr{StringArg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL case 1118: @@ -16818,183 +17023,183 @@ yydefault: var yyLOCAL Expr //line sql.y:5727 { - yyLOCAL = &JSONOverlapsExpr{JSONDoc1: yyDollar[3].exprUnion(), JSONDoc2: yyDollar[5].exprUnion()} + yyLOCAL = &TrimFuncExpr{TrimArg: yyDollar[3].exprUnion(), StringArg: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL case 1119: - yyDollar = yyS[yypt-8 : yypt+1] + yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr //line sql.y:5731 { - yyLOCAL = &JSONSearchExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), SearchStr: yyDollar[7].exprUnion()} + yyLOCAL = &JSONSchemaValidFuncExpr{Schema: yyDollar[3].exprUnion(), Document: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL case 1120: - yyDollar = yyS[yypt-11 : yypt+1] + yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr //line sql.y:5735 { - yyLOCAL = &JSONSearchExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), SearchStr: yyDollar[7].exprUnion(), EscapeChar: yyDollar[9].exprUnion(), PathList: yyDollar[10].jsonPathParamsUnion()} + yyLOCAL = &JSONSchemaValidationReportFuncExpr{Schema: yyDollar[3].exprUnion(), Document: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL case 1121: - yyDollar = yyS[yypt-7 : yypt+1] + yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr //line sql.y:5739 { - yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam, ReturningType: yyDollar[6].convertTypeUnion()} + yyLOCAL = &JSONArrayExpr{Params: yyDollar[3].exprsUnion()} } yyVAL.union = yyLOCAL case 1122: - yyDollar = yyS[yypt-8 : yypt+1] + yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr //line sql.y:5743 { - yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam, ReturningType: yyDollar[6].convertTypeUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion()} + yyLOCAL = &JSONObjectExpr{Params: yyDollar[3].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL case 1123: - yyDollar = yyS[yypt-8 : yypt+1] + yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr //line sql.y:5747 { - yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam, ReturningType: yyDollar[6].convertTypeUnion(), ErrorOnResponse: yyDollar[7].jtOnResponseUnion()} + yyLOCAL = &JSONQuoteExpr{StringArg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL case 1124: - yyDollar = yyS[yypt-9 : yypt+1] + yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Expr //line sql.y:5751 { - yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam, ReturningType: yyDollar[6].convertTypeUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion(), ErrorOnResponse: yyDollar[8].jtOnResponseUnion()} + yyLOCAL = &JSONContainsExpr{Target: yyDollar[3].exprUnion(), Candidate: yyDollar[5].exprUnion(), PathList: yyDollar[6].jsonPathParamsUnion()} } yyVAL.union = yyLOCAL case 1125: - yyDollar = yyS[yypt-4 : yypt+1] + yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr //line sql.y:5755 { - yyLOCAL = &JSONAttributesExpr{Type: DepthAttributeType, JSONDoc: yyDollar[3].exprUnion()} + yyLOCAL = &JSONContainsPathExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), PathList: yyDollar[7].jsonPathParamsUnion()} } yyVAL.union = yyLOCAL case 1126: - yyDollar = yyS[yypt-4 : yypt+1] + yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr //line sql.y:5759 { - yyLOCAL = &JSONAttributesExpr{Type: ValidAttributeType, JSONDoc: yyDollar[3].exprUnion()} + yyLOCAL = &JSONExtractExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[5].jsonPathParamsUnion()} } yyVAL.union = yyLOCAL case 1127: - yyDollar = yyS[yypt-4 : yypt+1] + yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Expr //line sql.y:5763 { - yyLOCAL = &JSONAttributesExpr{Type: TypeAttributeType, JSONDoc: yyDollar[3].exprUnion()} + yyLOCAL = &JSONKeysExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[4].jsonPathParamsUnion()} } yyVAL.union = yyLOCAL case 1128: - yyDollar = yyS[yypt-4 : yypt+1] + yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr //line sql.y:5767 { - yyLOCAL = &JSONAttributesExpr{Type: LengthAttributeType, JSONDoc: yyDollar[3].exprUnion()} + yyLOCAL = &JSONOverlapsExpr{JSONDoc1: yyDollar[3].exprUnion(), JSONDoc2: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL case 1129: - yyDollar = yyS[yypt-6 : yypt+1] + yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr //line sql.y:5771 { - yyLOCAL = &JSONAttributesExpr{Type: LengthAttributeType, JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam} + yyLOCAL = &JSONSearchExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), SearchStr: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL case 1130: - yyDollar = yyS[yypt-6 : yypt+1] + yyDollar = yyS[yypt-11 : yypt+1] var yyLOCAL Expr //line sql.y:5775 { - yyLOCAL = &JSONValueModifierExpr{Type: JSONArrayAppendType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} + yyLOCAL = &JSONSearchExpr{JSONDoc: yyDollar[3].exprUnion(), OneOrAll: yyDollar[5].exprUnion(), SearchStr: yyDollar[7].exprUnion(), EscapeChar: yyDollar[9].exprUnion(), PathList: yyDollar[10].jsonPathParamsUnion()} } yyVAL.union = yyLOCAL case 1131: - yyDollar = yyS[yypt-6 : yypt+1] + yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL Expr //line sql.y:5779 { - yyLOCAL = &JSONValueModifierExpr{Type: JSONArrayInsertType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} + yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam, ReturningType: yyDollar[6].convertTypeUnion()} } yyVAL.union = yyLOCAL case 1132: - yyDollar = yyS[yypt-6 : yypt+1] + yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr //line sql.y:5783 { - yyLOCAL = &JSONValueModifierExpr{Type: JSONInsertType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} + yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam, ReturningType: yyDollar[6].convertTypeUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion()} } yyVAL.union = yyLOCAL case 1133: - yyDollar = yyS[yypt-6 : yypt+1] + yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr //line sql.y:5787 { - yyLOCAL = &JSONValueModifierExpr{Type: JSONReplaceType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} + yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam, ReturningType: yyDollar[6].convertTypeUnion(), ErrorOnResponse: yyDollar[7].jtOnResponseUnion()} } yyVAL.union = yyLOCAL case 1134: - yyDollar = yyS[yypt-6 : yypt+1] + yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL Expr //line sql.y:5791 { - yyLOCAL = &JSONValueModifierExpr{Type: JSONSetType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} + yyLOCAL = &JSONValueExpr{JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam, ReturningType: yyDollar[6].convertTypeUnion(), EmptyOnResponse: yyDollar[7].jtOnResponseUnion(), ErrorOnResponse: yyDollar[8].jtOnResponseUnion()} } yyVAL.union = yyLOCAL case 1135: - yyDollar = yyS[yypt-6 : yypt+1] + yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr //line sql.y:5795 { - yyLOCAL = &JSONValueMergeExpr{Type: JSONMergeType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()} + yyLOCAL = &JSONAttributesExpr{Type: DepthAttributeType, JSONDoc: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL case 1136: - yyDollar = yyS[yypt-6 : yypt+1] + yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr //line sql.y:5799 { - yyLOCAL = &JSONValueMergeExpr{Type: JSONMergePatchType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()} + yyLOCAL = &JSONAttributesExpr{Type: ValidAttributeType, JSONDoc: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL case 1137: - yyDollar = yyS[yypt-6 : yypt+1] + yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr //line sql.y:5803 { - yyLOCAL = &JSONValueMergeExpr{Type: JSONMergePreserveType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()} + yyLOCAL = &JSONAttributesExpr{Type: TypeAttributeType, JSONDoc: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL case 1138: - yyDollar = yyS[yypt-6 : yypt+1] + yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr //line sql.y:5807 { - yyLOCAL = &JSONRemoveExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[5].exprsUnion()} + yyLOCAL = &JSONAttributesExpr{Type: LengthAttributeType, JSONDoc: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL case 1139: - yyDollar = yyS[yypt-4 : yypt+1] + yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr //line sql.y:5811 { - yyLOCAL = &JSONUnquoteExpr{JSONValue: yyDollar[3].exprUnion()} + yyLOCAL = &JSONAttributesExpr{Type: LengthAttributeType, JSONDoc: yyDollar[3].exprUnion(), Path: yyDollar[5].jsonPathParam} } yyVAL.union = yyLOCAL case 1140: - yyDollar = yyS[yypt-4 : yypt+1] + yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr //line sql.y:5815 { - yyLOCAL = &ArgumentLessWindowExpr{Type: yyDollar[1].argumentLessWindowExprTypeUnion(), OverClause: yyDollar[4].overClauseUnion()} + yyLOCAL = &JSONValueModifierExpr{Type: JSONArrayAppendType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL case 1141: @@ -17002,23 +17207,23 @@ yydefault: var yyLOCAL Expr //line sql.y:5819 { - yyLOCAL = &FirstOrLastValueExpr{Type: yyDollar[1].firstOrLastValueExprTypeUnion(), Expr: yyDollar[3].exprUnion(), NullTreatmentClause: yyDollar[5].nullTreatmentClauseUnion(), OverClause: yyDollar[6].overClauseUnion()} + yyLOCAL = &JSONValueModifierExpr{Type: JSONArrayInsertType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL case 1142: - yyDollar = yyS[yypt-5 : yypt+1] + yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr //line sql.y:5823 { - yyLOCAL = &NtileExpr{N: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()} + yyLOCAL = &JSONValueModifierExpr{Type: JSONInsertType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL case 1143: - yyDollar = yyS[yypt-9 : yypt+1] + yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr //line sql.y:5827 { - yyLOCAL = &NTHValueExpr{Expr: yyDollar[3].exprUnion(), N: yyDollar[5].exprUnion(), FromFirstLastClause: yyDollar[7].fromFirstLastClauseUnion(), NullTreatmentClause: yyDollar[8].nullTreatmentClauseUnion(), OverClause: yyDollar[9].overClauseUnion()} + yyLOCAL = &JSONValueModifierExpr{Type: JSONReplaceType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL case 1144: @@ -17026,801 +17231,881 @@ yydefault: var yyLOCAL Expr //line sql.y:5831 { - yyLOCAL = &LagLeadExpr{Type: yyDollar[1].lagLeadExprTypeUnion(), Expr: yyDollar[3].exprUnion(), NullTreatmentClause: yyDollar[5].nullTreatmentClauseUnion(), OverClause: yyDollar[6].overClauseUnion()} + yyLOCAL = &JSONValueModifierExpr{Type: JSONSetType, JSONDoc: yyDollar[3].exprUnion(), Params: yyDollar[5].jsonObjectParamsUnion()} } yyVAL.union = yyLOCAL case 1145: - yyDollar = yyS[yypt-9 : yypt+1] + yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr //line sql.y:5835 { - yyLOCAL = &LagLeadExpr{Type: yyDollar[1].lagLeadExprTypeUnion(), Expr: yyDollar[3].exprUnion(), N: yyDollar[5].exprUnion(), Default: yyDollar[6].exprUnion(), NullTreatmentClause: yyDollar[8].nullTreatmentClauseUnion(), OverClause: yyDollar[9].overClauseUnion()} + yyLOCAL = &JSONValueMergeExpr{Type: JSONMergeType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()} + } + yyVAL.union = yyLOCAL + case 1146: + yyDollar = yyS[yypt-6 : yypt+1] + var yyLOCAL Expr +//line sql.y:5839 + { + yyLOCAL = &JSONValueMergeExpr{Type: JSONMergePatchType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()} } yyVAL.union = yyLOCAL case 1147: + yyDollar = yyS[yypt-6 : yypt+1] + var yyLOCAL Expr +//line sql.y:5843 + { + yyLOCAL = &JSONValueMergeExpr{Type: JSONMergePreserveType, JSONDoc: yyDollar[3].exprUnion(), JSONDocList: yyDollar[5].exprsUnion()} + } + yyVAL.union = yyLOCAL + case 1148: + yyDollar = yyS[yypt-6 : yypt+1] + var yyLOCAL Expr +//line sql.y:5847 + { + yyLOCAL = &JSONRemoveExpr{JSONDoc: yyDollar[3].exprUnion(), PathList: yyDollar[5].exprsUnion()} + } + yyVAL.union = yyLOCAL + case 1149: + yyDollar = yyS[yypt-4 : yypt+1] + var yyLOCAL Expr +//line sql.y:5851 + { + yyLOCAL = &JSONUnquoteExpr{JSONValue: yyDollar[3].exprUnion()} + } + yyVAL.union = yyLOCAL + case 1150: + yyDollar = yyS[yypt-4 : yypt+1] + var yyLOCAL Expr +//line sql.y:5855 + { + yyLOCAL = &ArgumentLessWindowExpr{Type: yyDollar[1].argumentLessWindowExprTypeUnion(), OverClause: yyDollar[4].overClauseUnion()} + } + yyVAL.union = yyLOCAL + case 1151: + yyDollar = yyS[yypt-6 : yypt+1] + var yyLOCAL Expr +//line sql.y:5859 + { + yyLOCAL = &FirstOrLastValueExpr{Type: yyDollar[1].firstOrLastValueExprTypeUnion(), Expr: yyDollar[3].exprUnion(), NullTreatmentClause: yyDollar[5].nullTreatmentClauseUnion(), OverClause: yyDollar[6].overClauseUnion()} + } + yyVAL.union = yyLOCAL + case 1152: + yyDollar = yyS[yypt-5 : yypt+1] + var yyLOCAL Expr +//line sql.y:5863 + { + yyLOCAL = &NtileExpr{N: yyDollar[3].exprUnion(), OverClause: yyDollar[5].overClauseUnion()} + } + yyVAL.union = yyLOCAL + case 1153: + yyDollar = yyS[yypt-9 : yypt+1] + var yyLOCAL Expr +//line sql.y:5867 + { + yyLOCAL = &NTHValueExpr{Expr: yyDollar[3].exprUnion(), N: yyDollar[5].exprUnion(), FromFirstLastClause: yyDollar[7].fromFirstLastClauseUnion(), NullTreatmentClause: yyDollar[8].nullTreatmentClauseUnion(), OverClause: yyDollar[9].overClauseUnion()} + } + yyVAL.union = yyLOCAL + case 1154: + yyDollar = yyS[yypt-6 : yypt+1] + var yyLOCAL Expr +//line sql.y:5871 + { + yyLOCAL = &LagLeadExpr{Type: yyDollar[1].lagLeadExprTypeUnion(), Expr: yyDollar[3].exprUnion(), NullTreatmentClause: yyDollar[5].nullTreatmentClauseUnion(), OverClause: yyDollar[6].overClauseUnion()} + } + yyVAL.union = yyLOCAL + case 1155: + yyDollar = yyS[yypt-9 : yypt+1] + var yyLOCAL Expr +//line sql.y:5875 + { + yyLOCAL = &LagLeadExpr{Type: yyDollar[1].lagLeadExprTypeUnion(), Expr: yyDollar[3].exprUnion(), N: yyDollar[5].exprUnion(), Default: yyDollar[6].exprUnion(), NullTreatmentClause: yyDollar[8].nullTreatmentClauseUnion(), OverClause: yyDollar[9].overClauseUnion()} + } + yyVAL.union = yyLOCAL + case 1157: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5842 +//line sql.y:5882 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 1148: + case 1158: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5846 +//line sql.y:5886 { yyLOCAL = NewIntLiteral(yyDollar[1].str) } yyVAL.union = yyLOCAL - case 1149: + case 1159: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5851 +//line sql.y:5891 { yyLOCAL = &ColName{Name: yyDollar[1].colIdent} } yyVAL.union = yyLOCAL - case 1150: + case 1160: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:5855 +//line sql.y:5895 { yyLOCAL = NewArgument(yyDollar[1].str[1:]) bindVariable(yylex, yyDollar[1].str[1:]) } yyVAL.union = yyLOCAL - case 1151: + case 1161: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:5861 +//line sql.y:5901 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1152: + case 1162: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:5865 +//line sql.y:5905 { yyLOCAL = yyDollar[2].exprUnion() } yyVAL.union = yyLOCAL - case 1153: + case 1163: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5872 +//line sql.y:5912 { yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1154: + case 1164: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5876 +//line sql.y:5916 { yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1155: + case 1165: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL Expr -//line sql.y:5880 +//line sql.y:5920 { yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion()} } yyVAL.union = yyLOCAL - case 1156: + case 1166: yyDollar = yyS[yypt-12 : yypt+1] var yyLOCAL Expr -//line sql.y:5884 +//line sql.y:5924 { yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion(), ReturnOption: yyDollar[11].exprUnion()} } yyVAL.union = yyLOCAL - case 1157: + case 1167: yyDollar = yyS[yypt-14 : yypt+1] var yyLOCAL Expr -//line sql.y:5888 +//line sql.y:5928 { // Match type is kept expression as TRIM( ' m ') is accepted yyLOCAL = &RegexpInstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion(), ReturnOption: yyDollar[11].exprUnion(), MatchType: yyDollar[13].exprUnion()} } yyVAL.union = yyLOCAL - case 1158: + case 1168: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5893 +//line sql.y:5933 { yyLOCAL = &RegexpLikeExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1159: + case 1169: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5897 +//line sql.y:5937 { yyLOCAL = &RegexpLikeExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), MatchType: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1160: + case 1170: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5901 +//line sql.y:5941 { yyLOCAL = &RegexpReplaceExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Repl: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1161: + case 1171: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL Expr -//line sql.y:5905 +//line sql.y:5945 { yyLOCAL = &RegexpReplaceExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Repl: yyDollar[7].exprUnion(), Position: yyDollar[9].exprUnion()} } yyVAL.union = yyLOCAL - case 1162: + case 1172: yyDollar = yyS[yypt-12 : yypt+1] var yyLOCAL Expr -//line sql.y:5909 +//line sql.y:5949 { yyLOCAL = &RegexpReplaceExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Repl: yyDollar[7].exprUnion(), Position: yyDollar[9].exprUnion(), Occurrence: yyDollar[11].exprUnion()} } yyVAL.union = yyLOCAL - case 1163: + case 1173: yyDollar = yyS[yypt-14 : yypt+1] var yyLOCAL Expr -//line sql.y:5913 +//line sql.y:5953 { // Match type is kept expression as TRIM( ' m ') is accepted yyLOCAL = &RegexpReplaceExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Repl: yyDollar[7].exprUnion(), Position: yyDollar[9].exprUnion(), Occurrence: yyDollar[11].exprUnion(), MatchType: yyDollar[13].exprUnion()} } yyVAL.union = yyLOCAL - case 1164: + case 1174: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL Expr -//line sql.y:5918 +//line sql.y:5958 { yyLOCAL = &RegexpSubstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion()} } yyVAL.union = yyLOCAL - case 1165: + case 1175: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL Expr -//line sql.y:5922 +//line sql.y:5962 { yyLOCAL = &RegexpSubstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion()} } yyVAL.union = yyLOCAL - case 1166: + case 1176: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL Expr -//line sql.y:5926 +//line sql.y:5966 { yyLOCAL = &RegexpSubstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion()} } yyVAL.union = yyLOCAL - case 1167: + case 1177: yyDollar = yyS[yypt-12 : yypt+1] var yyLOCAL Expr -//line sql.y:5930 +//line sql.y:5970 { // Match type is kept expression as TRIM( ' m ') is accepted yyLOCAL = &RegexpSubstrExpr{Expr: yyDollar[3].exprUnion(), Pattern: yyDollar[5].exprUnion(), Position: yyDollar[7].exprUnion(), Occurrence: yyDollar[9].exprUnion(), MatchType: yyDollar[11].exprUnion()} } yyVAL.union = yyLOCAL - case 1168: + case 1178: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5936 +//line sql.y:5976 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1169: + case 1179: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:5940 +//line sql.y:5980 { yyLOCAL = yyDollar[2].convertTypeUnion() } yyVAL.union = yyLOCAL - case 1170: + case 1180: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []JSONPathParam -//line sql.y:5945 +//line sql.y:5985 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1171: + case 1181: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []JSONPathParam -//line sql.y:5949 +//line sql.y:5989 { yyLOCAL = yyDollar[2].jsonPathParamsUnion() } yyVAL.union = yyLOCAL - case 1172: + case 1182: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []JSONPathParam -//line sql.y:5955 +//line sql.y:5995 { yyLOCAL = []JSONPathParam{yyDollar[1].jsonPathParam} } yyVAL.union = yyLOCAL - case 1173: + case 1183: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:5959 +//line sql.y:5999 { yySLICE := (*[]JSONPathParam)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].jsonPathParam) } - case 1174: + case 1184: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5965 +//line sql.y:6005 { yyVAL.jsonPathParam = JSONPathParam(yyDollar[1].exprUnion()) } - case 1175: + case 1185: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5969 +//line sql.y:6009 { yyVAL.jsonPathParam = JSONPathParam(yyDollar[1].colNameUnion()) } - case 1176: + case 1186: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5975 +//line sql.y:6015 { } - case 1177: + case 1187: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5977 +//line sql.y:6017 { yyLOCAL = IntervalDayHour } yyVAL.union = yyLOCAL - case 1178: + case 1188: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5981 +//line sql.y:6021 { yyLOCAL = IntervalDayMicrosecond } yyVAL.union = yyLOCAL - case 1179: + case 1189: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5985 +//line sql.y:6025 { yyLOCAL = IntervalDayMinute } yyVAL.union = yyLOCAL - case 1180: + case 1190: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5989 +//line sql.y:6029 { yyLOCAL = IntervalDaySecond } yyVAL.union = yyLOCAL - case 1181: + case 1191: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5993 +//line sql.y:6033 { yyLOCAL = IntervalHourMicrosecond } yyVAL.union = yyLOCAL - case 1182: + case 1192: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:5997 +//line sql.y:6037 { yyLOCAL = IntervalHourMinute } yyVAL.union = yyLOCAL - case 1183: + case 1193: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:6001 +//line sql.y:6041 { yyLOCAL = IntervalHourSecond } yyVAL.union = yyLOCAL - case 1184: + case 1194: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:6005 +//line sql.y:6045 { yyLOCAL = IntervalMinuteMicrosecond } yyVAL.union = yyLOCAL - case 1185: + case 1195: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:6009 +//line sql.y:6049 { yyLOCAL = IntervalMinuteSecond } yyVAL.union = yyLOCAL - case 1186: + case 1196: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:6013 +//line sql.y:6053 { yyLOCAL = IntervalSecondMicrosecond } yyVAL.union = yyLOCAL - case 1187: + case 1197: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:6017 +//line sql.y:6057 { yyLOCAL = IntervalYearMonth } yyVAL.union = yyLOCAL - case 1188: + case 1198: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:6023 +//line sql.y:6063 { yyLOCAL = IntervalDay } yyVAL.union = yyLOCAL - case 1189: + case 1199: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:6027 +//line sql.y:6067 { yyLOCAL = IntervalWeek } yyVAL.union = yyLOCAL - case 1190: + case 1200: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:6031 +//line sql.y:6071 { yyLOCAL = IntervalHour } yyVAL.union = yyLOCAL - case 1191: + case 1201: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:6035 +//line sql.y:6075 { yyLOCAL = IntervalMinute } yyVAL.union = yyLOCAL - case 1192: + case 1202: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:6039 +//line sql.y:6079 { yyLOCAL = IntervalMonth } yyVAL.union = yyLOCAL - case 1193: + case 1203: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:6043 +//line sql.y:6083 { yyLOCAL = IntervalQuarter } yyVAL.union = yyLOCAL - case 1194: + case 1204: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:6047 +//line sql.y:6087 { yyLOCAL = IntervalSecond } yyVAL.union = yyLOCAL - case 1195: + case 1205: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:6051 +//line sql.y:6091 { yyLOCAL = IntervalMicrosecond } yyVAL.union = yyLOCAL - case 1196: + case 1206: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL IntervalTypes -//line sql.y:6055 +//line sql.y:6095 { yyLOCAL = IntervalYear } yyVAL.union = yyLOCAL - case 1199: + case 1209: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:6065 +//line sql.y:6105 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1200: + case 1210: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:6069 +//line sql.y:6109 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1201: + case 1211: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:6073 +//line sql.y:6113 { yyLOCAL = NewIntLiteral(yyDollar[2].str) } yyVAL.union = yyLOCAL - case 1202: + case 1212: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Expr -//line sql.y:6077 +//line sql.y:6117 { yyLOCAL = NewArgument(yyDollar[2].str[1:]) bindVariable(yylex, yyDollar[2].str[1:]) } yyVAL.union = yyLOCAL - case 1203: + case 1213: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6088 +//line sql.y:6128 { yyLOCAL = &FuncExpr{Name: NewColIdent("if"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1204: + case 1214: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6092 +//line sql.y:6132 { yyLOCAL = &FuncExpr{Name: NewColIdent("database"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1205: + case 1215: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6096 +//line sql.y:6136 { yyLOCAL = &FuncExpr{Name: NewColIdent("schema"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1206: + case 1216: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6100 +//line sql.y:6140 { yyLOCAL = &FuncExpr{Name: NewColIdent("mod"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1207: + case 1217: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr -//line sql.y:6104 +//line sql.y:6144 { yyLOCAL = &FuncExpr{Name: NewColIdent("replace"), Exprs: yyDollar[3].selectExprsUnion()} } yyVAL.union = yyLOCAL - case 1208: + case 1218: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:6110 +//line sql.y:6150 { yyLOCAL = NoOption } yyVAL.union = yyLOCAL - case 1209: + case 1219: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:6114 +//line sql.y:6154 { yyLOCAL = BooleanModeOpt } yyVAL.union = yyLOCAL - case 1210: + case 1220: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:6118 +//line sql.y:6158 { yyLOCAL = NaturalLanguageModeOpt } yyVAL.union = yyLOCAL - case 1211: + case 1221: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:6122 +//line sql.y:6162 { yyLOCAL = NaturalLanguageModeWithQueryExpansionOpt } yyVAL.union = yyLOCAL - case 1212: + case 1222: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL MatchExprOption -//line sql.y:6126 +//line sql.y:6166 { yyLOCAL = QueryExpansionOpt } yyVAL.union = yyLOCAL - case 1213: + case 1223: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6132 +//line sql.y:6172 { yyVAL.str = string(yyDollar[1].colIdent.String()) } - case 1214: + case 1224: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6136 +//line sql.y:6176 { yyVAL.str = string(yyDollar[1].str) } - case 1215: + case 1225: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6140 +//line sql.y:6180 { yyVAL.str = string(yyDollar[1].str) } - case 1216: + case 1226: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:6146 +//line sql.y:6186 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1217: + case 1227: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:6150 +//line sql.y:6190 { yyLOCAL = &ConvertType{Type: string(yyDollar[2].str), Length: NewIntLiteral(yyDollar[4].str)} } yyVAL.union = yyLOCAL - case 1218: + case 1228: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:6154 +//line sql.y:6194 { yyLOCAL = &ConvertType{Type: string(yyDollar[2].str), Length: NewIntLiteral(yyDollar[4].str)} } yyVAL.union = yyLOCAL - case 1219: + case 1229: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:6160 +//line sql.y:6200 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } yyVAL.union = yyLOCAL - case 1220: + case 1230: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:6164 +//line sql.y:6204 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion(), Charset: yyDollar[3].columnCharset} } yyVAL.union = yyLOCAL - case 1221: + case 1231: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:6168 +//line sql.y:6208 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1222: + case 1232: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:6172 +//line sql.y:6212 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } yyVAL.union = yyLOCAL - case 1223: + case 1233: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:6176 +//line sql.y:6216 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} yyLOCAL.Length = yyDollar[2].LengthScaleOption.Length yyLOCAL.Scale = yyDollar[2].LengthScaleOption.Scale } yyVAL.union = yyLOCAL - case 1224: + case 1234: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:6182 +//line sql.y:6222 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1225: + case 1235: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:6186 +//line sql.y:6226 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } yyVAL.union = yyLOCAL - case 1226: + case 1236: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:6190 +//line sql.y:6230 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1227: + case 1237: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:6194 +//line sql.y:6234 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1228: + case 1238: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:6198 +//line sql.y:6238 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } yyVAL.union = yyLOCAL - case 1229: + case 1239: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:6202 +//line sql.y:6242 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1230: + case 1240: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:6206 +//line sql.y:6246 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1231: + case 1241: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:6210 +//line sql.y:6250 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str), Length: yyDollar[2].literalUnion()} } yyVAL.union = yyLOCAL - case 1232: + case 1242: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:6214 +//line sql.y:6254 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1233: + case 1243: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ConvertType -//line sql.y:6218 +//line sql.y:6258 { yyLOCAL = &ConvertType{Type: string(yyDollar[1].str)} } yyVAL.union = yyLOCAL - case 1234: + case 1244: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:6224 +//line sql.y:6264 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1235: + case 1245: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:6228 +//line sql.y:6268 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1236: + case 1246: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:6233 +//line sql.y:6273 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1237: + case 1247: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:6237 +//line sql.y:6277 { yyLOCAL = yyDollar[1].exprUnion() } yyVAL.union = yyLOCAL - case 1238: + case 1248: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6242 +//line sql.y:6282 { yyVAL.str = string("") } - case 1239: + case 1249: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6246 +//line sql.y:6286 { yyVAL.str = " separator " + encodeSQLString(yyDollar[2].str) } - case 1240: + case 1250: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*When -//line sql.y:6252 +//line sql.y:6292 { yyLOCAL = []*When{yyDollar[1].whenUnion()} } yyVAL.union = yyLOCAL - case 1241: + case 1251: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6256 +//line sql.y:6296 { yySLICE := (*[]*When)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[2].whenUnion()) } - case 1242: + case 1252: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *When -//line sql.y:6262 +//line sql.y:6302 { yyLOCAL = &When{Cond: yyDollar[2].exprUnion(), Val: yyDollar[4].exprUnion()} } yyVAL.union = yyLOCAL - case 1243: + case 1253: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:6267 +//line sql.y:6307 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1244: + case 1254: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:6271 +//line sql.y:6311 { yyLOCAL = yyDollar[2].exprUnion() } yyVAL.union = yyLOCAL - case 1245: + case 1255: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *ColName -//line sql.y:6277 +//line sql.y:6317 { yyLOCAL = &ColName{Name: yyDollar[1].colIdent} } yyVAL.union = yyLOCAL - case 1246: + case 1256: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *ColName -//line sql.y:6281 +//line sql.y:6321 { yyLOCAL = &ColName{Qualifier: TableName{Name: yyDollar[1].tableIdent}, Name: yyDollar[3].colIdent} } yyVAL.union = yyLOCAL - case 1247: + case 1257: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *ColName -//line sql.y:6285 +//line sql.y:6325 { yyLOCAL = &ColName{Qualifier: TableName{Qualifier: yyDollar[1].tableIdent, Name: yyDollar[3].tableIdent}, Name: yyDollar[5].colIdent} } yyVAL.union = yyLOCAL - case 1248: + case 1258: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:6291 +//line sql.y:6331 { // TODO(sougou): Deprecate this construct. if yyDollar[1].colIdent.Lowered() != "value" { @@ -17830,427 +18115,427 @@ yydefault: yyLOCAL = NewIntLiteral("1") } yyVAL.union = yyLOCAL - case 1249: + case 1259: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:6300 +//line sql.y:6340 { yyLOCAL = NewIntLiteral(yyDollar[1].str) } yyVAL.union = yyLOCAL - case 1250: + case 1260: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:6304 +//line sql.y:6344 { yyLOCAL = NewArgument(yyDollar[1].str[1:]) bindVariable(yylex, yyDollar[1].str[1:]) } yyVAL.union = yyLOCAL - case 1251: + case 1261: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Exprs -//line sql.y:6310 +//line sql.y:6350 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1252: + case 1262: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Exprs -//line sql.y:6314 +//line sql.y:6354 { yyLOCAL = yyDollar[3].exprsUnion() } yyVAL.union = yyLOCAL - case 1253: + case 1263: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Expr -//line sql.y:6319 +//line sql.y:6359 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1254: + case 1264: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Expr -//line sql.y:6323 +//line sql.y:6363 { yyLOCAL = yyDollar[2].exprUnion() } yyVAL.union = yyLOCAL - case 1255: + case 1265: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *NamedWindow -//line sql.y:6329 +//line sql.y:6369 { yyLOCAL = &NamedWindow{yyDollar[2].windowDefinitionsUnion()} } yyVAL.union = yyLOCAL - case 1256: + case 1266: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL NamedWindows -//line sql.y:6335 +//line sql.y:6375 { yyLOCAL = NamedWindows{yyDollar[1].namedWindowUnion()} } yyVAL.union = yyLOCAL - case 1257: + case 1267: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6339 +//line sql.y:6379 { yySLICE := (*NamedWindows)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].namedWindowUnion()) } - case 1258: + case 1268: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL NamedWindows -//line sql.y:6344 +//line sql.y:6384 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1259: + case 1269: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL NamedWindows -//line sql.y:6348 +//line sql.y:6388 { yyLOCAL = yyDollar[1].namedWindowsUnion() } yyVAL.union = yyLOCAL - case 1260: + case 1270: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL OrderBy -//line sql.y:6353 +//line sql.y:6393 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1261: + case 1271: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL OrderBy -//line sql.y:6357 +//line sql.y:6397 { yyLOCAL = yyDollar[1].orderByUnion() } yyVAL.union = yyLOCAL - case 1262: + case 1272: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL OrderBy -//line sql.y:6363 +//line sql.y:6403 { yyLOCAL = yyDollar[3].orderByUnion() } yyVAL.union = yyLOCAL - case 1263: + case 1273: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL OrderBy -//line sql.y:6369 +//line sql.y:6409 { yyLOCAL = OrderBy{yyDollar[1].orderUnion()} } yyVAL.union = yyLOCAL - case 1264: + case 1274: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6373 +//line sql.y:6413 { yySLICE := (*OrderBy)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].orderUnion()) } - case 1265: + case 1275: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Order -//line sql.y:6379 +//line sql.y:6419 { yyLOCAL = &Order{Expr: yyDollar[1].exprUnion(), Direction: yyDollar[2].orderDirectionUnion()} } yyVAL.union = yyLOCAL - case 1266: + case 1276: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL OrderDirection -//line sql.y:6384 +//line sql.y:6424 { yyLOCAL = AscOrder } yyVAL.union = yyLOCAL - case 1267: + case 1277: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL OrderDirection -//line sql.y:6388 +//line sql.y:6428 { yyLOCAL = AscOrder } yyVAL.union = yyLOCAL - case 1268: + case 1278: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL OrderDirection -//line sql.y:6392 +//line sql.y:6432 { yyLOCAL = DescOrder } yyVAL.union = yyLOCAL - case 1269: + case 1279: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *Limit -//line sql.y:6397 +//line sql.y:6437 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1270: + case 1280: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Limit -//line sql.y:6401 +//line sql.y:6441 { yyLOCAL = yyDollar[1].limitUnion() } yyVAL.union = yyLOCAL - case 1271: + case 1281: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Limit -//line sql.y:6407 +//line sql.y:6447 { yyLOCAL = &Limit{Rowcount: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 1272: + case 1282: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Limit -//line sql.y:6411 +//line sql.y:6451 { yyLOCAL = &Limit{Offset: yyDollar[2].exprUnion(), Rowcount: yyDollar[4].exprUnion()} } yyVAL.union = yyLOCAL - case 1273: + case 1283: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Limit -//line sql.y:6415 +//line sql.y:6455 { yyLOCAL = &Limit{Offset: yyDollar[4].exprUnion(), Rowcount: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 1274: + case 1284: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:6420 +//line sql.y:6460 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1275: + case 1285: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:6424 +//line sql.y:6464 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion(), yyDollar[2].alterOptionUnion()} } yyVAL.union = yyLOCAL - case 1276: + case 1286: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:6428 +//line sql.y:6468 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion(), yyDollar[2].alterOptionUnion()} } yyVAL.union = yyLOCAL - case 1277: + case 1287: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:6432 +//line sql.y:6472 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} } yyVAL.union = yyLOCAL - case 1278: + case 1288: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []AlterOption -//line sql.y:6436 +//line sql.y:6476 { yyLOCAL = []AlterOption{yyDollar[1].alterOptionUnion()} } yyVAL.union = yyLOCAL - case 1279: + case 1289: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6443 +//line sql.y:6483 { yyLOCAL = &LockOption{Type: DefaultType} } yyVAL.union = yyLOCAL - case 1280: + case 1290: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6447 +//line sql.y:6487 { yyLOCAL = &LockOption{Type: NoneType} } yyVAL.union = yyLOCAL - case 1281: + case 1291: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6451 +//line sql.y:6491 { yyLOCAL = &LockOption{Type: SharedType} } yyVAL.union = yyLOCAL - case 1282: + case 1292: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6455 +//line sql.y:6495 { yyLOCAL = &LockOption{Type: ExclusiveType} } yyVAL.union = yyLOCAL - case 1283: + case 1293: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6461 +//line sql.y:6501 { yyLOCAL = AlgorithmValue(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1284: + case 1294: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6465 +//line sql.y:6505 { yyLOCAL = AlgorithmValue(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1285: + case 1295: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6469 +//line sql.y:6509 { yyLOCAL = AlgorithmValue(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1286: + case 1296: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL AlterOption -//line sql.y:6473 +//line sql.y:6513 { yyLOCAL = AlgorithmValue(yyDollar[3].str) } yyVAL.union = yyLOCAL - case 1287: + case 1297: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6478 +//line sql.y:6518 { yyVAL.str = "" } - case 1288: + case 1298: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6482 +//line sql.y:6522 { yyVAL.str = string(yyDollar[3].str) } - case 1289: + case 1299: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6486 +//line sql.y:6526 { yyVAL.str = string(yyDollar[3].str) } - case 1290: + case 1300: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6490 +//line sql.y:6530 { yyVAL.str = string(yyDollar[3].str) } - case 1291: + case 1301: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6495 +//line sql.y:6535 { yyVAL.str = "" } - case 1292: + case 1302: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6499 +//line sql.y:6539 { yyVAL.str = yyDollar[3].str } - case 1293: + case 1303: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6505 +//line sql.y:6545 { yyVAL.str = string(yyDollar[1].str) } - case 1294: + case 1304: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6509 +//line sql.y:6549 { yyVAL.str = string(yyDollar[1].str) } - case 1295: + case 1305: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6514 +//line sql.y:6554 { yyVAL.str = "" } - case 1296: + case 1306: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:6518 +//line sql.y:6558 { yyVAL.str = yyDollar[2].str } - case 1297: + case 1307: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6523 +//line sql.y:6563 { yyVAL.str = "cascaded" } - case 1298: + case 1308: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6527 +//line sql.y:6567 { yyVAL.str = string(yyDollar[1].str) } - case 1299: + case 1309: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6531 +//line sql.y:6571 { yyVAL.str = string(yyDollar[1].str) } - case 1300: + case 1310: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *Definer -//line sql.y:6536 +//line sql.y:6576 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1301: + case 1311: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *Definer -//line sql.y:6540 +//line sql.y:6580 { yyLOCAL = yyDollar[3].definerUnion() } yyVAL.union = yyLOCAL - case 1302: + case 1312: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Definer -//line sql.y:6546 +//line sql.y:6586 { yyLOCAL = &Definer{ Name: string(yyDollar[1].str), } } yyVAL.union = yyLOCAL - case 1303: + case 1313: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *Definer -//line sql.y:6552 +//line sql.y:6592 { yyLOCAL = &Definer{ Name: string(yyDollar[1].str), } } yyVAL.union = yyLOCAL - case 1304: + case 1314: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Definer -//line sql.y:6558 +//line sql.y:6598 { yyLOCAL = &Definer{ Name: yyDollar[1].str, @@ -18258,369 +18543,369 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1305: + case 1315: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6567 +//line sql.y:6607 { yyVAL.str = encodeSQLString(yyDollar[1].str) } - case 1306: + case 1316: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6571 +//line sql.y:6611 { yyVAL.str = formatIdentifier(yyDollar[1].str) } - case 1307: + case 1317: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6576 +//line sql.y:6616 { yyVAL.str = "" } - case 1308: + case 1318: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6580 +//line sql.y:6620 { yyVAL.str = formatAddress(yyDollar[1].str) } - case 1309: + case 1319: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL Lock -//line sql.y:6586 +//line sql.y:6626 { yyLOCAL = ForUpdateLock } yyVAL.union = yyLOCAL - case 1310: + case 1320: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Lock -//line sql.y:6590 +//line sql.y:6630 { yyLOCAL = ShareModeLock } yyVAL.union = yyLOCAL - case 1311: + case 1321: yyDollar = yyS[yypt-9 : yypt+1] var yyLOCAL *SelectInto -//line sql.y:6596 +//line sql.y:6636 { yyLOCAL = &SelectInto{Type: IntoOutfileS3, FileName: encodeSQLString(yyDollar[4].str), Charset: yyDollar[5].columnCharset, FormatOption: yyDollar[6].str, ExportOption: yyDollar[7].str, Manifest: yyDollar[8].str, Overwrite: yyDollar[9].str} } yyVAL.union = yyLOCAL - case 1312: + case 1322: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SelectInto -//line sql.y:6600 +//line sql.y:6640 { yyLOCAL = &SelectInto{Type: IntoDumpfile, FileName: encodeSQLString(yyDollar[3].str), Charset: ColumnCharset{}, FormatOption: "", ExportOption: "", Manifest: "", Overwrite: ""} } yyVAL.union = yyLOCAL - case 1313: + case 1323: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *SelectInto -//line sql.y:6604 +//line sql.y:6644 { yyLOCAL = &SelectInto{Type: IntoOutfile, FileName: encodeSQLString(yyDollar[3].str), Charset: yyDollar[4].columnCharset, FormatOption: "", ExportOption: yyDollar[5].str, Manifest: "", Overwrite: ""} } yyVAL.union = yyLOCAL - case 1314: + case 1324: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6609 +//line sql.y:6649 { yyVAL.str = "" } - case 1315: + case 1325: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6613 +//line sql.y:6653 { yyVAL.str = " format csv" + yyDollar[3].str } - case 1316: + case 1326: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6617 +//line sql.y:6657 { yyVAL.str = " format text" + yyDollar[3].str } - case 1317: + case 1327: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6622 +//line sql.y:6662 { yyVAL.str = "" } - case 1318: + case 1328: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6626 +//line sql.y:6666 { yyVAL.str = " header" } - case 1319: + case 1329: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6631 +//line sql.y:6671 { yyVAL.str = "" } - case 1320: + case 1330: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6635 +//line sql.y:6675 { yyVAL.str = " manifest on" } - case 1321: + case 1331: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6639 +//line sql.y:6679 { yyVAL.str = " manifest off" } - case 1322: + case 1332: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6644 +//line sql.y:6684 { yyVAL.str = "" } - case 1323: + case 1333: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6648 +//line sql.y:6688 { yyVAL.str = " overwrite on" } - case 1324: + case 1334: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6652 +//line sql.y:6692 { yyVAL.str = " overwrite off" } - case 1325: + case 1335: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6658 +//line sql.y:6698 { yyVAL.str = yyDollar[1].str + yyDollar[2].str } - case 1326: + case 1336: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6663 +//line sql.y:6703 { yyVAL.str = "" } - case 1327: + case 1337: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6667 +//line sql.y:6707 { yyVAL.str = " lines" + yyDollar[2].str } - case 1328: + case 1338: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6673 +//line sql.y:6713 { yyVAL.str = yyDollar[1].str } - case 1329: + case 1339: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6677 +//line sql.y:6717 { yyVAL.str = yyDollar[1].str + yyDollar[2].str } - case 1330: + case 1340: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6683 +//line sql.y:6723 { yyVAL.str = " starting by " + encodeSQLString(yyDollar[3].str) } - case 1331: + case 1341: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6687 +//line sql.y:6727 { yyVAL.str = " terminated by " + encodeSQLString(yyDollar[3].str) } - case 1332: + case 1342: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6692 +//line sql.y:6732 { yyVAL.str = "" } - case 1333: + case 1343: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6696 +//line sql.y:6736 { yyVAL.str = " " + yyDollar[1].str + yyDollar[2].str } - case 1334: + case 1344: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6702 +//line sql.y:6742 { yyVAL.str = yyDollar[1].str } - case 1335: + case 1345: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6706 +//line sql.y:6746 { yyVAL.str = yyDollar[1].str + yyDollar[2].str } - case 1336: + case 1346: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6712 +//line sql.y:6752 { yyVAL.str = " terminated by " + encodeSQLString(yyDollar[3].str) } - case 1337: + case 1347: yyDollar = yyS[yypt-4 : yypt+1] -//line sql.y:6716 +//line sql.y:6756 { yyVAL.str = yyDollar[1].str + " enclosed by " + encodeSQLString(yyDollar[4].str) } - case 1338: + case 1348: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6720 +//line sql.y:6760 { yyVAL.str = " escaped by " + encodeSQLString(yyDollar[3].str) } - case 1339: + case 1349: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6725 +//line sql.y:6765 { yyVAL.str = "" } - case 1340: + case 1350: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6729 +//line sql.y:6769 { yyVAL.str = " optionally" } - case 1341: + case 1351: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *Insert -//line sql.y:6742 +//line sql.y:6782 { yyLOCAL = &Insert{Rows: yyDollar[2].valuesUnion()} } yyVAL.union = yyLOCAL - case 1342: + case 1352: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *Insert -//line sql.y:6746 +//line sql.y:6786 { yyLOCAL = &Insert{Rows: yyDollar[1].selStmtUnion()} } yyVAL.union = yyLOCAL - case 1343: + case 1353: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *Insert -//line sql.y:6750 +//line sql.y:6790 { yyLOCAL = &Insert{Columns: yyDollar[2].columnsUnion(), Rows: yyDollar[5].valuesUnion()} } yyVAL.union = yyLOCAL - case 1344: + case 1354: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Insert -//line sql.y:6754 +//line sql.y:6794 { yyLOCAL = &Insert{Rows: yyDollar[4].valuesUnion()} } yyVAL.union = yyLOCAL - case 1345: + case 1355: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *Insert -//line sql.y:6758 +//line sql.y:6798 { yyLOCAL = &Insert{Columns: yyDollar[2].columnsUnion(), Rows: yyDollar[4].selStmtUnion()} } yyVAL.union = yyLOCAL - case 1346: + case 1356: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Columns -//line sql.y:6764 +//line sql.y:6804 { yyLOCAL = Columns{yyDollar[1].colIdent} } yyVAL.union = yyLOCAL - case 1347: + case 1357: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL Columns -//line sql.y:6768 +//line sql.y:6808 { yyLOCAL = Columns{yyDollar[3].colIdent} } yyVAL.union = yyLOCAL - case 1348: + case 1358: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6772 +//line sql.y:6812 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].colIdent) } - case 1349: + case 1359: yyDollar = yyS[yypt-5 : yypt+1] -//line sql.y:6776 +//line sql.y:6816 { yySLICE := (*Columns)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[5].colIdent) } - case 1350: + case 1360: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL UpdateExprs -//line sql.y:6781 +//line sql.y:6821 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1351: + case 1361: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL UpdateExprs -//line sql.y:6785 +//line sql.y:6825 { yyLOCAL = yyDollar[5].updateExprsUnion() } yyVAL.union = yyLOCAL - case 1352: + case 1362: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Values -//line sql.y:6791 +//line sql.y:6831 { yyLOCAL = Values{yyDollar[1].valTupleUnion()} } yyVAL.union = yyLOCAL - case 1353: + case 1363: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6795 +//line sql.y:6835 { yySLICE := (*Values)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].valTupleUnion()) } - case 1354: + case 1364: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL ValTuple -//line sql.y:6801 +//line sql.y:6841 { yyLOCAL = yyDollar[1].valTupleUnion() } yyVAL.union = yyLOCAL - case 1355: + case 1365: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL ValTuple -//line sql.y:6805 +//line sql.y:6845 { yyLOCAL = ValTuple{} } yyVAL.union = yyLOCAL - case 1356: + case 1366: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL ValTuple -//line sql.y:6811 +//line sql.y:6851 { yyLOCAL = ValTuple(yyDollar[2].exprsUnion()) } yyVAL.union = yyLOCAL - case 1357: + case 1367: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL ValTuple -//line sql.y:6815 +//line sql.y:6855 { yyLOCAL = ValTuple(yyDollar[3].exprsUnion()) } yyVAL.union = yyLOCAL - case 1358: + case 1368: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:6820 +//line sql.y:6860 { if len(yyDollar[1].valTupleUnion()) == 1 { yyLOCAL = yyDollar[1].valTupleUnion()[0] @@ -18629,329 +18914,329 @@ yydefault: } } yyVAL.union = yyLOCAL - case 1359: + case 1369: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL UpdateExprs -//line sql.y:6830 +//line sql.y:6870 { yyLOCAL = UpdateExprs{yyDollar[1].updateExprUnion()} } yyVAL.union = yyLOCAL - case 1360: + case 1370: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6834 +//line sql.y:6874 { yySLICE := (*UpdateExprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].updateExprUnion()) } - case 1361: + case 1371: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *UpdateExpr -//line sql.y:6840 +//line sql.y:6880 { yyLOCAL = &UpdateExpr{Name: yyDollar[1].colNameUnion(), Expr: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1362: + case 1372: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL SetExprs -//line sql.y:6846 +//line sql.y:6886 { yyLOCAL = SetExprs{yyDollar[1].setExprUnion()} } yyVAL.union = yyLOCAL - case 1363: + case 1373: yyDollar = yyS[yypt-3 : yypt+1] -//line sql.y:6850 +//line sql.y:6890 { yySLICE := (*SetExprs)(yyIaddr(yyVAL.union)) *yySLICE = append(*yySLICE, yyDollar[3].setExprUnion()) } - case 1364: + case 1374: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:6856 +//line sql.y:6896 { yyLOCAL = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: NewStrLiteral("on")} } yyVAL.union = yyLOCAL - case 1365: + case 1375: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:6860 +//line sql.y:6900 { yyLOCAL = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: NewStrLiteral("off")} } yyVAL.union = yyLOCAL - case 1366: + case 1376: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:6864 +//line sql.y:6904 { yyLOCAL = &SetExpr{Name: yyDollar[1].colIdent, Scope: ImplicitScope, Expr: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL - case 1367: + case 1377: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:6868 +//line sql.y:6908 { yyLOCAL = &SetExpr{Name: NewColIdent(string(yyDollar[1].str)), Scope: ImplicitScope, Expr: yyDollar[2].exprUnion()} } yyVAL.union = yyLOCAL - case 1368: + case 1378: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *SetExpr -//line sql.y:6872 +//line sql.y:6912 { yyDollar[2].setExprUnion().Scope = yyDollar[1].scopeUnion() yyLOCAL = yyDollar[2].setExprUnion() } yyVAL.union = yyLOCAL - case 1370: + case 1380: yyDollar = yyS[yypt-2 : yypt+1] -//line sql.y:6880 +//line sql.y:6920 { yyVAL.str = "charset" } - case 1373: + case 1383: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:6890 +//line sql.y:6930 { yyLOCAL = NewStrLiteral(yyDollar[1].colIdent.String()) } yyVAL.union = yyLOCAL - case 1374: + case 1384: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:6894 +//line sql.y:6934 { yyLOCAL = NewStrLiteral(yyDollar[1].str) } yyVAL.union = yyLOCAL - case 1375: + case 1385: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Expr -//line sql.y:6898 +//line sql.y:6938 { yyLOCAL = &Default{} } yyVAL.union = yyLOCAL - case 1378: + case 1388: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:6907 +//line sql.y:6947 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1379: + case 1389: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line sql.y:6909 +//line sql.y:6949 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1380: + case 1390: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:6912 +//line sql.y:6952 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1381: + case 1391: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line sql.y:6914 +//line sql.y:6954 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1382: + case 1392: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line sql.y:6917 +//line sql.y:6957 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1383: + case 1393: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL bool -//line sql.y:6919 +//line sql.y:6959 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1384: + case 1394: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Ignore -//line sql.y:6922 +//line sql.y:6962 { yyLOCAL = false } yyVAL.union = yyLOCAL - case 1385: + case 1395: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Ignore -//line sql.y:6924 +//line sql.y:6964 { yyLOCAL = true } yyVAL.union = yyLOCAL - case 1386: + case 1396: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6927 +//line sql.y:6967 { yyVAL.empty = struct{}{} } - case 1387: + case 1397: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6929 +//line sql.y:6969 { yyVAL.empty = struct{}{} } - case 1388: + case 1398: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6931 +//line sql.y:6971 { yyVAL.empty = struct{}{} } - case 1389: + case 1399: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL Statement -//line sql.y:6935 +//line sql.y:6975 { yyLOCAL = &CallProc{Name: yyDollar[2].tableName, Params: yyDollar[4].exprsUnion()} } yyVAL.union = yyLOCAL - case 1390: + case 1400: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL Exprs -//line sql.y:6940 +//line sql.y:6980 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1391: + case 1401: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL Exprs -//line sql.y:6944 +//line sql.y:6984 { yyLOCAL = yyDollar[1].exprsUnion() } yyVAL.union = yyLOCAL - case 1392: + case 1402: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:6949 +//line sql.y:6989 { yyLOCAL = nil } yyVAL.union = yyLOCAL - case 1393: + case 1403: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*IndexOption -//line sql.y:6951 +//line sql.y:6991 { yyLOCAL = []*IndexOption{yyDollar[1].indexOptionUnion()} } yyVAL.union = yyLOCAL - case 1394: + case 1404: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *IndexOption -//line sql.y:6955 +//line sql.y:6995 { yyLOCAL = &IndexOption{Name: string(yyDollar[1].str), String: string(yyDollar[2].colIdent.String())} } yyVAL.union = yyLOCAL - case 1395: + case 1405: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6961 +//line sql.y:7001 { yyVAL.colIdent = yyDollar[1].colIdent } - case 1396: + case 1406: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6965 +//line sql.y:7005 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].str)) } - case 1398: + case 1408: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6972 +//line sql.y:7012 { yyVAL.colIdent = NewColIdent(string(yyDollar[1].str)) } - case 1399: + case 1409: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6978 +//line sql.y:7018 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].colIdent.String())) } - case 1400: + case 1410: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6982 +//line sql.y:7022 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].str)) } - case 1401: + case 1411: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:6988 +//line sql.y:7028 { yyVAL.tableIdent = NewTableIdent("") } - case 1402: + case 1412: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6992 +//line sql.y:7032 { yyVAL.tableIdent = yyDollar[1].tableIdent } - case 1404: + case 1414: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:6999 +//line sql.y:7039 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].str)) } - case 1918: + case 1938: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7539 +//line sql.y:7589 { if incNesting(yylex) { yylex.Error("max nesting level reached") return 1 } } - case 1919: + case 1939: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7548 +//line sql.y:7598 { decNesting(yylex) } - case 1920: + case 1940: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7553 +//line sql.y:7603 { skipToEnd(yylex) } - case 1921: + case 1941: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:7558 +//line sql.y:7608 { skipToEnd(yylex) } - case 1922: + case 1942: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7562 +//line sql.y:7612 { skipToEnd(yylex) } - case 1923: + case 1943: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:7566 +//line sql.y:7616 { skipToEnd(yylex) } diff --git a/go/vt/sqlparser/sql.y b/go/vt/sqlparser/sql.y index fb200ff05e1..6e55715446c 100644 --- a/go/vt/sqlparser/sql.y +++ b/go/vt/sqlparser/sql.y @@ -341,7 +341,7 @@ func bindVariable(yylex yyLexer, bvar string) { %token JSON_ARRAY JSON_OBJECT JSON_QUOTE %token JSON_DEPTH JSON_TYPE JSON_LENGTH JSON_VALID %token JSON_ARRAY_APPEND JSON_ARRAY_INSERT JSON_INSERT JSON_MERGE JSON_MERGE_PATCH JSON_MERGE_PRESERVE JSON_REMOVE JSON_REPLACE JSON_SET JSON_UNQUOTE -%token COUNT AVG MAX MIN SUM GROUP_CONCAT +%token COUNT AVG MAX MIN SUM GROUP_CONCAT BIT_AND BIT_OR BIT_XOR STD STDDEV STDDEV_POP STDDEV_SAMP VAR_POP VAR_SAMP VARIANCE %token REGEXP_INSTR REGEXP_LIKE REGEXP_REPLACE REGEXP_SUBSTR // Match @@ -5635,6 +5635,46 @@ UTC_DATE func_paren_opt { $$ = &Avg{Name:$1 , Distinct:$3, Args:$4} } +| BIT_AND openb expression_list closeb + { + $$ = &BitAnd{Name:$1 , Args:$3} + } +| BIT_OR openb expression_list closeb + { + $$ = &BitOr{Name:$1 , Args:$3} + } +| BIT_XOR openb expression_list closeb + { + $$ = &BitXor{Name:$1 , Args:$3} + } +| STD openb expression_list closeb + { + $$ = &Std{Name:$1 , Args:$3} + } +| STDDEV openb expression_list closeb + { + $$ = &StdDev{Name:$1 , Args:$3} + } +| STDDEV_POP openb expression_list closeb + { + $$ = &StdPop{Name:$1 , Args:$3} + } +| STDDEV_SAMP openb expression_list closeb + { + $$ = &StdSamp{Name:$1 , Args:$3} + } +| VAR_POP openb expression_list closeb + { + $$ = &VarPop{Name:$1 , Args:$3} + } +| VAR_SAMP openb expression_list closeb + { + $$ = &VarSamp{Name:$1 , Args:$3} + } +| VARIANCE openb expression_list closeb + { + $$ = &Variance{Name:$1 , Args:$3} + } | GROUP_CONCAT openb distinct_opt expression_list order_by_opt separator_opt limit_opt closeb { $$ = &GroupConcatExpr{Name:$1, Distinct: $3, Exprs: $4, OrderBy: $5, Separator: $6, Limit: $7} @@ -7183,6 +7223,9 @@ non_reserved_keyword: | BEGIN | BIGINT | BIT +| BIT_AND +| BIT_OR +| BIT_XOR | BLOB | BOOL | BOOLEAN @@ -7451,6 +7494,10 @@ non_reserved_keyword: | STATS_SAMPLE_PAGES | STATUS | STORAGE +| STD +| STDDEV +| STDDEV_POP +| STDDEV_SAMP | STREAM | SUBPARTITION | SUBPARTITIONS @@ -7487,9 +7534,12 @@ non_reserved_keyword: | USER | USER_RESOURCES | VALIDATION +| VAR_POP +| VAR_SAMP | VARBINARY | VARCHAR | VARIABLES +| VARIANCE | VCPU | VGTID_EXECUTED | VIEW diff --git a/go/vt/vtgate/planbuilder/testdata/onecase.txt b/go/vt/vtgate/planbuilder/testdata/onecase.txt index e69de29bb2d..16a368ddafd 100644 --- a/go/vt/vtgate/planbuilder/testdata/onecase.txt +++ b/go/vt/vtgate/planbuilder/testdata/onecase.txt @@ -0,0 +1 @@ +# Add your test case here for debugging and run go test -run=One. \ No newline at end of file From b1db216011d19ae287921da35c1437e5f25cb2f9 Mon Sep 17 00:00:00 2001 From: Rameez Sajwani Date: Mon, 6 Jun 2022 13:47:17 -0700 Subject: [PATCH 16/22] Fixing parser errors Signed-off-by: Rameez Sajwani --- go/vt/sqlparser/ast.go | 127 +- go/vt/sqlparser/ast_clone.go | 28 +- go/vt/sqlparser/ast_equals.go | 31 +- go/vt/sqlparser/ast_format.go | 31 +- go/vt/sqlparser/ast_format_fast.go | 31 +- go/vt/sqlparser/ast_funcs.go | 8 - go/vt/sqlparser/ast_rewrite.go | 56 +- go/vt/sqlparser/ast_visit.go | 28 +- go/vt/sqlparser/cached_size.go | 176 +- go/vt/sqlparser/sql.go | 4111 ++++++++--------- go/vt/sqlparser/sql.y | 60 +- go/vt/sqlparser/testdata/select_cases.txt | 12 +- .../planbuilder/abstract/queryprojection.go | 21 +- .../abstract/queryprojection_test.go | 4 - go/vt/vtgate/planbuilder/horizon_planning.go | 8 - go/vt/vtgate/planbuilder/ordered_aggregate.go | 26 +- go/vt/vtgate/planbuilder/plan_test.go | 1 - go/vt/vtgate/planbuilder/symtab_test.go | 29 +- .../planbuilder/testdata/aggr_cases.txt | 2 +- go/vt/vtgate/semantics/binder.go | 11 +- tools/check_make_parser.sh | 2 +- 21 files changed, 2296 insertions(+), 2507 deletions(-) diff --git a/go/vt/sqlparser/ast.go b/go/vt/sqlparser/ast.go index 56327caff6c..219ef44e56c 100644 --- a/go/vt/sqlparser/ast.go +++ b/go/vt/sqlparser/ast.go @@ -2635,7 +2635,7 @@ type ( Expr AggrName() string GetArg() Expr - isDistinct() bool + IsDistinct() bool GetArgs() Exprs } @@ -2646,81 +2646,80 @@ type ( } CountStar struct { - Distinct bool - Name string + Name string } Avg struct { - Args Exprs + Arg Expr Distinct bool Name string } Max struct { - Args Exprs + Arg Expr Distinct bool Name string } Min struct { - Args Exprs + Arg Expr Distinct bool Name string } Sum struct { - Args Exprs + Arg Expr Distinct bool Name string } BitAnd struct { - Args Exprs + Arg Expr Name string } BitOr struct { - Args Exprs + Arg Expr Name string } BitXor struct { - Args Exprs + Arg Expr Name string } Std struct { - Args Exprs + Arg Expr Name string } StdDev struct { - Args Exprs + Arg Expr Name string } StdPop struct { - Args Exprs + Arg Expr Name string } StdSamp struct { - Args Exprs + Arg Expr Name string } VarPop struct { - Args Exprs + Arg Expr Name string } VarSamp struct { - Args Exprs + Arg Expr Name string } Variance struct { - Args Exprs + Arg Expr Name string } @@ -2843,59 +2842,59 @@ func (*VarPop) iExpr() {} func (*VarSamp) iExpr() {} func (*Variance) iExpr() {} -func (sum *Sum) GetArg() Expr { return sum.Args[0] } -func (min *Min) GetArg() Expr { return min.Args[0] } -func (max *Max) GetArg() Expr { return max.Args[0] } -func (avg *Avg) GetArg() Expr { return avg.Args[0] } +func (sum *Sum) GetArg() Expr { return sum.Arg } +func (min *Min) GetArg() Expr { return min.Arg } +func (max *Max) GetArg() Expr { return max.Arg } +func (avg *Avg) GetArg() Expr { return avg.Arg } func (*CountStar) GetArg() Expr { return nil } func (count *Count) GetArg() Expr { return count.Args[0] } func (grpConcat *GroupConcatExpr) GetArg() Expr { return grpConcat.Exprs[0] } -func (bAnd *BitAnd) GetArg() Expr { return bAnd.Args[0] } -func (bOr *BitOr) GetArg() Expr { return bOr.Args[0] } -func (bXor *BitXor) GetArg() Expr { return bXor.Args[0] } -func (std *Std) GetArg() Expr { return std.Args[0] } -func (stdD *StdDev) GetArg() Expr { return stdD.Args[0] } -func (stdP *StdPop) GetArg() Expr { return stdP.Args[0] } -func (stdS *StdSamp) GetArg() Expr { return stdS.Args[0] } -func (varP *VarPop) GetArg() Expr { return varP.Args[0] } -func (varS *VarSamp) GetArg() Expr { return varS.Args[0] } -func (variance *Variance) GetArg() Expr { return variance.Args[0] } - -func (sum *Sum) GetArgs() Exprs { return sum.Args } -func (min *Min) GetArgs() Exprs { return min.Args } -func (max *Max) GetArgs() Exprs { return max.Args } -func (avg *Avg) GetArgs() Exprs { return avg.Args } +func (bAnd *BitAnd) GetArg() Expr { return bAnd.Arg } +func (bOr *BitOr) GetArg() Expr { return bOr.Arg } +func (bXor *BitXor) GetArg() Expr { return bXor.Arg } +func (std *Std) GetArg() Expr { return std.Arg } +func (stdD *StdDev) GetArg() Expr { return stdD.Arg } +func (stdP *StdPop) GetArg() Expr { return stdP.Arg } +func (stdS *StdSamp) GetArg() Expr { return stdS.Arg } +func (varP *VarPop) GetArg() Expr { return varP.Arg } +func (varS *VarSamp) GetArg() Expr { return varS.Arg } +func (variance *Variance) GetArg() Expr { return variance.Arg } + +func (sum *Sum) GetArgs() Exprs { return Exprs{sum.Arg} } +func (min *Min) GetArgs() Exprs { return Exprs{min.Arg} } +func (max *Max) GetArgs() Exprs { return Exprs{max.Arg} } +func (avg *Avg) GetArgs() Exprs { return Exprs{avg.Arg} } func (*CountStar) GetArgs() Exprs { return nil } func (count *Count) GetArgs() Exprs { return count.Args } func (grpConcat *GroupConcatExpr) GetArgs() Exprs { return grpConcat.Exprs } -func (bAnd *BitAnd) GetArgs() Exprs { return bAnd.Args } -func (bOr *BitOr) GetArgs() Exprs { return bOr.Args } -func (bXor *BitXor) GetArgs() Exprs { return bXor.Args } -func (std *Std) GetArgs() Exprs { return std.Args } -func (stdD *StdDev) GetArgs() Exprs { return stdD.Args } -func (stdP *StdPop) GetArgs() Exprs { return stdP.Args } -func (stdS *StdSamp) GetArgs() Exprs { return stdS.Args } -func (varP *VarPop) GetArgs() Exprs { return varP.Args } -func (varS *VarSamp) GetArgs() Exprs { return varS.Args } -func (variance *Variance) GetArgs() Exprs { return variance.Args } - -func (sum *Sum) isDistinct() bool { return sum.Distinct } -func (min *Min) isDistinct() bool { return min.Distinct } -func (max *Max) isDistinct() bool { return max.Distinct } -func (avg *Avg) isDistinct() bool { return avg.Distinct } -func (cStar *CountStar) isDistinct() bool { return cStar.Distinct } -func (count *Count) isDistinct() bool { return count.Distinct } -func (grpConcat *GroupConcatExpr) isDistinct() bool { return grpConcat.Distinct } -func (bAnd *BitAnd) isDistinct() bool { return false } -func (bOr *BitOr) isDistinct() bool { return false } -func (bXor *BitXor) isDistinct() bool { return false } -func (std *Std) isDistinct() bool { return false } -func (stdD *StdDev) isDistinct() bool { return false } -func (stdP *StdPop) isDistinct() bool { return false } -func (stdS *StdSamp) isDistinct() bool { return false } -func (varP *VarPop) isDistinct() bool { return false } -func (varS *VarSamp) isDistinct() bool { return false } -func (variance *Variance) isDistinct() bool { return false } +func (bAnd *BitAnd) GetArgs() Exprs { return Exprs{bAnd.Arg} } +func (bOr *BitOr) GetArgs() Exprs { return Exprs{bOr.Arg} } +func (bXor *BitXor) GetArgs() Exprs { return Exprs{bXor.Arg} } +func (std *Std) GetArgs() Exprs { return Exprs{std.Arg} } +func (stdD *StdDev) GetArgs() Exprs { return Exprs{stdD.Arg} } +func (stdP *StdPop) GetArgs() Exprs { return Exprs{stdP.Arg} } +func (stdS *StdSamp) GetArgs() Exprs { return Exprs{stdS.Arg} } +func (varP *VarPop) GetArgs() Exprs { return Exprs{varP.Arg} } +func (varS *VarSamp) GetArgs() Exprs { return Exprs{varS.Arg} } +func (variance *Variance) GetArgs() Exprs { return Exprs{variance.Arg} } + +func (sum *Sum) IsDistinct() bool { return sum.Distinct } +func (min *Min) IsDistinct() bool { return min.Distinct } +func (max *Max) IsDistinct() bool { return max.Distinct } +func (avg *Avg) IsDistinct() bool { return avg.Distinct } +func (cStar *CountStar) IsDistinct() bool { return false } +func (count *Count) IsDistinct() bool { return count.Distinct } +func (grpConcat *GroupConcatExpr) IsDistinct() bool { return grpConcat.Distinct } +func (bAnd *BitAnd) IsDistinct() bool { return false } +func (bOr *BitOr) IsDistinct() bool { return false } +func (bXor *BitXor) IsDistinct() bool { return false } +func (std *Std) IsDistinct() bool { return false } +func (stdD *StdDev) IsDistinct() bool { return false } +func (stdP *StdPop) IsDistinct() bool { return false } +func (stdS *StdSamp) IsDistinct() bool { return false } +func (varP *VarPop) IsDistinct() bool { return false } +func (varS *VarSamp) IsDistinct() bool { return false } +func (variance *Variance) IsDistinct() bool { return false } func (sum *Sum) AggrName() string { return sum.Name } func (min *Min) AggrName() string { return min.Name } diff --git a/go/vt/sqlparser/ast_clone.go b/go/vt/sqlparser/ast_clone.go index c212afb8019..49a56912c12 100644 --- a/go/vt/sqlparser/ast_clone.go +++ b/go/vt/sqlparser/ast_clone.go @@ -690,7 +690,7 @@ func CloneRefOfAvg(n *Avg) *Avg { return nil } out := *n - out.Args = CloneExprs(n.Args) + out.Arg = CloneExpr(n.Arg) return &out } @@ -732,7 +732,7 @@ func CloneRefOfBitAnd(n *BitAnd) *BitAnd { return nil } out := *n - out.Args = CloneExprs(n.Args) + out.Arg = CloneExpr(n.Arg) return &out } @@ -742,7 +742,7 @@ func CloneRefOfBitOr(n *BitOr) *BitOr { return nil } out := *n - out.Args = CloneExprs(n.Args) + out.Arg = CloneExpr(n.Arg) return &out } @@ -752,7 +752,7 @@ func CloneRefOfBitXor(n *BitXor) *BitXor { return nil } out := *n - out.Args = CloneExprs(n.Args) + out.Arg = CloneExpr(n.Arg) return &out } @@ -1762,7 +1762,7 @@ func CloneRefOfMax(n *Max) *Max { return nil } out := *n - out.Args = CloneExprs(n.Args) + out.Arg = CloneExpr(n.Arg) return &out } @@ -1783,7 +1783,7 @@ func CloneRefOfMin(n *Min) *Min { return nil } out := *n - out.Args = CloneExprs(n.Args) + out.Arg = CloneExpr(n.Arg) return &out } @@ -2431,7 +2431,7 @@ func CloneRefOfStd(n *Std) *Std { return nil } out := *n - out.Args = CloneExprs(n.Args) + out.Arg = CloneExpr(n.Arg) return &out } @@ -2441,7 +2441,7 @@ func CloneRefOfStdDev(n *StdDev) *StdDev { return nil } out := *n - out.Args = CloneExprs(n.Args) + out.Arg = CloneExpr(n.Arg) return &out } @@ -2451,7 +2451,7 @@ func CloneRefOfStdPop(n *StdPop) *StdPop { return nil } out := *n - out.Args = CloneExprs(n.Args) + out.Arg = CloneExpr(n.Arg) return &out } @@ -2461,7 +2461,7 @@ func CloneRefOfStdSamp(n *StdSamp) *StdSamp { return nil } out := *n - out.Args = CloneExprs(n.Args) + out.Arg = CloneExpr(n.Arg) return &out } @@ -2554,7 +2554,7 @@ func CloneRefOfSum(n *Sum) *Sum { return nil } out := *n - out.Args = CloneExprs(n.Args) + out.Arg = CloneExpr(n.Arg) return &out } @@ -2805,7 +2805,7 @@ func CloneRefOfVarPop(n *VarPop) *VarPop { return nil } out := *n - out.Args = CloneExprs(n.Args) + out.Arg = CloneExpr(n.Arg) return &out } @@ -2815,7 +2815,7 @@ func CloneRefOfVarSamp(n *VarSamp) *VarSamp { return nil } out := *n - out.Args = CloneExprs(n.Args) + out.Arg = CloneExpr(n.Arg) return &out } @@ -2825,7 +2825,7 @@ func CloneRefOfVariance(n *Variance) *Variance { return nil } out := *n - out.Args = CloneExprs(n.Args) + out.Arg = CloneExpr(n.Arg) return &out } diff --git a/go/vt/sqlparser/ast_equals.go b/go/vt/sqlparser/ast_equals.go index dc420592a3d..a13d199266f 100644 --- a/go/vt/sqlparser/ast_equals.go +++ b/go/vt/sqlparser/ast_equals.go @@ -1659,7 +1659,7 @@ func EqualsRefOfAvg(a, b *Avg) bool { } return a.Distinct == b.Distinct && a.Name == b.Name && - EqualsExprs(a.Args, b.Args) + EqualsExpr(a.Arg, b.Arg) } // EqualsRefOfBegin does deep equals between the two objects. @@ -1709,7 +1709,7 @@ func EqualsRefOfBitAnd(a, b *BitAnd) bool { return false } return a.Name == b.Name && - EqualsExprs(a.Args, b.Args) + EqualsExpr(a.Arg, b.Arg) } // EqualsRefOfBitOr does deep equals between the two objects. @@ -1721,7 +1721,7 @@ func EqualsRefOfBitOr(a, b *BitOr) bool { return false } return a.Name == b.Name && - EqualsExprs(a.Args, b.Args) + EqualsExpr(a.Arg, b.Arg) } // EqualsRefOfBitXor does deep equals between the two objects. @@ -1733,7 +1733,7 @@ func EqualsRefOfBitXor(a, b *BitXor) bool { return false } return a.Name == b.Name && - EqualsExprs(a.Args, b.Args) + EqualsExpr(a.Arg, b.Arg) } // EqualsRefOfCallProc does deep equals between the two objects. @@ -1971,8 +1971,7 @@ func EqualsRefOfCountStar(a, b *CountStar) bool { if a == nil || b == nil { return false } - return a.Distinct == b.Distinct && - a.Name == b.Name + return a.Name == b.Name } // EqualsRefOfCreateDatabase does deep equals between the two objects. @@ -2923,7 +2922,7 @@ func EqualsRefOfMax(a, b *Max) bool { } return a.Distinct == b.Distinct && a.Name == b.Name && - EqualsExprs(a.Args, b.Args) + EqualsExpr(a.Arg, b.Arg) } // EqualsRefOfMemberOfExpr does deep equals between the two objects. @@ -2948,7 +2947,7 @@ func EqualsRefOfMin(a, b *Min) bool { } return a.Distinct == b.Distinct && a.Name == b.Name && - EqualsExprs(a.Args, b.Args) + EqualsExpr(a.Arg, b.Arg) } // EqualsRefOfModifyColumn does deep equals between the two objects. @@ -3698,7 +3697,7 @@ func EqualsRefOfStd(a, b *Std) bool { return false } return a.Name == b.Name && - EqualsExprs(a.Args, b.Args) + EqualsExpr(a.Arg, b.Arg) } // EqualsRefOfStdDev does deep equals between the two objects. @@ -3710,7 +3709,7 @@ func EqualsRefOfStdDev(a, b *StdDev) bool { return false } return a.Name == b.Name && - EqualsExprs(a.Args, b.Args) + EqualsExpr(a.Arg, b.Arg) } // EqualsRefOfStdPop does deep equals between the two objects. @@ -3722,7 +3721,7 @@ func EqualsRefOfStdPop(a, b *StdPop) bool { return false } return a.Name == b.Name && - EqualsExprs(a.Args, b.Args) + EqualsExpr(a.Arg, b.Arg) } // EqualsRefOfStdSamp does deep equals between the two objects. @@ -3734,7 +3733,7 @@ func EqualsRefOfStdSamp(a, b *StdSamp) bool { return false } return a.Name == b.Name && - EqualsExprs(a.Args, b.Args) + EqualsExpr(a.Arg, b.Arg) } // EqualsRefOfStream does deep equals between the two objects. @@ -3842,7 +3841,7 @@ func EqualsRefOfSum(a, b *Sum) bool { } return a.Distinct == b.Distinct && a.Name == b.Name && - EqualsExprs(a.Args, b.Args) + EqualsExpr(a.Arg, b.Arg) } // EqualsTableExprs does deep equals between the two objects. @@ -4127,7 +4126,7 @@ func EqualsRefOfVarPop(a, b *VarPop) bool { return false } return a.Name == b.Name && - EqualsExprs(a.Args, b.Args) + EqualsExpr(a.Arg, b.Arg) } // EqualsRefOfVarSamp does deep equals between the two objects. @@ -4139,7 +4138,7 @@ func EqualsRefOfVarSamp(a, b *VarSamp) bool { return false } return a.Name == b.Name && - EqualsExprs(a.Args, b.Args) + EqualsExpr(a.Arg, b.Arg) } // EqualsRefOfVariance does deep equals between the two objects. @@ -4151,7 +4150,7 @@ func EqualsRefOfVariance(a, b *Variance) bool { return false } return a.Name == b.Name && - EqualsExprs(a.Args, b.Args) + EqualsExpr(a.Arg, b.Arg) } // EqualsVindexParam does deep equals between the two objects. diff --git a/go/vt/sqlparser/ast_format.go b/go/vt/sqlparser/ast_format.go index 9620a6c5884..181762dc34b 100644 --- a/go/vt/sqlparser/ast_format.go +++ b/go/vt/sqlparser/ast_format.go @@ -2572,9 +2572,6 @@ func (node *Count) Format(buf *TrackedBuffer) { func (node *CountStar) Format(buf *TrackedBuffer) { buf.astPrintf(node, "%s(", node.AggrName()) - if node.Distinct { - buf.literal(DistinctStr) - } buf.WriteString("*)") } @@ -2583,7 +2580,7 @@ func (node *Avg) Format(buf *TrackedBuffer) { if node.Distinct { buf.literal(DistinctStr) } - buf.astPrintf(node, "%v)", node.Args) + buf.astPrintf(node, "%v)", node.Arg) } func (node *Max) Format(buf *TrackedBuffer) { @@ -2591,7 +2588,7 @@ func (node *Max) Format(buf *TrackedBuffer) { if node.Distinct { buf.literal(DistinctStr) } - buf.astPrintf(node, "%v)", node.Args) + buf.astPrintf(node, "%v)", node.Arg) } func (node *Min) Format(buf *TrackedBuffer) { @@ -2599,7 +2596,7 @@ func (node *Min) Format(buf *TrackedBuffer) { if node.Distinct { buf.literal(DistinctStr) } - buf.astPrintf(node, "%v)", node.Args) + buf.astPrintf(node, "%v)", node.Arg) } func (node *Sum) Format(buf *TrackedBuffer) { @@ -2607,55 +2604,55 @@ func (node *Sum) Format(buf *TrackedBuffer) { if node.Distinct { buf.literal(DistinctStr) } - buf.astPrintf(node, "%v)", node.Args) + buf.astPrintf(node, "%v)", node.Arg) } func (node *BitAnd) Format(buf *TrackedBuffer) { buf.astPrintf(node, "%s(", node.AggrName()) - buf.astPrintf(node, "%v)", node.Args) + buf.astPrintf(node, "%v)", node.Arg) } func (node *BitOr) Format(buf *TrackedBuffer) { buf.astPrintf(node, "%s(", node.AggrName()) - buf.astPrintf(node, "%v)", node.Args) + buf.astPrintf(node, "%v)", node.Arg) } func (node *BitXor) Format(buf *TrackedBuffer) { buf.astPrintf(node, "%s(", node.AggrName()) - buf.astPrintf(node, "%v)", node.Args) + buf.astPrintf(node, "%v)", node.Arg) } func (node *Std) Format(buf *TrackedBuffer) { buf.astPrintf(node, "%s(", node.AggrName()) - buf.astPrintf(node, "%v)", node.Args) + buf.astPrintf(node, "%v)", node.Arg) } func (node *StdDev) Format(buf *TrackedBuffer) { buf.astPrintf(node, "%s(", node.AggrName()) - buf.astPrintf(node, "%v)", node.Args) + buf.astPrintf(node, "%v)", node.Arg) } func (node *StdPop) Format(buf *TrackedBuffer) { buf.astPrintf(node, "%s(", node.AggrName()) - buf.astPrintf(node, "%v)", node.Args) + buf.astPrintf(node, "%v)", node.Arg) } func (node *StdSamp) Format(buf *TrackedBuffer) { buf.astPrintf(node, "%s(", node.AggrName()) - buf.astPrintf(node, "%v)", node.Args) + buf.astPrintf(node, "%v)", node.Arg) } func (node *VarPop) Format(buf *TrackedBuffer) { buf.astPrintf(node, "%s(", node.AggrName()) - buf.astPrintf(node, "%v)", node.Args) + buf.astPrintf(node, "%v)", node.Arg) } func (node *VarSamp) Format(buf *TrackedBuffer) { buf.astPrintf(node, "%s(", node.AggrName()) - buf.astPrintf(node, "%v)", node.Args) + buf.astPrintf(node, "%v)", node.Arg) } func (node *Variance) Format(buf *TrackedBuffer) { buf.astPrintf(node, "%s(", node.AggrName()) - buf.astPrintf(node, "%v)", node.Args) + buf.astPrintf(node, "%v)", node.Arg) } diff --git a/go/vt/sqlparser/ast_format_fast.go b/go/vt/sqlparser/ast_format_fast.go index 2cab771be93..a322287979e 100644 --- a/go/vt/sqlparser/ast_format_fast.go +++ b/go/vt/sqlparser/ast_format_fast.go @@ -3350,9 +3350,6 @@ func (node *Count) formatFast(buf *TrackedBuffer) { func (node *CountStar) formatFast(buf *TrackedBuffer) { buf.WriteString(node.AggrName()) buf.WriteByte('(') - if node.Distinct { - buf.WriteString(DistinctStr) - } buf.WriteString("*)") } @@ -3362,7 +3359,7 @@ func (node *Avg) formatFast(buf *TrackedBuffer) { if node.Distinct { buf.WriteString(DistinctStr) } - node.Args.formatFast(buf) + buf.printExpr(node, node.Arg, true) buf.WriteByte(')') } @@ -3372,7 +3369,7 @@ func (node *Max) formatFast(buf *TrackedBuffer) { if node.Distinct { buf.WriteString(DistinctStr) } - node.Args.formatFast(buf) + buf.printExpr(node, node.Arg, true) buf.WriteByte(')') } @@ -3382,7 +3379,7 @@ func (node *Min) formatFast(buf *TrackedBuffer) { if node.Distinct { buf.WriteString(DistinctStr) } - node.Args.formatFast(buf) + buf.printExpr(node, node.Arg, true) buf.WriteByte(')') } @@ -3392,76 +3389,76 @@ func (node *Sum) formatFast(buf *TrackedBuffer) { if node.Distinct { buf.WriteString(DistinctStr) } - node.Args.formatFast(buf) + buf.printExpr(node, node.Arg, true) buf.WriteByte(')') } func (node *BitAnd) formatFast(buf *TrackedBuffer) { buf.WriteString(node.AggrName()) buf.WriteByte('(') - node.Args.formatFast(buf) + buf.printExpr(node, node.Arg, true) buf.WriteByte(')') } func (node *BitOr) formatFast(buf *TrackedBuffer) { buf.WriteString(node.AggrName()) buf.WriteByte('(') - node.Args.formatFast(buf) + buf.printExpr(node, node.Arg, true) buf.WriteByte(')') } func (node *BitXor) formatFast(buf *TrackedBuffer) { buf.WriteString(node.AggrName()) buf.WriteByte('(') - node.Args.formatFast(buf) + buf.printExpr(node, node.Arg, true) buf.WriteByte(')') } func (node *Std) formatFast(buf *TrackedBuffer) { buf.WriteString(node.AggrName()) buf.WriteByte('(') - node.Args.formatFast(buf) + buf.printExpr(node, node.Arg, true) buf.WriteByte(')') } func (node *StdDev) formatFast(buf *TrackedBuffer) { buf.WriteString(node.AggrName()) buf.WriteByte('(') - node.Args.formatFast(buf) + buf.printExpr(node, node.Arg, true) buf.WriteByte(')') } func (node *StdPop) formatFast(buf *TrackedBuffer) { buf.WriteString(node.AggrName()) buf.WriteByte('(') - node.Args.formatFast(buf) + buf.printExpr(node, node.Arg, true) buf.WriteByte(')') } func (node *StdSamp) formatFast(buf *TrackedBuffer) { buf.WriteString(node.AggrName()) buf.WriteByte('(') - node.Args.formatFast(buf) + buf.printExpr(node, node.Arg, true) buf.WriteByte(')') } func (node *VarPop) formatFast(buf *TrackedBuffer) { buf.WriteString(node.AggrName()) buf.WriteByte('(') - node.Args.formatFast(buf) + buf.printExpr(node, node.Arg, true) buf.WriteByte(')') } func (node *VarSamp) formatFast(buf *TrackedBuffer) { buf.WriteString(node.AggrName()) buf.WriteByte('(') - node.Args.formatFast(buf) + buf.printExpr(node, node.Arg, true) buf.WriteByte(')') } func (node *Variance) formatFast(buf *TrackedBuffer) { buf.WriteString(node.AggrName()) buf.WriteByte('(') - node.Args.formatFast(buf) + buf.printExpr(node, node.Arg, true) buf.WriteByte(')') } diff --git a/go/vt/sqlparser/ast_funcs.go b/go/vt/sqlparser/ast_funcs.go index 9d186f318b6..a2a40c91377 100644 --- a/go/vt/sqlparser/ast_funcs.go +++ b/go/vt/sqlparser/ast_funcs.go @@ -1825,14 +1825,6 @@ func ContainsAggregation(e SQLNode) bool { return hasAggregates } -func IsDistinct(expr Expr) bool { - if aggr, ok := expr.(AggrFunc); ok { - return aggr.isDistinct() - } - - return false -} - // GetFirstSelect gets the first select statement func GetFirstSelect(selStmt SelectStatement) *Select { if selStmt == nil { diff --git a/go/vt/sqlparser/ast_rewrite.go b/go/vt/sqlparser/ast_rewrite.go index 9e303424a21..edbf6dba411 100644 --- a/go/vt/sqlparser/ast_rewrite.go +++ b/go/vt/sqlparser/ast_rewrite.go @@ -1071,8 +1071,8 @@ func (a *application) rewriteRefOfAvg(parent SQLNode, node *Avg, replacer replac return true } } - if !a.rewriteExprs(node, node.Args, func(newNode, parent SQLNode) { - parent.(*Avg).Args = newNode.(Exprs) + if !a.rewriteExpr(node, node.Arg, func(newNode, parent SQLNode) { + parent.(*Avg).Arg = newNode.(Expr) }) { return false } @@ -1191,8 +1191,8 @@ func (a *application) rewriteRefOfBitAnd(parent SQLNode, node *BitAnd, replacer return true } } - if !a.rewriteExprs(node, node.Args, func(newNode, parent SQLNode) { - parent.(*BitAnd).Args = newNode.(Exprs) + if !a.rewriteExpr(node, node.Arg, func(newNode, parent SQLNode) { + parent.(*BitAnd).Arg = newNode.(Expr) }) { return false } @@ -1218,8 +1218,8 @@ func (a *application) rewriteRefOfBitOr(parent SQLNode, node *BitOr, replacer re return true } } - if !a.rewriteExprs(node, node.Args, func(newNode, parent SQLNode) { - parent.(*BitOr).Args = newNode.(Exprs) + if !a.rewriteExpr(node, node.Arg, func(newNode, parent SQLNode) { + parent.(*BitOr).Arg = newNode.(Expr) }) { return false } @@ -1245,8 +1245,8 @@ func (a *application) rewriteRefOfBitXor(parent SQLNode, node *BitXor, replacer return true } } - if !a.rewriteExprs(node, node.Args, func(newNode, parent SQLNode) { - parent.(*BitXor).Args = newNode.(Exprs) + if !a.rewriteExpr(node, node.Arg, func(newNode, parent SQLNode) { + parent.(*BitXor).Arg = newNode.(Expr) }) { return false } @@ -4231,8 +4231,8 @@ func (a *application) rewriteRefOfMax(parent SQLNode, node *Max, replacer replac return true } } - if !a.rewriteExprs(node, node.Args, func(newNode, parent SQLNode) { - parent.(*Max).Args = newNode.(Exprs) + if !a.rewriteExpr(node, node.Arg, func(newNode, parent SQLNode) { + parent.(*Max).Arg = newNode.(Expr) }) { return false } @@ -4290,8 +4290,8 @@ func (a *application) rewriteRefOfMin(parent SQLNode, node *Min, replacer replac return true } } - if !a.rewriteExprs(node, node.Args, func(newNode, parent SQLNode) { - parent.(*Min).Args = newNode.(Exprs) + if !a.rewriteExpr(node, node.Arg, func(newNode, parent SQLNode) { + parent.(*Min).Arg = newNode.(Expr) }) { return false } @@ -6215,8 +6215,8 @@ func (a *application) rewriteRefOfStd(parent SQLNode, node *Std, replacer replac return true } } - if !a.rewriteExprs(node, node.Args, func(newNode, parent SQLNode) { - parent.(*Std).Args = newNode.(Exprs) + if !a.rewriteExpr(node, node.Arg, func(newNode, parent SQLNode) { + parent.(*Std).Arg = newNode.(Expr) }) { return false } @@ -6242,8 +6242,8 @@ func (a *application) rewriteRefOfStdDev(parent SQLNode, node *StdDev, replacer return true } } - if !a.rewriteExprs(node, node.Args, func(newNode, parent SQLNode) { - parent.(*StdDev).Args = newNode.(Exprs) + if !a.rewriteExpr(node, node.Arg, func(newNode, parent SQLNode) { + parent.(*StdDev).Arg = newNode.(Expr) }) { return false } @@ -6269,8 +6269,8 @@ func (a *application) rewriteRefOfStdPop(parent SQLNode, node *StdPop, replacer return true } } - if !a.rewriteExprs(node, node.Args, func(newNode, parent SQLNode) { - parent.(*StdPop).Args = newNode.(Exprs) + if !a.rewriteExpr(node, node.Arg, func(newNode, parent SQLNode) { + parent.(*StdPop).Arg = newNode.(Expr) }) { return false } @@ -6296,8 +6296,8 @@ func (a *application) rewriteRefOfStdSamp(parent SQLNode, node *StdSamp, replace return true } } - if !a.rewriteExprs(node, node.Args, func(newNode, parent SQLNode) { - parent.(*StdSamp).Args = newNode.(Exprs) + if !a.rewriteExpr(node, node.Arg, func(newNode, parent SQLNode) { + parent.(*StdSamp).Arg = newNode.(Expr) }) { return false } @@ -6567,8 +6567,8 @@ func (a *application) rewriteRefOfSum(parent SQLNode, node *Sum, replacer replac return true } } - if !a.rewriteExprs(node, node.Args, func(newNode, parent SQLNode) { - parent.(*Sum).Args = newNode.(Exprs) + if !a.rewriteExpr(node, node.Arg, func(newNode, parent SQLNode) { + parent.(*Sum).Arg = newNode.(Expr) }) { return false } @@ -7350,8 +7350,8 @@ func (a *application) rewriteRefOfVarPop(parent SQLNode, node *VarPop, replacer return true } } - if !a.rewriteExprs(node, node.Args, func(newNode, parent SQLNode) { - parent.(*VarPop).Args = newNode.(Exprs) + if !a.rewriteExpr(node, node.Arg, func(newNode, parent SQLNode) { + parent.(*VarPop).Arg = newNode.(Expr) }) { return false } @@ -7377,8 +7377,8 @@ func (a *application) rewriteRefOfVarSamp(parent SQLNode, node *VarSamp, replace return true } } - if !a.rewriteExprs(node, node.Args, func(newNode, parent SQLNode) { - parent.(*VarSamp).Args = newNode.(Exprs) + if !a.rewriteExpr(node, node.Arg, func(newNode, parent SQLNode) { + parent.(*VarSamp).Arg = newNode.(Expr) }) { return false } @@ -7404,8 +7404,8 @@ func (a *application) rewriteRefOfVariance(parent SQLNode, node *Variance, repla return true } } - if !a.rewriteExprs(node, node.Args, func(newNode, parent SQLNode) { - parent.(*Variance).Args = newNode.(Exprs) + if !a.rewriteExpr(node, node.Arg, func(newNode, parent SQLNode) { + parent.(*Variance).Arg = newNode.(Expr) }) { return false } diff --git a/go/vt/sqlparser/ast_visit.go b/go/vt/sqlparser/ast_visit.go index c7e270f617f..710f76855b7 100644 --- a/go/vt/sqlparser/ast_visit.go +++ b/go/vt/sqlparser/ast_visit.go @@ -765,7 +765,7 @@ func VisitRefOfAvg(in *Avg, f Visit) error { if cont, err := f(in); err != nil || !cont { return err } - if err := VisitExprs(in.Args, f); err != nil { + if err := VisitExpr(in.Arg, f); err != nil { return err } return nil @@ -819,7 +819,7 @@ func VisitRefOfBitAnd(in *BitAnd, f Visit) error { if cont, err := f(in); err != nil || !cont { return err } - if err := VisitExprs(in.Args, f); err != nil { + if err := VisitExpr(in.Arg, f); err != nil { return err } return nil @@ -831,7 +831,7 @@ func VisitRefOfBitOr(in *BitOr, f Visit) error { if cont, err := f(in); err != nil || !cont { return err } - if err := VisitExprs(in.Args, f); err != nil { + if err := VisitExpr(in.Arg, f); err != nil { return err } return nil @@ -843,7 +843,7 @@ func VisitRefOfBitXor(in *BitXor, f Visit) error { if cont, err := f(in); err != nil || !cont { return err } - if err := VisitExprs(in.Args, f); err != nil { + if err := VisitExpr(in.Arg, f); err != nil { return err } return nil @@ -2206,7 +2206,7 @@ func VisitRefOfMax(in *Max, f Visit) error { if cont, err := f(in); err != nil || !cont { return err } - if err := VisitExprs(in.Args, f); err != nil { + if err := VisitExpr(in.Arg, f); err != nil { return err } return nil @@ -2233,7 +2233,7 @@ func VisitRefOfMin(in *Min, f Visit) error { if cont, err := f(in); err != nil || !cont { return err } - if err := VisitExprs(in.Args, f); err != nil { + if err := VisitExpr(in.Arg, f); err != nil { return err } return nil @@ -3099,7 +3099,7 @@ func VisitRefOfStd(in *Std, f Visit) error { if cont, err := f(in); err != nil || !cont { return err } - if err := VisitExprs(in.Args, f); err != nil { + if err := VisitExpr(in.Arg, f); err != nil { return err } return nil @@ -3111,7 +3111,7 @@ func VisitRefOfStdDev(in *StdDev, f Visit) error { if cont, err := f(in); err != nil || !cont { return err } - if err := VisitExprs(in.Args, f); err != nil { + if err := VisitExpr(in.Arg, f); err != nil { return err } return nil @@ -3123,7 +3123,7 @@ func VisitRefOfStdPop(in *StdPop, f Visit) error { if cont, err := f(in); err != nil || !cont { return err } - if err := VisitExprs(in.Args, f); err != nil { + if err := VisitExpr(in.Arg, f); err != nil { return err } return nil @@ -3135,7 +3135,7 @@ func VisitRefOfStdSamp(in *StdSamp, f Visit) error { if cont, err := f(in); err != nil || !cont { return err } - if err := VisitExprs(in.Args, f); err != nil { + if err := VisitExpr(in.Arg, f); err != nil { return err } return nil @@ -3260,7 +3260,7 @@ func VisitRefOfSum(in *Sum, f Visit) error { if cont, err := f(in); err != nil || !cont { return err } - if err := VisitExprs(in.Args, f); err != nil { + if err := VisitExpr(in.Arg, f); err != nil { return err } return nil @@ -3595,7 +3595,7 @@ func VisitRefOfVarPop(in *VarPop, f Visit) error { if cont, err := f(in); err != nil || !cont { return err } - if err := VisitExprs(in.Args, f); err != nil { + if err := VisitExpr(in.Arg, f); err != nil { return err } return nil @@ -3607,7 +3607,7 @@ func VisitRefOfVarSamp(in *VarSamp, f Visit) error { if cont, err := f(in); err != nil || !cont { return err } - if err := VisitExprs(in.Args, f); err != nil { + if err := VisitExpr(in.Arg, f); err != nil { return err } return nil @@ -3619,7 +3619,7 @@ func VisitRefOfVariance(in *Variance, f Visit) error { if cont, err := f(in); err != nil || !cont { return err } - if err := VisitExprs(in.Args, f); err != nil { + if err := VisitExpr(in.Arg, f); err != nil { return err } return nil diff --git a/go/vt/sqlparser/cached_size.go b/go/vt/sqlparser/cached_size.go index 1fc208475ca..1af3435b781 100644 --- a/go/vt/sqlparser/cached_size.go +++ b/go/vt/sqlparser/cached_size.go @@ -351,14 +351,9 @@ func (cached *Avg) CachedSize(alloc bool) int64 { if alloc { size += int64(48) } - // field Args vitess.io/vitess/go/vt/sqlparser.Exprs - { - size += hack.RuntimeAllocSize(int64(cap(cached.Args)) * int64(16)) - for _, elem := range cached.Args { - if cc, ok := elem.(cachedObject); ok { - size += cc.CachedSize(true) - } - } + // field Arg vitess.io/vitess/go/vt/sqlparser.Expr + if cc, ok := cached.Arg.(cachedObject); ok { + size += cc.CachedSize(true) } // field Name string size += hack.RuntimeAllocSize(int64(len(cached.Name))) @@ -441,16 +436,11 @@ func (cached *BitAnd) CachedSize(alloc bool) int64 { } size := int64(0) if alloc { - size += int64(48) + size += int64(32) } - // field Args vitess.io/vitess/go/vt/sqlparser.Exprs - { - size += hack.RuntimeAllocSize(int64(cap(cached.Args)) * int64(16)) - for _, elem := range cached.Args { - if cc, ok := elem.(cachedObject); ok { - size += cc.CachedSize(true) - } - } + // field Arg vitess.io/vitess/go/vt/sqlparser.Expr + if cc, ok := cached.Arg.(cachedObject); ok { + size += cc.CachedSize(true) } // field Name string size += hack.RuntimeAllocSize(int64(len(cached.Name))) @@ -462,16 +452,11 @@ func (cached *BitOr) CachedSize(alloc bool) int64 { } size := int64(0) if alloc { - size += int64(48) + size += int64(32) } - // field Args vitess.io/vitess/go/vt/sqlparser.Exprs - { - size += hack.RuntimeAllocSize(int64(cap(cached.Args)) * int64(16)) - for _, elem := range cached.Args { - if cc, ok := elem.(cachedObject); ok { - size += cc.CachedSize(true) - } - } + // field Arg vitess.io/vitess/go/vt/sqlparser.Expr + if cc, ok := cached.Arg.(cachedObject); ok { + size += cc.CachedSize(true) } // field Name string size += hack.RuntimeAllocSize(int64(len(cached.Name))) @@ -483,16 +468,11 @@ func (cached *BitXor) CachedSize(alloc bool) int64 { } size := int64(0) if alloc { - size += int64(48) + size += int64(32) } - // field Args vitess.io/vitess/go/vt/sqlparser.Exprs - { - size += hack.RuntimeAllocSize(int64(cap(cached.Args)) * int64(16)) - for _, elem := range cached.Args { - if cc, ok := elem.(cachedObject); ok { - size += cc.CachedSize(true) - } - } + // field Arg vitess.io/vitess/go/vt/sqlparser.Expr + if cc, ok := cached.Arg.(cachedObject); ok { + size += cc.CachedSize(true) } // field Name string size += hack.RuntimeAllocSize(int64(len(cached.Name))) @@ -845,7 +825,7 @@ func (cached *CountStar) CachedSize(alloc bool) int64 { } size := int64(0) if alloc { - size += int64(24) + size += int64(16) } // field Name string size += hack.RuntimeAllocSize(int64(len(cached.Name))) @@ -2269,14 +2249,9 @@ func (cached *Max) CachedSize(alloc bool) int64 { if alloc { size += int64(48) } - // field Args vitess.io/vitess/go/vt/sqlparser.Exprs - { - size += hack.RuntimeAllocSize(int64(cap(cached.Args)) * int64(16)) - for _, elem := range cached.Args { - if cc, ok := elem.(cachedObject); ok { - size += cc.CachedSize(true) - } - } + // field Arg vitess.io/vitess/go/vt/sqlparser.Expr + if cc, ok := cached.Arg.(cachedObject); ok { + size += cc.CachedSize(true) } // field Name string size += hack.RuntimeAllocSize(int64(len(cached.Name))) @@ -2308,14 +2283,9 @@ func (cached *Min) CachedSize(alloc bool) int64 { if alloc { size += int64(48) } - // field Args vitess.io/vitess/go/vt/sqlparser.Exprs - { - size += hack.RuntimeAllocSize(int64(cap(cached.Args)) * int64(16)) - for _, elem := range cached.Args { - if cc, ok := elem.(cachedObject); ok { - size += cc.CachedSize(true) - } - } + // field Arg vitess.io/vitess/go/vt/sqlparser.Expr + if cc, ok := cached.Arg.(cachedObject); ok { + size += cc.CachedSize(true) } // field Name string size += hack.RuntimeAllocSize(int64(len(cached.Name))) @@ -3270,16 +3240,11 @@ func (cached *Std) CachedSize(alloc bool) int64 { } size := int64(0) if alloc { - size += int64(48) + size += int64(32) } - // field Args vitess.io/vitess/go/vt/sqlparser.Exprs - { - size += hack.RuntimeAllocSize(int64(cap(cached.Args)) * int64(16)) - for _, elem := range cached.Args { - if cc, ok := elem.(cachedObject); ok { - size += cc.CachedSize(true) - } - } + // field Arg vitess.io/vitess/go/vt/sqlparser.Expr + if cc, ok := cached.Arg.(cachedObject); ok { + size += cc.CachedSize(true) } // field Name string size += hack.RuntimeAllocSize(int64(len(cached.Name))) @@ -3291,16 +3256,11 @@ func (cached *StdDev) CachedSize(alloc bool) int64 { } size := int64(0) if alloc { - size += int64(48) + size += int64(32) } - // field Args vitess.io/vitess/go/vt/sqlparser.Exprs - { - size += hack.RuntimeAllocSize(int64(cap(cached.Args)) * int64(16)) - for _, elem := range cached.Args { - if cc, ok := elem.(cachedObject); ok { - size += cc.CachedSize(true) - } - } + // field Arg vitess.io/vitess/go/vt/sqlparser.Expr + if cc, ok := cached.Arg.(cachedObject); ok { + size += cc.CachedSize(true) } // field Name string size += hack.RuntimeAllocSize(int64(len(cached.Name))) @@ -3312,16 +3272,11 @@ func (cached *StdPop) CachedSize(alloc bool) int64 { } size := int64(0) if alloc { - size += int64(48) + size += int64(32) } - // field Args vitess.io/vitess/go/vt/sqlparser.Exprs - { - size += hack.RuntimeAllocSize(int64(cap(cached.Args)) * int64(16)) - for _, elem := range cached.Args { - if cc, ok := elem.(cachedObject); ok { - size += cc.CachedSize(true) - } - } + // field Arg vitess.io/vitess/go/vt/sqlparser.Expr + if cc, ok := cached.Arg.(cachedObject); ok { + size += cc.CachedSize(true) } // field Name string size += hack.RuntimeAllocSize(int64(len(cached.Name))) @@ -3333,16 +3288,11 @@ func (cached *StdSamp) CachedSize(alloc bool) int64 { } size := int64(0) if alloc { - size += int64(48) + size += int64(32) } - // field Args vitess.io/vitess/go/vt/sqlparser.Exprs - { - size += hack.RuntimeAllocSize(int64(cap(cached.Args)) * int64(16)) - for _, elem := range cached.Args { - if cc, ok := elem.(cachedObject); ok { - size += cc.CachedSize(true) - } - } + // field Arg vitess.io/vitess/go/vt/sqlparser.Expr + if cc, ok := cached.Arg.(cachedObject); ok { + size += cc.CachedSize(true) } // field Name string size += hack.RuntimeAllocSize(int64(len(cached.Name))) @@ -3469,14 +3419,9 @@ func (cached *Sum) CachedSize(alloc bool) int64 { if alloc { size += int64(48) } - // field Args vitess.io/vitess/go/vt/sqlparser.Exprs - { - size += hack.RuntimeAllocSize(int64(cap(cached.Args)) * int64(16)) - for _, elem := range cached.Args { - if cc, ok := elem.(cachedObject); ok { - size += cc.CachedSize(true) - } - } + // field Arg vitess.io/vitess/go/vt/sqlparser.Expr + if cc, ok := cached.Arg.(cachedObject); ok { + size += cc.CachedSize(true) } // field Name string size += hack.RuntimeAllocSize(int64(len(cached.Name))) @@ -3811,16 +3756,11 @@ func (cached *VarPop) CachedSize(alloc bool) int64 { } size := int64(0) if alloc { - size += int64(48) + size += int64(32) } - // field Args vitess.io/vitess/go/vt/sqlparser.Exprs - { - size += hack.RuntimeAllocSize(int64(cap(cached.Args)) * int64(16)) - for _, elem := range cached.Args { - if cc, ok := elem.(cachedObject); ok { - size += cc.CachedSize(true) - } - } + // field Arg vitess.io/vitess/go/vt/sqlparser.Expr + if cc, ok := cached.Arg.(cachedObject); ok { + size += cc.CachedSize(true) } // field Name string size += hack.RuntimeAllocSize(int64(len(cached.Name))) @@ -3832,16 +3772,11 @@ func (cached *VarSamp) CachedSize(alloc bool) int64 { } size := int64(0) if alloc { - size += int64(48) + size += int64(32) } - // field Args vitess.io/vitess/go/vt/sqlparser.Exprs - { - size += hack.RuntimeAllocSize(int64(cap(cached.Args)) * int64(16)) - for _, elem := range cached.Args { - if cc, ok := elem.(cachedObject); ok { - size += cc.CachedSize(true) - } - } + // field Arg vitess.io/vitess/go/vt/sqlparser.Expr + if cc, ok := cached.Arg.(cachedObject); ok { + size += cc.CachedSize(true) } // field Name string size += hack.RuntimeAllocSize(int64(len(cached.Name))) @@ -3853,16 +3788,11 @@ func (cached *Variance) CachedSize(alloc bool) int64 { } size := int64(0) if alloc { - size += int64(48) + size += int64(32) } - // field Args vitess.io/vitess/go/vt/sqlparser.Exprs - { - size += hack.RuntimeAllocSize(int64(cap(cached.Args)) * int64(16)) - for _, elem := range cached.Args { - if cc, ok := elem.(cachedObject); ok { - size += cc.CachedSize(true) - } - } + // field Arg vitess.io/vitess/go/vt/sqlparser.Expr + if cc, ok := cached.Arg.(cachedObject); ok { + size += cc.CachedSize(true) } // field Name string size += hack.RuntimeAllocSize(int64(len(cached.Name))) diff --git a/go/vt/sqlparser/sql.go b/go/vt/sqlparser/sql.go index 2fc97411813..c664d3f391c 100644 --- a/go/vt/sqlparser/sql.go +++ b/go/vt/sqlparser/sql.go @@ -1396,25 +1396,25 @@ var yyExca = [...]int{ 245, 42, 250, 42, -2, 396, - -1, 1886, + -1, 1887, 218, 1414, -2, 1408, - -1, 1976, + -1, 1977, 132, 153, 173, 153, 335, 153, -2, 435, - -1, 1983, + -1, 1984, 25, 174, -2, 176, - -1, 2260, + -1, 2261, 87, 39, -2, 891, - -1, 2317, + -1, 2318, 77, 94, 87, 94, -2, 911, - -1, 2385, + -1, 2386, 610, 666, -2, 640, -1, 2545, @@ -1481,905 +1481,908 @@ var yyExca = [...]int{ const yyPrivate = 57344 -const yyLast = 47262 +const yyLast = 46474 var yyAct = [...]int{ - 752, 2489, 3317, 3329, 2928, 2929, 3136, 761, 2927, 3223, - 652, 3286, 3243, 3287, 2900, 2762, 1469, 755, 3188, 1973, - 2694, 3211, 1906, 1926, 754, 2600, 2607, 3120, 2202, 1211, - 2657, 3072, 2648, 2558, 3, 2662, 2659, 731, 37, 2658, - 2887, 2222, 2656, 2661, 2660, 3118, 732, 2955, 2561, 1908, - 2677, 186, 2248, 822, 186, 3108, 600, 186, 2508, 2615, - 2676, 1427, 615, 1390, 186, 844, 635, 2043, 2562, 2794, - 2288, 2559, 186, 639, 2960, 632, 2788, 729, 660, 2679, - 2488, 2311, 1930, 1946, 2445, 2487, 2814, 186, 2556, 2546, - 2275, 2715, 1523, 2780, 633, 2350, 2699, 2006, 2428, 2382, - 2031, 631, 2011, 2351, 730, 2074, 2352, 155, 1962, 615, - 1026, 36, 615, 186, 615, 826, 845, 830, 1570, 824, - 2300, 1951, 38, 2267, 1414, 2250, 1763, 1160, 1873, 2281, - 1880, 627, 1096, 1950, 2420, 847, 2052, 871, 868, 1847, - 2030, 1938, 2090, 1721, 1773, 141, 2013, 2344, 1189, 1059, - 1054, 1458, 2319, 1436, 95, 644, 1953, 96, 1394, 1296, - 1552, 1670, 1781, 1846, 1740, 91, 1232, 1559, 1033, 1666, - 2028, 1030, 1883, 1065, 1650, 1034, 2002, 1060, 1061, 1457, - 1441, 1843, 836, 1455, 1788, 1264, 1209, 1062, 1203, 1675, - 1072, 831, 1144, 1518, 1544, 124, 125, 858, 834, 76, - 85, 97, 832, 98, 159, 1898, 119, 117, 118, 3145, - 2375, 89, 1299, 622, 3318, 2888, 1303, 2045, 2046, 2047, - 3173, 2645, 2045, 2404, 2403, 1931, 2373, 2088, 833, 77, - 8, 7, 6, 2843, 2880, 3270, 87, 1635, 87, 87, - 2436, 604, 90, 126, 2437, 2932, 3174, 852, 3168, 857, - 3169, 1728, 120, 1743, 1101, 1727, 838, 188, 189, 190, - 1726, 1027, 1903, 1904, 2667, 1725, 1724, 1723, 1706, 2932, - 1233, 625, 3264, 626, 2246, 2667, 1098, 825, 823, 623, - 2542, 571, 1052, 2751, 767, 768, 769, 2395, 2664, 1114, - 1115, 1116, 865, 1119, 1120, 1121, 1122, 839, 846, 1125, - 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, - 1136, 1137, 1138, 1139, 1140, 1141, 1075, 87, 102, 1076, - 1715, 120, 2665, 1050, 1049, 1048, 1421, 2277, 1233, 2078, - 2931, 3224, 2512, 2665, 872, 1102, 1105, 1106, 1038, 3169, - 3274, 1043, 3340, 3290, 2671, 1111, 1051, 3285, 3272, 3308, - 2767, 2766, 2076, 2398, 2931, 2671, 767, 768, 769, 104, - 105, 3121, 108, 2223, 1733, 114, 3273, 604, 183, 2716, - 3068, 566, 3067, 2077, 3271, 1100, 3253, 1243, 188, 189, - 190, 2893, 1099, 78, 2894, 1117, 3337, 3221, 3321, 120, - 3251, 818, 819, 820, 821, 3164, 3299, 829, 2901, 3257, - 3258, 3212, 2071, 3220, 2132, 182, 733, 2617, 2618, 1934, - 2444, 3248, 2247, 2734, 3252, 2022, 2378, 78, 3163, 3150, - 80, 604, 1533, 78, 2596, 860, 861, 2603, 2435, 121, - 2328, 143, 2973, 2327, 1967, 1243, 2329, 2412, 2597, 2598, - 2016, 2411, 164, 2129, 605, 1968, 1969, 1459, 1179, 1460, - 78, 1905, 1167, 1147, 816, 2668, 815, 1168, 1265, 1184, - 1185, 87, 2376, 601, 1180, 1166, 2668, 1165, 1206, 2130, - 3137, 1173, 2604, 153, 2291, 1196, 1239, 1198, 733, 142, - 3077, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1274, 1273, - 1275, 1276, 1167, 2340, 2696, 87, 604, 1168, 2606, 2292, - 161, 87, 162, 1986, 1985, 2284, 2285, 2791, 2724, 604, - 613, 587, 2601, 604, 2616, 1195, 1197, 2477, 1546, 1547, - 152, 151, 181, 585, 3291, 1143, 2619, 2722, 87, 2617, - 2618, 1714, 611, 617, 1239, 2700, 2602, 1231, 1934, 1047, - 1398, 1153, 1154, 2383, 2421, 3292, 1625, 2053, 2407, 1181, - 1118, 2689, 2096, 3098, 1186, 3099, 1174, 2091, 3320, 2690, - 1716, 1717, 1718, 582, 1187, 1656, 186, 1651, 186, 2608, - 605, 186, 596, 1156, 1205, 1200, 2108, 3265, 2109, 2697, - 2110, 1188, 2015, 1182, 1183, 1149, 2423, 592, 2882, 2881, - 1626, 2111, 1627, 1932, 1933, 1124, 2095, 1045, 1123, 2698, - 2093, 615, 1213, 615, 615, 1047, 1142, 2097, 3052, 2056, - 2936, 1042, 1193, 1055, 1044, 1085, 1194, 1056, 615, 615, - 1947, 147, 1548, 154, 605, 1545, 1199, 148, 149, 1056, - 2878, 1083, 1279, 165, 1279, 1094, 2616, 1093, 2094, 1092, - 1091, 1090, 171, 1089, 1088, 1401, 2619, 3341, 2619, 1087, - 1192, 1537, 1095, 1082, 1225, 3297, 572, 37, 574, 588, - 2511, 607, 1031, 606, 578, 3333, 576, 580, 589, 581, - 1146, 575, 1074, 586, 1067, 2478, 577, 590, 591, 594, - 597, 598, 599, 595, 593, 1558, 584, 608, 1238, 1235, - 1236, 1237, 1242, 1244, 1241, 859, 1240, 1667, 1177, 605, - 1163, 2130, 1169, 1170, 1171, 1172, 1234, 2029, 1531, 3144, - 2374, 1047, 605, 1039, 2424, 1046, 605, 2440, 1053, 2144, - 1041, 1040, 1932, 1933, 2427, 1207, 1208, 2102, 2099, 2101, - 2100, 2103, 2104, 2342, 1031, 1282, 1283, 1284, 1285, 1068, - 1201, 2082, 2075, 2877, 2377, 1290, 1238, 1235, 1236, 1237, - 1242, 1244, 1241, 764, 1240, 764, 764, 2605, 1031, 156, - 1214, 1086, 1029, 2409, 1234, 1663, 1145, 2251, 2253, 1045, - 3226, 1657, 1219, 1073, 1104, 1658, 1659, 1084, 1077, 1067, - 1067, 1046, 1107, 1079, 1103, 1113, 2638, 1080, 1078, 1215, - 1216, 3225, 1557, 2406, 2792, 2397, 1074, 1530, 1529, 2393, - 1664, 1388, 1286, 1527, 570, 565, 2073, 2930, 1081, 1074, - 1655, 2419, 3078, 3256, 2418, 3133, 186, 2830, 2841, 2842, - 615, 615, 1637, 1636, 1638, 1639, 1640, 2810, 1370, 2019, - 2324, 2930, 2669, 2670, 3162, 1383, 186, 150, 116, 2396, - 1280, 1281, 3226, 2669, 2670, 2673, 2287, 81, 77, 2233, - 1228, 1226, 1227, 1897, 1445, 615, 2673, 3255, 1364, 186, - 1158, 1404, 2430, 3225, 615, 1408, 86, 2429, 2282, 2020, - 615, 826, 1301, 2131, 1302, 1389, 1074, 2018, 609, 1405, - 1305, 3331, 1974, 1279, 3332, 2430, 3330, 1046, 1402, 144, - 2429, 1276, 145, 868, 1074, 2595, 1190, 1073, 1176, 602, - 86, 1164, 1676, 841, 1162, 1152, 86, 1204, 1155, 1178, - 1073, 2021, 111, 3158, 603, 1097, 1067, 1070, 1071, 2873, - 1031, 2017, 157, 2609, 1064, 1068, 2804, 2613, 2092, 169, - 1660, 2252, 1461, 86, 1229, 2612, 2463, 1074, 1782, 1389, - 2157, 1782, 2366, 1406, 1249, 1063, 1407, 95, 1745, 3300, - 96, 1371, 1372, 1373, 1374, 1375, 1652, 1248, 1653, 1247, - 1248, 1654, 1746, 1277, 1278, 1744, 2446, 1939, 1940, 2614, - 2969, 177, 1395, 2848, 2610, 2847, 2060, 1073, 1567, 2611, - 1566, 1556, 112, 1067, 1070, 1071, 2070, 1031, 2068, 1085, - 1083, 1064, 1068, 3190, 2065, 1073, 98, 1112, 2072, 1249, - 2136, 2137, 2138, 158, 163, 160, 166, 167, 168, 170, - 172, 173, 174, 175, 2065, 1735, 1737, 1738, 3126, 176, - 178, 179, 180, 1148, 1403, 3342, 186, 823, 1392, 3293, - 1519, 2069, 2831, 825, 1426, 1456, 3191, 1423, 1073, 1736, - 1528, 1191, 1446, 1077, 1067, 1161, 1249, 1677, 1079, 2448, - 3335, 2067, 1080, 1078, 767, 768, 769, 3060, 1451, 1452, - 2907, 3127, 2908, 615, 2730, 1554, 1271, 1272, 1274, 1273, - 1275, 1276, 1645, 1563, 3059, 3050, 1246, 1565, 1247, 1248, - 1568, 1569, 615, 615, 1643, 615, 1632, 615, 615, 872, + 752, 761, 3317, 3136, 2928, 755, 2489, 2929, 3329, 2927, + 652, 3223, 3286, 3243, 2762, 3287, 754, 2900, 1469, 1927, + 1974, 3188, 2694, 3211, 3120, 2600, 2607, 1907, 2203, 1211, + 2657, 3072, 2558, 2648, 2662, 2659, 2658, 731, 37, 2656, + 2887, 1909, 2661, 2660, 3118, 639, 732, 822, 1390, 2223, + 3, 186, 2561, 2955, 186, 2249, 600, 186, 3108, 2508, + 2615, 844, 615, 2677, 186, 2044, 635, 2559, 2676, 2562, + 2289, 2794, 186, 2960, 2488, 1427, 2788, 660, 2487, 729, + 2679, 2446, 2814, 632, 1947, 2546, 2312, 186, 2556, 1931, + 2276, 2007, 2715, 2780, 631, 2351, 2699, 2429, 633, 730, + 2383, 1523, 2012, 2352, 2032, 2353, 1963, 155, 2075, 615, + 2301, 1952, 615, 186, 615, 826, 627, 830, 1026, 871, + 845, 36, 1951, 38, 2282, 824, 2268, 1160, 1414, 2251, + 1072, 1096, 1773, 1874, 1848, 847, 1570, 1881, 868, 1763, + 2031, 2421, 1939, 2091, 141, 1721, 2014, 2345, 1059, 1054, + 1847, 2053, 1189, 1552, 1458, 1436, 2320, 1954, 95, 644, + 91, 1394, 1670, 96, 1296, 1781, 1232, 1740, 1559, 1666, + 1033, 1030, 2029, 1650, 1065, 1034, 2003, 1060, 1061, 1457, + 836, 1441, 1455, 1264, 1844, 1209, 1062, 1203, 1675, 1518, + 1544, 858, 834, 124, 125, 1144, 97, 622, 98, 85, + 76, 831, 1789, 832, 1899, 1303, 1299, 3145, 2376, 89, + 3318, 2046, 2047, 2048, 159, 2888, 119, 2645, 3173, 2046, + 1932, 117, 2374, 118, 2405, 2404, 2089, 833, 77, 2843, + 2880, 8, 7, 6, 87, 852, 3270, 857, 604, 126, + 87, 90, 1635, 87, 3174, 767, 768, 769, 1743, 2437, + 2438, 838, 3168, 1884, 1101, 3169, 1728, 2932, 1727, 1076, + 1027, 1233, 120, 623, 188, 189, 190, 1904, 1905, 1726, + 1233, 1725, 1724, 823, 1723, 1098, 571, 102, 825, 1052, + 2932, 2667, 1706, 3264, 625, 1111, 626, 1715, 1114, 1115, + 1116, 865, 1119, 1120, 1121, 1122, 839, 846, 1125, 1126, + 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, + 1137, 1138, 1139, 1140, 1141, 1075, 2247, 2542, 104, 105, + 2751, 108, 182, 3290, 114, 2079, 2512, 183, 2278, 872, + 566, 120, 2667, 1050, 1102, 1105, 1106, 1421, 1049, 2665, + 1048, 1051, 2931, 3169, 3274, 2664, 121, 1043, 1038, 3272, + 818, 819, 820, 821, 3340, 2396, 829, 3285, 3308, 164, + 2767, 2671, 2766, 2077, 2399, 2931, 3121, 733, 1243, 2078, + 3273, 2224, 1733, 2716, 87, 3271, 3068, 1243, 3067, 2893, + 1117, 1100, 2894, 3337, 860, 861, 1099, 3221, 3321, 2133, + 2665, 767, 768, 769, 182, 3164, 78, 78, 3299, 120, + 2901, 3212, 2334, 604, 2072, 3220, 3163, 2445, 3248, 2734, + 1533, 3253, 2671, 1047, 78, 1153, 1154, 161, 121, 162, + 143, 2292, 2248, 3150, 2413, 3251, 2329, 78, 2412, 2328, + 80, 164, 2330, 1042, 3257, 3258, 1044, 2596, 3224, 181, + 2436, 605, 2617, 2618, 2130, 1935, 2293, 1156, 1968, 3252, + 2597, 2598, 1969, 1970, 2131, 1265, 1906, 1459, 1206, 1460, + 1184, 1185, 153, 2973, 1179, 816, 815, 1239, 142, 3137, + 1231, 1045, 2668, 1180, 87, 87, 1239, 3077, 1266, 1267, + 1268, 1269, 1270, 1271, 1272, 1274, 1273, 1275, 1276, 161, + 1167, 162, 87, 2377, 1173, 1168, 2341, 1987, 1986, 2285, + 2286, 1167, 2477, 2791, 3291, 87, 1168, 130, 131, 152, + 151, 181, 1147, 733, 1166, 2696, 1165, 2724, 604, 2722, + 613, 1714, 617, 2668, 2603, 3292, 611, 1716, 1717, 1718, + 2700, 1143, 604, 1047, 2422, 1039, 1625, 3098, 1398, 3099, + 2384, 2054, 1041, 1040, 604, 2408, 2689, 2092, 3320, 2616, + 165, 2023, 1651, 1656, 2690, 1186, 1182, 1183, 1181, 171, + 2097, 2619, 1200, 1149, 1205, 1187, 186, 1188, 186, 2604, + 2109, 186, 2110, 1118, 2111, 2882, 2017, 2424, 2096, 1174, + 1626, 2881, 1627, 1196, 2112, 1198, 1935, 2698, 3265, 1046, + 1124, 1045, 1123, 2094, 3052, 2606, 3297, 2878, 1401, 2057, + 2697, 615, 1213, 615, 615, 1537, 605, 2936, 1085, 2601, + 147, 128, 154, 135, 127, 2098, 148, 149, 615, 615, + 2095, 1055, 165, 1195, 1197, 1056, 2617, 2618, 2447, 1933, + 1934, 171, 136, 2602, 1948, 2103, 2100, 2102, 2101, 2104, + 2105, 1083, 1056, 1094, 1093, 1092, 139, 137, 132, 133, + 134, 138, 1091, 1090, 2511, 1089, 2619, 37, 129, 1095, + 2478, 1088, 1087, 1082, 1047, 1142, 2608, 140, 1031, 3341, + 1225, 1279, 2131, 1068, 1031, 3333, 156, 1279, 1029, 1238, + 1235, 1236, 1237, 1242, 1244, 1241, 1031, 1240, 1238, 1235, + 1236, 1237, 1242, 1244, 1241, 1177, 1240, 1234, 1558, 1067, + 1163, 1667, 1169, 1170, 1171, 1172, 1234, 3144, 2375, 1046, + 2877, 2449, 2030, 1104, 859, 1053, 2425, 2083, 2016, 1067, + 1193, 605, 1663, 1103, 1194, 1207, 1208, 1219, 1107, 1146, + 2638, 3226, 2407, 2616, 1199, 605, 1113, 1531, 2428, 1282, + 1283, 1284, 1285, 1074, 1201, 2619, 1530, 605, 156, 1290, + 2410, 764, 3225, 2076, 1086, 1529, 2441, 764, 1192, 1657, + 764, 2394, 2145, 1658, 1659, 1664, 1527, 1214, 570, 2343, + 1933, 1934, 565, 2420, 2074, 2378, 2419, 2459, 2458, 2457, + 2451, 3133, 2455, 1975, 2450, 2830, 2448, 1084, 1215, 1216, + 2792, 2453, 1280, 1281, 2252, 2254, 2810, 2325, 2288, 2234, + 2452, 1388, 1898, 116, 1445, 1557, 1286, 1383, 1364, 3078, + 1158, 2283, 1279, 1655, 2841, 2842, 186, 2454, 2456, 2930, + 615, 615, 3162, 1276, 2595, 1145, 150, 1637, 1636, 1638, + 1639, 1640, 1370, 2431, 1190, 1676, 186, 841, 2430, 157, + 1046, 1204, 2930, 3158, 1073, 1074, 169, 77, 3256, 2669, + 2670, 1228, 1226, 1227, 2605, 615, 1074, 81, 2132, 186, + 1097, 1404, 2673, 2398, 615, 1408, 1301, 1074, 1302, 1305, + 615, 826, 2873, 1405, 2804, 111, 2093, 3226, 144, 86, + 86, 145, 1660, 1461, 1402, 1389, 1162, 1229, 177, 1782, + 2464, 3331, 3255, 868, 3332, 1176, 3330, 86, 3225, 2431, + 2669, 2670, 1164, 1790, 2430, 2367, 1178, 2397, 1247, 1248, + 86, 157, 3300, 2673, 1155, 1152, 1248, 1791, 169, 2969, + 158, 163, 160, 166, 167, 168, 170, 172, 173, 174, + 175, 1782, 2848, 2158, 1074, 2847, 176, 178, 179, 180, + 1371, 1372, 1373, 1374, 1375, 112, 1073, 1406, 1112, 1389, + 2061, 95, 1407, 1074, 2071, 2069, 96, 1073, 2253, 1652, + 177, 1653, 1077, 1067, 1654, 2020, 2073, 1079, 1073, 1567, + 1745, 1080, 1078, 1395, 1067, 1070, 1071, 1566, 1031, 1191, + 1677, 1556, 1064, 1068, 1746, 1277, 1278, 1744, 1148, 1085, + 1083, 98, 158, 163, 160, 166, 167, 168, 170, 172, + 173, 174, 175, 1063, 3293, 2021, 2831, 1446, 176, 178, + 179, 180, 1392, 2019, 1271, 1272, 1274, 1273, 1275, 1276, + 2609, 1249, 823, 1403, 2613, 2066, 186, 1161, 1426, 1249, + 1519, 3190, 2612, 2066, 825, 1073, 1423, 3335, 1456, 1249, + 1528, 1067, 1070, 1071, 1788, 1031, 2907, 2022, 2908, 1064, + 1068, 3060, 1451, 1452, 1073, 1249, 3059, 2018, 3050, 1077, + 1067, 2920, 2070, 615, 1079, 1554, 2614, 3126, 1080, 1078, + 2068, 2610, 2919, 1563, 3191, 2855, 2611, 1565, 1940, 1941, + 1568, 1569, 615, 615, 872, 615, 3294, 615, 615, 1081, 615, 615, 615, 615, 615, 615, 1269, 1270, 1271, 1272, - 1274, 1273, 1275, 1276, 1600, 1601, 1249, 615, 2920, 2919, - 3343, 186, 1606, 2855, 1421, 2458, 2457, 2456, 2450, 2854, - 2454, 1786, 2449, 2844, 2447, 1787, 2646, 2634, 186, 2452, - 1421, 1246, 2348, 1247, 1248, 2347, 1644, 1265, 2451, 2439, - 2465, 615, 2025, 186, 863, 1646, 1630, 1409, 1642, 1564, - 1631, 1629, 1249, 3294, 1665, 2453, 2455, 615, 1628, 186, - 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1274, 1273, 1275, - 1276, 1618, 1612, 1550, 1609, 186, 1599, 1620, 1246, 1602, - 1247, 1248, 186, 1608, 1534, 1535, 1536, 1607, 1579, 3304, - 1421, 186, 186, 186, 186, 186, 186, 186, 186, 186, - 615, 1572, 3153, 1573, 1543, 1575, 1577, 3152, 3130, 1581, - 1583, 1585, 1587, 1589, 615, 615, 3129, 1603, 1266, 1267, - 1268, 1269, 1270, 1271, 1272, 1274, 1273, 1275, 1276, 1430, - 1526, 3128, 186, 1562, 1249, 3302, 1421, 3055, 1246, 1561, - 1247, 1248, 3040, 3039, 1265, 2968, 2966, 1261, 2916, 1262, - 1610, 1611, 1540, 1541, 1539, 2852, 1616, 1617, 1553, 2837, - 2701, 1560, 1560, 1263, 1277, 1278, 1260, 1266, 1267, 1268, - 1269, 1270, 1271, 1272, 1274, 1273, 1275, 1276, 2637, 1431, - 615, 2636, 1767, 1771, 1246, 2357, 1247, 1248, 1770, 1770, - 188, 189, 190, 1776, 2838, 2345, 1672, 1385, 1249, 2086, - 2085, 1680, 1249, 1929, 1911, 1768, 1768, 1741, 1684, 1707, - 1686, 1687, 1688, 1689, 1678, 1679, 1673, 1693, 1421, 1434, - 188, 189, 190, 615, 615, 1668, 1641, 1633, 1683, 1705, - 188, 189, 190, 1604, 2331, 1690, 1691, 1692, 1748, 1623, - 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1758, 1759, - 1760, 1761, 1762, 120, 1739, 1050, 1049, 1048, 1749, 1619, - 1615, 1876, 1532, 1614, 1613, 1682, 1246, 1432, 1247, 1248, - 1202, 615, 1783, 2693, 1218, 1795, 1796, 1797, 1798, 1799, - 1800, 1801, 1802, 1803, 1804, 1433, 1703, 753, 1421, 1704, - 2803, 188, 189, 190, 1884, 2041, 3085, 186, 1844, 2320, - 1711, 1712, 615, 1267, 1268, 1269, 1270, 1271, 1272, 1274, - 1273, 1275, 1276, 2273, 3319, 3084, 1742, 1253, 1254, 1255, - 1256, 1257, 1258, 1259, 1251, 3044, 186, 3281, 1421, 615, - 1246, 3043, 1247, 1248, 1246, 2899, 1247, 1248, 187, 186, - 2384, 187, 2362, 615, 187, 2273, 3218, 1747, 186, 616, - 186, 187, 186, 186, 615, 1900, 1982, 615, 92, 187, - 1772, 1844, 2321, 1249, 1245, 1874, 1777, 1778, 615, 93, - 94, 1916, 2323, 1917, 187, 1884, 188, 189, 190, 2805, - 2039, 2273, 3198, 868, 2273, 3194, 868, 3186, 1265, 1983, - 2143, 2066, 1791, 1792, 1793, 1794, 616, 1888, 1889, 616, - 187, 616, 1886, 3181, 1421, 95, 1805, 1249, 96, 2273, - 3146, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1274, 1273, - 1275, 1276, 2289, 615, 1421, 95, 1885, 2296, 96, 1421, - 2032, 2033, 2034, 1949, 2289, 2036, 2038, 2040, 1887, 1922, - 101, 1890, 1891, 1249, 2891, 3143, 3235, 1421, 92, 2065, - 615, 100, 1249, 99, 3157, 94, 615, 1563, 2273, 93, - 1563, 2297, 1563, 1992, 1993, 1994, 1995, 1987, 2064, 1988, - 1989, 1990, 1991, 1249, 1977, 2747, 1421, 2771, 1978, 1910, - 3063, 1421, 2297, 1886, 1921, 1998, 1999, 2000, 2001, 838, - 3233, 1421, 2273, 3051, 2297, 1246, 1960, 1247, 1248, 2891, - 1421, 2269, 2054, 615, 2747, 615, 2803, 1944, 1924, 2625, - 1249, 615, 615, 87, 1421, 2008, 94, 1981, 2273, 2889, - 3261, 1421, 2014, 1942, 2065, 1421, 3231, 1421, 2590, 188, - 189, 190, 2530, 2037, 1965, 3107, 1421, 1964, 2130, 1246, - 1966, 1247, 1248, 2808, 1421, 1980, 1979, 1245, 1421, 186, - 1249, 2196, 1421, 2627, 2626, 2320, 186, 3295, 2623, 2624, - 2051, 100, 1829, 186, 186, 2024, 2145, 186, 2196, 186, - 2623, 2622, 2297, 1421, 2145, 1246, 186, 1247, 1248, 872, - 2145, 1421, 872, 186, 1246, 2180, 1247, 1248, 2130, 2405, - 2009, 2004, 2005, 3105, 1421, 1522, 2387, 1249, 2023, 2380, - 2381, 2027, 2179, 2035, 1249, 1246, 2065, 1247, 1248, 186, - 1249, 2273, 2272, 2079, 615, 1249, 2048, 2059, 2321, 1249, - 2062, 2557, 2063, 1937, 2058, 2009, 2061, 2057, 2130, 1249, - 1245, 2081, 2803, 3102, 1421, 1425, 1075, 2083, 2084, 1076, - 2080, 1249, 1246, 1901, 1247, 1248, 1265, 1249, 1719, 1560, - 1821, 1810, 1811, 1812, 1813, 1823, 1814, 1815, 1816, 1828, - 1824, 1817, 1818, 1825, 1826, 1827, 1819, 1820, 1822, 1266, + 1274, 1273, 1275, 1276, 1600, 1601, 1409, 615, 2854, 2844, + 3127, 186, 1606, 1253, 1254, 1255, 1256, 1257, 1258, 1259, + 1251, 1564, 3304, 1421, 1645, 1735, 1737, 1738, 186, 1266, + 1267, 1268, 1269, 1270, 1271, 1272, 1274, 1273, 1275, 1276, + 2646, 615, 2634, 186, 2137, 2138, 2139, 863, 1599, 1736, + 3342, 1602, 2349, 1246, 1665, 1247, 1248, 615, 2348, 186, + 1249, 1246, 2466, 1247, 1248, 1421, 767, 768, 769, 1620, + 1830, 1246, 1786, 1247, 1248, 186, 1787, 2026, 1643, 1646, + 1630, 1550, 186, 1534, 1535, 1536, 1629, 1246, 1644, 1247, + 1248, 186, 186, 186, 186, 186, 186, 186, 186, 186, + 615, 1560, 1560, 1543, 1267, 1268, 1269, 1270, 1271, 1272, + 1274, 1273, 1275, 1276, 615, 615, 188, 189, 190, 1572, + 2838, 1573, 1632, 1575, 1577, 1603, 1562, 1581, 1583, 1585, + 1587, 1589, 186, 1526, 1628, 3343, 1618, 188, 189, 190, + 1561, 2332, 1642, 3302, 1421, 1612, 1609, 1249, 1540, 1610, + 1611, 1541, 1539, 1608, 1553, 1616, 1617, 1607, 1822, 1811, + 1812, 1813, 1814, 1824, 1815, 1816, 1817, 1829, 1825, 1818, + 1819, 1826, 1827, 1828, 1820, 1821, 1823, 1579, 1672, 3153, + 615, 3152, 1770, 1770, 2693, 3130, 1631, 1767, 1771, 3129, + 1249, 3128, 1246, 1776, 1247, 1248, 1249, 1768, 1768, 3055, + 3040, 1680, 188, 189, 190, 3039, 2042, 1741, 1684, 2968, + 1686, 1687, 1688, 1689, 2730, 2966, 2916, 1693, 1678, 1679, + 2852, 1532, 2837, 615, 615, 1668, 1430, 2701, 1604, 1705, + 3235, 1421, 1683, 188, 189, 190, 1218, 2040, 1249, 1690, + 1691, 1692, 1421, 2637, 1783, 1249, 1748, 1739, 1750, 1751, + 1752, 1753, 1754, 1755, 1756, 1757, 1758, 1759, 1760, 1761, + 1762, 1877, 1749, 120, 1682, 1050, 2184, 188, 189, 190, + 1049, 615, 1048, 3233, 1421, 2636, 1431, 2358, 2346, 1246, + 1421, 1247, 1248, 1845, 1385, 1703, 1265, 753, 1704, 1261, + 2087, 1262, 2086, 1930, 1885, 1912, 1707, 186, 1673, 1711, + 1712, 1641, 615, 1633, 1623, 1263, 1277, 1278, 1260, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1274, 1273, 1275, 1276, - 3088, 1421, 1246, 1662, 1247, 1248, 1453, 2779, 1421, 828, - 1249, 1741, 2089, 2776, 1421, 1058, 1249, 1057, 2774, 1421, - 2191, 1249, 2728, 1421, 1522, 1521, 2121, 2122, 1467, 1466, - 1249, 2124, 2228, 1421, 3201, 3074, 1249, 1428, 3041, 2856, - 2125, 2140, 2980, 2142, 2211, 1421, 2154, 2872, 2869, 1246, - 2203, 1247, 1248, 1249, 2114, 2850, 1246, 2739, 1247, 1248, - 2738, 2141, 1246, 1524, 1247, 1248, 2007, 1246, 2691, 1247, - 1248, 1246, 2163, 1247, 1248, 2164, 2165, 2166, 2167, 2651, - 2647, 1246, 2388, 1247, 1248, 2003, 1249, 87, 1997, 2178, - 2857, 2858, 2859, 1246, 1421, 1247, 1248, 1996, 2353, 1246, - 3141, 1247, 1248, 2149, 1648, 3048, 2128, 1249, 1595, 1555, - 1551, 1520, 1249, 2148, 113, 2649, 1249, 2354, 1147, 2153, - 1742, 2695, 186, 2815, 2816, 3075, 1249, 2022, 1914, 2139, - 186, 1249, 3314, 3312, 2257, 615, 3288, 2874, 1709, 3167, - 1770, 615, 1246, 3093, 1247, 1248, 2354, 2243, 1246, 2818, - 1247, 1248, 615, 1246, 2643, 1247, 1248, 1768, 2261, 1596, - 1597, 1598, 1246, 2156, 1247, 1248, 2642, 2641, 1246, 2825, - 1247, 1248, 2557, 187, 1249, 187, 186, 2367, 187, 2255, - 186, 101, 2860, 2115, 2579, 1246, 1591, 1247, 1248, 2580, - 2777, 2821, 100, 1249, 99, 2330, 2349, 2577, 2820, 2749, - 1710, 2293, 2578, 94, 37, 1249, 2576, 2575, 616, 2745, - 616, 616, 3267, 2313, 2736, 1249, 2189, 1429, 1246, 3219, - 1247, 1248, 1249, 1928, 1920, 616, 616, 1249, 2809, 2861, - 2862, 2863, 2274, 1592, 1593, 1594, 2535, 1249, 2534, 1246, - 3125, 1247, 1248, 615, 1246, 2796, 1247, 1248, 1246, 186, - 1247, 1248, 1249, 2795, 2961, 1886, 186, 2735, 1246, 2959, - 1247, 1248, 1421, 1246, 1249, 1247, 1248, 2270, 2799, 1249, - 615, 2544, 1661, 2183, 2230, 2231, 2242, 615, 1395, 1885, - 2245, 1563, 1563, 2283, 1249, 2147, 615, 2312, 2241, 814, - 2621, 2341, 2343, 2379, 842, 2338, 1420, 2581, 2240, 2306, - 2307, 2271, 843, 2402, 2334, 2239, 1246, 2266, 1247, 1248, - 2226, 2286, 2358, 1109, 186, 186, 186, 186, 186, 1108, - 2220, 2401, 2709, 2318, 2353, 1246, 2433, 1247, 1248, 1789, - 2950, 92, 2949, 2014, 2322, 186, 186, 1246, 2325, 1247, - 1248, 2394, 93, 1790, 2547, 2549, 2332, 1246, 2335, 1247, - 1248, 186, 2219, 2550, 1246, 1217, 1247, 1248, 121, 1246, - 2801, 1247, 1248, 1939, 1940, 2346, 94, 2218, 2356, 1246, - 615, 1247, 1248, 2359, 2360, 188, 189, 190, 3327, 2355, - 2948, 1875, 2639, 2118, 1246, 1877, 1247, 1248, 2363, 3240, - 2364, 1249, 3142, 2368, 2369, 2370, 1246, 1249, 1247, 1248, - 2400, 1246, 762, 1247, 1248, 2302, 2305, 2306, 2307, 2303, - 92, 2304, 2308, 101, 1543, 3070, 1246, 94, 1247, 1248, - 2620, 93, 2310, 187, 100, 1925, 99, 616, 616, 1770, - 1249, 1770, 850, 851, 1770, 94, 2399, 2533, 2107, 1770, - 2106, 2389, 2390, 187, 615, 2532, 1768, 1876, 1768, 1876, - 2105, 1768, 2472, 2459, 615, 2781, 1768, 101, 2134, 2442, - 99, 2422, 616, 3113, 3112, 2441, 187, 3096, 100, 100, - 99, 616, 1249, 2967, 2217, 615, 2965, 616, 2425, 2964, - 2216, 2957, 2870, 2520, 1249, 2800, 2798, 2513, 2652, 2431, - 186, 2049, 2432, 1538, 615, 2490, 2460, 2490, 849, 2956, - 2490, 2502, 2503, 2504, 2505, 2490, 2515, 2495, 615, 2492, - 2443, 2789, 2496, 2215, 2289, 615, 615, 101, 186, 186, - 186, 186, 186, 1246, 3315, 1247, 1248, 2940, 100, 1246, - 186, 1247, 1248, 2269, 1249, 186, 2479, 2520, 186, 1249, - 186, 3316, 3315, 186, 186, 186, 2181, 1912, 1447, 3316, - 2569, 1874, 830, 1874, 1438, 2214, 2483, 3131, 2537, 2563, - 2589, 2836, 1246, 840, 1247, 1248, 103, 2213, 106, 107, - 88, 2538, 1408, 2313, 2554, 2514, 1, 2516, 2840, 2635, - 3250, 583, 1902, 2519, 1393, 2560, 3289, 3246, 186, 1249, - 2560, 3247, 1634, 2529, 1624, 2525, 2497, 2498, 2499, 2500, - 2501, 615, 2902, 1845, 1246, 3071, 1247, 1248, 2655, 615, - 2536, 2055, 2868, 2012, 186, 2539, 1246, 2212, 1247, 1248, - 1066, 2591, 2206, 146, 2592, 1975, 831, 186, 2551, 2552, - 1976, 3214, 2675, 187, 2568, 110, 1024, 832, 109, 1069, - 2571, 2572, 1175, 2574, 2050, 186, 2586, 2587, 186, 2582, - 95, 2570, 2593, 96, 2573, 2892, 2339, 1984, 2710, 1473, - 1249, 2599, 2526, 2527, 2528, 1471, 1246, 1472, 1247, 1248, - 616, 1246, 2205, 1247, 1248, 2629, 2631, 2654, 2630, 1470, - 1249, 1475, 1672, 1474, 2182, 2750, 1713, 612, 2309, 616, - 616, 1249, 616, 2683, 616, 616, 184, 616, 616, 616, - 616, 616, 616, 1249, 1462, 1439, 2632, 2633, 2014, 2763, - 2674, 2653, 1110, 1249, 616, 573, 2628, 2087, 187, 2686, - 2682, 1246, 579, 1247, 1248, 1291, 1708, 615, 2531, 2326, - 869, 862, 1913, 2259, 2744, 187, 1249, 2565, 2793, 2702, - 2543, 2545, 2705, 2204, 2704, 2276, 2548, 2541, 616, 3124, - 187, 615, 186, 2958, 3199, 2713, 2336, 1435, 2770, 2717, - 2718, 2712, 2719, 2201, 616, 2721, 187, 2723, 2720, 2725, - 2765, 2726, 2155, 1249, 2200, 1780, 1954, 2769, 2935, 2707, - 2708, 1734, 187, 637, 636, 634, 2199, 2262, 2290, 187, - 1252, 756, 1246, 2249, 1247, 1248, 2197, 1448, 187, 187, - 187, 187, 187, 187, 187, 187, 187, 616, 2301, 1419, - 1415, 186, 1246, 2299, 1247, 1248, 2298, 2116, 1961, 2193, - 2817, 616, 616, 1246, 1416, 1247, 1248, 2787, 2813, 2839, - 3242, 1956, 1952, 2268, 645, 1246, 638, 1247, 1248, 187, - 186, 2782, 2783, 630, 721, 1246, 2833, 1247, 1248, 1918, - 1919, 1418, 2790, 1417, 2681, 2797, 2192, 3227, 2408, 186, - 2812, 2692, 186, 186, 186, 2822, 2410, 2802, 1246, 2337, - 1247, 1248, 615, 615, 2688, 1230, 1411, 624, 1037, 3076, - 2819, 3148, 2828, 2829, 2133, 2733, 1410, 616, 1808, 1809, - 3155, 2663, 2827, 2826, 2886, 2875, 2876, 2644, 2385, 2042, - 63, 2683, 2834, 2835, 41, 1246, 3119, 1247, 1248, 1419, - 1415, 3187, 720, 717, 2937, 2938, 615, 615, 615, 615, - 2939, 2509, 2896, 2897, 1416, 2851, 2510, 2853, 2682, 3170, - 616, 616, 2302, 2305, 2306, 2307, 2303, 3171, 2304, 2308, - 716, 3172, 2815, 2816, 1836, 619, 3263, 1221, 856, 1412, - 1413, 1418, 32, 1417, 31, 30, 29, 28, 23, 22, - 21, 20, 19, 25, 18, 17, 2845, 2846, 16, 2898, - 2666, 3284, 3326, 1770, 115, 1770, 50, 47, 616, 45, - 123, 122, 48, 44, 1150, 42, 27, 26, 15, 14, - 1768, 13, 1768, 12, 11, 10, 9, 5, 4, 35, - 34, 33, 1224, 24, 187, 186, 2, 2372, 2044, 616, - 2909, 0, 0, 0, 0, 0, 0, 0, 2879, 2915, - 0, 2911, 2883, 2884, 2885, 0, 0, 2953, 0, 615, - 0, 615, 0, 187, 0, 0, 616, 0, 0, 2490, - 0, 2490, 0, 0, 0, 0, 187, 2982, 2924, 0, - 616, 2923, 0, 1770, 0, 187, 2933, 187, 0, 187, - 187, 616, 2974, 0, 616, 37, 0, 0, 0, 0, - 1768, 0, 2563, 0, 0, 616, 2563, 0, 2976, 0, - 0, 0, 0, 2963, 2954, 0, 2978, 2962, 0, 0, - 0, 0, 0, 615, 2972, 2970, 0, 2560, 0, 0, - 0, 0, 0, 0, 0, 0, 186, 0, 0, 615, - 0, 0, 0, 0, 0, 0, 3049, 2983, 2984, 0, - 0, 0, 615, 2986, 0, 0, 0, 0, 1422, 1424, + 1742, 2204, 1246, 1619, 1247, 1248, 186, 3085, 1246, 615, + 1247, 1248, 1249, 188, 189, 190, 1615, 2038, 187, 186, + 1901, 187, 1614, 615, 187, 1747, 1845, 1613, 186, 616, + 186, 187, 186, 186, 615, 1432, 1249, 615, 1202, 187, + 1875, 2274, 3319, 3281, 1421, 2274, 3218, 1917, 615, 1918, + 1246, 3084, 1247, 1248, 187, 1885, 3044, 1246, 101, 1247, + 1248, 2274, 3198, 868, 1887, 3043, 868, 92, 2899, 100, + 1984, 99, 2590, 1249, 94, 2385, 616, 2290, 93, 616, + 187, 616, 2131, 2192, 1889, 1890, 101, 2363, 1249, 95, + 1792, 1793, 1794, 1795, 96, 3231, 1421, 100, 1249, 99, + 2274, 3194, 1983, 615, 1806, 3181, 1421, 1886, 94, 95, + 2033, 2034, 2035, 92, 96, 2037, 2039, 2041, 1950, 3107, + 1421, 1772, 2803, 1923, 93, 94, 1249, 1777, 1778, 2067, + 615, 2274, 3146, 1421, 2891, 3143, 615, 1563, 87, 1421, + 1563, 1249, 1563, 2290, 1246, 1887, 1247, 1248, 2065, 2298, + 1993, 1994, 1995, 1996, 1978, 1245, 1988, 1421, 1989, 1990, + 1991, 1992, 1911, 2805, 838, 3186, 1979, 1421, 1246, 2557, + 1247, 1248, 1421, 3157, 1999, 2000, 2001, 2002, 1961, 1421, + 2803, 3105, 1421, 615, 1421, 615, 1925, 2066, 1945, 2009, + 2274, 615, 615, 100, 1249, 2055, 1982, 2747, 1421, 1888, + 3063, 1421, 1891, 1892, 1943, 1246, 2015, 1247, 1248, 3102, + 1421, 2274, 3051, 2297, 1966, 2803, 1965, 2891, 1421, 2298, + 1246, 2771, 1247, 1248, 2825, 1981, 1980, 2274, 2889, 186, + 1246, 2747, 1247, 1248, 2066, 1421, 186, 2625, 1249, 2808, + 1421, 1245, 1421, 186, 186, 1922, 2025, 186, 2052, 186, + 1249, 2197, 1421, 2530, 872, 1967, 186, 872, 1246, 1076, + 1247, 1248, 1245, 186, 2649, 2627, 2626, 2150, 2298, 1560, + 2010, 2005, 2006, 1246, 2146, 1247, 1248, 2149, 2024, 2197, + 2028, 2623, 2624, 2623, 2622, 2036, 2355, 2298, 1421, 186, + 2060, 2181, 1249, 2063, 615, 2064, 1249, 2146, 1421, 2131, + 2406, 2080, 1522, 2388, 2180, 2010, 2059, 2062, 2058, 1249, + 2381, 2382, 2066, 1249, 1265, 1075, 2440, 2270, 1249, 2274, + 2273, 3088, 1421, 1249, 2082, 1265, 1246, 2144, 1247, 1248, + 2084, 2085, 94, 2779, 1421, 2081, 1265, 1266, 1267, 1268, + 1269, 1270, 1271, 1272, 1274, 1273, 1275, 1276, 1266, 1267, + 1268, 1269, 1270, 1271, 1272, 1274, 1273, 1275, 1276, 1266, + 1267, 1268, 1269, 1270, 1271, 1272, 1274, 1273, 1275, 1276, + 1246, 1741, 1247, 1248, 2090, 2776, 1421, 1249, 2049, 2774, + 1421, 1938, 1246, 1425, 1247, 1248, 2122, 2123, 1249, 1902, + 2146, 2125, 2728, 1421, 1434, 1249, 2229, 1421, 2155, 2321, + 2126, 2212, 1421, 1719, 2321, 1522, 1521, 3295, 1662, 2141, + 1249, 2143, 1467, 1466, 2115, 1249, 1453, 2856, 2164, 1058, + 1249, 1057, 3261, 3201, 1246, 2142, 1247, 1248, 1246, 3074, + 1247, 1248, 1249, 1147, 1428, 2179, 188, 189, 190, 828, + 3041, 1246, 1876, 1247, 1248, 1246, 1878, 1247, 1248, 2980, + 1246, 2872, 1247, 1248, 1595, 1246, 1249, 1247, 1248, 2695, + 1433, 1249, 2322, 762, 2869, 2850, 2129, 2322, 2857, 2858, + 2859, 2154, 2324, 2739, 1249, 2738, 3314, 2131, 1524, 3141, + 1249, 2008, 2148, 186, 1742, 2691, 1249, 2651, 2647, 2389, + 1249, 186, 2140, 2004, 3048, 1770, 615, 3075, 1998, 2874, + 2258, 1249, 615, 2777, 1997, 1596, 1597, 1598, 2244, 1246, + 1768, 1247, 1248, 615, 1249, 2262, 2350, 87, 1648, 1249, + 1246, 1555, 1247, 1248, 1551, 1520, 2157, 1246, 113, 1247, + 1248, 2023, 2256, 187, 3312, 187, 1249, 186, 187, 2749, + 1915, 186, 1246, 1709, 1247, 1248, 2354, 1246, 3288, 1247, + 1248, 3167, 1246, 3093, 1247, 1248, 2331, 2745, 2821, 2815, + 2816, 2818, 1921, 2736, 1246, 37, 1247, 1248, 616, 2735, + 616, 616, 2643, 2243, 2314, 2642, 2641, 2557, 2294, 1249, + 2860, 2368, 2190, 2116, 2242, 616, 616, 2579, 1246, 1249, + 1247, 1248, 2580, 1246, 2355, 1247, 1248, 2241, 1887, 2820, + 2275, 2576, 2240, 2575, 615, 1710, 1246, 1249, 1247, 1248, + 186, 1249, 1246, 3267, 1247, 1248, 3219, 186, 1246, 2227, + 1247, 1248, 1246, 1929, 1247, 1248, 1249, 2861, 2862, 2863, + 1420, 615, 2271, 1246, 1429, 1247, 1248, 1249, 615, 2284, + 1395, 1886, 1563, 1563, 2246, 2809, 1246, 615, 1247, 1248, + 2380, 1246, 2577, 1247, 1248, 2535, 1591, 2578, 2313, 2342, + 2344, 2534, 2221, 2267, 2403, 2335, 2272, 3125, 1246, 2959, + 1247, 1248, 2220, 2796, 2287, 186, 186, 186, 186, 186, + 2961, 2795, 1249, 2402, 2799, 2581, 2319, 2307, 2308, 2544, + 2219, 2547, 2549, 842, 2218, 2621, 186, 186, 2015, 2323, + 2550, 843, 2326, 1592, 1593, 1594, 2333, 1661, 2336, 2217, + 814, 1246, 186, 1247, 1248, 2339, 2231, 2232, 2359, 1109, + 2216, 1246, 1108, 1247, 1248, 2950, 2347, 2949, 2357, 2709, + 1790, 615, 2354, 2360, 2361, 2434, 1419, 1415, 92, 1246, + 2356, 1247, 1248, 1246, 1791, 1247, 1248, 1217, 2395, 93, + 2364, 1416, 2365, 121, 2369, 2370, 2371, 92, 1246, 2801, + 1247, 1248, 2401, 94, 94, 2215, 1940, 1941, 93, 1246, + 3327, 1247, 1248, 2639, 1543, 2948, 1919, 1920, 1418, 2119, + 1417, 3240, 1249, 187, 1770, 3142, 1770, 616, 616, 1770, + 1249, 3070, 2620, 2311, 1770, 2390, 2391, 1926, 2533, 1768, + 2108, 1768, 2107, 187, 1768, 615, 2532, 2472, 1877, 1768, + 1877, 2460, 2400, 2106, 1246, 615, 1247, 1248, 2781, 2442, + 1249, 101, 616, 2135, 2443, 99, 187, 3113, 2490, 2423, + 2490, 616, 100, 2490, 99, 100, 615, 616, 2490, 2290, + 3112, 2426, 3096, 94, 2520, 850, 851, 2502, 2503, 2504, + 2505, 186, 2967, 101, 2432, 615, 2513, 2433, 2965, 2444, + 2964, 2957, 2495, 2492, 100, 2214, 99, 2496, 2515, 615, + 2461, 2870, 2800, 2213, 2798, 2652, 615, 615, 2050, 186, + 186, 186, 186, 186, 1538, 849, 2303, 2306, 2307, 2308, + 2304, 186, 2305, 2309, 1249, 2956, 186, 2789, 2520, 186, + 1249, 186, 2940, 2207, 186, 186, 186, 1875, 2270, 1875, + 2569, 2479, 2483, 830, 1246, 2182, 1247, 1248, 2560, 2537, + 2563, 101, 1246, 2560, 1247, 1248, 2589, 1419, 1415, 3316, + 3315, 2554, 100, 1408, 2314, 1913, 1447, 2538, 1438, 3315, + 2635, 2514, 1416, 2516, 2497, 2498, 2499, 2500, 2501, 186, + 1249, 2519, 1246, 3316, 1247, 1248, 3131, 1249, 103, 2836, + 2525, 840, 615, 2526, 2527, 2528, 88, 1412, 1413, 1418, + 615, 1417, 2529, 1, 2536, 186, 2840, 2206, 106, 107, + 2539, 3250, 1249, 2205, 2551, 2552, 583, 2591, 186, 2675, + 2592, 2571, 2572, 187, 2574, 1903, 1393, 831, 3289, 832, + 2582, 2570, 3246, 3247, 2573, 1634, 186, 1624, 2902, 186, + 2654, 2593, 1846, 2568, 3071, 95, 1249, 2586, 2587, 2710, + 96, 2655, 2599, 2056, 2868, 1672, 1246, 2013, 1247, 1248, + 616, 1066, 1246, 2202, 1247, 1248, 146, 2631, 2630, 2629, + 2201, 1976, 1249, 1977, 3214, 110, 1024, 109, 1069, 616, + 616, 1249, 616, 1175, 616, 616, 2683, 616, 616, 616, + 616, 616, 616, 2051, 2892, 2200, 2632, 2633, 2340, 1985, + 1473, 2674, 1471, 2015, 616, 1472, 2682, 1470, 187, 1475, + 2653, 2686, 1246, 1474, 1247, 1248, 2183, 615, 2750, 1246, + 1713, 1247, 1248, 612, 2744, 187, 2310, 184, 1462, 2198, + 2702, 1439, 2763, 2705, 2704, 1110, 573, 2628, 616, 2088, + 187, 615, 186, 579, 1246, 2712, 1247, 1248, 1291, 1708, + 2713, 2531, 2327, 2720, 616, 2194, 187, 869, 862, 2717, + 2718, 1914, 2719, 2726, 2193, 2721, 2260, 2723, 2765, 2725, + 2707, 2708, 187, 2565, 2793, 2769, 2543, 2545, 1246, 187, + 1247, 1248, 2277, 2548, 2541, 3124, 2958, 3199, 187, 187, + 187, 187, 187, 187, 187, 187, 187, 616, 2337, 1435, + 2770, 186, 2156, 1780, 1246, 1955, 1247, 1248, 2935, 1734, + 637, 616, 616, 1246, 636, 1247, 1248, 2787, 634, 2839, + 2263, 2291, 1252, 756, 2250, 1448, 2302, 2300, 2299, 187, + 186, 2782, 2783, 2303, 2306, 2307, 2308, 2304, 2117, 2305, + 2309, 2797, 2790, 2815, 2816, 1962, 2817, 2813, 3242, 186, + 2812, 1957, 186, 186, 186, 1953, 2269, 2802, 645, 638, + 630, 721, 615, 615, 2833, 2681, 2819, 3227, 2409, 2822, + 2692, 2411, 2828, 2829, 2338, 2688, 1230, 616, 1411, 624, + 1037, 2875, 2876, 3076, 2826, 3148, 2134, 2827, 2733, 1410, + 1809, 2834, 1810, 2683, 2835, 3155, 2663, 2886, 2644, 2386, + 2896, 2897, 2043, 63, 41, 3119, 615, 615, 615, 615, + 3187, 720, 717, 2682, 2937, 2938, 2939, 2509, 2510, 3170, + 616, 616, 2851, 3171, 2853, 716, 3172, 1837, 619, 3263, + 1221, 856, 32, 31, 30, 29, 28, 23, 22, 21, + 20, 19, 25, 18, 17, 16, 2666, 3284, 3326, 115, + 50, 47, 45, 123, 122, 2845, 2846, 1770, 48, 1770, + 44, 1150, 42, 27, 26, 15, 14, 13, 616, 12, + 11, 10, 1768, 2898, 1768, 9, 5, 4, 35, 34, + 33, 1224, 24, 2, 2373, 2045, 0, 0, 0, 0, + 0, 0, 0, 0, 187, 186, 0, 0, 0, 616, + 0, 2490, 0, 2490, 0, 2915, 0, 2879, 2909, 0, + 0, 2883, 2884, 2885, 0, 0, 0, 0, 2911, 615, + 0, 615, 2953, 187, 0, 0, 616, 0, 0, 0, + 0, 0, 2924, 0, 2923, 0, 187, 1770, 0, 0, + 616, 0, 2982, 2933, 0, 187, 0, 187, 0, 187, + 187, 616, 1768, 0, 616, 37, 0, 0, 0, 2560, + 0, 0, 2563, 0, 0, 616, 2563, 0, 2974, 0, + 2978, 0, 2976, 0, 2954, 2963, 2962, 0, 0, 0, + 0, 2970, 0, 615, 0, 2972, 0, 0, 0, 0, + 0, 0, 1422, 1424, 0, 0, 186, 0, 0, 615, + 0, 0, 3049, 0, 0, 0, 0, 2983, 2984, 0, + 0, 0, 615, 2986, 0, 0, 0, 0, 0, 0, 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3053, 3045, 0, 0, 0, - 3046, 3073, 3090, 3091, 3094, 3061, 0, 616, 3047, 0, - 1770, 0, 3066, 616, 0, 0, 0, 0, 615, 3065, - 0, 0, 615, 615, 0, 0, 0, 1768, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 615, 0, 0, 0, 0, 0, 0, 0, 3095, - 616, 0, 616, 0, 0, 0, 3097, 0, 616, 616, - 3100, 0, 3117, 0, 3135, 0, 3116, 3114, 3115, 0, - 0, 0, 0, 3056, 3057, 3058, 0, 0, 0, 0, - 2563, 3123, 3132, 0, 0, 1396, 0, 0, 0, 182, - 0, 0, 0, 0, 0, 0, 187, 3138, 0, 0, - 0, 0, 615, 187, 3134, 0, 0, 0, 0, 0, - 187, 187, 0, 121, 187, 0, 187, 186, 0, 0, - 0, 0, 0, 187, 0, 3140, 164, 0, 0, 0, - 187, 0, 0, 0, 0, 615, 186, 0, 0, 568, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 618, - 0, 0, 0, 0, 0, 0, 187, 817, 3159, 3147, - 0, 616, 0, 0, 3154, 3156, 3151, 0, 37, 2333, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 615, 0, 161, 0, 162, 0, 0, 0, - 0, 0, 182, 0, 615, 0, 0, 0, 1032, 3176, - 0, 0, 3177, 0, 0, 0, 181, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 121, 0, 615, 615, - 3175, 0, 0, 3185, 0, 3192, 0, 0, 0, 164, - 0, 0, 0, 0, 0, 0, 0, 3200, 3202, 0, + 0, 0, 0, 0, 0, 3053, 0, 3061, 0, 0, + 0, 3073, 3090, 0, 1770, 3091, 3047, 616, 3046, 3094, + 3045, 0, 0, 616, 0, 0, 0, 0, 615, 1768, + 3065, 0, 615, 615, 0, 3066, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 615, 0, 3095, 0, 0, 0, 0, 0, 0, + 616, 0, 616, 0, 0, 0, 0, 3097, 616, 616, + 3135, 3100, 0, 0, 0, 0, 3123, 0, 3117, 3116, + 3114, 3115, 3056, 3057, 3058, 0, 0, 0, 0, 0, + 2563, 0, 0, 0, 0, 0, 3132, 0, 0, 0, + 0, 3138, 0, 0, 0, 0, 187, 0, 0, 0, + 3134, 0, 615, 187, 0, 0, 0, 0, 0, 0, + 187, 187, 0, 0, 187, 0, 187, 186, 0, 0, + 0, 3140, 0, 187, 0, 0, 0, 0, 0, 0, + 187, 0, 0, 0, 0, 615, 186, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3159, 0, 187, 0, 3151, 3147, + 0, 616, 0, 0, 3154, 0, 0, 0, 37, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 3156, 615, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 615, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3175, 0, 3176, 0, 0, + 3177, 0, 0, 0, 0, 0, 0, 0, 615, 615, + 0, 0, 3185, 0, 3192, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2560, 3228, 3202, 37, 0, 615, 3229, 0, 0, 3205, 3073, 3215, 3213, - 3228, 3210, 3207, 0, 3222, 3206, 186, 615, 3204, 3209, - 3208, 0, 0, 0, 3197, 2560, 0, 0, 0, 0, - 0, 0, 0, 0, 3238, 0, 0, 0, 3241, 0, - 0, 0, 3259, 0, 0, 3249, 3254, 161, 0, 162, - 0, 0, 0, 0, 3269, 3229, 0, 0, 0, 3266, - 615, 0, 3228, 0, 0, 0, 0, 0, 0, 181, - 0, 0, 0, 0, 0, 0, 0, 165, 3278, 0, - 0, 3283, 615, 0, 0, 0, 171, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 615, 3298, 615, 0, 0, 3296, 3310, 0, 0, 187, - 0, 0, 1770, 0, 3307, 3306, 0, 187, 0, 3313, - 3311, 0, 616, 3309, 0, 0, 0, 0, 616, 1768, - 3322, 3229, 0, 0, 0, 0, 0, 3328, 3228, 616, - 3334, 0, 3336, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3344, 187, 0, 0, 0, 187, 1770, 3346, - 3347, 3091, 0, 3345, 0, 0, 0, 0, 0, 0, - 165, 0, 0, 0, 0, 1768, 0, 0, 0, 171, - 0, 0, 0, 0, 0, 0, 0, 1784, 0, 0, - 0, 1785, 0, 156, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 616, 0, 0, 0, 0, 0, 187, 0, 0, 0, - 0, 0, 0, 187, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1871, 0, 616, 0, 0, - 0, 0, 0, 0, 616, 0, 0, 0, 0, 0, - 0, 0, 0, 616, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1422, 1899, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 187, 187, 187, 187, 187, 156, 0, 0, 0, + 3210, 3207, 3206, 3200, 3222, 3204, 186, 615, 3209, 3208, + 3197, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 3238, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3241, 3259, 3249, 3254, 0, 0, 0, + 3228, 0, 0, 0, 0, 3229, 3269, 0, 0, 0, + 615, 3266, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 3278, 615, 3283, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 615, 3296, 615, 0, 3298, 0, 1770, 0, 0, 0, + 187, 3310, 0, 0, 3306, 3307, 0, 0, 187, 0, + 3313, 1768, 3311, 616, 3309, 0, 3228, 0, 0, 616, + 0, 3229, 3322, 0, 3328, 0, 0, 0, 0, 0, + 616, 0, 3336, 0, 0, 3334, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1770, 0, 187, 0, 0, 3344, 187, 3346, + 3347, 1784, 0, 3091, 3345, 1785, 0, 1768, 0, 0, + 0, 0, 628, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 182, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2379, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 121, 0, 143, 1872, + 0, 616, 0, 0, 0, 0, 0, 187, 0, 164, + 0, 0, 0, 0, 187, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 616, 0, + 1422, 1900, 0, 0, 0, 616, 0, 0, 0, 0, + 153, 0, 0, 0, 616, 0, 142, 0, 0, 0, + 0, 0, 848, 0, 0, 854, 0, 854, 0, 0, + 0, 0, 0, 0, 1924, 0, 0, 161, 0, 162, + 0, 0, 187, 187, 187, 187, 187, 0, 0, 0, + 0, 0, 0, 0, 0, 1546, 1547, 152, 151, 181, + 0, 0, 0, 187, 187, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, + 0, 182, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1542, 0, 0, 0, 0, 0, 616, 0, + 0, 0, 0, 0, 0, 121, 0, 143, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1923, 0, 187, 187, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2027, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 153, + 0, 0, 0, 0, 0, 142, 0, 0, 147, 1548, + 154, 0, 1545, 0, 148, 149, 0, 0, 0, 0, + 165, 0, 616, 0, 0, 0, 161, 0, 162, 171, + 0, 0, 616, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1546, 1547, 152, 151, 181, 0, + 0, 0, 0, 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 616, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 616, 0, 0, 0, + 0, 0, 0, 616, 616, 0, 187, 187, 187, 187, + 187, 0, 0, 0, 0, 0, 0, 0, 187, 0, + 0, 0, 0, 187, 0, 0, 187, 0, 187, 0, + 0, 187, 187, 187, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 156, 147, 1548, 154, + 0, 1545, 0, 148, 149, 0, 0, 0, 0, 165, + 0, 0, 0, 0, 0, 0, 187, 0, 171, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 616, 0, 0, 0, 0, 0, 0, 0, 616, 0, 0, - 0, 0, 0, 0, 0, 0, 157, 0, 0, 0, - 0, 0, 0, 169, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1151, 0, 1157, 0, 177, 1159, 0, 0, 0, - 0, 0, 2026, 0, 0, 0, 0, 0, 0, 0, - 0, 616, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 616, 0, 0, 0, 0, 0, 158, 163, 160, - 166, 167, 168, 170, 172, 173, 174, 175, 0, 0, - 0, 0, 616, 176, 178, 179, 180, 0, 0, 157, - 0, 0, 0, 0, 0, 0, 169, 187, 0, 0, - 0, 616, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 616, 0, 0, 0, 0, - 0, 0, 616, 616, 0, 187, 187, 187, 187, 187, - 0, 0, 0, 0, 0, 0, 0, 187, 177, 0, - 0, 0, 187, 0, 0, 187, 0, 187, 0, 0, - 187, 187, 187, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 158, 163, 160, 166, 167, 168, 170, 172, 173, 174, - 175, 0, 0, 0, 0, 0, 176, 178, 179, 180, + 0, 0, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 616, 0, - 0, 0, 0, 0, 0, 0, 616, 0, 0, 0, - 0, 187, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 187, 0, 0, 0, 0, 0, - 3282, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1490, 0, 187, 0, 0, 187, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2146, - 0, 0, 0, 2150, 2151, 2152, 0, 0, 0, 0, - 2159, 0, 0, 2160, 2161, 0, 0, 0, 0, 0, - 0, 0, 2168, 2169, 2170, 2171, 2172, 2173, 2174, 2175, - 2176, 2177, 0, 0, 1450, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 616, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2184, 2185, - 2186, 2187, 2188, 0, 2190, 0, 0, 0, 616, 187, - 2194, 0, 2195, 0, 0, 0, 2198, 0, 0, 0, - 0, 0, 0, 0, 2207, 2208, 2209, 2210, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2221, 0, 2224, - 2225, 0, 1478, 0, 0, 0, 2227, 2229, 0, 0, - 0, 0, 0, 0, 2234, 2235, 2236, 2237, 2238, 0, - 0, 0, 0, 0, 0, 1923, 0, 2244, 187, 0, - 0, 0, 0, 0, 0, 0, 0, 2256, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 187, 150, 0, 187, 0, 0, 0, + 182, 0, 0, 2147, 0, 0, 0, 2151, 2152, 2153, + 0, 0, 0, 0, 2160, 0, 0, 2161, 2162, 2163, + 0, 0, 0, 0, 121, 0, 0, 2169, 2170, 2171, + 2172, 2173, 2174, 2175, 2176, 2177, 2178, 164, 0, 0, + 0, 188, 189, 190, 0, 0, 144, 0, 0, 145, + 0, 0, 0, 0, 0, 156, 0, 0, 0, 0, + 0, 0, 0, 2185, 2186, 2187, 2188, 2189, 0, 2191, + 0, 0, 0, 0, 616, 2195, 0, 2196, 0, 157, + 0, 2199, 0, 0, 604, 0, 169, 0, 0, 2208, + 2209, 2210, 2211, 0, 0, 161, 0, 162, 616, 187, + 0, 0, 2222, 0, 2225, 2226, 0, 0, 0, 0, + 0, 2228, 2230, 0, 0, 0, 0, 181, 0, 2235, + 2236, 2237, 2238, 2239, 0, 0, 601, 0, 177, 0, + 1924, 0, 2245, 150, 0, 0, 0, 0, 0, 0, + 0, 0, 2257, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 187, 0, + 158, 163, 160, 166, 167, 168, 170, 172, 173, 174, + 175, 0, 1250, 0, 587, 0, 176, 178, 179, 180, + 0, 0, 0, 0, 0, 144, 585, 187, 145, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1297, 0, 0, 0, 0, 0, 0, 187, 0, 0, 187, - 187, 187, 0, 0, 0, 1491, 0, 0, 0, 616, - 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1468, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 187, 187, 0, 0, 0, 0, 0, 0, 157, 616, + 616, 0, 0, 0, 0, 169, 582, 0, 165, 0, + 0, 0, 0, 0, 0, 596, 0, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 616, 616, 616, 616, 0, 0, 0, - 0, 0, 0, 1504, 1507, 1508, 1509, 1510, 1511, 1512, - 0, 1513, 1514, 1515, 1516, 1517, 1492, 1493, 1494, 1495, - 1476, 1477, 1505, 0, 1479, 0, 1480, 1481, 1482, 1483, - 1484, 1485, 1486, 1487, 1488, 0, 0, 1489, 1496, 1497, - 1498, 1499, 1500, 1501, 1502, 1503, 1605, 0, 0, 0, + 592, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 616, 616, 616, 616, 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 628, 0, 1649, 0, - 0, 0, 187, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 605, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 158, + 163, 160, 166, 167, 168, 170, 172, 173, 174, 175, + 0, 0, 0, 0, 0, 176, 178, 179, 180, 572, + 0, 574, 588, 0, 607, 0, 606, 578, 0, 576, + 580, 589, 581, 0, 575, 0, 586, 0, 0, 577, + 590, 591, 594, 597, 598, 599, 595, 593, 0, 584, + 608, 0, 187, 0, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 616, 0, 616, 0, - 1681, 0, 0, 0, 0, 0, 0, 1685, 763, 79, - 0, 0, 0, 0, 0, 0, 0, 0, 1696, 1697, - 1698, 1699, 1700, 1701, 1702, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2466, - 2467, 2468, 2469, 2470, 2471, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1722, 0, 2476, - 616, 0, 0, 0, 0, 0, 848, 1506, 0, 854, - 0, 854, 0, 187, 0, 0, 616, 0, 0, 2491, - 0, 0, 0, 0, 0, 0, 827, 0, 79, 616, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 827, 2517, 2518, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1036, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 616, 0, 0, 0, 616, - 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2259, 0, 0, 765, 766, + 0, 0, 1437, 0, 1769, 2467, 2468, 2469, 2470, 2471, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 616, 0, - 0, 2566, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2584, 2585, + 0, 0, 0, 0, 2476, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2491, 0, 0, 0, 0, 0, + 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 187, 0, 0, 616, 0, 0, 0, + 0, 0, 2517, 2518, 0, 0, 0, 0, 0, 616, + 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, + 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, + 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, + 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, + 812, 813, 0, 0, 0, 616, 0, 157, 0, 616, + 616, 0, 0, 0, 169, 0, 2566, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 609, 0, 2584, 2585, 0, 0, 0, 616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 616, + 0, 0, 602, 0, 0, 0, 177, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 603, 0, 1525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 158, 163, + 160, 166, 167, 168, 170, 172, 173, 174, 175, 616, + 0, 0, 0, 0, 176, 178, 179, 180, 0, 0, 0, 0, 0, 0, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 616, 187, 1941, 0, 0, 0, 0, 0, - 0, 0, 0, 1945, 0, 1948, 0, 0, 1722, 0, + 0, 0, 616, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2711, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 616, - 0, 0, 0, 0, 0, 2711, 0, 0, 0, 0, - 0, 616, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2727, 2729, 2731, - 0, 0, 0, 0, 0, 616, 616, 0, 0, 0, - 0, 0, 2737, 0, 0, 0, 0, 2741, 2742, 2743, - 0, 0, 0, 0, 2746, 0, 0, 0, 0, 616, - 2748, 0, 0, 2752, 2753, 2754, 2755, 2756, 2757, 2758, - 2759, 2760, 2761, 187, 616, 0, 0, 0, 0, 0, - 0, 2768, 0, 0, 0, 0, 2772, 0, 2773, 2775, - 0, 2778, 0, 0, 0, 0, 2784, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2727, 2729, 2731, 0, 0, 0, 0, 0, + 0, 616, 0, 0, 0, 1674, 2737, 0, 0, 0, + 0, 2741, 2742, 2743, 0, 0, 0, 0, 2746, 0, + 0, 0, 0, 0, 2748, 616, 616, 2752, 2753, 2754, + 2755, 2756, 2757, 2758, 2759, 2760, 2761, 0, 0, 0, + 0, 0, 0, 0, 0, 2768, 0, 0, 0, 616, + 2772, 0, 2773, 2775, 0, 2778, 0, 0, 0, 0, + 2784, 0, 0, 187, 616, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1729, 1730, + 1731, 1732, 0, 0, 0, 2806, 2807, 0, 0, 2811, 0, 0, 0, 0, 0, 0, 0, 616, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2823, 2824, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 616, + 854, 1774, 1775, 0, 0, 0, 854, 854, 1779, 0, + 0, 0, 0, 0, 0, 0, 0, 616, 0, 616, + 0, 0, 0, 0, 1796, 1797, 1798, 1799, 1800, 1801, + 1802, 1803, 1804, 1805, 0, 0, 0, 0, 1831, 1832, + 1833, 1834, 1835, 1836, 1838, 1842, 1843, 0, 1849, 1850, + 1851, 1852, 1853, 1854, 1855, 1856, 1857, 1858, 1859, 1860, + 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1869, 1870, + 1871, 0, 1873, 3282, 1879, 1880, 854, 2890, 854, 854, + 854, 854, 854, 1490, 0, 0, 0, 0, 0, 1894, + 1895, 1896, 1897, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2910, 0, 0, 0, + 0, 0, 0, 0, 854, 0, 0, 2912, 722, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2921, 0, 0, 0, 2922, 1936, 1937, 0, 0, + 0, 2926, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 765, 766, 2934, 0, 0, 0, 1769, 0, 0, + 0, 2941, 0, 0, 1973, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 614, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1478, 0, 0, 0, 0, + 0, 0, 0, 2011, 0, 0, 0, 870, 0, 0, + 1028, 0, 1035, 772, 773, 774, 775, 776, 777, 778, + 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, + 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, + 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, + 809, 810, 811, 812, 813, 0, 0, 3062, 0, 0, + 0, 0, 0, 0, 0, 0, 3069, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1491, 0, + 0, 0, 0, 0, 3079, 3080, 3081, 0, 3082, 3083, + 0, 0, 0, 0, 3086, 0, 3087, 0, 3089, 3092, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2806, 2807, 0, 0, 2811, 0, 0, 0, 616, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2823, 2824, 0, 0, 616, 0, 616, - 0, 0, 0, 0, 1722, 0, 0, 0, 0, 0, - 0, 2098, 0, 0, 0, 0, 0, 0, 2112, 2113, - 0, 0, 2117, 0, 0, 0, 0, 0, 0, 0, - 0, 2120, 0, 0, 0, 0, 0, 0, 2123, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2126, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2890, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1490, 0, - 0, 0, 2910, 0, 0, 0, 1250, 0, 0, 0, - 0, 0, 0, 2912, 0, 0, 0, 0, 0, 1210, - 0, 1210, 1210, 0, 0, 0, 0, 2921, 0, 0, - 0, 2922, 0, 1297, 0, 0, 0, 2926, 79, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2934, - 0, 0, 0, 0, 0, 0, 0, 2941, 0, 0, - 0, 0, 0, 0, 0, 827, 1287, 1288, 1289, 0, - 1292, 0, 1293, 1294, 1295, 0, 1298, 1300, 1300, 0, - 1300, 1304, 1304, 1306, 1307, 1308, 1309, 1310, 1311, 1312, - 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, - 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, - 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, - 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, - 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, - 1478, 1363, 0, 1365, 1366, 1367, 1368, 1369, 0, 0, - 0, 0, 0, 1304, 1304, 1304, 1304, 1304, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1376, 1377, 1378, - 1379, 0, 0, 3062, 0, 0, 0, 0, 0, 0, - 0, 0, 3069, 1391, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2317, 0, 0, 0, 0, - 3079, 3080, 3081, 0, 3082, 3083, 0, 0, 0, 0, - 3086, 0, 3087, 0, 3089, 3092, 0, 0, 0, 0, - 0, 0, 0, 1491, 0, 0, 1437, 0, 0, 0, - 3101, 3103, 3104, 3106, 3109, 0, 1397, 0, 0, 0, - 0, 0, 827, 0, 0, 0, 827, 0, 0, 0, - 0, 0, 827, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2365, 0, 0, 0, 0, 0, - 0, 0, 3139, 0, 0, 0, 0, 0, 0, 0, - 0, 1504, 1507, 1508, 1509, 1510, 1511, 1512, 0, 1513, - 1514, 1515, 1516, 1517, 1492, 1493, 1494, 1495, 1476, 1477, - 1505, 0, 1479, 0, 1480, 1481, 1482, 1483, 1484, 1485, - 1486, 1487, 1488, 0, 0, 1489, 1496, 1497, 1498, 1499, - 1500, 1501, 1502, 1503, 0, 722, 0, 0, 0, 2413, - 2414, 2415, 2416, 2417, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1722, 2426, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3161, 0, 0, 2434, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3166, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 614, 0, 0, - 0, 0, 0, 0, 0, 3182, 0, 0, 0, 0, - 0, 3183, 3184, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1525, 0, 0, 0, 0, 0, 0, - 0, 182, 0, 3195, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 870, 0, 0, 1028, 0, 1035, - 0, 0, 0, 0, 0, 121, 0, 143, 0, 0, - 0, 0, 0, 0, 0, 1506, 0, 0, 164, 0, - 0, 0, 0, 0, 0, 3230, 3232, 3234, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 153, - 3262, 0, 0, 0, 0, 142, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3268, - 0, 0, 0, 0, 0, 0, 161, 0, 162, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3280, - 0, 0, 0, 0, 130, 131, 152, 151, 181, 1674, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3301, 3303, 3305, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3325, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2640, 0, 0, 0, 0, 0, 0, - 3338, 3339, 0, 0, 0, 0, 0, 0, 1210, 0, - 0, 0, 1729, 1730, 1731, 1732, 0, 0, 0, 2678, - 0, 0, 1210, 1210, 0, 0, 0, 147, 128, 154, - 135, 127, 2687, 148, 149, 0, 0, 0, 0, 165, - 0, 0, 0, 0, 0, 0, 0, 0, 171, 136, - 2703, 0, 0, 2706, 854, 1774, 1775, 0, 0, 0, - 854, 854, 1779, 139, 137, 132, 133, 134, 138, 0, - 0, 0, 0, 0, 0, 129, 0, 0, 0, 0, - 0, 0, 0, 0, 140, 0, 0, 0, 0, 0, - 0, 0, 1830, 1831, 1832, 1833, 1834, 1835, 1837, 1841, - 1842, 0, 1848, 1849, 1850, 1851, 1852, 1853, 1854, 1855, - 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1864, 1865, - 1866, 1867, 1868, 1869, 1870, 0, 1872, 0, 1878, 1879, - 854, 0, 854, 854, 854, 854, 854, 182, 0, 0, - 0, 0, 0, 1893, 1894, 1895, 1896, 0, 1542, 0, - 0, 0, 0, 0, 0, 0, 0, 2786, 0, 0, - 0, 121, 0, 143, 0, 156, 0, 0, 0, 0, - 0, 0, 0, 0, 164, 0, 0, 0, 854, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1935, 1936, 0, 0, 0, 153, 0, 0, 0, 0, - 0, 142, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1972, 0, - 0, 0, 161, 0, 162, 0, 0, 0, 0, 0, - 0, 0, 0, 150, 0, 2849, 0, 0, 0, 0, - 1546, 1547, 152, 151, 181, 0, 0, 0, 0, 0, - 1955, 0, 0, 0, 2864, 0, 0, 2865, 2866, 2867, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2010, 0, 0, - 0, 0, 0, 0, 0, 144, 0, 0, 145, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 870, 0, 870, 870, - 0, 0, 0, 0, 0, 0, 0, 0, 157, 0, - 0, 1036, 0, 1220, 1222, 169, 0, 0, 0, 0, - 0, 0, 78, 39, 40, 80, 0, 2258, 0, 0, - 765, 766, 0, 147, 1548, 154, 1769, 1545, 0, 148, - 149, 0, 84, 0, 1036, 165, 43, 69, 70, 0, - 67, 71, 0, 0, 171, 0, 0, 177, 0, 68, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 56, 158, - 163, 160, 166, 167, 168, 170, 172, 173, 174, 175, - 87, 0, 0, 0, 0, 176, 178, 179, 180, 0, - 0, 0, 772, 773, 774, 775, 776, 777, 778, 779, - 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, - 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, - 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, - 810, 811, 812, 813, 0, 0, 0, 1386, 0, 0, + 0, 0, 0, 0, 3101, 3103, 3104, 3106, 3109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 156, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1504, 1507, 1508, 1509, + 1510, 1511, 1512, 0, 1513, 1514, 1515, 1516, 1517, 1492, + 1493, 1494, 1495, 1476, 1477, 1505, 3139, 1479, 0, 1480, + 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 0, 0, + 1489, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, 0, + 3004, 3006, 3005, 3015, 3016, 3017, 3018, 3019, 3020, 3021, + 682, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 763, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1399, 1400, 0, 0, 0, - 0, 0, 2135, 0, 0, 0, 0, 0, 0, 2158, - 0, 0, 0, 0, 0, 0, 46, 49, 52, 51, - 54, 0, 66, 0, 0, 75, 72, 0, 0, 150, - 1443, 0, 0, 0, 0, 0, 0, 0, 0, 870, - 0, 0, 0, 0, 0, 1463, 0, 0, 55, 83, - 82, 0, 0, 64, 65, 53, 0, 0, 0, 0, - 0, 73, 74, 1297, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 144, 0, 0, 145, 0, 0, 0, 0, 0, + 0, 3166, 0, 0, 0, 2159, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2165, 2166, 2167, 2168, 3182, + 0, 827, 0, 79, 0, 3183, 3184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 57, 58, 0, 59, 60, 61, 62, 854, 854, - 0, 0, 0, 0, 157, 0, 0, 0, 0, 0, - 0, 169, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 827, 0, 0, 0, 0, 0, 3195, 0, 0, + 1506, 0, 0, 0, 0, 0, 0, 1036, 0, 0, + 1297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 3230, + 3232, 3234, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 854, 854, 0, 0, 0, + 0, 0, 0, 0, 3262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2232, 0, 0, 0, 0, 0, 0, - 0, 3160, 0, 177, 1437, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2254, 0, 0, 0, + 0, 0, 0, 3268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 827, 158, 163, 160, 166, 167, - 168, 170, 172, 173, 174, 175, 0, 0, 0, 0, - 0, 176, 178, 179, 180, 2294, 2295, 0, 0, 0, - 0, 0, 0, 0, 2314, 0, 2315, 2316, 0, 0, - 0, 0, 81, 0, 0, 0, 0, 0, 1028, 0, + 0, 0, 0, 3280, 0, 0, 0, 0, 0, 0, + 0, 1437, 3010, 3011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1386, 0, 0, 0, 0, 0, 1571, 1571, 0, - 1571, 0, 1571, 1571, 0, 1580, 1571, 1571, 1571, 1571, - 1571, 0, 0, 0, 0, 0, 0, 0, 1386, 0, - 0, 1386, 1028, 0, 0, 86, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3301, 3303, 3305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1647, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3325, 0, 0, + 0, 0, 0, 734, 0, 661, 738, 663, 735, 736, + 0, 659, 662, 737, 3338, 3339, 0, 0, 0, 870, + 0, 870, 870, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1220, 1222, 0, 680, + 681, 3003, 3007, 3008, 3009, 3012, 3013, 3014, 3022, 3024, + 705, 3023, 3025, 3026, 3027, 3030, 3031, 3032, 3033, 3028, + 3029, 3034, 2987, 2991, 2988, 2989, 2990, 3002, 2992, 2993, + 2994, 2995, 2996, 2997, 2998, 2999, 3000, 3001, 3035, 3036, + 3037, 3038, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 739, 0, 740, 0, 0, 744, + 0, 0, 0, 746, 745, 0, 747, 719, 718, 0, + 0, 741, 742, 0, 743, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2439, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 854, + 0, 0, 0, 0, 0, 0, 0, 2462, 2463, 0, + 0, 2465, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1386, 0, 0, 2473, 2474, 2475, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2480, 2481, 2482, 0, 0, + 1849, 2484, 0, 2485, 2486, 0, 0, 0, 2493, 2494, + 0, 0, 0, 0, 0, 0, 1849, 1849, 1849, 1849, + 1849, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 854, 0, 1399, 1400, + 0, 0, 0, 2521, 2522, 2523, 2524, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1443, 0, 0, 0, 0, 0, 0, + 0, 0, 870, 0, 0, 0, 0, 0, 1463, 0, + 0, 0, 0, 2555, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1490, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2588, 0, 0, 0, 1210, 0, 1210, 1210, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 827, 1287, 1288, 1289, 0, 1292, 0, 1293, 1294, 1295, + 2650, 1298, 1300, 1300, 0, 1300, 1304, 1304, 1306, 1307, + 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, + 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, + 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, + 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, + 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, + 1358, 1359, 1360, 1361, 1362, 1478, 1363, 0, 1365, 1366, + 1367, 1368, 1369, 0, 0, 0, 0, 0, 1304, 1304, + 1304, 1304, 1304, 0, 0, 0, 0, 0, 0, 2732, + 0, 0, 1376, 1377, 1378, 1379, 0, 0, 0, 0, + 0, 1028, 2740, 0, 0, 0, 0, 0, 1391, 0, + 0, 0, 0, 0, 1386, 0, 0, 0, 0, 0, + 1571, 1571, 0, 1571, 0, 1571, 1571, 0, 1580, 1571, + 1571, 1571, 1571, 1571, 0, 0, 0, 0, 0, 0, + 0, 1386, 0, 0, 1386, 1028, 0, 0, 1491, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1397, 0, 0, 0, 0, 0, 827, 0, 0, + 0, 827, 0, 0, 0, 0, 0, 827, 0, 1647, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1669, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1504, 1507, 1508, 1509, + 1510, 1511, 1512, 0, 1513, 1514, 1515, 1516, 1517, 1492, + 1493, 1494, 1495, 1476, 1477, 1505, 0, 1479, 0, 1480, + 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 870, 0, + 1489, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, 0, + 0, 0, 870, 870, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2871, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2895, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1764, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1386, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2913, 0, 2914, 0, 0, 0, 0, 2917, 2918, + 0, 1807, 1808, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2925, 0, 0, 0, 0, 0, 0, 0, + 1506, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2942, 0, 0, 2943, 0, 2944, + 2945, 0, 2946, 870, 0, 0, 0, 0, 0, 1893, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1396, 0, 0, 0, 0, 2971, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2979, 0, + 1916, 2981, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2985, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1928, 0, 0, + 0, 0, 0, 3042, 0, 0, 568, 0, 0, 0, + 0, 1443, 0, 0, 870, 0, 618, 0, 0, 0, + 0, 0, 870, 0, 817, 870, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1028, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 78, 39, 40, 80, + 0, 0, 0, 0, 0, 1032, 0, 0, 0, 0, + 0, 0, 0, 1210, 0, 0, 84, 0, 0, 0, + 43, 69, 70, 0, 67, 71, 0, 1210, 1210, 0, + 0, 1035, 0, 68, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 3122, + 0, 0, 0, 0, 0, 0, 0, 0, 1028, 0, + 0, 0, 56, 0, 1035, 0, 0, 0, 0, 0, + 723, 0, 0, 0, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1669, 0, 0, 2392, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2438, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 854, 0, 0, 870, 0, 0, 0, 0, - 2461, 2462, 0, 0, 2464, 0, 0, 0, 0, 870, - 870, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2473, 2474, 2475, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2480, 2481, - 2482, 0, 0, 1848, 2484, 0, 2485, 2486, 0, 0, - 0, 2493, 2494, 0, 0, 0, 0, 0, 0, 1848, - 1848, 1848, 1848, 1848, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1764, 0, 0, 0, 854, - 0, 0, 0, 0, 0, 0, 2521, 2522, 2523, 2524, - 0, 0, 0, 0, 1386, 0, 0, 0, 0, 0, + 0, 1028, 0, 1764, 0, 0, 0, 0, 0, 1764, + 1764, 185, 0, 0, 569, 0, 0, 610, 0, 0, + 0, 0, 0, 0, 569, 0, 0, 0, 0, 0, + 0, 0, 569, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 837, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2506, 0, 0, 0, 0, 0, 1806, 1807, + 0, 0, 0, 855, 0, 855, 0, 0, 0, 0, + 0, 3165, 0, 569, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3178, 0, 0, 3179, 0, + 3180, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 46, 49, 52, 51, 54, 0, 66, 0, 0, 75, + 72, 0, 2128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2555, 0, 0, 0, + 0, 0, 55, 83, 82, 0, 0, 64, 65, 53, + 0, 0, 0, 0, 0, 73, 74, 0, 0, 0, + 0, 0, 0, 0, 0, 1956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1955, 0, - 870, 0, 0, 2588, 0, 0, 1892, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2564, 723, 79, 0, 0, 1955, 1955, 1955, 1955, - 1955, 0, 0, 0, 0, 0, 0, 1915, 0, 0, - 0, 0, 0, 2314, 827, 0, 0, 0, 1955, 0, - 0, 1955, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2650, 1927, 0, 0, 0, 0, 0, - 0, 0, 0, 185, 0, 0, 569, 0, 1443, 610, - 0, 870, 0, 0, 0, 0, 569, 0, 0, 870, - 0, 0, 870, 0, 569, 0, 0, 0, 0, 0, - 0, 0, 0, 1028, 0, 0, 0, 0, 0, 837, - 0, 0, 0, 0, 2672, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2680, 855, 0, 855, 0, 0, - 0, 0, 0, 0, 0, 569, 0, 0, 0, 0, + 0, 0, 0, 0, 3260, 57, 58, 0, 59, 60, + 61, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2732, 0, 0, 0, 0, 0, 1035, 0, - 0, 0, 0, 0, 0, 0, 2740, 0, 0, 0, - 0, 87, 0, 2714, 0, 0, 0, 757, 765, 766, - 767, 768, 769, 758, 760, 1028, 0, 0, 759, 0, - 0, 1035, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 762, 770, 771, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3275, 0, 3276, 0, 3277, 0, + 0, 0, 0, 0, 0, 0, 1036, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1028, 0, - 1764, 0, 0, 0, 0, 0, 1764, 1764, 2684, 2685, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1036, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, - 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, - 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, - 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, - 812, 813, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1955, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2832, 0, 2871, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2127, + 0, 0, 0, 0, 0, 3323, 0, 3324, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 870, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2895, 0, 0, + 0, 0, 0, 0, 1928, 0, 81, 0, 0, 0, + 2264, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2279, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1151, 0, + 1157, 0, 0, 1159, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, + 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, + 0, 0, 0, 757, 765, 766, 767, 768, 769, 758, + 760, 0, 0, 0, 759, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 762, 770, 771, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2362, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2136, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1928, + 0, 0, 0, 0, 2684, 2685, 2387, 0, 0, 0, + 0, 0, 0, 0, 0, 2392, 772, 773, 774, 775, + 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, + 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, + 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, + 806, 807, 808, 809, 810, 811, 812, 813, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 569, 0, 569, 0, + 0, 569, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1764, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2913, 0, 2914, 0, 0, - 0, 0, 2917, 2918, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2925, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2942, 0, - 0, 2943, 0, 2944, 2945, 0, 2946, 0, 0, 0, + 0, 1386, 0, 1386, 0, 0, 1386, 0, 0, 0, + 0, 1386, 2255, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2507, 0, 0, 0, 0, 0, 0, + 827, 0, 0, 870, 0, 0, 87, 0, 0, 0, + 0, 1450, 757, 765, 766, 767, 768, 769, 758, 760, + 0, 2295, 2296, 759, 1571, 0, 0, 0, 0, 0, + 2315, 0, 2316, 2317, 0, 0, 762, 770, 771, 0, + 0, 0, 0, 2540, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 870, 0, 0, + 0, 1386, 0, 0, 2567, 1571, 1386, 0, 0, 734, + 0, 0, 738, 0, 735, 736, 0, 0, 0, 737, + 0, 0, 0, 2684, 2685, 0, 0, 0, 0, 0, + 0, 0, 1387, 0, 0, 772, 773, 774, 775, 776, + 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, + 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, + 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, + 807, 808, 809, 810, 811, 812, 813, 0, 0, 0, + 0, 2393, 0, 0, 0, 0, 569, 0, 0, 0, + 1028, 0, 0, 1386, 0, 0, 0, 0, 1928, 0, + 0, 0, 0, 0, 0, 0, 837, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1468, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 569, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2971, 0, 734, 0, 0, 738, 0, 735, 736, - 0, 0, 2979, 737, 0, 2981, 0, 0, 0, 2947, - 0, 2951, 2952, 0, 0, 0, 0, 0, 0, 2985, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 870, 2564, 0, 79, 3042, 2564, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1927, 0, 0, 0, 0, 0, 2263, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 569, 0, - 569, 0, 0, 569, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1605, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2764, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3122, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2361, 0, + 0, 0, 0, 0, 0, 1649, 0, 0, 2506, 2540, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1927, 0, 0, 0, 0, - 0, 0, 2386, 0, 0, 0, 0, 0, 0, 0, - 0, 2391, 2564, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1306, 1307, 1308, 1309, - 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, - 1320, 1321, 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, - 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, - 1343, 1344, 1345, 1346, 1348, 1349, 1350, 1351, 1352, 1353, - 1354, 1355, 1356, 1357, 1376, 1377, 1378, 1379, 0, 0, - 0, 0, 0, 0, 0, 3165, 0, 0, 0, 0, - 0, 3149, 0, 0, 1387, 1764, 0, 0, 0, 3178, - 0, 0, 3179, 0, 3180, 0, 0, 0, 0, 79, + 0, 0, 0, 0, 0, 0, 0, 1681, 0, 0, + 0, 0, 0, 0, 1685, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1956, 1696, 1697, 1698, 1699, 1700, + 1701, 1702, 0, 0, 0, 0, 569, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2564, 0, 79, + 0, 0, 1956, 1956, 1956, 1956, 1956, 0, 0, 0, + 0, 0, 0, 0, 1722, 0, 0, 0, 0, 2315, + 827, 0, 0, 0, 1956, 0, 0, 1956, 0, 0, + 0, 0, 0, 0, 0, 0, 1387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1928, 1928, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1387, 0, 0, 1387, 0, 0, 0, + 0, 569, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1621, 0, + 2672, 0, 0, 0, 2903, 2904, 2905, 2906, 0, 0, + 2680, 0, 0, 569, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1671, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 569, 0, 0, 0, 0, + 0, 0, 569, 0, 1386, 0, 1386, 0, 0, 2714, + 0, 1694, 1695, 569, 569, 569, 569, 569, 569, 569, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1386, 569, 1386, - 0, 0, 1386, 0, 0, 0, 0, 1386, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 837, 2507, - 0, 0, 0, 0, 0, 0, 3196, 0, 0, 870, - 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 569, 0, 0, 0, 0, 0, 0, 3260, 0, - 1571, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2540, - 0, 0, 0, 0, 0, 0, 0, 0, 3275, 0, - 3276, 0, 3277, 870, 0, 0, 0, 1386, 0, 0, - 2567, 1571, 1386, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 87, 0, 0, 0, 0, 3279, - 757, 765, 766, 767, 768, 769, 758, 760, 0, 0, - 0, 759, 0, 0, 0, 0, 0, 0, 0, 3323, - 0, 3324, 0, 0, 762, 770, 771, 0, 0, 0, + 0, 0, 569, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1386, 0, 0, 0, 0, 2975, 0, 2977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1028, 0, 0, 1386, - 0, 0, 0, 0, 1927, 0, 0, 0, 0, 0, + 0, 1942, 0, 0, 0, 0, 0, 0, 0, 0, + 1946, 0, 1949, 0, 0, 1722, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 855, 0, + 0, 0, 0, 0, 855, 855, 0, 0, 0, 1387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2684, 2685, 0, 0, 0, 0, 0, 569, 0, - 0, 0, 0, 772, 773, 774, 775, 776, 777, 778, - 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, - 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, - 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, - 809, 810, 811, 812, 813, 0, 0, 0, 1387, 0, + 0, 1928, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3064, 0, 0, + 0, 0, 0, 0, 1956, 0, 0, 0, 0, 0, + 870, 0, 0, 0, 0, 0, 0, 2832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 855, 1671, 855, 855, 855, 855, + 855, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3110, 0, 0, 0, + 3110, 3110, 0, 0, 0, 0, 0, 1621, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1387, 0, 0, 1387, 0, + 0, 0, 855, 0, 0, 0, 0, 0, 0, 1928, + 0, 0, 0, 0, 0, 0, 837, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 569, + 0, 0, 0, 0, 0, 0, 1671, 0, 569, 0, + 569, 0, 569, 1964, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1722, 0, 0, 0, 0, 0, 0, 2099, 0, + 1928, 0, 0, 0, 0, 2113, 2114, 0, 0, 2118, + 0, 0, 0, 0, 0, 0, 0, 0, 2121, 0, + 0, 0, 0, 0, 0, 2124, 0, 0, 0, 0, + 0, 0, 0, 1928, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2947, 0, 2951, 2952, 0, 0, + 0, 2127, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2564, + 0, 79, 0, 2564, 0, 0, 0, 0, 0, 0, + 3189, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1386, 0, 3193, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 870, 870, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3236, 0, 3054, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3244, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 569, + 0, 0, 0, 0, 0, 0, 569, 0, 0, 0, + 0, 0, 0, 569, 569, 0, 0, 569, 0, 2120, + 0, 0, 0, 0, 0, 0, 569, 0, 3189, 0, 0, 0, 0, 569, 0, 0, 0, 0, 0, 0, - 0, 0, 2764, 0, 0, 0, 0, 0, 0, 0, - 1621, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 569, 2540, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1671, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 569, 0, 0, - 0, 0, 0, 0, 569, 0, 0, 0, 0, 0, - 0, 0, 0, 1694, 1695, 569, 569, 569, 569, 569, - 569, 569, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 569, 765, 766, 0, 0, 0, - 0, 1769, 0, 0, 0, 0, 0, 0, 0, 0, + 1928, 0, 0, 0, 0, 0, 0, 0, 0, 569, + 0, 0, 0, 0, 0, 0, 0, 2564, 2764, 0, + 3244, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, + 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1325, 1326, 1327, + 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, + 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1348, + 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1376, + 1377, 1378, 1379, 2318, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1927, 1927, 0, + 0, 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 855, 0, 0, 0, 0, 0, 855, 855, 0, 0, - 0, 1387, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2903, 2904, 2905, 2906, 0, 0, 772, 773, 774, - 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, - 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, - 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, - 805, 806, 807, 808, 809, 810, 811, 812, 813, 0, - 0, 1386, 0, 1386, 0, 0, 855, 1671, 855, 855, - 855, 855, 855, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1621, + 0, 0, 2366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 855, 0, 0, 0, 0, 1386, - 0, 0, 0, 0, 2975, 0, 2977, 0, 837, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 569, 0, 0, 0, 0, 0, 0, 1671, 0, - 569, 0, 569, 0, 569, 1963, 0, 0, 0, 0, + 0, 3196, 0, 855, 855, 0, 79, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1671, + 0, 0, 0, 569, 0, 0, 0, 0, 0, 0, + 0, 1621, 0, 0, 0, 0, 0, 2414, 2415, 2416, + 2417, 2418, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1722, 2427, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2435, 0, 0, 569, 0, 0, + 0, 569, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1927, 0, + 0, 0, 0, 0, 3279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3064, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 870, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 569, 0, 0, 0, 0, 0, 0, 2372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3110, 0, 0, 0, 3110, 3110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1927, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3004, - 3006, 3005, 3015, 3016, 3017, 3018, 3019, 3020, 3021, 682, + 0, 0, 0, 0, 0, 569, 569, 569, 569, 569, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 569, 0, 0, 0, 0, 0, 1927, 569, 0, - 0, 0, 0, 0, 0, 569, 569, 0, 0, 569, - 0, 2119, 0, 0, 0, 0, 0, 0, 569, 0, - 0, 0, 0, 0, 0, 569, 0, 0, 0, 0, - 1927, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 569, 569, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 569, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 569, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 855, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3189, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1386, 0, 3193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 870, 870, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3236, 0, 0, + 0, 2640, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1387, 0, 1387, 0, 0, 1387, 0, + 0, 0, 0, 1387, 0, 0, 0, 2678, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3244, 0, 0, 0, 0, 0, 0, 0, + 2687, 0, 0, 0, 855, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2703, 0, + 0, 2706, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 569, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1387, 0, 0, 0, 0, 1387, 569, + 569, 569, 569, 569, 0, 0, 0, 0, 0, 0, + 0, 2583, 0, 0, 0, 0, 569, 0, 0, 1621, + 0, 569, 0, 0, 569, 2594, 1671, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3010, 3011, 0, 0, 0, 0, 1927, 0, 0, - 0, 0, 0, 0, 855, 855, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2764, 0, 3244, 0, 0, - 1671, 0, 0, 0, 569, 0, 0, 0, 0, 0, - 0, 0, 1621, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2786, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 569, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 734, 0, 661, 738, 663, 735, 736, 0, - 659, 662, 737, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1387, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 569, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 569, 0, - 0, 0, 569, 0, 0, 0, 0, 0, 680, 681, - 3003, 3007, 3008, 3009, 3012, 3013, 3014, 3022, 3024, 705, - 3023, 3025, 3026, 3027, 3030, 3031, 3032, 3033, 3028, 3029, - 3034, 2987, 2991, 2988, 2989, 2990, 3002, 2992, 2993, 2994, - 2995, 2996, 2997, 2998, 2999, 3000, 3001, 3035, 3036, 3037, - 3038, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 739, 0, 740, 0, 0, 744, 0, - 0, 569, 746, 745, 0, 747, 719, 718, 2371, 0, - 741, 742, 0, 743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 569, 0, 0, 569, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2849, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2864, 0, 0, 2865, 2866, 2867, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 569, 569, 569, 569, - 569, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 569, 569, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 569, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 855, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1387, 0, 1387, 0, 0, 1387, - 0, 0, 0, 0, 1387, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 855, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 569, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 569, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1387, 0, 0, 0, 0, 1387, - 569, 569, 569, 569, 569, 0, 0, 0, 0, 0, - 0, 0, 2583, 0, 0, 0, 0, 569, 0, 0, - 1621, 0, 569, 0, 0, 569, 2594, 1671, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 569, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 569, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1387, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 569, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 569, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 569, 0, 0, - 569, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 569, 569, 569, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2387,42 +2390,26 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 569, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 569, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 569, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 569, 0, 0, 569, 569, 569, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1387, 0, 1387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1621, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1387, 0, - 1387, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1621, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1621, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 3160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1621, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2436,34 +2423,157 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1621, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 569, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1621, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 569, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1387, 0, 0, 371, 0, 0, 1006, 991, + 482, 0, 934, 1009, 903, 922, 1019, 925, 928, 970, + 882, 948, 390, 919, 875, 907, 877, 914, 878, 905, + 936, 258, 902, 993, 952, 1008, 343, 255, 884, 908, + 404, 924, 197, 972, 452, 242, 353, 350, 490, 270, + 261, 257, 240, 298, 360, 402, 472, 396, 1015, 347, + 958, 0, 462, 375, 0, 0, 1621, 938, 997, 946, + 984, 933, 971, 892, 957, 1010, 920, 967, 1011, 304, + 238, 306, 196, 387, 463, 274, 0, 0, 0, 0, + 188, 189, 190, 0, 3216, 0, 3217, 0, 0, 0, + 0, 0, 0, 229, 0, 236, 328, 337, 336, 317, + 318, 320, 322, 327, 334, 340, 916, 964, 1005, 917, + 966, 253, 302, 260, 252, 487, 1016, 996, 881, 945, + 1004, 0, 0, 220, 1007, 940, 0, 969, 0, 1022, + 876, 960, 0, 879, 883, 1018, 1000, 911, 263, 0, + 0, 0, 0, 0, 0, 0, 937, 947, 981, 985, + 931, 0, 0, 0, 0, 0, 0, 0, 909, 0, + 956, 0, 0, 0, 888, 880, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1387, 0, 0, 371, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 935, 0, + 0, 0, 0, 891, 0, 910, 982, 0, 874, 284, + 885, 376, 245, 0, 989, 999, 932, 526, 1003, 930, + 929, 976, 889, 995, 923, 342, 887, 311, 192, 216, + 0, 921, 386, 429, 439, 994, 906, 915, 243, 913, + 437, 400, 506, 224, 272, 426, 406, 435, 413, 275, + 955, 974, 436, 348, 492, 420, 503, 527, 528, 251, + 380, 514, 476, 522, 541, 217, 248, 394, 469, 509, + 459, 372, 488, 489, 310, 458, 282, 195, 346, 533, + 215, 445, 233, 222, 494, 512, 277, 424, 204, 471, + 501, 230, 449, 0, 0, 543, 206, 499, 468, 368, + 307, 308, 205, 0, 425, 256, 280, 246, 389, 496, + 497, 244, 544, 219, 521, 211, 1212, 520, 382, 491, + 500, 369, 358, 210, 498, 367, 357, 313, 332, 333, + 268, 291, 418, 351, 419, 292, 378, 377, 379, 199, + 510, 0, 200, 0, 464, 511, 545, 225, 226, 228, + 901, 267, 271, 279, 281, 287, 288, 296, 344, 393, + 417, 415, 421, 990, 486, 504, 515, 525, 531, 532, + 534, 535, 536, 537, 538, 540, 539, 381, 294, 460, + 312, 349, 979, 1021, 399, 438, 231, 508, 461, 896, + 900, 894, 961, 895, 950, 951, 897, 1012, 1013, 1014, + 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, + 556, 557, 558, 559, 560, 561, 562, 563, 0, 983, + 890, 0, 898, 899, 992, 1001, 1002, 564, 359, 451, + 505, 314, 326, 329, 319, 338, 0, 339, 315, 316, + 321, 323, 324, 325, 330, 331, 335, 341, 239, 202, + 365, 373, 485, 295, 207, 208, 209, 478, 479, 480, + 481, 518, 519, 523, 430, 431, 432, 433, 954, 191, + 212, 345, 1017, 422, 276, 542, 517, 513, 198, 214, + 893, 250, 904, 912, 0, 918, 926, 927, 939, 941, + 942, 943, 944, 962, 963, 965, 973, 975, 978, 980, + 987, 998, 1020, 193, 194, 201, 213, 223, 227, 234, + 249, 264, 266, 273, 285, 290, 293, 299, 300, 303, + 309, 355, 361, 362, 363, 364, 383, 384, 385, 388, + 391, 392, 395, 397, 398, 401, 405, 409, 410, 411, + 412, 414, 416, 423, 428, 440, 441, 442, 443, 444, + 447, 448, 453, 454, 455, 456, 457, 465, 466, 470, + 493, 495, 507, 524, 529, 446, 286, 502, 530, 0, + 354, 953, 959, 356, 269, 289, 301, 968, 516, 467, + 218, 434, 278, 241, 986, 988, 203, 237, 221, 247, + 262, 265, 305, 366, 374, 403, 408, 283, 259, 235, + 427, 232, 450, 473, 474, 475, 477, 370, 254, 407, + 949, 977, 352, 483, 484, 297, 371, 0, 0, 1006, + 991, 482, 0, 934, 1009, 903, 922, 1019, 925, 928, + 970, 882, 948, 390, 919, 875, 907, 877, 914, 878, + 905, 936, 258, 902, 993, 952, 1008, 343, 255, 884, + 908, 404, 924, 197, 972, 452, 242, 353, 350, 490, + 270, 261, 257, 240, 298, 360, 402, 472, 396, 1015, + 347, 958, 0, 462, 375, 0, 0, 0, 938, 997, + 946, 984, 933, 971, 892, 957, 1010, 920, 967, 1011, + 304, 238, 306, 196, 387, 463, 274, 0, 0, 0, + 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 229, 0, 236, 328, 337, 336, + 317, 318, 320, 322, 327, 334, 340, 916, 964, 1005, + 917, 966, 253, 302, 260, 252, 487, 1016, 996, 881, + 945, 1004, 0, 0, 220, 1007, 940, 0, 969, 0, + 1022, 876, 960, 0, 879, 883, 1018, 1000, 911, 263, + 0, 0, 0, 0, 0, 0, 0, 937, 947, 981, + 985, 931, 0, 0, 0, 0, 0, 2595, 0, 909, + 0, 956, 0, 0, 0, 888, 880, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 935, + 0, 0, 0, 0, 891, 0, 910, 982, 0, 874, + 284, 885, 376, 245, 0, 989, 999, 932, 526, 1003, + 930, 929, 976, 889, 995, 923, 342, 887, 311, 192, + 216, 0, 921, 386, 429, 439, 994, 906, 915, 243, + 913, 437, 400, 506, 224, 272, 426, 406, 435, 413, + 275, 955, 974, 436, 348, 492, 420, 503, 527, 528, + 251, 380, 514, 476, 522, 541, 217, 248, 394, 469, + 509, 459, 372, 488, 489, 310, 458, 282, 195, 346, + 533, 215, 445, 233, 222, 494, 512, 277, 424, 204, + 471, 501, 230, 449, 0, 0, 543, 206, 499, 468, + 368, 307, 308, 205, 0, 425, 256, 280, 246, 389, + 496, 497, 244, 544, 219, 521, 211, 1212, 520, 382, + 491, 500, 369, 358, 210, 498, 367, 357, 313, 332, + 333, 268, 291, 418, 351, 419, 292, 378, 377, 379, + 199, 510, 0, 200, 0, 464, 511, 545, 225, 226, + 228, 901, 267, 271, 279, 281, 287, 288, 296, 344, + 393, 417, 415, 421, 990, 486, 504, 515, 525, 531, + 532, 534, 535, 536, 537, 538, 540, 539, 381, 294, + 460, 312, 349, 979, 1021, 399, 438, 231, 508, 461, + 896, 900, 894, 961, 895, 950, 951, 897, 1012, 1013, + 1014, 546, 547, 548, 549, 550, 551, 552, 553, 554, + 555, 556, 557, 558, 559, 560, 561, 562, 563, 0, + 983, 890, 0, 898, 899, 992, 1001, 1002, 564, 359, + 451, 505, 314, 326, 329, 319, 338, 0, 339, 315, + 316, 321, 323, 324, 325, 330, 331, 335, 341, 239, + 202, 365, 373, 485, 295, 207, 208, 209, 478, 479, + 480, 481, 518, 519, 523, 430, 431, 432, 433, 954, + 191, 212, 345, 1017, 422, 276, 542, 517, 513, 198, + 214, 893, 250, 904, 912, 0, 918, 926, 927, 939, + 941, 942, 943, 944, 962, 963, 965, 973, 975, 978, + 980, 987, 998, 1020, 193, 194, 201, 213, 223, 227, + 234, 249, 264, 266, 273, 285, 290, 293, 299, 300, + 303, 309, 355, 361, 362, 363, 364, 383, 384, 385, + 388, 391, 392, 395, 397, 398, 401, 405, 409, 410, + 411, 412, 414, 416, 423, 428, 440, 441, 442, 443, + 444, 447, 448, 453, 454, 455, 456, 457, 465, 466, + 470, 493, 495, 507, 524, 529, 446, 286, 502, 530, + 0, 354, 953, 959, 356, 269, 289, 301, 968, 516, + 467, 218, 434, 278, 241, 986, 988, 203, 237, 221, + 247, 262, 265, 305, 366, 374, 403, 408, 283, 259, + 235, 427, 232, 450, 473, 474, 475, 477, 370, 254, + 407, 949, 977, 352, 483, 484, 297, 371, 0, 0, 1006, 991, 482, 0, 934, 1009, 903, 922, 1019, 925, 928, 970, 882, 948, 390, 919, 875, 907, 877, 914, 878, 905, 936, 258, 902, 993, 952, 1008, 343, 255, 884, 908, 404, 924, 197, 972, 452, 242, 353, 350, 490, 270, 261, 257, 240, 298, 360, 402, 472, 396, - 1015, 347, 958, 0, 462, 375, 0, 0, 1621, 938, + 1015, 347, 958, 0, 462, 375, 0, 0, 0, 938, 997, 946, 984, 933, 971, 892, 957, 1010, 920, 967, 1011, 304, 238, 306, 196, 387, 463, 274, 0, 0, - 0, 0, 188, 189, 190, 0, 3216, 0, 3217, 0, + 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 229, 0, 236, 328, 337, 336, 317, 318, 320, 322, 327, 334, 340, 916, 964, 1005, 917, 966, 253, 302, 260, 252, 487, 1016, 996, 881, 945, 1004, 0, 0, 220, 1007, 940, 0, 969, 0, 1022, 876, 960, 0, 879, 883, 1018, 1000, 911, 263, 0, 0, 0, 0, 0, 0, 0, 937, 947, - 981, 985, 931, 0, 0, 0, 0, 0, 0, 0, + 981, 985, 931, 0, 0, 0, 0, 0, 2553, 0, 909, 0, 956, 0, 0, 0, 888, 880, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2526,7 +2636,7 @@ var yyAct = [...]int{ 996, 881, 945, 1004, 0, 0, 220, 1007, 940, 0, 969, 0, 1022, 876, 960, 0, 879, 883, 1018, 1000, 911, 263, 0, 0, 0, 0, 0, 0, 0, 937, - 947, 981, 985, 931, 0, 0, 0, 0, 0, 2595, + 947, 981, 985, 931, 0, 0, 0, 0, 0, 1944, 0, 909, 0, 956, 0, 0, 0, 888, 880, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2582,7 +2692,7 @@ var yyAct = [...]int{ 472, 396, 1015, 347, 958, 0, 462, 375, 0, 0, 0, 938, 997, 946, 984, 933, 971, 892, 957, 1010, 920, 967, 1011, 304, 238, 306, 196, 387, 463, 274, - 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, + 0, 87, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 229, 0, 236, 328, 337, 336, 317, 318, 320, 322, 327, 334, 340, 916, 964, 1005, 917, 966, 253, 302, 260, 252, 487, @@ -2590,7 +2700,7 @@ var yyAct = [...]int{ 0, 969, 0, 1022, 876, 960, 0, 879, 883, 1018, 1000, 911, 263, 0, 0, 0, 0, 0, 0, 0, 937, 947, 981, 985, 931, 0, 0, 0, 0, 0, - 2553, 0, 909, 0, 956, 0, 0, 0, 888, 880, + 0, 0, 909, 0, 956, 0, 0, 0, 888, 880, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2653,7 +2763,7 @@ var yyAct = [...]int{ 940, 0, 969, 0, 1022, 876, 960, 0, 879, 883, 1018, 1000, 911, 263, 0, 0, 0, 0, 0, 0, 0, 937, 947, 981, 985, 931, 0, 0, 0, 0, - 0, 1943, 0, 909, 0, 956, 0, 0, 0, 888, + 0, 0, 0, 909, 0, 956, 0, 0, 0, 888, 880, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2708,11 +2818,11 @@ var yyAct = [...]int{ 360, 402, 472, 396, 1015, 347, 958, 0, 462, 375, 0, 0, 0, 938, 997, 946, 984, 933, 971, 892, 957, 1010, 920, 967, 1011, 304, 238, 306, 196, 387, - 463, 274, 0, 87, 0, 0, 188, 189, 190, 0, + 463, 274, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 229, 0, 236, 328, 337, 336, 317, 318, 320, 322, 327, 334, 340, 916, 964, 1005, 917, 966, 253, 302, 260, - 252, 487, 1016, 996, 881, 945, 1004, 0, 0, 220, + 252, 487, 1016, 996, 881, 945, 1004, 0, 0, 1023, 1007, 940, 0, 969, 0, 1022, 876, 960, 0, 879, 883, 1018, 1000, 911, 263, 0, 0, 0, 0, 0, 0, 0, 937, 947, 981, 985, 931, 0, 0, 0, @@ -2733,13 +2843,13 @@ var yyAct = [...]int{ 494, 512, 277, 424, 204, 471, 501, 230, 449, 0, 0, 543, 206, 499, 468, 368, 307, 308, 205, 0, 425, 256, 280, 246, 389, 496, 497, 244, 544, 219, - 521, 211, 1212, 520, 382, 491, 500, 369, 358, 210, + 521, 211, 886, 520, 382, 491, 500, 369, 358, 210, 498, 367, 357, 313, 332, 333, 268, 291, 418, 351, 419, 292, 378, 377, 379, 199, 510, 0, 200, 0, 464, 511, 545, 225, 226, 228, 901, 267, 271, 279, 281, 287, 288, 296, 344, 393, 417, 415, 421, 990, 486, 504, 515, 525, 531, 532, 534, 535, 536, 537, - 538, 540, 539, 381, 294, 460, 312, 349, 979, 1021, + 538, 540, 539, 873, 867, 866, 312, 349, 979, 1021, 399, 438, 231, 508, 461, 896, 900, 894, 961, 895, 950, 951, 897, 1012, 1013, 1014, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, @@ -2776,7 +2886,7 @@ var yyAct = [...]int{ 229, 0, 236, 328, 337, 336, 317, 318, 320, 322, 327, 334, 340, 916, 964, 1005, 917, 966, 253, 302, 260, 252, 487, 1016, 996, 881, 945, 1004, 0, 0, - 220, 1007, 940, 0, 969, 0, 1022, 876, 960, 0, + 1023, 1007, 940, 0, 969, 0, 1022, 876, 960, 0, 879, 883, 1018, 1000, 911, 263, 0, 0, 0, 0, 0, 0, 0, 937, 947, 981, 985, 931, 0, 0, 0, 0, 0, 0, 0, 909, 0, 956, 0, 0, @@ -2793,16 +2903,16 @@ var yyAct = [...]int{ 348, 492, 420, 503, 527, 528, 251, 380, 514, 476, 522, 541, 217, 248, 394, 469, 509, 459, 372, 488, 489, 310, 458, 282, 195, 346, 533, 215, 445, 233, - 222, 494, 512, 277, 424, 204, 471, 501, 230, 449, + 222, 494, 512, 277, 424, 204, 471, 1454, 230, 449, 0, 0, 543, 206, 499, 468, 368, 307, 308, 205, 0, 425, 256, 280, 246, 389, 496, 497, 244, 544, - 219, 521, 211, 1212, 520, 382, 491, 500, 369, 358, + 219, 521, 211, 886, 520, 382, 491, 500, 369, 358, 210, 498, 367, 357, 313, 332, 333, 268, 291, 418, 351, 419, 292, 378, 377, 379, 199, 510, 0, 200, 0, 464, 511, 545, 225, 226, 228, 901, 267, 271, 279, 281, 287, 288, 296, 344, 393, 417, 415, 421, 990, 486, 504, 515, 525, 531, 532, 534, 535, 536, - 537, 538, 540, 539, 381, 294, 460, 312, 349, 979, + 537, 538, 540, 539, 873, 867, 866, 312, 349, 979, 1021, 399, 438, 231, 508, 461, 896, 900, 894, 961, 895, 950, 951, 897, 1012, 1013, 1014, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, @@ -2856,7 +2966,7 @@ var yyAct = [...]int{ 436, 348, 492, 420, 503, 527, 528, 251, 380, 514, 476, 522, 541, 217, 248, 394, 469, 509, 459, 372, 488, 489, 310, 458, 282, 195, 346, 533, 215, 445, - 233, 222, 494, 512, 277, 424, 204, 471, 501, 230, + 233, 222, 494, 512, 277, 424, 204, 471, 864, 230, 449, 0, 0, 543, 206, 499, 468, 368, 307, 308, 205, 0, 425, 256, 280, 246, 389, 496, 497, 244, 544, 219, 521, 211, 886, 520, 382, 491, 500, 369, @@ -2889,149 +2999,148 @@ var yyAct = [...]int{ 278, 241, 986, 988, 203, 237, 221, 247, 262, 265, 305, 366, 374, 403, 408, 283, 259, 235, 427, 232, 450, 473, 474, 475, 477, 370, 254, 407, 949, 977, - 352, 483, 484, 297, 371, 0, 0, 1006, 991, 482, - 0, 934, 1009, 903, 922, 1019, 925, 928, 970, 882, - 948, 390, 919, 875, 907, 877, 914, 878, 905, 936, - 258, 902, 993, 952, 1008, 343, 255, 884, 908, 404, - 924, 197, 972, 452, 242, 353, 350, 490, 270, 261, - 257, 240, 298, 360, 402, 472, 396, 1015, 347, 958, - 0, 462, 375, 0, 0, 0, 938, 997, 946, 984, - 933, 971, 892, 957, 1010, 920, 967, 1011, 304, 238, - 306, 196, 387, 463, 274, 0, 0, 0, 0, 188, - 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 229, 0, 236, 328, 337, 336, 317, 318, - 320, 322, 327, 334, 340, 916, 964, 1005, 917, 966, - 253, 302, 260, 252, 487, 1016, 996, 881, 945, 1004, - 0, 0, 1023, 1007, 940, 0, 969, 0, 1022, 876, - 960, 0, 879, 883, 1018, 1000, 911, 263, 0, 0, - 0, 0, 0, 0, 0, 937, 947, 981, 985, 931, - 0, 0, 0, 0, 0, 0, 0, 909, 0, 956, - 0, 0, 0, 888, 880, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 935, 0, 0, - 0, 0, 891, 0, 910, 982, 0, 874, 284, 885, - 376, 245, 0, 989, 999, 932, 526, 1003, 930, 929, - 976, 889, 995, 923, 342, 887, 311, 192, 216, 0, - 921, 386, 429, 439, 994, 906, 915, 243, 913, 437, - 400, 506, 224, 272, 426, 406, 435, 413, 275, 955, - 974, 436, 348, 492, 420, 503, 527, 528, 251, 380, + 352, 483, 484, 297, 371, 0, 0, 0, 0, 482, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 390, 0, 0, 1882, 0, 646, 0, 0, 0, + 258, 651, 0, 0, 0, 343, 255, 0, 1883, 404, + 0, 197, 0, 452, 242, 353, 350, 490, 270, 261, + 257, 240, 298, 360, 402, 472, 396, 657, 347, 0, + 0, 462, 375, 0, 0, 0, 0, 0, 653, 654, + 0, 0, 0, 0, 0, 0, 0, 0, 304, 238, + 306, 196, 387, 463, 274, 0, 87, 0, 0, 188, + 189, 190, 757, 765, 766, 767, 768, 769, 758, 760, + 0, 0, 229, 759, 236, 684, 686, 685, 695, 696, + 697, 698, 699, 700, 701, 682, 762, 770, 771, 0, + 253, 302, 260, 252, 487, 0, 0, 0, 0, 0, + 0, 0, 220, 0, 0, 0, 0, 0, 0, 0, + 629, 643, 0, 656, 0, 0, 0, 263, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 640, 641, 853, 0, 0, 0, 727, + 0, 642, 0, 0, 650, 772, 773, 774, 775, 776, + 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, + 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, + 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, + 807, 808, 809, 810, 811, 812, 813, 733, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 284, 0, + 376, 245, 0, 726, 0, 0, 526, 0, 0, 724, + 0, 0, 0, 0, 342, 0, 311, 192, 216, 0, + 0, 386, 429, 439, 0, 0, 0, 243, 0, 437, + 400, 506, 224, 272, 426, 406, 435, 413, 275, 0, + 0, 436, 348, 492, 420, 503, 527, 528, 251, 380, 514, 476, 522, 541, 217, 248, 394, 469, 509, 459, 372, 488, 489, 310, 458, 282, 195, 346, 533, 215, - 445, 233, 222, 494, 512, 277, 424, 204, 471, 1454, + 445, 233, 222, 494, 512, 277, 424, 204, 471, 501, 230, 449, 0, 0, 543, 206, 499, 468, 368, 307, 308, 205, 0, 425, 256, 280, 246, 389, 496, 497, - 244, 544, 219, 521, 211, 886, 520, 382, 491, 500, - 369, 358, 210, 498, 367, 357, 313, 332, 333, 268, + 244, 544, 219, 521, 211, 0, 520, 382, 491, 500, + 369, 358, 210, 498, 367, 357, 313, 690, 691, 268, 291, 418, 351, 419, 292, 378, 377, 379, 199, 510, - 0, 200, 0, 464, 511, 545, 225, 226, 228, 901, + 0, 200, 0, 464, 511, 545, 225, 226, 228, 0, 267, 271, 279, 281, 287, 288, 296, 344, 393, 417, - 415, 421, 990, 486, 504, 515, 525, 531, 532, 534, - 535, 536, 537, 538, 540, 539, 873, 867, 866, 312, - 349, 979, 1021, 399, 438, 231, 508, 461, 896, 900, - 894, 961, 895, 950, 951, 897, 1012, 1013, 1014, 546, + 415, 421, 0, 486, 504, 515, 525, 531, 532, 534, + 535, 536, 537, 538, 540, 539, 381, 294, 460, 312, + 349, 0, 0, 399, 438, 231, 508, 461, 734, 725, + 661, 738, 663, 735, 736, 658, 659, 662, 737, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, - 557, 558, 559, 560, 561, 562, 563, 0, 983, 890, - 0, 898, 899, 992, 1001, 1002, 564, 359, 451, 505, - 314, 326, 329, 319, 338, 0, 339, 315, 316, 321, - 323, 324, 325, 330, 331, 335, 341, 239, 202, 365, - 373, 485, 295, 207, 208, 209, 478, 479, 480, 481, - 518, 519, 523, 430, 431, 432, 433, 954, 191, 212, - 345, 1017, 422, 276, 542, 517, 513, 198, 214, 893, - 250, 904, 912, 0, 918, 926, 927, 939, 941, 942, - 943, 944, 962, 963, 965, 973, 975, 978, 980, 987, - 998, 1020, 193, 194, 201, 213, 223, 227, 234, 249, + 557, 558, 559, 560, 561, 562, 563, 0, 728, 649, + 648, 0, 655, 0, 680, 681, 683, 687, 688, 689, + 692, 693, 694, 702, 704, 705, 703, 706, 707, 708, + 711, 712, 713, 714, 709, 710, 715, 664, 668, 665, + 666, 667, 679, 669, 670, 671, 672, 673, 674, 675, + 676, 677, 678, 748, 749, 750, 751, 647, 191, 212, + 345, 0, 422, 276, 542, 517, 513, 198, 214, 739, + 250, 740, 0, 0, 744, 0, 0, 0, 746, 745, + 0, 747, 719, 718, 0, 0, 741, 742, 0, 743, + 0, 0, 193, 194, 201, 213, 223, 227, 234, 249, 264, 266, 273, 285, 290, 293, 299, 300, 303, 309, 355, 361, 362, 363, 364, 383, 384, 385, 388, 391, 392, 395, 397, 398, 401, 405, 409, 410, 411, 412, 414, 416, 423, 428, 440, 441, 442, 443, 444, 447, 448, 453, 454, 455, 456, 457, 465, 466, 470, 493, 495, 507, 524, 529, 446, 286, 502, 530, 0, 354, - 953, 959, 356, 269, 289, 301, 968, 516, 467, 218, - 434, 278, 241, 986, 988, 203, 237, 221, 247, 262, + 0, 0, 356, 269, 289, 301, 0, 516, 467, 218, + 434, 278, 241, 764, 0, 203, 237, 221, 247, 262, 265, 305, 366, 374, 403, 408, 283, 259, 235, 427, - 232, 450, 473, 474, 475, 477, 370, 254, 407, 949, - 977, 352, 483, 484, 297, 371, 0, 0, 1006, 991, - 482, 0, 934, 1009, 903, 922, 1019, 925, 928, 970, - 882, 948, 390, 919, 875, 907, 877, 914, 878, 905, - 936, 258, 902, 993, 952, 1008, 343, 255, 884, 908, - 404, 924, 197, 972, 452, 242, 353, 350, 490, 270, - 261, 257, 240, 298, 360, 402, 472, 396, 1015, 347, - 958, 0, 462, 375, 0, 0, 0, 938, 997, 946, - 984, 933, 971, 892, 957, 1010, 920, 967, 1011, 304, - 238, 306, 196, 387, 463, 274, 0, 0, 0, 0, - 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 229, 0, 236, 328, 337, 336, 317, - 318, 320, 322, 327, 334, 340, 916, 964, 1005, 917, - 966, 253, 302, 260, 252, 487, 1016, 996, 881, 945, - 1004, 0, 0, 1023, 1007, 940, 0, 969, 0, 1022, - 876, 960, 0, 879, 883, 1018, 1000, 911, 263, 0, - 0, 0, 0, 0, 0, 0, 937, 947, 981, 985, - 931, 0, 0, 0, 0, 0, 0, 0, 909, 0, - 956, 0, 0, 0, 888, 880, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 935, 0, - 0, 0, 0, 891, 0, 910, 982, 0, 874, 284, - 885, 376, 245, 0, 989, 999, 932, 526, 1003, 930, - 929, 976, 889, 995, 923, 342, 887, 311, 192, 216, - 0, 921, 386, 429, 439, 994, 906, 915, 243, 913, - 437, 400, 506, 224, 272, 426, 406, 435, 413, 275, - 955, 974, 436, 348, 492, 420, 503, 527, 528, 251, - 380, 514, 476, 522, 541, 217, 248, 394, 469, 509, - 459, 372, 488, 489, 310, 458, 282, 195, 346, 533, - 215, 445, 233, 222, 494, 512, 277, 424, 204, 471, - 864, 230, 449, 0, 0, 543, 206, 499, 468, 368, - 307, 308, 205, 0, 425, 256, 280, 246, 389, 496, - 497, 244, 544, 219, 521, 211, 886, 520, 382, 491, - 500, 369, 358, 210, 498, 367, 357, 313, 332, 333, - 268, 291, 418, 351, 419, 292, 378, 377, 379, 199, - 510, 0, 200, 0, 464, 511, 545, 225, 226, 228, - 901, 267, 271, 279, 281, 287, 288, 296, 344, 393, - 417, 415, 421, 990, 486, 504, 515, 525, 531, 532, - 534, 535, 536, 537, 538, 540, 539, 873, 867, 866, - 312, 349, 979, 1021, 399, 438, 231, 508, 461, 896, - 900, 894, 961, 895, 950, 951, 897, 1012, 1013, 1014, - 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, - 556, 557, 558, 559, 560, 561, 562, 563, 0, 983, - 890, 0, 898, 899, 992, 1001, 1002, 564, 359, 451, - 505, 314, 326, 329, 319, 338, 0, 339, 315, 316, - 321, 323, 324, 325, 330, 331, 335, 341, 239, 202, - 365, 373, 485, 295, 207, 208, 209, 478, 479, 480, - 481, 518, 519, 523, 430, 431, 432, 433, 954, 191, - 212, 345, 1017, 422, 276, 542, 517, 513, 198, 214, - 893, 250, 904, 912, 0, 918, 926, 927, 939, 941, - 942, 943, 944, 962, 963, 965, 973, 975, 978, 980, - 987, 998, 1020, 193, 194, 201, 213, 223, 227, 234, - 249, 264, 266, 273, 285, 290, 293, 299, 300, 303, - 309, 355, 361, 362, 363, 364, 383, 384, 385, 388, - 391, 392, 395, 397, 398, 401, 405, 409, 410, 411, - 412, 414, 416, 423, 428, 440, 441, 442, 443, 444, - 447, 448, 453, 454, 455, 456, 457, 465, 466, 470, - 493, 495, 507, 524, 529, 446, 286, 502, 530, 0, - 354, 953, 959, 356, 269, 289, 301, 968, 516, 467, - 218, 434, 278, 241, 986, 988, 203, 237, 221, 247, - 262, 265, 305, 366, 374, 403, 408, 283, 259, 235, - 427, 232, 450, 473, 474, 475, 477, 370, 254, 407, - 949, 977, 352, 483, 484, 297, 371, 0, 0, 0, - 0, 482, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 390, 0, 0, 1881, 0, 646, 0, + 232, 450, 473, 474, 475, 477, 370, 254, 407, 0, + 371, 352, 483, 484, 297, 482, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 390, 0, 0, + 0, 0, 646, 0, 0, 0, 258, 651, 0, 0, + 0, 343, 255, 0, 0, 404, 0, 197, 0, 452, + 242, 353, 350, 490, 270, 261, 257, 240, 298, 360, + 402, 472, 396, 657, 347, 0, 0, 462, 375, 0, + 0, 0, 0, 0, 653, 654, 0, 0, 0, 0, + 0, 0, 0, 0, 304, 238, 306, 196, 387, 463, + 274, 0, 87, 0, 0, 188, 189, 190, 757, 765, + 766, 767, 768, 769, 758, 760, 0, 0, 229, 759, + 236, 684, 686, 685, 695, 696, 697, 698, 699, 700, + 701, 682, 762, 770, 771, 0, 253, 302, 260, 252, + 487, 0, 0, 1839, 1840, 1841, 0, 0, 220, 0, + 0, 0, 0, 0, 0, 0, 629, 643, 0, 656, + 0, 0, 0, 263, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 640, + 641, 0, 0, 0, 0, 727, 0, 642, 0, 0, + 650, 772, 773, 774, 775, 776, 777, 778, 779, 780, + 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, + 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, + 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, + 811, 812, 813, 733, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 284, 0, 376, 245, 0, 726, + 0, 0, 526, 0, 0, 724, 0, 0, 0, 0, + 342, 0, 311, 192, 216, 0, 0, 386, 429, 439, + 0, 0, 0, 243, 0, 437, 400, 506, 224, 272, + 426, 406, 435, 413, 275, 0, 0, 436, 348, 492, + 420, 503, 527, 528, 251, 380, 514, 476, 522, 541, + 217, 248, 394, 469, 509, 459, 372, 488, 489, 310, + 458, 282, 195, 346, 533, 215, 445, 233, 222, 494, + 512, 277, 424, 204, 471, 501, 230, 449, 0, 0, + 543, 206, 499, 468, 368, 307, 308, 205, 0, 425, + 256, 280, 246, 389, 496, 497, 244, 544, 219, 521, + 211, 0, 520, 382, 491, 500, 369, 358, 210, 498, + 367, 357, 313, 690, 691, 268, 291, 418, 351, 419, + 292, 378, 377, 379, 199, 510, 0, 200, 0, 464, + 511, 545, 225, 226, 228, 0, 267, 271, 279, 281, + 287, 288, 296, 344, 393, 417, 415, 421, 0, 486, + 504, 515, 525, 531, 532, 534, 535, 536, 537, 538, + 540, 539, 381, 294, 460, 312, 349, 0, 0, 399, + 438, 231, 508, 461, 734, 725, 661, 738, 663, 735, + 736, 658, 659, 662, 737, 546, 547, 548, 549, 550, + 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 0, 728, 649, 648, 0, 655, 0, + 680, 681, 683, 687, 688, 689, 692, 693, 694, 702, + 704, 705, 703, 706, 707, 708, 711, 712, 713, 714, + 709, 710, 715, 664, 668, 665, 666, 667, 679, 669, + 670, 671, 672, 673, 674, 675, 676, 677, 678, 748, + 749, 750, 751, 647, 191, 212, 345, 0, 422, 276, + 542, 517, 513, 198, 214, 739, 250, 740, 0, 0, + 744, 0, 0, 0, 746, 745, 0, 747, 719, 718, + 0, 0, 741, 742, 0, 743, 0, 0, 193, 194, + 201, 213, 223, 227, 234, 249, 264, 266, 273, 285, + 290, 293, 299, 300, 303, 309, 355, 361, 362, 363, + 364, 383, 384, 385, 388, 391, 392, 395, 397, 398, + 401, 405, 409, 410, 411, 412, 414, 416, 423, 428, + 440, 441, 442, 443, 444, 447, 448, 453, 454, 455, + 456, 457, 465, 466, 470, 493, 495, 507, 524, 529, + 446, 286, 502, 530, 0, 354, 0, 0, 356, 269, + 289, 301, 0, 516, 467, 218, 434, 278, 241, 764, + 0, 203, 237, 221, 247, 262, 265, 305, 366, 374, + 403, 408, 283, 259, 235, 427, 232, 450, 473, 474, + 475, 477, 370, 254, 407, 0, 371, 352, 483, 484, + 297, 482, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 390, 0, 0, 0, 0, 646, 0, 0, 0, 258, 651, 0, 0, 0, 343, 255, 0, - 1882, 404, 0, 197, 0, 452, 242, 353, 350, 490, + 0, 404, 0, 197, 0, 452, 242, 353, 350, 490, 270, 261, 257, 240, 298, 360, 402, 472, 396, 657, 347, 0, 0, 462, 375, 0, 0, 0, 0, 0, - 653, 654, 0, 0, 0, 0, 0, 0, 0, 0, + 653, 654, 0, 0, 0, 0, 0, 0, 1971, 0, 304, 238, 306, 196, 387, 463, 274, 0, 87, 0, 0, 188, 189, 190, 757, 765, 766, 767, 768, 769, 758, 760, 0, 0, 229, 759, 236, 684, 686, 685, 695, 696, 697, 698, 699, 700, 701, 682, 762, 770, - 771, 0, 253, 302, 260, 252, 487, 0, 0, 0, + 771, 1972, 253, 302, 260, 252, 487, 0, 0, 0, 0, 0, 0, 0, 220, 0, 0, 0, 0, 0, 0, 0, 629, 643, 0, 656, 0, 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 640, 641, 853, 0, 0, + 0, 0, 0, 0, 0, 640, 641, 0, 0, 0, 0, 727, 0, 642, 0, 0, 650, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, @@ -3078,133 +3187,133 @@ var yyAct = [...]int{ 467, 218, 434, 278, 241, 764, 0, 203, 237, 221, 247, 262, 265, 305, 366, 374, 403, 408, 283, 259, 235, 427, 232, 450, 473, 474, 475, 477, 370, 254, - 407, 0, 371, 352, 483, 484, 297, 482, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, - 0, 0, 0, 0, 646, 0, 0, 0, 258, 651, - 0, 0, 0, 343, 255, 0, 0, 404, 0, 197, - 0, 452, 242, 353, 350, 490, 270, 261, 257, 240, - 298, 360, 402, 472, 396, 657, 347, 0, 0, 462, - 375, 0, 0, 0, 0, 0, 653, 654, 0, 0, - 0, 0, 0, 0, 0, 0, 304, 238, 306, 196, - 387, 463, 274, 0, 87, 0, 0, 188, 189, 190, - 757, 765, 766, 767, 768, 769, 758, 760, 0, 0, - 229, 759, 236, 684, 686, 685, 695, 696, 697, 698, - 699, 700, 701, 682, 762, 770, 771, 0, 253, 302, - 260, 252, 487, 0, 0, 1838, 1839, 1840, 0, 0, - 220, 0, 0, 0, 0, 0, 0, 0, 629, 643, - 0, 656, 0, 0, 0, 263, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 640, 641, 0, 0, 0, 0, 727, 0, 642, - 0, 0, 650, 772, 773, 774, 775, 776, 777, 778, - 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, - 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, - 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, - 809, 810, 811, 812, 813, 733, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 284, 0, 376, 245, - 0, 726, 0, 0, 526, 0, 0, 724, 0, 0, - 0, 0, 342, 0, 311, 192, 216, 0, 0, 386, - 429, 439, 0, 0, 0, 243, 0, 437, 400, 506, - 224, 272, 426, 406, 435, 413, 275, 0, 0, 436, - 348, 492, 420, 503, 527, 528, 251, 380, 514, 476, - 522, 541, 217, 248, 394, 469, 509, 459, 372, 488, - 489, 310, 458, 282, 195, 346, 533, 215, 445, 233, - 222, 494, 512, 277, 424, 204, 471, 501, 230, 449, - 0, 0, 543, 206, 499, 468, 368, 307, 308, 205, - 0, 425, 256, 280, 246, 389, 496, 497, 244, 544, - 219, 521, 211, 0, 520, 382, 491, 500, 369, 358, - 210, 498, 367, 357, 313, 690, 691, 268, 291, 418, - 351, 419, 292, 378, 377, 379, 199, 510, 0, 200, - 0, 464, 511, 545, 225, 226, 228, 0, 267, 271, - 279, 281, 287, 288, 296, 344, 393, 417, 415, 421, - 0, 486, 504, 515, 525, 531, 532, 534, 535, 536, - 537, 538, 540, 539, 381, 294, 460, 312, 349, 0, - 0, 399, 438, 231, 508, 461, 734, 725, 661, 738, - 663, 735, 736, 658, 659, 662, 737, 546, 547, 548, - 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, - 559, 560, 561, 562, 563, 0, 728, 649, 648, 0, - 655, 0, 680, 681, 683, 687, 688, 689, 692, 693, - 694, 702, 704, 705, 703, 706, 707, 708, 711, 712, - 713, 714, 709, 710, 715, 664, 668, 665, 666, 667, - 679, 669, 670, 671, 672, 673, 674, 675, 676, 677, - 678, 748, 749, 750, 751, 647, 191, 212, 345, 0, - 422, 276, 542, 517, 513, 198, 214, 739, 250, 740, - 0, 0, 744, 0, 0, 0, 746, 745, 0, 747, - 719, 718, 0, 0, 741, 742, 0, 743, 0, 0, - 193, 194, 201, 213, 223, 227, 234, 249, 264, 266, - 273, 285, 290, 293, 299, 300, 303, 309, 355, 361, - 362, 363, 364, 383, 384, 385, 388, 391, 392, 395, - 397, 398, 401, 405, 409, 410, 411, 412, 414, 416, - 423, 428, 440, 441, 442, 443, 444, 447, 448, 453, - 454, 455, 456, 457, 465, 466, 470, 493, 495, 507, - 524, 529, 446, 286, 502, 530, 0, 354, 0, 0, - 356, 269, 289, 301, 0, 516, 467, 218, 434, 278, - 241, 764, 0, 203, 237, 221, 247, 262, 265, 305, - 366, 374, 403, 408, 283, 259, 235, 427, 232, 450, - 473, 474, 475, 477, 370, 254, 407, 0, 371, 352, - 483, 484, 297, 482, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 390, 0, 0, 0, 0, - 646, 0, 0, 0, 258, 651, 0, 0, 0, 343, - 255, 0, 0, 404, 0, 197, 0, 452, 242, 353, - 350, 490, 270, 261, 257, 240, 298, 360, 402, 472, - 396, 657, 347, 0, 0, 462, 375, 0, 0, 0, - 0, 0, 653, 654, 0, 0, 0, 0, 0, 0, - 1970, 0, 304, 238, 306, 196, 387, 463, 274, 0, - 87, 0, 0, 188, 189, 190, 757, 765, 766, 767, - 768, 769, 758, 760, 0, 0, 229, 759, 236, 684, - 686, 685, 695, 696, 697, 698, 699, 700, 701, 682, - 762, 770, 771, 1971, 253, 302, 260, 252, 487, 0, - 0, 0, 0, 0, 0, 0, 220, 0, 0, 0, - 0, 0, 0, 0, 629, 643, 0, 656, 0, 0, - 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 640, 641, 0, - 0, 0, 0, 727, 0, 642, 0, 0, 650, 772, - 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, - 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, - 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, - 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, - 813, 733, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 284, 0, 376, 245, 0, 726, 0, 0, - 526, 0, 0, 724, 0, 0, 0, 0, 342, 0, - 311, 192, 216, 0, 0, 386, 429, 439, 0, 0, - 0, 243, 0, 437, 400, 506, 224, 272, 426, 406, - 435, 413, 275, 0, 0, 436, 348, 492, 420, 503, - 527, 528, 251, 380, 514, 476, 522, 541, 217, 248, - 394, 469, 509, 459, 372, 488, 489, 310, 458, 282, - 195, 346, 533, 215, 445, 233, 222, 494, 512, 277, - 424, 204, 471, 501, 230, 449, 0, 0, 543, 206, - 499, 468, 368, 307, 308, 205, 0, 425, 256, 280, - 246, 389, 496, 497, 244, 544, 219, 521, 211, 0, - 520, 382, 491, 500, 369, 358, 210, 498, 367, 357, - 313, 690, 691, 268, 291, 418, 351, 419, 292, 378, - 377, 379, 199, 510, 0, 200, 0, 464, 511, 545, - 225, 226, 228, 0, 267, 271, 279, 281, 287, 288, - 296, 344, 393, 417, 415, 421, 0, 486, 504, 515, - 525, 531, 532, 534, 535, 536, 537, 538, 540, 539, - 381, 294, 460, 312, 349, 0, 0, 399, 438, 231, - 508, 461, 734, 725, 661, 738, 663, 735, 736, 658, - 659, 662, 737, 546, 547, 548, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 728, 649, 648, 0, 655, 0, 680, 681, - 683, 687, 688, 689, 692, 693, 694, 702, 704, 705, - 703, 706, 707, 708, 711, 712, 713, 714, 709, 710, - 715, 664, 668, 665, 666, 667, 679, 669, 670, 671, - 672, 673, 674, 675, 676, 677, 678, 748, 749, 750, - 751, 647, 191, 212, 345, 0, 422, 276, 542, 517, - 513, 198, 214, 739, 250, 740, 0, 0, 744, 0, - 0, 0, 746, 745, 0, 747, 719, 718, 0, 0, - 741, 742, 0, 743, 0, 0, 193, 194, 201, 213, - 223, 227, 234, 249, 264, 266, 273, 285, 290, 293, - 299, 300, 303, 309, 355, 361, 362, 363, 364, 383, - 384, 385, 388, 391, 392, 395, 397, 398, 401, 405, - 409, 410, 411, 412, 414, 416, 423, 428, 440, 441, - 442, 443, 444, 447, 448, 453, 454, 455, 456, 457, - 465, 466, 470, 493, 495, 507, 524, 529, 446, 286, - 502, 530, 0, 354, 0, 0, 356, 269, 289, 301, - 0, 516, 467, 218, 434, 278, 241, 764, 0, 203, - 237, 221, 247, 262, 265, 305, 366, 374, 403, 408, - 283, 259, 235, 427, 232, 450, 473, 474, 475, 477, - 370, 254, 407, 0, 0, 352, 483, 484, 297, 371, - 0, 0, 0, 78, 482, 0, 0, 0, 0, 0, + 407, 0, 0, 352, 483, 484, 297, 371, 0, 0, + 0, 78, 482, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 390, 0, 0, 0, 0, 646, + 0, 0, 0, 258, 651, 0, 0, 0, 343, 255, + 0, 0, 404, 0, 197, 0, 452, 242, 353, 350, + 490, 270, 261, 257, 240, 298, 360, 402, 472, 396, + 657, 347, 0, 0, 462, 375, 0, 0, 0, 0, + 0, 653, 654, 0, 0, 0, 0, 0, 0, 0, + 0, 304, 238, 306, 196, 387, 463, 274, 0, 87, + 0, 0, 188, 189, 190, 757, 765, 766, 767, 768, + 769, 758, 760, 0, 0, 229, 759, 236, 684, 686, + 685, 695, 696, 697, 698, 699, 700, 701, 682, 762, + 770, 771, 0, 253, 302, 260, 252, 487, 0, 0, + 0, 0, 0, 0, 0, 220, 0, 0, 0, 0, + 0, 0, 0, 629, 643, 0, 656, 0, 0, 0, + 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 640, 641, 0, 0, + 0, 0, 727, 0, 642, 0, 0, 650, 772, 773, + 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, + 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, + 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, + 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, + 733, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 284, 0, 376, 245, 0, 726, 0, 0, 526, + 0, 0, 724, 0, 0, 0, 0, 342, 0, 311, + 192, 216, 0, 0, 386, 429, 439, 0, 0, 0, + 243, 0, 437, 400, 506, 224, 272, 426, 406, 435, + 413, 275, 0, 0, 436, 348, 492, 420, 503, 527, + 528, 251, 380, 514, 476, 522, 541, 217, 248, 394, + 469, 509, 459, 372, 488, 489, 310, 458, 282, 195, + 346, 533, 215, 445, 233, 222, 494, 512, 277, 424, + 204, 471, 501, 230, 449, 0, 0, 543, 206, 499, + 468, 368, 307, 308, 205, 0, 425, 256, 280, 246, + 389, 496, 497, 244, 544, 219, 521, 211, 0, 520, + 382, 491, 500, 369, 358, 210, 498, 367, 357, 313, + 690, 691, 268, 291, 418, 351, 419, 292, 378, 377, + 379, 199, 510, 0, 200, 0, 464, 511, 545, 225, + 226, 228, 0, 267, 271, 279, 281, 287, 288, 296, + 344, 393, 417, 415, 421, 0, 486, 504, 515, 525, + 531, 532, 534, 535, 536, 537, 538, 540, 539, 381, + 294, 460, 312, 349, 0, 0, 399, 438, 231, 508, + 461, 734, 725, 661, 738, 663, 735, 736, 658, 659, + 662, 737, 546, 547, 548, 549, 550, 551, 552, 553, + 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, + 0, 728, 649, 648, 0, 655, 0, 680, 681, 683, + 687, 688, 689, 692, 693, 694, 702, 704, 705, 703, + 706, 707, 708, 711, 712, 713, 714, 709, 710, 715, + 664, 668, 665, 666, 667, 679, 669, 670, 671, 672, + 673, 674, 675, 676, 677, 678, 748, 749, 750, 751, + 647, 191, 212, 345, 86, 422, 276, 542, 517, 513, + 198, 214, 739, 250, 740, 0, 0, 744, 0, 0, + 0, 746, 745, 0, 747, 719, 718, 0, 0, 741, + 742, 0, 743, 0, 0, 193, 194, 201, 213, 223, + 227, 234, 249, 264, 266, 273, 285, 290, 293, 299, + 300, 303, 309, 355, 361, 362, 363, 364, 383, 384, + 385, 388, 391, 392, 395, 397, 398, 401, 405, 409, + 410, 411, 412, 414, 416, 423, 428, 440, 441, 442, + 443, 444, 447, 448, 453, 454, 455, 456, 457, 465, + 466, 470, 493, 495, 507, 524, 529, 446, 286, 502, + 530, 0, 354, 0, 0, 356, 269, 289, 301, 0, + 516, 467, 218, 434, 278, 241, 764, 0, 203, 237, + 221, 247, 262, 265, 305, 366, 374, 403, 408, 283, + 259, 235, 427, 232, 450, 473, 474, 475, 477, 370, + 254, 407, 0, 371, 352, 483, 484, 297, 482, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 390, 0, 0, 0, 0, 646, 0, 0, 0, 258, + 651, 0, 0, 0, 343, 255, 0, 0, 404, 0, + 197, 0, 452, 242, 353, 350, 490, 270, 261, 257, + 240, 298, 360, 402, 472, 396, 657, 347, 0, 0, + 462, 375, 0, 0, 0, 0, 0, 653, 654, 0, + 0, 0, 0, 0, 0, 0, 0, 304, 238, 306, + 196, 387, 463, 274, 0, 87, 0, 0, 188, 189, + 190, 757, 765, 766, 767, 768, 769, 758, 760, 0, + 0, 229, 759, 236, 684, 686, 685, 695, 696, 697, + 698, 699, 700, 701, 682, 762, 770, 771, 0, 253, + 302, 260, 252, 487, 0, 0, 0, 0, 0, 0, + 0, 220, 0, 0, 0, 0, 0, 0, 0, 629, + 643, 0, 656, 0, 0, 0, 263, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 640, 641, 0, 0, 0, 0, 727, 0, + 642, 0, 0, 650, 772, 773, 774, 775, 776, 777, + 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, + 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, + 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, + 808, 809, 810, 811, 812, 813, 733, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 284, 0, 376, + 245, 0, 726, 0, 0, 526, 0, 0, 724, 0, + 0, 0, 0, 342, 0, 311, 192, 216, 0, 0, + 386, 429, 439, 0, 0, 0, 243, 0, 437, 400, + 506, 224, 272, 426, 406, 435, 413, 275, 3203, 0, + 436, 348, 492, 420, 503, 527, 528, 251, 380, 514, + 476, 522, 541, 217, 248, 394, 469, 509, 459, 372, + 488, 489, 310, 458, 282, 195, 346, 533, 215, 445, + 233, 222, 494, 512, 277, 424, 204, 471, 501, 230, + 449, 0, 0, 543, 206, 499, 468, 368, 307, 308, + 205, 0, 425, 256, 280, 246, 389, 496, 497, 244, + 544, 219, 521, 211, 0, 520, 382, 491, 500, 369, + 358, 210, 498, 367, 357, 313, 690, 691, 268, 291, + 418, 351, 419, 292, 378, 377, 379, 199, 510, 0, + 200, 0, 464, 511, 545, 225, 226, 228, 0, 267, + 271, 279, 281, 287, 288, 296, 344, 393, 417, 415, + 421, 0, 486, 504, 515, 525, 531, 532, 534, 535, + 536, 537, 538, 540, 539, 381, 294, 460, 312, 349, + 0, 0, 399, 438, 231, 508, 461, 734, 725, 661, + 738, 663, 735, 736, 658, 659, 662, 737, 546, 547, + 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, + 558, 559, 560, 561, 562, 563, 0, 728, 649, 648, + 0, 655, 0, 680, 681, 683, 687, 688, 689, 692, + 693, 694, 702, 704, 705, 703, 706, 707, 708, 711, + 712, 713, 714, 709, 710, 715, 664, 668, 665, 666, + 667, 679, 669, 670, 671, 672, 673, 674, 675, 676, + 677, 678, 748, 749, 750, 751, 647, 191, 212, 345, + 0, 422, 276, 542, 517, 513, 198, 214, 739, 250, + 740, 0, 0, 744, 0, 0, 0, 746, 745, 0, + 747, 719, 718, 0, 0, 741, 742, 0, 743, 0, + 0, 193, 194, 201, 213, 223, 227, 234, 249, 264, + 266, 273, 285, 290, 293, 299, 300, 303, 309, 355, + 361, 362, 363, 364, 383, 384, 385, 388, 391, 392, + 395, 397, 398, 401, 405, 409, 410, 411, 412, 414, + 416, 423, 428, 440, 441, 442, 443, 444, 447, 448, + 453, 454, 455, 456, 457, 465, 466, 470, 493, 495, + 507, 524, 529, 446, 286, 502, 530, 0, 354, 0, + 0, 356, 269, 289, 301, 0, 516, 467, 218, 434, + 278, 241, 764, 0, 203, 237, 221, 247, 262, 265, + 305, 366, 374, 403, 408, 283, 259, 235, 427, 232, + 450, 473, 474, 475, 477, 370, 254, 407, 0, 371, + 352, 483, 484, 297, 482, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, 0, 0, 0, 646, 0, 0, 0, 258, 651, 0, 0, 0, 343, 255, 0, 0, 404, 0, 197, 0, 452, 242, @@ -3212,7 +3321,7 @@ var yyAct = [...]int{ 472, 396, 657, 347, 0, 0, 462, 375, 0, 0, 0, 0, 0, 653, 654, 0, 0, 0, 0, 0, 0, 0, 0, 304, 238, 306, 196, 387, 463, 274, - 0, 87, 0, 0, 188, 189, 190, 757, 765, 766, + 0, 87, 0, 1421, 188, 189, 190, 757, 765, 766, 767, 768, 769, 758, 760, 0, 0, 229, 759, 236, 684, 686, 685, 695, 696, 697, 698, 699, 700, 701, 682, 762, 770, 771, 0, 253, 302, 260, 252, 487, @@ -3252,7 +3361,7 @@ var yyAct = [...]int{ 705, 703, 706, 707, 708, 711, 712, 713, 714, 709, 710, 715, 664, 668, 665, 666, 667, 679, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 748, 749, - 750, 751, 647, 191, 212, 345, 86, 422, 276, 542, + 750, 751, 647, 191, 212, 345, 0, 422, 276, 542, 517, 513, 198, 214, 739, 250, 740, 0, 0, 744, 0, 0, 0, 746, 745, 0, 747, 719, 718, 0, 0, 741, 742, 0, 743, 0, 0, 193, 194, 201, @@ -3282,7 +3391,7 @@ var yyAct = [...]int{ 0, 0, 0, 220, 0, 0, 0, 0, 0, 0, 0, 629, 643, 0, 656, 0, 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 640, 641, 0, 0, 0, 0, + 0, 0, 0, 0, 640, 641, 853, 0, 0, 0, 727, 0, 642, 0, 0, 650, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, @@ -3293,7 +3402,7 @@ var yyAct = [...]int{ 724, 0, 0, 0, 0, 342, 0, 311, 192, 216, 0, 0, 386, 429, 439, 0, 0, 0, 243, 0, 437, 400, 506, 224, 272, 426, 406, 435, 413, 275, - 3203, 0, 436, 348, 492, 420, 503, 527, 528, 251, + 0, 0, 436, 348, 492, 420, 503, 527, 528, 251, 380, 514, 476, 522, 541, 217, 248, 394, 469, 509, 459, 372, 488, 489, 310, 458, 282, 195, 346, 533, 215, 445, 233, 222, 494, 512, 277, 424, 204, 471, @@ -3337,7 +3446,7 @@ var yyAct = [...]int{ 360, 402, 472, 396, 657, 347, 0, 0, 462, 375, 0, 0, 0, 0, 0, 653, 654, 0, 0, 0, 0, 0, 0, 0, 0, 304, 238, 306, 196, 387, - 463, 274, 0, 87, 0, 1421, 188, 189, 190, 757, + 463, 274, 0, 87, 0, 0, 188, 189, 190, 757, 765, 766, 767, 768, 769, 758, 760, 0, 0, 229, 759, 236, 684, 686, 685, 695, 696, 697, 698, 699, 700, 701, 682, 762, 770, 771, 0, 253, 302, 260, @@ -3405,9 +3514,9 @@ var yyAct = [...]int{ 685, 695, 696, 697, 698, 699, 700, 701, 682, 762, 770, 771, 0, 253, 302, 260, 252, 487, 0, 0, 0, 0, 0, 0, 0, 220, 0, 0, 0, 0, - 0, 0, 0, 629, 643, 0, 656, 0, 0, 0, + 0, 0, 0, 0, 643, 0, 656, 0, 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 640, 641, 853, 0, + 0, 0, 0, 0, 0, 0, 640, 641, 0, 0, 0, 0, 727, 0, 642, 0, 0, 650, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, @@ -3456,28 +3565,28 @@ var yyAct = [...]int{ 259, 235, 427, 232, 450, 473, 474, 475, 477, 370, 254, 407, 0, 371, 352, 483, 484, 297, 482, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 390, 0, 0, 0, 0, 646, 0, 0, 0, 258, - 651, 0, 0, 0, 343, 255, 0, 0, 404, 0, + 390, 0, 0, 0, 0, 0, 0, 0, 0, 258, + 0, 0, 0, 0, 343, 255, 0, 0, 404, 0, 197, 0, 452, 242, 353, 350, 490, 270, 261, 257, - 240, 298, 360, 402, 472, 396, 657, 347, 0, 0, - 462, 375, 0, 0, 0, 0, 0, 653, 654, 0, + 240, 298, 360, 402, 472, 396, 0, 347, 0, 0, + 462, 375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, 238, 306, - 196, 387, 463, 274, 0, 87, 0, 0, 188, 189, - 190, 757, 765, 766, 767, 768, 769, 758, 760, 0, - 0, 229, 759, 236, 684, 686, 685, 695, 696, 697, - 698, 699, 700, 701, 682, 762, 770, 771, 0, 253, + 196, 387, 463, 274, 0, 0, 0, 0, 188, 189, + 190, 0, 765, 766, 0, 0, 0, 0, 1769, 0, + 0, 229, 0, 236, 328, 337, 336, 317, 318, 320, + 322, 327, 334, 340, 0, 0, 0, 0, 0, 253, 302, 260, 252, 487, 0, 0, 0, 0, 0, 0, - 0, 220, 0, 0, 0, 0, 0, 0, 0, 629, - 643, 0, 656, 0, 0, 0, 263, 0, 0, 0, + 0, 220, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 640, 641, 2162, 0, 0, 0, 727, 0, - 642, 0, 0, 650, 772, 773, 774, 775, 776, 777, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, - 808, 809, 810, 811, 812, 813, 733, 0, 0, 0, + 808, 809, 810, 811, 812, 813, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 284, 0, 376, - 245, 0, 726, 0, 0, 526, 0, 0, 724, 0, + 245, 0, 0, 0, 0, 526, 0, 0, 0, 0, 0, 0, 0, 342, 0, 311, 192, 216, 0, 0, 386, 429, 439, 0, 0, 0, 243, 0, 437, 400, 506, 224, 272, 426, 406, 435, 413, 275, 0, 0, @@ -3488,24 +3597,24 @@ var yyAct = [...]int{ 449, 0, 0, 543, 206, 499, 468, 368, 307, 308, 205, 0, 425, 256, 280, 246, 389, 496, 497, 244, 544, 219, 521, 211, 0, 520, 382, 491, 500, 369, - 358, 210, 498, 367, 357, 313, 690, 691, 268, 291, + 358, 210, 498, 367, 357, 313, 332, 333, 268, 291, 418, 351, 419, 292, 378, 377, 379, 199, 510, 0, 200, 0, 464, 511, 545, 225, 226, 228, 0, 267, 271, 279, 281, 287, 288, 296, 344, 393, 417, 415, 421, 0, 486, 504, 515, 525, 531, 532, 534, 535, 536, 537, 538, 540, 539, 381, 294, 460, 312, 349, - 0, 0, 399, 438, 231, 508, 461, 734, 725, 661, - 738, 663, 735, 736, 658, 659, 662, 737, 546, 547, + 0, 0, 399, 438, 231, 508, 461, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, - 558, 559, 560, 561, 562, 563, 0, 728, 649, 648, - 0, 655, 0, 680, 681, 683, 687, 688, 689, 692, - 693, 694, 702, 704, 705, 703, 706, 707, 708, 711, - 712, 713, 714, 709, 710, 715, 664, 668, 665, 666, - 667, 679, 669, 670, 671, 672, 673, 674, 675, 676, - 677, 678, 748, 749, 750, 751, 647, 191, 212, 345, - 0, 422, 276, 542, 517, 513, 198, 214, 739, 250, - 740, 0, 0, 744, 0, 0, 0, 746, 745, 0, - 747, 719, 718, 0, 0, 741, 742, 0, 743, 0, + 558, 559, 560, 561, 562, 563, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 564, 359, 451, 505, 314, + 326, 329, 319, 338, 0, 339, 315, 316, 321, 323, + 324, 325, 330, 331, 335, 341, 239, 202, 365, 373, + 485, 295, 207, 208, 209, 478, 479, 480, 481, 518, + 519, 523, 430, 431, 432, 433, 0, 191, 212, 345, + 0, 422, 276, 542, 517, 513, 198, 214, 0, 250, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 213, 223, 227, 234, 249, 264, 266, 273, 285, 290, 293, 299, 300, 303, 309, 355, 361, 362, 363, 364, 383, 384, 385, 388, 391, 392, @@ -3514,34 +3623,34 @@ var yyAct = [...]int{ 453, 454, 455, 456, 457, 465, 466, 470, 493, 495, 507, 524, 529, 446, 286, 502, 530, 0, 354, 0, 0, 356, 269, 289, 301, 0, 516, 467, 218, 434, - 278, 241, 764, 0, 203, 237, 221, 247, 262, 265, + 278, 241, 0, 0, 203, 237, 221, 247, 262, 265, 305, 366, 374, 403, 408, 283, 259, 235, 427, 232, 450, 473, 474, 475, 477, 370, 254, 407, 0, 371, 352, 483, 484, 297, 482, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, 0, 0, - 0, 646, 0, 0, 0, 258, 651, 0, 0, 0, + 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 343, 255, 0, 0, 404, 0, 197, 0, 452, 242, 353, 350, 490, 270, 261, 257, 240, 298, 360, 402, - 472, 396, 657, 347, 0, 0, 462, 375, 0, 0, - 0, 0, 0, 653, 654, 0, 0, 0, 0, 0, + 472, 396, 0, 347, 0, 0, 462, 375, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, 238, 306, 196, 387, 463, 274, - 0, 87, 0, 0, 188, 189, 190, 757, 765, 766, - 767, 768, 769, 758, 760, 0, 0, 229, 759, 236, - 684, 686, 685, 695, 696, 697, 698, 699, 700, 701, - 682, 762, 770, 771, 0, 253, 302, 260, 252, 487, - 0, 0, 0, 0, 0, 0, 0, 220, 0, 0, - 0, 0, 0, 0, 0, 629, 643, 0, 656, 0, + 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 229, 0, 236, + 328, 337, 336, 317, 318, 320, 322, 327, 334, 340, + 0, 0, 0, 0, 0, 253, 302, 260, 252, 487, + 0, 0, 0, 0, 0, 0, 0, 220, 0, 1074, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 640, 641, - 0, 0, 0, 0, 727, 0, 642, 0, 0, 650, - 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, - 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, - 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, - 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, - 812, 813, 733, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 284, 0, 376, 245, 0, 726, 0, - 0, 526, 0, 0, 724, 0, 0, 0, 0, 342, - 0, 311, 192, 216, 0, 0, 386, 429, 439, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 284, 0, 376, 245, 0, 0, 0, + 1073, 526, 0, 0, 0, 0, 0, 1070, 1071, 342, + 1031, 311, 192, 216, 1064, 1068, 386, 429, 439, 0, 0, 0, 243, 0, 437, 400, 506, 224, 272, 426, 406, 435, 413, 275, 0, 0, 436, 348, 492, 420, 503, 527, 528, 251, 380, 514, 476, 522, 541, 217, @@ -3551,24 +3660,24 @@ var yyAct = [...]int{ 206, 499, 468, 368, 307, 308, 205, 0, 425, 256, 280, 246, 389, 496, 497, 244, 544, 219, 521, 211, 0, 520, 382, 491, 500, 369, 358, 210, 498, 367, - 357, 313, 690, 691, 268, 291, 418, 351, 419, 292, + 357, 313, 332, 333, 268, 291, 418, 351, 419, 292, 378, 377, 379, 199, 510, 0, 200, 0, 464, 511, 545, 225, 226, 228, 0, 267, 271, 279, 281, 287, 288, 296, 344, 393, 417, 415, 421, 0, 486, 504, 515, 525, 531, 532, 534, 535, 536, 537, 538, 540, 539, 381, 294, 460, 312, 349, 0, 0, 399, 438, - 231, 508, 461, 734, 725, 661, 738, 663, 735, 736, - 658, 659, 662, 737, 546, 547, 548, 549, 550, 551, + 231, 508, 461, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, - 562, 563, 0, 728, 649, 648, 0, 655, 0, 680, - 681, 683, 687, 688, 689, 692, 693, 694, 702, 704, - 705, 703, 706, 707, 708, 711, 712, 713, 714, 709, - 710, 715, 664, 668, 665, 666, 667, 679, 669, 670, - 671, 672, 673, 674, 675, 676, 677, 678, 748, 749, - 750, 751, 647, 191, 212, 345, 0, 422, 276, 542, - 517, 513, 198, 214, 739, 250, 740, 0, 0, 744, - 0, 0, 0, 746, 745, 0, 747, 719, 718, 0, - 0, 741, 742, 0, 743, 0, 0, 193, 194, 201, + 562, 563, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 564, 359, 451, 505, 314, 326, 329, 319, 338, + 0, 339, 315, 316, 321, 323, 324, 325, 330, 331, + 335, 341, 239, 202, 365, 373, 485, 295, 207, 208, + 209, 478, 479, 480, 481, 518, 519, 523, 430, 431, + 432, 433, 0, 191, 212, 345, 0, 422, 276, 542, + 517, 513, 198, 214, 0, 250, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 213, 223, 227, 234, 249, 264, 266, 273, 285, 290, 293, 299, 300, 303, 309, 355, 361, 362, 363, 364, 383, 384, 385, 388, 391, 392, 395, 397, 398, 401, @@ -3576,324 +3685,11 @@ var yyAct = [...]int{ 441, 442, 443, 444, 447, 448, 453, 454, 455, 456, 457, 465, 466, 470, 493, 495, 507, 524, 529, 446, 286, 502, 530, 0, 354, 0, 0, 356, 269, 289, - 301, 0, 516, 467, 218, 434, 278, 241, 764, 0, + 301, 0, 516, 467, 218, 434, 278, 241, 0, 0, 203, 237, 221, 247, 262, 265, 305, 366, 374, 403, 408, 283, 259, 235, 427, 232, 450, 473, 474, 475, - 477, 370, 254, 407, 0, 371, 352, 483, 484, 297, - 482, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 390, 0, 0, 0, 0, 646, 0, 0, - 0, 258, 651, 0, 0, 0, 343, 255, 0, 0, - 404, 0, 197, 0, 452, 242, 353, 350, 490, 270, - 261, 257, 240, 298, 360, 402, 472, 396, 657, 347, - 0, 0, 462, 375, 0, 0, 0, 0, 0, 653, - 654, 0, 0, 0, 0, 0, 0, 0, 0, 304, - 238, 306, 196, 387, 463, 274, 0, 87, 0, 0, - 188, 189, 190, 757, 765, 766, 767, 768, 769, 758, - 760, 0, 0, 229, 759, 236, 684, 686, 685, 695, - 696, 697, 698, 699, 700, 701, 682, 762, 770, 771, - 0, 253, 302, 260, 252, 487, 0, 0, 0, 0, - 0, 0, 0, 220, 0, 0, 0, 0, 0, 0, - 0, 0, 643, 0, 656, 0, 0, 0, 263, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 640, 641, 0, 0, 0, 0, - 727, 0, 642, 0, 0, 650, 772, 773, 774, 775, - 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, - 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, - 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, - 806, 807, 808, 809, 810, 811, 812, 813, 733, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 284, - 0, 376, 245, 0, 726, 0, 0, 526, 0, 0, - 724, 0, 0, 0, 0, 342, 0, 311, 192, 216, - 0, 0, 386, 429, 439, 0, 0, 0, 243, 0, - 437, 400, 506, 224, 272, 426, 406, 435, 413, 275, - 0, 0, 436, 348, 492, 420, 503, 527, 528, 251, - 380, 514, 476, 522, 541, 217, 248, 394, 469, 509, - 459, 372, 488, 489, 310, 458, 282, 195, 346, 533, - 215, 445, 233, 222, 494, 512, 277, 424, 204, 471, - 501, 230, 449, 0, 0, 543, 206, 499, 468, 368, - 307, 308, 205, 0, 425, 256, 280, 246, 389, 496, - 497, 244, 544, 219, 521, 211, 0, 520, 382, 491, - 500, 369, 358, 210, 498, 367, 357, 313, 690, 691, - 268, 291, 418, 351, 419, 292, 378, 377, 379, 199, - 510, 0, 200, 0, 464, 511, 545, 225, 226, 228, - 0, 267, 271, 279, 281, 287, 288, 296, 344, 393, - 417, 415, 421, 0, 486, 504, 515, 525, 531, 532, - 534, 535, 536, 537, 538, 540, 539, 381, 294, 460, - 312, 349, 0, 0, 399, 438, 231, 508, 461, 734, - 725, 661, 738, 663, 735, 736, 658, 659, 662, 737, - 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, - 556, 557, 558, 559, 560, 561, 562, 563, 0, 728, - 649, 648, 0, 655, 0, 680, 681, 683, 687, 688, - 689, 692, 693, 694, 702, 704, 705, 703, 706, 707, - 708, 711, 712, 713, 714, 709, 710, 715, 664, 668, - 665, 666, 667, 679, 669, 670, 671, 672, 673, 674, - 675, 676, 677, 678, 748, 749, 750, 751, 647, 191, - 212, 345, 0, 422, 276, 542, 517, 513, 198, 214, - 739, 250, 740, 0, 0, 744, 0, 0, 0, 746, - 745, 0, 747, 719, 718, 0, 0, 741, 742, 0, - 743, 0, 0, 193, 194, 201, 213, 223, 227, 234, - 249, 264, 266, 273, 285, 290, 293, 299, 300, 303, - 309, 355, 361, 362, 363, 364, 383, 384, 385, 388, - 391, 392, 395, 397, 398, 401, 405, 409, 410, 411, - 412, 414, 416, 423, 428, 440, 441, 442, 443, 444, - 447, 448, 453, 454, 455, 456, 457, 465, 466, 470, - 493, 495, 507, 524, 529, 446, 286, 502, 530, 0, - 354, 0, 0, 356, 269, 289, 301, 0, 516, 467, - 218, 434, 278, 241, 764, 0, 203, 237, 221, 247, - 262, 265, 305, 366, 374, 403, 408, 283, 259, 235, - 427, 232, 450, 473, 474, 475, 477, 370, 254, 407, - 0, 371, 352, 483, 484, 297, 482, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, - 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, - 0, 0, 343, 255, 0, 0, 404, 0, 197, 0, - 452, 242, 353, 350, 490, 270, 261, 257, 240, 298, - 360, 402, 472, 396, 0, 347, 0, 0, 462, 375, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 304, 238, 306, 196, 387, - 463, 274, 0, 0, 0, 0, 188, 189, 190, 0, - 765, 766, 0, 0, 0, 0, 1769, 0, 0, 229, - 0, 236, 328, 337, 336, 317, 318, 320, 322, 327, - 334, 340, 0, 0, 0, 0, 0, 253, 302, 260, - 252, 487, 0, 0, 0, 0, 0, 0, 0, 220, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 772, 773, 774, 775, 776, 777, 778, 779, - 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, - 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, - 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, - 810, 811, 812, 813, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 284, 0, 376, 245, 0, - 0, 0, 0, 526, 0, 0, 0, 0, 0, 0, - 0, 342, 0, 311, 192, 216, 0, 0, 386, 429, - 439, 0, 0, 0, 243, 0, 437, 400, 506, 224, - 272, 426, 406, 435, 413, 275, 0, 0, 436, 348, - 492, 420, 503, 527, 528, 251, 380, 514, 476, 522, - 541, 217, 248, 394, 469, 509, 459, 372, 488, 489, - 310, 458, 282, 195, 346, 533, 215, 445, 233, 222, - 494, 512, 277, 424, 204, 471, 501, 230, 449, 0, - 0, 543, 206, 499, 468, 368, 307, 308, 205, 0, - 425, 256, 280, 246, 389, 496, 497, 244, 544, 219, - 521, 211, 0, 520, 382, 491, 500, 369, 358, 210, - 498, 367, 357, 313, 332, 333, 268, 291, 418, 351, - 419, 292, 378, 377, 379, 199, 510, 0, 200, 0, - 464, 511, 545, 225, 226, 228, 0, 267, 271, 279, - 281, 287, 288, 296, 344, 393, 417, 415, 421, 0, - 486, 504, 515, 525, 531, 532, 534, 535, 536, 537, - 538, 540, 539, 381, 294, 460, 312, 349, 0, 0, - 399, 438, 231, 508, 461, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 546, 547, 548, 549, - 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, - 560, 561, 562, 563, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 564, 359, 451, 505, 314, 326, 329, - 319, 338, 0, 339, 315, 316, 321, 323, 324, 325, - 330, 331, 335, 341, 239, 202, 365, 373, 485, 295, - 207, 208, 209, 478, 479, 480, 481, 518, 519, 523, - 430, 431, 432, 433, 0, 191, 212, 345, 0, 422, - 276, 542, 517, 513, 198, 214, 0, 250, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 194, 201, 213, 223, 227, 234, 249, 264, 266, 273, - 285, 290, 293, 299, 300, 303, 309, 355, 361, 362, - 363, 364, 383, 384, 385, 388, 391, 392, 395, 397, - 398, 401, 405, 409, 410, 411, 412, 414, 416, 423, - 428, 440, 441, 442, 443, 444, 447, 448, 453, 454, - 455, 456, 457, 465, 466, 470, 493, 495, 507, 524, - 529, 446, 286, 502, 530, 0, 354, 0, 0, 356, - 269, 289, 301, 0, 516, 467, 218, 434, 278, 241, - 0, 0, 203, 237, 221, 247, 262, 265, 305, 366, - 374, 403, 408, 283, 259, 235, 427, 232, 450, 473, - 474, 475, 477, 370, 254, 407, 0, 371, 352, 483, - 484, 297, 482, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 390, 0, 0, 0, 0, 0, - 0, 0, 0, 258, 0, 0, 0, 0, 343, 255, - 0, 0, 404, 0, 197, 0, 452, 242, 353, 350, - 490, 270, 261, 257, 240, 298, 360, 402, 472, 396, - 0, 347, 0, 0, 462, 375, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 304, 238, 306, 196, 387, 463, 274, 0, 0, - 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 229, 0, 236, 328, 337, - 336, 317, 318, 320, 322, 327, 334, 340, 0, 0, - 0, 0, 0, 253, 302, 260, 252, 487, 0, 0, - 0, 0, 0, 0, 0, 220, 0, 1074, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 284, 0, 376, 245, 0, 0, 0, 1073, 526, - 0, 0, 0, 0, 0, 1070, 1071, 342, 1031, 311, - 192, 216, 1064, 1068, 386, 429, 439, 0, 0, 0, - 243, 0, 437, 400, 506, 224, 272, 426, 406, 435, - 413, 275, 0, 0, 436, 348, 492, 420, 503, 527, - 528, 251, 380, 514, 476, 522, 541, 217, 248, 394, - 469, 509, 459, 372, 488, 489, 310, 458, 282, 195, - 346, 533, 215, 445, 233, 222, 494, 512, 277, 424, - 204, 471, 501, 230, 449, 0, 0, 543, 206, 499, - 468, 368, 307, 308, 205, 0, 425, 256, 280, 246, - 389, 496, 497, 244, 544, 219, 521, 211, 0, 520, - 382, 491, 500, 369, 358, 210, 498, 367, 357, 313, - 332, 333, 268, 291, 418, 351, 419, 292, 378, 377, - 379, 199, 510, 0, 200, 0, 464, 511, 545, 225, - 226, 228, 0, 267, 271, 279, 281, 287, 288, 296, - 344, 393, 417, 415, 421, 0, 486, 504, 515, 525, - 531, 532, 534, 535, 536, 537, 538, 540, 539, 381, - 294, 460, 312, 349, 0, 0, 399, 438, 231, 508, - 461, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 546, 547, 548, 549, 550, 551, 552, 553, - 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 564, - 359, 451, 505, 314, 326, 329, 319, 338, 0, 339, - 315, 316, 321, 323, 324, 325, 330, 331, 335, 341, - 239, 202, 365, 373, 485, 295, 207, 208, 209, 478, - 479, 480, 481, 518, 519, 523, 430, 431, 432, 433, - 0, 191, 212, 345, 0, 422, 276, 542, 517, 513, - 198, 214, 0, 250, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 193, 194, 201, 213, 223, - 227, 234, 249, 264, 266, 273, 285, 290, 293, 299, - 300, 303, 309, 355, 361, 362, 363, 364, 383, 384, - 385, 388, 391, 392, 395, 397, 398, 401, 405, 409, - 410, 411, 412, 414, 416, 423, 428, 440, 441, 442, - 443, 444, 447, 448, 453, 454, 455, 456, 457, 465, - 466, 470, 493, 495, 507, 524, 529, 446, 286, 502, - 530, 0, 354, 0, 0, 356, 269, 289, 301, 0, - 516, 467, 218, 434, 278, 241, 0, 0, 203, 237, - 221, 247, 262, 265, 305, 366, 374, 403, 408, 283, - 259, 235, 427, 232, 450, 473, 474, 475, 477, 370, - 254, 407, 0, 0, 352, 483, 484, 297, 371, 0, - 0, 0, 78, 482, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 390, 0, 0, 0, 0, - 0, 0, 0, 0, 258, 0, 0, 0, 0, 343, - 255, 0, 0, 404, 0, 197, 0, 452, 242, 353, - 350, 490, 270, 261, 257, 240, 298, 360, 402, 472, - 396, 0, 347, 0, 0, 462, 375, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 304, 238, 306, 196, 387, 463, 274, 0, - 87, 0, 0, 188, 189, 190, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 229, 0, 236, 328, - 337, 336, 317, 318, 320, 322, 327, 334, 340, 0, - 0, 0, 0, 0, 253, 302, 260, 252, 487, 0, - 0, 0, 0, 0, 0, 0, 220, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 284, 0, 376, 245, 0, 0, 0, 0, - 526, 0, 0, 0, 0, 0, 0, 0, 342, 0, - 311, 192, 216, 0, 0, 386, 429, 439, 0, 0, - 0, 243, 0, 437, 400, 506, 224, 272, 426, 406, - 435, 413, 275, 0, 0, 436, 348, 492, 420, 503, - 527, 528, 251, 380, 514, 476, 522, 541, 217, 248, - 394, 469, 509, 459, 372, 488, 489, 310, 458, 282, - 195, 346, 533, 215, 445, 233, 222, 494, 512, 277, - 424, 204, 471, 501, 230, 449, 0, 0, 543, 206, - 499, 468, 368, 307, 308, 205, 0, 425, 256, 280, - 246, 389, 496, 497, 244, 544, 219, 521, 211, 0, - 520, 382, 491, 500, 369, 358, 210, 498, 367, 357, - 313, 332, 333, 268, 291, 418, 351, 419, 292, 378, - 377, 379, 199, 510, 0, 200, 0, 464, 511, 545, - 225, 226, 228, 0, 267, 271, 279, 281, 287, 288, - 296, 344, 393, 417, 415, 421, 0, 486, 504, 515, - 525, 531, 532, 534, 535, 536, 537, 538, 540, 539, - 381, 294, 460, 312, 349, 0, 0, 399, 438, 231, - 508, 461, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 546, 547, 548, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 564, 359, 451, 505, 314, 326, 329, 319, 338, 0, - 339, 315, 316, 321, 323, 324, 325, 330, 331, 335, - 341, 239, 202, 365, 373, 485, 295, 207, 208, 209, - 478, 479, 480, 481, 518, 519, 523, 430, 431, 432, - 433, 0, 191, 212, 345, 86, 422, 276, 542, 517, - 513, 198, 214, 0, 250, 0, 0, 0, 0, 0, - 0, 1958, 0, 0, 1957, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 193, 194, 201, 213, - 223, 227, 234, 249, 264, 266, 273, 285, 290, 293, - 299, 300, 303, 309, 355, 361, 362, 363, 364, 383, - 384, 385, 388, 391, 392, 395, 397, 398, 401, 405, - 409, 410, 411, 412, 414, 416, 423, 428, 440, 441, - 442, 443, 444, 447, 448, 453, 454, 455, 456, 457, - 465, 466, 470, 493, 495, 507, 524, 529, 446, 286, - 502, 530, 0, 354, 0, 0, 356, 269, 289, 301, - 0, 516, 467, 218, 434, 278, 241, 0, 0, 203, - 237, 221, 247, 262, 265, 305, 366, 374, 403, 408, - 283, 259, 235, 427, 232, 450, 473, 474, 475, 477, - 370, 254, 407, 0, 1440, 352, 483, 484, 297, 482, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 390, 0, 0, 0, 1442, 0, 0, 0, 0, - 258, 0, 0, 0, 0, 343, 255, 0, 0, 404, - 0, 197, 0, 452, 242, 353, 350, 490, 270, 261, - 257, 240, 298, 360, 402, 472, 396, 0, 347, 0, - 0, 462, 375, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 304, 238, - 306, 196, 387, 463, 274, 0, 0, 0, 0, 188, - 189, 190, 0, 1444, 0, 0, 0, 0, 0, 0, - 0, 0, 229, 0, 236, 328, 337, 336, 317, 318, - 320, 322, 327, 334, 340, 0, 0, 0, 0, 0, - 253, 302, 260, 252, 487, 0, 0, 0, 0, 0, - 0, 0, 220, 0, 0, 0, 1246, 0, 1247, 1248, - 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 284, 0, - 376, 245, 0, 0, 0, 0, 526, 0, 0, 0, - 0, 0, 0, 0, 342, 0, 311, 192, 216, 0, - 0, 386, 429, 439, 0, 0, 0, 243, 0, 437, - 400, 506, 224, 272, 426, 406, 435, 413, 275, 0, - 0, 436, 348, 492, 420, 503, 527, 528, 251, 380, - 514, 476, 522, 541, 217, 248, 394, 469, 509, 459, - 372, 488, 489, 310, 458, 282, 195, 346, 533, 215, - 445, 233, 222, 494, 512, 277, 424, 204, 471, 501, - 230, 449, 0, 0, 543, 206, 499, 468, 368, 307, - 308, 205, 0, 425, 256, 280, 246, 389, 496, 497, - 244, 544, 219, 521, 211, 0, 520, 382, 491, 500, - 369, 358, 210, 498, 367, 357, 313, 332, 333, 268, - 291, 418, 351, 419, 292, 378, 377, 379, 199, 510, - 0, 200, 0, 464, 511, 545, 225, 226, 228, 0, - 267, 271, 279, 281, 287, 288, 296, 344, 393, 417, - 415, 421, 0, 486, 504, 515, 525, 531, 532, 534, - 535, 536, 537, 538, 540, 539, 381, 294, 460, 312, - 349, 0, 0, 399, 438, 231, 508, 461, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 546, - 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, - 557, 558, 559, 560, 561, 562, 563, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 564, 359, 451, 505, - 314, 326, 329, 319, 338, 0, 339, 315, 316, 321, - 323, 324, 325, 330, 331, 335, 341, 239, 202, 365, - 373, 485, 295, 207, 208, 209, 478, 479, 480, 481, - 518, 519, 523, 430, 431, 432, 433, 0, 191, 212, - 345, 0, 422, 276, 542, 517, 513, 198, 214, 0, - 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 193, 194, 201, 213, 223, 227, 234, 249, - 264, 266, 273, 285, 290, 293, 299, 300, 303, 309, - 355, 361, 362, 363, 364, 383, 384, 385, 388, 391, - 392, 395, 397, 398, 401, 405, 409, 410, 411, 412, - 414, 416, 423, 428, 440, 441, 442, 443, 444, 447, - 448, 453, 454, 455, 456, 457, 465, 466, 470, 493, - 495, 507, 524, 529, 446, 286, 502, 530, 0, 354, - 0, 0, 356, 269, 289, 301, 0, 516, 467, 218, - 434, 278, 241, 0, 0, 203, 237, 221, 247, 262, - 265, 305, 366, 374, 403, 408, 283, 259, 235, 427, - 232, 450, 473, 474, 475, 477, 370, 254, 407, 0, - 371, 352, 483, 484, 297, 482, 0, 0, 0, 0, + 477, 370, 254, 407, 0, 0, 352, 483, 484, 297, + 371, 0, 0, 0, 78, 482, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 343, 255, 0, 0, 404, 0, 197, 0, 452, @@ -3901,8 +3697,8 @@ var yyAct = [...]int{ 402, 472, 396, 0, 347, 0, 0, 462, 375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, 238, 306, 196, 387, 463, - 274, 0, 0, 0, 0, 188, 189, 190, 1382, 1385, - 0, 0, 0, 0, 1381, 1384, 0, 0, 229, 1380, + 274, 0, 87, 0, 0, 188, 189, 190, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 229, 0, 236, 328, 337, 336, 317, 318, 320, 322, 327, 334, 340, 0, 0, 0, 0, 0, 253, 302, 260, 252, 487, 0, 0, 0, 0, 0, 0, 0, 220, 0, @@ -3941,9 +3737,9 @@ var yyAct = [...]int{ 338, 0, 339, 315, 316, 321, 323, 324, 325, 330, 331, 335, 341, 239, 202, 365, 373, 485, 295, 207, 208, 209, 478, 479, 480, 481, 518, 519, 523, 430, - 431, 432, 433, 0, 191, 212, 345, 0, 422, 276, + 431, 432, 433, 0, 191, 212, 345, 86, 422, 276, 542, 517, 513, 198, 214, 0, 250, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1959, 0, 0, 1958, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 213, 223, 227, 234, 249, 264, 266, 273, 285, 290, 293, 299, 300, 303, 309, 355, 361, 362, 363, @@ -3955,22 +3751,22 @@ var yyAct = [...]int{ 289, 301, 0, 516, 467, 218, 434, 278, 241, 0, 0, 203, 237, 221, 247, 262, 265, 305, 366, 374, 403, 408, 283, 259, 235, 427, 232, 450, 473, 474, - 475, 477, 370, 254, 407, 0, 0, 352, 483, 484, - 297, 371, 0, 0, 0, 78, 482, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, - 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, - 0, 0, 343, 255, 0, 0, 404, 0, 197, 0, - 452, 242, 353, 350, 490, 270, 261, 257, 240, 298, - 360, 402, 472, 396, 0, 347, 0, 0, 462, 375, + 475, 477, 370, 254, 407, 0, 1440, 352, 483, 484, + 297, 482, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 390, 0, 0, 0, 1442, 0, 0, + 0, 0, 258, 0, 0, 0, 0, 343, 255, 0, + 0, 404, 0, 197, 0, 452, 242, 353, 350, 490, + 270, 261, 257, 240, 298, 360, 402, 472, 396, 0, + 347, 0, 0, 462, 375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 304, 238, 306, 196, 387, - 463, 274, 0, 87, 0, 1421, 188, 189, 190, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 229, - 0, 236, 328, 337, 336, 317, 318, 320, 322, 327, - 334, 340, 0, 0, 0, 0, 0, 253, 302, 260, - 252, 487, 0, 0, 0, 0, 0, 0, 0, 220, + 304, 238, 306, 196, 387, 463, 274, 0, 0, 0, + 0, 188, 189, 190, 0, 1444, 0, 0, 0, 0, + 0, 0, 0, 0, 229, 0, 236, 328, 337, 336, + 317, 318, 320, 322, 327, 334, 340, 0, 0, 0, + 0, 0, 253, 302, 260, 252, 487, 0, 0, 0, + 0, 0, 0, 0, 220, 0, 0, 0, 1246, 0, + 1247, 1248, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3978,119 +3774,119 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 284, 0, 376, 245, 0, - 0, 0, 0, 526, 0, 0, 0, 0, 0, 0, - 0, 342, 0, 311, 192, 216, 0, 0, 386, 429, - 439, 0, 0, 0, 243, 0, 437, 400, 506, 224, - 272, 426, 406, 435, 413, 275, 0, 0, 436, 348, - 492, 420, 503, 527, 528, 251, 380, 514, 476, 522, - 541, 217, 248, 394, 469, 509, 459, 372, 488, 489, - 310, 458, 282, 195, 346, 533, 215, 445, 233, 222, - 494, 512, 277, 424, 204, 471, 501, 230, 449, 0, - 0, 543, 206, 499, 468, 368, 307, 308, 205, 0, - 425, 256, 280, 246, 389, 496, 497, 244, 544, 219, - 521, 211, 0, 520, 382, 491, 500, 369, 358, 210, - 498, 367, 357, 313, 332, 333, 268, 291, 418, 351, - 419, 292, 378, 377, 379, 199, 510, 0, 200, 0, - 464, 511, 545, 225, 226, 228, 0, 267, 271, 279, - 281, 287, 288, 296, 344, 393, 417, 415, 421, 0, - 486, 504, 515, 525, 531, 532, 534, 535, 536, 537, - 538, 540, 539, 381, 294, 460, 312, 349, 0, 0, - 399, 438, 231, 508, 461, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 546, 547, 548, 549, - 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, - 560, 561, 562, 563, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 564, 359, 451, 505, 314, 326, 329, - 319, 338, 0, 339, 315, 316, 321, 323, 324, 325, - 330, 331, 335, 341, 239, 202, 365, 373, 485, 295, - 207, 208, 209, 478, 479, 480, 481, 518, 519, 523, - 430, 431, 432, 433, 0, 191, 212, 345, 86, 422, - 276, 542, 517, 513, 198, 214, 0, 250, 0, 0, + 284, 0, 376, 245, 0, 0, 0, 0, 526, 0, + 0, 0, 0, 0, 0, 0, 342, 0, 311, 192, + 216, 0, 0, 386, 429, 439, 0, 0, 0, 243, + 0, 437, 400, 506, 224, 272, 426, 406, 435, 413, + 275, 0, 0, 436, 348, 492, 420, 503, 527, 528, + 251, 380, 514, 476, 522, 541, 217, 248, 394, 469, + 509, 459, 372, 488, 489, 310, 458, 282, 195, 346, + 533, 215, 445, 233, 222, 494, 512, 277, 424, 204, + 471, 501, 230, 449, 0, 0, 543, 206, 499, 468, + 368, 307, 308, 205, 0, 425, 256, 280, 246, 389, + 496, 497, 244, 544, 219, 521, 211, 0, 520, 382, + 491, 500, 369, 358, 210, 498, 367, 357, 313, 332, + 333, 268, 291, 418, 351, 419, 292, 378, 377, 379, + 199, 510, 0, 200, 0, 464, 511, 545, 225, 226, + 228, 0, 267, 271, 279, 281, 287, 288, 296, 344, + 393, 417, 415, 421, 0, 486, 504, 515, 525, 531, + 532, 534, 535, 536, 537, 538, 540, 539, 381, 294, + 460, 312, 349, 0, 0, 399, 438, 231, 508, 461, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 194, 201, 213, 223, 227, 234, 249, 264, 266, 273, - 285, 290, 293, 299, 300, 303, 309, 355, 361, 362, - 363, 364, 383, 384, 385, 388, 391, 392, 395, 397, - 398, 401, 405, 409, 410, 411, 412, 414, 416, 423, - 428, 440, 441, 442, 443, 444, 447, 448, 453, 454, - 455, 456, 457, 465, 466, 470, 493, 495, 507, 524, - 529, 446, 286, 502, 530, 0, 354, 0, 0, 356, - 269, 289, 301, 0, 516, 467, 218, 434, 278, 241, - 0, 0, 203, 237, 221, 247, 262, 265, 305, 366, - 374, 403, 408, 283, 259, 235, 427, 232, 450, 473, - 474, 475, 477, 370, 254, 407, 0, 371, 352, 483, - 484, 297, 482, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 390, 0, 0, 0, 0, 0, - 0, 0, 0, 258, 0, 0, 0, 0, 343, 255, - 0, 0, 404, 0, 197, 0, 452, 242, 353, 350, - 490, 270, 261, 257, 240, 298, 360, 402, 472, 396, - 0, 347, 0, 0, 462, 375, 0, 0, 0, 0, + 0, 546, 547, 548, 549, 550, 551, 552, 553, 554, + 555, 556, 557, 558, 559, 560, 561, 562, 563, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 564, 359, + 451, 505, 314, 326, 329, 319, 338, 0, 339, 315, + 316, 321, 323, 324, 325, 330, 331, 335, 341, 239, + 202, 365, 373, 485, 295, 207, 208, 209, 478, 479, + 480, 481, 518, 519, 523, 430, 431, 432, 433, 0, + 191, 212, 345, 0, 422, 276, 542, 517, 513, 198, + 214, 0, 250, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 193, 194, 201, 213, 223, 227, + 234, 249, 264, 266, 273, 285, 290, 293, 299, 300, + 303, 309, 355, 361, 362, 363, 364, 383, 384, 385, + 388, 391, 392, 395, 397, 398, 401, 405, 409, 410, + 411, 412, 414, 416, 423, 428, 440, 441, 442, 443, + 444, 447, 448, 453, 454, 455, 456, 457, 465, 466, + 470, 493, 495, 507, 524, 529, 446, 286, 502, 530, + 0, 354, 0, 0, 356, 269, 289, 301, 0, 516, + 467, 218, 434, 278, 241, 0, 0, 203, 237, 221, + 247, 262, 265, 305, 366, 374, 403, 408, 283, 259, + 235, 427, 232, 450, 473, 474, 475, 477, 370, 254, + 407, 0, 371, 352, 483, 484, 297, 482, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, + 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, + 0, 0, 0, 343, 255, 0, 0, 404, 0, 197, + 0, 452, 242, 353, 350, 490, 270, 261, 257, 240, + 298, 360, 402, 472, 396, 0, 347, 0, 0, 462, + 375, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 304, 238, 306, 196, + 387, 463, 274, 0, 0, 0, 0, 188, 189, 190, + 1382, 1385, 0, 0, 0, 0, 1381, 1384, 0, 0, + 229, 1380, 236, 328, 337, 336, 317, 318, 320, 322, + 327, 334, 340, 0, 0, 0, 0, 0, 253, 302, + 260, 252, 487, 0, 0, 0, 0, 0, 0, 0, + 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 304, 238, 306, 196, 387, 463, 274, 0, 87, - 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 229, 0, 236, 328, 337, - 336, 317, 318, 320, 322, 327, 334, 340, 0, 0, - 0, 0, 0, 253, 302, 260, 252, 487, 0, 0, - 0, 0, 0, 0, 0, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 284, 0, 376, 245, + 0, 0, 0, 0, 526, 0, 0, 0, 0, 0, + 0, 0, 342, 0, 311, 192, 216, 0, 0, 386, + 429, 439, 0, 0, 0, 243, 0, 437, 400, 506, + 224, 272, 426, 406, 435, 413, 275, 0, 0, 436, + 348, 492, 420, 503, 527, 528, 251, 380, 514, 476, + 522, 541, 217, 248, 394, 469, 509, 459, 372, 488, + 489, 310, 458, 282, 195, 346, 533, 215, 445, 233, + 222, 494, 512, 277, 424, 204, 471, 501, 230, 449, + 0, 0, 543, 206, 499, 468, 368, 307, 308, 205, + 0, 425, 256, 280, 246, 389, 496, 497, 244, 544, + 219, 521, 211, 0, 520, 382, 491, 500, 369, 358, + 210, 498, 367, 357, 313, 332, 333, 268, 291, 418, + 351, 419, 292, 378, 377, 379, 199, 510, 0, 200, + 0, 464, 511, 545, 225, 226, 228, 0, 267, 271, + 279, 281, 287, 288, 296, 344, 393, 417, 415, 421, + 0, 486, 504, 515, 525, 531, 532, 534, 535, 536, + 537, 538, 540, 539, 381, 294, 460, 312, 349, 0, + 0, 399, 438, 231, 508, 461, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 546, 547, 548, + 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, + 559, 560, 561, 562, 563, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 564, 359, 451, 505, 314, 326, + 329, 319, 338, 0, 339, 315, 316, 321, 323, 324, + 325, 330, 331, 335, 341, 239, 202, 365, 373, 485, + 295, 207, 208, 209, 478, 479, 480, 481, 518, 519, + 523, 430, 431, 432, 433, 0, 191, 212, 345, 0, + 422, 276, 542, 517, 513, 198, 214, 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 284, 0, 376, 245, 0, 0, 0, 0, 526, - 0, 0, 0, 0, 0, 0, 0, 342, 0, 311, - 192, 216, 0, 0, 386, 429, 439, 0, 0, 0, - 243, 0, 437, 400, 506, 224, 272, 426, 406, 435, - 413, 275, 0, 0, 436, 348, 492, 420, 503, 527, - 528, 251, 380, 514, 476, 522, 541, 217, 248, 394, - 469, 509, 459, 372, 488, 489, 310, 458, 282, 195, - 346, 533, 215, 445, 233, 222, 494, 512, 277, 424, - 204, 471, 501, 230, 449, 0, 0, 543, 206, 499, - 468, 368, 307, 308, 205, 0, 425, 256, 280, 246, - 389, 496, 497, 244, 544, 219, 521, 211, 0, 520, - 382, 491, 500, 369, 358, 210, 498, 367, 357, 313, - 332, 333, 268, 291, 418, 351, 419, 292, 378, 377, - 379, 199, 510, 0, 200, 0, 464, 511, 545, 225, - 226, 228, 0, 267, 271, 279, 281, 287, 288, 296, - 344, 393, 417, 415, 421, 0, 486, 504, 515, 525, - 531, 532, 534, 535, 536, 537, 538, 540, 539, 381, - 294, 460, 312, 349, 0, 0, 399, 438, 231, 508, - 461, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 546, 547, 548, 549, 550, 551, 552, 553, - 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 564, - 359, 451, 505, 314, 326, 329, 319, 338, 0, 339, - 315, 316, 321, 323, 324, 325, 330, 331, 335, 341, - 239, 202, 365, 373, 485, 295, 207, 208, 209, 478, - 479, 480, 481, 518, 519, 523, 430, 431, 432, 433, - 0, 191, 212, 345, 0, 422, 276, 542, 517, 513, - 198, 214, 0, 250, 0, 0, 0, 0, 0, 0, - 1958, 0, 0, 1957, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 193, 194, 201, 213, 223, - 227, 234, 249, 264, 266, 273, 285, 290, 293, 299, - 300, 303, 309, 355, 361, 362, 363, 364, 383, 384, - 385, 388, 391, 392, 395, 397, 398, 401, 405, 409, - 410, 411, 412, 414, 416, 423, 428, 440, 441, 442, - 443, 444, 447, 448, 453, 454, 455, 456, 457, 465, - 466, 470, 493, 495, 507, 524, 529, 446, 286, 502, - 530, 0, 354, 0, 0, 356, 269, 289, 301, 0, - 516, 467, 218, 434, 278, 241, 0, 0, 203, 237, - 221, 247, 262, 265, 305, 366, 374, 403, 408, 283, - 259, 235, 427, 232, 450, 473, 474, 475, 477, 370, - 254, 407, 0, 371, 352, 483, 484, 297, 482, 0, + 193, 194, 201, 213, 223, 227, 234, 249, 264, 266, + 273, 285, 290, 293, 299, 300, 303, 309, 355, 361, + 362, 363, 364, 383, 384, 385, 388, 391, 392, 395, + 397, 398, 401, 405, 409, 410, 411, 412, 414, 416, + 423, 428, 440, 441, 442, 443, 444, 447, 448, 453, + 454, 455, 456, 457, 465, 466, 470, 493, 495, 507, + 524, 529, 446, 286, 502, 530, 0, 354, 0, 0, + 356, 269, 289, 301, 0, 516, 467, 218, 434, 278, + 241, 0, 0, 203, 237, 221, 247, 262, 265, 305, + 366, 374, 403, 408, 283, 259, 235, 427, 232, 450, + 473, 474, 475, 477, 370, 254, 407, 0, 0, 352, + 483, 484, 297, 371, 0, 0, 0, 78, 482, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 390, 0, 0, 0, 1909, 0, 0, 0, 0, 258, + 390, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 343, 255, 0, 0, 404, 0, 197, 0, 452, 242, 353, 350, 490, 270, 261, 257, 240, 298, 360, 402, 472, 396, 0, 347, 0, 0, 462, 375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, 238, 306, - 196, 387, 463, 274, 0, 0, 0, 0, 188, 189, - 190, 0, 1622, 0, 0, 0, 0, 0, 0, 0, + 196, 387, 463, 274, 0, 87, 0, 1421, 188, 189, + 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 229, 0, 236, 328, 337, 336, 317, 318, 320, 322, 327, 334, 340, 0, 0, 0, 0, 0, 253, 302, 260, 252, 487, 0, 0, 0, 0, 0, 0, @@ -4107,7 +3903,7 @@ var yyAct = [...]int{ 245, 0, 0, 0, 0, 526, 0, 0, 0, 0, 0, 0, 0, 342, 0, 311, 192, 216, 0, 0, 386, 429, 439, 0, 0, 0, 243, 0, 437, 400, - 506, 224, 272, 426, 406, 435, 413, 275, 0, 1907, + 506, 224, 272, 426, 406, 435, 413, 275, 0, 0, 436, 348, 492, 420, 503, 527, 528, 251, 380, 514, 476, 522, 541, 217, 248, 394, 469, 509, 459, 372, 488, 489, 310, 458, 282, 195, 346, 533, 215, 445, @@ -4130,7 +3926,7 @@ var yyAct = [...]int{ 324, 325, 330, 331, 335, 341, 239, 202, 365, 373, 485, 295, 207, 208, 209, 478, 479, 480, 481, 518, 519, 523, 430, 431, 432, 433, 0, 191, 212, 345, - 0, 422, 276, 542, 517, 513, 198, 214, 0, 250, + 86, 422, 276, 542, 517, 513, 198, 214, 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 213, 223, 227, 234, 249, 264, @@ -4152,14 +3948,14 @@ var yyAct = [...]int{ 472, 396, 0, 347, 0, 0, 462, 375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, 238, 306, 196, 387, 463, 274, - 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, + 0, 87, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 229, 0, 236, 328, 337, 336, 317, 318, 320, 322, 327, 334, 340, 0, 0, 0, 0, 0, 253, 302, 260, 252, 487, 0, 0, 0, 0, 0, 0, 0, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, - 0, 1025, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4168,7 +3964,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 284, 0, 376, 245, 0, 0, 0, 0, 526, 0, 0, 0, 0, 0, 0, 0, 342, - 1031, 311, 192, 216, 1029, 0, 386, 429, 439, 0, + 0, 311, 192, 216, 0, 0, 386, 429, 439, 0, 0, 0, 243, 0, 437, 400, 506, 224, 272, 426, 406, 435, 413, 275, 0, 0, 436, 348, 492, 420, 503, 527, 528, 251, 380, 514, 476, 522, 541, 217, @@ -4194,7 +3990,7 @@ var yyAct = [...]int{ 209, 478, 479, 480, 481, 518, 519, 523, 430, 431, 432, 433, 0, 191, 212, 345, 0, 422, 276, 542, 517, 513, 198, 214, 0, 250, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1959, 0, 0, 1958, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 213, 223, 227, 234, 249, 264, 266, 273, 285, 290, 293, 299, 300, 303, 309, 355, 361, 362, 363, 364, @@ -4208,7 +4004,7 @@ var yyAct = [...]int{ 408, 283, 259, 235, 427, 232, 450, 473, 474, 475, 477, 370, 254, 407, 0, 371, 352, 483, 484, 297, 482, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 390, 0, 0, 0, 1909, 0, 0, 0, + 0, 0, 390, 0, 0, 0, 1910, 0, 0, 0, 0, 258, 0, 0, 0, 0, 343, 255, 0, 0, 404, 0, 197, 0, 452, 242, 353, 350, 490, 270, 261, 257, 240, 298, 360, 402, 472, 396, 0, 347, @@ -4233,7 +4029,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 342, 0, 311, 192, 216, 0, 0, 386, 429, 439, 0, 0, 0, 243, 0, 437, 400, 506, 224, 272, 426, 406, 435, 413, 275, - 0, 0, 436, 348, 492, 420, 503, 527, 528, 251, + 0, 1908, 436, 348, 492, 420, 503, 527, 528, 251, 380, 514, 476, 522, 541, 217, 248, 394, 469, 509, 459, 372, 488, 489, 310, 458, 282, 195, 346, 533, 215, 445, 233, 222, 494, 512, 277, 424, 204, 471, @@ -4277,14 +4073,14 @@ var yyAct = [...]int{ 360, 402, 472, 396, 0, 347, 0, 0, 462, 375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, 238, 306, 196, 387, - 463, 274, 0, 0, 0, 1421, 188, 189, 190, 0, + 463, 274, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 229, 0, 236, 328, 337, 336, 317, 318, 320, 322, 327, 334, 340, 0, 0, 0, 0, 0, 253, 302, 260, 252, 487, 0, 0, 0, 0, 0, 0, 0, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1025, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4292,8 +4088,8 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 284, 0, 376, 245, 0, - 0, 0, 0, 526, 0, 0, 0, 3111, 0, 0, - 0, 342, 0, 311, 192, 216, 0, 0, 386, 429, + 0, 0, 0, 526, 0, 0, 0, 0, 0, 0, + 0, 342, 1031, 311, 192, 216, 1029, 0, 386, 429, 439, 0, 0, 0, 243, 0, 437, 400, 506, 224, 272, 426, 406, 435, 413, 275, 0, 0, 436, 348, 492, 420, 503, 527, 528, 251, 380, 514, 476, 522, @@ -4333,14 +4129,14 @@ var yyAct = [...]int{ 374, 403, 408, 283, 259, 235, 427, 232, 450, 473, 474, 475, 477, 370, 254, 407, 0, 371, 352, 483, 484, 297, 482, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 390, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 390, 0, 0, 0, 1910, 0, 0, 0, 0, 258, 0, 0, 0, 0, 343, 255, 0, 0, 404, 0, 197, 0, 452, 242, 353, 350, 490, 270, 261, 257, 240, 298, 360, 402, 472, 396, 0, 347, 0, 0, 462, 375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, 238, 306, 196, 387, 463, 274, 0, 0, - 0, 0, 188, 189, 190, 0, 1765, 0, 0, 0, + 0, 0, 188, 189, 190, 0, 1622, 0, 0, 0, 0, 0, 0, 0, 0, 229, 0, 236, 328, 337, 336, 317, 318, 320, 322, 327, 334, 340, 0, 0, 0, 0, 0, 253, 302, 260, 252, 487, 0, 0, @@ -4348,7 +4144,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1766, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4402,8 +4198,8 @@ var yyAct = [...]int{ 240, 298, 360, 402, 472, 396, 0, 347, 0, 0, 462, 375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, 238, 306, - 196, 387, 463, 274, 0, 0, 0, 0, 188, 189, - 190, 0, 2279, 0, 0, 0, 0, 0, 0, 0, + 196, 387, 463, 274, 0, 0, 0, 1421, 188, 189, + 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 229, 0, 236, 328, 337, 336, 317, 318, 320, 322, 327, 334, 340, 0, 0, 0, 0, 0, 253, 302, 260, 252, 487, 0, 0, 0, 0, 0, 0, @@ -4411,13 +4207,13 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2280, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 284, 0, 376, - 245, 0, 0, 0, 0, 526, 0, 0, 0, 0, + 245, 0, 0, 0, 0, 526, 0, 0, 0, 3111, 0, 0, 0, 342, 0, 311, 192, 216, 0, 0, 386, 429, 439, 0, 0, 0, 243, 0, 437, 400, 506, 224, 272, 426, 406, 435, 413, 275, 0, 0, @@ -4465,15 +4261,15 @@ var yyAct = [...]int{ 472, 396, 0, 347, 0, 0, 462, 375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, 238, 306, 196, 387, 463, 274, - 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, - 2264, 0, 0, 0, 2265, 0, 0, 229, 0, 236, + 0, 0, 0, 0, 188, 189, 190, 0, 1765, 0, + 0, 0, 0, 0, 0, 0, 0, 229, 0, 236, 328, 337, 336, 317, 318, 320, 322, 327, 334, 340, 0, 0, 0, 0, 0, 253, 302, 260, 252, 487, 0, 0, 0, 0, 0, 0, 0, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1766, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4522,13 +4318,13 @@ var yyAct = [...]int{ 477, 370, 254, 407, 0, 371, 352, 483, 484, 297, 482, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, 0, 0, 0, 0, 0, 0, - 0, 258, 1465, 0, 0, 0, 343, 255, 0, 0, + 0, 258, 0, 0, 0, 0, 343, 255, 0, 0, 404, 0, 197, 0, 452, 242, 353, 350, 490, 270, 261, 257, 240, 298, 360, 402, 472, 396, 0, 347, 0, 0, 462, 375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, 238, 306, 196, 387, 463, 274, 0, 0, 0, 0, - 188, 189, 190, 0, 1464, 0, 0, 0, 0, 0, + 188, 189, 190, 0, 2280, 0, 0, 0, 0, 0, 0, 0, 0, 229, 0, 236, 328, 337, 336, 317, 318, 320, 322, 327, 334, 340, 0, 0, 0, 0, 0, 253, 302, 260, 252, 487, 0, 0, 0, 0, @@ -4536,7 +4332,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2281, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4591,7 +4387,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, 238, 306, 196, 387, 463, 274, 0, 0, 0, 0, 188, 189, 190, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 229, + 0, 0, 2265, 0, 0, 0, 2266, 0, 0, 229, 0, 236, 328, 337, 336, 317, 318, 320, 322, 327, 334, 340, 0, 0, 0, 0, 0, 253, 302, 260, 252, 487, 0, 0, 0, 0, 0, 0, 0, 220, @@ -4605,7 +4401,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 284, 0, 376, 245, 0, - 0, 0, 0, 526, 0, 0, 0, 3237, 0, 0, + 0, 0, 0, 526, 0, 0, 0, 0, 0, 0, 0, 342, 0, 311, 192, 216, 0, 0, 386, 429, 439, 0, 0, 0, 243, 0, 437, 400, 506, 224, 272, 426, 406, 435, 413, 275, 0, 0, 436, 348, @@ -4647,13 +4443,13 @@ var yyAct = [...]int{ 474, 475, 477, 370, 254, 407, 0, 371, 352, 483, 484, 297, 482, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, 0, 0, 0, 0, - 0, 0, 0, 258, 0, 0, 0, 0, 343, 255, + 0, 0, 0, 258, 1465, 0, 0, 0, 343, 255, 0, 0, 404, 0, 197, 0, 452, 242, 353, 350, 490, 270, 261, 257, 240, 298, 360, 402, 472, 396, 0, 347, 0, 0, 462, 375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, 238, 306, 196, 387, 463, 274, 0, 0, - 0, 0, 188, 189, 190, 0, 1622, 0, 0, 0, + 0, 0, 188, 189, 190, 0, 1464, 0, 0, 0, 0, 0, 0, 0, 0, 229, 0, 236, 328, 337, 336, 317, 318, 320, 322, 327, 334, 340, 0, 0, 0, 0, 0, 253, 302, 260, 252, 487, 0, 0, @@ -4730,7 +4526,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 284, 0, 376, - 245, 0, 0, 0, 0, 526, 0, 0, 0, 3111, + 245, 0, 0, 0, 0, 526, 0, 0, 0, 3237, 0, 0, 0, 342, 0, 311, 192, 216, 0, 0, 386, 429, 439, 0, 0, 0, 243, 0, 437, 400, 506, 224, 272, 426, 406, 435, 413, 275, 0, 0, @@ -4778,7 +4574,7 @@ var yyAct = [...]int{ 472, 396, 0, 347, 0, 0, 462, 375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, 238, 306, 196, 387, 463, 274, - 0, 87, 0, 0, 188, 189, 190, 0, 0, 0, + 0, 0, 0, 0, 188, 189, 190, 0, 1622, 0, 0, 0, 0, 0, 0, 0, 0, 229, 0, 236, 328, 337, 336, 317, 318, 320, 322, 327, 334, 340, 0, 0, 0, 0, 0, 253, 302, 260, 252, 487, @@ -4833,7 +4629,7 @@ var yyAct = [...]int{ 203, 237, 221, 247, 262, 265, 305, 366, 374, 403, 408, 283, 259, 235, 427, 232, 450, 473, 474, 475, 477, 370, 254, 407, 0, 371, 352, 483, 484, 297, - 482, 0, 0, 0, 0, 1959, 0, 0, 0, 0, + 482, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 343, 255, 0, 0, 404, 0, 197, 0, 452, 242, 353, 350, 490, 270, @@ -4856,7 +4652,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 284, 0, 376, 245, 0, 0, 0, 0, 526, 0, 0, - 0, 0, 0, 0, 0, 342, 0, 311, 192, 216, + 0, 3111, 0, 0, 0, 342, 0, 311, 192, 216, 0, 0, 386, 429, 439, 0, 0, 0, 243, 0, 437, 400, 506, 224, 272, 426, 406, 435, 413, 275, 0, 0, 436, 348, 492, 420, 503, 527, 528, 251, @@ -4903,8 +4699,8 @@ var yyAct = [...]int{ 360, 402, 472, 396, 0, 347, 0, 0, 462, 375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, 238, 306, 196, 387, - 463, 274, 0, 0, 0, 0, 188, 189, 190, 0, - 1444, 0, 0, 0, 0, 0, 0, 0, 0, 229, + 463, 274, 0, 87, 0, 0, 188, 189, 190, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 229, 0, 236, 328, 337, 336, 317, 318, 320, 322, 327, 334, 340, 0, 0, 0, 0, 0, 253, 302, 260, 252, 487, 0, 0, 0, 0, 0, 0, 0, 220, @@ -4958,7 +4754,7 @@ var yyAct = [...]int{ 0, 0, 203, 237, 221, 247, 262, 265, 305, 366, 374, 403, 408, 283, 259, 235, 427, 232, 450, 473, 474, 475, 477, 370, 254, 407, 0, 371, 352, 483, - 484, 297, 482, 0, 0, 0, 0, 0, 0, 0, + 484, 297, 482, 0, 0, 0, 0, 1960, 0, 0, 0, 0, 0, 0, 390, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 343, 255, 0, 0, 404, 0, 197, 0, 452, 242, 353, 350, @@ -4974,7 +4770,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1279, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5029,7 +4825,7 @@ var yyAct = [...]int{ 462, 375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, 238, 306, 196, 387, 463, 274, 0, 0, 0, 0, 188, 189, - 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 190, 0, 1444, 0, 0, 0, 0, 0, 0, 0, 0, 229, 0, 236, 328, 337, 336, 317, 318, 320, 322, 327, 334, 340, 0, 0, 0, 0, 0, 253, 302, 260, 252, 487, 0, 0, 0, 0, 0, 0, @@ -5069,7 +4865,7 @@ var yyAct = [...]int{ 324, 325, 330, 331, 335, 341, 239, 202, 365, 373, 485, 295, 207, 208, 209, 478, 479, 480, 481, 518, 519, 523, 430, 431, 432, 433, 0, 191, 212, 345, - 1720, 422, 276, 542, 517, 513, 198, 214, 0, 250, + 0, 422, 276, 542, 517, 513, 198, 214, 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 213, 223, 227, 234, 249, 264, @@ -5084,7 +4880,7 @@ var yyAct = [...]int{ 305, 366, 374, 403, 408, 283, 259, 235, 427, 232, 450, 473, 474, 475, 477, 370, 254, 407, 0, 371, 352, 483, 484, 297, 482, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 390, 0, 1590, 0, + 0, 0, 0, 0, 0, 0, 390, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 343, 255, 0, 0, 404, 0, 197, 0, 452, 242, 353, 350, 490, 270, 261, 257, 240, 298, 360, 402, @@ -5099,7 +4895,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5147,7 +4943,7 @@ var yyAct = [...]int{ 408, 283, 259, 235, 427, 232, 450, 473, 474, 475, 477, 370, 254, 407, 0, 371, 352, 483, 484, 297, 482, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 390, 0, 1588, 0, 0, 0, 0, 0, + 0, 0, 390, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 343, 255, 0, 0, 404, 0, 197, 0, 452, 242, 353, 350, 490, 270, 261, 257, 240, 298, 360, 402, 472, 396, 0, 347, @@ -5194,7 +4990,7 @@ var yyAct = [...]int{ 321, 323, 324, 325, 330, 331, 335, 341, 239, 202, 365, 373, 485, 295, 207, 208, 209, 478, 479, 480, 481, 518, 519, 523, 430, 431, 432, 433, 0, 191, - 212, 345, 0, 422, 276, 542, 517, 513, 198, 214, + 212, 345, 1720, 422, 276, 542, 517, 513, 198, 214, 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 213, 223, 227, 234, @@ -5210,7 +5006,7 @@ var yyAct = [...]int{ 427, 232, 450, 473, 474, 475, 477, 370, 254, 407, 0, 371, 352, 483, 484, 297, 482, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, - 1586, 0, 0, 0, 0, 0, 0, 258, 0, 0, + 1590, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 343, 255, 0, 0, 404, 0, 197, 0, 452, 242, 353, 350, 490, 270, 261, 257, 240, 298, 360, 402, 472, 396, 0, 347, 0, 0, 462, 375, @@ -5272,7 +5068,7 @@ var yyAct = [...]int{ 374, 403, 408, 283, 259, 235, 427, 232, 450, 473, 474, 475, 477, 370, 254, 407, 0, 371, 352, 483, 484, 297, 482, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 390, 0, 1584, 0, 0, 0, + 0, 0, 0, 0, 390, 0, 1588, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 343, 255, 0, 0, 404, 0, 197, 0, 452, 242, 353, 350, 490, 270, 261, 257, 240, 298, 360, 402, 472, 396, @@ -5335,7 +5131,7 @@ var yyAct = [...]int{ 259, 235, 427, 232, 450, 473, 474, 475, 477, 370, 254, 407, 0, 371, 352, 483, 484, 297, 482, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 390, 0, 1582, 0, 0, 0, 0, 0, 0, 258, + 390, 0, 1586, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 343, 255, 0, 0, 404, 0, 197, 0, 452, 242, 353, 350, 490, 270, 261, 257, 240, 298, 360, 402, 472, 396, 0, 347, 0, 0, @@ -5397,7 +5193,7 @@ var yyAct = [...]int{ 305, 366, 374, 403, 408, 283, 259, 235, 427, 232, 450, 473, 474, 475, 477, 370, 254, 407, 0, 371, 352, 483, 484, 297, 482, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 390, 0, 1578, 0, + 0, 0, 0, 0, 0, 0, 390, 0, 1584, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 343, 255, 0, 0, 404, 0, 197, 0, 452, 242, 353, 350, 490, 270, 261, 257, 240, 298, 360, 402, @@ -5460,7 +5256,7 @@ var yyAct = [...]int{ 408, 283, 259, 235, 427, 232, 450, 473, 474, 475, 477, 370, 254, 407, 0, 371, 352, 483, 484, 297, 482, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 390, 0, 1576, 0, 0, 0, 0, 0, + 0, 0, 390, 0, 1582, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 343, 255, 0, 0, 404, 0, 197, 0, 452, 242, 353, 350, 490, 270, 261, 257, 240, 298, 360, 402, 472, 396, 0, 347, @@ -5523,7 +5319,7 @@ var yyAct = [...]int{ 427, 232, 450, 473, 474, 475, 477, 370, 254, 407, 0, 371, 352, 483, 484, 297, 482, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, - 1574, 0, 0, 0, 0, 0, 0, 258, 0, 0, + 1578, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 343, 255, 0, 0, 404, 0, 197, 0, 452, 242, 353, 350, 490, 270, 261, 257, 240, 298, 360, 402, 472, 396, 0, 347, 0, 0, 462, 375, @@ -5585,13 +5381,13 @@ var yyAct = [...]int{ 374, 403, 408, 283, 259, 235, 427, 232, 450, 473, 474, 475, 477, 370, 254, 407, 0, 371, 352, 483, 484, 297, 482, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 390, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 390, 0, 1576, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 343, 255, 0, 0, 404, 0, 197, 0, 452, 242, 353, 350, 490, 270, 261, 257, 240, 298, 360, 402, 472, 396, 0, 347, 0, 0, 462, 375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 304, 238, 306, 196, 387, 463, 274, 0, 1549, + 0, 304, 238, 306, 196, 387, 463, 274, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 229, 0, 236, 328, 337, 336, 317, 318, 320, 322, 327, 334, 340, 0, 0, @@ -5648,7 +5444,7 @@ var yyAct = [...]int{ 259, 235, 427, 232, 450, 473, 474, 475, 477, 370, 254, 407, 0, 371, 352, 483, 484, 297, 482, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 390, 0, 0, 0, 0, 0, 0, 0, 1449, 258, + 390, 0, 1574, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 343, 255, 0, 0, 404, 0, 197, 0, 452, 242, 353, 350, 490, 270, 261, 257, 240, 298, 360, 402, 472, 396, 0, 347, 0, 0, @@ -5717,7 +5513,7 @@ var yyAct = [...]int{ 472, 396, 0, 347, 0, 0, 462, 375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, 238, 306, 196, 387, 463, 274, - 0, 0, 0, 0, 188, 189, 190, 0, 1223, 0, + 0, 1549, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 229, 0, 236, 328, 337, 336, 317, 318, 320, 322, 327, 334, 340, 0, 0, 0, 0, 0, 253, 302, 260, 252, 487, @@ -5774,7 +5570,7 @@ var yyAct = [...]int{ 477, 370, 254, 407, 0, 371, 352, 483, 484, 297, 482, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 0, 0, 0, 0, 0, 0, 0, - 0, 258, 0, 0, 0, 0, 343, 255, 0, 0, + 1449, 258, 0, 0, 0, 0, 343, 255, 0, 0, 404, 0, 197, 0, 452, 242, 353, 350, 490, 270, 261, 257, 240, 298, 360, 402, 472, 396, 0, 347, 0, 0, 462, 375, 0, 0, 0, 0, 0, 0, @@ -5822,7 +5618,7 @@ var yyAct = [...]int{ 481, 518, 519, 523, 430, 431, 432, 433, 0, 191, 212, 345, 0, 422, 276, 542, 517, 513, 198, 214, 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 835, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 213, 223, 227, 234, 249, 264, 266, 273, 285, 290, 293, 299, 300, 303, 309, 355, 361, 362, 363, 364, 383, 384, 385, 388, @@ -5843,7 +5639,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, 238, 306, 196, 387, 463, 274, 0, 0, 0, 0, 188, 189, 190, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 229, + 1223, 0, 0, 0, 0, 0, 0, 0, 0, 229, 0, 236, 328, 337, 336, 317, 318, 320, 322, 327, 334, 340, 0, 0, 0, 0, 0, 253, 302, 260, 252, 487, 0, 0, 0, 0, 0, 0, 0, 220, @@ -5856,7 +5652,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 621, 0, 284, 0, 376, 245, 0, + 0, 0, 0, 0, 0, 284, 0, 376, 245, 0, 0, 0, 0, 526, 0, 0, 0, 0, 0, 0, 0, 342, 0, 311, 192, 216, 0, 0, 386, 429, 439, 0, 0, 0, 243, 0, 437, 400, 506, 224, @@ -5892,7 +5688,7 @@ var yyAct = [...]int{ 398, 401, 405, 409, 410, 411, 412, 414, 416, 423, 428, 440, 441, 442, 443, 444, 447, 448, 453, 454, 455, 456, 457, 465, 466, 470, 493, 495, 507, 524, - 529, 446, 620, 502, 530, 0, 354, 0, 0, 356, + 529, 446, 286, 502, 530, 0, 354, 0, 0, 356, 269, 289, 301, 0, 516, 467, 218, 434, 278, 241, 0, 0, 203, 237, 221, 247, 262, 265, 305, 366, 374, 403, 408, 283, 259, 235, 427, 232, 450, 473, @@ -5919,7 +5715,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 284, 0, 376, 245, 0, 0, 567, 0, 526, + 0, 284, 0, 376, 245, 0, 0, 0, 0, 526, 0, 0, 0, 0, 0, 0, 0, 342, 0, 311, 192, 216, 0, 0, 386, 429, 439, 0, 0, 0, 243, 0, 437, 400, 506, 224, 272, 426, 406, 435, @@ -5948,7 +5744,7 @@ var yyAct = [...]int{ 0, 191, 212, 345, 0, 422, 276, 542, 517, 513, 198, 214, 0, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 193, 194, 201, 213, 223, + 0, 835, 0, 0, 0, 193, 194, 201, 213, 223, 227, 234, 249, 264, 266, 273, 285, 290, 293, 299, 300, 303, 309, 355, 361, 362, 363, 364, 383, 384, 385, 388, 391, 392, 395, 397, 398, 401, 405, 409, @@ -5981,7 +5777,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 284, 0, 376, + 0, 0, 0, 0, 0, 621, 0, 284, 0, 376, 245, 0, 0, 0, 0, 526, 0, 0, 0, 0, 0, 0, 0, 342, 0, 311, 192, 216, 0, 0, 386, 429, 439, 0, 0, 0, 243, 0, 437, 400, @@ -6013,11 +5809,11 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 213, 223, 227, 234, 249, 264, 266, 273, 285, 290, 293, 299, 300, 303, 309, 355, - 361, 362, 363, 364, 3245, 384, 385, 388, 391, 392, + 361, 362, 363, 364, 383, 384, 385, 388, 391, 392, 395, 397, 398, 401, 405, 409, 410, 411, 412, 414, 416, 423, 428, 440, 441, 442, 443, 444, 447, 448, 453, 454, 455, 456, 457, 465, 466, 470, 493, 495, - 507, 524, 529, 446, 286, 502, 530, 0, 354, 0, + 507, 524, 529, 446, 620, 502, 530, 0, 354, 0, 0, 356, 269, 289, 301, 0, 516, 467, 218, 434, 278, 241, 0, 0, 203, 237, 221, 247, 262, 265, 305, 366, 374, 403, 408, 283, 259, 235, 427, 232, @@ -6044,7 +5840,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 284, 0, 376, 245, 0, 0, 0, + 0, 0, 0, 284, 0, 376, 245, 0, 0, 567, 0, 526, 0, 0, 0, 0, 0, 0, 0, 342, 0, 311, 192, 216, 0, 0, 386, 429, 439, 0, 0, 0, 243, 0, 437, 400, 506, 224, 272, 426, @@ -6093,7 +5889,7 @@ var yyAct = [...]int{ 0, 0, 462, 375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, 238, 306, 196, 387, 463, 274, 0, 0, 0, 0, - 188, 2785, 190, 0, 0, 0, 0, 0, 0, 0, + 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 229, 0, 236, 328, 337, 336, 317, 318, 320, 322, 327, 334, 340, 0, 0, 0, 0, 0, 253, 302, 260, 252, 487, 0, 0, 0, 0, @@ -6138,7 +5934,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 194, 201, 213, 223, 227, 234, 249, 264, 266, 273, 285, 290, 293, 299, 300, 303, - 309, 355, 361, 362, 363, 364, 383, 384, 385, 388, + 309, 355, 361, 362, 363, 364, 3245, 384, 385, 388, 391, 392, 395, 397, 398, 401, 405, 409, 410, 411, 412, 414, 416, 423, 428, 440, 441, 442, 443, 444, 447, 448, 453, 454, 455, 456, 457, 465, 466, 470, @@ -6155,7 +5951,7 @@ var yyAct = [...]int{ 360, 402, 472, 396, 0, 347, 0, 0, 462, 375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, 238, 306, 196, 387, - 463, 274, 0, 0, 0, 0, 188, 2260, 190, 0, + 463, 274, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 229, 0, 236, 328, 337, 336, 317, 318, 320, 322, 327, 334, 340, 0, 0, 0, 0, 0, 253, 302, 260, @@ -6209,30 +6005,155 @@ var yyAct = [...]int{ 269, 289, 301, 0, 516, 467, 218, 434, 278, 241, 0, 0, 203, 237, 221, 247, 262, 265, 305, 366, 374, 403, 408, 283, 259, 235, 427, 232, 450, 473, - 474, 475, 477, 370, 254, 407, 0, 0, 352, 483, - 484, 297, + 474, 475, 477, 370, 254, 407, 0, 371, 352, 483, + 484, 297, 482, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 390, 0, 0, 0, 0, 0, + 0, 0, 0, 258, 0, 0, 0, 0, 343, 255, + 0, 0, 404, 0, 197, 0, 452, 242, 353, 350, + 490, 270, 261, 257, 240, 298, 360, 402, 472, 396, + 0, 347, 0, 0, 462, 375, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 304, 238, 306, 196, 387, 463, 274, 0, 0, + 0, 0, 188, 2785, 190, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 229, 0, 236, 328, 337, + 336, 317, 318, 320, 322, 327, 334, 340, 0, 0, + 0, 0, 0, 253, 302, 260, 252, 487, 0, 0, + 0, 0, 0, 0, 0, 220, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 284, 0, 376, 245, 0, 0, 0, 0, 526, + 0, 0, 0, 0, 0, 0, 0, 342, 0, 311, + 192, 216, 0, 0, 386, 429, 439, 0, 0, 0, + 243, 0, 437, 400, 506, 224, 272, 426, 406, 435, + 413, 275, 0, 0, 436, 348, 492, 420, 503, 527, + 528, 251, 380, 514, 476, 522, 541, 217, 248, 394, + 469, 509, 459, 372, 488, 489, 310, 458, 282, 195, + 346, 533, 215, 445, 233, 222, 494, 512, 277, 424, + 204, 471, 501, 230, 449, 0, 0, 543, 206, 499, + 468, 368, 307, 308, 205, 0, 425, 256, 280, 246, + 389, 496, 497, 244, 544, 219, 521, 211, 0, 520, + 382, 491, 500, 369, 358, 210, 498, 367, 357, 313, + 332, 333, 268, 291, 418, 351, 419, 292, 378, 377, + 379, 199, 510, 0, 200, 0, 464, 511, 545, 225, + 226, 228, 0, 267, 271, 279, 281, 287, 288, 296, + 344, 393, 417, 415, 421, 0, 486, 504, 515, 525, + 531, 532, 534, 535, 536, 537, 538, 540, 539, 381, + 294, 460, 312, 349, 0, 0, 399, 438, 231, 508, + 461, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 546, 547, 548, 549, 550, 551, 552, 553, + 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 564, + 359, 451, 505, 314, 326, 329, 319, 338, 0, 339, + 315, 316, 321, 323, 324, 325, 330, 331, 335, 341, + 239, 202, 365, 373, 485, 295, 207, 208, 209, 478, + 479, 480, 481, 518, 519, 523, 430, 431, 432, 433, + 0, 191, 212, 345, 0, 422, 276, 542, 517, 513, + 198, 214, 0, 250, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 193, 194, 201, 213, 223, + 227, 234, 249, 264, 266, 273, 285, 290, 293, 299, + 300, 303, 309, 355, 361, 362, 363, 364, 383, 384, + 385, 388, 391, 392, 395, 397, 398, 401, 405, 409, + 410, 411, 412, 414, 416, 423, 428, 440, 441, 442, + 443, 444, 447, 448, 453, 454, 455, 456, 457, 465, + 466, 470, 493, 495, 507, 524, 529, 446, 286, 502, + 530, 0, 354, 0, 0, 356, 269, 289, 301, 0, + 516, 467, 218, 434, 278, 241, 0, 0, 203, 237, + 221, 247, 262, 265, 305, 366, 374, 403, 408, 283, + 259, 235, 427, 232, 450, 473, 474, 475, 477, 370, + 254, 407, 0, 371, 352, 483, 484, 297, 482, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 390, 0, 0, 0, 0, 0, 0, 0, 0, 258, + 0, 0, 0, 0, 343, 255, 0, 0, 404, 0, + 197, 0, 452, 242, 353, 350, 490, 270, 261, 257, + 240, 298, 360, 402, 472, 396, 0, 347, 0, 0, + 462, 375, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 304, 238, 306, + 196, 387, 463, 274, 0, 0, 0, 0, 188, 2261, + 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 229, 0, 236, 328, 337, 336, 317, 318, 320, + 322, 327, 334, 340, 0, 0, 0, 0, 0, 253, + 302, 260, 252, 487, 0, 0, 0, 0, 0, 0, + 0, 220, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 284, 0, 376, + 245, 0, 0, 0, 0, 526, 0, 0, 0, 0, + 0, 0, 0, 342, 0, 311, 192, 216, 0, 0, + 386, 429, 439, 0, 0, 0, 243, 0, 437, 400, + 506, 224, 272, 426, 406, 435, 413, 275, 0, 0, + 436, 348, 492, 420, 503, 527, 528, 251, 380, 514, + 476, 522, 541, 217, 248, 394, 469, 509, 459, 372, + 488, 489, 310, 458, 282, 195, 346, 533, 215, 445, + 233, 222, 494, 512, 277, 424, 204, 471, 501, 230, + 449, 0, 0, 543, 206, 499, 468, 368, 307, 308, + 205, 0, 425, 256, 280, 246, 389, 496, 497, 244, + 544, 219, 521, 211, 0, 520, 382, 491, 500, 369, + 358, 210, 498, 367, 357, 313, 332, 333, 268, 291, + 418, 351, 419, 292, 378, 377, 379, 199, 510, 0, + 200, 0, 464, 511, 545, 225, 226, 228, 0, 267, + 271, 279, 281, 287, 288, 296, 344, 393, 417, 415, + 421, 0, 486, 504, 515, 525, 531, 532, 534, 535, + 536, 537, 538, 540, 539, 381, 294, 460, 312, 349, + 0, 0, 399, 438, 231, 508, 461, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 546, 547, + 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, + 558, 559, 560, 561, 562, 563, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 564, 359, 451, 505, 314, + 326, 329, 319, 338, 0, 339, 315, 316, 321, 323, + 324, 325, 330, 331, 335, 341, 239, 202, 365, 373, + 485, 295, 207, 208, 209, 478, 479, 480, 481, 518, + 519, 523, 430, 431, 432, 433, 0, 191, 212, 345, + 0, 422, 276, 542, 517, 513, 198, 214, 0, 250, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 193, 194, 201, 213, 223, 227, 234, 249, 264, + 266, 273, 285, 290, 293, 299, 300, 303, 309, 355, + 361, 362, 363, 364, 383, 384, 385, 388, 391, 392, + 395, 397, 398, 401, 405, 409, 410, 411, 412, 414, + 416, 423, 428, 440, 441, 442, 443, 444, 447, 448, + 453, 454, 455, 456, 457, 465, 466, 470, 493, 495, + 507, 524, 529, 446, 286, 502, 530, 0, 354, 0, + 0, 356, 269, 289, 301, 0, 516, 467, 218, 434, + 278, 241, 0, 0, 203, 237, 221, 247, 262, 265, + 305, 366, 374, 403, 408, 283, 259, 235, 427, 232, + 450, 473, 474, 475, 477, 370, 254, 407, 0, 0, + 352, 483, 484, 297, } var yyPact = [...]int{ - 5734, -1000, -424, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 6258, -1000, -426, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 2168, 2186, -1000, -1000, - -1000, -1000, 2336, -1000, 826, 1808, -1000, 2107, 5204, -1000, - 45375, 571, -1000, 44123, 570, 289, 45375, -1000, 223, -1000, - 196, 45375, 221, 43497, -1000, -1000, -318, 20325, 2025, 73, - 71, 45375, -1000, -1000, -1000, -1000, 2290, 1781, -1000, 415, - -1000, -1000, -1000, -1000, -1000, -1000, 42871, -1000, -1000, -1000, - 2117, 2089, 2331, 744, 2032, -1000, 2220, 1781, -1000, 20325, - 2259, 2189, 19073, -1000, 19073, 457, -1000, -1000, 14681, -1000, - -1000, 26595, 45375, 32855, 478, -1000, 2107, -1000, -1000, -1000, - 109, -1000, 347, 1710, -1000, 1708, -1000, 675, 538, 383, - 507, 491, 379, 374, 373, 371, 370, 369, 367, 365, - 387, -1000, 767, 767, -113, -120, 3125, 539, 433, 433, - 545, 2064, 2058, -1000, 760, -1000, 767, 767, 767, 377, - 767, 767, 767, 767, 320, 317, 767, 767, 767, 767, - 767, 767, 767, 767, 767, 767, 767, 767, 767, 767, - 767, 767, 767, 372, 2107, 305, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 2155, 2234, -1000, -1000, + -1000, -1000, 2386, -1000, 789, 1862, -1000, 2142, 387, -1000, + 44587, 538, -1000, 43335, 534, 3772, 44587, -1000, 217, -1000, + 206, 44587, 210, 42709, -1000, -1000, -305, 19537, 2086, 83, + 82, 44587, -1000, -1000, -1000, -1000, 2334, 1851, -1000, 388, + -1000, -1000, -1000, -1000, -1000, -1000, 42083, -1000, -1000, -1000, + 2154, 2136, 2369, 678, 2071, -1000, 2225, 1851, -1000, 19537, + 2286, 2242, 18911, -1000, 18911, 476, -1000, -1000, 14519, -1000, + -1000, 25807, 44587, 32067, 300, -1000, 2142, -1000, -1000, -1000, + 106, -1000, 355, 1754, -1000, 1752, -1000, 733, 819, 393, + 517, 484, 392, 391, 385, 383, 382, 375, 374, 373, + 394, -1000, 712, 712, -109, -114, 3813, 478, 458, 458, + 491, 2107, 2104, -1000, 711, -1000, 712, 712, 712, 400, + 712, 712, 712, 712, 314, 312, 712, 712, 712, 712, + 712, 712, 712, 712, 712, 712, 712, 712, 712, 712, + 712, 712, 712, 431, 2142, 283, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, @@ -6270,39 +6191,39 @@ var yyPact = [...]int{ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 45375, 306, 45375, -1000, 642, - 45375, 889, 889, 84, 889, 889, 889, 889, 190, 663, - 65, -1000, 183, 302, 178, 300, 882, 241, -1000, -1000, - 293, 882, 1277, -1000, 751, 191, -1000, 889, 889, -1000, - 12157, 168, 12157, 12157, -1000, 2103, -1000, -1000, -1000, -1000, - 1284, -1000, 535, -1000, -1000, -1000, -1000, 45375, 42245, 409, - 786, -1000, -1000, -1000, 154, -1000, -1000, 1377, 1294, 20325, - 1269, -1000, 1107, 710, -1000, -1000, -1000, -1000, -1000, 620, - 20951, 20951, 20951, 20951, -1000, -1000, 1527, 1527, 1527, 1527, - 20951, 1527, -1000, 1527, 1527, 1527, 20325, 1527, 1527, 1527, - -1000, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, - 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, - 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, - 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, - 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, - 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, - 1527, -1000, 1527, 640, 1527, 1527, 1527, 1527, 1527, -1000, - -1000, -1000, -1000, 20951, 1527, 1527, 1527, 1527, 1527, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1527, 1527, - 1527, 1527, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 24086, -1000, 17195, 1527, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 44587, 180, 44587, -1000, 592, + 44587, 871, 871, 133, 871, 871, 871, 871, 213, 660, + 81, -1000, 192, 275, 179, 286, 820, 349, -1000, -1000, + 280, 820, 1365, -1000, 685, 181, -1000, 871, 871, -1000, + 11995, 175, 11995, 11995, -1000, 2135, -1000, -1000, -1000, -1000, + 1246, -1000, 490, -1000, -1000, -1000, -1000, 44587, 41457, 419, + 739, -1000, -1000, -1000, 87, -1000, -1000, 1488, 1025, 19537, + 965, -1000, 1249, 639, -1000, -1000, -1000, -1000, -1000, 572, + 20163, 20163, 20163, 20163, -1000, -1000, 1472, 1472, 1472, 1472, + 20163, 1472, -1000, 1472, 1472, 1472, 19537, 1472, 1472, 1472, + -1000, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, + 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, + 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, + 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, + 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, + 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, + 1472, -1000, 1472, 590, 1472, 1472, 1472, 1472, 1472, -1000, + -1000, -1000, -1000, 20163, 1472, 1472, 1472, 1472, 1472, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1472, 1472, + 1472, 1472, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 23298, -1000, 17033, 1472, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 45375, -1000, 1527, 242, 45375, - 45375, 378, 2220, 1781, -1000, 2290, 2230, 415, -1000, 2666, - 1954, 1526, 1300, 1781, 1648, 45375, -1000, 1731, -1000, -1000, - -1000, 1936, 1186, 1274, -1000, -1000, -1000, -1000, 1298, 20325, - -1000, -1000, 2320, -1000, 23460, 636, 941, 2314, 41619, -1000, - 457, 457, 1699, 14050, 48, -1000, -1000, -1000, 784, 30351, + -1000, -1000, -1000, -1000, -1000, 44587, -1000, 1472, 240, 44587, + 44587, 331, 2225, 1851, -1000, 2334, 2266, 388, -1000, 2324, + 1499, 1465, 1254, 1851, 1716, 44587, -1000, 1768, -1000, -1000, + -1000, 1993, 1283, 1362, -1000, -1000, -1000, -1000, 1793, 19537, + -1000, -1000, 2344, -1000, 22672, 586, 906, 2342, 40831, -1000, + 476, 476, 1749, 13888, 58, -1000, -1000, -1000, 735, 29563, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 2103, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 2135, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, @@ -6316,283 +6237,283 @@ var yyPact = [...]int{ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 1721, 45375, -1000, -1000, 4756, 1231, - -1000, 1805, -1000, 1717, -1000, 1757, 20325, 1817, 569, 1231, - 563, 562, 473, -1000, -16, -1000, -1000, -1000, -1000, -1000, - -1000, 767, 767, 767, -1000, 386, 2254, 5204, 5530, -1000, - -1000, -1000, 40993, 1804, 1231, -1000, 1803, -1000, 847, 552, - 662, 662, 1231, -1000, -1000, 45375, 1231, 846, 844, 1231, - 1231, 45375, 45375, -1000, 40367, -1000, 39741, 39115, 1093, 45375, - 38489, 37863, 37237, 36611, 35985, -1000, 1935, -1000, 1857, -1000, - -1000, -1000, 45375, 1231, 1231, 45375, 45375, 381, -1000, -1000, - 45375, 1231, -1000, -1000, 1092, 1088, 1079, 767, 767, 1077, - 1271, 1270, 1267, 767, 767, 1076, 1266, 31603, 1246, 295, - 1063, 1056, 1051, 1055, 1234, 206, 1233, 1053, 1041, 1050, - 45375, 1798, 45375, -1000, 282, 734, 472, 782, 2107, 2008, - 1696, 528, 566, 1231, 458, 458, 45375, -1000, 12788, -1000, - -1000, 1223, 20325, -1000, 888, 882, 882, -1000, -1000, -1000, - -1000, -1000, -1000, 889, 45375, 888, -1000, -1000, -1000, 882, - 889, 45375, 889, 889, 889, 889, 882, 882, 882, 889, - 45375, 45375, 45375, 45375, 45375, 45375, 45375, 45375, 45375, 12157, - 751, 889, -324, -1000, 1216, -1000, 1904, -1000, -1000, -1000, - -1000, -1000, -1000, 12157, 12157, -1000, -1000, -1000, -1000, 219, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -26, - 1661, 35359, -1000, -325, -326, -327, -332, -1000, -1000, -1000, - -337, -341, -1000, -1000, -1000, 20325, 20325, 20325, 20325, -150, - -1000, 899, 20951, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 153, 806, 20951, 20951, 20951, 20951, 20951, 20951, 20951, 20951, - 20951, 20951, 20951, 20951, 20951, 20951, 20951, -1000, -1000, 28473, - 7642, 7642, 710, 710, 710, 710, -1000, 19073, 20325, 20325, - 710, -1000, 1231, 19073, 19073, 20325, 797, 1294, 45375, -1000, - 1300, -1000, -1000, -1000, 1026, -1000, 2085, 2085, 2085, 2085, - 2085, 20325, 20325, 20325, 20325, 20325, 20325, 20325, 20325, 20325, - 20325, 2085, 45375, 45375, 1331, 20325, 20325, 20325, 20325, 20325, - 20325, 15938, 20325, 20325, 20325, 20325, 20325, 20325, 20325, 20325, - 20325, 20325, 20325, 20325, 20325, 20325, 20325, 20325, 20325, 20325, - 20325, 20325, 20325, 20325, 20325, 20325, 20325, 20325, 1300, 20325, - 2066, 20325, 20325, 15312, 12788, 19073, 19073, 19073, 19073, 19073, - 34733, -1000, -1000, -1000, -1000, -1000, 20325, 20325, 20325, 20325, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 635, 1533, 1436, - 1560, 20325, -1000, 1656, -1000, -139, 25969, 20325, 1211, 2313, - 1831, 45375, -1000, -1000, -1000, 2220, -1000, 2220, 1533, 2566, - 1945, 19073, -1000, -1000, 2566, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 1441, -1000, 45375, 1648, 2180, 45375, 1941, - 1210, 364, -1000, 20325, 20325, 1636, -1000, 940, 45375, -1000, - -150, -1000, 34107, -1000, -1000, 11526, -1000, 45375, 350, 45375, - -1000, 25343, 33481, 13419, 48, -1000, 13419, 1553, -1000, 34, - 43, 16564, 709, -1000, -1000, -1000, 3125, 22203, 1368, 709, - 140, -1000, -1000, -1000, 1757, -1000, 1757, 1757, 1757, 1757, - 364, 364, 364, 364, -1000, -1000, -1000, -1000, -1000, 1791, - 1782, -1000, 1757, 1757, 1757, 1757, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 1745, 44587, -1000, -1000, 5631, 1278, + -1000, 1859, -1000, 1738, -1000, 1812, 19537, 1772, 532, 1278, + 520, 511, 502, -1000, -28, -1000, -1000, -1000, -1000, -1000, + -1000, 712, 712, 712, -1000, 340, 2285, 387, 3514, -1000, + -1000, -1000, 40205, 1858, 1278, -1000, 1855, -1000, 847, 565, + 609, 609, 1278, -1000, -1000, 44587, 1278, 843, 835, 1278, + 1278, 44587, 44587, -1000, 39579, -1000, 38953, 38327, 1182, 44587, + 37701, 37075, 36449, 35823, 35197, -1000, 2045, -1000, 1843, -1000, + -1000, -1000, 44587, 1278, 1278, 44587, 44587, 386, -1000, -1000, + 44587, 1278, -1000, -1000, 1162, 1158, 1151, 712, 712, 1150, + 1354, 1349, 1343, 712, 712, 1141, 1330, 30815, 1311, 285, + 1139, 1091, 1085, 1191, 1310, 211, 1308, 1147, 1093, 1084, + 44587, 1852, 44587, -1000, 267, 737, 460, 734, 2142, 2083, + 1741, 485, 531, 1278, 462, 462, 44587, -1000, 12626, -1000, + -1000, 1305, 19537, -1000, 821, 820, 820, -1000, -1000, -1000, + -1000, -1000, -1000, 871, 44587, 821, -1000, -1000, -1000, 820, + 871, 44587, 871, 871, 871, 871, 820, 820, 820, 871, + 44587, 44587, 44587, 44587, 44587, 44587, 44587, 44587, 44587, 11995, + 685, 871, -310, -1000, 1303, -1000, 1949, -1000, -1000, -1000, + -1000, -1000, -1000, 11995, 11995, -1000, -1000, -1000, -1000, 209, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -59, + 1736, 34571, -1000, -318, -320, -321, -323, -1000, -1000, -1000, + -334, -336, -1000, -1000, -1000, 19537, 19537, 19537, 19537, -142, + -1000, 1009, 20163, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 148, 828, 20163, 20163, 20163, 20163, 20163, 20163, 20163, 20163, + 20163, 20163, 20163, 20163, 20163, 20163, 20163, -1000, -1000, 27685, + 4718, 4718, 639, 639, 639, 639, -1000, 18911, 19537, 19537, + 639, -1000, 1278, 18911, 18911, 19537, 745, 1025, 44587, -1000, + 1254, -1000, -1000, -1000, 1077, -1000, 879, 2126, 2126, 2126, + 2126, 19537, 19537, 19537, 19537, 19537, 19537, 19537, 19537, 19537, + 19537, 2126, 44587, 44587, 839, 19537, 19537, 19537, 19537, 19537, + 19537, 15776, 19537, 19537, 19537, 19537, 19537, 19537, 19537, 19537, + 19537, 19537, 19537, 19537, 19537, 19537, 19537, 19537, 19537, 19537, + 19537, 19537, 19537, 19537, 19537, 19537, 19537, 19537, 1254, 19537, + 1767, 19537, 19537, 15150, 12626, 18911, 18911, 18911, 18911, 18911, + 33945, -1000, -1000, -1000, -1000, -1000, 19537, 19537, 19537, 19537, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 584, 1471, 1511, + 1574, 19537, -1000, 1722, -1000, -134, 25181, 19537, 1302, 2341, + 1883, 44587, -1000, -1000, -1000, 2225, -1000, 2225, 1471, 2133, + 1923, 18911, -1000, -1000, 2133, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 1516, -1000, 44587, 1716, 2192, 44587, 1981, + 1300, 412, -1000, 19537, 19537, 1714, -1000, 1051, 44587, -1000, + -142, -1000, 33319, -1000, -1000, 11364, -1000, 44587, 364, 44587, + -1000, 24555, 32693, 13257, 58, -1000, 13257, 1588, -1000, 48, + 50, 16402, 610, -1000, -1000, -1000, 3813, 21415, 1434, 610, + 134, -1000, -1000, -1000, 1812, -1000, 1812, 1812, 1812, 1812, + 412, 412, 412, 412, -1000, -1000, -1000, -1000, -1000, 1838, + 1832, -1000, 1812, 1812, 1812, 1812, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 1779, 1779, 1779, 1760, 1760, 417, -1000, - 20325, 338, 32855, 2116, 1047, 1230, 282, 468, 1830, 1231, - 1231, 1231, 468, -1000, 1540, 1387, 1302, -1000, -412, 1629, - -1000, -1000, 2252, -1000, -1000, 742, 866, 865, 803, 45375, - 252, 339, -1000, 489, -1000, 32855, 1231, 842, 662, 1231, - -1000, 1231, -1000, -1000, -1000, -1000, -1000, 1231, -1000, -1000, - 1619, -1000, 1462, 927, 864, 907, 862, 1619, -1000, -1000, - -89, 1619, -1000, 1619, -1000, 1619, -1000, 1619, -1000, 1619, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 774, - 212, -210, 45375, 252, 28473, -1000, 504, -1000, -1000, -1000, - 28473, 28473, -1000, -1000, -1000, -1000, 1207, 1206, -1000, -1000, + -1000, -1000, -1000, 1827, 1827, 1827, 1815, 1815, 441, -1000, + 19537, 474, 32067, 2159, 1082, 1504, 267, 473, 1874, 1278, + 1278, 1278, 473, -1000, 1344, 1244, 1213, -1000, -418, 1711, + -1000, -1000, 2279, -1000, -1000, 800, 866, 865, 722, 44587, + 246, 329, -1000, 423, -1000, 32067, 1278, 816, 609, 1278, + -1000, 1278, -1000, -1000, -1000, -1000, -1000, 1278, -1000, -1000, + 1645, -1000, 1520, 946, 831, 938, 830, 1645, -1000, -1000, + -87, 1645, -1000, 1645, -1000, 1645, -1000, 1645, -1000, 1645, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 742, + 223, -214, 44587, 246, 27685, -1000, 480, -1000, -1000, -1000, + 27685, 27685, -1000, -1000, -1000, -1000, 1299, 1297, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -398, 45375, -1000, - 270, 780, 324, 362, 318, 45375, 428, 2207, 2197, 2195, - 288, 313, 45375, 45375, 458, 1887, 45375, 2137, 45375, -1000, - -1000, -1000, -1000, -1000, 1294, 45375, -1000, -1000, 889, 889, - -1000, -1000, 45375, 889, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 889, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 45375, -1000, - -1000, -1000, -1000, 45375, -1000, -1000, -1000, -1000, -1000, 96, - 42, 382, -1000, -1000, -1000, -1000, -1000, 2216, -1000, 1294, - 821, 818, -1000, 1527, -1000, -1000, 884, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 153, 20951, 20951, 20951, 1351, 461, - 1609, 1058, 1242, 933, 933, 901, 901, 721, 721, 721, - 721, 721, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 1204, -1000, 1593, -1000, 2040, 1806, 1300, 1593, 1593, 1812, - 794, -1000, 20325, 1300, -1000, -1000, 1300, 1300, 19699, -1000, - -1000, 20325, 20325, 20325, 20325, 1560, 1560, 1560, 1560, 1560, - 1560, 1560, 1560, 1560, 1560, 20325, 1615, 1598, 2312, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -399, 44587, -1000, + 260, 728, 317, 344, 326, 44587, 336, 2210, 2199, 2197, + 282, 306, 44587, 44587, 462, 1927, 44587, 2173, 44587, -1000, + -1000, -1000, -1000, -1000, 1025, 44587, -1000, -1000, 871, 871, + -1000, -1000, 44587, 871, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 871, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 44587, -1000, + -1000, -1000, -1000, 44587, -1000, -1000, -1000, -1000, -1000, 96, + 43, 367, -1000, -1000, -1000, -1000, -1000, 2221, -1000, 1025, + 770, 777, -1000, 1472, -1000, -1000, 1028, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 148, 20163, 20163, 20163, 1608, 504, + 1619, 969, 1043, 933, 933, 849, 849, 653, 653, 653, + 653, 653, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 1291, -1000, 1630, -1000, 1877, 1610, 1254, 1630, 1630, 1804, + 787, -1000, 19537, 1254, -1000, -1000, 1254, 1254, 1254, 19537, + -1000, -1000, 19537, 19537, 19537, 19537, 1504, 1504, 1504, 1504, + 1504, 1504, 1504, 1504, 1504, 1504, 19537, 1637, 1624, 2321, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 2028, 1230, 1230, 1230, 1230, 1230, 20325, 1786, -1000, -1000, - -1000, 2549, 2512, 1300, 1377, 1300, 1581, -1000, 2489, 1230, - 2479, 2467, 2456, 1743, 2436, 2365, 2315, 1230, 1230, 1230, - 1737, 2310, 2260, 2248, 2206, 2173, 2167, 2060, 2045, 2013, - 1230, -152, 1230, 1300, -1000, -1000, -1000, -1000, 2003, 1725, - 1300, 19073, 19073, 1579, 1527, 631, -1000, 1593, 1300, 1300, - 1593, 1593, -1000, 1998, 1991, 1981, 1969, 12788, 1300, -1000, - 1560, 45375, -1000, -315, -1000, 10, 693, 1527, -1000, 31603, - 1300, -1000, 5657, -1000, 46627, -1000, -1000, -1000, -1000, -1000, - 29725, 1587, 2566, -1000, -1000, 1527, 1624, -1000, -1000, 364, - 124, 29099, 694, 694, 147, 1294, 1294, 20325, -1000, -1000, - -1000, -1000, -1000, -1000, 628, 2279, 442, 1527, -1000, 1495, - 2119, -1000, -1000, -1000, 2177, 22834, -1000, 1527, 1527, 45375, - 1641, 1385, -1000, 612, -1000, 1553, 48, 29, -1000, -1000, - -1000, -1000, 1294, -1000, 1241, 359, 3022, -1000, 513, -1000, - -1000, -1000, -1000, 2035, 128, -1000, -1000, -1000, 235, 364, - -1000, -1000, -1000, -1000, -1000, -1000, 1202, 1202, -1000, -1000, - -1000, -1000, -1000, 1040, -1000, -1000, -1000, 1037, -1000, -1000, - 1888, 1845, 338, -1000, -1000, 767, 1192, -1000, -1000, 2053, - 767, 767, 45375, -1000, -1000, 1354, 2116, 270, 45375, 802, - 1881, -1000, 1830, 1830, 1830, 45375, -1000, -1000, -1000, -1000, - -1000, -1000, -402, 76, 376, -1000, -1000, -1000, 398, 45375, - 1612, -1000, 247, -1000, 1352, -1000, 45375, -1000, 1608, 1776, - 1231, 1231, -1000, -1000, -1000, 45375, 1527, -1000, -1000, -1000, - -1000, 565, 2090, 256, -1000, -1000, -177, -1000, -1000, 252, - 247, 709, 1231, -1000, -1000, -1000, -1000, -1000, -403, 1601, - 557, 254, 348, 45375, 45375, 45375, 45375, 45375, 587, -1000, - -1000, -1000, -1000, 239, -1000, -1000, 239, -1000, -1000, -1000, - -1000, 307, 477, -1000, 45375, 45375, 637, -1000, -1000, -1000, - 882, -1000, -1000, 882, -1000, -1000, -1000, -1000, -1000, 2073, - 45375, 27, -361, -1000, -355, 20325, -1000, -1000, -1000, -1000, - 1000, 459, 1609, 20951, 20951, 19073, -78, 792, 792, 28473, - -1000, -1000, -1000, 20325, 20325, 789, -1000, 20325, 995, -1000, - -1000, -1000, 1300, 1560, 1560, 1560, 1560, 1560, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1643, 20325, - 20325, 20325, 1300, 343, -1000, -1000, -1000, -1000, -1000, 2302, - -1000, 20325, 20325, 20325, -1000, -1000, 20325, 20325, -1000, 20325, - 20325, 21577, 1300, 21577, 20325, 20325, 21577, -1000, -1000, -1000, - -1000, 21577, 20325, 20325, 20325, 20325, 20325, 20325, 20325, 20325, - 20325, -1000, -1000, 32855, 94, -152, 2066, 94, 2066, -1000, - 1593, 1593, 19073, 12788, -1000, -1000, -1000, -1000, -1000, 20325, - 20325, 20325, 20325, -1000, -1000, -1000, -1000, -1000, -1000, 693, - -1000, 662, 662, 662, 45375, -1000, -1000, -1000, -1000, -1000, - -1000, 1545, 2203, -1000, 1961, 1959, 2299, 2279, -1000, 25343, - 2566, -1000, -1000, 45375, -305, -1000, 2005, 2077, 694, 694, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 10895, 2220, 20325, - 1876, 45375, 152, -1000, 24717, 45375, 45375, 25343, 25343, 25343, - 25343, 25343, -1000, 1921, 1920, -1000, 1911, 1898, 2011, 45375, - -1000, 1585, 1300, 2230, 22834, 415, 20325, 27221, 1551, 25343, - -1000, -1000, 25343, 45375, 10264, -1000, -1000, 23, 33, -1000, - -1000, -1000, -1000, 3125, -1000, -1000, 396, 2175, 2029, -1000, - -1000, -1000, -1000, -1000, 1583, -1000, 1571, 1522, 1566, 212, - -1000, 1816, 2071, 767, 767, -1000, 1032, -1000, 1231, 1188, - 1185, -1000, -1000, -1000, 550, -1000, 2136, 45375, 1871, 1870, - 1858, -1000, -411, 1031, 1774, 1814, 20325, 1773, 2249, 1471, - 45375, -1000, -1000, 45375, -1000, 231, -1000, 338, 45375, -1000, - -1000, -1000, 339, 45375, -1000, 7358, -1000, -1000, -1000, 247, - -1000, -1000, -1000, -1000, -1000, -1000, 45375, 266, -1000, 1762, - 1283, -1000, -1000, 1824, -1000, -1000, -1000, -1000, 218, 323, - 229, 1167, 229, -1000, 45375, 614, 1845, 45375, -1000, -1000, - -1000, 889, 889, -1000, -1000, 2069, -1000, 1231, 1230, 20951, - 20951, -1000, 710, -1000, 1527, -128, 1757, 1757, -1000, 1757, - 1760, -1000, 1757, 207, 1757, 188, 1757, -1000, -1000, -128, - 1300, 1715, 1042, -1000, 1294, 20325, -1000, -1000, -1000, -1000, - -1000, -1000, -30, 1950, 1907, 1230, -1000, 1754, 1751, 20325, - 1230, 1230, 1230, -1000, 1294, 1743, 1902, 1488, -1000, -1000, - -1000, -1000, 1517, 1230, 1892, -301, 1300, 1564, 1564, 1564, - 1564, 1564, 1560, 1560, 1560, 1560, 45375, -1000, -152, -1000, - -1000, -197, -198, -1000, 1300, -152, 1490, -1000, -1000, 1300, - -1000, 1711, 1706, 1883, 1700, -1000, 2213, 2213, 2213, 1537, - 46001, 45375, -1000, -1000, -1000, -1000, 2279, 2275, 1474, -1000, - -1000, 124, 456, -1000, 1978, 2077, -1000, 2247, 1999, 2246, - -1000, -1000, -1000, -1000, -1000, 1294, -1000, 2110, 1645, -1000, - 778, 1392, -1000, -1000, 18447, 1556, 1951, 609, 1537, 1519, - 2119, 1827, 1853, 2646, -1000, -1000, -1000, -1000, 1912, -1000, - 1905, -1000, -1000, 1731, -1000, -1000, 1436, 1300, 1862, 350, - 25343, 1507, 1507, -1000, 599, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 916, 6565, 2329, -1000, 1166, -1000, 1201, 202, - 1028, -1000, -1000, 767, 767, -1000, 841, 839, -1000, 45375, - 1749, -1000, 364, 1162, 364, 1024, -1000, 1018, -1000, -1000, - -1000, -1000, 1788, 1931, -1000, -1000, -1000, -1000, 45375, -1000, - -1000, 45375, 45375, 45375, 1742, 2243, -1000, 20325, 1741, 771, - 1829, 45375, 45375, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 471, 767, -376, 311, 310, 767, - 767, 767, -417, -1000, -1000, 1531, 1512, -1000, -110, -1000, - 20325, -1000, -1000, -1000, 959, 959, -1000, 1731, -1000, -1000, - -1000, 1347, -1000, -1000, -93, 45375, 45375, 45375, 45375, -1000, - 965, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 710, 20951, 1300, -1000, -1000, 364, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 1300, -1000, 20325, -1000, - 20325, -1000, 1294, 2220, 1155, 20325, 20325, -1000, 1014, 1013, - 1230, -1000, -1000, -1000, 1300, 21577, -1000, 21577, -1000, 20325, - 238, 792, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 1300, 340, -1000, -1000, -1000, -1000, 2293, -1000, - 1300, 20325, -1000, -1000, 20325, -1000, 20325, 20325, -1000, 20325, - 1527, 2094, 1527, 1527, 27221, -1000, -1000, 2275, 2262, 2242, - 1986, 1982, 1982, 1978, -1000, 2240, 2237, -1000, 1153, 2234, - 1152, 836, -1000, 45375, 20325, 152, -1000, 375, 45375, 152, - 45375, -1000, 2231, -1000, -1000, 20325, 1736, -1000, 20325, -1000, - -1000, -1000, -1000, -1000, -1000, 7642, 2279, 1507, -1000, -1000, - 730, -1000, 20325, -1000, -1000, -1000, 8024, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 1150, 1149, -1000, -1000, 1732, - 20325, -1000, -1000, -1000, 1343, 1337, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 1731, -1000, -1000, -1000, -1000, 339, - -407, 1797, 45375, 980, -1000, 1505, 1471, 335, 152, 1144, - 767, 767, 767, 979, 962, 31603, 1493, -1000, 45375, 394, - -1000, 339, -1000, -123, -125, 1230, -1000, -1000, 2170, -1000, - -1000, 12788, -1000, -1000, 1729, 1828, -1000, -1000, -1000, 321, - -1000, -1000, -1000, 1230, 1230, 1300, -1000, 1230, 1230, 1327, - 1308, -1000, -1000, 1488, -1000, 1693, -1000, 238, 1300, 1847, - -1000, -1000, 7642, -1000, -1000, 2231, 2228, 94, -1000, -1000, - 258, 94, 1294, 1646, 1230, 1606, 1548, 27847, -1000, 2225, - 2224, 32229, 32229, 693, 2262, -160, 20325, 20325, 1966, 942, - -1000, -1000, -1000, -1000, 1138, 1123, -1000, 1115, -1000, 2325, - -1000, 1294, -1000, 152, -1000, 597, 1392, -1000, 2220, 1294, - 45375, 1294, 102, 2231, -1000, 1230, -1000, 1527, 1527, 1527, - 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, - 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, - 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, - 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, - 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, -1000, - -1000, 45375, 1792, -1000, -1000, 2147, 1457, 75, -1000, 1422, - -1000, -1000, 150, -1000, 20325, -1000, 31603, 1114, 1109, -1000, + -1000, 1341, 1504, 1504, 1504, 1504, 1504, 19537, 1489, -1000, + -1000, -1000, 2467, 2458, 1254, 1488, 1254, 1612, -1000, 2432, + 1504, 2398, 2373, 2366, 1334, 2316, 2310, 2236, 1504, 1504, + 1504, 1734, 2206, 2198, 2098, 2053, 2042, 2027, 2023, 2005, + 1995, 1504, -144, 1504, 1254, -1000, -1000, -1000, -1000, 1952, + 1729, 1254, 18911, 18911, 1607, 1472, 581, -1000, 1630, 1254, + 1254, 1630, 1630, -1000, 1935, 1930, 1917, 1906, 12626, 1254, + -1000, 1574, 44587, -1000, -273, -1000, 20, 720, 1472, -1000, + 30815, 1254, -1000, 4115, -1000, 45839, -1000, -1000, -1000, -1000, + -1000, 28937, 1723, 2133, -1000, -1000, 1472, 1652, -1000, -1000, + 412, 122, 28311, 637, 637, 141, 1025, 1025, 19537, -1000, + -1000, -1000, -1000, -1000, -1000, 580, 2244, 389, 1472, -1000, + 1601, 2240, -1000, -1000, -1000, 2188, 22046, -1000, 1472, 1472, + 44587, 1810, 1805, -1000, 579, -1000, 1588, 58, 25, -1000, + -1000, -1000, -1000, 1025, -1000, 1148, 372, 315, -1000, 429, + -1000, -1000, -1000, -1000, 2095, 131, -1000, -1000, -1000, 271, + 412, -1000, -1000, -1000, -1000, -1000, -1000, 1285, 1285, -1000, + -1000, -1000, -1000, -1000, 1063, -1000, -1000, -1000, 1057, -1000, + -1000, 1848, 1933, 474, -1000, -1000, 712, 1284, -1000, -1000, + 2099, 712, 712, 44587, -1000, -1000, 1419, 2159, 260, 44587, + 765, 1925, -1000, 1874, 1874, 1874, 44587, -1000, -1000, -1000, + -1000, -1000, -1000, -406, 74, 407, -1000, -1000, -1000, 3375, + 44587, 1643, -1000, 244, -1000, 1407, -1000, 44587, -1000, 1635, + 1823, 1278, 1278, -1000, -1000, -1000, 44587, 1472, -1000, -1000, + -1000, -1000, 527, 2137, 324, -1000, -1000, -166, -1000, -1000, + 246, 244, 610, 1278, -1000, -1000, -1000, -1000, -1000, -402, + 1632, 496, 251, 335, 44587, 44587, 44587, 44587, 44587, 549, + -1000, -1000, -1000, -1000, 229, -1000, -1000, 229, -1000, -1000, + -1000, -1000, 298, 479, -1000, 44587, 44587, 651, -1000, -1000, + -1000, 820, -1000, -1000, 820, -1000, -1000, -1000, -1000, -1000, + 2122, 44587, 39, -352, -1000, -349, 19537, -1000, -1000, -1000, + -1000, 1597, 498, 1619, 20163, 20163, 18911, -81, 454, 454, + 27685, -1000, -1000, -1000, 19537, 19537, 743, -1000, 19537, 1017, + -1000, -1000, -1000, -1000, 1574, 1504, 1504, 1504, 1504, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1595, + 19537, 19537, 19537, 1254, 328, -1000, -1000, -1000, -1000, -1000, + 2317, -1000, 19537, 19537, 19537, -1000, -1000, 19537, 19537, -1000, + 19537, 19537, 20789, 1254, 20789, 19537, 19537, 20789, -1000, -1000, + -1000, -1000, 20789, 19537, 19537, 19537, 19537, 19537, 19537, 19537, + 19537, 19537, -1000, -1000, 32067, 88, -144, 1767, 88, 1767, + -1000, 1630, 1630, 18911, 12626, -1000, -1000, -1000, -1000, -1000, + 19537, 19537, 19537, 19537, -1000, -1000, -1000, -1000, -1000, -1000, + 720, -1000, 609, 609, 609, 44587, -1000, -1000, -1000, -1000, + -1000, -1000, 1586, 2204, -1000, 2024, 2018, 2314, 2244, -1000, + 24555, 2133, -1000, -1000, 44587, -268, -1000, 2063, 2064, 637, + 637, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 10733, 2225, + 19537, 1921, 44587, 157, -1000, 23929, 44587, 44587, 24555, 24555, + 24555, 24555, 24555, -1000, 1957, 1955, -1000, 2006, 1941, 2039, + 44587, -1000, 1620, 1254, 2266, 22046, 388, 19537, 26433, 1415, + 24555, -1000, -1000, 24555, 44587, 10102, -1000, -1000, 36, 45, + -1000, -1000, -1000, -1000, 3813, -1000, -1000, 493, 2187, 2074, + -1000, -1000, -1000, -1000, -1000, 1616, -1000, 1614, 1570, 1598, + 223, -1000, 1625, 2119, 712, 712, -1000, 1047, -1000, 1278, + 1282, 1250, -1000, -1000, -1000, 494, -1000, 2167, 44587, 1920, + 1919, 1916, -1000, -415, 1045, 1822, 1603, 19537, 1821, 2276, + 1523, 44587, -1000, -1000, 44587, -1000, 288, -1000, 474, 44587, + -1000, -1000, -1000, 329, 44587, -1000, 6930, -1000, -1000, -1000, + 244, -1000, -1000, -1000, -1000, -1000, -1000, 44587, 261, -1000, + 1819, 1194, -1000, -1000, 1802, -1000, -1000, -1000, -1000, 239, + 311, 224, 1234, 224, -1000, 44587, 585, 1933, 44587, -1000, + -1000, -1000, 871, 871, -1000, -1000, 2116, -1000, 1278, 1504, + 20163, 20163, -1000, 639, -1000, 1472, -124, 1812, 1812, -1000, + 1812, 1815, -1000, 1812, 199, 1812, 197, 1812, -1000, -1000, + -124, 1254, 1725, 1292, -1000, 1025, 19537, -1000, -1000, -1000, + -1000, -1000, -34, 1902, 1896, 1504, -1000, 1809, 1807, 19537, + 1504, 1504, 1504, -1000, 1025, 1334, 1890, 1530, -1000, -1000, + -1000, -1000, 1564, 1504, 1872, -264, 1254, 1584, 1584, 1584, + 1584, 1584, 1574, 1574, 1574, 1574, 44587, -1000, -144, -1000, + -1000, -186, -188, -1000, 1254, -144, 1554, -1000, -1000, 1254, + -1000, 1712, 1708, 1836, 1666, -1000, 2216, 2216, 2216, 1567, + 45213, 44587, -1000, -1000, -1000, -1000, 2244, 2301, 1552, -1000, + -1000, 122, 452, -1000, 2046, 2064, -1000, 2275, 2055, 2273, + -1000, -1000, -1000, -1000, -1000, 1025, -1000, 2149, 1513, -1000, + 726, 1496, -1000, -1000, 18285, 1572, 2008, 578, 1567, 1548, + 2240, 1903, 1905, 2557, -1000, -1000, -1000, -1000, 1953, -1000, + 1912, -1000, -1000, 1768, -1000, -1000, 1511, 1254, 1557, 364, + 24555, 1482, 1482, -1000, 567, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 890, 6671, 2367, -1000, 1229, -1000, 1127, 198, + 1014, -1000, -1000, 712, 712, -1000, 801, 798, -1000, 44587, + 1799, -1000, 412, 1227, 412, 1013, -1000, 980, -1000, -1000, + -1000, -1000, 1806, 1969, -1000, -1000, -1000, -1000, 44587, -1000, + -1000, 44587, 44587, 44587, 1798, 2272, -1000, 19537, 1785, 724, + 1831, 44587, 44587, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 438, 712, -380, 303, 297, 712, + 712, 712, -417, -1000, -1000, 1560, 1550, -1000, -112, -1000, + 19537, -1000, -1000, -1000, 1071, 1071, -1000, 1768, -1000, -1000, + -1000, 1400, -1000, -1000, -91, 44587, 44587, 44587, 44587, -1000, + 951, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 639, 20163, 1254, -1000, -1000, 412, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 1254, -1000, 19537, -1000, + 19537, -1000, 1025, 2225, 1223, 19537, 19537, -1000, 977, 966, + 1504, -1000, -1000, -1000, 1254, 20789, -1000, 20789, -1000, 19537, + 249, 454, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 1254, 337, -1000, -1000, -1000, -1000, 2308, -1000, + 1254, 19537, -1000, -1000, 19537, -1000, 19537, 19537, -1000, 19537, + 1472, 2129, 1472, 1472, 26433, -1000, -1000, 2301, 2298, 2262, + 2036, 2048, 2048, 2046, -1000, 2261, 2259, -1000, 1222, 2253, + 1216, 785, -1000, 44587, 19537, 157, -1000, 406, 44587, 157, + 44587, -1000, 2237, -1000, -1000, 19537, 1783, -1000, 19537, -1000, + -1000, -1000, -1000, -1000, -1000, 4718, 2244, 1482, -1000, -1000, + 659, -1000, 19537, -1000, -1000, -1000, 4955, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 1212, 1207, -1000, -1000, 1774, + 19537, -1000, -1000, -1000, 1397, 1388, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 1768, -1000, -1000, -1000, -1000, 329, + -410, 1826, 44587, 963, -1000, 1544, 1523, 321, 157, 1206, + 712, 712, 712, 961, 956, 30815, 1533, -1000, 44587, 404, + -1000, 329, -1000, -117, -119, 1504, -1000, -1000, 2186, -1000, + -1000, 12626, -1000, -1000, 1763, 1840, -1000, -1000, -1000, 318, + -1000, -1000, -1000, 1504, 1504, 1254, -1000, 1504, 1504, 1383, + 1339, -1000, -1000, 1530, -1000, 1654, -1000, 249, 1254, 1897, + -1000, -1000, 4718, -1000, -1000, 2237, 2243, 88, -1000, -1000, + 242, 88, 1025, 1542, 1504, 1514, 1452, 27059, -1000, 2241, + 2228, 31441, 31441, 720, 2298, -155, 19537, 19537, 2033, 991, + -1000, -1000, -1000, -1000, 1198, 1196, -1000, 1192, -1000, 2364, + -1000, 1025, -1000, 157, -1000, 563, 1496, -1000, 2225, 1025, + 44587, 1025, 101, 2237, -1000, 1504, -1000, 1472, 1472, 1472, + 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, + 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, + 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, + 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, + 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, 1472, -1000, + -1000, 44587, 1811, -1000, -1000, 2180, 1467, 73, -1000, 1464, + -1000, -1000, 154, -1000, 19537, -1000, 30815, 1188, 1186, -1000, -1000, -1000, -1000, -417, -1000, -1000, -1000, -1000, -1000, -1000, - 415, 1467, -1000, 765, 45375, 45375, 1300, 345, -97, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 20325, -1000, - 1300, 1843, -1000, -254, -1000, -384, 20325, -152, -1000, -1000, - -152, -1000, 20325, -1000, -1000, 20325, -1000, 20325, 1416, -1000, - -1000, -1000, -1000, -1000, 1416, 1416, -1000, -160, -1000, 1400, - -1000, 45375, 1294, 1377, -1000, 917, -1000, -1000, -1000, -1000, - -1000, 45375, 1392, 45375, -1000, 1397, 1300, 1527, 2220, -1000, - 1394, -1000, 415, -1000, 1728, 1814, -1000, -1000, -1000, 17821, - -1000, -1000, -1000, -1000, -1000, 220, -90, 12788, 9633, 1358, - -1000, -1000, 1937, -87, -106, 1743, -1000, -343, -1000, -1000, - -1000, -1000, 189, -1000, -1000, 1377, -1000, -1000, 1539, 1503, - 1459, 30977, -1000, -1000, -1000, -1000, -160, -1000, -1000, 2144, - -1000, -1000, 1303, -1000, -1000, 27221, 44749, -1000, -76, 274, - -90, 20325, 1534, 1300, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -12, -1000, -1000, -1000, -1000, -1000, 1824, -1000, - 1930, -1000, 1300, -1000, 261, -368, -185, -193, -1000, -1000, - -1000, 20325, -1000, 20325, -1000, 20325, -1000, -1000, -1000, 45375, - 1527, -1000, 1340, -1000, 3778, -209, 1840, -1000, -31, -1000, - -1000, -1000, 913, 1060, -1000, -1000, -1000, -1000, -1000, -1000, - 1569, 45375, -1000, 410, -1000, -1000, -93, -95, -1000, 810, - -1000, -1000, -1000, -1000, -1000, 1148, 1102, 1230, -1000, 45375, - -1000, 44749, -203, 709, 7642, -1000, 1837, 1836, 2309, -1000, - -1000, -1000, -1000, -1000, -1000, -419, 1326, 272, -1000, -104, - 261, -1000, 20325, -1000, 20325, -1000, 1300, -1000, -1000, 2132, - 102, -1000, 2317, -1000, 2291, 633, 633, -1000, 955, -419, - -1000, -107, -1000, 1230, 1230, -1000, -214, -1000, -1000, -1000, - -1000, -1000, 400, 994, -1000, -1000, -1000, -1000, -1000, -1000, - 7642, -1000, -1000, -1000, 214, 214, -1000, -1000, + 388, 1506, -1000, 695, 44587, 44587, 1254, 333, -97, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 19537, -1000, + 1254, 1895, -1000, -250, -1000, -386, 19537, -144, -1000, -1000, + -144, -1000, 19537, -1000, -1000, 19537, -1000, 19537, 1438, -1000, + -1000, -1000, -1000, -1000, 1438, 1438, -1000, -155, -1000, 1498, + -1000, 44587, 1025, 1488, -1000, 955, -1000, -1000, -1000, -1000, + -1000, 44587, 1496, 44587, -1000, 1433, 1254, 1472, 2225, -1000, + 1394, -1000, 388, -1000, 1757, 1603, -1000, -1000, -1000, 17659, + -1000, -1000, -1000, -1000, -1000, 237, -90, 12626, 9471, 1378, + -1000, -1000, 1974, -85, -106, 1334, -1000, -338, -1000, -1000, + -1000, -1000, 296, -1000, -1000, 1488, -1000, -1000, 1428, 1286, + 1243, 30189, -1000, -1000, -1000, -1000, -155, -1000, -1000, 2176, + -1000, -1000, 1455, -1000, -1000, 26433, 43961, -1000, -79, 309, + -90, 19537, 1756, 1254, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1, -1000, -1000, -1000, -1000, -1000, 1802, -1000, + 1971, -1000, 1254, -1000, 150, -367, -184, -189, -1000, -1000, + -1000, 19537, -1000, 19537, -1000, 19537, -1000, -1000, -1000, 44587, + 1472, -1000, 1376, -1000, 4701, -199, 1892, -1000, -51, -1000, + -1000, -1000, 888, 993, -1000, -1000, -1000, -1000, -1000, -1000, + 1739, 44587, -1000, 351, -1000, -1000, -91, -93, -1000, 773, + -1000, -1000, -1000, -1000, -1000, 1156, 1035, 1504, -1000, 44587, + -1000, 43961, -194, 610, 4718, -1000, 1878, 1820, 2337, -1000, + -1000, -1000, -1000, -1000, -1000, -423, 1374, 262, -1000, -104, + 150, -1000, 19537, -1000, 19537, -1000, 1254, -1000, -1000, 2164, + 101, -1000, 2361, -1000, 2346, 643, 643, -1000, 942, -423, + -1000, -110, -1000, 1504, 1504, -1000, -202, -1000, -1000, -1000, + -1000, -1000, 422, 1119, -1000, -1000, -1000, -1000, -1000, -1000, + 4718, -1000, -1000, -1000, 226, 226, -1000, -1000, } var yyPgo = [...]int{ - 0, 2788, 2787, 32, 2, 44, 43, 2786, 37, 111, - 199, 34, 200, 122, 2783, 2782, 2781, 2780, 2779, 2778, - 2777, 232, 231, 230, 2776, 2775, 2774, 2773, 2771, 2769, - 2768, 2767, 2766, 2765, 228, 182, 198, 2764, 2763, 2762, - 145, 194, 103, 106, 196, 2761, 2760, 95, 2759, 2757, - 2756, 208, 207, 206, 838, 2754, 204, 136, 67, 2752, - 2751, 2750, 2748, 2745, 2744, 2743, 2742, 2741, 2740, 2739, - 2738, 2737, 2736, 2735, 2734, 2732, 318, 2728, 2727, 21, - 2726, 98, 2725, 2724, 2721, 2720, 9, 2717, 2709, 15, - 41, 2706, 2701, 58, 2700, 2695, 2694, 2693, 2692, 18, - 2691, 27, 2686, 45, 2684, 2680, 150, 2679, 2678, 2677, - 40, 2674, 2671, 2670, 2669, 2668, 2666, 2665, 166, 2664, - 2661, 2659, 184, 201, 2658, 2657, 172, 130, 144, 2656, - 2655, 124, 192, 2654, 142, 2649, 2646, 2641, 174, 2638, - 4166, 2637, 2634, 79, 104, 2626, 75, 2624, 10, 94, - 77, 17, 24, 1, 2623, 2616, 78, 101, 2614, 128, - 123, 81, 2613, 133, 121, 2612, 2611, 12, 6, 2610, - 4, 8, 5, 86, 2608, 2600, 143, 2598, 2597, 2596, - 120, 2593, 2588, 3025, 2577, 108, 156, 125, 93, 2573, - 52, 70, 2571, 2570, 2568, 2567, 2565, 66, 2564, 2563, - 2561, 164, 63, 181, 2558, 48, 46, 68, 155, 2556, - 73, 99, 2555, 162, 159, 2552, 2538, 76, 47, 53, - 2537, 119, 153, 141, 65, 116, 165, 2536, 2534, 74, - 90, 2533, 2529, 2527, 2526, 185, 2525, 2521, 89, 2520, - 69, 2518, 205, 2517, 23, 2513, 61, 55, 2512, 83, - 118, 88, 33, 2511, 225, 2510, 71, 183, 151, 179, - 2509, 2508, 2506, 2505, 197, 327, 2502, 2497, 127, 188, - 169, 170, 105, 2496, 338, 2495, 2492, 137, 1387, 5115, - 2489, 29, 180, 2485, 2484, 6502, 161, 49, 22, 2476, - 148, 2468, 2467, 2466, 213, 186, 126, 1035, 84, 2465, - 2464, 91, 16, 2463, 2461, 2459, 2447, 2445, 2439, 92, - 42, 39, 36, 216, 82, 19, 129, 176, 97, 2437, - 2436, 2435, 147, 110, 2424, 178, 177, 149, 190, 2422, - 189, 167, 160, 2419, 132, 35, 2418, 2416, 2415, 2411, - 107, 2410, 2405, 2403, 2400, 175, 168, 146, 100, 2393, - 102, 140, 173, 171, 60, 2392, 50, 2391, 2388, 30, - 195, 31, 2385, 14, 80, 85, 28, 139, 163, 2383, - 0, 2382, 20, 193, 341, 187, 2374, 2372, 3, 11, - 13, 2371, 2367, 2366, 2364, 158, 2362, 2361, 2360, 2358, - 26, 59, 25, 7, 134, 96, 2356, 2350, 4208, 2076, - 152, 2346, 212, + 0, 2775, 2774, 33, 2, 43, 42, 2773, 37, 121, + 200, 50, 199, 123, 2772, 2771, 2770, 2769, 2768, 2767, + 2766, 233, 232, 231, 2765, 2761, 2760, 2759, 2757, 2756, + 2755, 2754, 2753, 2752, 227, 180, 192, 2751, 2750, 2748, + 144, 190, 103, 105, 194, 2744, 2743, 95, 2742, 2741, + 2740, 223, 221, 216, 803, 2739, 214, 151, 65, 2738, + 2737, 2736, 2735, 2734, 2733, 2732, 2731, 2730, 2729, 2728, + 2727, 2726, 2725, 2724, 2723, 2722, 277, 2721, 2720, 23, + 2719, 97, 2718, 2717, 2716, 2715, 11, 2713, 2709, 14, + 49, 2708, 2707, 59, 2706, 2705, 2704, 2702, 2701, 21, + 2700, 24, 2695, 44, 2694, 2693, 149, 2692, 2689, 2688, + 40, 2687, 2686, 2685, 2682, 2680, 2679, 2678, 166, 2676, + 2675, 2673, 202, 196, 2670, 2669, 253, 137, 132, 2668, + 2666, 128, 195, 2665, 143, 2664, 2661, 2660, 173, 2658, + 3362, 2657, 2655, 80, 99, 2654, 83, 2651, 10, 98, + 79, 5, 16, 6, 2650, 2649, 77, 94, 2648, 133, + 126, 86, 2646, 122, 111, 2645, 2641, 13, 3, 2638, + 4, 9, 7, 82, 2637, 2636, 145, 2635, 2628, 2618, + 110, 2617, 2616, 6162, 2615, 106, 157, 129, 93, 2614, + 55, 70, 2613, 2612, 2611, 2610, 2608, 66, 2604, 2600, + 2599, 167, 48, 184, 2598, 52, 46, 69, 159, 2595, + 45, 100, 2593, 165, 164, 2592, 2590, 76, 53, 47, + 2589, 125, 155, 142, 61, 120, 160, 2588, 2577, 73, + 90, 2576, 2575, 2574, 2573, 183, 2572, 2567, 85, 2566, + 71, 2564, 204, 2563, 19, 2556, 75, 58, 2551, 84, + 136, 88, 32, 2548, 220, 2547, 67, 182, 154, 179, + 2542, 2541, 2539, 2538, 191, 328, 2533, 2529, 127, 187, + 169, 172, 108, 2527, 348, 2526, 2525, 119, 1387, 4778, + 2522, 29, 181, 2521, 2518, 6340, 162, 41, 27, 2517, + 152, 2516, 2513, 2510, 197, 185, 139, 1038, 81, 2508, + 2506, 92, 18, 2503, 2499, 2497, 2495, 2492, 2490, 101, + 39, 36, 35, 205, 89, 20, 124, 176, 91, 2489, + 2488, 2484, 147, 118, 2483, 178, 177, 148, 130, 2473, + 188, 168, 153, 2468, 131, 34, 2467, 2466, 2465, 2464, + 107, 2463, 2461, 2456, 2451, 175, 170, 146, 104, 2447, + 102, 140, 174, 171, 68, 2444, 63, 2443, 2441, 30, + 193, 31, 2434, 17, 74, 78, 28, 134, 150, 2432, + 0, 2428, 22, 189, 347, 186, 2427, 2425, 8, 12, + 15, 2423, 2422, 2418, 2416, 161, 2415, 2406, 2401, 2396, + 26, 60, 25, 1, 141, 96, 2393, 2386, 5083, 2050, + 156, 2378, 206, } //line sql.y:7619 @@ -7573,7 +7494,7 @@ var yyR2 = [...]int{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 4, 5, 5, 6, 4, 4, 8, 6, 8, 6, 5, 4, 2, 2, 1, 2, 2, 2, - 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, + 4, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8, 8, 8, 6, 5, 4, 4, 4, 4, 4, 7, 4, 6, 6, 6, 4, 4, 4, 7, 8, 6, 5, 6, 8, @@ -7840,75 +7761,75 @@ var yyChk = [...]int{ -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -146, -296, -279, 93, 174, -153, -152, 99, -393, -153, -126, -128, -140, -140, -370, -126, -126, -140, - -212, -213, 144, -210, -399, -399, 95, 99, -122, 24, - 38, -122, -122, -122, -122, -202, -202, -202, -202, -202, - -202, -202, -202, -202, -202, -122, -279, -279, -115, -114, - 420, 421, 422, 423, 425, 426, 427, 430, 431, 435, - 436, 419, 437, 424, 429, 432, 433, 434, 428, 331, - -140, -140, -140, -140, -140, -140, -83, -140, 127, 128, - 129, -140, -140, -203, -202, -369, -368, -367, -140, -140, + -212, -213, 144, -210, -399, -399, 95, 99, 165, -122, + 24, 38, -122, -122, -122, -122, -140, -140, -140, -140, + -140, -140, -140, -140, -140, -140, -122, -279, -279, -115, + -114, 420, 421, 422, 423, 425, 426, 427, 430, 431, + 435, 436, 419, 437, 424, 429, 432, 433, 434, 428, + 331, -140, -140, -140, -140, -140, -140, -83, -140, 127, + 128, 129, -140, -140, -203, -202, -369, -368, -367, -140, -140, -140, -140, -140, -140, -140, -140, -140, -140, -140, -140, -140, -140, -140, -140, -140, -140, -140, -140, -140, - -140, -399, -140, -159, -144, 95, -370, 99, -140, -140, - -127, 24, 38, -126, -281, -286, -277, -126, -127, -127, - -126, -126, -279, -140, -140, -140, -140, 218, -242, -399, - -202, 87, -386, 401, 402, 590, -288, 270, -287, 25, - -203, 93, 14, -248, 77, -279, -224, -224, 63, 64, - 59, -126, -131, -399, -35, 25, -244, -279, 62, 93, - -314, -254, 358, 359, 174, -140, -140, 87, -223, 27, - 28, -183, -282, 165, -286, -183, -249, 270, -183, -161, - -163, -164, -165, -186, -209, -398, -166, 510, 507, 14, - -176, -177, -185, -285, -257, -259, 87, 400, 402, 403, - 76, 119, -140, -315, 173, -342, -341, -340, -323, -325, - -326, -327, 88, -315, -319, 364, 363, -309, -309, -309, - -309, -309, -314, -314, -314, -314, 86, 86, -309, -309, - -309, -309, -317, 86, -317, -317, -318, 86, -318, -353, - -140, -350, -349, -347, -348, 244, 102, 583, 539, 491, - 531, 573, 77, -345, -223, 95, -399, -138, -271, 239, - -351, -348, -370, -370, -370, -271, -370, 93, -370, 93, - -370, 93, -107, -58, -1, 629, 630, 631, 87, 19, - -324, -323, -57, 295, -356, -357, 270, -352, -346, -332, - 134, -331, -332, -332, -370, 87, 29, 124, 124, 124, - 124, 491, 224, 32, -272, 530, 140, 583, 539, -323, - -57, -296, 237, -296, -296, 93, 93, -267, 625, -176, - -134, 287, 148, 276, 276, 234, 234, 289, -183, 300, - 302, 301, 299, 303, 304, 23, 23, 23, 288, 290, - 292, 278, -183, -183, -270, 76, -178, -183, 26, -285, - -183, -268, -268, -183, -268, -268, -183, -279, -118, 401, - 87, 491, 22, -119, 22, -398, 116, 117, 118, -201, - -146, -149, -146, 139, 258, 87, -399, 25, 87, 77, - -399, -399, -399, 87, 14, -215, -213, 146, -140, -399, - -399, -399, 165, -202, -202, -202, -202, -202, -399, -399, - -399, -399, -399, -399, -399, -399, -399, -399, -202, 87, - 87, 14, -300, 25, -399, -399, -399, -399, -399, -214, - -399, 14, 87, 87, -399, -399, 87, 87, -399, 87, - 87, 87, -366, 87, 87, 87, 87, -399, -399, -399, - -399, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, -399, -90, 515, -399, -399, 87, -399, 87, -399, - -126, -126, -398, 218, -399, -399, -399, -399, -399, 87, - 87, 87, 87, -281, -399, -385, 589, 402, -190, -189, - -187, 74, 238, 75, -398, -287, -399, -153, 90, -245, - 90, -244, -195, -279, 95, 99, -226, -160, -162, 14, - -131, -208, 88, 87, -314, -230, -236, -265, -279, 93, - 174, -316, 174, -316, 358, 359, -222, 218, -191, 15, - -194, 32, 57, -11, -398, -398, 32, 87, -179, -181, - -180, -182, 66, 70, 72, 67, 68, 69, 73, -291, - 25, -161, -9, -8, -398, -398, -398, -183, -176, -400, - 14, 77, -400, 87, 218, -258, -260, 404, 401, 407, - -370, 93, -106, 87, -340, -327, -227, -135, 40, -320, - 365, -314, 498, -314, -322, 93, -322, 95, 95, 88, - -47, -42, -43, 33, 81, -347, -334, 93, 39, -334, - -334, -279, 88, -223, -134, -183, 140, 76, -351, -351, - -351, -285, -2, 628, 634, 134, 86, 368, 18, -244, - 87, 88, -211, 296, 88, -108, -279, 88, 86, -332, - -332, -279, -398, 234, 31, 31, 583, 539, 530, -57, - -211, -315, -370, 627, 626, 88, 236, 294, -139, 415, - -136, 93, 89, -183, -183, -183, -183, -183, 227, 224, - -394, 305, -394, 279, 237, -176, -183, 87, -81, 253, - 248, -290, -290, 33, -183, 401, 601, 599, -140, 139, - 258, -157, -149, -128, 488, -298, 174, 332, 257, 330, - 326, 346, 337, 363, 328, 364, 325, 324, 323, -298, - -296, -140, -140, 147, -140, 145, -399, -399, -399, -399, + -140, -140, -399, -140, -159, -144, 95, -370, 99, -140, + -140, -127, 24, 38, -126, -281, -286, -277, -126, -127, + -127, -126, -126, -279, -140, -140, -140, -140, 218, -242, + -399, -202, 87, -386, 401, 402, 590, -288, 270, -287, + 25, -203, 93, 14, -248, 77, -279, -224, -224, 63, + 64, 59, -126, -131, -399, -35, 25, -244, -279, 62, + 93, -314, -254, 358, 359, 174, -140, -140, 87, -223, + 27, 28, -183, -282, 165, -286, -183, -249, 270, -183, + -161, -163, -164, -165, -186, -209, -398, -166, 510, 507, + 14, -176, -177, -185, -285, -257, -259, 87, 400, 402, + 403, 76, 119, -140, -315, 173, -342, -341, -340, -323, + -325, -326, -327, 88, -315, -319, 364, 363, -309, -309, + -309, -309, -309, -314, -314, -314, -314, 86, 86, -309, + -309, -309, -309, -317, 86, -317, -317, -318, 86, -318, + -353, -140, -350, -349, -347, -348, 244, 102, 583, 539, + 491, 531, 573, 77, -345, -223, 95, -399, -138, -271, + 239, -351, -348, -370, -370, -370, -271, -370, 93, -370, + 93, -370, 93, -107, -58, -1, 629, 630, 631, 87, + 19, -324, -323, -57, 295, -356, -357, 270, -352, -346, + -332, 134, -331, -332, -332, -370, 87, 29, 124, 124, + 124, 124, 491, 224, 32, -272, 530, 140, 583, 539, + -323, -57, -296, 237, -296, -296, 93, 93, -267, 625, + -176, -134, 287, 148, 276, 276, 234, 234, 289, -183, + 300, 302, 301, 299, 303, 304, 23, 23, 23, 288, + 290, 292, 278, -183, -183, -270, 76, -178, -183, 26, + -285, -183, -268, -268, -183, -268, -268, -183, -279, -118, + 401, 87, 491, 22, -119, 22, -398, 116, 117, 118, + -201, -146, -149, -146, 139, 258, 87, -399, 25, 87, + 77, -399, -399, -399, 87, 14, -215, -213, 146, -140, + -399, -399, -399, -399, -202, -140, -140, -140, -140, -399, + -399, -399, -399, -399, -399, -399, -399, -399, -399, -202, + 87, 87, 14, -300, 25, -399, -399, -399, -399, -399, + -214, -399, 14, 87, 87, -399, -399, 87, 87, -399, + 87, 87, 87, -366, 87, 87, 87, 87, -399, -399, + -399, -399, 87, 87, 87, 87, 87, 87, 87, 87, + 87, 87, -399, -90, 515, -399, -399, 87, -399, 87, + -399, -126, -126, -398, 218, -399, -399, -399, -399, -399, + 87, 87, 87, 87, -281, -399, -385, 589, 402, -190, + -189, -187, 74, 238, 75, -398, -287, -399, -153, 90, + -245, 90, -244, -195, -279, 95, 99, -226, -160, -162, + 14, -131, -208, 88, 87, -314, -230, -236, -265, -279, + 93, 174, -316, 174, -316, 358, 359, -222, 218, -191, + 15, -194, 32, 57, -11, -398, -398, 32, 87, -179, + -181, -180, -182, 66, 70, 72, 67, 68, 69, 73, + -291, 25, -161, -9, -8, -398, -398, -398, -183, -176, + -400, 14, 77, -400, 87, 218, -258, -260, 404, 401, + 407, -370, 93, -106, 87, -340, -327, -227, -135, 40, + -320, 365, -314, 498, -314, -322, 93, -322, 95, 95, + 88, -47, -42, -43, 33, 81, -347, -334, 93, 39, + -334, -334, -279, 88, -223, -134, -183, 140, 76, -351, + -351, -351, -285, -2, 628, 634, 134, 86, 368, 18, + -244, 87, 88, -211, 296, 88, -108, -279, 88, 86, + -332, -332, -279, -398, 234, 31, 31, 583, 539, 530, + -57, -211, -315, -370, 627, 626, 88, 236, 294, -139, + 415, -136, 93, 89, -183, -183, -183, -183, -183, 227, + 224, -394, 305, -394, 279, 237, -176, -183, 87, -81, + 253, 248, -290, -290, 33, -183, 401, 601, 599, -140, + 139, 258, -157, -149, -128, 488, -298, 174, 332, 257, + 330, 326, 346, 337, 363, 328, 364, 325, 324, 323, + -298, -296, -140, -140, 147, -140, 145, -399, -399, -399, -399, -399, -219, -140, -140, -140, -399, 174, 332, 14, -140, -140, -140, -367, -140, -140, -140, -365, -364, -153, -210, -399, -365, -140, -140, -364, -364, -368, -368, -368, @@ -8178,75 +8099,75 @@ var yyDef = [...]int{ 964, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 986, 1223, 1224, 1225, 1003, 281, 282, 0, 1004, 0, 861, 0, 0, 0, 0, 0, 0, - 1253, 1250, 0, 0, 1208, 1210, 0, 0, 0, 838, - 839, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1186, - 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, - 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, - 1226, 0, 0, 0, 0, 0, 1246, 0, 1006, 1007, - 1008, 0, 0, 0, 1401, 0, 130, 131, 0, 0, - 0, 0, 0, 1180, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1157, 1158, 1159, 1160, 0, 0, - 0, 0, 0, 848, 1256, 0, -2, 0, 0, 0, - 0, 0, 1005, 0, 0, 0, 0, 0, 0, 1366, - 0, 0, 795, 796, 798, 0, 931, 0, 912, 0, - 0, 801, 0, 842, 0, 845, 58, 60, 854, 855, - 0, 872, 851, 54, 49, 0, 0, 889, 1320, 350, - 1342, 0, 359, 359, 356, 1282, 1283, 0, 1275, 1277, - 1278, 77, 869, 865, 0, 943, 0, 0, 926, 0, - 875, 877, 878, 879, 909, 0, 882, 0, 0, 0, - 0, 0, 96, 928, 1373, 101, 0, 0, 106, 107, - 1374, 1375, 1376, 1377, 0, 573, -2, 436, 167, 169, - 170, 171, 162, -2, 348, 346, 347, 291, 350, 350, - 315, 316, 317, 318, 319, 320, 0, 0, 308, 309, - 310, 311, 302, 0, 303, 304, 305, 0, 306, 403, - 0, 1284, 366, 367, 369, 377, 0, 372, 373, 0, - 377, 377, 0, 398, 399, 0, 1276, 1301, 0, 0, - 0, 1403, 1402, 1402, 1402, 0, 155, 156, 157, 158, - 159, 160, 609, 0, 0, 585, 607, 608, 153, 0, - 0, 163, 491, 490, 0, 641, 0, 401, 0, 0, - 395, 395, 380, 381, 531, 0, 0, 616, 617, 618, - 619, 0, 0, 0, 518, 430, 0, 519, 520, 489, - 491, 361, 0, 444, 445, 450, 451, 470, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 564, - 565, 566, 567, 493, 571, 568, 493, 572, 1298, 1299, - 1300, 0, 0, 679, 0, 0, 427, 92, 1391, 684, - 745, 705, 737, 745, 697, 704, 725, 765, 809, 0, - 0, 0, 0, 817, 0, 0, 953, 1056, 1058, 957, - 0, 961, 965, 0, 0, 0, 0, 0, 0, 0, - 1052, 1076, 1077, 0, 0, 0, 1251, 0, 0, 1083, - 1211, 1212, 0, 0, 0, 0, 0, 0, 1096, 1097, - 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1270, 0, - 0, 0, 0, 0, 1111, 1112, 1113, 1114, 1115, 0, - 1117, 0, 0, 0, 1121, 1122, 0, 0, 1123, 0, - 0, 0, 0, 0, 0, 0, 0, 1135, 1136, 1137, - 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1149, 1150, 0, 1034, 0, 0, 1034, 0, 1072, - 0, 0, 847, 0, 1213, 1214, 1215, 1216, 1217, 0, - 0, 0, 0, 1256, 1367, 794, 797, 799, 885, 932, - 933, 0, 0, 0, 0, 913, 1399, 840, 841, 844, - -2, 0, 0, 1258, 0, 0, 872, 943, 873, 0, - 852, 51, 888, 0, 1324, 1323, 1336, 1349, 359, 359, - 353, 354, 360, 355, 357, 358, 1274, 0, 1279, 0, - 1360, 0, 0, 1352, 0, 0, 0, 0, 0, 0, - 0, 0, 916, 0, 0, 919, 0, 0, 0, 0, - 910, 0, 0, 0, 0, 0, 0, -2, 0, 0, - 90, 91, 0, 0, 0, 104, 105, 0, 0, 111, - 362, 363, 144, 153, 438, 168, 411, 0, 0, 287, - 349, 312, 313, 314, 0, 336, 0, 0, 0, 432, - 116, 1288, 1287, 377, 377, 368, 0, 371, 0, 0, - 0, 1404, 339, 400, 0, 134, 0, 0, 0, 0, - 0, 140, 579, 0, 0, 586, 0, 0, 0, 500, - 0, 511, 512, 0, 613, -2, 675, 365, 0, 379, - 382, 898, 0, 0, 513, 0, 516, 517, 431, 491, - 522, 523, 536, 473, 474, 471, 0, 0, 1311, 1312, - 1317, 1315, 1316, 121, 557, 559, 558, 562, 0, 0, - 495, 0, 495, 555, 0, 427, 1284, 0, 683, 428, - 429, 748, 748, 804, 95, 0, 807, 0, 0, 0, - 0, 958, 962, 862, 0, 1244, 338, 338, 1231, 338, - 342, 1234, 338, 1236, 338, 1239, 338, 1242, 1243, 1244, - 0, 0, 0, 1082, 1254, 0, 1090, 1091, 1092, 1093, + 1253, 1250, 0, 0, 1208, 1210, 0, 0, 0, 0, + 838, 839, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, + 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, + 1206, 1226, 0, 0, 0, 0, 0, 1246, 0, 1006, + 1007, 1008, 0, 0, 0, 1401, 0, 130, 131, 0, + 0, 0, 0, 0, 1180, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1157, 1158, 1159, 1160, 0, + 0, 0, 0, 0, 848, 1256, 0, -2, 0, 0, + 0, 0, 0, 1005, 0, 0, 0, 0, 0, 0, + 1366, 0, 0, 795, 796, 798, 0, 931, 0, 912, + 0, 0, 801, 0, 842, 0, 845, 58, 60, 854, + 855, 0, 872, 851, 54, 49, 0, 0, 889, 1320, + 350, 1342, 0, 359, 359, 356, 1282, 1283, 0, 1275, + 1277, 1278, 77, 869, 865, 0, 943, 0, 0, 926, + 0, 875, 877, 878, 879, 909, 0, 882, 0, 0, + 0, 0, 0, 96, 928, 1373, 101, 0, 0, 106, + 107, 1374, 1375, 1376, 1377, 0, 573, -2, 436, 167, + 169, 170, 171, 162, -2, 348, 346, 347, 291, 350, + 350, 315, 316, 317, 318, 319, 320, 0, 0, 308, + 309, 310, 311, 302, 0, 303, 304, 305, 0, 306, + 403, 0, 1284, 366, 367, 369, 377, 0, 372, 373, + 0, 377, 377, 0, 398, 399, 0, 1276, 1301, 0, + 0, 0, 1403, 1402, 1402, 1402, 0, 155, 156, 157, + 158, 159, 160, 609, 0, 0, 585, 607, 608, 153, + 0, 0, 163, 491, 490, 0, 641, 0, 401, 0, + 0, 395, 395, 380, 381, 531, 0, 0, 616, 617, + 618, 619, 0, 0, 0, 518, 430, 0, 519, 520, + 489, 491, 361, 0, 444, 445, 450, 451, 470, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 564, 565, 566, 567, 493, 571, 568, 493, 572, 1298, + 1299, 1300, 0, 0, 679, 0, 0, 427, 92, 1391, + 684, 745, 705, 737, 745, 697, 704, 725, 765, 809, + 0, 0, 0, 0, 817, 0, 0, 953, 1056, 1058, + 957, 0, 961, 965, 0, 0, 0, 0, 0, 0, + 0, 1052, 1076, 1077, 0, 0, 0, 1251, 0, 0, + 1083, 1211, 1212, 1090, 0, 0, 0, 0, 0, 1096, + 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1270, + 0, 0, 0, 0, 0, 1111, 1112, 1113, 1114, 1115, + 0, 1117, 0, 0, 0, 1121, 1122, 0, 0, 1123, + 0, 0, 0, 0, 0, 0, 0, 0, 1135, 1136, + 1137, 1138, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1149, 1150, 0, 1034, 0, 0, 1034, 0, + 1072, 0, 0, 847, 0, 1213, 1214, 1215, 1216, 1217, + 0, 0, 0, 0, 1256, 1367, 794, 797, 799, 885, + 932, 933, 0, 0, 0, 0, 913, 1399, 840, 841, + 844, -2, 0, 0, 1258, 0, 0, 872, 943, 873, + 0, 852, 51, 888, 0, 1324, 1323, 1336, 1349, 359, + 359, 353, 354, 360, 355, 357, 358, 1274, 0, 1279, + 0, 1360, 0, 0, 1352, 0, 0, 0, 0, 0, + 0, 0, 0, 916, 0, 0, 919, 0, 0, 0, + 0, 910, 0, 0, 0, 0, 0, 0, -2, 0, + 0, 90, 91, 0, 0, 0, 104, 105, 0, 0, + 111, 362, 363, 144, 153, 438, 168, 411, 0, 0, + 287, 349, 312, 313, 314, 0, 336, 0, 0, 0, + 432, 116, 1288, 1287, 377, 377, 368, 0, 371, 0, + 0, 0, 1404, 339, 400, 0, 134, 0, 0, 0, + 0, 0, 140, 579, 0, 0, 586, 0, 0, 0, + 500, 0, 511, 512, 0, 613, -2, 675, 365, 0, + 379, 382, 898, 0, 0, 513, 0, 516, 517, 431, + 491, 522, 523, 536, 473, 474, 471, 0, 0, 1311, + 1312, 1317, 1315, 1316, 121, 557, 559, 558, 562, 0, + 0, 495, 0, 495, 555, 0, 427, 1284, 0, 683, + 428, 429, 748, 748, 804, 95, 0, 807, 0, 0, + 0, 0, 958, 962, 862, 0, 1244, 338, 338, 1231, + 338, 342, 1234, 338, 1236, 338, 1239, 338, 1242, 1243, + 1244, 0, 0, 0, 1082, 1254, 0, 1091, 1092, 1093, 1094, 1095, 1248, 0, 0, 0, 1110, 0, 0, 0, 0, 0, 0, 132, 133, 1180, 0, 0, 1182, 1184, 1185, 1127, 1181, 0, 0, 1178, 0, 0, 0, 0, @@ -16795,11 +16716,11 @@ yydefault: } yyVAL.union = yyLOCAL case 1090: - yyDollar = yyS[yypt-5 : yypt+1] + yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL Expr //line sql.y:5615 { - yyLOCAL = &CountStar{Name: yyDollar[1].str, Distinct: yyDollar[3].booleanUnion()} + yyLOCAL = &CountStar{Name: yyDollar[1].str} } yyVAL.union = yyLOCAL case 1091: @@ -16815,7 +16736,7 @@ yydefault: var yyLOCAL Expr //line sql.y:5623 { - yyLOCAL = &Max{Name: yyDollar[1].str, Distinct: yyDollar[3].booleanUnion(), Args: yyDollar[4].exprsUnion()} + yyLOCAL = &Max{Name: yyDollar[1].str, Distinct: yyDollar[3].booleanUnion(), Arg: yyDollar[4].exprUnion()} } yyVAL.union = yyLOCAL case 1093: @@ -16823,7 +16744,7 @@ yydefault: var yyLOCAL Expr //line sql.y:5627 { - yyLOCAL = &Min{Name: yyDollar[1].str, Distinct: yyDollar[3].booleanUnion(), Args: yyDollar[4].exprsUnion()} + yyLOCAL = &Min{Name: yyDollar[1].str, Distinct: yyDollar[3].booleanUnion(), Arg: yyDollar[4].exprUnion()} } yyVAL.union = yyLOCAL case 1094: @@ -16831,7 +16752,7 @@ yydefault: var yyLOCAL Expr //line sql.y:5631 { - yyLOCAL = &Sum{Name: yyDollar[1].str, Distinct: yyDollar[3].booleanUnion(), Args: yyDollar[4].exprsUnion()} + yyLOCAL = &Sum{Name: yyDollar[1].str, Distinct: yyDollar[3].booleanUnion(), Arg: yyDollar[4].exprUnion()} } yyVAL.union = yyLOCAL case 1095: @@ -16839,7 +16760,7 @@ yydefault: var yyLOCAL Expr //line sql.y:5635 { - yyLOCAL = &Avg{Name: yyDollar[1].str, Distinct: yyDollar[3].booleanUnion(), Args: yyDollar[4].exprsUnion()} + yyLOCAL = &Avg{Name: yyDollar[1].str, Distinct: yyDollar[3].booleanUnion(), Arg: yyDollar[4].exprUnion()} } yyVAL.union = yyLOCAL case 1096: @@ -16847,7 +16768,7 @@ yydefault: var yyLOCAL Expr //line sql.y:5639 { - yyLOCAL = &BitAnd{Name: yyDollar[1].str, Args: yyDollar[3].exprsUnion()} + yyLOCAL = &BitAnd{Name: yyDollar[1].str, Arg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL case 1097: @@ -16855,7 +16776,7 @@ yydefault: var yyLOCAL Expr //line sql.y:5643 { - yyLOCAL = &BitOr{Name: yyDollar[1].str, Args: yyDollar[3].exprsUnion()} + yyLOCAL = &BitOr{Name: yyDollar[1].str, Arg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL case 1098: @@ -16863,7 +16784,7 @@ yydefault: var yyLOCAL Expr //line sql.y:5647 { - yyLOCAL = &BitXor{Name: yyDollar[1].str, Args: yyDollar[3].exprsUnion()} + yyLOCAL = &BitXor{Name: yyDollar[1].str, Arg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL case 1099: @@ -16871,7 +16792,7 @@ yydefault: var yyLOCAL Expr //line sql.y:5651 { - yyLOCAL = &Std{Name: yyDollar[1].str, Args: yyDollar[3].exprsUnion()} + yyLOCAL = &Std{Name: yyDollar[1].str, Arg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL case 1100: @@ -16879,7 +16800,7 @@ yydefault: var yyLOCAL Expr //line sql.y:5655 { - yyLOCAL = &StdDev{Name: yyDollar[1].str, Args: yyDollar[3].exprsUnion()} + yyLOCAL = &StdDev{Name: yyDollar[1].str, Arg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL case 1101: @@ -16887,7 +16808,7 @@ yydefault: var yyLOCAL Expr //line sql.y:5659 { - yyLOCAL = &StdPop{Name: yyDollar[1].str, Args: yyDollar[3].exprsUnion()} + yyLOCAL = &StdPop{Name: yyDollar[1].str, Arg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL case 1102: @@ -16895,7 +16816,7 @@ yydefault: var yyLOCAL Expr //line sql.y:5663 { - yyLOCAL = &StdSamp{Name: yyDollar[1].str, Args: yyDollar[3].exprsUnion()} + yyLOCAL = &StdSamp{Name: yyDollar[1].str, Arg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL case 1103: @@ -16903,7 +16824,7 @@ yydefault: var yyLOCAL Expr //line sql.y:5667 { - yyLOCAL = &VarPop{Name: yyDollar[1].str, Args: yyDollar[3].exprsUnion()} + yyLOCAL = &VarPop{Name: yyDollar[1].str, Arg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL case 1104: @@ -16911,7 +16832,7 @@ yydefault: var yyLOCAL Expr //line sql.y:5671 { - yyLOCAL = &VarSamp{Name: yyDollar[1].str, Args: yyDollar[3].exprsUnion()} + yyLOCAL = &VarSamp{Name: yyDollar[1].str, Arg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL case 1105: @@ -16919,7 +16840,7 @@ yydefault: var yyLOCAL Expr //line sql.y:5675 { - yyLOCAL = &Variance{Name: yyDollar[1].str, Args: yyDollar[3].exprsUnion()} + yyLOCAL = &Variance{Name: yyDollar[1].str, Arg: yyDollar[3].exprUnion()} } yyVAL.union = yyLOCAL case 1106: diff --git a/go/vt/sqlparser/sql.y b/go/vt/sqlparser/sql.y index 6e55715446c..04209ce93c9 100644 --- a/go/vt/sqlparser/sql.y +++ b/go/vt/sqlparser/sql.y @@ -5611,69 +5611,69 @@ UTC_DATE func_paren_opt { $$ = &CurTimeFuncExpr{Name:NewColIdent("current_time"), Fsp: $2} } -| COUNT openb distinct_opt '*' closeb +| COUNT openb '*' closeb { - $$ = &CountStar{Name:$1, Distinct:$3} + $$ = &CountStar{Name:$1} } | COUNT openb distinct_opt expression_list closeb { $$ = &Count{Name:$1, Distinct:$3, Args:$4} } -| MAX openb distinct_opt expression_list closeb +| MAX openb distinct_opt expression closeb { - $$ = &Max{Name:$1 , Distinct:$3, Args:$4} + $$ = &Max{Name:$1 , Distinct:$3, Arg:$4} } -| MIN openb distinct_opt expression_list closeb +| MIN openb distinct_opt expression closeb { - $$ = &Min{Name:$1 , Distinct:$3, Args:$4} + $$ = &Min{Name:$1 , Distinct:$3, Arg:$4} } -| SUM openb distinct_opt expression_list closeb +| SUM openb distinct_opt expression closeb { - $$ = &Sum{Name:$1 , Distinct:$3, Args:$4} + $$ = &Sum{Name:$1 , Distinct:$3, Arg:$4} } -| AVG openb distinct_opt expression_list closeb +| AVG openb distinct_opt expression closeb { - $$ = &Avg{Name:$1 , Distinct:$3, Args:$4} + $$ = &Avg{Name:$1 , Distinct:$3, Arg:$4} } -| BIT_AND openb expression_list closeb +| BIT_AND openb expression closeb { - $$ = &BitAnd{Name:$1 , Args:$3} + $$ = &BitAnd{Name:$1 , Arg:$3} } -| BIT_OR openb expression_list closeb +| BIT_OR openb expression closeb { - $$ = &BitOr{Name:$1 , Args:$3} + $$ = &BitOr{Name:$1 , Arg:$3} } -| BIT_XOR openb expression_list closeb +| BIT_XOR openb expression closeb { - $$ = &BitXor{Name:$1 , Args:$3} + $$ = &BitXor{Name:$1 , Arg:$3} } -| STD openb expression_list closeb +| STD openb expression closeb { - $$ = &Std{Name:$1 , Args:$3} + $$ = &Std{Name:$1 , Arg:$3} } -| STDDEV openb expression_list closeb +| STDDEV openb expression closeb { - $$ = &StdDev{Name:$1 , Args:$3} + $$ = &StdDev{Name:$1 , Arg:$3} } -| STDDEV_POP openb expression_list closeb +| STDDEV_POP openb expression closeb { - $$ = &StdPop{Name:$1 , Args:$3} + $$ = &StdPop{Name:$1 , Arg:$3} } -| STDDEV_SAMP openb expression_list closeb +| STDDEV_SAMP openb expression closeb { - $$ = &StdSamp{Name:$1 , Args:$3} + $$ = &StdSamp{Name:$1 , Arg:$3} } -| VAR_POP openb expression_list closeb +| VAR_POP openb expression closeb { - $$ = &VarPop{Name:$1 , Args:$3} + $$ = &VarPop{Name:$1 , Arg:$3} } -| VAR_SAMP openb expression_list closeb +| VAR_SAMP openb expression closeb { - $$ = &VarSamp{Name:$1 , Args:$3} + $$ = &VarSamp{Name:$1 , Arg:$3} } -| VARIANCE openb expression_list closeb +| VARIANCE openb expression closeb { - $$ = &Variance{Name:$1 , Args:$3} + $$ = &Variance{Name:$1 , Arg:$3} } | GROUP_CONCAT openb distinct_opt expression_list order_by_opt separator_opt limit_opt closeb { diff --git a/go/vt/sqlparser/testdata/select_cases.txt b/go/vt/sqlparser/testdata/select_cases.txt index 448013b6892..c23e730d7c9 100644 --- a/go/vt/sqlparser/testdata/select_cases.txt +++ b/go/vt/sqlparser/testdata/select_cases.txt @@ -176,7 +176,7 @@ INPUT select @sum; END OUTPUT -select @sum from dual +select @`sum` from dual END INPUT select s1 from t1 group by 1 having 1 = 0; @@ -2222,7 +2222,7 @@ INPUT select a.id, b.category as catid, b.state as stateid, b.county as countyid from t1 a, t2 b where (a.token = 'a71250b7ed780f6ef3185bfffe027983') and (a.count = b.id) order by a.id; END OUTPUT -select a.id, b.category as catid, b.state as stateid, b.county as countyid from t1 as a, t2 as b where a.token = 'a71250b7ed780f6ef3185bfffe027983' and a.count = b.id order by a.id asc +select a.id, b.category as catid, b.state as stateid, b.county as countyid from t1 as a, t2 as b where a.token = 'a71250b7ed780f6ef3185bfffe027983' and a.`count` = b.id order by a.id asc END INPUT select sql_data_access from information_schema.routines where specific_name like 'p%' and ROUTINE_SCHEMA != 'sys'; @@ -2480,7 +2480,7 @@ INPUT select a.id, b.category as catid, b.state as stateid, b.county as countyid from t1 a, t2 b ignore index (primary) where (a.token ='a71250b7ed780f6ef3185bfffe027983') and (a.count = b.id); END OUTPUT -select a.id, b.category as catid, b.state as stateid, b.county as countyid from t1 as a, t2 as b ignore index (`primary`) where a.token = 'a71250b7ed780f6ef3185bfffe027983' and a.count = b.id +select a.id, b.category as catid, b.state as stateid, b.county as countyid from t1 as a, t2 as b ignore index (`primary`) where a.token = 'a71250b7ed780f6ef3185bfffe027983' and a.`count` = b.id END INPUT select count(distinct n2) from t1; @@ -2708,7 +2708,7 @@ INPUT select t2.count, t1.name from t2 inner join t1 using (color); END OUTPUT -select t2.count, t1.`name` from t2 join t1 using (color) +select t2.`count`, t1.`name` from t2 join t1 using (color) END INPUT select st_touches(st_union(ST_GeomFromText('point(1 1)'), ST_GeomFromText('multipoint(2 2, 3 3)')), st_intersection(ST_GeomFromText('point(0 0)'), ST_GeomFromText('point(1 1)'))); @@ -10844,7 +10844,7 @@ INPUT select t2.count, t1.name from t2 natural join t1; END OUTPUT -select t2.count, t1.`name` from t2 natural join t1 +select t2.`count`, t1.`name` from t2 natural join t1 END INPUT select 1+1,1-1,1+1*2,8/5,8%5,mod(8,5),mod(8,5)|0,-(1+1)*-2; @@ -17714,7 +17714,7 @@ INPUT select grp, sum(a)+count(a)+avg(a)+std(a)+variance(a)+bit_or(a)+bit_and(a)+min(a)+max(a)+min(c)+max(c) as sum from t1 group by grp; END OUTPUT -select grp, sum(a) + count(a) + avg(a) + std(a) + variance(a) + bit_or(a) + bit_and(a) + min(a) + max(a) + min(c) + max(c) as sum from t1 group by grp +select grp, sum(a) + count(a) + avg(a) + std(a) + variance(a) + bit_or(a) + bit_and(a) + min(a) + max(a) + min(c) + max(c) as `sum` from t1 group by grp END INPUT select -9223372036854775808 1 as result; diff --git a/go/vt/vtgate/planbuilder/abstract/queryprojection.go b/go/vt/vtgate/planbuilder/abstract/queryprojection.go index 862ffcb2bfd..14572b117b2 100644 --- a/go/vt/vtgate/planbuilder/abstract/queryprojection.go +++ b/go/vt/vtgate/planbuilder/abstract/queryprojection.go @@ -302,15 +302,12 @@ func (qp *QueryProjection) GetGrouping() []GroupBy { func checkForInvalidAggregations(exp *sqlparser.AliasedExpr) error { return sqlparser.Walk(func(node sqlparser.SQLNode) (kontinue bool, err error) { - fExpr, ok := node.(sqlparser.Expr) - if ok { - if aggrFunc, isAggregate := fExpr.(sqlparser.AggrFunc); isAggregate { - if aggrFunc.GetArgs() != nil && - len(aggrFunc.GetArgs()) != 1 { - return false, vterrors.NewErrorf(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.SyntaxError, "aggregate functions take a single argument '%s'", sqlparser.String(fExpr)) - } - return true, nil + if aggrFunc, isAggregate := node.(sqlparser.AggrFunc); isAggregate { + if aggrFunc.GetArgs() != nil && + len(aggrFunc.GetArgs()) != 1 { + return false, vterrors.NewErrorf(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.SyntaxError, "aggregate functions take a single argument '%s'", sqlparser.String(node)) } + return true, nil } return true, nil @@ -515,7 +512,9 @@ orderBy: } } - if sqlparser.IsDistinct(aliasedExpr.Expr) { + aggr, _ := aliasedExpr.Expr.(sqlparser.AggrFunc) + + if aggr.IsDistinct() { switch opcode { case engine.AggregateCount: opcode = engine.AggregateCountDistinct @@ -526,11 +525,11 @@ orderBy: out = append(out, Aggr{ Original: aliasedExpr, - Func: aliasedExpr.Expr.(sqlparser.AggrFunc), + Func: aggr, OpCode: opcode, Alias: aliasedExpr.ColumnName(), Index: &idxCopy, - Distinct: sqlparser.IsDistinct(aliasedExpr.Expr), + Distinct: aggr.IsDistinct(), }) } return diff --git a/go/vt/vtgate/planbuilder/abstract/queryprojection_test.go b/go/vt/vtgate/planbuilder/abstract/queryprojection_test.go index dc1e40eeff7..4eb6c680819 100644 --- a/go/vt/vtgate/planbuilder/abstract/queryprojection_test.go +++ b/go/vt/vtgate/planbuilder/abstract/queryprojection_test.go @@ -44,10 +44,6 @@ func TestQP(t *testing.T) { { sql: "select max(id) from user", }, - { - sql: "select max(a, b) from user", - expErr: "aggregate functions take a single argument 'max(a, b)'", - }, { sql: "select 1, count(1) from user order by 1", expOrder: []OrderBy{ diff --git a/go/vt/vtgate/planbuilder/horizon_planning.go b/go/vt/vtgate/planbuilder/horizon_planning.go index 8b97d0400e8..536173bd0a7 100644 --- a/go/vt/vtgate/planbuilder/horizon_planning.go +++ b/go/vt/vtgate/planbuilder/horizon_planning.go @@ -506,14 +506,6 @@ func (hp *horizonPlanning) handleDistinctAggr(ctx *plancontext.PlanningContext, continue } - // if it is aggregator then we need to assign argument of aggregator which is ColName type - if cStar, ok := expr.Func.(*sqlparser.CountStar); ok { - if cStar.Distinct { - err = vterrors.Errorf(vtrpcpb.Code_INVALID_ARGUMENT, "syntax error: %s", sqlparser.String(expr.Original)) - return - } - } - inner, innerWS, err := hp.qp.GetSimplifiedExpr(expr.Func.GetArg()) if err != nil { return nil, nil, nil, err diff --git a/go/vt/vtgate/planbuilder/ordered_aggregate.go b/go/vt/vtgate/planbuilder/ordered_aggregate.go index 8c7c1216bed..ce7b88ab736 100644 --- a/go/vt/vtgate/planbuilder/ordered_aggregate.go +++ b/go/vt/vtgate/planbuilder/ordered_aggregate.go @@ -327,28 +327,22 @@ func (oa *orderedAggregate) pushAggr(pb *primitiveBuilder, expr *sqlparser.Alias // If true, it will also return the aliased expression that needs to be pushed // down into the underlying route. func (oa *orderedAggregate) needDistinctHandling(pb *primitiveBuilder, expr *sqlparser.AliasedExpr, opcode engine.AggregateOpcode) (bool, *sqlparser.AliasedExpr, error) { - if !sqlparser.IsDistinct(expr.Expr) { - return false, nil, nil - } - if opcode != engine.AggregateCount && opcode != engine.AggregateSum && opcode != engine.AggregateCountStar { - return false, nil, nil - } - var innerAliased *sqlparser.AliasedExpr aggr, ok := expr.Expr.(sqlparser.AggrFunc) - if ok { - if cStar, ok := aggr.(*sqlparser.CountStar); ok { - if cStar.Distinct { - return false, nil, fmt.Errorf("syntax error: %s", sqlparser.String(cStar)) - } - } - innerAliased = &sqlparser.AliasedExpr{Expr: aggr.GetArg() /*As: expr.As*/} - } if !ok { return false, nil, fmt.Errorf("syntax error: %s", sqlparser.String(expr)) } + if !aggr.IsDistinct() { + return false, nil, nil + } + if opcode != engine.AggregateCount && opcode != engine.AggregateSum && opcode != engine.AggregateCountStar { + return false, nil, nil + } + + innerAliased = &sqlparser.AliasedExpr{Expr: aggr.GetArg()} + rb, ok := oa.input.(*route) if !ok { // Unreachable @@ -367,10 +361,8 @@ func (oa *orderedAggregate) needDistinctHandling(pb *primitiveBuilder, expr *sql // compare those instead. This is because we currently don't have the // ability to mimic mysql's collation behavior. func (oa *orderedAggregate) Wireup(plan logicalPlan, jt *jointab) error { - fmt.Printf("ordered_agg wireup %d \n", len(oa.groupByKeys)) for i, gbk := range oa.groupByKeys { rc := oa.resultColumns[gbk.KeyCol] - fmt.Printf("ordered_agg rc: %v \n", rc) if sqltypes.IsText(rc.column.typ) { weightcolNumber, err := oa.input.SupplyWeightString(gbk.KeyCol, gbk.FromGroupBy) if err != nil { diff --git a/go/vt/vtgate/planbuilder/plan_test.go b/go/vt/vtgate/planbuilder/plan_test.go index 2944fe470e5..f3ef00e6fc5 100644 --- a/go/vt/vtgate/planbuilder/plan_test.go +++ b/go/vt/vtgate/planbuilder/plan_test.go @@ -257,7 +257,6 @@ func TestOne(t *testing.T) { } testFile(t, "onecase.txt", "", vschema) - // testFile(t, "select_cases.txt", "", vschema) } func TestOneWithMainAsDefault(t *testing.T) { diff --git a/go/vt/vtgate/planbuilder/symtab_test.go b/go/vt/vtgate/planbuilder/symtab_test.go index 558a7037020..1e74fc30bf6 100644 --- a/go/vt/vtgate/planbuilder/symtab_test.go +++ b/go/vt/vtgate/planbuilder/symtab_test.go @@ -17,7 +17,6 @@ limitations under the License. package planbuilder import ( - "fmt" "testing" "github.com/stretchr/testify/require" @@ -205,31 +204,13 @@ func TestGetReturnType(t *testing.T) { }, }, }}, - output: querypb.Type_DECIMAL, - expectedErr: nil, + output: querypb.Type_DECIMAL, }, { - input: &sqlparser.Count{Name: "Count"}, - output: querypb.Type_INT64, - expectedErr: nil, + input: &sqlparser.Count{Name: "Count"}, + output: querypb.Type_INT64, }, { - input: &sqlparser.CountStar{Name: "Count"}, - output: querypb.Type_INT64, - expectedErr: nil, - }, { - input: &sqlparser.FuncExpr{Name: sqlparser.NewColIdent("Count"), Exprs: sqlparser.SelectExprs{ - &sqlparser.StarExpr{}, - }}, - expectedErr: fmt.Errorf("cannot evaluate return type for *sqlparser.FuncExpr"), - }, { - input: &sqlparser.FuncExpr{Name: sqlparser.NewColIdent("cOunt"), Exprs: sqlparser.SelectExprs{ - &sqlparser.StarExpr{}, - }}, - expectedErr: fmt.Errorf("cannot evaluate return type for *sqlparser.FuncExpr"), - }, { - input: &sqlparser.FuncExpr{Name: sqlparser.NewColIdent("Abs"), Exprs: sqlparser.SelectExprs{ - &sqlparser.StarExpr{}, - }}, - expectedErr: fmt.Errorf("cannot evaluate return type for *sqlparser.FuncExpr"), + input: &sqlparser.CountStar{Name: "Count"}, + output: querypb.Type_INT64, }} for _, test := range tests { diff --git a/go/vt/vtgate/planbuilder/testdata/aggr_cases.txt b/go/vt/vtgate/planbuilder/testdata/aggr_cases.txt index 314d313f8eb..30dc2a95e90 100644 --- a/go/vt/vtgate/planbuilder/testdata/aggr_cases.txt +++ b/go/vt/vtgate/planbuilder/testdata/aggr_cases.txt @@ -2243,7 +2243,7 @@ Gen4 plan same as above # syntax error detected by planbuilder "select count(distinct *) from user" -"syntax error: count(distinct *)" +"syntax error at position 24" Gen4 plan same as above # here it is safe to remove the order by on the derived table since it will not influence the output of the count(*) diff --git a/go/vt/vtgate/semantics/binder.go b/go/vt/vtgate/semantics/binder.go index 9dee691f778..93be0e66b6d 100644 --- a/go/vt/vtgate/semantics/binder.go +++ b/go/vt/vtgate/semantics/binder.go @@ -131,12 +131,7 @@ func (b *binder) up(cursor *sqlparser.Cursor) error { } b.recursive[node] = ts b.direct[node] = ts - case sqlparser.AggrFunc: - cStar, ok := node.(*sqlparser.CountStar) - if !ok { - break - } - + case *sqlparser.CountStar: scope := b.scoper.currentScope() var ts TableSet for _, table := range scope.tables { @@ -145,8 +140,8 @@ func (b *binder) up(cursor *sqlparser.Cursor) error { ts.MergeInPlace(b.tc.tableSetFor(expr)) } } - b.recursive[cStar] = ts - b.direct[cStar] = ts + b.recursive[node] = ts + b.direct[node] = ts } return nil } diff --git a/tools/check_make_parser.sh b/tools/check_make_parser.sh index 076530f6ec0..c82446b6992 100755 --- a/tools/check_make_parser.sh +++ b/tools/check_make_parser.sh @@ -20,7 +20,7 @@ fi mv $CUR $TMP output=$(go run ./goyacc -fast-append -o $CUR sql.y) -expectedOutput=$'\nconflicts: 2 shift/reduce' +expectedOutput=$'\nconflicts: 18 shift/reduce' if [[ "$output" != "$expectedOutput" ]]; then echo -e "Expected output from goyacc:$expectedOutput\ngot:$output" From 792331d616a05050f255ac5190435e3bab984b85 Mon Sep 17 00:00:00 2001 From: Rameez Sajwani Date: Wed, 8 Jun 2022 21:25:11 -0700 Subject: [PATCH 17/22] fixing feedback , code review Signed-off-by: Rameez Sajwani --- go/test/endtoend/backup/vtbackup/main_test.go | 1 - go/vt/sqlparser/parse_test.go | 3 +++ go/vt/vtgate/engine/ordered_aggregate.go | 3 +-- go/vt/vtgate/planbuilder/abstract/queryprojection.go | 3 +-- go/vt/vtgate/planbuilder/ordered_aggregate.go | 3 +-- go/vt/vtgate/planbuilder/testdata/aggr_cases.txt | 5 ----- go/vt/vtgate/planbuilder/testdata/onecase.txt | 2 +- 7 files changed, 7 insertions(+), 13 deletions(-) diff --git a/go/test/endtoend/backup/vtbackup/main_test.go b/go/test/endtoend/backup/vtbackup/main_test.go index 4352b6b35a8..4dfe132f0c7 100644 --- a/go/test/endtoend/backup/vtbackup/main_test.go +++ b/go/test/endtoend/backup/vtbackup/main_test.go @@ -121,7 +121,6 @@ func TestMain(m *testing.M) { if err != nil { return 1, err } - // ignore golint warning, we need the else block to use proc mysqlProcs = append(mysqlProcs, proc) } for _, proc := range mysqlProcs { diff --git a/go/vt/sqlparser/parse_test.go b/go/vt/sqlparser/parse_test.go index 617767b8e27..32aa249da56 100644 --- a/go/vt/sqlparser/parse_test.go +++ b/go/vt/sqlparser/parse_test.go @@ -3371,6 +3371,9 @@ func TestInvalid(t *testing.T) { }, { input: "SELECT VARIANCE(DISTINCT a) FROM products", err: "syntax error at position 25 near 'DISTINCT'", + }, { + input: "SELECT COUNT(DISTINCT *) FROM user", + err: "syntax error at position 24 near 'DISTINCT'", }, } diff --git a/go/vt/vtgate/engine/ordered_aggregate.go b/go/vt/vtgate/engine/ordered_aggregate.go index e362bed5ab5..7878004ae0c 100644 --- a/go/vt/vtgate/engine/ordered_aggregate.go +++ b/go/vt/vtgate/engine/ordered_aggregate.go @@ -128,8 +128,7 @@ func (ap *AggregateParams) String() string { keyCol += " COLLATE " + collation.Name() } if ap.Alias != "" { - s := fmt.Sprintf("%s(%s) AS %s", ap.Opcode.String(), keyCol, ap.Alias) - return s + return fmt.Sprintf("%s(%s) AS %s", ap.Opcode.String(), keyCol, ap.Alias) } return fmt.Sprintf("%s(%s)", ap.Opcode.String(), keyCol) } diff --git a/go/vt/vtgate/planbuilder/abstract/queryprojection.go b/go/vt/vtgate/planbuilder/abstract/queryprojection.go index 14572b117b2..fbed285fab7 100644 --- a/go/vt/vtgate/planbuilder/abstract/queryprojection.go +++ b/go/vt/vtgate/planbuilder/abstract/queryprojection.go @@ -303,8 +303,7 @@ func (qp *QueryProjection) GetGrouping() []GroupBy { func checkForInvalidAggregations(exp *sqlparser.AliasedExpr) error { return sqlparser.Walk(func(node sqlparser.SQLNode) (kontinue bool, err error) { if aggrFunc, isAggregate := node.(sqlparser.AggrFunc); isAggregate { - if aggrFunc.GetArgs() != nil && - len(aggrFunc.GetArgs()) != 1 { + if len(aggrFunc.GetArgs()) != 1 { return false, vterrors.NewErrorf(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.SyntaxError, "aggregate functions take a single argument '%s'", sqlparser.String(node)) } return true, nil diff --git a/go/vt/vtgate/planbuilder/ordered_aggregate.go b/go/vt/vtgate/planbuilder/ordered_aggregate.go index ce7b88ab736..c3b07ed5511 100644 --- a/go/vt/vtgate/planbuilder/ordered_aggregate.go +++ b/go/vt/vtgate/planbuilder/ordered_aggregate.go @@ -267,8 +267,7 @@ func (oa *orderedAggregate) pushAggr(pb *primitiveBuilder, expr *sqlparser.Alias aggrFunc, _ := expr.Expr.(sqlparser.AggrFunc) opcode := engine.SupportedAggregates[strings.ToLower(aggrFunc.AggrName())] - if aggrFunc.GetArgs() != nil && - len(aggrFunc.GetArgs()) != 1 { + if len(aggrFunc.GetArgs()) != 1 { return nil, 0, fmt.Errorf("unsupported: only one expression allowed inside aggregates: %s", sqlparser.String(expr)) } diff --git a/go/vt/vtgate/planbuilder/testdata/aggr_cases.txt b/go/vt/vtgate/planbuilder/testdata/aggr_cases.txt index 30dc2a95e90..9cc88122bf6 100644 --- a/go/vt/vtgate/planbuilder/testdata/aggr_cases.txt +++ b/go/vt/vtgate/planbuilder/testdata/aggr_cases.txt @@ -2241,11 +2241,6 @@ Gen4 plan same as above "Unknown column '2' in 'group statement'" Gen4 plan same as above -# syntax error detected by planbuilder -"select count(distinct *) from user" -"syntax error at position 24" -Gen4 plan same as above - # here it is safe to remove the order by on the derived table since it will not influence the output of the count(*) "select count(*) from (select user.col, user_extra.extra from user join user_extra on user.id = user_extra.user_id order by user_extra.extra) a" "unsupported: cross-shard query with aggregates" diff --git a/go/vt/vtgate/planbuilder/testdata/onecase.txt b/go/vt/vtgate/planbuilder/testdata/onecase.txt index 16a368ddafd..e819513f354 100644 --- a/go/vt/vtgate/planbuilder/testdata/onecase.txt +++ b/go/vt/vtgate/planbuilder/testdata/onecase.txt @@ -1 +1 @@ -# Add your test case here for debugging and run go test -run=One. \ No newline at end of file +# Add your test case here for debugging and run go test -run=One. From d801e2ebde718f9971504ac1970f586d32dfbe3c Mon Sep 17 00:00:00 2001 From: Rameez Sajwani Date: Wed, 8 Jun 2022 22:27:56 -0700 Subject: [PATCH 18/22] Fix regression which making changes in previous commit Signed-off-by: Rameez Sajwani --- go/vt/sqlparser/parse_test.go | 2 +- go/vt/vtgate/planbuilder/abstract/queryprojection.go | 3 ++- go/vt/vtgate/planbuilder/ordered_aggregate.go | 3 ++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/go/vt/sqlparser/parse_test.go b/go/vt/sqlparser/parse_test.go index 8c477083846..5745ded3098 100644 --- a/go/vt/sqlparser/parse_test.go +++ b/go/vt/sqlparser/parse_test.go @@ -3375,7 +3375,7 @@ func TestInvalid(t *testing.T) { err: "syntax error at position 25 near 'DISTINCT'", }, { input: "SELECT COUNT(DISTINCT *) FROM user", - err: "syntax error at position 24 near 'DISTINCT'", + err: "syntax error at position 24", }, } diff --git a/go/vt/vtgate/planbuilder/abstract/queryprojection.go b/go/vt/vtgate/planbuilder/abstract/queryprojection.go index fbed285fab7..14572b117b2 100644 --- a/go/vt/vtgate/planbuilder/abstract/queryprojection.go +++ b/go/vt/vtgate/planbuilder/abstract/queryprojection.go @@ -303,7 +303,8 @@ func (qp *QueryProjection) GetGrouping() []GroupBy { func checkForInvalidAggregations(exp *sqlparser.AliasedExpr) error { return sqlparser.Walk(func(node sqlparser.SQLNode) (kontinue bool, err error) { if aggrFunc, isAggregate := node.(sqlparser.AggrFunc); isAggregate { - if len(aggrFunc.GetArgs()) != 1 { + if aggrFunc.GetArgs() != nil && + len(aggrFunc.GetArgs()) != 1 { return false, vterrors.NewErrorf(vtrpcpb.Code_INVALID_ARGUMENT, vterrors.SyntaxError, "aggregate functions take a single argument '%s'", sqlparser.String(node)) } return true, nil diff --git a/go/vt/vtgate/planbuilder/ordered_aggregate.go b/go/vt/vtgate/planbuilder/ordered_aggregate.go index 1517e2f15f9..b2e55b8e81b 100644 --- a/go/vt/vtgate/planbuilder/ordered_aggregate.go +++ b/go/vt/vtgate/planbuilder/ordered_aggregate.go @@ -267,7 +267,8 @@ func (oa *orderedAggregate) pushAggr(pb *primitiveBuilder, expr *sqlparser.Alias aggrFunc, _ := expr.Expr.(sqlparser.AggrFunc) origOpcode := engine.SupportedAggregates[strings.ToLower(aggrFunc.AggrName())] opcode := origOpcode - if len(aggrFunc.GetArgs()) != 1 { + if aggrFunc.GetArgs() != nil && + len(aggrFunc.GetArgs()) != 1 { return nil, 0, fmt.Errorf("unsupported: only one expression allowed inside aggregates: %s", sqlparser.String(expr)) } From ab9d821611b4dc288b3f4f0cef8704077547dca9 Mon Sep 17 00:00:00 2001 From: Rameez Sajwani Date: Thu, 9 Jun 2022 11:14:57 -0700 Subject: [PATCH 19/22] Fixing vdiff tests Signed-off-by: Rameez Sajwani --- go/vt/vtgate/engine/cached_size.go | 2 +- go/vt/vtgate/planbuilder/horizon_planning.go | 32 --------------- go/vt/vtgate/simplifier/simplifier_test.go | 2 +- .../tabletmanager/vdiff/table_plan.go | 4 +- .../vreplication/table_plan_builder.go | 40 +++++++++---------- go/vt/wrangler/vdiff.go | 4 +- 6 files changed, 26 insertions(+), 58 deletions(-) diff --git a/go/vt/vtgate/engine/cached_size.go b/go/vt/vtgate/engine/cached_size.go index 10da780c19c..323e48bb4d3 100644 --- a/go/vt/vtgate/engine/cached_size.go +++ b/go/vt/vtgate/engine/cached_size.go @@ -35,7 +35,7 @@ func (cached *AggregateParams) CachedSize(alloc bool) int64 { } size := int64(0) if alloc { - size += int64(80) + size += int64(96) } // field Alias string size += hack.RuntimeAllocSize(int64(len(cached.Alias))) diff --git a/go/vt/vtgate/planbuilder/horizon_planning.go b/go/vt/vtgate/planbuilder/horizon_planning.go index f85e19f6dc0..0e4681261fb 100644 --- a/go/vt/vtgate/planbuilder/horizon_planning.go +++ b/go/vt/vtgate/planbuilder/horizon_planning.go @@ -1048,38 +1048,6 @@ func selectHasUniqueVindex(semTable *semantics.SemTable, sel []abstract.SelectEx return false } -// needDistinctHandling returns true if oa needs to handle the distinct clause. -// If true, it will also return the aliased expression that needs to be pushed -// down into the underlying route. -func (hp *horizonPlanning) needDistinctHandling( - ctx *plancontext.PlanningContext, - funcExpr *sqlparser.FuncExpr, - opcode engine.AggregateOpcode, - input logicalPlan, -) (bool, *sqlparser.AliasedExpr, error) { - if !funcExpr.Distinct { - return false, nil, nil - } - if opcode != engine.AggregateCount && opcode != engine.AggregateSum && opcode != engine.AggregateCountStar { - return false, nil, nil - } - innerAliased, ok := funcExpr.Exprs[0].(*sqlparser.AliasedExpr) - if !ok { - return false, nil, vterrors.Errorf(vtrpcpb.Code_INVALID_ARGUMENT, "syntax error: %s", sqlparser.String(funcExpr)) - } - _, ok = input.(*routeGen4) - if !ok { - // Unreachable - return true, innerAliased, nil - } - if exprHasUniqueVindex(ctx.SemTable, innerAliased.Expr) { - // if we can see a unique vindex on this table/column, - // we know the results will be unique, and we don't need to DISTINCTify them - return false, nil, nil - } - return true, innerAliased, nil -} - func (hp *horizonPlanning) planHaving(ctx *plancontext.PlanningContext, plan logicalPlan) (logicalPlan, error) { if hp.sel.Having == nil { return plan, nil diff --git a/go/vt/vtgate/simplifier/simplifier_test.go b/go/vt/vtgate/simplifier/simplifier_test.go index 8b6d010a7d6..bf8201dee46 100644 --- a/go/vt/vtgate/simplifier/simplifier_test.go +++ b/go/vt/vtgate/simplifier/simplifier_test.go @@ -74,7 +74,7 @@ func TestAbortExpressionCursor(t *testing.T) { cursor.replace(sqlparser.NewIntLiteral("1")) fmt.Println(sqlparser.String(ast)) cursor.replace(cursor.expr) - _, isFunc := cursor.expr.(*sqlparser.FuncExpr) + _, isFunc := cursor.expr.(sqlparser.AggrFunc) return !isFunc }) } diff --git a/go/vt/vttablet/tabletmanager/vdiff/table_plan.go b/go/vt/vttablet/tabletmanager/vdiff/table_plan.go index eb0bed7a7fa..e9850e6ef0b 100644 --- a/go/vt/vttablet/tabletmanager/vdiff/table_plan.go +++ b/go/vt/vttablet/tabletmanager/vdiff/table_plan.go @@ -90,8 +90,8 @@ func (td *tableDiffer) buildTablePlan() (*tablePlan, error) { targetSelect.SelectExprs = append(targetSelect.SelectExprs, &sqlparser.AliasedExpr{Expr: targetCol}) // Check if it's an aggregate expression - if expr, ok := selExpr.Expr.(*sqlparser.FuncExpr); ok { - switch fname := expr.Name.Lowered(); fname { + if expr, ok := selExpr.Expr.(sqlparser.AggrFunc); ok { + switch fname := strings.ToLower(expr.AggrName()); fname { case "count", "sum": // this will only work as long as aggregates can be pushed down to tablets // this won't work: "select count(*) from (select id from t limit 1)" diff --git a/go/vt/vttablet/tabletmanager/vreplication/table_plan_builder.go b/go/vt/vttablet/tabletmanager/vreplication/table_plan_builder.go index 9e573f5d7d1..d8cec31afa7 100644 --- a/go/vt/vttablet/tabletmanager/vreplication/table_plan_builder.go +++ b/go/vt/vttablet/tabletmanager/vreplication/table_plan_builder.go @@ -433,21 +433,32 @@ func (tpb *tablePlanBuilder) analyzeExpr(selExpr sqlparser.SelectExpr) (*colExpr return nil, fmt.Errorf("unexpected: %v", sqlparser.String(expr)) } switch fname := expr.Name.Lowered(); fname { + case "keyspace_id": + if len(expr.Exprs) != 0 { + return nil, fmt.Errorf("unexpected: %v", sqlparser.String(expr)) + } + tpb.sendSelect.SelectExprs = append(tpb.sendSelect.SelectExprs, &sqlparser.AliasedExpr{Expr: aliased.Expr}) + // The vstreamer responds with "keyspace_id" as the field name for this request. + cexpr.expr = &sqlparser.ColName{Name: sqlparser.NewColIdent("keyspace_id")} + return cexpr, nil + } + } + if expr, ok := aliased.Expr.(sqlparser.AggrFunc); ok { + if expr.IsDistinct() { + return nil, fmt.Errorf("unexpected: %v", sqlparser.String(expr)) + } + switch fname := strings.ToLower(expr.AggrName()); fname { case "count": - if _, ok := expr.Exprs[0].(*sqlparser.StarExpr); !ok { + if _, ok := expr.(*sqlparser.CountStar); !ok { return nil, fmt.Errorf("only count(*) is supported: %v", sqlparser.String(expr)) } cexpr.operation = opCount return cexpr, nil case "sum": - if len(expr.Exprs) != 1 { + if len(expr.GetArgs()) != 1 { return nil, fmt.Errorf("unexpected: %v", sqlparser.String(expr)) } - aInner, ok := expr.Exprs[0].(*sqlparser.AliasedExpr) - if !ok { - return nil, fmt.Errorf("unexpected: %v", sqlparser.String(expr)) - } - innerCol, ok := aInner.Expr.(*sqlparser.ColName) + innerCol, ok := expr.GetArg().(*sqlparser.ColName) if !ok { return nil, fmt.Errorf("unexpected: %v", sqlparser.String(expr)) } @@ -459,14 +470,6 @@ func (tpb *tablePlanBuilder) analyzeExpr(selExpr sqlparser.SelectExpr) (*colExpr tpb.addCol(innerCol.Name) cexpr.references[innerCol.Name.String()] = true return cexpr, nil - case "keyspace_id": - if len(expr.Exprs) != 0 { - return nil, fmt.Errorf("unexpected: %v", sqlparser.String(expr)) - } - tpb.sendSelect.SelectExprs = append(tpb.sendSelect.SelectExprs, &sqlparser.AliasedExpr{Expr: aliased.Expr}) - // The vstreamer responds with "keyspace_id" as the field name for this request. - cexpr.expr = &sqlparser.ColName{Name: sqlparser.NewColIdent("keyspace_id")} - return cexpr, nil } } err := sqlparser.Walk(func(node sqlparser.SQLNode) (kontinue bool, err error) { @@ -479,11 +482,8 @@ func (tpb *tablePlanBuilder) analyzeExpr(selExpr sqlparser.SelectExpr) (*colExpr cexpr.references[node.Name.String()] = true case *sqlparser.Subquery: return false, fmt.Errorf("unsupported subquery: %v", sqlparser.String(node)) - case *sqlparser.FuncExpr: - // Other aggregates are not supported. - if node.IsAggregate() { - return false, fmt.Errorf("unexpected: %v", sqlparser.String(node)) - } + case sqlparser.AggrFunc: + return false, fmt.Errorf("unexpected: %v", sqlparser.String(node)) } return true, nil }, aliased.Expr) diff --git a/go/vt/wrangler/vdiff.go b/go/vt/wrangler/vdiff.go index 4e791e4408d..136c6ed2224 100644 --- a/go/vt/wrangler/vdiff.go +++ b/go/vt/wrangler/vdiff.go @@ -562,8 +562,8 @@ func (df *vdiff) buildTablePlan(table *tabletmanagerdatapb.TableDefinition, quer targetSelect.SelectExprs = append(targetSelect.SelectExprs, &sqlparser.AliasedExpr{Expr: targetCol}) // Check if it's an aggregate expression - if expr, ok := selExpr.Expr.(*sqlparser.FuncExpr); ok { - switch fname := expr.Name.Lowered(); fname { + if expr, ok := selExpr.Expr.(sqlparser.AggrFunc); ok { + switch fname := strings.ToLower(expr.AggrName()); fname { case "count", "sum": // this will only work as long as aggregates can be pushed down to tablets // this won't work: "select count(*) from (select id from t limit 1)" From cb7d5c77fc75e4cc3ba4d07b9280399dfbb18eb6 Mon Sep 17 00:00:00 2001 From: Rameez Sajwani Date: Thu, 9 Jun 2022 15:03:47 -0700 Subject: [PATCH 20/22] Fixing replication test Signed-off-by: Rameez Sajwani --- .../tabletmanager/vreplication/replicator_plan_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/go/vt/vttablet/tabletmanager/vreplication/replicator_plan_test.go b/go/vt/vttablet/tabletmanager/vreplication/replicator_plan_test.go index 927c740d595..91d008ddb03 100644 --- a/go/vt/vttablet/tabletmanager/vreplication/replicator_plan_test.go +++ b/go/vt/vttablet/tabletmanager/vreplication/replicator_plan_test.go @@ -621,7 +621,7 @@ func TestBuildPlayerPlan(t *testing.T) { Filter: "select sum(*) as c from t1", }}, }, - err: "unexpected: sum(*)", + err: "syntax error at position 13", }, { // sum should have only one argument input: &binlogdatapb.Filter{ @@ -630,7 +630,7 @@ func TestBuildPlayerPlan(t *testing.T) { Filter: "select sum(a, b) as c from t1", }}, }, - err: "unexpected: sum(a, b)", + err: "syntax error at position 14", }, { // no complex expr in sum input: &binlogdatapb.Filter{ From 46a485f0b837ce576eef54764096747af70d4fdb Mon Sep 17 00:00:00 2001 From: Rameez Sajwani Date: Thu, 9 Jun 2022 15:56:25 -0700 Subject: [PATCH 21/22] Fixing vstreamer planbuilder test Signed-off-by: Rameez Sajwani --- .../tabletserver/vstreamer/planbuilder.go | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/go/vt/vttablet/tabletserver/vstreamer/planbuilder.go b/go/vt/vttablet/tabletserver/vstreamer/planbuilder.go index 586084fad92..32fc0319db4 100644 --- a/go/vt/vttablet/tabletserver/vstreamer/planbuilder.go +++ b/go/vt/vttablet/tabletserver/vstreamer/planbuilder.go @@ -588,6 +588,29 @@ func (plan *Plan) analyzeExpr(vschema *localVSchema, selExpr sqlparser.SelectExp ColNum: colnum, Field: plan.Table.Fields[colnum], }, nil + case sqlparser.AggrFunc: + if strings.ToLower(inner.AggrName()) != "keyspace_id" { + return ColExpr{}, fmt.Errorf("unsupported function: %v", sqlparser.String(inner)) + } + if len(inner.GetArgs()) != 0 { + return ColExpr{}, fmt.Errorf("unexpected: %v", sqlparser.String(inner)) + } + cv, err := vschema.FindColVindex(plan.Table.Name) + if err != nil { + return ColExpr{}, err + } + vindexColumns, err := buildVindexColumns(plan.Table, cv.Columns) + if err != nil { + return ColExpr{}, err + } + return ColExpr{ + Field: &querypb.Field{ + Name: "keyspace_id", + Type: sqltypes.VarBinary, + }, + Vindex: cv.Vindex, + VindexColumns: vindexColumns, + }, nil case *sqlparser.FuncExpr: if inner.Name.Lowered() != "keyspace_id" { return ColExpr{}, fmt.Errorf("unsupported function: %v", sqlparser.String(inner)) From b895d13f1983011e03a36d54b41d83d6f8729313 Mon Sep 17 00:00:00 2001 From: Rameez Sajwani Date: Mon, 13 Jun 2022 10:13:42 -0700 Subject: [PATCH 22/22] remove redundant code Signed-off-by: Rameez Sajwani --- go/vt/vtgate/semantics/binder.go | 18 ------------------ .../vtgate/simplifier/expression_simplifier.go | 4 ++++ 2 files changed, 4 insertions(+), 18 deletions(-) diff --git a/go/vt/vtgate/semantics/binder.go b/go/vt/vtgate/semantics/binder.go index 93be0e66b6d..4708c9d75ce 100644 --- a/go/vt/vtgate/semantics/binder.go +++ b/go/vt/vtgate/semantics/binder.go @@ -113,24 +113,6 @@ func (b *binder) up(cursor *sqlparser.Cursor) error { if deps.typ != nil { b.typer.setTypeFor(node, *deps.typ) } - case *sqlparser.FuncExpr: - // need special handling so that any lingering `*` expressions are bound to all local tables - if len(node.Exprs) != 1 { - break - } - if _, isStar := node.Exprs[0].(*sqlparser.StarExpr); !isStar { - break - } - scope := b.scoper.currentScope() - var ts TableSet - for _, table := range scope.tables { - expr := table.getExpr() - if expr != nil { - ts.MergeInPlace(b.tc.tableSetFor(expr)) - } - } - b.recursive[node] = ts - b.direct[node] = ts case *sqlparser.CountStar: scope := b.scoper.currentScope() var ts TableSet diff --git a/go/vt/vtgate/simplifier/expression_simplifier.go b/go/vt/vtgate/simplifier/expression_simplifier.go index 409758aa31d..ff988973a5f 100644 --- a/go/vt/vtgate/simplifier/expression_simplifier.go +++ b/go/vt/vtgate/simplifier/expression_simplifier.go @@ -225,6 +225,10 @@ func (s *shrinker) fillQueue() bool { } s.queue = append(s.queue, expr.Expr) } + case sqlparser.AggrFunc: + for _, ae := range e.GetArgs() { + s.queue = append(s.queue, ae) + } case *sqlparser.ColName: // we can try to replace the column with a literal value s.queue = []sqlparser.Expr{sqlparser.NewIntLiteral("0")}